diff --git a/.Rprofile b/.Rprofile index 7ba9f6c..ae412c0 100644 --- a/.Rprofile +++ b/.Rprofile @@ -4,7 +4,7 @@ if (file.exists("~/.Rprofile")) { } options( - blogdown.hugo.version = "0.59.1", + #blogdown.hugo.version = "0.126.1", blogdown.author = "Victor Yuan", blogdown.ext = ".Rmd", blogdown.subdir = "post", diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index 2fa7b1b..1c8c5e9 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,8 @@ This is the repository that hosts my personal website: [victor.rbind.io](https://victor.rbind.io/) -Built using `blogdown` with the Academic theme. \ No newline at end of file +Built using `blogdown` with the Academic theme. + +# dev + +congo specific documentation: https://jpanther.github.io/congo/docs/configuration/ \ No newline at end of file diff --git a/assets/css/compiled/main.css b/assets/css/compiled/main.css new file mode 100644 index 0000000..5d18fa1 --- /dev/null +++ b/assets/css/compiled/main.css @@ -0,0 +1,3151 @@ +/*! Congo v2.8.2 | MIT License | https://github.com/jpanther/congo */ + +/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com */ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: currentColor; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +7. Disable tap highlights on iOS +*/ + +html, +:host { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ + -webkit-tap-highlight-color: transparent; + /* 7 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font-family by default. +2. Use the user's configured `mono` font-feature-settings by default. +3. Use the user's configured `mono` font-variation-settings by default. +4. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-feature-settings: normal; + /* 2 */ + font-variation-settings: normal; + /* 3 */ + font-size: 1em; + /* 4 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-feature-settings: inherit; + /* 1 */ + font-variation-settings: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + letter-spacing: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +input:where([type='button']), +input:where([type='reset']), +input:where([type='submit']) { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Reset default styling for dialogs. +*/ + +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden] { + display: none; +} + +*, ::before, ::after { + --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: rgb(59 130 246 / 0.5); + --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: rgb(59 130 246 / 0.5); + --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: ; +} + +.prose { + color: var(--tw-prose-body); + max-width: 65ch; +} + +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-lead); + font-size: 1.25em; + line-height: 1.6; + margin-top: 1.2em; + margin-bottom: 1.2em; +} + +.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-links); + text-decoration: underline; + font-weight: 500; + text-decoration-color: rgba(var(--color-primary-300), 1); +} + +.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover { + color: rgba(var(--color-neutral), 1); + text-decoration: none; + background-color: rgba(var(--color-primary-600), 1); + border-radius: 0.09rem; +} + +.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-bold); + font-weight: 600; +} + +.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: decimal; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-inline-start: 1.625em; +} + +.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-alpha; +} + +.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-alpha; +} + +.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-alpha; +} + +.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-alpha; +} + +.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-roman; +} + +.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-roman; +} + +.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-roman; +} + +.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-roman; +} + +.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: decimal; +} + +.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: disc; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-inline-start: 1.625em; +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + font-weight: 400; + color: var(--tw-prose-counters); +} + +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + color: var(--tw-prose-bullets); +} + +.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.25em; +} + +.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-color: var(--tw-prose-hr); + border-top-width: 1px; + margin-top: 3em; + margin-bottom: 3em; +} + +.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 500; + font-style: italic; + color: var(--tw-prose-quotes); + border-inline-start-width: 0.25rem; + border-inline-start-color: var(--tw-prose-quote-borders); + quotes: "\201C""\201D""\2018""\2019"; + margin-top: 1.6em; + margin-bottom: 1.6em; + padding-inline-start: 1em; +} + +.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: open-quote; +} + +.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: close-quote; +} + +.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 800; + font-size: 2.25em; + margin-top: 0; + margin-bottom: 0.8888889em; + line-height: 1.1111111; +} + +.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 900; + color: inherit; +} + +.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 700; + font-size: 1.5em; + margin-top: 2em; + margin-bottom: 1em; + line-height: 1.3333333; +} + +.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 800; + color: inherit; +} + +.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + font-size: 1.25em; + margin-top: 1.6em; + margin-bottom: 0.6em; + line-height: 1.6; +} + +.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; +} + +.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.5em; + margin-bottom: 0.5em; + line-height: 1.5; +} + +.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; +} + +.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + display: block; + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 600; + font-family: inherit; + color: var(--tw-prose-kbd); + box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%); + font-size: 0.9rem; + border-radius: 0.25rem; + padding-top: 0.1875em; + padding-inline-end: 0.375em; + padding-bottom: 0.1875em; + padding-inline-start: 0.375em; + background-color: rgba(var(--color-neutral-200), 1); + padding: 0.1rem 0.4rem; +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-code); + font-weight: 600; + font-size: 0.875em; +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: "`"; +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: "`"; +} + +.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-code); +} + +.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.875em; +} + +.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.9em; +} + +.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-pre-code); + background-color: var(--tw-prose-pre-bg); + overflow-x: auto; + font-weight: 400; + font-size: 0.875em; + line-height: 1.7142857; + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; + border-radius: 0.375rem; + padding-top: 0.8571429em; + padding-inline-end: 1.1428571em; + padding-bottom: 0.8571429em; + padding-inline-start: 1.1428571em; +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color: transparent; + border-width: 0; + border-radius: 0; + padding: 0; + font-weight: inherit; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: none; +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: none; +} + +.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + width: 100%; + table-layout: auto; + text-align: start; + margin-top: 2em; + margin-bottom: 2em; + font-size: 0.875em; + line-height: 1.7142857; +} + +.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-th-borders); +} + +.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + vertical-align: bottom; + padding-inline-end: 0.5714286em; + padding-bottom: 0.5714286em; + padding-inline-start: 0.5714286em; +} + +.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-td-borders); +} + +.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 0; +} + +.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: baseline; +} + +.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-top-width: 1px; + border-top-color: var(--tw-prose-th-borders); +} + +.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: top; +} + +.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-captions); + font-size: 0.875em; + line-height: 1.4285714; + margin-top: 0.8571429em; +} + +.prose { + --tw-prose-body: rgba(var(--color-neutral-700), 1); + --tw-prose-headings: rgba(var(--color-neutral-800), 1); + --tw-prose-lead: rgba(var(--color-neutral-500), 1); + --tw-prose-links: rgba(var(--color-primary-700), 1); + --tw-prose-bold: rgba(var(--color-neutral-900), 1); + --tw-prose-counters: rgba(var(--color-neutral-800), 1); + --tw-prose-bullets: rgba(var(--color-neutral-500), 1); + --tw-prose-hr: rgba(var(--color-neutral-200), 1); + --tw-prose-quotes: rgba(var(--color-neutral-700), 1); + --tw-prose-quote-borders: rgba(var(--color-primary-200), 1); + --tw-prose-captions: rgba(var(--color-neutral-500), 1); + --tw-prose-kbd: #111827; + --tw-prose-kbd-shadows: 17 24 39; + --tw-prose-code: rgba(var(--color-secondary-700), 1); + --tw-prose-pre-code: rgba(var(--color-neutral-700), 1); + --tw-prose-pre-bg: rgba(var(--color-neutral-50), 1); + --tw-prose-th-borders: rgba(var(--color-neutral-500), 1); + --tw-prose-td-borders: rgba(var(--color-neutral-300), 1); + --tw-prose-invert-body: rgba(var(--color-neutral-300), 1); + --tw-prose-invert-headings: rgba(var(--color-neutral-50), 1); + --tw-prose-invert-lead: rgba(var(--color-neutral-500), 1); + --tw-prose-invert-links: rgba(var(--color-primary-400), 1); + --tw-prose-invert-bold: rgba(var(--color-neutral), 1); + --tw-prose-invert-counters: rgba(var(--color-neutral-400), 1); + --tw-prose-invert-bullets: rgba(var(--color-neutral-600), 1); + --tw-prose-invert-hr: rgba(var(--color-neutral-500), 1); + --tw-prose-invert-quotes: rgba(var(--color-neutral-200), 1); + --tw-prose-invert-quote-borders: rgba(var(--color-primary-900), 1); + --tw-prose-invert-captions: rgba(var(--color-neutral-400), 1); + --tw-prose-invert-kbd: #fff; + --tw-prose-invert-kbd-shadows: 255 255 255; + --tw-prose-invert-code: rgba(var(--color-secondary-400), 1); + --tw-prose-invert-pre-code: rgba(var(--color-neutral-200), 1); + --tw-prose-invert-pre-bg: rgba(var(--color-neutral-700), 1); + --tw-prose-invert-th-borders: rgba(var(--color-neutral-500), 1); + --tw-prose-invert-td-borders: rgba(var(--color-neutral-700), 1); + font-size: 1rem; + line-height: 1.75; +} + +.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.375em; +} + +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.375em; +} + +.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; +} + +.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; +} + +.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; +} + +.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; +} + +.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + padding-inline-start: 1.625em; +} + +.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; +} + +.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; +} + +.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top: 0.5714286em; + padding-inline-end: 0.5714286em; + padding-bottom: 0.5714286em; + padding-inline-start: 0.5714286em; +} + +.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; +} + +.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; +} + +.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 0; +} + +.prose :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: rgba(var(--color-neutral-800), 1); + background-color: rgba(var(--color-secondary-200), 1); + padding: 0.1rem 0.2rem; + border-radius: 0.12rem; +} + +body a, +body button { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +/* Scale SVG icons to text size */ + +.icon svg { + height: 1em; + width: 1em; +} + +/* Search */ + +#search-query::-webkit-search-cancel-button, +#search-query::-webkit-search-decoration, +#search-query::-webkit-search-results-button, +#search-query::-webkit-search-results-decoration { + display: none; +} + +/* Hamburger menu */ + +body:has(#menu-controller:checked) { + height: 100vh; + overflow: hidden; +} + +#menu-button:has(#menu-controller:checked) { + visibility: hidden; +} + +#menu-controller:checked ~ #menu-wrapper { + visibility: visible; + opacity: 1; +} + +/* RTL support */ + +.prose blockquote:where([dir="rtl"], [dir="rtl"] *) { + border-left-width: 0px; + border-right-width: 4px; + padding-right: 1rem; +} + +.prose ul > li:where([dir="rtl"], [dir="rtl"] *), +.prose ol > li:where([dir="rtl"], [dir="rtl"] *) { + margin-right: 1.75rem; + padding-left: 0px; + padding-right: 0.5rem; +} + +.prose ol > li:where([dir="rtl"], [dir="rtl"] *):before, +.prose ul > li:where([dir="rtl"], [dir="rtl"] *):before { + left: auto; + right: 0.25rem; +} + +.prose thead td:first-child:where([dir="rtl"], [dir="rtl"] *), +.prose thead th:first-child:where([dir="rtl"], [dir="rtl"] *) { + padding-right: 0px; +} + +.prose thead td:last-child:where([dir="rtl"], [dir="rtl"] *), +.prose thead th:last-child:where([dir="rtl"], [dir="rtl"] *) { + padding-left: 0px; +} + +/* Adjust first child within prose */ + +.prose div.min-w-0.max-w-prose > *:first-child { + margin-top: 0.75rem; +} + +/* Table of Contents */ + +.toc { + max-height: 100vh; + overflow-y: auto; + padding-bottom: 50px; +} + +.toc ul, +.toc li { + list-style-type: none; + padding-left: 0px; + padding-right: 0px; + line-height: 1.375; +} + +.toc ul ul { + padding-inline-start: 1rem; +} + +.toc a { + font-weight: 400; + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-700), var(--tw-text-opacity)); +} + +.toc a:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-400), var(--tw-text-opacity)); +} + +.toc ul > li:where([dir="rtl"], [dir="rtl"] *) { + margin-right: 0px; +} + +/* Code Copy */ + +.highlight-wrapper { + display: block; +} + +.highlight { + position: relative; + z-index: 0; +} + +.highlight:hover > .copy-button { + visibility: visible; +} + +.copy-button { + visibility: hidden; + position: absolute; + right: 0px; + top: 0px; + z-index: 10; + width: 5rem; + cursor: pointer; + white-space: nowrap; + border-bottom-left-radius: 0.375rem; + border-top-right-radius: 0.375rem; + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral-200), var(--tw-bg-opacity)); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 0.875rem; + line-height: 1.25rem; + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-700), var(--tw-text-opacity)); + opacity: 0.9; +} + +.copy-button:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity)); + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-200), var(--tw-text-opacity)); +} + +.copy-button:hover, +.copy-button:focus, +.copy-button:active, +.copy-button:active:hover { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity)); +} + +.copy-button:hover:is(.dark *), +.copy-button:focus:is(.dark *), +.copy-button:active:is(.dark *), +.copy-button:active:hover:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-600), var(--tw-bg-opacity)); +} + +.copy-textarea { + position: absolute; + z-index: -10; + opacity: 0.05; +} + +/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */ + +.katex-display { + overflow: auto hidden; +} + +/* Fix long tables breaking out of article on mobile */ + +table { + display: block; + overflow: auto; +} + +@media (min-width: 768px) { + table { + display: table; + } +} + +/* Fix long inline code sections breaking out of article on mobile */ + +code { + word-wrap: break-word; + /* All browsers since IE 5.5+ */ + overflow-wrap: break-word; +} + +/* -- Chroma Highlight -- */ + +/* Background */ + +.chroma { + border-radius: 0.375rem; + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral-50), var(--tw-bg-opacity)); + padding-top: 0.75rem; + padding-bottom: 0.75rem; + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-700), var(--tw-text-opacity)); +} + +.chroma:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity)); + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-200), var(--tw-text-opacity)); +} + +.chroma pre { + margin: 0px; + padding: 0px; +} + +/* LineTable */ + +.chroma .lntable { + margin: 0px; + display: block; + width: auto; + overflow: auto; + font-size: 1rem; + line-height: 1.5rem; +} + +/* LineNumbersTable */ + +/* LineNumbers */ + +.chroma .lnt, +.chroma .ln { + margin-right: 0.5rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-600), var(--tw-text-opacity)); +} + +.chroma .lnt:is(.dark *), +.chroma .ln:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-300), var(--tw-text-opacity)); +} + +.chroma .lntd { + padding: 0px; + vertical-align: top; +} + +.chroma .lntd:last-of-type { + width: 100%; +} + +/* LineHighlight */ + +.chroma .hl { + display: block; + width: 100%; + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity)); +} + +.chroma .hl:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity)); +} + +/* Keyword */ + +/* KeywordDeclaration */ + +/* KeywordNamespace */ + +/* KeywordPseudo */ + +/* KeywordReserved */ + +/* NameClass */ + +/* NameFunctionMagic */ + +/* NameNamespace */ + +/* NameVariableClass */ + +/* Operator */ + +.chroma .k, +.chroma .kd, +.chroma .kn, +.chroma .kp, +.chroma .kr, +.chroma .nc, +.chroma .fm, +.chroma .nn, +.chroma .vc, +.chroma .o { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-600), var(--tw-text-opacity)); +} + +.chroma .k:is(.dark *), +.chroma .kd:is(.dark *), +.chroma .kn:is(.dark *), +.chroma .kp:is(.dark *), +.chroma .kr:is(.dark *), +.chroma .nc:is(.dark *), +.chroma .fm:is(.dark *), +.chroma .nn:is(.dark *), +.chroma .vc:is(.dark *), +.chroma .o:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-300), var(--tw-text-opacity)); +} + +/* KeywordConstant */ + +.chroma .kc { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-400), var(--tw-text-opacity)); +} + +.chroma .kc:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-500), var(--tw-text-opacity)); +} + +/* KeywordType */ + +/* NameVariable */ + +/* NameVariableInstance */ + +/* NameVariableMagic */ + +/* LiteralNumber */ + +/* LiteralNumberBin */ + +/* LiteralNumberFloat */ + +/* LiteralNumberHex */ + +/* LiteralNumberInteger */ + +/* LiteralNumberIntegerLong */ + +/* LiteralNumberOct */ + +.chroma .kt, +.chroma .nv, +.chroma .vi, +.chroma .vm, +.chroma .m, +.chroma .mb, +.chroma .mf, +.chroma .mh, +.chroma .mi, +.chroma .il, +.chroma .mo { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-400), var(--tw-text-opacity)); +} + +.chroma .kt:is(.dark *), +.chroma .nv:is(.dark *), +.chroma .vi:is(.dark *), +.chroma .vm:is(.dark *), +.chroma .m:is(.dark *), +.chroma .mb:is(.dark *), +.chroma .mf:is(.dark *), +.chroma .mh:is(.dark *), +.chroma .mi:is(.dark *), +.chroma .il:is(.dark *), +.chroma .mo:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-600), var(--tw-text-opacity)); +} + +/* Name */ + +/* NameDecorator */ + +/* NameEntity */ + +/* NameLabel */ + +.chroma .n, +.chroma .nd, +.chroma .ni, +.chroma .nl { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-900), var(--tw-text-opacity)); +} + +.chroma .n:is(.dark *), +.chroma .nd:is(.dark *), +.chroma .ni:is(.dark *), +.chroma .nl:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-200), var(--tw-text-opacity)); +} + +/* NameAttribute */ + +/* NameBuiltin */ + +/* NameBuiltinPseudo */ + +/* NameOther */ + +/* NameProperty */ + +/* NameTag */ + +.chroma .na, +.chroma .nb, +.chroma .bp, +.chroma .nx, +.chroma .py, +.chroma .nt { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-800), var(--tw-text-opacity)); +} + +.chroma .na:is(.dark *), +.chroma .nb:is(.dark *), +.chroma .bp:is(.dark *), +.chroma .nx:is(.dark *), +.chroma .py:is(.dark *), +.chroma .nt:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-300), var(--tw-text-opacity)); +} + +/* NameConstant */ + +/* NameException */ + +/* NameVariableGlobal */ + +.chroma .no, +.chroma .ne, +.chroma .vg { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-400), var(--tw-text-opacity)); +} + +.chroma .no:is(.dark *), +.chroma .ne:is(.dark *), +.chroma .vg:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-500), var(--tw-text-opacity)); +} + +/* NameFunction */ + +.chroma .nf { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-600), var(--tw-text-opacity)); +} + +.chroma .nf:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-500), var(--tw-text-opacity)); +} + +/* Literal */ + +/* LiteralDate */ + +/* LiteralString */ + +/* LiteralStringAffix */ + +/* LiteralStringBacktick */ + +/* LiteralStringChar */ + +/* LiteralStringDelimiter */ + +/* LiteralStringDoc */ + +/* LiteralStringDouble */ + +/* LiteralStringHeredoc */ + +/* LiteralStringInterpol */ + +/* LiteralStringOther */ + +/* LiteralStringSingle */ + +/* GenericInserted */ + +/* GenericOutput */ + +/* GenericPrompt */ + +.chroma .l, +.chroma .ld, +.chroma .s, +.chroma .sa, +.chroma .sb, +.chroma .sc, +.chroma .dl, +.chroma .sd, +.chroma .s2, +.chroma .sh, +.chroma .si, +.chroma .sx, +.chroma .s1, +.chroma .gi, +.chroma .go, +.chroma .gp { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-800), var(--tw-text-opacity)); +} + +.chroma .l:is(.dark *), +.chroma .ld:is(.dark *), +.chroma .s:is(.dark *), +.chroma .sa:is(.dark *), +.chroma .sb:is(.dark *), +.chroma .sc:is(.dark *), +.chroma .dl:is(.dark *), +.chroma .sd:is(.dark *), +.chroma .s2:is(.dark *), +.chroma .sh:is(.dark *), +.chroma .si:is(.dark *), +.chroma .sx:is(.dark *), +.chroma .s1:is(.dark *), +.chroma .gi:is(.dark *), +.chroma .go:is(.dark *), +.chroma .gp:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-400), var(--tw-text-opacity)); +} + +/* LiteralStringEscape */ + +.chroma .se { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-400), var(--tw-text-opacity)); +} + +.chroma .se:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-secondary-500), var(--tw-text-opacity)); +} + +/* LiteralStringRegex */ + +/* LiteralStringSymbol */ + +.chroma .sr, +.chroma .ss { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(var(--color-primary-800), var(--tw-text-opacity)); +} + +.chroma .sr:is(.dark *), +.chroma .ss:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-400), var(--tw-text-opacity)); +} + +/* OperatorWord */ + +.chroma .ow { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(var(--color-primary-400), var(--tw-text-opacity)); +} + +.chroma .ow:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-600), var(--tw-text-opacity)); +} + +/* Comment */ + +/* CommentMultiline */ + +/* CommentSingle */ + +/* CommentSpecial */ + +/* CommentPreproc */ + +/* CommentPreprocFile */ + +.chroma .c, +.chroma .cm, +.chroma .c1, +.chroma .cs, +.chroma .cp, +.chroma .cpf { + font-style: italic; + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-500), var(--tw-text-opacity)); +} + +.chroma .c:is(.dark *), +.chroma .cm:is(.dark *), +.chroma .c1:is(.dark *), +.chroma .cs:is(.dark *), +.chroma .cp:is(.dark *), +.chroma .cpf:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-400), var(--tw-text-opacity)); +} + +/* CommentHashbang */ + +.chroma .ch { + font-weight: 600; + font-style: italic; + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-500), var(--tw-text-opacity)); +} + +.chroma .ch:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-400), var(--tw-text-opacity)); +} + +/* GenericEmph */ + +.chroma .ge { + font-style: italic; +} + +/* GenericHeading */ + +.chroma .gh { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-500), var(--tw-text-opacity)); +} + +/* GenericStrong */ + +.chroma .gs { + font-weight: 600; +} + +/* GenericSubheading */ + +/* GenericTraceback */ + +.chroma .gu, +.chroma .gt { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-500), var(--tw-text-opacity)); +} + +/* GenericUnderline */ + +.chroma .gl { + text-decoration-line: underline; +} + +.pointer-events-none { + pointer-events: none; +} + +.pointer-events-auto { + pointer-events: auto; +} + +.invisible { + visibility: hidden; +} + +.fixed { + position: fixed; +} + +.absolute { + position: absolute; +} + +.relative { + position: relative; +} + +.sticky { + position: sticky; +} + +.inset-0 { + inset: 0px; +} + +.-start-6 { + inset-inline-start: -1.5rem; +} + +.bottom-0 { + bottom: 0px; +} + +.bottom-7 { + bottom: 1.75rem; +} + +.end-0 { + inset-inline-end: 0px; +} + +.top-0 { + top: 0px; +} + +.top-20 { + top: 5rem; +} + +.top-\[100vh\] { + top: 100vh; +} + +.top-\[calc\(100vh-5\.5rem\)\] { + top: calc(100vh - 5.5rem); +} + +.z-10 { + z-index: 10; +} + +.z-30 { + z-index: 30; +} + +.z-40 { + z-index: 40; +} + +.z-50 { + z-index: 50; +} + +.order-first { + order: -9999; +} + +.m-1 { + margin: 0.25rem; +} + +.m-auto { + margin: auto; +} + +.-mx-2 { + margin-left: -0.5rem; + margin-right: -0.5rem; +} + +.mx-1 { + margin-left: 0.25rem; + margin-right: 0.25rem; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.my-0 { + margin-top: 0px; + margin-bottom: 0px; +} + +.my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} + +.my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; +} + +.\!mb-0 { + margin-bottom: 0px !important; +} + +.\!mb-9 { + margin-bottom: 2.25rem !important; +} + +.\!mt-0 { + margin-top: 0px !important; +} + +.-mb-1 { + margin-bottom: -0.25rem; +} + +.-ms-5 { + margin-inline-start: -1.25rem; +} + +.-mt-3 { + margin-top: -0.75rem; +} + +.mb-1 { + margin-bottom: 0.25rem; +} + +.mb-10 { + margin-bottom: 2.5rem; +} + +.mb-12 { + margin-bottom: 3rem; +} + +.mb-2 { + margin-bottom: 0.5rem; +} + +.mb-3 { + margin-bottom: 0.75rem; +} + +.mb-6 { + margin-bottom: 1.5rem; +} + +.mb-8 { + margin-bottom: 2rem; +} + +.mb-\[2px\] { + margin-bottom: 2px; +} + +.me-14 { + margin-inline-end: 3.5rem; +} + +.me-2 { + margin-inline-end: 0.5rem; +} + +.me-4 { + margin-inline-end: 1rem; +} + +.ml-2 { + margin-left: 0.5rem; +} + +.mr-2 { + margin-right: 0.5rem; +} + +.ms-1 { + margin-inline-start: 0.25rem; +} + +.ms-2 { + margin-inline-start: 0.5rem; +} + +.mt-0 { + margin-top: 0px; +} + +.mt-1 { + margin-top: 0.25rem; +} + +.mt-10 { + margin-top: 2.5rem; +} + +.mt-12 { + margin-top: 3rem; +} + +.mt-6 { + margin-top: 1.5rem; +} + +.mt-8 { + margin-top: 2rem; +} + +.mt-\[0\.1rem\] { + margin-top: 0.1rem; +} + +.block { + display: block; +} + +.inline-block { + display: inline-block; +} + +.inline { + display: inline; +} + +.flex { + display: flex; +} + +.hidden { + display: none; +} + +.h-12 { + height: 3rem; +} + +.h-8 { + height: 2rem; +} + +.h-auto { + height: auto; +} + +.h-full { + height: 100%; +} + +.h-screen { + height: 100vh; +} + +.max-h-\[10rem\] { + max-height: 10rem; +} + +.max-h-\[4\.5rem\] { + max-height: 4.5rem; +} + +.min-h-0 { + min-height: 0px; +} + +.w-12 { + width: 3rem; +} + +.w-24 { + width: 6rem; +} + +.w-36 { + width: 9rem; +} + +.w-6 { + width: 1.5rem; +} + +.w-8 { + width: 2rem; +} + +.w-full { + width: 100%; +} + +.w-screen { + width: 100vw; +} + +.min-w-0 { + min-width: 0px; +} + +.min-w-\[1\.8rem\] { + min-width: 1.8rem; +} + +.min-w-\[2\.4rem\] { + min-width: 2.4rem; +} + +.max-w-3xl { + max-width: 48rem; +} + +.max-w-7xl { + max-width: 80rem; +} + +.max-w-\[10rem\] { + max-width: 10rem; +} + +.max-w-\[6rem\] { + max-width: 6rem; +} + +.max-w-full { + max-width: 100%; +} + +.max-w-prose { + max-width: 65ch; +} + +.flex-auto { + flex: 1 1 auto; +} + +.flex-none { + flex: none; +} + +.flex-grow { + flex-grow: 1; +} + +.grow { + flex-grow: 1; +} + +.-translate-y-8 { + --tw-translate-y: -2rem; + 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)); +} + +.cursor-default { + cursor: default; +} + +.cursor-pointer { + cursor: pointer; +} + +.list-none { + list-style-type: none; +} + +.appearance-none { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.flex-row { + flex-direction: row; +} + +.flex-col { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.items-start { + align-items: flex-start; +} + +.items-center { + align-items: center; +} + +.justify-end { + justify-content: flex-end; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.place-self-center { + place-self: center; +} + +.self-center { + align-self: center; +} + +.overflow-auto { + overflow: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.overflow-visible { + overflow: visible; +} + +.scroll-smooth { + scroll-behavior: smooth; +} + +.whitespace-nowrap { + white-space: nowrap; +} + +.\!rounded-md { + border-radius: 0.375rem !important; +} + +.rounded { + border-radius: 0.25rem; +} + +.rounded-full { + border-radius: 9999px; +} + +.rounded-lg { + border-radius: 0.5rem; +} + +.rounded-md { + border-radius: 0.375rem; +} + +.rounded-b-lg { + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} + +.border { + border-width: 1px; +} + +.border-s { + border-inline-start-width: 1px; +} + +.border-t { + border-top-width: 1px; +} + +.border-dotted { + border-style: dotted; +} + +.border-neutral-200 { + --tw-border-opacity: 1; + border-color: rgba(var(--color-neutral-200), var(--tw-border-opacity)); +} + +.border-neutral-300 { + --tw-border-opacity: 1; + border-color: rgba(var(--color-neutral-300), var(--tw-border-opacity)); +} + +.border-neutral-400 { + --tw-border-opacity: 1; + border-color: rgba(var(--color-neutral-400), var(--tw-border-opacity)); +} + +.border-primary-400 { + --tw-border-opacity: 1; + border-color: rgba(var(--color-primary-400), var(--tw-border-opacity)); +} + +.bg-neutral { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral), var(--tw-bg-opacity)); +} + +.bg-neutral-100 { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral-100), var(--tw-bg-opacity)); +} + +.bg-neutral-100\/50 { + background-color: rgba(var(--color-neutral-100), 0.5); +} + +.bg-neutral-300 { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral-300), var(--tw-bg-opacity)); +} + +.bg-neutral-500\/50 { + background-color: rgba(var(--color-neutral-500), 0.5); +} + +.bg-neutral\/50 { + background-color: rgba(var(--color-neutral), 0.5); +} + +.bg-primary-100 { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity)); +} + +.bg-primary-200 { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-200), var(--tw-bg-opacity)); +} + +.bg-primary-600 { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-600), var(--tw-bg-opacity)); +} + +.bg-transparent { + background-color: transparent; +} + +.object-scale-down { + -o-object-fit: scale-down; + object-fit: scale-down; +} + +.object-left { + -o-object-position: left; + object-position: left; +} + +.p-1 { + padding: 0.25rem; +} + +.p-4 { + padding: 1rem; +} + +.px-0 { + padding-left: 0px; + padding-right: 0px; +} + +.px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.py-10 { + padding-top: 2.5rem; + padding-bottom: 2.5rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} + +.py-8 { + padding-top: 2rem; + padding-bottom: 2rem; +} + +.py-\[1px\] { + padding-top: 1px; + padding-bottom: 1px; +} + +.pb-4 { + padding-bottom: 1rem; +} + +.pe-10 { + padding-inline-end: 2.5rem; +} + +.pe-2 { + padding-inline-end: 0.5rem; +} + +.pe-3 { + padding-inline-end: 0.75rem; +} + +.pe-4 { + padding-inline-end: 1rem; +} + +.pe-5 { + padding-inline-end: 1.25rem; +} + +.ps-2 { + padding-inline-start: 0.5rem; +} + +.ps-5 { + padding-inline-start: 1.25rem; +} + +.pt-3 { + padding-top: 0.75rem; +} + +.pt-4 { + padding-top: 1rem; +} + +.pt-8 { + padding-top: 2rem; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.text-start { + text-align: start; +} + +.text-end { + text-align: end; +} + +.align-top { + vertical-align: top; +} + +.align-text-bottom { + vertical-align: text-bottom; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.text-4xl { + font-size: 2.25rem; + line-height: 2.5rem; +} + +.text-\[0\.6rem\] { + font-size: 0.6rem; +} + +.text-base { + font-size: 1rem; + line-height: 1.5rem; +} + +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + +.font-bold { + font-weight: 700; +} + +.font-extrabold { + font-weight: 800; +} + +.font-medium { + font-weight: 500; +} + +.font-normal { + font-weight: 400; +} + +.font-semibold { + font-weight: 600; +} + +.uppercase { + text-transform: uppercase; +} + +.italic { + font-style: italic; +} + +.leading-3 { + line-height: .75rem; +} + +.leading-6 { + line-height: 1.5rem; +} + +.leading-7 { + line-height: 1.75rem; +} + +.leading-relaxed { + line-height: 1.625; +} + +.\!text-neutral { + --tw-text-opacity: 1 !important; + color: rgba(var(--color-neutral), var(--tw-text-opacity)) !important; +} + +.text-neutral-400 { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-400), var(--tw-text-opacity)); +} + +.text-neutral-500 { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-500), var(--tw-text-opacity)); +} + +.text-neutral-700 { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-700), var(--tw-text-opacity)); +} + +.text-neutral-800 { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-800), var(--tw-text-opacity)); +} + +.text-neutral-900 { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-900), var(--tw-text-opacity)); +} + +.text-primary-400 { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-400), var(--tw-text-opacity)); +} + +.text-primary-500 { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-500), var(--tw-text-opacity)); +} + +.text-primary-600 { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-600), var(--tw-text-opacity)); +} + +.text-primary-700 { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-700), var(--tw-text-opacity)); +} + +.\!no-underline { + text-decoration-line: none !important; +} + +.decoration-neutral-300 { + text-decoration-color: rgba(var(--color-neutral-300), 1); +} + +.decoration-primary-500 { + text-decoration-color: rgba(var(--color-primary-500), 1); +} + +.opacity-0 { + opacity: 0; +} + +.shadow { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + 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 rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.backdrop-blur { + --tw-backdrop-blur: blur(8px); + -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); +} + +.backdrop-blur-sm { + --tw-backdrop-blur: blur(4px); + -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-colors { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-opacity { + transition-property: opacity; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-transform { + transition-property: transform; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.dark\:prose-invert:is(.dark *) { + --tw-prose-body: var(--tw-prose-invert-body); + --tw-prose-headings: var(--tw-prose-invert-headings); + --tw-prose-lead: var(--tw-prose-invert-lead); + --tw-prose-links: var(--tw-prose-invert-links); + --tw-prose-bold: var(--tw-prose-invert-bold); + --tw-prose-counters: var(--tw-prose-invert-counters); + --tw-prose-bullets: var(--tw-prose-invert-bullets); + --tw-prose-hr: var(--tw-prose-invert-hr); + --tw-prose-quotes: var(--tw-prose-invert-quotes); + --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders); + --tw-prose-captions: var(--tw-prose-invert-captions); + --tw-prose-kbd: var(--tw-prose-invert-kbd); + --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows); + --tw-prose-code: var(--tw-prose-invert-code); + --tw-prose-pre-code: var(--tw-prose-invert-pre-code); + --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg); + --tw-prose-th-borders: var(--tw-prose-invert-th-borders); + --tw-prose-td-borders: var(--tw-prose-invert-td-borders); +} + +.dark\:prose-invert:is(.dark *) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color: rgba(var(--color-neutral-600), 1); +} + +.dark\:prose-invert:is(.dark *) :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: rgba(var(--color-neutral-200), 1); + background-color: rgba(var(--color-neutral-700), 1); +} + +.dark\:prose-invert:is(.dark *) :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color: rgba(var(--color-secondary-400), 1); +} + +.first\:mt-8:first-child { + margin-top: 2rem; +} + +.hover\:scale-125:hover { + --tw-scale-x: 1.25; + --tw-scale-y: 1.25; + 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)); +} + +.hover\:border-primary-300:hover { + --tw-border-opacity: 1; + border-color: rgba(var(--color-primary-300), var(--tw-border-opacity)); +} + +.hover\:\!bg-primary-500:hover { + --tw-bg-opacity: 1 !important; + background-color: rgba(var(--color-primary-500), var(--tw-bg-opacity)) !important; +} + +.hover\:bg-primary-100:hover { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity)); +} + +.hover\:bg-primary-500:hover { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-500), var(--tw-bg-opacity)); +} + +.hover\:bg-primary-600:hover { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-600), var(--tw-bg-opacity)); +} + +.hover\:text-neutral:hover { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral), var(--tw-text-opacity)); +} + +.hover\:text-primary-500:hover { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-500), var(--tw-text-opacity)); +} + +.hover\:text-primary-600:hover { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-600), var(--tw-text-opacity)); +} + +.hover\:text-primary-700:hover { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-700), var(--tw-text-opacity)); +} + +.hover\:underline:hover { + text-decoration-line: underline; +} + +.hover\:decoration-primary-400:hover { + text-decoration-color: rgba(var(--color-primary-400), 1); +} + +.hover\:decoration-2:hover { + text-decoration-thickness: 2px; +} + +.hover\:underline-offset-2:hover { + text-underline-offset: 2px; +} + +.focus\:translate-y-0:focus { + --tw-translate-y: 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)); +} + +.focus\:bg-primary-100:focus { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity)); +} + +.focus\:outline-dotted:focus { + outline-style: dotted; +} + +.focus\:outline-2:focus { + outline-width: 2px; +} + +.focus\:outline-transparent:focus { + outline-color: transparent; +} + +.group:hover .group-hover\:visible { + visibility: visible; +} + +.group:hover .group-hover\:-translate-x-\[-2px\] { + --tw-translate-x: 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)); +} + +.group:hover .group-hover\:-translate-x-\[2px\] { + --tw-translate-x: -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)); +} + +.group:hover .group-hover\:text-primary-300 { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-300), var(--tw-text-opacity)); +} + +.group:hover .group-hover\:text-primary-600 { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-600), var(--tw-text-opacity)); +} + +.group:hover .group-hover\:underline { + text-decoration-line: underline; +} + +.group:hover .group-hover\:decoration-primary-500 { + text-decoration-color: rgba(var(--color-primary-500), 1); +} + +.group:hover .group-hover\:decoration-2 { + text-decoration-thickness: 2px; +} + +.group:hover .group-hover\:underline-offset-2 { + text-underline-offset: 2px; +} + +.group:hover .group-hover\:opacity-100 { + opacity: 1; +} + +.dark\:inline:is(.dark *) { + display: inline; +} + +.dark\:flex:is(.dark *) { + display: flex; +} + +.dark\:hidden:is(.dark *) { + display: none; +} + +.dark\:border-neutral-600:is(.dark *) { + --tw-border-opacity: 1; + border-color: rgba(var(--color-neutral-600), var(--tw-border-opacity)); +} + +.dark\:border-neutral-700:is(.dark *) { + --tw-border-opacity: 1; + border-color: rgba(var(--color-neutral-700), var(--tw-border-opacity)); +} + +.dark\:border-primary-600:is(.dark *) { + --tw-border-opacity: 1; + border-color: rgba(var(--color-primary-600), var(--tw-border-opacity)); +} + +.dark\:bg-neutral-600:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity)); +} + +.dark\:bg-neutral-700:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity)); +} + +.dark\:bg-neutral-800:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-neutral-800), var(--tw-bg-opacity)); +} + +.dark\:bg-neutral-800\/50:is(.dark *) { + background-color: rgba(var(--color-neutral-800), 0.5); +} + +.dark\:bg-neutral-900\/50:is(.dark *) { + background-color: rgba(var(--color-neutral-900), 0.5); +} + +.dark\:bg-primary-400:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity)); +} + +.dark\:bg-primary-800:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-800), var(--tw-bg-opacity)); +} + +.dark\:bg-primary-900:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity)); +} + +.dark\:text-neutral:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral), var(--tw-text-opacity)); +} + +.dark\:text-neutral-100:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-100), var(--tw-text-opacity)); +} + +.dark\:text-neutral-300:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-300), var(--tw-text-opacity)); +} + +.dark\:text-neutral-400:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-400), var(--tw-text-opacity)); +} + +.dark\:text-neutral-500:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-500), var(--tw-text-opacity)); +} + +.dark\:text-neutral-800:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-800), var(--tw-text-opacity)); +} + +.dark\:text-primary-400:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-400), var(--tw-text-opacity)); +} + +.dark\:hover\:border-primary-600:hover:is(.dark *) { + --tw-border-opacity: 1; + border-color: rgba(var(--color-primary-600), var(--tw-border-opacity)); +} + +.dark\:hover\:\!bg-primary-700:hover:is(.dark *) { + --tw-bg-opacity: 1 !important; + background-color: rgba(var(--color-primary-700), var(--tw-bg-opacity)) !important; +} + +.dark\:hover\:bg-primary-400:hover:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity)); +} + +.dark\:hover\:bg-primary-900:hover:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity)); +} + +.dark\:hover\:text-neutral-800:hover:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-800), var(--tw-text-opacity)); +} + +.dark\:hover\:text-primary-400:hover:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-400), var(--tw-text-opacity)); +} + +.dark\:focus\:bg-primary-900:focus:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity)); +} + +.group:hover .dark\:group-hover\:text-neutral-700:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-neutral-700), var(--tw-text-opacity)); +} + +.group:hover .dark\:group-hover\:text-primary-400:is(.dark *) { + --tw-text-opacity: 1; + color: rgba(var(--color-primary-400), var(--tw-text-opacity)); +} + +@media (min-width: 640px) { + .sm\:mb-0 { + margin-bottom: 0px; + } + + .sm\:me-7 { + margin-inline-end: 1.75rem; + } + + .sm\:flex { + display: flex; + } + + .sm\:hidden { + display: none; + } + + .sm\:max-h-\[7\.5rem\] { + max-height: 7.5rem; + } + + .sm\:w-1\/2 { + width: 50%; + } + + .sm\:w-40 { + width: 10rem; + } + + .sm\:max-w-\[10rem\] { + max-width: 10rem; + } + + .sm\:flex-row { + flex-direction: row; + } + + .sm\:items-center { + align-items: center; + } + + .sm\:p-6 { + padding: 1.5rem; + } + + .sm\:px-14 { + padding-left: 3.5rem; + padding-right: 3.5rem; + } + + .sm\:py-10 { + padding-top: 2.5rem; + padding-bottom: 2.5rem; + } + + .sm\:pe-6 { + padding-inline-end: 1.5rem; + } + + .sm\:pt-10 { + padding-top: 2.5rem; + } + + .sm\:text-lg { + font-size: 1.125rem; + line-height: 1.75rem; + } + + .sm\:last\:me-0:last-child { + margin-inline-end: 0px; + } + + .sm\:last\:me-0\.5:last-child { + margin-inline-end: 0.125rem; + } +} + +@media (min-width: 768px) { + .md\:w-1\/3 { + width: 33.333333%; + } + + .md\:p-\[10vh\] { + padding: 10vh; + } + + .md\:px-24 { + padding-left: 6rem; + padding-right: 6rem; + } +} + +@media (min-width: 1024px) { + .lg\:sticky { + position: sticky; + } + + .lg\:top-10 { + top: 2.5rem; + } + + .lg\:order-last { + order: 9999; + } + + .lg\:hidden { + display: none; + } + + .lg\:w-1\/4 { + width: 25%; + } + + .lg\:max-w-xs { + max-width: 20rem; + } + + .lg\:flex-row { + flex-direction: row; + } + + .lg\:p-\[12vh\] { + padding: 12vh; + } + + .lg\:px-32 { + padding-left: 8rem; + padding-right: 8rem; + } + + .lg\:ps-8 { + padding-inline-start: 2rem; + } +} + +@media (min-width: 1280px) { + .xl\:w-1\/5 { + width: 20%; + } +} + +.ltr\:right-0:where([dir="ltr"], [dir="ltr"] *) { + right: 0px; +} + +.ltr\:block:where([dir="ltr"], [dir="ltr"] *) { + display: block; +} + +.ltr\:inline:where([dir="ltr"], [dir="ltr"] *) { + display: inline; +} + +.ltr\:hidden:where([dir="ltr"], [dir="ltr"] *) { + display: none; +} + +.rtl\:left-0:where([dir="rtl"], [dir="rtl"] *) { + left: 0px; +} + +.rtl\:block:where([dir="rtl"], [dir="rtl"] *) { + display: block; +} + +.rtl\:inline:where([dir="rtl"], [dir="rtl"] *) { + display: inline; +} + +.rtl\:hidden:where([dir="rtl"], [dir="rtl"] *) { + display: none; +} + +@media print { + .print\:hidden { + display: none; + } +} diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..3d27219 --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,3 @@ +html { + font-size: 14pt; +} \ No newline at end of file diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..d89244e --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,324 @@ +/*! Congo v2.8.2 | MIT License | https://github.com/jpanther/congo */ + +@tailwind base; +@tailwind components; + +body a, +body button { + @apply transition-colors; +} + +/* Scale SVG icons to text size */ +.icon svg { + @apply h-[1em] w-[1em]; +} + +/* Search */ +#search-query::-webkit-search-cancel-button, +#search-query::-webkit-search-decoration, +#search-query::-webkit-search-results-button, +#search-query::-webkit-search-results-decoration { + @apply hidden; +} + +/* Hamburger menu */ +body:has(#menu-controller:checked) { + @apply h-screen overflow-hidden; +} +#menu-button:has(#menu-controller:checked) { + @apply invisible; +} +#menu-controller:checked ~ #menu-wrapper { + @apply visible opacity-100; +} + +/* RTL support */ +.prose blockquote { + @apply rtl:border-l-0 rtl:border-r-4 rtl:pr-4; +} +.prose ul > li, +.prose ol > li { + @apply rtl:mr-7 rtl:pl-0 rtl:pr-2; +} +.prose ol > li:before, +.prose ul > li:before { + @apply rtl:left-auto rtl:right-1; +} +.prose thead td:first-child, +.prose thead th:first-child { + @apply rtl:pr-0; +} +.prose thead td:last-child, +.prose thead th:last-child { + @apply rtl:pl-0; +} + +/* Adjust first child within prose */ +.prose div.min-w-0.max-w-prose > *:first-child { + @apply mt-3; +} + +/* Table of Contents */ +.toc { + max-height: 100vh; + overflow-y: auto; + padding-bottom: 50px; +} + +.toc ul, +.toc li { + @apply list-none px-0 leading-snug; +} +.toc ul ul { + @apply ps-4; +} +.toc a { + @apply font-normal text-neutral-700 dark:text-neutral-400; +} +.toc ul > li { + @apply rtl:mr-0; +} + +/* Code Copy */ +.highlight-wrapper { + @apply block; +} +.highlight { + @apply relative z-0; +} +.highlight:hover > .copy-button { + @apply visible; +} +.copy-button { + @apply invisible absolute right-0 top-0 z-10 w-20 cursor-pointer whitespace-nowrap rounded-bl-md rounded-tr-md bg-neutral-200 py-1 font-mono text-sm text-neutral-700 opacity-90 dark:bg-neutral-600 dark:text-neutral-200; +} +.copy-button:hover, +.copy-button:focus, +.copy-button:active, +.copy-button:active:hover { + @apply bg-primary-100 dark:bg-primary-600; +} +.copy-textarea { + @apply absolute -z-10 opacity-5; +} + +/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */ +.katex-display { + overflow: auto hidden; +} + +/* Fix long tables breaking out of article on mobile */ +table { + @apply block overflow-auto md:table; +} + +/* Fix long inline code sections breaking out of article on mobile */ +code { + word-wrap: break-word; /* All browsers since IE 5.5+ */ + @apply break-words; +} + +/* -- Chroma Highlight -- */ +/* Background */ +.chroma { + @apply rounded-md bg-neutral-50 py-3 text-neutral-700 dark:bg-neutral-700 dark:text-neutral-200; +} +.chroma pre { + @apply m-0 p-0; +} +/* LineTable */ +.chroma .lntable { + @apply m-0 block w-auto overflow-auto text-base; +} +/* LineNumbersTable */ +/* LineNumbers */ +.chroma .lnt, +.chroma .ln { + @apply mr-2 px-2 text-neutral-600 dark:text-neutral-300; +} +.chroma .lntd { + @apply p-0 align-top; +} +.chroma .lntd:last-of-type { + @apply w-full; +} +/* LineHighlight */ +.chroma .hl { + @apply block w-full bg-primary-100 dark:bg-primary-900; +} +/* Keyword */ +/* KeywordDeclaration */ +/* KeywordNamespace */ +/* KeywordPseudo */ +/* KeywordReserved */ +/* NameClass */ +/* NameFunctionMagic */ +/* NameNamespace */ +/* NameVariableClass */ +/* Operator */ +.chroma .k, +.chroma .kd, +.chroma .kn, +.chroma .kp, +.chroma .kr, +.chroma .nc, +.chroma .fm, +.chroma .nn, +.chroma .vc, +.chroma .o { + @apply text-primary-600 dark:text-primary-300; +} +/* KeywordConstant */ +.chroma .kc { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} +/* KeywordType */ +/* NameVariable */ +/* NameVariableInstance */ +/* NameVariableMagic */ +/* LiteralNumber */ +/* LiteralNumberBin */ +/* LiteralNumberFloat */ +/* LiteralNumberHex */ +/* LiteralNumberInteger */ +/* LiteralNumberIntegerLong */ +/* LiteralNumberOct */ +.chroma .kt, +.chroma .nv, +.chroma .vi, +.chroma .vm, +.chroma .m, +.chroma .mb, +.chroma .mf, +.chroma .mh, +.chroma .mi, +.chroma .il, +.chroma .mo { + @apply text-secondary-400 dark:text-secondary-600; +} +/* Name */ +/* NameDecorator */ +/* NameEntity */ +/* NameLabel */ +.chroma .n, +.chroma .nd, +.chroma .ni, +.chroma .nl { + @apply text-secondary-900 dark:text-secondary-200; +} +/* NameAttribute */ +/* NameBuiltin */ +/* NameBuiltinPseudo */ +/* NameOther */ +/* NameProperty */ +/* NameTag */ +.chroma .na, +.chroma .nb, +.chroma .bp, +.chroma .nx, +.chroma .py, +.chroma .nt { + @apply text-secondary-800 dark:text-secondary-300; +} +/* NameConstant */ +/* NameException */ +/* NameVariableGlobal */ +.chroma .no, +.chroma .ne, +.chroma .vg { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} +/* NameFunction */ +.chroma .nf { + @apply text-secondary-600 dark:text-secondary-500; +} +/* Literal */ +/* LiteralDate */ +/* LiteralString */ +/* LiteralStringAffix */ +/* LiteralStringBacktick */ +/* LiteralStringChar */ +/* LiteralStringDelimiter */ +/* LiteralStringDoc */ +/* LiteralStringDouble */ +/* LiteralStringHeredoc */ +/* LiteralStringInterpol */ +/* LiteralStringOther */ +/* LiteralStringSingle */ +/* GenericInserted */ +/* GenericOutput */ +/* GenericPrompt */ +.chroma .l, +.chroma .ld, +.chroma .s, +.chroma .sa, +.chroma .sb, +.chroma .sc, +.chroma .dl, +.chroma .sd, +.chroma .s2, +.chroma .sh, +.chroma .si, +.chroma .sx, +.chroma .s1, +.chroma .gi, +.chroma .go, +.chroma .gp { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringEscape */ +.chroma .se { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} +/* LiteralStringRegex */ +/* LiteralStringSymbol */ +.chroma .sr, +.chroma .ss { + @apply font-semibold text-primary-800 dark:text-primary-400; +} +/* OperatorWord */ +.chroma .ow { + @apply font-semibold text-primary-400 dark:text-primary-600; +} +/* Comment */ +/* CommentMultiline */ +/* CommentSingle */ +/* CommentSpecial */ +/* CommentPreproc */ +/* CommentPreprocFile */ +.chroma .c, +.chroma .cm, +.chroma .c1, +.chroma .cs, +.chroma .cp, +.chroma .cpf { + @apply italic text-neutral-500 dark:text-neutral-400; +} +/* CommentHashbang */ +.chroma .ch { + @apply font-semibold italic text-neutral-500 dark:text-neutral-400; +} +/* GenericEmph */ +.chroma .ge { + @apply italic; +} +/* GenericHeading */ +.chroma .gh { + @apply font-semibold text-neutral-500; +} +/* GenericStrong */ +.chroma .gs { + @apply font-semibold; +} +/* GenericSubheading */ +/* GenericTraceback */ +.chroma .gu, +.chroma .gt { + @apply text-neutral-500; +} +/* GenericUnderline */ +.chroma .gl { + @apply underline; +} + +@tailwind utilities; diff --git a/assets/css/schemes/avocado.css b/assets/css/schemes/avocado.css new file mode 100644 index 0000000..b9cb77e --- /dev/null +++ b/assets/css/schemes/avocado.css @@ -0,0 +1,40 @@ +/* Avocado scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Stone */ + --color-neutral-50: 250, 250, 249; + --color-neutral-100: 245, 245, 244; + --color-neutral-200: 231, 229, 228; + --color-neutral-300: 214, 211, 209; + --color-neutral-400: 168, 162, 158; + --color-neutral-500: 120, 113, 108; + --color-neutral-600: 87, 83, 78; + --color-neutral-700: 68, 64, 60; + --color-neutral-800: 41, 37, 36; + --color-neutral-900: 28, 25, 23; + --color-neutral-950: 12, 10, 9; + /* Lime */ + --color-primary-50: 247, 254, 231; + --color-primary-100: 236, 252, 203; + --color-primary-200: 217, 249, 157; + --color-primary-300: 190, 242, 100; + --color-primary-400: 163, 230, 53; + --color-primary-500: 132, 204, 22; + --color-primary-600: 101, 163, 13; + --color-primary-700: 77, 124, 15; + --color-primary-800: 63, 98, 18; + --color-primary-900: 54, 83, 20; + --color-primary-950: 26, 46, 5; + /* Emerald */ + --color-secondary-50: 236, 253, 245; + --color-secondary-100: 209, 250, 229; + --color-secondary-200: 167, 243, 208; + --color-secondary-300: 110, 231, 183; + --color-secondary-400: 52, 211, 153; + --color-secondary-500: 16, 185, 129; + --color-secondary-600: 5, 150, 105; + --color-secondary-700: 4, 120, 87; + --color-secondary-800: 6, 95, 70; + --color-secondary-900: 6, 78, 59; + --color-secondary-950: 2, 44, 34; +} diff --git a/assets/css/schemes/cherry.css b/assets/css/schemes/cherry.css new file mode 100644 index 0000000..2d64729 --- /dev/null +++ b/assets/css/schemes/cherry.css @@ -0,0 +1,40 @@ +/* Cherry scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Neutral */ + --color-neutral-50: 250, 250, 250; + --color-neutral-100: 245, 245, 245; + --color-neutral-200: 229, 229, 229; + --color-neutral-300: 212, 212, 212; + --color-neutral-400: 163, 163, 163; + --color-neutral-500: 115, 115, 115; + --color-neutral-600: 82, 82, 82; + --color-neutral-700: 64, 64, 64; + --color-neutral-800: 38, 38, 38; + --color-neutral-900: 23, 23, 23; + --color-neutral-950: 10, 10, 10; + /* Rose */ + --color-primary-50: 255, 241, 242; + --color-primary-100: 255, 228, 230; + --color-primary-200: 254, 205, 211; + --color-primary-300: 253, 164, 175; + --color-primary-400: 251, 113, 133; + --color-primary-500: 244, 63, 94; + --color-primary-600: 225, 29, 72; + --color-primary-700: 190, 18, 60; + --color-primary-800: 159, 18, 57; + --color-primary-900: 136, 19, 55; + --color-primary-950: 76, 5, 25; + /* Green */ + --color-secondary-50: 240, 253, 244; + --color-secondary-100: 220, 252, 231; + --color-secondary-200: 187, 247, 208; + --color-secondary-300: 134, 239, 172; + --color-secondary-400: 74, 222, 128; + --color-secondary-500: 34, 197, 94; + --color-secondary-600: 22, 163, 74; + --color-secondary-700: 21, 128, 61; + --color-secondary-800: 22, 101, 52; + --color-secondary-900: 20, 83, 45; + --color-secondary-950: 5, 46, 22; +} diff --git a/assets/css/schemes/congo.css b/assets/css/schemes/congo.css new file mode 100644 index 0000000..8b18d0a --- /dev/null +++ b/assets/css/schemes/congo.css @@ -0,0 +1,40 @@ +/* Congo scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 250, 250, 250; + --color-neutral-100: 244, 244, 245; + --color-neutral-200: 228, 228, 231; + --color-neutral-300: 212, 212, 216; + --color-neutral-400: 161, 161, 170; + --color-neutral-500: 113, 113, 122; + --color-neutral-600: 82, 82, 91; + --color-neutral-700: 63, 63, 70; + --color-neutral-800: 39, 39, 42; + --color-neutral-900: 24, 24, 27; + --color-neutral-950: 3, 7, 18; + /* Violet */ + --color-primary-50: 245, 243, 255; + --color-primary-100: 237, 233, 254; + --color-primary-200: 221, 214, 254; + --color-primary-300: 196, 181, 253; + --color-primary-400: 167, 139, 250; + --color-primary-500: 139, 92, 246; + --color-primary-600: 124, 58, 237; + --color-primary-700: 109, 40, 217; + --color-primary-800: 91, 33, 182; + --color-primary-900: 76, 29, 149; + --color-primary-950: 46, 16, 101; + /* Fuchsia */ + --color-secondary-50: 253, 244, 255; + --color-secondary-100: 250, 232, 255; + --color-secondary-200: 245, 208, 254; + --color-secondary-300: 240, 171, 252; + --color-secondary-400: 232, 121, 249; + --color-secondary-500: 217, 70, 239; + --color-secondary-600: 192, 38, 211; + --color-secondary-700: 162, 28, 175; + --color-secondary-800: 134, 25, 143; + --color-secondary-900: 112, 26, 117; + --color-secondary-950: 74, 4, 78; +} diff --git a/assets/css/schemes/fire.css b/assets/css/schemes/fire.css new file mode 100644 index 0000000..01efdb9 --- /dev/null +++ b/assets/css/schemes/fire.css @@ -0,0 +1,40 @@ +/* Fire scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Stone */ + --color-neutral-50: 250, 250, 249; + --color-neutral-100: 245, 245, 244; + --color-neutral-200: 231, 229, 228; + --color-neutral-300: 214, 211, 209; + --color-neutral-400: 168, 162, 158; + --color-neutral-500: 120, 113, 108; + --color-neutral-600: 87, 83, 78; + --color-neutral-700: 68, 64, 60; + --color-neutral-800: 41, 37, 36; + --color-neutral-900: 28, 25, 23; + --color-neutral-950: 12, 10, 9; + /* Orange */ + --color-primary-50: 255, 247, 237; + --color-primary-100: 255, 237, 213; + --color-primary-200: 254, 215, 170; + --color-primary-300: 253, 186, 116; + --color-primary-400: 251, 146, 60; + --color-primary-500: 249, 115, 22; + --color-primary-600: 234, 88, 12; + --color-primary-700: 194, 65, 12; + --color-primary-800: 154, 52, 18; + --color-primary-900: 124, 45, 18; + --color-primary-950: 69, 10, 10; + /* Rose */ + --color-secondary-50: 255, 241, 242; + --color-secondary-100: 255, 228, 230; + --color-secondary-200: 254, 205, 211; + --color-secondary-300: 253, 164, 175; + --color-secondary-400: 251, 113, 133; + --color-secondary-500: 244, 63, 94; + --color-secondary-600: 225, 29, 72; + --color-secondary-700: 190, 18, 60; + --color-secondary-800: 159, 18, 57; + --color-secondary-900: 136, 19, 55; + --color-secondary-950: 76, 5, 25; +} diff --git a/assets/css/schemes/ocean.css b/assets/css/schemes/ocean.css new file mode 100644 index 0000000..32e8138 --- /dev/null +++ b/assets/css/schemes/ocean.css @@ -0,0 +1,40 @@ +/* Ocean scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Slate */ + --color-neutral-50: 248, 250, 252; + --color-neutral-100: 241, 245, 249; + --color-neutral-200: 226, 232, 240; + --color-neutral-300: 203, 213, 225; + --color-neutral-400: 148, 163, 184; + --color-neutral-500: 100, 116, 139; + --color-neutral-600: 71, 85, 105; + --color-neutral-700: 51, 65, 85; + --color-neutral-800: 30, 41, 59; + --color-neutral-900: 15, 23, 42; + --color-neutral-950: 2, 6, 23; + /* Blue */ + --color-primary-50: 239, 246, 255; + --color-primary-100: 219, 234, 254; + --color-primary-200: 191, 219, 254; + --color-primary-300: 147, 197, 253; + --color-primary-400: 96, 165, 250; + --color-primary-500: 59, 130, 246; + --color-primary-600: 37, 99, 235; + --color-primary-700: 29, 78, 216; + --color-primary-800: 30, 64, 175; + --color-primary-900: 30, 58, 138; + --color-primary-950: 23, 37, 8; + /* Cyan */ + --color-secondary-50: 236, 254, 255; + --color-secondary-100: 207, 250, 254; + --color-secondary-200: 165, 243, 252; + --color-secondary-300: 103, 232, 249; + --color-secondary-400: 34, 211, 238; + --color-secondary-500: 6, 182, 212; + --color-secondary-600: 8, 145, 178; + --color-secondary-700: 14, 116, 144; + --color-secondary-800: 21, 94, 117; + --color-secondary-900: 22, 78, 99; + --color-secondary-950: 8, 51, 69; +} diff --git a/assets/css/schemes/sapphire.css b/assets/css/schemes/sapphire.css new file mode 100644 index 0000000..94632b1 --- /dev/null +++ b/assets/css/schemes/sapphire.css @@ -0,0 +1,40 @@ +/* Sapphire scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Slate */ + --color-neutral-50: 248, 250, 252; + --color-neutral-100: 241, 245, 249; + --color-neutral-200: 226, 232, 240; + --color-neutral-300: 203, 213, 225; + --color-neutral-400: 148, 163, 184; + --color-neutral-500: 100, 116, 139; + --color-neutral-600: 71, 85, 105; + --color-neutral-700: 51, 65, 85; + --color-neutral-800: 30, 41, 59; + --color-neutral-900: 15, 23, 42; + --color-neutral-950: 10, 10, 10; + /* Indigo */ + --color-primary-50: 238, 242, 255; + --color-primary-100: 224, 231, 255; + --color-primary-200: 199, 210, 254; + --color-primary-300: 165, 180, 252; + --color-primary-400: 129, 140, 248; + --color-primary-500: 99, 102, 241; + --color-primary-600: 79, 70, 229; + --color-primary-700: 67, 56, 202; + --color-primary-800: 55, 48, 163; + --color-primary-900: 49, 46, 129; + --color-primary-950: 30, 27, 75; + /* Pink */ + --color-secondary-50: 253, 242, 248; + --color-secondary-100: 252, 231, 243; + --color-secondary-200: 251, 207, 232; + --color-secondary-300: 249, 168, 212; + --color-secondary-400: 244, 114, 182; + --color-secondary-500: 236, 72, 153; + --color-secondary-600: 219, 39, 119; + --color-secondary-700: 190, 24, 93; + --color-secondary-800: 157, 23, 77; + --color-secondary-900: 131, 24, 67; + --color-secondary-950: 80, 7, 36; +} diff --git a/assets/css/schemes/slate.css b/assets/css/schemes/slate.css new file mode 100644 index 0000000..4f73ee7 --- /dev/null +++ b/assets/css/schemes/slate.css @@ -0,0 +1,40 @@ +/* Slate scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 249, 250, 251; + --color-neutral-100: 243, 244, 246; + --color-neutral-200: 229, 231, 235; + --color-neutral-300: 209, 213, 219; + --color-neutral-400: 156, 163, 175; + --color-neutral-500: 107, 114, 128; + --color-neutral-600: 75, 85, 99; + --color-neutral-700: 55, 65, 81; + --color-neutral-800: 31, 41, 55; + --color-neutral-900: 17, 24, 39; + --color-neutral-950: 17, 24, 39; + /* Slate */ + --color-primary-50: 248, 250, 252; + --color-primary-100: 241, 245, 249; + --color-primary-200: 226, 232, 240; + --color-primary-300: 203, 213, 225; + --color-primary-400: 148, 163, 184; + --color-primary-500: 100, 116, 139; + --color-primary-600: 71, 85, 105; + --color-primary-700: 51, 65, 85; + --color-primary-800: 30, 41, 59; + --color-primary-900: 15, 23, 42; + --color-primary-950: 2, 6, 23; + /* Gray */ + --color-secondary-50: 249, 250, 251; + --color-secondary-100: 243, 244, 246; + --color-secondary-200: 229, 231, 235; + --color-secondary-300: 209, 213, 219; + --color-secondary-400: 156, 163, 175; + --color-secondary-500: 107, 114, 128; + --color-secondary-600: 75, 85, 99; + --color-secondary-700: 55, 65, 81; + --color-secondary-800: 31, 41, 55; + --color-secondary-900: 17, 24, 39; + --color-secondary-950: 10, 10, 10; +} diff --git a/assets/icons/amazon.svg b/assets/icons/amazon.svg new file mode 100644 index 0000000..32047db --- /dev/null +++ b/assets/icons/amazon.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/apple.svg b/assets/icons/apple.svg new file mode 100644 index 0000000..d1c2233 --- /dev/null +++ b/assets/icons/apple.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/bars.svg b/assets/icons/bars.svg new file mode 100644 index 0000000..6e5941d --- /dev/null +++ b/assets/icons/bars.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/blogger.svg b/assets/icons/blogger.svg new file mode 100644 index 0000000..194dd9b --- /dev/null +++ b/assets/icons/blogger.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/bluesky.svg b/assets/icons/bluesky.svg new file mode 100644 index 0000000..07bbec0 --- /dev/null +++ b/assets/icons/bluesky.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/bug.svg b/assets/icons/bug.svg new file mode 100644 index 0000000..97cae6e --- /dev/null +++ b/assets/icons/bug.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/check.svg b/assets/icons/check.svg new file mode 100644 index 0000000..a6938bd --- /dev/null +++ b/assets/icons/check.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/chevron-down.svg b/assets/icons/chevron-down.svg new file mode 100644 index 0000000..fc640bd --- /dev/null +++ b/assets/icons/chevron-down.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/chevron-up.svg b/assets/icons/chevron-up.svg new file mode 100644 index 0000000..a2b79a2 --- /dev/null +++ b/assets/icons/chevron-up.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/circle-info.svg b/assets/icons/circle-info.svg new file mode 100644 index 0000000..bd32225 --- /dev/null +++ b/assets/icons/circle-info.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/codepen.svg b/assets/icons/codepen.svg new file mode 100644 index 0000000..52ec58a --- /dev/null +++ b/assets/icons/codepen.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/coffee.svg b/assets/icons/coffee.svg new file mode 100644 index 0000000..a8e1f67 --- /dev/null +++ b/assets/icons/coffee.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/comment.svg b/assets/icons/comment.svg new file mode 100644 index 0000000..2305041 --- /dev/null +++ b/assets/icons/comment.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/dev.svg b/assets/icons/dev.svg new file mode 100644 index 0000000..7311e84 --- /dev/null +++ b/assets/icons/dev.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/discord.svg b/assets/icons/discord.svg new file mode 100644 index 0000000..75f1fc7 --- /dev/null +++ b/assets/icons/discord.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/dribbble.svg b/assets/icons/dribbble.svg new file mode 100644 index 0000000..c2613fe --- /dev/null +++ b/assets/icons/dribbble.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/edit.svg b/assets/icons/edit.svg new file mode 100644 index 0000000..82a6035 --- /dev/null +++ b/assets/icons/edit.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/email.svg b/assets/icons/email.svg new file mode 100644 index 0000000..fa215c6 --- /dev/null +++ b/assets/icons/email.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/facebook.svg b/assets/icons/facebook.svg new file mode 100644 index 0000000..1535831 --- /dev/null +++ b/assets/icons/facebook.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/flickr.svg b/assets/icons/flickr.svg new file mode 100644 index 0000000..fcd57c4 --- /dev/null +++ b/assets/icons/flickr.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/foursquare.svg b/assets/icons/foursquare.svg new file mode 100644 index 0000000..74c28e6 --- /dev/null +++ b/assets/icons/foursquare.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/github.svg b/assets/icons/github.svg new file mode 100644 index 0000000..ed8c470 --- /dev/null +++ b/assets/icons/github.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/gitlab.svg b/assets/icons/gitlab.svg new file mode 100644 index 0000000..998e306 --- /dev/null +++ b/assets/icons/gitlab.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/globe.svg b/assets/icons/globe.svg new file mode 100644 index 0000000..6304e06 --- /dev/null +++ b/assets/icons/globe.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/google-scholar.svg b/assets/icons/google-scholar.svg new file mode 100644 index 0000000..1862f54 --- /dev/null +++ b/assets/icons/google-scholar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/google.svg b/assets/icons/google.svg new file mode 100644 index 0000000..7e10132 --- /dev/null +++ b/assets/icons/google.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/hashnode.svg b/assets/icons/hashnode.svg new file mode 100644 index 0000000..6ebe2db --- /dev/null +++ b/assets/icons/hashnode.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/instagram.svg b/assets/icons/instagram.svg new file mode 100644 index 0000000..3cd3d33 --- /dev/null +++ b/assets/icons/instagram.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/keybase.svg b/assets/icons/keybase.svg new file mode 100644 index 0000000..998110e --- /dev/null +++ b/assets/icons/keybase.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/kickstarter.svg b/assets/icons/kickstarter.svg new file mode 100644 index 0000000..4496981 --- /dev/null +++ b/assets/icons/kickstarter.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/lastfm.svg b/assets/icons/lastfm.svg new file mode 100644 index 0000000..2b53341 --- /dev/null +++ b/assets/icons/lastfm.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/lightbulb.svg b/assets/icons/lightbulb.svg new file mode 100644 index 0000000..5ffc710 --- /dev/null +++ b/assets/icons/lightbulb.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/line.svg b/assets/icons/line.svg new file mode 100644 index 0000000..b066929 --- /dev/null +++ b/assets/icons/line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/link.svg b/assets/icons/link.svg new file mode 100644 index 0000000..eb283c2 --- /dev/null +++ b/assets/icons/link.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/linkedin.svg b/assets/icons/linkedin.svg new file mode 100644 index 0000000..4e3948b --- /dev/null +++ b/assets/icons/linkedin.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/list.svg b/assets/icons/list.svg new file mode 100644 index 0000000..f7a7df4 --- /dev/null +++ b/assets/icons/list.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/mastodon.svg b/assets/icons/mastodon.svg new file mode 100644 index 0000000..2c9db56 --- /dev/null +++ b/assets/icons/mastodon.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/medium.svg b/assets/icons/medium.svg new file mode 100644 index 0000000..07d095d --- /dev/null +++ b/assets/icons/medium.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/mendeley.svg b/assets/icons/mendeley.svg new file mode 100644 index 0000000..dbd2ed8 --- /dev/null +++ b/assets/icons/mendeley.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/microsoft.svg b/assets/icons/microsoft.svg new file mode 100644 index 0000000..1bdb0c2 --- /dev/null +++ b/assets/icons/microsoft.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/mobile.svg b/assets/icons/mobile.svg new file mode 100644 index 0000000..2b9a046 --- /dev/null +++ b/assets/icons/mobile.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/moon.svg b/assets/icons/moon.svg new file mode 100644 index 0000000..8356307 --- /dev/null +++ b/assets/icons/moon.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/orcid.svg b/assets/icons/orcid.svg new file mode 100644 index 0000000..b7f1b25 --- /dev/null +++ b/assets/icons/orcid.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/patreon.svg b/assets/icons/patreon.svg new file mode 100644 index 0000000..bd2e994 --- /dev/null +++ b/assets/icons/patreon.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/pencil.svg b/assets/icons/pencil.svg new file mode 100644 index 0000000..29bd525 --- /dev/null +++ b/assets/icons/pencil.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/phone.svg b/assets/icons/phone.svg new file mode 100644 index 0000000..6760340 --- /dev/null +++ b/assets/icons/phone.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/pinterest.svg b/assets/icons/pinterest.svg new file mode 100644 index 0000000..386481c --- /dev/null +++ b/assets/icons/pinterest.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/reddit.svg b/assets/icons/reddit.svg new file mode 100644 index 0000000..bb55eb5 --- /dev/null +++ b/assets/icons/reddit.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/researchgate.svg b/assets/icons/researchgate.svg new file mode 100644 index 0000000..ad176db --- /dev/null +++ b/assets/icons/researchgate.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/search.svg b/assets/icons/search.svg new file mode 100644 index 0000000..15fe892 --- /dev/null +++ b/assets/icons/search.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/skull-crossbones.svg b/assets/icons/skull-crossbones.svg new file mode 100644 index 0000000..4e19f6e --- /dev/null +++ b/assets/icons/skull-crossbones.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/slack.svg b/assets/icons/slack.svg new file mode 100644 index 0000000..69909d8 --- /dev/null +++ b/assets/icons/slack.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/snapchat.svg b/assets/icons/snapchat.svg new file mode 100644 index 0000000..b6efeef --- /dev/null +++ b/assets/icons/snapchat.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/soundcloud.svg b/assets/icons/soundcloud.svg new file mode 100644 index 0000000..301c3d1 --- /dev/null +++ b/assets/icons/soundcloud.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/stack-overflow.svg b/assets/icons/stack-overflow.svg new file mode 100644 index 0000000..bba4159 --- /dev/null +++ b/assets/icons/stack-overflow.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/steam.svg b/assets/icons/steam.svg new file mode 100644 index 0000000..6efd1fd --- /dev/null +++ b/assets/icons/steam.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/sun.svg b/assets/icons/sun.svg new file mode 100644 index 0000000..34a57ec --- /dev/null +++ b/assets/icons/sun.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/tag.svg b/assets/icons/tag.svg new file mode 100644 index 0000000..c78e65b --- /dev/null +++ b/assets/icons/tag.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/telegram.svg b/assets/icons/telegram.svg new file mode 100644 index 0000000..4101aef --- /dev/null +++ b/assets/icons/telegram.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/threads.svg b/assets/icons/threads.svg new file mode 100644 index 0000000..aa27c5f --- /dev/null +++ b/assets/icons/threads.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/tiktok.svg b/assets/icons/tiktok.svg new file mode 100644 index 0000000..792a850 --- /dev/null +++ b/assets/icons/tiktok.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/translate.svg b/assets/icons/translate.svg new file mode 100644 index 0000000..eae60ff --- /dev/null +++ b/assets/icons/translate.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/triangle-exclamation.svg b/assets/icons/triangle-exclamation.svg new file mode 100644 index 0000000..f501ce9 --- /dev/null +++ b/assets/icons/triangle-exclamation.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/tumblr.svg b/assets/icons/tumblr.svg new file mode 100644 index 0000000..1457d68 --- /dev/null +++ b/assets/icons/tumblr.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/twitch.svg b/assets/icons/twitch.svg new file mode 100644 index 0000000..a35fa55 --- /dev/null +++ b/assets/icons/twitch.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/twitter.svg b/assets/icons/twitter.svg new file mode 100644 index 0000000..3ab4c1c --- /dev/null +++ b/assets/icons/twitter.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/weibo.svg b/assets/icons/weibo.svg new file mode 100644 index 0000000..aa29562 --- /dev/null +++ b/assets/icons/weibo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/whatsapp.svg b/assets/icons/whatsapp.svg new file mode 100644 index 0000000..c1df966 --- /dev/null +++ b/assets/icons/whatsapp.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/x-twitter.svg b/assets/icons/x-twitter.svg new file mode 100644 index 0000000..717ef6f --- /dev/null +++ b/assets/icons/x-twitter.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/xmark.svg b/assets/icons/xmark.svg new file mode 100644 index 0000000..a4c5121 --- /dev/null +++ b/assets/icons/xmark.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/youtube.svg b/assets/icons/youtube.svg new file mode 100644 index 0000000..3fa4dad --- /dev/null +++ b/assets/icons/youtube.svg @@ -0,0 +1 @@ + diff --git a/assets/img/author.jpg b/assets/img/author.jpg new file mode 100644 index 0000000..353afb1 Binary files /dev/null and b/assets/img/author.jpg differ diff --git a/assets/js/appearance.js b/assets/js/appearance.js new file mode 100644 index 0000000..32cd39c --- /dev/null +++ b/assets/js/appearance.js @@ -0,0 +1,58 @@ +const sitePreference = document.documentElement.getAttribute("data-default-appearance"); +const userPreference = localStorage.getItem("appearance"); + +function getCSSValue(varName) { + var cssValue = window.getComputedStyle(document.documentElement).getPropertyValue(varName); + return "rgb(" + cssValue.replace(/\s+/g, "") + ")"; +} + +function setThemeColor() { + var metaThemeColor = document.querySelector("meta[name=theme-color]"); + document.documentElement.classList.contains("dark") + ? metaThemeColor.setAttribute("content", getCSSValue("--color-neutral-800")) + : metaThemeColor.setAttribute("content", getCSSValue("--color-neutral")); + return true; +} + +if ((sitePreference === "dark" && userPreference === null) || userPreference === "dark") { + document.documentElement.classList.add("dark"); + setThemeColor(); +} + +if (document.documentElement.getAttribute("data-auto-appearance") === "true") { + if ( + window.matchMedia && + window.matchMedia("(prefers-color-scheme: dark)").matches && + userPreference !== "light" + ) { + document.documentElement.classList.add("dark"); + setThemeColor(); + } + window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", (event) => { + if (event.matches) { + document.documentElement.classList.add("dark"); + } else { + document.documentElement.classList.remove("dark"); + } + setThemeColor(); + }); +} + +window.addEventListener("DOMContentLoaded", (event) => { + setThemeColor(); + var switchers = document.querySelectorAll("[id^='appearance-switcher']"); + switchers.forEach((switcher) => { + switcher.addEventListener("click", () => { + document.documentElement.classList.toggle("dark"); + setThemeColor(); + localStorage.setItem( + "appearance", + document.documentElement.classList.contains("dark") ? "dark" : "light" + ); + }); + switcher.addEventListener("contextmenu", (event) => { + event.preventDefault(); + localStorage.removeItem("appearance"); + }); + }); +}); diff --git a/assets/js/chart.js b/assets/js/chart.js new file mode 100644 index 0000000..352a563 --- /dev/null +++ b/assets/js/chart.js @@ -0,0 +1,14 @@ +function css(name) { + return "rgb(" + getComputedStyle(document.documentElement).getPropertyValue(name) + ")"; +} + +Chart.defaults.font.size = 14; +Chart.defaults.plugins.colors.enabled = false; +Chart.defaults.backgroundColor = css("--color-primary-300"); +Chart.defaults.elements.point.borderColor = css("--color-primary-400"); +Chart.defaults.elements.bar.borderColor = css("--color-primary-500"); +Chart.defaults.elements.bar.borderWidth = 1; +Chart.defaults.elements.line.borderColor = css("--color-primary-400"); +Chart.defaults.elements.arc.backgroundColor = css("--color-primary-200"); +Chart.defaults.elements.arc.borderColor = css("--color-primary-500"); +Chart.defaults.elements.arc.borderWidth = 1; diff --git a/assets/js/code.js b/assets/js/code.js new file mode 100644 index 0000000..a41fb8b --- /dev/null +++ b/assets/js/code.js @@ -0,0 +1,66 @@ +var scriptBundle = document.getElementById("script-bundle"); +var copyText = scriptBundle ? scriptBundle.getAttribute("data-copy") : "Copy"; +var copiedText = scriptBundle ? scriptBundle.getAttribute("data-copied") : "Copied"; + +function createCopyButton(highlightDiv) { + const button = document.createElement("button"); + button.className = "copy-button"; + button.type = "button"; + button.ariaLabel = copyText; + button.innerText = copyText; + button.addEventListener("click", () => copyCodeToClipboard(button, highlightDiv)); + addCopyButtonToDom(button, highlightDiv); +} + +async function copyCodeToClipboard(button, highlightDiv) { + const codeToCopy = highlightDiv.querySelector(":last-child > .chroma > code").innerText; + try { + result = await navigator.permissions.query({ name: "clipboard-write" }); + if (result.state == "granted" || result.state == "prompt") { + await navigator.clipboard.writeText(codeToCopy); + } else { + copyCodeBlockExecCommand(codeToCopy, highlightDiv); + } + } catch (_) { + copyCodeBlockExecCommand(codeToCopy, highlightDiv); + } finally { + codeWasCopied(button); + } +} + +function copyCodeBlockExecCommand(codeToCopy, highlightDiv) { + const textArea = document.createElement("textArea"); + textArea.contentEditable = "true"; + textArea.readOnly = "false"; + textArea.className = "copy-textarea"; + textArea.value = codeToCopy; + highlightDiv.insertBefore(textArea, highlightDiv.firstChild); + const range = document.createRange(); + range.selectNodeContents(textArea); + const sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); + textArea.setSelectionRange(0, 999999); + document.execCommand("copy"); + highlightDiv.removeChild(textArea); +} + +function codeWasCopied(button) { + button.blur(); + button.innerText = copiedText; + setTimeout(function () { + button.innerText = copyText; + }, 2000); +} + +function addCopyButtonToDom(button, highlightDiv) { + highlightDiv.insertBefore(button, highlightDiv.firstChild); + const wrapper = document.createElement("div"); + wrapper.className = "highlight-wrapper"; + highlightDiv.parentNode.insertBefore(wrapper, highlightDiv); + wrapper.appendChild(highlightDiv); +} + +window.addEventListener("DOMContentLoaded", (event) => { + document.querySelectorAll(".highlight").forEach((highlightDiv) => createCopyButton(highlightDiv)); +}); diff --git a/assets/js/menu.js b/assets/js/menu.js new file mode 100644 index 0000000..4d674e2 --- /dev/null +++ b/assets/js/menu.js @@ -0,0 +1,6 @@ +/* + Closes the hamburger menu when a link is clicked. +*/ +function close_menu() { + document.getElementById("menu-controller").checked = false; +} diff --git a/assets/js/mermaid.js b/assets/js/mermaid.js new file mode 100644 index 0000000..9704c86 --- /dev/null +++ b/assets/js/mermaid.js @@ -0,0 +1,30 @@ +function css(name) { + return "rgb(" + getComputedStyle(document.documentElement).getPropertyValue(name) + ")"; +} + +let isDark = document.documentElement.classList.contains("dark"); + +mermaid.initialize({ + theme: "base", + themeVariables: { + background: css("--color-neutral"), + primaryTextColor: isDark ? css("--color-neutral-200") : css("--color-neutral-700"), + primaryColor: isDark ? css("--color-primary-700") : css("--color-primary-200"), + secondaryColor: isDark ? css("--color-secondary-700") : css("--color-secondary-200"), + tertiaryColor: isDark ? css("--color-neutral-700") : css("--color-neutral-100"), + primaryBorderColor: isDark ? css("--color-primary-500") : css("--color-primary-400"), + secondaryBorderColor: css("--color-secondary-400"), + tertiaryBorderColor: isDark ? css("--color-neutral-300") : css("--color-neutral-400"), + lineColor: isDark ? css("--color-neutral-300") : css("--color-neutral-600"), + fontFamily: + "ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif", + fontSize: "16px", + pieTitleTextSize: "19px", + pieSectionTextSize: "16px", + pieLegendTextSize: "16px", + pieStrokeWidth: "1px", + pieOuterStrokeWidth: "0.5px", + pieStrokeColor: isDark ? css("--color-neutral-300") : css("--color-neutral-400"), + pieOpacity: "1", + }, +}); diff --git a/assets/js/quicklink.js b/assets/js/quicklink.js new file mode 100644 index 0000000..014d4ce --- /dev/null +++ b/assets/js/quicklink.js @@ -0,0 +1,3 @@ +window.addEventListener("load", () => { + quicklink.listen(); +}); diff --git a/assets/js/rtl.js b/assets/js/rtl.js new file mode 100644 index 0000000..26852d4 --- /dev/null +++ b/assets/js/rtl.js @@ -0,0 +1,3 @@ +window.addEventListener("DOMContentLoaded", (event) => { + document.querySelectorAll("pre, .highlight-wrapper").forEach((tag) => (tag.dir = "auto")); +}); diff --git a/assets/js/search.js b/assets/js/search.js new file mode 100644 index 0000000..5add498 --- /dev/null +++ b/assets/js/search.js @@ -0,0 +1,161 @@ +var fuse; +var showButtons = document.querySelectorAll("[id^='search-button']"); +var hideButton = document.getElementById("close-search-button"); +var wrapper = document.getElementById("search-wrapper"); +var modal = document.getElementById("search-modal"); +var input = document.getElementById("search-query"); +var output = document.getElementById("search-results"); +var first = output.firstChild; +var last = output.lastChild; +var searchVisible = false; +var indexed = false; +var hasResults = false; + +// Listen for events +showButtons.forEach((button) => { + button.addEventListener("click", displaySearch); +}); +hideButton.addEventListener("click", hideSearch); +wrapper.addEventListener("click", hideSearch); +modal.addEventListener("click", function (event) { + event.stopPropagation(); + event.stopImmediatePropagation(); + return false; +}); +document.addEventListener("keydown", function (event) { + // Forward slash to open search wrapper + if (event.key == "/") { + if (!searchVisible) { + event.preventDefault(); + displaySearch(); + } + } + + // Esc to close search wrapper + if (event.key == "Escape") { + hideSearch(); + } + + // Down arrow to move down results list + if (event.key == "ArrowDown") { + if (searchVisible && hasResults) { + event.preventDefault(); + if (document.activeElement == input) { + first.focus(); + } else if (document.activeElement == last) { + last.focus(); + } else { + document.activeElement.parentElement.nextSibling.firstElementChild.focus(); + } + } + } + + // Up arrow to move up results list + if (event.key == "ArrowUp") { + if (searchVisible && hasResults) { + event.preventDefault(); + if (document.activeElement == input) { + input.focus(); + } else if (document.activeElement == first) { + input.focus(); + } else { + document.activeElement.parentElement.previousSibling.firstElementChild.focus(); + } + } + } +}); + +// Update search on each keypress +input.onkeyup = function (event) { + executeQuery(this.value); +}; + +function displaySearch() { + if (!indexed) { + buildIndex(); + } + if (!searchVisible) { + document.body.style.overflow = "hidden"; + wrapper.style.visibility = "visible"; + input.focus(); + searchVisible = true; + } +} + +function hideSearch() { + if (searchVisible) { + document.body.style.overflow = "visible"; + wrapper.style.visibility = "hidden"; + input.value = ""; + output.innerHTML = ""; + document.activeElement.blur(); + searchVisible = false; + } +} + +function fetchJSON(path, callback) { + var httpRequest = new XMLHttpRequest(); + httpRequest.onreadystatechange = function () { + if (httpRequest.readyState === 4) { + if (httpRequest.status === 200) { + var data = JSON.parse(httpRequest.responseText); + if (callback) callback(data); + } + } + }; + httpRequest.open("GET", path); + httpRequest.send(); +} + +function buildIndex() { + var baseURL = wrapper.getAttribute("data-url"); + baseURL = baseURL.replace(/\/?$/, "/"); + fetchJSON(baseURL + "index.json", function (data) { + var options = { + shouldSort: true, + ignoreLocation: true, + threshold: 0.0, + includeMatches: true, + keys: [ + { name: "title", weight: 0.8 }, + { name: "section", weight: 0.2 }, + { name: "summary", weight: 0.6 }, + { name: "content", weight: 0.4 }, + ], + }; + fuse = new Fuse(data, options); + indexed = true; + }); +} + +function executeQuery(term) { + let results = fuse.search(term); + let resultsHTML = ""; + + if (results.length > 0) { + // prettier-ignore + resultsHTML = results.map(function (value, key) { + return `
  • + +
    +
    ${value.item.title}
    +
    ${value.item.section}${value.item.date == null ? '' : `·${value.item.date}`}
    +
    ${value.item.summary}
    +
    +
    +
    +
    +
  • `; + }).join(""); + hasResults = true; + } else { + resultsHTML = ""; + hasResults = false; + } + + output.innerHTML = resultsHTML; + if (results.length > 0) { + first = output.firstChild.firstElementChild; + last = output.lastChild.firstElementChild; + } +} diff --git a/assets/lib/chart/chart.umd.js b/assets/lib/chart/chart.umd.js new file mode 100644 index 0000000..1fe0ae4 --- /dev/null +++ b/assets/lib/chart/chart.umd.js @@ -0,0 +1,14 @@ +/*! + * Chart.js v4.4.2 + * https://www.chartjs.org + * (c) 2024 Chart.js Contributors + * Released under the MIT License + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Go},get Decimation(){return Qo},get Filler(){return ma},get Legend(){return ya},get SubTitle(){return ka},get Title(){return Ma},get Tooltip(){return Ba}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;at,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)t-e)).pop(),e}function N(t){return!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;sl&&h=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return nt[s][e]et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;ss&&t[n-1]>i;)n--;return s>0||n{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:a,_parsed:r}=t,l=a.axis,{min:h,max:c,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=J(Math.min(it(r,l,h).lo,i?s:it(e,l,a.getPixelForValue(h)).lo),0,s-1)),o=u?J(Math.max(it(r,a.axis,c,!0).hi+1,i?0:it(e,l,a.getPixelForValue(c),!0).hi+1),n,s)-n:s-n}return{start:n,count:o}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class bt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var xt=new bt; +/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Zt{constructor(t){if(t instanceof Zt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Zt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Jt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Jt(t)?t:new Zt(t)}function te(t){return Jt(t)?t:new Zt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;et.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function be(t,e){return me(t).getPropertyValue(e)}const xe=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=xe[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=be(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;hi.length){for(h=0;h0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.xe.top-i&&t.y0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;ct[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Je(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Je(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Je(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Ze(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Je(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Ze(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;re"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const bi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,xi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(bi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(xi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;oi&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:Z,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;hx||l(n,b,p)&&0!==r(n,b),v=()=>!x||0===r(o,p)||l(o,b,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==b&&(x=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,b=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;nn&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r{t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Xi={evaluateInteractionItems:Hi,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?ji(t,n,o,s,a):Yi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?ji(t,n,o,s,a):Yi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;tji(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Yi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>Ui(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>Ui(t,ve(e,t),"y",i.intersect,s)}};const qi=["left","top","right","bottom"];function Ki(t,e){return t.filter((t=>t.pos===e))}function Gi(t,e){return t.filter((t=>-1===qi.indexOf(t.pos)&&t.box.axis===e))}function Zi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function Ji(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!qi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function ss(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;ot.box.fullSize)),!0),s=Zi(Ki(e,"left"),!0),n=Zi(Ki(e,"right")),o=Zi(Ki(e,"top"),!0),a=Zi(Ki(e,"bottom")),r=Gi(e,"x"),l=Gi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ki(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);ts(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=Ji(l.concat(h),d);ss(r.fullSize,g,d,p),ss(l,g,d,p),ss(h,g,d,p)&&ss(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),os(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,os(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class rs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class ls extends rs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const hs="$chartjs",cs={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ds=t=>null===t||""===t;const us=!!Se&&{passive:!0};function fs(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,us)}function gs(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function ps(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||gs(i.addedNodes,s),e=e&&!gs(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function ms(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||gs(i.removedNodes,s),e=e&&!gs(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const bs=new Map;let xs=0;function _s(){const t=window.devicePixelRatio;t!==xs&&(xs=t,bs.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function ys(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){bs.size||window.addEventListener("resize",_s),bs.set(t,e)}(t,o),a}function vs(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){bs.delete(t),bs.size||window.removeEventListener("resize",_s)}(t)}function Ms(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=cs[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,us)}(s,e,n),n}class ws extends rs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[hs]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",ds(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(ds(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[hs])return!1;const i=e[hs].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[hs],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:ps,detach:ms,resize:ys}[e]||Ms;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:vs,detach:vs,resize:vs}[e]||fs)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=ge(t);return!(!e||!e.isConnected)}}function ks(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?ls:ws}var Ss=Object.freeze({__proto__:null,BasePlatform:rs,BasicPlatform:ls,DomPlatform:ws,_detectPlatform:ks});const Ps="transparent",Ds={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Ps),n=s.valid&&Qt(e||Ps);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class Cs{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Ds[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new Cs(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(xt.add(this._chart,i),!0):void 0}}function As(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Ts(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n0||!i&&e<0)return n.index}return null}function zs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;ti[t].axis===e)).shift()}function Vs(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Bs=t=>"reset"===t||"none"===t,Ws=(t,e)=>e?t:Object.assign({},t);class Ns{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Es(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Vs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Fs(t,"x")),o=e.yAxisID=l(i.yAxisID,Fs(t,"y")),a=e.rAxisID=l(i.rAxisID,Fs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Vs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e))this._data=function(t){const e=Object.keys(t),i=new Array(e.length);let s,n,o;for(s=0,n=e.length;s0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]t&&!e.hidden&&e._stacked&&{keys:Ts(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s=0&&tthis.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Ws(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Os(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Bs(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Bs(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Bs(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function js(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;io)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;nn)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for($s(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t"top"===e||"left"===e?t[e]+i:t[e]-i,Us=(t,e)=>Math.min(e||t,t);function Xs(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;oa+r)))return h}function Ks(t){return t.drawTicks?t.tickLength:0}function Gs(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Zs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class Js extends Hs{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;rs?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=J(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Ks(t.grid)-e.padding-Gs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(J((h.highest.height+6)/o,-1,1)),Math.asin(J(a/r,-1,1))-Math.asin(J(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Gs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Ks(n)+o):(t.height=this.maxHeight,t.width=Ks(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*s?a/i:r/s:r*s0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Ks(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,b=function(t){return Ae(i,t,p)};let x,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)x=b(this.bottom),w=this.bottom-u,S=x-m,D=b(t.top)+m,O=t.bottom;else if("bottom"===a)x=b(this.top),D=t.top,O=b(t.bottom)-m,w=x+m,S=this.top+u;else if("left"===a)x=b(this.right),M=this.right-u,k=x-m,P=b(t.left)+m,C=t.right;else if("right"===a)x=b(this.left),P=t.left,C=b(t.right)-m,M=x+m,k=this.left+u;else if("x"===e){if("center"===a)x=b((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];x=b(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=x+m,S=w+u}else if("y"===e){if("center"===a)x=b((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];x=b(this.chart.scales[t].getPixelForValue(e))}M=x-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}b.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return b}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class tn{constructor(){this.controllers=new Qs(Ns,"datasets",!0),this.elements=new Qs(Hs,"elements"),this.plugins=new Qs(Object,"plugins"),this.scales=new Qs(Js,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function nn(t,e){return e||!1!==t?!0===t?{}:t:null}function on(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function an(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function rn(t){if("x"===t||"y"===t||"r"===t)return t}function ln(t,...e){if(rn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&rn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function hn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function cn(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=an(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=ln(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return hn(t,"x",i[0])||hn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=x(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||an(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),x(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];x(e,[ue.scales[e.type],ue.scale])})),a}function dn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=cn(t,e)}function un(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const fn=new Map,gn=new Set;function pn(t,e){let i=fn.get(t);return i||(i=e(),fn.set(t,i),gn.add(i)),i}const mn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class bn{constructor(t){this._config=function(t){return(t=t||{}).data=un(t.data),dn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=un(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),dn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return pn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return pn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return pn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return pn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>mn(r,t,e)))),e.forEach((t=>mn(r,s,t))),e.forEach((t=>mn(r,re[n]||{},t))),e.forEach((t=>mn(r,ue,t))),e.forEach((t=>mn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),gn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=xn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||_n(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=xn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function xn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const _n=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const yn=["top","bottom","left","right","chartArea"];function vn(t,e){return"top"===t||"bottom"===t||-1===yn.indexOf(t)&&"x"===e}function Mn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function wn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function kn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Sn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Pn={},Dn=t=>{const e=Sn(t);return Object.values(Pn).filter((t=>t.canvas===e)).pop()};function Cn(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}function On(t,e,i){return t.options.clip?t[i]:e[i]}class An{static defaults=ue;static instances=Pn;static overrides=re;static registry=en;static version="4.4.2";static getChart=Dn;static register(...t){en.add(...t),Tn()}static unregister(...t){en.remove(...t),Tn()}constructor(t,e){const s=this.config=new bn(e),n=Sn(t),o=Dn(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||ks(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new sn,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Pn[this.id]=this,r&&l?(xt.listen(this,"complete",wn),xt.listen(this,"progress",kn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return en}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return xt.stop(this),this}resize(t,e){xt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=ln(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=ln(o,n),r=l(n.type,e.dtype);void 0!==n.position&&vn(n.position,a)===vn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(en.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{as.configure(this,t,t.options),as.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Mn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{as.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){Cn(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;as.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=function(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:On(i,e,"left"),right:On(i,e,"right"),top:On(s,e,"top"),bottom:On(s,e,"bottom")}:e}(t,this.chartArea),o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&Ie(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&ze(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Xi.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),xt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Tn(){return u(An.instances,(t=>t._plugins.invalidate()))}function Ln(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class En{static override(t){Object.assign(En.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return Ln()}parse(){return Ln()}format(){return Ln()}add(){return Ln()}diff(){return Ln()}startOf(){return Ln()}endOf(){return Ln()}}var Rn={_date:En};function In(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;et-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;sMath.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Fn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;ht.x,i="left",s="right"):(e=t.base"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;nZ(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>Z(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),b=g(C,h,d),x=g(C+E,c,u);s=(p-b)/2,n=(m-x)/2,o=-(p+b)/2,a=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),b=(i.width-o)/f,x=(i.height-o)/g,_=Math.max(Math.min(b,x)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(se.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Yn=Object.freeze({__proto__:null,BarController:class extends Ns{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Fn(t,e,i,s)}parseArrayData(t,e,i,s){return Fn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;dt.controller.options.grouped)),o=i.options.stacked,a=[],r=t=>{const i=t.controller.getParsed(e),n=i&&i[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!r(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n=i?1:-1)}(u,e,r)*a,f===r&&(b-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);b=Math.max(Math.min(b,h),o),d=b+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(b))}if(b===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;b+=t,u-=t}return{size:u,base:b,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,l="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=b?g:{};if(i=x){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),b||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends jn{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:$n,RadarController:class extends Ns{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a0&&this.getParsed(e-1);for(let c=e;c0&&Math.abs(i[f]-_[f])>b,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),x||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Un(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return J(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:J(n.innerStart,0,a),innerEnd:J(n.innerEnd,0,a)}}function Xn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function qn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,b=n-p-f,{outerStart:x,outerEnd:_,innerStart:y,innerEnd:v}=Un(e,u,d,b-m),M=d-x,w=d-_,k=m+x/M,S=b-_/w,P=u+y,D=u+v,O=m+y/P,A=b-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=Xn(w,S,a,r);t.arc(e.x,e.y,_,S,b+E)}const i=Xn(D,b,a,r);if(t.lineTo(i.x,i.y),v>0){const e=Xn(D,A,a,r);t.arc(e.x,e.y,v,b+E,A+Math.PI)}const s=(b-v/u+(m+y/u))/2;if(t.arc(a,r,u,b-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=Xn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=Xn(M,m,a,r);if(t.lineTo(n.x,n.y),x>0){const e=Xn(M,k,a,r);t.arc(e.x,e.y,x,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Kn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u}=l,f="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,f?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let g=e.endAngle;if(o){qn(t,e,i,s,g,n);for(let e=0;en?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,g),o||(qn(t,e,i,s,g,n),t.stroke())}function Gn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Zn(t,e,i){t.lineTo(i.x,i.y)}function Jn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=nr&&o>r;return{count:s,start:l,loop:e.loop,ilen:h(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[x(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[x(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(ig&&(g=i),m=(b*m+e)/++b):(_(),t.lineTo(e,i),u=s,b=0,f=g=i),p=i}_()}function eo(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?to:Qn}const io="function"==typeof Path2D;function so(t,e,i,s){io&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Gn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=eo(e);for(const r of n)Gn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class no extends Hs{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a)>=O||Z(n,a,r),g=tt(o,h+u,c+u);return f&&g}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){qn(t,e,i,s,l,n);for(let e=0;e("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function po(t){const e=this.getLabels();return t>=0&&ts=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,b=!s(a),x=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!b&&!x)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),b&&x&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=b?a:M,w=x?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(b&&(u&&M!==a?(i.push({value:a}),Mr)break;i.push({value:t})}return x&&u&&w!==r?i.length&&V(i[i.length-1].value,r,mo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):x&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class xo extends bo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const _o=t=>Math.floor(z(t)),yo=(t,e)=>Math.pow(10,_o(t)+e);function vo(t){return 1===t/Math.pow(10,_o(t))}function Mo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function wo(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=_o(e);let o=function(t,e){let i=_o(e-t);for(;Mo(t,e,i)>10;)i++;for(;Mo(t,e,i)<10;)i--;return Math.min(i,_o(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:vo(g),significand:u}),s}class ko extends Js{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=bo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===yo(this.min,0)?yo(this.min,-1):yo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(yo(i,-1)),o(yo(s,1)))),i<=0&&n(yo(s,-1)),s<=0&&o(yo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=wo({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function So(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Po(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:tn?{start:e-i,end:e}:{start:e,end:e+i}}function Do(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;ue.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.starte.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Oo(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function Ao(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function To(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Lo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;ot,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(So(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/So(this.options))}generateTickLabels(t){bo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Do(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));To(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash),o.lineDashOffset=n.dashOffset,o.beginPath(),Lo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Ro={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Io=Object.keys(Ro);function zo(t,e){return t-e}function Fo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Vo(t,e,i,s){const n=Io.length;for(let o=Io.indexOf(t);o=e?i[s]:i[n]]=!0}}else t[e]=!0}function Wo(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a=0&&(e[l].major=!0);return e}(t,s,n,i):s}class No extends Js{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new Rn._date(t.adapters.date);s.init(e),x(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Fo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Vo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=Io.length-1;o>=Io.indexOf(i);o--){const i=Io[o];if(Ro[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return Io[i?Io.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=Io.indexOf(t)+1,i=Io.length;e+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=J(s,0,o),n=J(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Vo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var jo=Object.freeze({__proto__:null,CategoryScale:class extends Js{static id="category";static defaults={ticks:{callback:po}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:J(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:go(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return po.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:xo,LogarithmicScale:ko,RadialLinearScale:Eo,TimeScale:No,TimeSeriesScale:class extends No{static id="timeseries";static defaults=No.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ho(e,this.min),this._tableRange=Ho(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;ot-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(Ho(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return Ho(this._table,i*this._tableRange+this._minPos,!0)}}});const $o=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Yo=$o.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Uo(t){return $o[t%$o.length]}function Xo(t){return Yo[t%Yo.length]}function qo(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof jn?e=function(t,e){return t.backgroundColor=t.data.map((()=>Uo(e++))),e}(i,e):n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Uo(e),t.backgroundColor=Xo(e),++e}(i,e))}}function Ko(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Go={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n;if(!i.forceOverride&&(Ko(s)||(a=n)&&(a.borderColor||a.backgroundColor)||o&&Ko(o)))return;var a;const r=qo(t);s.forEach(r)}};function Zo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Jo(t){t.data.datasets.forEach((t=>{Zo(t)}))}var Qo={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Jo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=J(it(e,o.axis,a).lo,0,i-1)),s=h?J(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Zo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;cu&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const b=[],x=e+i-1,_=t[e].x,y=t[x].x-_;for(o=e;og&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&b.push({...t[e],x:p}),s!==u&&s!==i&&b.push({...t[s],x:p})}o>0&&i!==u&&b.push(t[i]),b.push(a),h=e,m=0,f=g=l,c=d=u=o}}return b}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Jo(t)}};function ta(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ea(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function ia(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function sa(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ea(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new no({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function na(t){return t&&!1!==t.fill}function oa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function aa(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function ra(t,e,i){const s=[];for(let n=0;n=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&da(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;na(i)&&da(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;na(s)&&"beforeDatasetDraw"===i.drawTime&&da(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const ba=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class xa extends Hs{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=ba(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=_a(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=ba(o,d),b=this.isHorizontal(),x=this._computeTitleHeight();f=b?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+x,line:0}:{x:this.left+c,y:ft(n,this.top+x+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),b?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+x+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,b?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),b)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=_a(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;it.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class va extends Hs{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var Ma={id:"title",_element:va,start(t,e,i){!function(t,e){const i=new va({ctx:t.ctx,options:e,chart:t});as.configure(t,i,e),as.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;as.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;as.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const wa=new WeakMap;var ka={id:"subtitle",start(t,e,i){const s=new va({ctx:t.ctx,options:i,chart:t});as.configure(t,s,i),as.addBox(t,s),wa.set(t,s)},stop(t){as.removeBox(t,wa.get(t)),wa.delete(t)},beforeUpdate(t,e,i){const s=wa.get(t);as.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Sa={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;et+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i-1?t.split("\n"):t}function Ca(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Oa(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,b=0,x=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(x+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),x){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(x-g)*l.lineHeight+(x-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){b=Math.max(b,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),b+=p.width,{width:b,height:m}}function Aa(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Ta(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return it.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||Aa(t,e,i,s),yAlign:s}}function La(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:J(g,0,s.width-e.width),y:J(p,0,s.height-e.height)}}function Ea(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function Ra(t){return Pa([],Da(t))}function Ia(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const za={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex{const e={before:[],lines:[],after:[]},n=Ia(i,t);Pa(e.before,Da(Fa(n,"beforeLabel",this,t))),Pa(e.lines,Fa(n,"label",this,t)),Pa(e.after,Da(Fa(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return Ra(Fa(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Fa(i,"beforeFooter",this,t),n=Fa(i,"footer",this,t),o=Fa(i,"afterFooter",this,t);let a=[];return a=Pa(a,Da(s)),a=Pa(a,Da(n)),a=Pa(a,Da(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;at.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=Ia(t.callbacks,e);s.push(Fa(i,"labelColor",this,e)),n.push(Fa(i,"labelPointStyle",this,e)),o.push(Fa(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Sa[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Oa(this,i),a=Object.assign({},t,e),r=Ta(this.chart,i,a),l=La(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,b,x,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,x=_+o,y=_-o):(p=d+f,m=p+o,x=_-o,y=_+o),b=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(x=u,_=x-o,p=m-o,b=m+o):(x=u+g,_=x+o,p=m+o,b=m-o),y=x),{x1:p,x2:m,x3:b,y1:x,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ea(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let b,x,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ea(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Sa[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Oa(this,t),a=Object.assign({},i,this._size),r=Ta(e,t,a),l=La(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Sa[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Ba={id:"tooltip",_element:Va,positioners:Sa,afterInit(t,e,i){i&&(t.tooltip=new Va({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:za},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return An.register(Yn,jo,fo,t),An.helpers={...Wi},An._adapters=Rn,An.Animation=Cs,An.Animations=Os,An.animator=xt,An.controllers=en.controllers.items,An.DatasetController=Ns,An.Element=Hs,An.elements=fo,An.Interaction=Xi,An.layouts=as,An.platforms=Ss,An.Scale=Js,An.Ticks=ae,Object.assign(An,Yn,jo,fo,t,Ss),An.Chart=An,"undefined"!=typeof window&&(window.Chart=An),An})); +//# sourceMappingURL=chart.umd.js.map diff --git a/assets/lib/fuse/fuse.min.js b/assets/lib/fuse/fuse.min.js new file mode 100644 index 0000000..1f534ad --- /dev/null +++ b/assets/lib/fuse/fuse.min.js @@ -0,0 +1,9 @@ +/** + * Fuse.js v7.0.0 - Lightweight fuzzy-search (http://fusejs.io) + * + * Copyright (c) 2023 Kiro Risk (http://kiro.me) + * All Rights Reserved. Apache Software License 2.0 + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ +var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,i=void 0===n?$.getFn:n,o=t.fieldNormWeight,c=void 0===o?$.fieldNormWeight:o;r(this,e),this.norm=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=new Map,r=Math.pow(10,t);return{get:function(t){var i=t.match(F).length;if(n.has(i))return n.get(i);var o=1/Math.pow(i,.5*e),c=parseFloat(Math.round(o*r)/r);return n.set(i,c),c},clear:function(){n.clear()}}}(c,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return o(e,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=t,this._keysMap={},t.forEach((function(t,n){e._keysMap[t.id]=n}))}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,m(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();m(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?$.getFn:r,o=n.fieldNormWeight,c=void 0===o?$.fieldNormWeight:o,a=new R({getFn:i,fieldNormWeight:c});return a.setKeys(e.map(A)),a.setSources(t),a.create(),a}function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.errors,r=void 0===n?0:n,i=t.currentLocation,o=void 0===i?0:i,c=t.expectedLocation,a=void 0===c?0:c,s=t.distance,u=void 0===s?$.distance:s,h=t.ignoreLocation,l=void 0===h?$.ignoreLocation:h,f=r/e.length;if(l)return f;var d=Math.abs(a-o);return u?f+d/u:d?1:f}var W=32;function T(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,o=void 0===i?$.location:i,c=r.distance,a=void 0===c?$.distance:c,s=r.threshold,u=void 0===s?$.threshold:s,h=r.findAllMatches,l=void 0===h?$.findAllMatches:h,f=r.minMatchCharLength,d=void 0===f?$.minMatchCharLength:f,v=r.includeMatches,g=void 0===v?$.includeMatches:v,y=r.ignoreLocation,p=void 0===y?$.ignoreLocation:y;if(t.length>W)throw new Error("Pattern length exceeds max of ".concat(W,"."));for(var m,k=t.length,M=e.length,b=Math.max(0,Math.min(o,M)),x=u,w=b,S=d>1||g,L=S?Array(M):[];(m=e.indexOf(t,w))>-1;){var _=N(t,{currentLocation:m,expectedLocation:b,distance:a,ignoreLocation:p});if(x=Math.min(_,x),w=m+k,S)for(var O=0;O=P;D-=1){var K=D-1,q=n[e.charAt(K)];if(S&&(L[K]=+!!q),z[D]=(z[D+1]<<1|1)&q,E&&(z[D]|=(j[D+1]|j[D])<<1|1|j[D+1]),z[D]&C&&(A=N(t,{errors:E,currentLocation:K,expectedLocation:b,distance:a,ignoreLocation:p}))<=x){if(x=A,(w=K)<=b)break;P=Math.max(1,2*b-w)}}if(N(t,{errors:E+1,currentLocation:b,expectedLocation:b,distance:a,ignoreLocation:p})>x)break;j=z}var B={isMatch:w>=0,score:Math.max(.001,A)};if(S){var J=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.minMatchCharLength,n=[],r=-1,i=-1,o=0,c=e.length;o=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}(L,d);J.length?g&&(B.indices=J):B.isMatch=!1}return B}function z(e){for(var t={},n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:{},o=i.location,c=void 0===o?$.location:o,a=i.threshold,s=void 0===a?$.threshold:a,u=i.distance,h=void 0===u?$.distance:u,l=i.includeMatches,f=void 0===l?$.includeMatches:l,d=i.findAllMatches,v=void 0===d?$.findAllMatches:d,g=i.minMatchCharLength,y=void 0===g?$.minMatchCharLength:g,p=i.isCaseSensitive,m=void 0===p?$.isCaseSensitive:p,k=i.ignoreLocation,M=void 0===k?$.ignoreLocation:k;if(r(this,e),this.options={location:c,threshold:s,distance:h,includeMatches:f,findAllMatches:v,minMatchCharLength:y,isCaseSensitive:m,ignoreLocation:M},this.pattern=m?t:t.toLowerCase(),this.chunks=[],this.pattern.length){var b=function(e,t){n.chunks.push({pattern:e,alphabet:z(e),startIndex:t})},x=this.pattern.length;if(x>W){for(var w=0,S=x%W,L=x-S;w1&&void 0!==arguments[1]?arguments[1]:{},c=o.location,a=void 0===c?$.location:c,s=o.threshold,u=void 0===s?$.threshold:s,h=o.distance,l=void 0===h?$.distance:h,f=o.includeMatches,d=void 0===f?$.includeMatches:f,v=o.findAllMatches,g=void 0===v?$.findAllMatches:v,y=o.minMatchCharLength,p=void 0===y?$.minMatchCharLength:y,m=o.isCaseSensitive,k=void 0===m?$.isCaseSensitive:m,M=o.ignoreLocation,b=void 0===M?$.ignoreLocation:M;return r(this,n),(i=t.call(this,e))._bitapSearch=new D(e,{location:a,threshold:u,distance:l,includeMatches:d,findAllMatches:g,minMatchCharLength:p,isCaseSensitive:k,ignoreLocation:b}),i}return o(n,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),n}(K),X=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){for(var t,n=0,r=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);var o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),n}(K),Y=[B,X,U,V,H,G,J,Q],Z=Y.length,ee=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,te=new Set([Q.type,X.type]),ne=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.isCaseSensitive,o=void 0===i?$.isCaseSensitive:i,c=n.includeMatches,a=void 0===c?$.includeMatches:c,s=n.minMatchCharLength,u=void 0===s?$.minMatchCharLength:s,h=n.ignoreLocation,l=void 0===h?$.ignoreLocation:h,f=n.findAllMatches,d=void 0===f?$.findAllMatches:f,v=n.location,g=void 0===v?$.location:v,y=n.threshold,p=void 0===y?$.threshold:y,m=n.distance,k=void 0===m?$.distance:m;r(this,e),this.query=null,this.options={isCaseSensitive:o,includeMatches:a,minMatchCharLength:u,findAllMatches:d,ignoreLocation:l,location:g,threshold:p,distance:k},this.pattern=o?t:t.toLowerCase(),this.query=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map((function(e){for(var n=e.trim().split(ee).filter((function(e){return e&&!!e.trim()})),r=[],i=0,o=n.length;i2&&void 0!==arguments[2]?arguments[2]:{}).auto,r=void 0===n||n;return ue(e)||(e=he(e)),function e(n){var i=Object.keys(n),o=function(e){return!!e[ae]}(n);if(!o&&i.length>1&&!ue(n))return e(he(n));if(function(e){return!g(e)&&b(e)&&!ue(e)}(n)){var c=o?n[ae]:i[0],a=o?n[se]:n[c];if(!m(a))throw new Error(function(e){return"Invalid value for key ".concat(e)}(c));var s={keyId:C(c),pattern:a};return r&&(s.searcher=ie(a,t)),s}var u={children:[],operator:i[0]};return i.forEach((function(t){var r=n[t];g(r)&&r.forEach((function(t){u.children.push(e(t))}))})),u}(e)}function fe(e,t){var n=e.matches;t.matches=[],x(n)&&n.forEach((function(e){if(x(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.src),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function de(e,t){t.score=e.score}var ve=function(){function e(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;r(this,e),this.options=t(t({},$),i),this.options.useExtendedSearch,this._keyStore=new j(this.options.keys),this.setCollection(n,o)}return o(e,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof R))throw new Error("Incorrect 'index' type");this._myIndex=t||P(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){x(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},t=[],n=0,r=this._docs.length;n1&&void 0!==arguments[1]?arguments[1]:{}).limit,n=void 0===t?-1:t,r=this.options,i=r.includeMatches,o=r.includeScore,c=r.shouldSort,a=r.sortFn,s=r.ignoreFieldNorm,u=m(e)?m(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,t){var n=t.ignoreFieldNorm,r=void 0===n?$.ignoreFieldNorm:n;e.forEach((function(e){var t=1;e.matches.forEach((function(e){var n=e.key,i=e.norm,o=e.score,c=n?n.weight:null;t*=Math.pow(0===o&&c?Number.EPSILON:o,(c||1)*(r?1:i))})),e.score=t}))}(u,{ignoreFieldNorm:s}),c&&u.sort(a),k(n)&&n>-1&&(u=u.slice(0,n)),function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?$.includeMatches:r,o=n.includeScore,c=void 0===o?$.includeScore:o,a=[];return i&&a.push(fe),c&&a.push(de),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return a.length&&a.forEach((function(t){t(e,r)})),r}))}(u,this._docs,{includeMatches:i,includeScore:o})}},{key:"_searchStringList",value:function(e){var t=ie(e,this.options),n=this._myIndex.records,r=[];return n.forEach((function(e){var n=e.v,i=e.i,o=e.n;if(x(n)){var c=t.searchIn(n),a=c.isMatch,s=c.score,u=c.indices;a&&r.push({item:n,idx:i,matches:[{score:s,value:n,norm:o,indices:u}]})}})),r}},{key:"_searchLogical",value:function(e){var t=this,n=le(e,this.options),r=function e(n,r,i){if(!n.children){var o=n.keyId,c=n.searcher,a=t._findMatches({key:t._keyStore.get(o),value:t._myIndex.getValueForItemAtKeyId(r,o),searcher:c});return a&&a.length?[{idx:i,item:r,matches:a}]:[]}for(var s=[],u=0,h=n.children.length;u1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?$.getFn:n,i=t.fieldNormWeight,o=void 0===i?$.fieldNormWeight:i,c=e.keys,a=e.records,s=new R({getFn:r,fieldNormWeight:o});return s.setKeys(c),s.setIndexRecords(a),s},ve.config=$,function(){re.push.apply(re,arguments)}(ne),ve},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t(); \ No newline at end of file diff --git a/assets/lib/katex/auto-render.min.js b/assets/lib/katex/auto-render.min.js new file mode 100644 index 0000000..46d62af --- /dev/null +++ b/assets/lib/katex/auto-render.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};return function(){r.d(o,{default:function(){return d}});var e=r(771),t=r.n(e);const n=function(e,t,n){let r=n,o=0;const i=e.length;for(;re.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;r=e.search(a),-1!==r;){r>0&&(o.push({type:"text",data:e.slice(0,r)}),e=e.slice(r));const a=t.findIndex((t=>e.startsWith(t.left)));if(r=n(t[a].right,e,t[a].left.length),-1===r)break;const l=e.slice(0,r+t[a].right.length),s=i.test(l)?l:e.slice(t[a].left.length,r);o.push({type:"math",data:s,rawData:l,display:t[a].display}),e=e.slice(r+t[a].right.length)}return""!==e&&o.push({type:"text",data:e}),o};const l=function(e,n){const r=a(e,n.delimiters);if(1===r.length&&"text"===r[0].type)return null;const o=document.createDocumentFragment();for(let e=0;e-1===e.indexOf(" "+t+" ")))&&s(r,t)}}};var d=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},s(e,n)}}(),o=o.default}()})); \ No newline at end of file diff --git a/assets/lib/katex/fonts/KaTeX_AMS-Regular.ttf b/assets/lib/katex/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 0000000..c6f9a5e Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_AMS-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_AMS-Regular.woff b/assets/lib/katex/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 0000000..b804d7b Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_AMS-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_AMS-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000..0acaaff Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_AMS-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.ttf b/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.ttf new file mode 100644 index 0000000..9ff4a5e Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff b/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 0000000..9759710 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff2 b/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 0000000..f390922 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.ttf b/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.ttf new file mode 100644 index 0000000..f522294 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff b/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000..9bdd534 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 0000000..75344a1 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.ttf b/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 0000000..4e98259 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.woff b/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 0000000..e7730f6 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.woff2 b/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000..395f28b Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.ttf b/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.ttf new file mode 100644 index 0000000..b8461b2 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.woff b/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.woff new file mode 100644 index 0000000..acab069 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.woff2 new file mode 100644 index 0000000..735f694 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-Bold.ttf b/assets/lib/katex/fonts/KaTeX_Main-Bold.ttf new file mode 100644 index 0000000..4060e62 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-Bold.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-Bold.woff b/assets/lib/katex/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 0000000..f38136a Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-Bold.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-Bold.woff2 b/assets/lib/katex/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000..ab2ad21 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-Bold.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.ttf b/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.ttf new file mode 100644 index 0000000..dc00797 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.woff b/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.woff new file mode 100644 index 0000000..67807b0 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.woff2 b/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.woff2 new file mode 100644 index 0000000..5931794 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-Italic.ttf b/assets/lib/katex/fonts/KaTeX_Main-Italic.ttf new file mode 100644 index 0000000..0e9b0f3 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-Italic.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-Italic.woff b/assets/lib/katex/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 0000000..6f43b59 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-Italic.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-Italic.woff2 b/assets/lib/katex/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000..b50920e Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-Italic.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-Regular.ttf b/assets/lib/katex/fonts/KaTeX_Main-Regular.ttf new file mode 100644 index 0000000..dd45e1e Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-Regular.woff b/assets/lib/katex/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 0000000..21f5812 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Main-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000..eb24a7b Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Main-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.ttf b/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.ttf new file mode 100644 index 0000000..728ce7a Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.woff b/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000..0ae390d Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.woff2 b/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000..2965702 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Math-Italic.ttf b/assets/lib/katex/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 0000000..70d559b Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Math-Italic.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Math-Italic.woff b/assets/lib/katex/fonts/KaTeX_Math-Italic.woff new file mode 100644 index 0000000..eb5159d Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Math-Italic.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Math-Italic.woff2 b/assets/lib/katex/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 0000000..215c143 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Math-Italic.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.ttf b/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.ttf new file mode 100644 index 0000000..2f65a8a Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.woff b/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.woff new file mode 100644 index 0000000..8d47c02 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.woff2 b/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 0000000..cfaa3bd Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.ttf b/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.ttf new file mode 100644 index 0000000..d5850df Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.woff b/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000..7e02df9 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.woff2 b/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 0000000..349c06d Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.ttf b/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 0000000..537279f Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.woff b/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 0000000..31b8482 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 0000000..a90eea8 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Script-Regular.ttf b/assets/lib/katex/fonts/KaTeX_Script-Regular.ttf new file mode 100644 index 0000000..fd679bf Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Script-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Script-Regular.woff b/assets/lib/katex/fonts/KaTeX_Script-Regular.woff new file mode 100644 index 0000000..0e7da82 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Script-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Script-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_Script-Regular.woff2 new file mode 100644 index 0000000..b3048fc Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Script-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Size1-Regular.ttf b/assets/lib/katex/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 0000000..871fd7d Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size1-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Size1-Regular.woff b/assets/lib/katex/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 0000000..7f292d9 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size1-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Size1-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_Size1-Regular.woff2 new file mode 100644 index 0000000..c5a8462 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size1-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Size2-Regular.ttf b/assets/lib/katex/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 0000000..7a212ca Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size2-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Size2-Regular.woff b/assets/lib/katex/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 0000000..d241d9b Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size2-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Size2-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000..e1bccfe Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size2-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Size3-Regular.ttf b/assets/lib/katex/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 0000000..00bff34 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size3-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Size3-Regular.woff b/assets/lib/katex/fonts/KaTeX_Size3-Regular.woff new file mode 100644 index 0000000..e6e9b65 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size3-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Size3-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_Size3-Regular.woff2 new file mode 100644 index 0000000..249a286 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size3-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Size4-Regular.ttf b/assets/lib/katex/fonts/KaTeX_Size4-Regular.ttf new file mode 100644 index 0000000..74f0892 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size4-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Size4-Regular.woff b/assets/lib/katex/fonts/KaTeX_Size4-Regular.woff new file mode 100644 index 0000000..e1ec545 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size4-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Size4-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 0000000..680c130 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Size4-Regular.woff2 differ diff --git a/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.ttf b/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.ttf new file mode 100644 index 0000000..c83252c Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.ttf differ diff --git a/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.woff b/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 0000000..2432419 Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.woff differ diff --git a/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.woff2 b/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.woff2 new file mode 100644 index 0000000..771f1af Binary files /dev/null and b/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.woff2 differ diff --git a/assets/lib/katex/katex.min.css b/assets/lib/katex/katex.min.css new file mode 100644 index 0000000..b5337aa --- /dev/null +++ b/assets/lib/katex/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.10"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/assets/lib/katex/katex.min.js b/assets/lib/katex/katex.min.js new file mode 100644 index 0000000..e701cfd --- /dev/null +++ b/assets/lib/katex/katex.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return Yn}});class r{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,a;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),a=o+15":">","<":"<",'"':""","'":"'"},i=/[&><"']/g;const a=function(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?a(e.body[0]):e:"font"===e.type?a(e.body):e};var l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(i,(e=>s[e]))},hyphenate:function(e){return e.replace(o,"-$1").toLowerCase()},getBaseElem:a,isCharacterBox:function(e){const t=a(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){const t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"}};const h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;const t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class m{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(const t in h)if(h.hasOwnProperty(t)){const r=h[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:c(r)}}reportNonstrict(e,t,r){let o=this.strict;if("function"==typeof o&&(o=o(e,t,r)),o&&"ignore"!==o){if(!0===o||"error"===o)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===o?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+o+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r){let n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n)&&(!0===n||"error"===n||("warn"===n?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))}isTrusted(e){if(e.url&&!e.protocol){const t=l.protocolFromUrl(e.url);if(null==t)return!1;e.protocol=t}const t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)}}class p{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return u[d[this.id]]}sub(){return u[g[this.id]]}fracNum(){return u[f[this.id]]}fracDen(){return u[b[this.id]]}cramp(){return u[y[this.id]]}text(){return u[x[this.id]]}isTight(){return this.size>=2}}const u=[new p(0,0,!1),new p(1,0,!0),new p(2,1,!1),new p(3,1,!0),new p(4,2,!1),new p(5,2,!0),new p(6,3,!1),new p(7,3,!0)],d=[4,5,4,5,6,7,6,7],g=[5,5,5,5,7,7,7,7],f=[2,3,4,5,6,7,6,7],b=[3,3,5,5,7,7,7,7],y=[1,1,3,3,5,5,7,7],x=[0,1,2,3,2,3,2,3];var w={DISPLAY:u[0],TEXT:u[2],SCRIPT:u[4],SCRIPTSCRIPT:u[6]};const v=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];const k=[];function S(e){for(let t=0;t=k[t]&&e<=k[t+1])return!0;return!1}v.forEach((e=>e.blocks.forEach((e=>k.push(...e)))));const M=80,z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"};class A{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createDocumentFragment();for(let t=0;te.toText())).join("")}}var T={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}};const B={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},C={"\xc5":"A","\xd0":"D","\xde":"o","\xe5":"a","\xf0":"d","\xfe":"o","\u0410":"A","\u0411":"B","\u0412":"B","\u0413":"F","\u0414":"A","\u0415":"E","\u0416":"K","\u0417":"3","\u0418":"N","\u0419":"N","\u041a":"K","\u041b":"N","\u041c":"M","\u041d":"H","\u041e":"O","\u041f":"N","\u0420":"P","\u0421":"C","\u0422":"T","\u0423":"y","\u0424":"O","\u0425":"X","\u0426":"U","\u0427":"h","\u0428":"W","\u0429":"W","\u042a":"B","\u042b":"X","\u042c":"B","\u042d":"3","\u042e":"X","\u042f":"R","\u0430":"a","\u0431":"b","\u0432":"a","\u0433":"r","\u0434":"y","\u0435":"e","\u0436":"m","\u0437":"e","\u0438":"n","\u0439":"n","\u043a":"n","\u043b":"n","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"n","\u0440":"p","\u0441":"c","\u0442":"o","\u0443":"y","\u0444":"b","\u0445":"x","\u0446":"n","\u0447":"n","\u0448":"w","\u0449":"w","\u044a":"a","\u044b":"m","\u044c":"a","\u044d":"e","\u044e":"m","\u044f":"r"};function N(e,t,r){if(!T[t])throw new Error("Font metrics not found for font: "+t+".");let n=e.charCodeAt(0),o=T[t][n];if(!o&&e[0]in C&&(n=C[e[0]].charCodeAt(0),o=T[t][n]),o||"text"!==r||S(n)&&(o=T[t][77]),o)return{depth:o[0],height:o[1],italic:o[2],skew:o[3],width:o[4]}}const q={};const I=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],R=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],H=function(e,t){return t.size<2?e:I[e-1][t.size-1]};class O{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||O.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=R[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){const t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(const r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new O(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:H(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:R[e-1]})}havingBaseStyle(e){e=e||this.style.text();const t=H(O.BASESIZE,e);return this.size===t&&this.textSize===O.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){let e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==O.BASESIZE?["sizing","reset-size"+this.size,"size"+O.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){let t;if(t=e>=5?0:e>=3?1:2,!q[t]){const e=q[t]={cssEmPerMu:B.quad[t]/18};for(const r in B)B.hasOwnProperty(r)&&(e[r]=B[r][t])}return q[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}O.BASESIZE=6;var E=O;const L={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},D={ex:!0,em:!0,mu:!0},V=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in D||"ex"===e},P=function(e,t){let r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{let o;if(o=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=o.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=o.fontMetrics().quad}o!==t&&(r*=o.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},F=function(e){return+e.toFixed(4)+"em"},G=function(e){return e.filter((e=>e)).join(" ")},U=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");const e=t.getColor();e&&(this.style.color=e)}},Y=function(e){const t=document.createElement(e);t.className=G(this.classes);for(const e in this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);for(const e in this.attributes)this.attributes.hasOwnProperty(e)&&t.setAttribute(e,this.attributes[e]);for(let e=0;e",t};class W{constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,e,r,n),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l.contains(this.classes,e)}toNode(){return Y.call(this,"span")}toMarkup(){return X.call(this,"span")}}class _{constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l.contains(this.classes,e)}toNode(){return Y.call(this,"a")}toMarkup(){return X.call(this,"a")}}class j{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(const t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){let e=''+l.escape(this.alt)+'=n[0]&&e<=n[1])return r.name}}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=$[this.text])}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createTextNode(this.text);let t=null;this.italic>0&&(t=document.createElement("span"),t.style.marginRight=F(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=G(this.classes));for(const e in this.style)this.style.hasOwnProperty(e)&&(t=t||document.createElement("span"),t.style[e]=this.style[e]);return t?(t.appendChild(e),t):e}toMarkup(){let e=!1,t="0&&(r+="margin-right:"+this.italic+"em;");for(const e in this.style)this.style.hasOwnProperty(e)&&(r+=l.hyphenate(e)+":"+this.style[e]+";");r&&(e=!0,t+=' style="'+l.escape(r)+'"');const n=l.escape(this.text);return e?(t+=">",t+=n,t+="",t):n}}class K{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(let t=0;t':''}}class Q{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","line");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e}toMarkup(){let e="","\\gt",!0),se(ie,le,ye,"\u2208","\\in",!0),se(ie,le,ye,"\ue020","\\@not"),se(ie,le,ye,"\u2282","\\subset",!0),se(ie,le,ye,"\u2283","\\supset",!0),se(ie,le,ye,"\u2286","\\subseteq",!0),se(ie,le,ye,"\u2287","\\supseteq",!0),se(ie,he,ye,"\u2288","\\nsubseteq",!0),se(ie,he,ye,"\u2289","\\nsupseteq",!0),se(ie,le,ye,"\u22a8","\\models"),se(ie,le,ye,"\u2190","\\leftarrow",!0),se(ie,le,ye,"\u2264","\\le"),se(ie,le,ye,"\u2264","\\leq",!0),se(ie,le,ye,"<","\\lt",!0),se(ie,le,ye,"\u2192","\\rightarrow",!0),se(ie,le,ye,"\u2192","\\to"),se(ie,he,ye,"\u2271","\\ngeq",!0),se(ie,he,ye,"\u2270","\\nleq",!0),se(ie,le,xe,"\xa0","\\ "),se(ie,le,xe,"\xa0","\\space"),se(ie,le,xe,"\xa0","\\nobreakspace"),se(ae,le,xe,"\xa0","\\ "),se(ae,le,xe,"\xa0"," "),se(ae,le,xe,"\xa0","\\space"),se(ae,le,xe,"\xa0","\\nobreakspace"),se(ie,le,xe,null,"\\nobreak"),se(ie,le,xe,null,"\\allowbreak"),se(ie,le,be,",",","),se(ie,le,be,";",";"),se(ie,he,me,"\u22bc","\\barwedge",!0),se(ie,he,me,"\u22bb","\\veebar",!0),se(ie,le,me,"\u2299","\\odot",!0),se(ie,le,me,"\u2295","\\oplus",!0),se(ie,le,me,"\u2297","\\otimes",!0),se(ie,le,we,"\u2202","\\partial",!0),se(ie,le,me,"\u2298","\\oslash",!0),se(ie,he,me,"\u229a","\\circledcirc",!0),se(ie,he,me,"\u22a1","\\boxdot",!0),se(ie,le,me,"\u25b3","\\bigtriangleup"),se(ie,le,me,"\u25bd","\\bigtriangledown"),se(ie,le,me,"\u2020","\\dagger"),se(ie,le,me,"\u22c4","\\diamond"),se(ie,le,me,"\u22c6","\\star"),se(ie,le,me,"\u25c3","\\triangleleft"),se(ie,le,me,"\u25b9","\\triangleright"),se(ie,le,fe,"{","\\{"),se(ae,le,we,"{","\\{"),se(ae,le,we,"{","\\textbraceleft"),se(ie,le,pe,"}","\\}"),se(ae,le,we,"}","\\}"),se(ae,le,we,"}","\\textbraceright"),se(ie,le,fe,"{","\\lbrace"),se(ie,le,pe,"}","\\rbrace"),se(ie,le,fe,"[","\\lbrack",!0),se(ae,le,we,"[","\\lbrack",!0),se(ie,le,pe,"]","\\rbrack",!0),se(ae,le,we,"]","\\rbrack",!0),se(ie,le,fe,"(","\\lparen",!0),se(ie,le,pe,")","\\rparen",!0),se(ae,le,we,"<","\\textless",!0),se(ae,le,we,">","\\textgreater",!0),se(ie,le,fe,"\u230a","\\lfloor",!0),se(ie,le,pe,"\u230b","\\rfloor",!0),se(ie,le,fe,"\u2308","\\lceil",!0),se(ie,le,pe,"\u2309","\\rceil",!0),se(ie,le,we,"\\","\\backslash"),se(ie,le,we,"\u2223","|"),se(ie,le,we,"\u2223","\\vert"),se(ae,le,we,"|","\\textbar",!0),se(ie,le,we,"\u2225","\\|"),se(ie,le,we,"\u2225","\\Vert"),se(ae,le,we,"\u2225","\\textbardbl"),se(ae,le,we,"~","\\textasciitilde"),se(ae,le,we,"\\","\\textbackslash"),se(ae,le,we,"^","\\textasciicircum"),se(ie,le,ye,"\u2191","\\uparrow",!0),se(ie,le,ye,"\u21d1","\\Uparrow",!0),se(ie,le,ye,"\u2193","\\downarrow",!0),se(ie,le,ye,"\u21d3","\\Downarrow",!0),se(ie,le,ye,"\u2195","\\updownarrow",!0),se(ie,le,ye,"\u21d5","\\Updownarrow",!0),se(ie,le,ge,"\u2210","\\coprod"),se(ie,le,ge,"\u22c1","\\bigvee"),se(ie,le,ge,"\u22c0","\\bigwedge"),se(ie,le,ge,"\u2a04","\\biguplus"),se(ie,le,ge,"\u22c2","\\bigcap"),se(ie,le,ge,"\u22c3","\\bigcup"),se(ie,le,ge,"\u222b","\\int"),se(ie,le,ge,"\u222b","\\intop"),se(ie,le,ge,"\u222c","\\iint"),se(ie,le,ge,"\u222d","\\iiint"),se(ie,le,ge,"\u220f","\\prod"),se(ie,le,ge,"\u2211","\\sum"),se(ie,le,ge,"\u2a02","\\bigotimes"),se(ie,le,ge,"\u2a01","\\bigoplus"),se(ie,le,ge,"\u2a00","\\bigodot"),se(ie,le,ge,"\u222e","\\oint"),se(ie,le,ge,"\u222f","\\oiint"),se(ie,le,ge,"\u2230","\\oiiint"),se(ie,le,ge,"\u2a06","\\bigsqcup"),se(ie,le,ge,"\u222b","\\smallint"),se(ae,le,ue,"\u2026","\\textellipsis"),se(ie,le,ue,"\u2026","\\mathellipsis"),se(ae,le,ue,"\u2026","\\ldots",!0),se(ie,le,ue,"\u2026","\\ldots",!0),se(ie,le,ue,"\u22ef","\\@cdots",!0),se(ie,le,ue,"\u22f1","\\ddots",!0),se(ie,le,we,"\u22ee","\\varvdots"),se(ie,le,ce,"\u02ca","\\acute"),se(ie,le,ce,"\u02cb","\\grave"),se(ie,le,ce,"\xa8","\\ddot"),se(ie,le,ce,"~","\\tilde"),se(ie,le,ce,"\u02c9","\\bar"),se(ie,le,ce,"\u02d8","\\breve"),se(ie,le,ce,"\u02c7","\\check"),se(ie,le,ce,"^","\\hat"),se(ie,le,ce,"\u20d7","\\vec"),se(ie,le,ce,"\u02d9","\\dot"),se(ie,le,ce,"\u02da","\\mathring"),se(ie,le,de,"\ue131","\\@imath"),se(ie,le,de,"\ue237","\\@jmath"),se(ie,le,we,"\u0131","\u0131"),se(ie,le,we,"\u0237","\u0237"),se(ae,le,we,"\u0131","\\i",!0),se(ae,le,we,"\u0237","\\j",!0),se(ae,le,we,"\xdf","\\ss",!0),se(ae,le,we,"\xe6","\\ae",!0),se(ae,le,we,"\u0153","\\oe",!0),se(ae,le,we,"\xf8","\\o",!0),se(ae,le,we,"\xc6","\\AE",!0),se(ae,le,we,"\u0152","\\OE",!0),se(ae,le,we,"\xd8","\\O",!0),se(ae,le,ce,"\u02ca","\\'"),se(ae,le,ce,"\u02cb","\\`"),se(ae,le,ce,"\u02c6","\\^"),se(ae,le,ce,"\u02dc","\\~"),se(ae,le,ce,"\u02c9","\\="),se(ae,le,ce,"\u02d8","\\u"),se(ae,le,ce,"\u02d9","\\."),se(ae,le,ce,"\xb8","\\c"),se(ae,le,ce,"\u02da","\\r"),se(ae,le,ce,"\u02c7","\\v"),se(ae,le,ce,"\xa8",'\\"'),se(ae,le,ce,"\u02dd","\\H"),se(ae,le,ce,"\u25ef","\\textcircled");const ve={"--":!0,"---":!0,"``":!0,"''":!0};se(ae,le,we,"\u2013","--",!0),se(ae,le,we,"\u2013","\\textendash"),se(ae,le,we,"\u2014","---",!0),se(ae,le,we,"\u2014","\\textemdash"),se(ae,le,we,"\u2018","`",!0),se(ae,le,we,"\u2018","\\textquoteleft"),se(ae,le,we,"\u2019","'",!0),se(ae,le,we,"\u2019","\\textquoteright"),se(ae,le,we,"\u201c","``",!0),se(ae,le,we,"\u201c","\\textquotedblleft"),se(ae,le,we,"\u201d","''",!0),se(ae,le,we,"\u201d","\\textquotedblright"),se(ie,le,we,"\xb0","\\degree",!0),se(ae,le,we,"\xb0","\\degree"),se(ae,le,we,"\xb0","\\textdegree",!0),se(ie,le,we,"\xa3","\\pounds"),se(ie,le,we,"\xa3","\\mathsterling",!0),se(ae,le,we,"\xa3","\\pounds"),se(ae,le,we,"\xa3","\\textsterling",!0),se(ie,he,we,"\u2720","\\maltese"),se(ae,he,we,"\u2720","\\maltese");const ke='0123456789/@."';for(let e=0;e{if(G(e.classes)!==G(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){const t=e.classes[0];if("mbin"===t||"mord"===t)return!1}for(const r in e.style)if(e.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;for(const r in t.style)if(t.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;return!0},Ie=function(e){let t=0,r=0,n=0;for(let o=0;ot&&(t=s.height),s.depth>r&&(r=s.depth),s.maxFontSize>n&&(n=s.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Re=function(e,t,r,n){const o=new W(e,t,r,n);return Ie(o),o},He=(e,t,r,n)=>new W(e,t,r,n),Oe=function(e){const t=new A(e);return Ie(t),t},Ee=function(e,t,r){let n,o="";switch(e){case"amsrm":o="AMS";break;case"textrm":o="Main";break;case"textsf":o="SansSerif";break;case"texttt":o="Typewriter";break;default:o=e}return n="textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular",o+"-"+n},Le={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},De={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]};var Ve={fontMap:Le,makeSymbol:Ne,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Ce(e,"Main-Bold",t).metrics?Ne(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===oe[t][e].font?Ne(e,"Main-Regular",t,r,n):Ne(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:Re,makeSvgSpan:He,makeLineSpan:function(e,t,r){const n=Re([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=F(n.height),n.maxFontSize=1,n},makeAnchor:function(e,t,r,n){const o=new _(e,t,r,n);return Ie(o),o},makeFragment:Oe,wrapFragment:function(e,t){return e instanceof A?Re([],[e],t):e},makeVList:function(e,t){const{children:r,depth:n}=function(e){if("individualShift"===e.positionType){const t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth;let o=n;for(let e=1;e0)return Ne(s,h,o,t,i.concat(c));if(l){let e,n;if("boldsymbol"===l){const t=function(e,t,r,n,o){return"textord"!==o&&Ce(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(s,o,0,0,r);e=t.fontName,n=[t.fontClass]}else a?(e=Le[l].fontName,n=[l]):(e=Ee(l,t.fontWeight,t.fontShape),n=[l,t.fontWeight,t.fontShape]);if(Ce(s,e,o).metrics)return Ne(s,e,o,t,i.concat(n));if(ve.hasOwnProperty(s)&&"Typewriter"===e.slice(0,10)){const r=[];for(let a=0;a{const r=Re(["mspace"],[],t),n=P(e,t);return r.style.marginRight=F(n),r},staticSvg:function(e,t){const[r,n,o]=De[e],s=new J(r),i=new K([s],{width:F(n),height:F(o),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+1e3*o,preserveAspectRatio:"xMinYMin"}),a=He(["overlay"],[i],t);return a.height=o,a.style.height=F(o),a.style.width=F(n),a},svgData:De,tryCombineChars:e=>{for(let t=0;t{const r=t.classes[0],n=e.classes[0];"mbin"===r&&l.contains(et,n)?t.classes[0]="mord":"mbin"===n&&l.contains(Qe,r)&&(e.classes[0]="mord")}),{node:i},a,h),ot(o,((e,t)=>{const r=at(t),n=at(e),o=r&&n?e.hasClass("mtight")?Ye[r][n]:Ue[r][n]:null;if(o)return Ve.makeGlue(o,s)}),{node:i},a,h),o},ot=function(e,t,r,n,o){n&&e.push(n);let s=0;for(;sr=>{e.splice(t+1,0,r),s++})(s)}n&&e.pop()},st=function(e){return e instanceof A||e instanceof _||e instanceof W&&e.hasClass("enclosing")?e:null},it=function(e,t){const r=st(e);if(r){const e=r.children;if(e.length){if("right"===t)return it(e[e.length-1],"right");if("left"===t)return it(e[0],"left")}}return e},at=function(e,t){return e?(t&&(e=it(e,t)),rt[e.classes[0]]||null):null},lt=function(e,t){const r=["nulldelimiter"].concat(e.baseSizingClasses());return Je(t.concat(r))},ht=function(e,t,r){if(!e)return Je();if(We[e.type]){let n=We[e.type](e,t);if(r&&t.size!==r.size){n=Je(t.sizingClasses(r),[n],t);const e=t.sizeMultiplier/r.sizeMultiplier;n.height*=e,n.depth*=e}return n}throw new n("Got group of unknown type: '"+e.type+"'")};function ct(e,t){const r=Je(["base"],e,t),n=Je(["strut"]);return n.style.height=F(r.height+r.depth),r.depth&&(n.style.verticalAlign=F(-r.depth)),r.children.unshift(n),r}function mt(e,t){let r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);const n=nt(e,t,"root");let o;2===n.length&&n[1].hasClass("tag")&&(o=n.pop());const s=[];let i,a=[];for(let e=0;e0&&(s.push(ct(a,t)),a=[]),s.push(n[e]));a.length>0&&s.push(ct(a,t)),r?(i=ct(nt(r,t,!0)),i.classes=["tag"],s.push(i)):o&&s.push(o);const l=Je(["katex-html"],s);if(l.setAttribute("aria-hidden","true"),i){const e=i.children[0];e.style.height=F(l.height+l.depth),l.depth&&(e.style.verticalAlign=F(-l.depth))}return l}function pt(e){return new A(e)}class ut{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){const e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=G(this.classes));for(let t=0;t0&&(e+=' class ="'+l.escape(G(this.classes))+'"'),e+=">";for(let t=0;t",e}toText(){return this.children.map((e=>e.toText())).join("")}}class dt{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return l.escape(this.toText())}toText(){return this.text}}var gt={MathNode:ut,TextNode:dt,SpaceNode:class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}toNode(){if(this.character)return document.createTextNode(this.character);{const e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",F(this.width)),e}}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},newDocumentFragment:pt};const ft=function(e,t,r){return!oe[t][e]||!oe[t][e].replace||55349===e.charCodeAt(0)||ve.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=oe[t][e].replace),new gt.TextNode(e)},bt=function(e){return 1===e.length?e[0]:new gt.MathNode("mrow",e)},yt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";const r=t.font;if(!r||"mathnormal"===r)return null;const n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";let o=e.text;if(l.contains(["\\imath","\\jmath"],o))return null;oe[n][o]&&oe[n][o].replace&&(o=oe[n][o].replace);return N(o,Ve.fontMap[r].fontName,n)?Ve.fontMap[r].variant:null},xt=function(e,t,r){if(1===e.length){const n=vt(e[0],t);return r&&n instanceof ut&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}const n=[];let o;for(let r=0;r0&&(e.text=e.text.slice(0,1)+"\u0338"+e.text.slice(1),n.pop())}}}n.push(s),o=s}return n},wt=function(e,t,r){return bt(xt(e,t,r))},vt=function(e,t){if(!e)return new gt.MathNode("mrow");if(_e[e.type]){return _e[e.type](e,t)}throw new n("Got group of unknown type: '"+e.type+"'")};function kt(e,t,r,n,o){const s=xt(e,r);let i;i=1===s.length&&s[0]instanceof ut&&l.contains(["mrow","mtable"],s[0].type)?s[0]:new gt.MathNode("mrow",s);const a=new gt.MathNode("annotation",[new gt.TextNode(t)]);a.setAttribute("encoding","application/x-tex");const h=new gt.MathNode("semantics",[i,a]),c=new gt.MathNode("math",[h]);c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&c.setAttribute("display","block");const m=o?"katex":"katex-mathml";return Ve.makeSpan([m],[c])}const St=function(e){return new E({style:e.displayMode?w.DISPLAY:w.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Mt=function(e,t){if(t.displayMode){const r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ve.makeSpan(r,[e])}return e},zt=function(e,t,r){const n=St(r);let o;if("mathml"===r.output)return kt(e,t,n,r.displayMode,!0);if("html"===r.output){const t=mt(e,n);o=Ve.makeSpan(["katex"],[t])}else{const s=kt(e,t,n,r.displayMode,!1),i=mt(e,n);o=Ve.makeSpan(["katex"],[s,i])}return Mt(o,r)};const At={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Tt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]};var Bt=function(e,t,r,n,o){let s;const i=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(s=Ve.makeSpan(["stretchy",t],[],o),"fbox"===t){const e=o.color&&o.getColor();e&&(s.style.borderColor=e)}}else{const e=[];/^[bx]cancel$/.test(t)&&e.push(new Q({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&e.push(new Q({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));const r=new K(e,{width:"100%",height:F(i)});s=Ve.makeSvgSpan([],[r],o)}return s.height=i,s.style.height=F(i),s},Ct=function(e){const t=new gt.MathNode("mo",[new gt.TextNode(At[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Nt=function(e,t){const{span:r,minWidth:n,height:o}=function(){let r=4e5;const n=e.label.slice(1);if(l.contains(["widehat","widecheck","widetilde","utilde"],n)){const s="ordgroup"===(o=e.base).type?o.body.length:1;let i,a,l;if(s>5)"widehat"===n||"widecheck"===n?(i=420,r=2364,l=.42,a=n+"4"):(i=312,r=2340,l=.34,a="tilde4");else{const e=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][e],i=[0,239,300,360,420][e],l=[0,.24,.3,.3,.36,.42][e],a=n+e):(r=[0,600,1033,2339,2340][e],i=[0,260,286,306,312][e],l=[0,.26,.286,.3,.306,.34][e],a="tilde"+e)}const h=new J(a),c=new K([h],{width:"100%",height:F(l),viewBox:"0 0 "+r+" "+i,preserveAspectRatio:"none"});return{span:Ve.makeSvgSpan([],[c],t),minWidth:0,height:l}}{const e=[],o=Tt[n],[s,i,a]=o,l=a/1e3,h=s.length;let c,m;if(1===h){c=["hide-tail"],m=[o[3]]}else if(2===h)c=["halfarrow-left","halfarrow-right"],m=["xMinYMin","xMaxYMin"];else{if(3!==h)throw new Error("Correct katexImagesData or update code here to support\n "+h+" children.");c=["brace-left","brace-center","brace-right"],m=["xMinYMin","xMidYMin","xMaxYMin"]}for(let n=0;n0&&(r.style.minWidth=F(n)),r};function qt(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function It(e){const t=Rt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Rt(e){return e&&("atom"===e.type||re.hasOwnProperty(e.type))?e:null}const Ht=(e,t)=>{let r,n,o;e&&"supsub"===e.type?(n=qt(e.base,"accent"),r=n.base,e.base=r,o=function(e){if(e instanceof W)return e;throw new Error("Expected span but got "+String(e)+".")}(ht(e,t)),e.base=n):(n=qt(e,"accent"),r=n.base);const s=ht(r,t.havingCrampedStyle());let i=0;if(n.isShifty&&l.isCharacterBox(r)){const e=l.getBaseElem(r);i=ee(ht(e,t.havingCrampedStyle())).skew}const a="\\c"===n.label;let h,c=a?s.height+s.depth:Math.min(s.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Nt(n,t),h=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:i>0?{width:"calc(100% - "+F(2*i)+")",marginLeft:F(2*i)}:void 0}]},t);else{let e,r;"\\vec"===n.label?(e=Ve.staticSvg("vec",t),r=Ve.svgData.vec[1]):(e=Ve.makeOrd({mode:n.mode,text:n.label},t,"textord"),e=ee(e),e.italic=0,r=e.width,a&&(c+=e.depth)),h=Ve.makeSpan(["accent-body"],[e]);const o="\\textcircled"===n.label;o&&(h.classes.push("accent-full"),c=s.height);let l=i;o||(l-=r/2),h.style.left=F(l),"\\textcircled"===n.label&&(h.style.top=".2em"),h=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-c},{type:"elem",elem:h}]},t)}const m=Ve.makeSpan(["mord","accent"],[h],t);return o?(o.children[0]=m,o.height=Math.max(m.height,o.height),o.classes[0]="mord",o):m},Ot=(e,t)=>{const r=e.isStretchy?Ct(e.label):new gt.MathNode("mo",[ft(e.label,e.mode)]),n=new gt.MathNode("mover",[vt(e.base,t),r]);return n.setAttribute("accent","true"),n},Et=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((e=>"\\"+e)).join("|"));je({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{const r=Ze(t[0]),n=!Et.test(e.funcName),o=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:o,base:r}},htmlBuilder:Ht,mathmlBuilder:Ot}),je({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{const r=t[0];let n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Ht,mathmlBuilder:Ot}),je({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:o}},htmlBuilder:(e,t)=>{const r=ht(e.base,t),n=Nt(e,t),o="\\utilde"===e.label?.12:0,s=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:o},{type:"elem",elem:r}]},t);return Ve.makeSpan(["mord","accentunder"],[s],t)},mathmlBuilder:(e,t)=>{const r=Ct(e.label),n=new gt.MathNode("munder",[vt(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});const Lt=e=>{const t=new gt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};je({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n,funcName:o}=e;return{type:"xArrow",mode:n.mode,label:o,body:t[0],below:r[0]}},htmlBuilder(e,t){const r=t.style;let n=t.havingStyle(r.sup());const o=Ve.wrapFragment(ht(e.body,n,t),t),s="\\x"===e.label.slice(0,2)?"x":"cd";let i;o.classes.push(s+"-arrow-pad"),e.below&&(n=t.havingStyle(r.sub()),i=Ve.wrapFragment(ht(e.below,n,t),t),i.classes.push(s+"-arrow-pad"));const a=Nt(e,t),l=-t.fontMetrics().axisHeight+.5*a.height;let h,c=-t.fontMetrics().axisHeight-.5*a.height-.111;if((o.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=o.depth),i){const e=-t.fontMetrics().axisHeight+i.height+.5*a.height+.111;h=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:a,shift:l},{type:"elem",elem:i,shift:e}]},t)}else h=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:a,shift:l}]},t);return h.children[0].children[0].children[1].classes.push("svg-align"),Ve.makeSpan(["mrel","x-arrow"],[h],t)},mathmlBuilder(e,t){const r=Ct(e.label);let n;if(r.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){const o=Lt(vt(e.body,t));if(e.below){const s=Lt(vt(e.below,t));n=new gt.MathNode("munderover",[r,s,o])}else n=new gt.MathNode("mover",[r,o])}else if(e.below){const o=Lt(vt(e.below,t));n=new gt.MathNode("munder",[r,o])}else n=Lt(),n=new gt.MathNode("mover",[r,n]);return n}});const Dt=Ve.makeSpan;function Vt(e,t){const r=nt(e.body,t,!0);return Dt([e.mclass],r,t)}function Pt(e,t){let r;const n=xt(e.body,t);return"minner"===e.mclass?r=new gt.MathNode("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0],r.type="mi"):r=new gt.MathNode("mi",n):(e.isCharacterBox?(r=n[0],r.type="mo"):r=new gt.MathNode("mo",n),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}je({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:Ke(o),isCharacterBox:l.isCharacterBox(o)}},htmlBuilder:Vt,mathmlBuilder:Pt});const Ft=e=>{const t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};je({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){let{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:Ft(t[0]),body:Ke(t[1]),isCharacterBox:l.isCharacterBox(t[1])}}}),je({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){let{parser:r,funcName:n}=e;const o=t[1],s=t[0];let i;i="\\stackrel"!==n?Ft(o):"mrel";const a={type:"op",mode:o.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:Ke(o)},h={type:"supsub",mode:s.mode,base:a,sup:"\\underset"===n?null:s,sub:"\\underset"===n?s:null};return{type:"mclass",mode:r.mode,mclass:i,body:[h],isCharacterBox:l.isCharacterBox(h)}},htmlBuilder:Vt,mathmlBuilder:Pt}),je({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:Ft(t[0]),body:Ke(t[0])}},htmlBuilder(e,t){const r=nt(e.body,t,!0),n=Ve.makeSpan([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(e,t){const r=xt(e.body,t),n=new gt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});const Gt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Ut=e=>"textord"===e.type&&"@"===e.text;function Yt(e,t,r){const n=Gt[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{const e={type:"atom",text:n,mode:"math",family:"rel"},o={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[e],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{const e={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[e],[])}default:return{type:"textord",text:" ",mode:"math"}}}je({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder(e,t){const r=t.havingStyle(t.style.sup()),n=Ve.wrapFragment(ht(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=F(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(e,t){let r=new gt.MathNode("mrow",[vt(e.label,t)]);return r=new gt.MathNode("mpadded",[r]),r.setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new gt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),je({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){let{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){const r=Ve.wrapFragment(ht(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(e,t){return new gt.MathNode("mrow",[vt(e.fragment,t)])}}),je({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;const o=qt(t[0],"ordgroup").body;let s="";for(let e=0;e=1114111)throw new n("\\@char with invalid code point "+s);return a<=65535?i=String.fromCharCode(a):(a-=65536,i=String.fromCharCode(55296+(a>>10),56320+(1023&a))),{type:"textord",mode:r.mode,text:i}}});const Xt=(e,t)=>{const r=nt(e.body,t.withColor(e.color),!1);return Ve.makeFragment(r)},Wt=(e,t)=>{const r=xt(e.body,t.withColor(e.color)),n=new gt.MathNode("mstyle",r);return n.setAttribute("mathcolor",e.color),n};je({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){let{parser:r}=e;const n=qt(t[0],"color-token").color,o=t[1];return{type:"color",mode:r.mode,color:n,body:Ke(o)}},htmlBuilder:Xt,mathmlBuilder:Wt}),je({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){let{parser:r,breakOnTokenText:n}=e;const o=qt(t[0],"color-token").color;r.gullet.macros.set("\\current@color",o);const s=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:o,body:s}},htmlBuilder:Xt,mathmlBuilder:Wt}),je({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){let{parser:n}=e;const o="["===n.gullet.future().text?n.parseSizeGroup(!0):null,s=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:s,size:o&&qt(o,"size").value}},htmlBuilder(e,t){const r=Ve.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=F(P(e.size,t)))),r},mathmlBuilder(e,t){const r=new gt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",F(P(e.size,t)))),r}});const _t={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},jt=e=>{const t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},$t=(e,t,r,n)=>{let o=e.gullet.macros.get(r.text);null==o&&(r.noexpand=!0,o={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,o,n)};je({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t,funcName:r}=e;t.consumeSpaces();const o=t.fetch();if(_t[o.text])return"\\global"!==r&&"\\\\globallong"!==r||(o.text=_t[o.text]),qt(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",o)}}),je({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e,o=t.gullet.popToken();const s=o.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new n("Expected a control sequence",o);let i,a=0;const l=[[]];for(;"{"!==t.gullet.future().text;)if(o=t.gullet.popToken(),"#"===o.text){if("{"===t.gullet.future().text){i=t.gullet.future(),l[a].push("{");break}if(o=t.gullet.popToken(),!/^[1-9]$/.test(o.text))throw new n('Invalid argument number "'+o.text+'"');if(parseInt(o.text)!==a+1)throw new n('Argument number "'+o.text+'" out of order');a++,l.push([])}else{if("EOF"===o.text)throw new n("Expected a macro definition");l[a].push(o.text)}let{tokens:h}=t.gullet.consumeArg();return i&&h.unshift(i),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h),h.reverse()),t.gullet.macros.set(s,{tokens:h,numArgs:a,delimiters:l},r===_t[r]),{type:"internal",mode:t.mode}}}),je({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=jt(t.gullet.popToken());t.gullet.consumeSpaces();const o=(e=>{let t=e.gullet.popToken();return"="===t.text&&(t=e.gullet.popToken()," "===t.text&&(t=e.gullet.popToken())),t})(t);return $t(t,n,o,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),je({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=jt(t.gullet.popToken()),o=t.gullet.popToken(),s=t.gullet.popToken();return $t(t,n,s,"\\\\globalfuture"===r),t.gullet.pushToken(s),t.gullet.pushToken(o),{type:"internal",mode:t.mode}}});const Zt=function(e,t,r){const n=N(oe.math[e]&&oe.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},Kt=function(e,t,r,n){const o=r.havingBaseStyle(t),s=Ve.makeSpan(n.concat(o.sizingClasses(r)),[e],r),i=o.sizeMultiplier/r.sizeMultiplier;return s.height*=i,s.depth*=i,s.maxFontSize=o.sizeMultiplier,s},Jt=function(e,t,r){const n=t.havingBaseStyle(r),o=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=F(o),e.height-=o,e.depth+=o},Qt=function(e,t,r,n,o,s){const i=function(e,t,r,n){return Ve.makeSymbol(e,"Size"+t+"-Regular",r,n)}(e,t,o,n),a=Kt(Ve.makeSpan(["delimsizing","size"+t],[i],n),w.TEXT,n,s);return r&&Jt(a,n,w.TEXT),a},er=function(e,t,r){let n;n="Size1-Regular"===t?"delim-size1":"delim-size4";return{type:"elem",elem:Ve.makeSpan(["delimsizinginner",n],[Ve.makeSpan([],[Ve.makeSymbol(e,t,r)])])}},tr=function(e,t,r){const n=T["Size4-Regular"][e.charCodeAt(0)]?T["Size4-Regular"][e.charCodeAt(0)][4]:T["Size1-Regular"][e.charCodeAt(0)][4],o=new J("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),s=new K([o],{width:F(n),height:F(t),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),i=Ve.makeSvgSpan([],[s],r);return i.height=t,i.style.height=F(t),i.style.width=F(n),{type:"elem",elem:i}},rr={type:"kern",size:-.008},nr=["|","\\lvert","\\rvert","\\vert"],or=["\\|","\\lVert","\\rVert","\\Vert"],sr=function(e,t,r,n,o,s){let i,a,h,c,m="",p=0;i=h=c=e,a=null;let u="Size1-Regular";"\\uparrow"===e?h=c="\u23d0":"\\Uparrow"===e?h=c="\u2016":"\\downarrow"===e?i=h="\u23d0":"\\Downarrow"===e?i=h="\u2016":"\\updownarrow"===e?(i="\\uparrow",h="\u23d0",c="\\downarrow"):"\\Updownarrow"===e?(i="\\Uparrow",h="\u2016",c="\\Downarrow"):l.contains(nr,e)?(h="\u2223",m="vert",p=333):l.contains(or,e)?(h="\u2225",m="doublevert",p=556):"["===e||"\\lbrack"===e?(i="\u23a1",h="\u23a2",c="\u23a3",u="Size4-Regular",m="lbrack",p=667):"]"===e||"\\rbrack"===e?(i="\u23a4",h="\u23a5",c="\u23a6",u="Size4-Regular",m="rbrack",p=667):"\\lfloor"===e||"\u230a"===e?(h=i="\u23a2",c="\u23a3",u="Size4-Regular",m="lfloor",p=667):"\\lceil"===e||"\u2308"===e?(i="\u23a1",h=c="\u23a2",u="Size4-Regular",m="lceil",p=667):"\\rfloor"===e||"\u230b"===e?(h=i="\u23a5",c="\u23a6",u="Size4-Regular",m="rfloor",p=667):"\\rceil"===e||"\u2309"===e?(i="\u23a4",h=c="\u23a5",u="Size4-Regular",m="rceil",p=667):"("===e||"\\lparen"===e?(i="\u239b",h="\u239c",c="\u239d",u="Size4-Regular",m="lparen",p=875):")"===e||"\\rparen"===e?(i="\u239e",h="\u239f",c="\u23a0",u="Size4-Regular",m="rparen",p=875):"\\{"===e||"\\lbrace"===e?(i="\u23a7",a="\u23a8",c="\u23a9",h="\u23aa",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(i="\u23ab",a="\u23ac",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(i="\u23a7",c="\u23a9",h="\u23aa",u="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(i="\u23ab",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(i="\u23a7",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(i="\u23ab",c="\u23a9",h="\u23aa",u="Size4-Regular");const d=Zt(i,u,o),g=d.height+d.depth,f=Zt(h,u,o),b=f.height+f.depth,y=Zt(c,u,o),x=y.height+y.depth;let v=0,k=1;if(null!==a){const e=Zt(a,u,o);v=e.height+e.depth,k=2}const S=g+x+v,M=S+Math.max(0,Math.ceil((t-S)/(k*b)))*k*b;let z=n.fontMetrics().axisHeight;r&&(z*=n.sizeMultiplier);const A=M/2-z,T=[];if(m.length>0){const e=M-g-x,t=Math.round(1e3*M),r=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(m,Math.round(1e3*e)),o=new J(m,r),s=(p/1e3).toFixed(3)+"em",i=(t/1e3).toFixed(3)+"em",a=new K([o],{width:s,height:i,viewBox:"0 0 "+p+" "+t}),l=Ve.makeSvgSpan([],[a],n);l.height=t/1e3,l.style.width=s,l.style.height=i,T.push({type:"elem",elem:l})}else{if(T.push(er(c,u,o)),T.push(rr),null===a){const e=M-g-x+.016;T.push(tr(h,e,n))}else{const e=(M-g-x-v)/2+.016;T.push(tr(h,e,n)),T.push(rr),T.push(er(a,u,o)),T.push(rr),T.push(tr(h,e,n))}T.push(rr),T.push(er(i,u,o))}const B=n.havingBaseStyle(w.TEXT),C=Ve.makeVList({positionType:"bottom",positionData:A,children:T},B);return Kt(Ve.makeSpan(["delimsizing","mult"],[C],B),w.TEXT,n,s)},ir=.08,ar=function(e,t,r,n,o){const s=function(e,t,r){t*=1e3;let n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,M);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+t+"H400000v"+(40+e)+"H742z"}(t,M,r)}return n}(e,n,r),i=new J(e,s),a=new K([i],{width:"400em",height:F(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Ve.makeSvgSpan(["hide-tail"],[a],o)},lr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"],hr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"],cr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],mr=[0,1.2,1.8,2.4,3],pr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],ur=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"stack"}],dr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],gr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},fr=function(e,t,r,n){for(let o=Math.min(2,3-n.style.size);ot)return r[o]}return r[r.length-1]},br=function(e,t,r,n,o,s){let i;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),i=l.contains(cr,e)?pr:l.contains(lr,e)?dr:ur;const a=fr(e,t,i,n);return"small"===a.type?function(e,t,r,n,o,s){const i=Ve.makeSymbol(e,"Main-Regular",o,n),a=Kt(i,t,n,s);return r&&Jt(a,n,t),a}(e,a.style,r,n,o,s):"large"===a.type?Qt(e,a.size,r,n,o,s):sr(e,t,r,n,o,s)};var yr={sqrtImage:function(e,t){const r=t.havingBaseSizing(),n=fr("\\surd",e*r.sizeMultiplier,dr,r);let o=r.sizeMultiplier;const s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness);let i,a,l=0,h=0,c=0;return"small"===n.type?(c=1e3+1e3*s+80,e<1?o=1:e<1.4&&(o=.7),l=(1+s+ir)/o,h=(1+s)/o,i=ar("sqrtMain",l,c,s,t),i.style.minWidth="0.853em",a=.833/o):"large"===n.type?(c=1080*mr[n.size],h=(mr[n.size]+s)/o,l=(mr[n.size]+s+ir)/o,i=ar("sqrtSize"+n.size,l,c,s,t),i.style.minWidth="1.02em",a=1/o):(l=e+s+ir,h=e+s,c=Math.floor(1e3*e+s)+80,i=ar("sqrtTall",l,c,s,t),i.style.minWidth="0.742em",a=1.056),i.height=h,i.style.height=F(l),{span:i,advanceWidth:a,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,o,s){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),l.contains(lr,e)||l.contains(cr,e))return Qt(e,t,!1,r,o,s);if(l.contains(hr,e))return sr(e,mr[t],!1,r,o,s);throw new n("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:mr,customSizedDelim:br,leftRightDelim:function(e,t,r,n,o,s){const i=n.fontMetrics().axisHeight*n.sizeMultiplier,a=5/n.fontMetrics().ptPerEm,l=Math.max(t-i,r+i),h=Math.max(l/500*901,2*l-a);return br(e,h,!0,n,o,s)}};const xr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},wr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function vr(e,t){const r=Rt(e);if(r&&l.contains(wr,r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function kr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}je({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{const r=vr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:xr[e.funcName].size,mclass:xr[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?Ve.makeSpan([e.mclass]):yr.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{const t=[];"."!==e.delim&&t.push(ft(e.delim,e.mode));const r=new gt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");const n=F(yr.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),je({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:vr(t[0],e).text,color:r}}}),je({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=vr(t[0],e),n=e.parser;++n.leftrightDepth;const o=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);const s=qt(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:o,left:r.text,right:s.delim,rightColor:s.color}},htmlBuilder:(e,t)=>{kr(e);const r=nt(e.body,t,!0,["mopen","mclose"]);let n,o,s=0,i=0,a=!1;for(let e=0;e{kr(e);const r=xt(e.body,t);if("."!==e.left){const t=new gt.MathNode("mo",[ft(e.left,e.mode)]);t.setAttribute("fence","true"),r.unshift(t)}if("."!==e.right){const t=new gt.MathNode("mo",[ft(e.right,e.mode)]);t.setAttribute("fence","true"),e.rightColor&&t.setAttribute("mathcolor",e.rightColor),r.push(t)}return bt(r)}}),je({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=vr(t[0],e);if(!e.parser.leftrightDepth)throw new n("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{let r;if("."===e.delim)r=lt(t,[]);else{r=yr.sizedDelim(e.delim,1,t,e.mode,[]);const n={delim:e.delim,options:t};r.isMiddle=n}return r},mathmlBuilder:(e,t)=>{const r="\\vert"===e.delim||"|"===e.delim?ft("|","text"):ft(e.delim,e.mode),n=new gt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});const Sr=(e,t)=>{const r=Ve.wrapFragment(ht(e.body,t),t),n=e.label.slice(1);let o,s=t.sizeMultiplier,i=0;const a=l.isCharacterBox(e.body);if("sout"===n)o=Ve.makeSpan(["stretchy","sout"]),o.height=t.fontMetrics().defaultRuleThickness/s,i=-.5*t.fontMetrics().xHeight;else if("phase"===n){const e=P({number:.6,unit:"pt"},t),n=P({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;const a=r.height+r.depth+e+n;r.style.paddingLeft=F(a/2+e);const l=Math.floor(1e3*a*s),c="M400000 "+(h=l)+" H0 L"+h/2+" 0 l65 45 L145 "+(h-80)+" H400000z",m=new K([new J("phase",c)],{width:"400em",height:F(l/1e3),viewBox:"0 0 400000 "+l,preserveAspectRatio:"xMinYMin slice"});o=Ve.makeSvgSpan(["hide-tail"],[m],t),o.style.height=F(a),i=r.depth+e+n}else{/cancel/.test(n)?a||r.classes.push("cancel-pad"):"angl"===n?r.classes.push("anglpad"):r.classes.push("boxpad");let s=0,l=0,h=0;/box/.test(n)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),s=t.fontMetrics().fboxsep+("colorbox"===n?0:h),l=s):"angl"===n?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s=4*h,l=Math.max(0,.25-r.depth)):(s=a?.2:0,l=s),o=Bt(r,n,s,l,t),/fbox|boxed|fcolorbox/.test(n)?(o.style.borderStyle="solid",o.style.borderWidth=F(h)):"angl"===n&&.049!==h&&(o.style.borderTopWidth=F(h),o.style.borderRightWidth=F(h)),i=r.depth+l,e.backgroundColor&&(o.style.backgroundColor=e.backgroundColor,e.borderColor&&(o.style.borderColor=e.borderColor))}var h;let c;if(e.backgroundColor)c=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:i},{type:"elem",elem:r,shift:0}]},t);else{const e=/cancel|phase/.test(n)?["svg-align"]:[];c=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:o,shift:i,wrapperClasses:e}]},t)}return/cancel/.test(n)&&(c.height=r.height,c.depth=r.depth),/cancel/.test(n)&&!a?Ve.makeSpan(["mord","cancel-lap"],[c],t):Ve.makeSpan(["mord"],[c],t)},Mr=(e,t)=>{let r=0;const n=new gt.MathNode(e.label.indexOf("colorbox")>-1?"mpadded":"menclose",[vt(e.body,t)]);switch(e.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){const r=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+r+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};je({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=qt(t[0],"color-token").color,i=t[1];return{type:"enclose",mode:n.mode,label:o,backgroundColor:s,body:i}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=qt(t[0],"color-token").color,i=qt(t[1],"color-token").color,a=t[2];return{type:"enclose",mode:n.mode,label:o,backgroundColor:i,borderColor:s,body:a}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),je({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"enclose",mode:r.mode,label:n,body:o}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});const zr={};function Ar(e){let{type:t,names:r,props:n,handler:o,htmlBuilder:s,mathmlBuilder:i}=e;const a={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:o};for(let e=0;e{if(!e.parser.settings.displayMode)throw new n("{"+e.envName+"} can be used only in display mode.")};function Rr(e){if(-1===e.indexOf("ed"))return-1===e.indexOf("*")}function Hr(e,t,r){let{hskipBeforeAndAfter:o,addJot:s,cols:i,arraystretch:a,colSeparationType:l,autoTag:h,singleRow:c,emptySingleRow:m,maxNumCols:p,leqno:u}=t;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!a){const t=e.gullet.expandMacroAsText("\\arraystretch");if(null==t)a=1;else if(a=parseFloat(t),!a||a<0)throw new n("Invalid \\arraystretch: "+t)}e.gullet.beginGroup();let d=[];const g=[d],f=[],b=[],y=null!=h?[]:void 0;function x(){h&&e.gullet.macros.set("\\@eqnsw","1",!0)}function w(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new Nr("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(Boolean(h)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(x(),b.push(qr(e));;){let t=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),t={type:"ordgroup",mode:e.mode,body:t},r&&(t={type:"styling",mode:e.mode,style:r,body:[t]}),d.push(t);const o=e.fetch().text;if("&"===o){if(p&&d.length===p){if(c||l)throw new n("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===o){w(),1===d.length&&"styling"===t.type&&0===t.body[0].body.length&&(g.length>1||!m)&&g.pop(),b.length0&&(x+=.25),c.push({pos:x,isDashed:e[t]})}for(v(i[0]),r=0;r0&&(p+=y,le)))for(r=0;r=a)continue;(o>0||e.hskipBeforeAndAfter)&&(i=l.deflt(c.pregap,u),0!==i&&(z=Ve.makeSpan(["arraycolsep"],[]),z.style.width=F(i),M.push(z)));let d=[];for(r=0;r0){const e=Ve.makeLineSpan("hline",t,m),r=Ve.makeLineSpan("hdashline",t,m),n=[{type:"elem",elem:h,shift:0}];for(;c.length>0;){const t=c.pop(),o=t.pos-k;t.isDashed?n.push({type:"elem",elem:r,shift:o}):n.push({type:"elem",elem:e,shift:o})}h=Ve.makeVList({positionType:"individualShift",children:n},t)}if(0===T.length)return Ve.makeSpan(["mord"],[h],t);{let e=Ve.makeVList({positionType:"individualShift",children:T},t);return e=Ve.makeSpan(["tag"],[e],t),Ve.makeFragment([h,e])}},Lr={c:"center ",l:"left ",r:"right "},Dr=function(e,t){const r=[],n=new gt.MathNode("mtd",[],["mtr-glue"]),o=new gt.MathNode("mtd",[],["mml-eqn-num"]);for(let s=0;s0){const t=e.cols;let r="",n=!1,o=0,i=t.length;"separator"===t[0].type&&(a+="top ",o=1),"separator"===t[t.length-1].type&&(a+="bottom ",i-=1);for(let e=o;e0?"left ":"",a+=c[c.length-1].length>0?"right ":"";for(let e=1;e-1?"alignat":"align",s="split"===e.envName,i=Hr(e.parser,{cols:r,addJot:!0,autoTag:s?void 0:Rr(e.envName),emptySingleRow:!0,colSeparationType:o,maxNumCols:s?2:void 0,leqno:e.parser.settings.leqno},"display");let a,l=0;const h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){let e="";for(let r=0;r0&&c&&(n=1),r[e]={type:"align",align:t,pregap:n,postgap:0}}return i.colSeparationType=c?"align":"alignat",i};Ar({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){const r=(Rt(t[0])?[t[0]]:qt(t[0],"ordgroup").body).map((function(e){const t=It(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new n("Unknown column alignment: "+t,e)})),o={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Hr(e.parser,o,Or(e.envName))},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){const t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")];let r="c";const o={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){const t=e.parser;if(t.consumeSpaces(),"["===t.fetch().text){if(t.consume(),t.consumeSpaces(),r=t.fetch().text,-1==="lcr".indexOf(r))throw new n("Expected l or c or r",t.nextToken);t.consume(),t.consumeSpaces(),t.expect("]"),t.consume(),o.cols=[{type:"align",align:r}]}}const s=Hr(e.parser,o,Or(e.envName)),i=Math.max(0,...s.body.map((e=>e.length)));return s.cols=new Array(i).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){const t=Hr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){const r=(Rt(t[0])?[t[0]]:qt(t[0],"ordgroup").body).map((function(e){const t=It(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)}));if(r.length>1)throw new n("{subarray} can contain only one column");let o={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if(o=Hr(e.parser,o,"script"),o.body.length>0&&o.body[0].length>1)throw new n("{subarray} can contain only one column");return o},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){const t=Hr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},Or(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Vr,htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){l.contains(["gather","gather*"],e.envName)&&Ir(e);const t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Rr(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Hr(e.parser,t,"display")},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Vr,htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Ir(e);const t={autoTag:Rr(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Hr(e.parser,t,"display")},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["CD"],props:{numArgs:0},handler(e){return Ir(e),function(e){const t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();const r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}let r=[];const o=[r];for(let a=0;a-1);else{if(!("<>AV".indexOf(o)>-1))throw new n('Expected one of "<>AV=|." after @',l[t]);for(let e=0;e<2;e++){let r=!0;for(let h=t+1;h{const r=e.font,n=t.withFont(r);return ht(e.body,n)},Gr=(e,t)=>{const r=e.font,n=t.withFont(r);return vt(e.body,n)},Ur={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};je({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=Ze(t[0]);let s=n;return s in Ur&&(s=Ur[s]),{type:"font",mode:r.mode,font:s.slice(1),body:o}},htmlBuilder:Fr,mathmlBuilder:Gr}),je({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{let{parser:r}=e;const n=t[0],o=l.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Ft(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:o}}}),je({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n,breakOnTokenText:o}=e;const{mode:s}=r,i=r.parseExpression(!0,o);return{type:"font",mode:s,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:i}}},htmlBuilder:Fr,mathmlBuilder:Gr});const Yr=(e,t)=>{let r=t;return"display"===e?r=r.id>=w.SCRIPT.id?r.text():w.DISPLAY:"text"===e&&r.size===w.DISPLAY.size?r=w.TEXT:"script"===e?r=w.SCRIPT:"scriptscript"===e&&(r=w.SCRIPTSCRIPT),r},Xr=(e,t)=>{const r=Yr(e.size,t.style),n=r.fracNum(),o=r.fracDen();let s;s=t.havingStyle(n);const i=ht(e.numer,s,t);if(e.continued){const e=8.5/t.fontMetrics().ptPerEm,r=3.5/t.fontMetrics().ptPerEm;i.height=i.height0?3*c:7*c,u=t.fontMetrics().denom1):(h>0?(m=t.fontMetrics().num2,p=c):(m=t.fontMetrics().num3,p=3*c),u=t.fontMetrics().denom2),l){const e=t.fontMetrics().axisHeight;m-i.depth-(e+.5*h){let r=new gt.MathNode("mfrac",[vt(e.numer,t),vt(e.denom,t)]);if(e.hasBarLine){if(e.barSize){const n=P(e.barSize,t);r.setAttribute("linethickness",F(n))}}else r.setAttribute("linethickness","0px");const n=Yr(e.size,t.style);if(n.size!==t.style.size){r=new gt.MathNode("mstyle",[r]);const e=n.size===w.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",e),r.setAttribute("scriptlevel","0")}if(null!=e.leftDelim||null!=e.rightDelim){const t=[];if(null!=e.leftDelim){const r=new gt.MathNode("mo",[new gt.TextNode(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}if(t.push(r),null!=e.rightDelim){const r=new gt.MathNode("mo",[new gt.TextNode(e.rightDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}return bt(t)}return r};je({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];let i,a=null,l=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":i=!0;break;case"\\\\atopfrac":i=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":i=!1,a="(",l=")";break;case"\\\\bracefrac":i=!1,a="\\{",l="\\}";break;case"\\\\brackfrac":i=!1,a="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text"}return{type:"genfrac",mode:r.mode,continued:!1,numer:o,denom:s,hasBarLine:i,leftDelim:a,rightDelim:l,size:h,barSize:null}},htmlBuilder:Xr,mathmlBuilder:Wr}),je({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:o,denom:s,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),je({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){let t,{parser:r,funcName:n,token:o}=e;switch(n){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:o}}});const _r=["display","text","script","scriptscript"],jr=function(e){let t=null;return e.length>0&&(t=e,t="."===t?null:t),t};je({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){let{parser:r}=e;const n=t[4],o=t[5],s=Ze(t[0]),i="atom"===s.type&&"open"===s.family?jr(s.text):null,a=Ze(t[1]),l="atom"===a.type&&"close"===a.family?jr(a.text):null,h=qt(t[2],"size");let c,m=null;h.isBlank?c=!0:(m=h.value,c=m.number>0);let p="auto",u=t[3];if("ordgroup"===u.type){if(u.body.length>0){const e=qt(u.body[0],"textord");p=_r[Number(e.text)]}}else u=qt(u,"textord"),p=_r[Number(u.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:o,continued:!1,hasBarLine:c,barSize:m,leftDelim:i,rightDelim:l,size:p}},htmlBuilder:Xr,mathmlBuilder:Wr}),je({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){let{parser:r,funcName:n,token:o}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:qt(t[0],"size").value,token:o}}}),je({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(qt(t[1],"infix").size),i=t[2],a=s.number>0;return{type:"genfrac",mode:r.mode,numer:o,denom:i,continued:!1,hasBarLine:a,barSize:s,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Xr,mathmlBuilder:Wr});const $r=(e,t)=>{const r=t.style;let n,o;"supsub"===e.type?(n=e.sup?ht(e.sup,t.havingStyle(r.sup()),t):ht(e.sub,t.havingStyle(r.sub()),t),o=qt(e.base,"horizBrace")):o=qt(e,"horizBrace");const s=ht(o.base,t.havingBaseStyle(w.DISPLAY)),i=Nt(o,t);let a;if(o.isOver?(a=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:i}]},t),a.children[0].children[0].children[1].classes.push("svg-align")):(a=Ve.makeVList({positionType:"bottom",positionData:s.depth+.1+i.height,children:[{type:"elem",elem:i},{type:"kern",size:.1},{type:"elem",elem:s}]},t),a.children[0].children[0].children[0].classes.push("svg-align")),n){const e=Ve.makeSpan(["mord",o.isOver?"mover":"munder"],[a],t);a=o.isOver?Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:.2},{type:"elem",elem:n}]},t):Ve.makeVList({positionType:"bottom",positionData:e.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:e}]},t)}return Ve.makeSpan(["mord",o.isOver?"mover":"munder"],[a],t)};je({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:$r,mathmlBuilder:(e,t)=>{const r=Ct(e.label);return new gt.MathNode(e.isOver?"mover":"munder",[vt(e.base,t),r])}}),je({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[1],o=qt(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:o})?{type:"href",mode:r.mode,href:o,body:Ke(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{const r=nt(e.body,t,!1);return Ve.makeAnchor(e.href,[],r,t)},mathmlBuilder:(e,t)=>{let r=wt(e.body,t);return r instanceof ut||(r=new ut("mrow",[r])),r.setAttribute("href",e.href),r}}),je({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=qt(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");const o=[];for(let e=0;e{let{parser:r,funcName:o,token:s}=e;const i=qt(t[0],"raw").string,a=t[1];let l;r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");const h={};switch(o){case"\\htmlClass":h.class=i,l={command:"\\htmlClass",class:i};break;case"\\htmlId":h.id=i,l={command:"\\htmlId",id:i};break;case"\\htmlStyle":h.style=i,l={command:"\\htmlStyle",style:i};break;case"\\htmlData":{const e=i.split(",");for(let t=0;t{const r=nt(e.body,t,!1),n=["enclosing"];e.attributes.class&&n.push(...e.attributes.class.trim().split(/\s+/));const o=Ve.makeSpan(n,r,t);for(const t in e.attributes)"class"!==t&&e.attributes.hasOwnProperty(t)&&o.setAttribute(t,e.attributes[t]);return o},mathmlBuilder:(e,t)=>wt(e.body,t)}),je({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:Ke(t[0]),mathml:Ke(t[1])}},htmlBuilder:(e,t)=>{const r=nt(e.html,t,!1);return Ve.makeFragment(r)},mathmlBuilder:(e,t)=>wt(e.mathml,t)});const Zr=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};{const t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new n("Invalid size: '"+e+"' in \\includegraphics");const r={number:+(t[1]+t[2]),unit:t[3]};if(!V(r))throw new n("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r}};je({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{let{parser:o}=e,s={number:0,unit:"em"},i={number:.9,unit:"em"},a={number:0,unit:"em"},l="";if(r[0]){const e=qt(r[0],"raw").string.split(",");for(let t=0;t{const r=P(e.height,t);let n=0;e.totalheight.number>0&&(n=P(e.totalheight,t)-r);let o=0;e.width.number>0&&(o=P(e.width,t));const s={height:F(r+n)};o>0&&(s.width=F(o)),n>0&&(s.verticalAlign=F(-n));const i=new j(e.src,e.alt,s);return i.height=r,i.depth=n,i},mathmlBuilder:(e,t)=>{const r=new gt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);const n=P(e.height,t);let o=0;if(e.totalheight.number>0&&(o=P(e.totalheight,t)-n,r.setAttribute("valign",F(-o))),r.setAttribute("height",F(n+o)),e.width.number>0){const n=P(e.width,t);r.setAttribute("width",F(n))}return r.setAttribute("src",e.src),r}}),je({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=qt(t[0],"size");if(r.settings.strict){const e="m"===n[1],t="mu"===o.value.unit;e?(t||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+o.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):t&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:o.value}},htmlBuilder(e,t){return Ve.makeGlue(e.dimension,t)},mathmlBuilder(e,t){const r=P(e.dimension,t);return new gt.SpaceNode(r)}}),je({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:o}},htmlBuilder:(e,t)=>{let r;"clap"===e.alignment?(r=Ve.makeSpan([],[ht(e.body,t)]),r=Ve.makeSpan(["inner"],[r],t)):r=Ve.makeSpan(["inner"],[ht(e.body,t)]);const n=Ve.makeSpan(["fix"],[]);let o=Ve.makeSpan([e.alignment],[r,n],t);const s=Ve.makeSpan(["strut"]);return s.style.height=F(o.height+o.depth),o.depth&&(s.style.verticalAlign=F(-o.depth)),o.children.unshift(s),o=Ve.makeSpan(["thinbox"],[o],t),Ve.makeSpan(["mord","vbox"],[o],t)},mathmlBuilder:(e,t)=>{const r=new gt.MathNode("mpadded",[vt(e.body,t)]);if("rlap"!==e.alignment){const t="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",t+"width")}return r.setAttribute("width","0px"),r}}),je({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){let{funcName:r,parser:n}=e;const o=n.mode;n.switchMode("math");const s="\\("===r?"\\)":"$",i=n.parseExpression(!1,s);return n.expect(s),n.switchMode(o),{type:"styling",mode:n.mode,style:"text",body:i}}}),je({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new n("Mismatched "+e.funcName)}});const Kr=(e,t)=>{switch(t.style.size){case w.DISPLAY.size:return e.display;case w.TEXT.size:return e.text;case w.SCRIPT.size:return e.script;case w.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};je({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:Ke(t[0]),text:Ke(t[1]),script:Ke(t[2]),scriptscript:Ke(t[3])}},htmlBuilder:(e,t)=>{const r=Kr(e,t),n=nt(r,t,!1);return Ve.makeFragment(n)},mathmlBuilder:(e,t)=>{const r=Kr(e,t);return wt(r,t)}});const Jr=(e,t,r,n,o,s,i)=>{e=Ve.makeSpan([],[e]);const a=r&&l.isCharacterBox(r);let h,c,m;if(t){const e=ht(t,n.havingStyle(o.sup()),n);c={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-e.depth)}}if(r){const e=ht(r,n.havingStyle(o.sub()),n);h={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-e.height)}}if(c&&h){const t=n.fontMetrics().bigOpSpacing5+h.elem.height+h.elem.depth+h.kern+e.depth+i;m=Ve.makeVList({positionType:"bottom",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:F(-s)},{type:"kern",size:h.kern},{type:"elem",elem:e},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:F(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(h){const t=e.height-i;m=Ve.makeVList({positionType:"top",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:F(-s)},{type:"kern",size:h.kern},{type:"elem",elem:e}]},n)}else{if(!c)return e;{const t=e.depth+i;m=Ve.makeVList({positionType:"bottom",positionData:t,children:[{type:"elem",elem:e},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:F(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}}const p=[m];if(h&&0!==s&&!a){const e=Ve.makeSpan(["mspace"],[],n);e.style.marginRight=F(s),p.unshift(e)}return Ve.makeSpan(["mop","op-limits"],p,n)},Qr=["\\smallint"],en=(e,t)=>{let r,n,o,s=!1;"supsub"===e.type?(r=e.sup,n=e.sub,o=qt(e.base,"op"),s=!0):o=qt(e,"op");const i=t.style;let a,h=!1;if(i.size===w.DISPLAY.size&&o.symbol&&!l.contains(Qr,o.name)&&(h=!0),o.symbol){const e=h?"Size2-Regular":"Size1-Regular";let r="";if("\\oiint"!==o.name&&"\\oiiint"!==o.name||(r=o.name.slice(1),o.name="oiint"===r?"\\iint":"\\iiint"),a=Ve.makeSymbol(o.name,e,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),r.length>0){const e=a.italic,n=Ve.staticSvg(r+"Size"+(h?"2":"1"),t);a=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:0},{type:"elem",elem:n,shift:h?.08:0}]},t),o.name="\\"+r,a.classes.unshift("mop"),a.italic=e}}else if(o.body){const e=nt(o.body,t,!0);1===e.length&&e[0]instanceof Z?(a=e[0],a.classes[0]="mop"):a=Ve.makeSpan(["mop"],e,t)}else{const e=[];for(let r=1;r{let r;if(e.symbol)r=new ut("mo",[ft(e.name,e.mode)]),l.contains(Qr,e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new ut("mo",xt(e.body,t));else{r=new ut("mi",[new dt(e.name.slice(1))]);const t=new ut("mo",[ft("\u2061","text")]);r=e.parentIsSupSub?new ut("mrow",[r,t]):pt([r,t])}return r},rn={"\u220f":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22c0":"\\bigwedge","\u22c1":"\\bigvee","\u22c2":"\\bigcap","\u22c3":"\\bigcup","\u2a00":"\\bigodot","\u2a01":"\\bigoplus","\u2a02":"\\bigotimes","\u2a04":"\\biguplus","\u2a06":"\\bigsqcup"};je({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a04","\u2a06"],props:{numArgs:0},handler:(e,t)=>{let{parser:r,funcName:n}=e,o=n;return 1===o.length&&(o=rn[o]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:o}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Ke(n)}},htmlBuilder:en,mathmlBuilder:tn});const nn={"\u222b":"\\int","\u222c":"\\iint","\u222d":"\\iiint","\u222e":"\\oint","\u222f":"\\oiint","\u2230":"\\oiiint"};je({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222b","\u222c","\u222d","\u222e","\u222f","\u2230"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e,n=r;return 1===n.length&&(n=nn[n]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:en,mathmlBuilder:tn});const on=(e,t)=>{let r,n,o,s,i=!1;if("supsub"===e.type?(r=e.sup,n=e.sub,o=qt(e.base,"operatorname"),i=!0):o=qt(e,"operatorname"),o.body.length>0){const e=o.body.map((e=>{const t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),r=nt(e,t.withFont("mathrm"),!0);for(let e=0;e{let{parser:r,funcName:n}=e;const o=t[0];return{type:"operatorname",mode:r.mode,body:Ke(o),alwaysHandleSupSub:"\\operatornamewithlimits"===n,limits:!1,parentIsSupSub:!1}},htmlBuilder:on,mathmlBuilder:(e,t)=>{let r=xt(e.body,t.withFont("mathrm")),n=!0;for(let e=0;ee.toText())).join("");r=[new gt.TextNode(e)]}const o=new gt.MathNode("mi",r);o.setAttribute("mathvariant","normal");const s=new gt.MathNode("mo",[ft("\u2061","text")]);return e.parentIsSupSub?new gt.MathNode("mrow",[o,s]):gt.newDocumentFragment([o,s])}}),Br("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),$e({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?Ve.makeFragment(nt(e.body,t,!1)):Ve.makeSpan(["mord"],nt(e.body,t,!0),t)},mathmlBuilder(e,t){return wt(e.body,t,!0)}}),je({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){let{parser:r}=e;const n=t[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(e,t){const r=ht(e.body,t.havingCrampedStyle()),n=Ve.makeLineSpan("overline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*o},{type:"elem",elem:n},{type:"kern",size:o}]},t);return Ve.makeSpan(["mord","overline"],[s],t)},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[new gt.TextNode("\u203e")]);r.setAttribute("stretchy","true");const n=new gt.MathNode("mover",[vt(e.body,t),r]);return n.setAttribute("accent","true"),n}}),je({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"phantom",mode:r.mode,body:Ke(n)}},htmlBuilder:(e,t)=>{const r=nt(e.body,t.withPhantom(),!1);return Ve.makeFragment(r)},mathmlBuilder:(e,t)=>{const r=xt(e.body,t);return new gt.MathNode("mphantom",r)}}),je({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"hphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{let r=Ve.makeSpan([],[ht(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(let e=0;e{const r=xt(Ke(e.body),t),n=new gt.MathNode("mphantom",r),o=new gt.MathNode("mpadded",[n]);return o.setAttribute("height","0px"),o.setAttribute("depth","0px"),o}}),je({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{const r=Ve.makeSpan(["inner"],[ht(e.body,t.withPhantom())]),n=Ve.makeSpan(["fix"],[]);return Ve.makeSpan(["mord","rlap"],[r,n],t)},mathmlBuilder:(e,t)=>{const r=xt(Ke(e.body),t),n=new gt.MathNode("mphantom",r),o=new gt.MathNode("mpadded",[n]);return o.setAttribute("width","0px"),o}}),je({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;const n=qt(t[0],"size").value,o=t[1];return{type:"raisebox",mode:r.mode,dy:n,body:o}},htmlBuilder(e,t){const r=ht(e.body,t),n=P(e.dy,t);return Ve.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){const r=new gt.MathNode("mpadded",[vt(e.body,t)]),n=e.dy.number+e.dy.unit;return r.setAttribute("voffset",n),r}}),je({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t}=e;return{type:"internal",mode:t.mode}}}),je({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(e,t,r){let{parser:n}=e;const o=r[0],s=qt(t[0],"size"),i=qt(t[1],"size");return{type:"rule",mode:n.mode,shift:o&&qt(o,"size").value,width:s.value,height:i.value}},htmlBuilder(e,t){const r=Ve.makeSpan(["mord","rule"],[],t),n=P(e.width,t),o=P(e.height,t),s=e.shift?P(e.shift,t):0;return r.style.borderRightWidth=F(n),r.style.borderTopWidth=F(o),r.style.bottom=F(s),r.width=n,r.height=o+s,r.depth=-s,r.maxFontSize=1.125*o*t.sizeMultiplier,r},mathmlBuilder(e,t){const r=P(e.width,t),n=P(e.height,t),o=e.shift?P(e.shift,t):0,s=t.color&&t.getColor()||"black",i=new gt.MathNode("mspace");i.setAttribute("mathbackground",s),i.setAttribute("width",F(r)),i.setAttribute("height",F(n));const a=new gt.MathNode("mpadded",[i]);return o>=0?a.setAttribute("height",F(o)):(a.setAttribute("height",F(o)),a.setAttribute("depth",F(-o))),a.setAttribute("voffset",F(o)),a}});const an=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];je({type:"sizing",names:an,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!1,r);return{type:"sizing",mode:o.mode,size:an.indexOf(n)+1,body:s}},htmlBuilder:(e,t)=>{const r=t.havingSize(e.size);return sn(e.body,r,t)},mathmlBuilder:(e,t)=>{const r=t.havingSize(e.size),n=xt(e.body,r),o=new gt.MathNode("mstyle",n);return o.setAttribute("mathsize",F(r.sizeMultiplier)),o}}),je({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{let{parser:n}=e,o=!1,s=!1;const i=r[0]&&qt(r[0],"ordgroup");if(i){let e="";for(let t=0;t{const r=Ve.makeSpan([],[ht(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(let e=0;e{const r=new gt.MathNode("mpadded",[vt(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),je({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n}=e;const o=r[0],s=t[0];return{type:"sqrt",mode:n.mode,body:s,index:o}},htmlBuilder(e,t){let r=ht(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=Ve.wrapFragment(r,t);const n=t.fontMetrics().defaultRuleThickness;let o=n;t.style.idr.height+r.depth+s&&(s=(s+c-r.height-r.depth)/2);const m=a.height-r.height-s-l;r.style.paddingLeft=F(h);const p=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+m)},{type:"elem",elem:a},{type:"kern",size:l}]},t);if(e.index){const r=t.havingStyle(w.SCRIPTSCRIPT),n=ht(e.index,r,t),o=.6*(p.height-p.depth),s=Ve.makeVList({positionType:"shift",positionData:-o,children:[{type:"elem",elem:n}]},t),i=Ve.makeSpan(["root"],[s]);return Ve.makeSpan(["mord","sqrt"],[i,p],t)}return Ve.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder(e,t){const{body:r,index:n}=e;return n?new gt.MathNode("mroot",[vt(r,t),vt(n,t)]):new gt.MathNode("msqrt",[vt(r,t)])}});const ln={display:w.DISPLAY,text:w.TEXT,script:w.SCRIPT,scriptscript:w.SCRIPTSCRIPT};je({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!0,r),i=n.slice(1,n.length-5);return{type:"styling",mode:o.mode,style:i,body:s}},htmlBuilder(e,t){const r=ln[e.style],n=t.havingStyle(r).withFont("");return sn(e.body,n,t)},mathmlBuilder(e,t){const r=ln[e.style],n=t.havingStyle(r),o=xt(e.body,n),s=new gt.MathNode("mstyle",o),i={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return s.setAttribute("scriptlevel",i[0]),s.setAttribute("displaystyle",i[1]),s}});$e({type:"supsub",htmlBuilder(e,t){const r=function(e,t){const r=e.base;if(r)return"op"===r.type?r.limits&&(t.style.size===w.DISPLAY.size||r.alwaysHandleSupSub)?en:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===w.DISPLAY.size||r.limits)?on:null:"accent"===r.type?l.isCharacterBox(r.base)?Ht:null:"horizBrace"===r.type&&!e.sub===r.isOver?$r:null;return null}(e,t);if(r)return r(e,t);const{base:n,sup:o,sub:s}=e,i=ht(n,t);let a,h;const c=t.fontMetrics();let m=0,p=0;const u=n&&l.isCharacterBox(n);if(o){const e=t.havingStyle(t.style.sup());a=ht(o,e,t),u||(m=i.height-e.fontMetrics().supDrop*e.sizeMultiplier/t.sizeMultiplier)}if(s){const e=t.havingStyle(t.style.sub());h=ht(s,e,t),u||(p=i.depth+e.fontMetrics().subDrop*e.sizeMultiplier/t.sizeMultiplier)}let d;d=t.style===w.DISPLAY?c.sup1:t.style.cramped?c.sup3:c.sup2;const g=t.sizeMultiplier,f=F(.5/c.ptPerEm/g);let b,y=null;if(h){const t=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(i instanceof Z||t)&&(y=F(-i.italic))}if(a&&h){m=Math.max(m,d,a.depth+.25*c.xHeight),p=Math.max(p,c.sub2);const e=4*c.defaultRuleThickness;if(m-a.depth-(h.height-p)0&&(m+=t,p-=t)}const r=[{type:"elem",elem:h,shift:p,marginRight:f,marginLeft:y},{type:"elem",elem:a,shift:-m,marginRight:f}];b=Ve.makeVList({positionType:"individualShift",children:r},t)}else if(h){p=Math.max(p,c.sub1,h.height-.8*c.xHeight);const e=[{type:"elem",elem:h,marginLeft:y,marginRight:f}];b=Ve.makeVList({positionType:"shift",positionData:p,children:e},t)}else{if(!a)throw new Error("supsub must have either sup or sub.");m=Math.max(m,d,a.depth+.25*c.xHeight),b=Ve.makeVList({positionType:"shift",positionData:-m,children:[{type:"elem",elem:a,marginRight:f}]},t)}const x=at(i,"right")||"mord";return Ve.makeSpan([x],[i,Ve.makeSpan(["msupsub"],[b])],t)},mathmlBuilder(e,t){let r,n,o=!1;e.base&&"horizBrace"===e.base.type&&(n=!!e.sup,n===e.base.isOver&&(o=!0,r=e.base.isOver)),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);const s=[vt(e.base,t)];let i;if(e.sub&&s.push(vt(e.sub,t)),e.sup&&s.push(vt(e.sup,t)),o)i=r?"mover":"munder";else if(e.sub)if(e.sup){const r=e.base;i=r&&"op"===r.type&&r.limits&&t.style===w.DISPLAY||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(t.style===w.DISPLAY||r.limits)?"munderover":"msubsup"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===w.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===w.DISPLAY)?"munder":"msub"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===w.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===w.DISPLAY)?"mover":"msup"}return new gt.MathNode(i,s)}}),$e({type:"atom",htmlBuilder(e,t){return Ve.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[ft(e.text,e.mode)]);if("bin"===e.family){const n=yt(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});const hn={mi:"italic",mn:"normal",mtext:"normal"};$e({type:"mathord",htmlBuilder(e,t){return Ve.makeOrd(e,t,"mathord")},mathmlBuilder(e,t){const r=new gt.MathNode("mi",[ft(e.text,e.mode,t)]),n=yt(e,t)||"italic";return n!==hn[r.type]&&r.setAttribute("mathvariant",n),r}}),$e({type:"textord",htmlBuilder(e,t){return Ve.makeOrd(e,t,"textord")},mathmlBuilder(e,t){const r=ft(e.text,e.mode,t),n=yt(e,t)||"normal";let o;return o="text"===e.mode?new gt.MathNode("mtext",[r]):/[0-9]/.test(e.text)?new gt.MathNode("mn",[r]):"\\prime"===e.text?new gt.MathNode("mo",[r]):new gt.MathNode("mi",[r]),n!==hn[o.type]&&o.setAttribute("mathvariant",n),o}});const cn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};$e({type:"spacing",htmlBuilder(e,t){if(mn.hasOwnProperty(e.text)){const r=mn[e.text].className||"";if("text"===e.mode){const n=Ve.makeOrd(e,t,"textord");return n.classes.push(r),n}return Ve.makeSpan(["mspace",r],[Ve.mathsym(e.text,e.mode,t)],t)}if(cn.hasOwnProperty(e.text))return Ve.makeSpan(["mspace",cn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){let r;if(!mn.hasOwnProperty(e.text)){if(cn.hasOwnProperty(e.text))return new gt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return r=new gt.MathNode("mtext",[new gt.TextNode("\xa0")]),r}});const pn=()=>{const e=new gt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};$e({type:"tag",mathmlBuilder(e,t){const r=new gt.MathNode("mtable",[new gt.MathNode("mtr",[pn(),new gt.MathNode("mtd",[wt(e.body,t)]),pn(),new gt.MathNode("mtd",[wt(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});const un={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},dn={"\\textbf":"textbf","\\textmd":"textmd"},gn={"\\textit":"textit","\\textup":"textup"},fn=(e,t)=>{const r=e.font;return r?un[r]?t.withTextFontFamily(un[r]):dn[r]?t.withTextFontWeight(dn[r]):t.withTextFontShape(gn[r]):t};je({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"text",mode:r.mode,body:Ke(o),font:n}},htmlBuilder(e,t){const r=fn(e,t),n=nt(e.body,r,!0);return Ve.makeSpan(["mord","text"],n,r)},mathmlBuilder(e,t){const r=fn(e,t);return wt(e.body,r)}}),je({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=ht(e.body,t),n=Ve.makeLineSpan("underline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:o},{type:"elem",elem:n},{type:"kern",size:3*o},{type:"elem",elem:r}]},t);return Ve.makeSpan(["mord","underline"],[s],t)},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[new gt.TextNode("\u203e")]);r.setAttribute("stretchy","true");const n=new gt.MathNode("munder",[vt(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),je({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=ht(e.body,t),n=t.fontMetrics().axisHeight,o=.5*(r.height-n-(r.depth+n));return Ve.makeVList({positionType:"shift",positionData:o,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){return new gt.MathNode("mpadded",[vt(e.body,t)],["vcenter"])}}),je({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){const r=bn(e),n=[],o=t.havingStyle(t.style.text());for(let t=0;te.body.replace(/ /g,e.star?"\u2423":"\xa0");var yn=Xe;const xn="[ \r\n\t]",wn="(\\\\[a-zA-Z@]+)"+xn+"*",vn="[\u0300-\u036f]",kn=new RegExp(vn+"+$"),Sn="("+xn+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff]"+vn+"*|[\ud800-\udbff][\udc00-\udfff]"+vn+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+wn+"|\\\\[^\ud800-\udfff])";class Mn{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Sn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){const e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Nr("EOF",new Cr(this,t,t));const r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new n("Unexpected character: '"+e[t]+"'",new Nr(e[t],new Cr(this,t,t+1)));const o=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[o]){const t=e.indexOf("\n",this.tokenRegex.lastIndex);return-1===t?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=t+1,this.lex()}return new Nr(o,new Cr(this,t,this.tokenRegex.lastIndex))}}class zn{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new n("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");const e=this.undefStack.pop();for(const t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(let t=0;t0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{const t=this.undefStack[this.undefStack.length-1];t&&!t.hasOwnProperty(e)&&(t[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}var An=Tr;Br("\\noexpand",(function(e){const t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Br("\\expandafter",(function(e){const t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Br("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Br("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Br("\\@ifnextchar",(function(e){const t=e.consumeArgs(3);e.consumeSpaces();const r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Br("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Br("\\TextOrMath",(function(e){const t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));const Tn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Br("\\char",(function(e){let t,r=e.popToken(),o="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if(r=e.popToken(),"\\"===r.text[0])o=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");o=r.text.charCodeAt(0)}else t=10;if(t){if(o=Tn[r.text],null==o||o>=t)throw new n("Invalid base-"+t+" digit "+r.text);let s;for(;null!=(s=Tn[e.future().text])&&s{let o=e.consumeArg().tokens;if(1!==o.length)throw new n("\\newcommand's first argument must be a macro name");const s=o[0].text,i=e.isDefined(s);if(i&&!t)throw new n("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!i&&!r)throw new n("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");let a=0;if(o=e.consumeArg().tokens,1===o.length&&"["===o[0].text){let t="",r=e.expandNextToken();for(;"]"!==r.text&&"EOF"!==r.text;)t+=r.text,r=e.expandNextToken();if(!t.match(/^\s*[0-9]+\s*$/))throw new n("Invalid number of arguments: "+t);a=parseInt(t),o=e.consumeArg().tokens}return e.macros.set(s,{tokens:o,numArgs:a}),""};Br("\\newcommand",(e=>Bn(e,!1,!0))),Br("\\renewcommand",(e=>Bn(e,!0,!1))),Br("\\providecommand",(e=>Bn(e,!0,!0))),Br("\\message",(e=>{const t=e.consumeArgs(1)[0];return console.log(t.reverse().map((e=>e.text)).join("")),""})),Br("\\errmessage",(e=>{const t=e.consumeArgs(1)[0];return console.error(t.reverse().map((e=>e.text)).join("")),""})),Br("\\show",(e=>{const t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),yn[r],oe.math[r],oe.text[r]),""})),Br("\\bgroup","{"),Br("\\egroup","}"),Br("~","\\nobreakspace"),Br("\\lq","`"),Br("\\rq","'"),Br("\\aa","\\r a"),Br("\\AA","\\r A"),Br("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),Br("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Br("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"),Br("\u212c","\\mathscr{B}"),Br("\u2130","\\mathscr{E}"),Br("\u2131","\\mathscr{F}"),Br("\u210b","\\mathscr{H}"),Br("\u2110","\\mathscr{I}"),Br("\u2112","\\mathscr{L}"),Br("\u2133","\\mathscr{M}"),Br("\u211b","\\mathscr{R}"),Br("\u212d","\\mathfrak{C}"),Br("\u210c","\\mathfrak{H}"),Br("\u2128","\\mathfrak{Z}"),Br("\\Bbbk","\\Bbb{k}"),Br("\xb7","\\cdotp"),Br("\\llap","\\mathllap{\\textrm{#1}}"),Br("\\rlap","\\mathrlap{\\textrm{#1}}"),Br("\\clap","\\mathclap{\\textrm{#1}}"),Br("\\mathstrut","\\vphantom{(}"),Br("\\underbar","\\underline{\\text{#1}}"),Br("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Br("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"),Br("\\ne","\\neq"),Br("\u2260","\\neq"),Br("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"),Br("\u2209","\\notin"),Br("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"),Br("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"),Br("\u225a","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"),Br("\u225b","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"),Br("\u225d","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"),Br("\u225e","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"),Br("\u225f","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"),Br("\u27c2","\\perp"),Br("\u203c","\\mathclose{!\\mkern-0.8mu!}"),Br("\u220c","\\notni"),Br("\u231c","\\ulcorner"),Br("\u231d","\\urcorner"),Br("\u231e","\\llcorner"),Br("\u231f","\\lrcorner"),Br("\xa9","\\copyright"),Br("\xae","\\textregistered"),Br("\ufe0f","\\textregistered"),Br("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Br("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Br("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Br("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Br("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),Br("\u22ee","\\vdots"),Br("\\varGamma","\\mathit{\\Gamma}"),Br("\\varDelta","\\mathit{\\Delta}"),Br("\\varTheta","\\mathit{\\Theta}"),Br("\\varLambda","\\mathit{\\Lambda}"),Br("\\varXi","\\mathit{\\Xi}"),Br("\\varPi","\\mathit{\\Pi}"),Br("\\varSigma","\\mathit{\\Sigma}"),Br("\\varUpsilon","\\mathit{\\Upsilon}"),Br("\\varPhi","\\mathit{\\Phi}"),Br("\\varPsi","\\mathit{\\Psi}"),Br("\\varOmega","\\mathit{\\Omega}"),Br("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Br("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Br("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Br("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Br("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Br("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");const Cn={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Br("\\dots",(function(e){let t="\\dotso";const r=e.expandAfterFuture().text;return r in Cn?t=Cn[r]:("\\not"===r.slice(0,4)||r in oe.math&&l.contains(["bin","rel"],oe.math[r].group))&&(t="\\dotsb"),t}));const Nn={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Br("\\dotso",(function(e){return e.future().text in Nn?"\\ldots\\,":"\\ldots"})),Br("\\dotsc",(function(e){const t=e.future().text;return t in Nn&&","!==t?"\\ldots\\,":"\\ldots"})),Br("\\cdots",(function(e){return e.future().text in Nn?"\\@cdots\\,":"\\@cdots"})),Br("\\dotsb","\\cdots"),Br("\\dotsm","\\cdots"),Br("\\dotsi","\\!\\cdots"),Br("\\dotsx","\\ldots\\,"),Br("\\DOTSI","\\relax"),Br("\\DOTSB","\\relax"),Br("\\DOTSX","\\relax"),Br("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Br("\\,","\\tmspace+{3mu}{.1667em}"),Br("\\thinspace","\\,"),Br("\\>","\\mskip{4mu}"),Br("\\:","\\tmspace+{4mu}{.2222em}"),Br("\\medspace","\\:"),Br("\\;","\\tmspace+{5mu}{.2777em}"),Br("\\thickspace","\\;"),Br("\\!","\\tmspace-{3mu}{.1667em}"),Br("\\negthinspace","\\!"),Br("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Br("\\negthickspace","\\tmspace-{5mu}{.277em}"),Br("\\enspace","\\kern.5em "),Br("\\enskip","\\hskip.5em\\relax"),Br("\\quad","\\hskip1em\\relax"),Br("\\qquad","\\hskip2em\\relax"),Br("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Br("\\tag@paren","\\tag@literal{({#1})}"),Br("\\tag@literal",(e=>{if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Br("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Br("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Br("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Br("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Br("\\newline","\\\\\\relax"),Br("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");const qn=F(T["Main-Regular"]["T".charCodeAt(0)][1]-.7*T["Main-Regular"]["A".charCodeAt(0)][1]);Br("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+qn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Br("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+qn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Br("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Br("\\@hspace","\\hskip #1\\relax"),Br("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Br("\\ordinarycolon",":"),Br("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Br("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Br("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Br("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Br("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Br("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Br("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Br("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Br("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Br("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Br("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Br("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Br("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Br("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Br("\u2237","\\dblcolon"),Br("\u2239","\\eqcolon"),Br("\u2254","\\coloneqq"),Br("\u2255","\\eqqcolon"),Br("\u2a74","\\Coloneqq"),Br("\\ratio","\\vcentcolon"),Br("\\coloncolon","\\dblcolon"),Br("\\colonequals","\\coloneqq"),Br("\\coloncolonequals","\\Coloneqq"),Br("\\equalscolon","\\eqqcolon"),Br("\\equalscoloncolon","\\Eqqcolon"),Br("\\colonminus","\\coloneq"),Br("\\coloncolonminus","\\Coloneq"),Br("\\minuscolon","\\eqcolon"),Br("\\minuscoloncolon","\\Eqcolon"),Br("\\coloncolonapprox","\\Colonapprox"),Br("\\coloncolonsim","\\Colonsim"),Br("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Br("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Br("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Br("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Br("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Br("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Br("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Br("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Br("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Br("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Br("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Br("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Br("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Br("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Br("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Br("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Br("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Br("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Br("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Br("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Br("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Br("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Br("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Br("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Br("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Br("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Br("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Br("\\imath","\\html@mathml{\\@imath}{\u0131}"),Br("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Br("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Br("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Br("\u27e6","\\llbracket"),Br("\u27e7","\\rrbracket"),Br("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Br("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Br("\u2983","\\lBrace"),Br("\u2984","\\rBrace"),Br("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Br("\u29b5","\\minuso"),Br("\\darr","\\downarrow"),Br("\\dArr","\\Downarrow"),Br("\\Darr","\\Downarrow"),Br("\\lang","\\langle"),Br("\\rang","\\rangle"),Br("\\uarr","\\uparrow"),Br("\\uArr","\\Uparrow"),Br("\\Uarr","\\Uparrow"),Br("\\N","\\mathbb{N}"),Br("\\R","\\mathbb{R}"),Br("\\Z","\\mathbb{Z}"),Br("\\alef","\\aleph"),Br("\\alefsym","\\aleph"),Br("\\Alpha","\\mathrm{A}"),Br("\\Beta","\\mathrm{B}"),Br("\\bull","\\bullet"),Br("\\Chi","\\mathrm{X}"),Br("\\clubs","\\clubsuit"),Br("\\cnums","\\mathbb{C}"),Br("\\Complex","\\mathbb{C}"),Br("\\Dagger","\\ddagger"),Br("\\diamonds","\\diamondsuit"),Br("\\empty","\\emptyset"),Br("\\Epsilon","\\mathrm{E}"),Br("\\Eta","\\mathrm{H}"),Br("\\exist","\\exists"),Br("\\harr","\\leftrightarrow"),Br("\\hArr","\\Leftrightarrow"),Br("\\Harr","\\Leftrightarrow"),Br("\\hearts","\\heartsuit"),Br("\\image","\\Im"),Br("\\infin","\\infty"),Br("\\Iota","\\mathrm{I}"),Br("\\isin","\\in"),Br("\\Kappa","\\mathrm{K}"),Br("\\larr","\\leftarrow"),Br("\\lArr","\\Leftarrow"),Br("\\Larr","\\Leftarrow"),Br("\\lrarr","\\leftrightarrow"),Br("\\lrArr","\\Leftrightarrow"),Br("\\Lrarr","\\Leftrightarrow"),Br("\\Mu","\\mathrm{M}"),Br("\\natnums","\\mathbb{N}"),Br("\\Nu","\\mathrm{N}"),Br("\\Omicron","\\mathrm{O}"),Br("\\plusmn","\\pm"),Br("\\rarr","\\rightarrow"),Br("\\rArr","\\Rightarrow"),Br("\\Rarr","\\Rightarrow"),Br("\\real","\\Re"),Br("\\reals","\\mathbb{R}"),Br("\\Reals","\\mathbb{R}"),Br("\\Rho","\\mathrm{P}"),Br("\\sdot","\\cdot"),Br("\\sect","\\S"),Br("\\spades","\\spadesuit"),Br("\\sub","\\subset"),Br("\\sube","\\subseteq"),Br("\\supe","\\supseteq"),Br("\\Tau","\\mathrm{T}"),Br("\\thetasym","\\vartheta"),Br("\\weierp","\\wp"),Br("\\Zeta","\\mathrm{Z}"),Br("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Br("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Br("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Br("\\bra","\\mathinner{\\langle{#1}|}"),Br("\\ket","\\mathinner{|{#1}\\rangle}"),Br("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Br("\\Bra","\\left\\langle#1\\right|"),Br("\\Ket","\\left|#1\\right\\rangle");const In=e=>t=>{const r=t.consumeArg().tokens,n=t.consumeArg().tokens,o=t.consumeArg().tokens,s=t.consumeArg().tokens,i=t.macros.get("|"),a=t.macros.get("\\|");t.macros.beginGroup();const l=t=>r=>{e&&(r.macros.set("|",i),o.length&&r.macros.set("\\|",a));let s=t;if(!t&&o.length){"|"===r.future().text&&(r.popToken(),s=!0)}return{tokens:s?o:n,numArgs:0}};t.macros.set("|",l(!1)),o.length&&t.macros.set("\\|",l(!0));const h=t.consumeArg().tokens,c=t.expandTokens([...s,...h,...r]);return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}};Br("\\bra@ket",In(!1)),Br("\\bra@set",In(!0)),Br("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Br("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Br("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Br("\\angln","{\\angl n}"),Br("\\blue","\\textcolor{##6495ed}{#1}"),Br("\\orange","\\textcolor{##ffa500}{#1}"),Br("\\pink","\\textcolor{##ff00af}{#1}"),Br("\\red","\\textcolor{##df0030}{#1}"),Br("\\green","\\textcolor{##28ae7b}{#1}"),Br("\\gray","\\textcolor{gray}{#1}"),Br("\\purple","\\textcolor{##9d38bd}{#1}"),Br("\\blueA","\\textcolor{##ccfaff}{#1}"),Br("\\blueB","\\textcolor{##80f6ff}{#1}"),Br("\\blueC","\\textcolor{##63d9ea}{#1}"),Br("\\blueD","\\textcolor{##11accd}{#1}"),Br("\\blueE","\\textcolor{##0c7f99}{#1}"),Br("\\tealA","\\textcolor{##94fff5}{#1}"),Br("\\tealB","\\textcolor{##26edd5}{#1}"),Br("\\tealC","\\textcolor{##01d1c1}{#1}"),Br("\\tealD","\\textcolor{##01a995}{#1}"),Br("\\tealE","\\textcolor{##208170}{#1}"),Br("\\greenA","\\textcolor{##b6ffb0}{#1}"),Br("\\greenB","\\textcolor{##8af281}{#1}"),Br("\\greenC","\\textcolor{##74cf70}{#1}"),Br("\\greenD","\\textcolor{##1fab54}{#1}"),Br("\\greenE","\\textcolor{##0d923f}{#1}"),Br("\\goldA","\\textcolor{##ffd0a9}{#1}"),Br("\\goldB","\\textcolor{##ffbb71}{#1}"),Br("\\goldC","\\textcolor{##ff9c39}{#1}"),Br("\\goldD","\\textcolor{##e07d10}{#1}"),Br("\\goldE","\\textcolor{##a75a05}{#1}"),Br("\\redA","\\textcolor{##fca9a9}{#1}"),Br("\\redB","\\textcolor{##ff8482}{#1}"),Br("\\redC","\\textcolor{##f9685d}{#1}"),Br("\\redD","\\textcolor{##e84d39}{#1}"),Br("\\redE","\\textcolor{##bc2612}{#1}"),Br("\\maroonA","\\textcolor{##ffbde0}{#1}"),Br("\\maroonB","\\textcolor{##ff92c6}{#1}"),Br("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Br("\\maroonD","\\textcolor{##ca337c}{#1}"),Br("\\maroonE","\\textcolor{##9e034e}{#1}"),Br("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Br("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Br("\\purpleC","\\textcolor{##aa87ff}{#1}"),Br("\\purpleD","\\textcolor{##7854ab}{#1}"),Br("\\purpleE","\\textcolor{##543b78}{#1}"),Br("\\mintA","\\textcolor{##f5f9e8}{#1}"),Br("\\mintB","\\textcolor{##edf2df}{#1}"),Br("\\mintC","\\textcolor{##e0e5cc}{#1}"),Br("\\grayA","\\textcolor{##f6f7f7}{#1}"),Br("\\grayB","\\textcolor{##f0f1f2}{#1}"),Br("\\grayC","\\textcolor{##e3e5e6}{#1}"),Br("\\grayD","\\textcolor{##d6d8da}{#1}"),Br("\\grayE","\\textcolor{##babec2}{#1}"),Br("\\grayF","\\textcolor{##888d93}{#1}"),Br("\\grayG","\\textcolor{##626569}{#1}"),Br("\\grayH","\\textcolor{##3b3e40}{#1}"),Br("\\grayI","\\textcolor{##21242c}{#1}"),Br("\\kaBlue","\\textcolor{##314453}{#1}"),Br("\\kaGreen","\\textcolor{##71B307}{#1}");const Rn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Hn{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new zn(An,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new Mn(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){let t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),({tokens:n,end:r}=this.consumeArg(["]"]))}else({tokens:n,start:t,end:r}=this.consumeArg());return this.pushToken(new Nr("EOF",r.loc)),this.pushTokens(n),t.range(r,"")}consumeSpaces(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}}consumeArg(e){const t=[],r=e&&e.length>0;r||this.consumeSpaces();const o=this.future();let s,i=0,a=0;do{if(s=this.popToken(),t.push(s),"{"===s.text)++i;else if("}"===s.text){if(--i,-1===i)throw new n("Extra }",s)}else if("EOF"===s.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[a]:"}")+"'",s);if(e&&r)if((0===i||1===i&&"{"===e[a])&&s.text===e[a]){if(++a,a===e.length){t.splice(-a,a);break}}else a=0}while(0!==i||r);return"{"===o.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:o,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");const r=t[0];for(let e=0;ethis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){const t=this.popToken(),r=t.text,o=t.noexpand?null:this._getExpansion(r);if(null==o||e&&o.unexpandable){if(e&&null==o&&"\\"===r[0]&&!this.isDefined(r))throw new n("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);let s=o.tokens;const i=this.consumeArgs(o.numArgs,o.delimiters);if(o.numArgs){s=s.slice();for(let e=s.length-1;e>=0;--e){let t=s[e];if("#"===t.text){if(0===e)throw new n("Incomplete placeholder at end of macro body",t);if(t=s[--e],"#"===t.text)s.splice(e+1,1);else{if(!/^[1-9]$/.test(t.text))throw new n("Not a valid argument number",t);s.splice(e,2,...i[+t.text-1])}}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){const e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Nr(e)]):void 0}expandTokens(e){const t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){const e=this.stack.pop();e.treatAsRelax&&(e.noexpand=!1,e.treatAsRelax=!1),t.push(e)}return this.countExpansion(t.length),t}expandMacroAsText(e){const t=this.expandMacro(e);return t?t.map((e=>e.text)).join(""):t}_getExpansion(e){const t=this.macros.get(e);if(null==t)return t;if(1===e.length){const t=this.lexer.catcodes[e];if(null!=t&&13!==t)return}const r="function"==typeof t?t(this):t;if("string"==typeof r){let e=0;if(-1!==r.indexOf("#")){const t=r.replace(/##/g,"");for(;-1!==t.indexOf("#"+(e+1));)++e}const t=new Mn(r,this.settings),n=[];let o=t.lex();for(;"EOF"!==o.text;)n.push(o),o=t.lex();n.reverse();return{tokens:n,numArgs:e}}return r}isDefined(e){return this.macros.has(e)||yn.hasOwnProperty(e)||oe.math.hasOwnProperty(e)||oe.text.hasOwnProperty(e)||Rn.hasOwnProperty(e)}isExpandable(e){const t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:yn.hasOwnProperty(e)&&!yn[e].primitive}}const On=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,En=Object.freeze({"\u208a":"+","\u208b":"-","\u208c":"=","\u208d":"(","\u208e":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1d62":"i","\u2c7c":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209a":"p","\u1d63":"r","\u209b":"s","\u209c":"t","\u1d64":"u","\u1d65":"v","\u2093":"x","\u1d66":"\u03b2","\u1d67":"\u03b3","\u1d68":"\u03c1","\u1d69":"\u03d5","\u1d6a":"\u03c7","\u207a":"+","\u207b":"-","\u207c":"=","\u207d":"(","\u207e":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1d2c":"A","\u1d2e":"B","\u1d30":"D","\u1d31":"E","\u1d33":"G","\u1d34":"H","\u1d35":"I","\u1d36":"J","\u1d37":"K","\u1d38":"L","\u1d39":"M","\u1d3a":"N","\u1d3c":"O","\u1d3e":"P","\u1d3f":"R","\u1d40":"T","\u1d41":"U","\u2c7d":"V","\u1d42":"W","\u1d43":"a","\u1d47":"b","\u1d9c":"c","\u1d48":"d","\u1d49":"e","\u1da0":"f","\u1d4d":"g","\u02b0":"h","\u2071":"i","\u02b2":"j","\u1d4f":"k","\u02e1":"l","\u1d50":"m","\u207f":"n","\u1d52":"o","\u1d56":"p","\u02b3":"r","\u02e2":"s","\u1d57":"t","\u1d58":"u","\u1d5b":"v","\u02b7":"w","\u02e3":"x","\u02b8":"y","\u1dbb":"z","\u1d5d":"\u03b2","\u1d5e":"\u03b3","\u1d5f":"\u03b4","\u1d60":"\u03d5","\u1d61":"\u03c7","\u1dbf":"\u03b8"}),Ln={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"},"\u0327":{text:"\\c"}},Dn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u1e09":"c\u0327\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u1e1d":"e\u0327\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u0229":"e\u0327","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u0123":"g\u0327","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\u1e29":"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u0137":"k\u0327","\u013a":"l\u0301","\u013e":"l\u030c","\u013c":"l\u0327","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u0157":"r\u0327","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u015f":"s\u0327","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\u0163":"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u1e08":"C\u0327\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u1e1c":"E\u0327\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u0228":"E\u0327","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u0122":"G\u0327","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\u1e28":"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0136":"K\u0327","\u0139":"L\u0301","\u013d":"L\u030c","\u013b":"L\u0327","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u0156":"R\u0327","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u015e":"S\u0327","\u0164":"T\u030c","\u1e6a":"T\u0307","\u0162":"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"};class Vn{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Hn(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{const e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){const t=this.nextToken;this.consume(),this.gullet.pushToken(new Nr("}")),this.gullet.pushTokens(e);const r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){const r=[];for(;;){"math"===this.mode&&this.consumeSpaces();const n=this.fetch();if(-1!==Vn.endOfExpression.indexOf(n.text))break;if(t&&n.text===t)break;if(e&&yn[n.text]&&yn[n.text].infix)break;const o=this.parseAtom(t);if(!o)break;"internal"!==o.type&&r.push(o)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){let t,r=-1;for(let o=0;o=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);const r=oe[this.mode][t].group,n=Cr.range(e);let s;if(te.hasOwnProperty(r)){const e=r;s={type:"atom",mode:this.mode,family:e,loc:n,text:t}}else s={type:r,mode:this.mode,loc:n,text:t};o=s}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(S(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),o={type:"textord",mode:"text",loc:Cr.range(e),text:t}}if(this.consume(),r)for(let t=0;t=Pe?Fe:""+Array(Pe+1-Ie.length).join(je)+Fe},be={s:pe,z:function(Fe){var Pe=-Fe.utcOffset(),je=Math.abs(Pe),Ie=Math.floor(je/60),Se=je%60;return(Pe<=0?"+":"-")+pe(Ie,2,"0")+":"+pe(Se,2,"0")},m:function Fe(Pe,je){if(Pe.date()1)return Fe(ke[0])}else{var Ke=Pe.name;ne[Ke]=Pe,Se=Ke}return!Ie&&Se&&(ae=Se),Se||!Ie&&ae},ge=function(Fe,Pe){if(de(Fe))return Fe.clone();var je=typeof Pe=="object"?Pe:{};return je.date=Fe,je.args=arguments,new xe(je)},W=be;W.l=X,W.i=de,W.w=function(Fe,Pe){return ge(Fe,{locale:Pe.$L,utc:Pe.$u,x:Pe.$x,$offset:Pe.$offset})};var xe=function(){function Fe(je){this.$L=X(je.locale,null,!0),this.parse(je),this.$x=this.$x||je.x||{},this[se]=!0}var Pe=Fe.prototype;return Pe.parse=function(je){this.$d=function(Ie){var Se=Ie.date,Ce=Ie.utc;if(Se===null)return new Date(NaN);if(W.u(Se))return new Date;if(Se instanceof Date)return new Date(Se);if(typeof Se=="string"&&!/Z$/i.test(Se)){var ke=Se.match(ee);if(ke){var Ke=ke[2]-1||0,Ft=(ke[7]||"0").substring(0,3);return Ce?new Date(Date.UTC(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,Ft)):new Date(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,Ft)}}return new Date(Se)}(je),this.init()},Pe.init=function(){var je=this.$d;this.$y=je.getFullYear(),this.$M=je.getMonth(),this.$D=je.getDate(),this.$W=je.getDay(),this.$H=je.getHours(),this.$m=je.getMinutes(),this.$s=je.getSeconds(),this.$ms=je.getMilliseconds()},Pe.$utils=function(){return W},Pe.isValid=function(){return this.$d.toString()!==K},Pe.isSame=function(je,Ie){var Se=ge(je);return this.startOf(Ie)<=Se&&Se<=this.endOf(Ie)},Pe.isAfter=function(je,Ie){return ge(je){},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},fpe=function(i="fatal"){let s=g7.fatal;typeof i=="string"?(i=i.toLowerCase(),i in g7&&(s=g7[i])):typeof i=="number"&&(s=i),Xe.trace=()=>{},Xe.debug=()=>{},Xe.info=()=>{},Xe.warn=()=>{},Xe.error=()=>{},Xe.fatal=()=>{},s<=g7.fatal&&(Xe.fatal=console.error?console.error.bind(console,Lv("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Lv("FATAL"))),s<=g7.error&&(Xe.error=console.error?console.error.bind(console,Lv("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Lv("ERROR"))),s<=g7.warn&&(Xe.warn=console.warn?console.warn.bind(console,Lv("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Lv("WARN"))),s<=g7.info&&(Xe.info=console.info?console.info.bind(console,Lv("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Lv("INFO"))),s<=g7.debug&&(Xe.debug=console.debug?console.debug.bind(console,Lv("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Lv("DEBUG"))),s<=g7.trace&&(Xe.trace=console.debug?console.debug.bind(console,Lv("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Lv("TRACE")))},Lv=i=>`%c${Lg().format("ss.SSS")} : ${i} : `;var p9={};(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.sanitizeUrl=i.BLANK_URL=void 0;var s=/^([^\w]*)(javascript|data|vbscript)/im,u=/&#(\w+)(^\w|;)?/g,d=/&(newline|tab);/gi,p=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v=/^.+(:|:)/gim,b=[".","/"];i.BLANK_URL="about:blank";function y(A){return b.indexOf(A[0])>-1}function T(A){var P=A.replace(p,"");return P.replace(u,function(R,F){return String.fromCharCode(F)})}function _(A){if(!A)return i.BLANK_URL;var P=T(A).replace(d,"").replace(p,"").trim();if(!P)return i.BLANK_URL;if(y(P))return P;var R=P.match(v);if(!R)return P;var F=R[0];return s.test(F)?i.BLANK_URL:P}i.sanitizeUrl=_})(p9);function DY(i,s){return i==null||s==null?NaN:is?1:i>=s?0:NaN}function PAt(i,s){return i==null||s==null?NaN:si?1:s>=i?0:NaN}function dpe(i){let s,u,d;i.length!==2?(s=DY,u=(y,T)=>DY(i(y),T),d=(y,T)=>i(y)-T):(s=i===DY||i===PAt?i:BAt,u=i,d=i);function p(y,T,_=0,A=y.length){if(_>>1;u(y[P],T)<0?_=P+1:A=P}while(_>>1;u(y[P],T)<=0?_=P+1:A=P}while(__&&d(y[P-1],T)>-d(y[P],T)?P-1:P}return{left:p,center:b,right:v}}function BAt(){return 0}function FAt(i){return i===null?NaN:+i}const RAt=dpe(DY).right;dpe(FAt).center;const jAt=RAt;class cBe extends Map{constructor(s,u=qAt){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:u}}),s!=null)for(const[d,p]of s)this.set(d,p)}get(s){return super.get(uBe(this,s))}has(s){return super.has(uBe(this,s))}set(s,u){return super.set($At(this,s),u)}delete(s){return super.delete(zAt(this,s))}}function uBe({_intern:i,_key:s},u){const d=s(u);return i.has(d)?i.get(d):u}function $At({_intern:i,_key:s},u){const d=s(u);return i.has(d)?i.get(d):(i.set(d,u),u)}function zAt({_intern:i,_key:s},u){const d=s(u);return i.has(d)&&(u=i.get(d),i.delete(d)),u}function qAt(i){return i!==null&&typeof i=="object"?i.valueOf():i}const HAt=Math.sqrt(50),VAt=Math.sqrt(10),UAt=Math.sqrt(2);function IY(i,s,u){const d=(s-i)/Math.max(0,u),p=Math.floor(Math.log10(d)),v=d/Math.pow(10,p),b=v>=HAt?10:v>=VAt?5:v>=UAt?2:1;let y,T,_;return p<0?(_=Math.pow(10,-p)/b,y=Math.round(i*_),T=Math.round(s*_),y/_s&&--T,_=-_):(_=Math.pow(10,p)*b,y=Math.round(i/_),T=Math.round(s/_),y*_s&&--T),T0))return[];if(i===s)return[i];const d=s=p))return[];const y=v-p+1,T=new Array(y);if(d)if(b<0)for(let _=0;_=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u=p)&&(u=p)}return u}function WAt(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function YAt(i,s,u){i=+i,s=+s,u=(p=arguments.length)<2?(s=i,i=0,1):p<3?1:+u;for(var d=-1,p=Math.max(0,Math.ceil((s-i)/u))|0,v=new Array(p);++d+i(s)}function eLt(i,s){return s=Math.max(0,i.bandwidth()-s*2)/2,i.round()&&(s=Math.round(s)),u=>+i(u)+s}function tLt(){return!this.__axis}function hBe(i,s){var u=[],d=null,p=null,v=6,b=6,y=3,T=typeof window<"u"&&window.devicePixelRatio>1?0:.5,_=i===OY||i===NY?-1:1,A=i===NY||i===bpe?"x":"y",P=i===OY||i===mpe?QAt:JAt;function R(F){var j=d??(s.ticks?s.ticks.apply(s,u):s.domain()),K=p??(s.tickFormat?s.tickFormat.apply(s,u):XAt),ee=Math.max(v,0)+y,ie=s.range(),oe=+ie[0]+T,pe=+ie[ie.length-1]+T,be=(s.bandwidth?eLt:ZAt)(s.copy(),T),ae=F.selection?F.selection():F,ne=ae.selectAll(".domain").data([null]),se=ae.selectAll(".tick").data(j,s).order(),de=se.exit(),X=se.enter().append("g").attr("class","tick"),ge=se.select("line"),W=se.select("text");ne=ne.merge(ne.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),se=se.merge(X),ge=ge.merge(X.append("line").attr("stroke","currentColor").attr(A+"2",_*v)),W=W.merge(X.append("text").attr("fill","currentColor").attr(A,_*ee).attr("dy",i===OY?"0em":i===mpe?"0.71em":"0.32em")),F!==ae&&(ne=ne.transition(F),se=se.transition(F),ge=ge.transition(F),W=W.transition(F),de=de.transition(F).attr("opacity",lBe).attr("transform",function(xe){return isFinite(xe=be(xe))?P(xe+T):this.getAttribute("transform")}),X.attr("opacity",lBe).attr("transform",function(xe){var U=this.parentNode.__axis;return P((U&&isFinite(U=U(xe))?U:be(xe))+T)})),de.remove(),ne.attr("d",i===NY||i===bpe?b?"M"+_*b+","+oe+"H"+T+"V"+pe+"H"+_*b:"M"+T+","+oe+"V"+pe:b?"M"+oe+","+_*b+"V"+T+"H"+pe+"V"+_*b:"M"+oe+","+T+"H"+pe),se.attr("opacity",1).attr("transform",function(xe){return P(be(xe)+T)}),ge.attr(A+"2",_*v),W.attr(A,_*ee).text(K),ae.filter(tLt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===bpe?"start":i===NY?"end":"middle"),ae.each(function(){this.__axis=be})}return R.scale=function(F){return arguments.length?(s=F,R):s},R.ticks=function(){return u=Array.from(arguments),R},R.tickArguments=function(F){return arguments.length?(u=F==null?[]:Array.from(F),R):u.slice()},R.tickValues=function(F){return arguments.length?(d=F==null?null:Array.from(F),R):d&&d.slice()},R.tickFormat=function(F){return arguments.length?(p=F,R):p},R.tickSize=function(F){return arguments.length?(v=b=+F,R):v},R.tickSizeInner=function(F){return arguments.length?(v=+F,R):v},R.tickSizeOuter=function(F){return arguments.length?(b=+F,R):b},R.tickPadding=function(F){return arguments.length?(y=+F,R):y},R.offset=function(F){return arguments.length?(T=+F,R):T},R}function nLt(i){return hBe(OY,i)}function rLt(i){return hBe(mpe,i)}var iLt={value:()=>{}};function fBe(){for(var i=0,s=arguments.length,u={},d;i=0&&(d=u.slice(p+1),u=u.slice(0,p)),u&&!s.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:d}})}PY.prototype=fBe.prototype={constructor:PY,on:function(i,s){var u=this._,d=sLt(i+"",u),p,v=-1,b=d.length;if(arguments.length<2){for(;++v0)for(var u=new Array(p),d=0,p,v;d=0&&(s=i.slice(0,u))!=="xmlns"&&(i=i.slice(u+1)),gBe.hasOwnProperty(s)?{space:gBe[s],local:i}:i}function oLt(i){return function(){var s=this.ownerDocument,u=this.namespaceURI;return u===vpe&&s.documentElement.namespaceURI===vpe?s.createElement(i):s.createElementNS(u,i)}}function cLt(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function pBe(i){var s=BY(i);return(s.local?cLt:oLt)(s)}function uLt(){}function wpe(i){return i==null?uLt:function(){return this.querySelector(i)}}function lLt(i){typeof i!="function"&&(i=wpe(i));for(var s=this._groups,u=s.length,d=new Array(u),p=0;p=pe&&(pe=oe+1);!(ae=ee[pe])&&++pe=0;)(b=d[p])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function NLt(i){i||(i=PLt);function s(P,R){return P&&R?i(P.__data__,R.__data__):!P-!R}for(var u=this._groups,d=u.length,p=new Array(d),v=0;vs?1:i>=s?0:NaN}function BLt(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function FLt(){return Array.from(this)}function RLt(){for(var i=this._groups,s=0,u=i.length;s1?this.each((s==null?YLt:typeof s=="function"?QLt:XLt)(i,s,u??"")):ZM(this.node(),i)}function ZM(i,s){return i.style.getPropertyValue(s)||xBe(i).getComputedStyle(i,null).getPropertyValue(s)}function ZLt(i){return function(){delete this[i]}}function eMt(i,s){return function(){this[i]=s}}function tMt(i,s){return function(){var u=s.apply(this,arguments);u==null?delete this[i]:this[i]=u}}function nMt(i,s){return arguments.length>1?this.each((s==null?ZLt:typeof s=="function"?tMt:eMt)(i,s)):this.node()[i]}function kBe(i){return i.trim().split(/^|\s+/)}function ype(i){return i.classList||new EBe(i)}function EBe(i){this._node=i,this._names=kBe(i.getAttribute("class")||"")}EBe.prototype={add:function(i){var s=this._names.indexOf(i);s<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var s=this._names.indexOf(i);s>=0&&(this._names.splice(s,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function TBe(i,s){for(var u=ype(i),d=-1,p=s.length;++d=0&&(u=s.slice(d+1),s=s.slice(0,d)),{type:s,name:u}})}function MMt(i){return function(){var s=this.__on;if(s){for(var u=0,d=-1,p=s.length,v;u>8&15|s>>4&240,s>>4&15|s&240,(s&15)<<4|s&15,1):u===8?$Y(s>>24&255,s>>16&255,s>>8&255,(s&255)/255):u===4?$Y(s>>12&15|s>>8&240,s>>8&15|s>>4&240,s>>4&15|s&240,((s&15)<<4|s&15)/255):null):(s=jMt.exec(i))?new Mg(s[1],s[2],s[3],1):(s=$Mt.exec(i))?new Mg(s[1]*255/100,s[2]*255/100,s[3]*255/100,1):(s=zMt.exec(i))?$Y(s[1],s[2],s[3],s[4]):(s=qMt.exec(i))?$Y(s[1]*255/100,s[2]*255/100,s[3]*255/100,s[4]):(s=HMt.exec(i))?PBe(s[1],s[2]/100,s[3]/100,1):(s=VMt.exec(i))?PBe(s[1],s[2]/100,s[3]/100,s[4]):ABe.hasOwnProperty(i)?DBe(ABe[i]):i==="transparent"?new Mg(NaN,NaN,NaN,0):null}function DBe(i){return new Mg(i>>16&255,i>>8&255,i&255,1)}function $Y(i,s,u,d){return d<=0&&(i=s=u=NaN),new Mg(i,s,u,d)}function IBe(i){return i instanceof fC||(i=dC(i)),i?(i=i.rgb(),new Mg(i.r,i.g,i.b,i.opacity)):new Mg}function kpe(i,s,u,d){return arguments.length===1?IBe(i):new Mg(i,s,u,d??1)}function Mg(i,s,u,d){this.r=+i,this.g=+s,this.b=+u,this.opacity=+d}wF(Mg,kpe,RY(fC,{brighter(i){return i=i==null?jY:Math.pow(jY,i),new Mg(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?yF:Math.pow(yF,i),new Mg(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new Mg(gC(this.r),gC(this.g),gC(this.b),zY(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:OBe,formatHex:OBe,formatHex8:KMt,formatRgb:NBe,toString:NBe}));function OBe(){return`#${pC(this.r)}${pC(this.g)}${pC(this.b)}`}function KMt(){return`#${pC(this.r)}${pC(this.g)}${pC(this.b)}${pC((isNaN(this.opacity)?1:this.opacity)*255)}`}function NBe(){const i=zY(this.opacity);return`${i===1?"rgb(":"rgba("}${gC(this.r)}, ${gC(this.g)}, ${gC(this.b)}${i===1?")":`, ${i})`}`}function zY(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function gC(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function pC(i){return i=gC(i),(i<16?"0":"")+i.toString(16)}function PBe(i,s,u,d){return d<=0?i=s=u=NaN:u<=0||u>=1?i=s=NaN:s<=0&&(i=NaN),new A3(i,s,u,d)}function BBe(i){if(i instanceof A3)return new A3(i.h,i.s,i.l,i.opacity);if(i instanceof fC||(i=dC(i)),!i)return new A3;if(i instanceof A3)return i;i=i.rgb();var s=i.r/255,u=i.g/255,d=i.b/255,p=Math.min(s,u,d),v=Math.max(s,u,d),b=NaN,y=v-p,T=(v+p)/2;return y?(s===v?b=(u-d)/y+(u0&&T<1?0:b,new A3(b,y,T,i.opacity)}function WMt(i,s,u,d){return arguments.length===1?BBe(i):new A3(i,s,u,d??1)}function A3(i,s,u,d){this.h=+i,this.s=+s,this.l=+u,this.opacity=+d}wF(A3,WMt,RY(fC,{brighter(i){return i=i==null?jY:Math.pow(jY,i),new A3(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?yF:Math.pow(yF,i),new A3(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,s=isNaN(i)||isNaN(this.s)?0:this.s,u=this.l,d=u+(u<.5?u:1-u)*s,p=2*u-d;return new Mg(Epe(i>=240?i-240:i+120,p,d),Epe(i,p,d),Epe(i<120?i+240:i-120,p,d),this.opacity)},clamp(){return new A3(FBe(this.h),qY(this.s),qY(this.l),zY(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=zY(this.opacity);return`${i===1?"hsl(":"hsla("}${FBe(this.h)}, ${qY(this.s)*100}%, ${qY(this.l)*100}%${i===1?")":`, ${i})`}`}}));function FBe(i){return i=(i||0)%360,i<0?i+360:i}function qY(i){return Math.max(0,Math.min(1,i||0))}function Epe(i,s,u){return(i<60?s+(u-s)*i/60:i<180?u:i<240?s+(u-s)*(240-i)/60:s)*255}const YMt=Math.PI/180,XMt=180/Math.PI,HY=18,RBe=.96422,jBe=1,$Be=.82521,zBe=4/29,tD=6/29,qBe=3*tD*tD,QMt=tD*tD*tD;function HBe(i){if(i instanceof j4)return new j4(i.l,i.a,i.b,i.opacity);if(i instanceof p7)return VBe(i);i instanceof Mg||(i=IBe(i));var s=_pe(i.r),u=_pe(i.g),d=_pe(i.b),p=Tpe((.2225045*s+.7168786*u+.0606169*d)/jBe),v,b;return s===u&&u===d?v=b=p:(v=Tpe((.4360747*s+.3850649*u+.1430804*d)/RBe),b=Tpe((.0139322*s+.0971045*u+.7141733*d)/$Be)),new j4(116*p-16,500*(v-p),200*(p-b),i.opacity)}function JMt(i,s,u,d){return arguments.length===1?HBe(i):new j4(i,s,u,d??1)}function j4(i,s,u,d){this.l=+i,this.a=+s,this.b=+u,this.opacity=+d}wF(j4,JMt,RY(fC,{brighter(i){return new j4(this.l+HY*(i??1),this.a,this.b,this.opacity)},darker(i){return new j4(this.l-HY*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,s=isNaN(this.a)?i:i+this.a/500,u=isNaN(this.b)?i:i-this.b/200;return s=RBe*Cpe(s),i=jBe*Cpe(i),u=$Be*Cpe(u),new Mg(Spe(3.1338561*s-1.6168667*i-.4906146*u),Spe(-.9787684*s+1.9161415*i+.033454*u),Spe(.0719453*s-.2289914*i+1.4052427*u),this.opacity)}}));function Tpe(i){return i>QMt?Math.pow(i,1/3):i/qBe+zBe}function Cpe(i){return i>tD?i*i*i:qBe*(i-zBe)}function Spe(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function _pe(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function ZMt(i){if(i instanceof p7)return new p7(i.h,i.c,i.l,i.opacity);if(i instanceof j4||(i=HBe(i)),i.a===0&&i.b===0)return new p7(NaN,0()=>i;function UBe(i,s){return function(u){return i+u*s}}function eDt(i,s,u){return i=Math.pow(i,u),s=Math.pow(s,u)-i,u=1/u,function(d){return Math.pow(i+d*s,u)}}function tDt(i,s){var u=s-i;return u?UBe(i,u>180||u<-180?u-360*Math.round(u/360):u):VY(isNaN(i)?s:i)}function nDt(i){return(i=+i)==1?kF:function(s,u){return u-s?eDt(s,u,i):VY(isNaN(s)?u:s)}}function kF(i,s){var u=s-i;return u?UBe(i,u):VY(isNaN(i)?s:i)}const UY=function i(s){var u=nDt(s);function d(p,v){var b=u((p=kpe(p)).r,(v=kpe(v)).r),y=u(p.g,v.g),T=u(p.b,v.b),_=kF(p.opacity,v.opacity);return function(A){return p.r=b(A),p.g=y(A),p.b=T(A),p.opacity=_(A),p+""}}return d.gamma=i,d}(1);function rDt(i,s){s||(s=[]);var u=i?Math.min(s.length,i.length):0,d=s.slice(),p;return function(v){for(p=0;pu&&(v=s.slice(u,v),y[b]?y[b]+=v:y[++b]=v),(d=d[0])===(p=p[0])?y[b]?y[b]+=p:y[++b]=p:(y[++b]=null,T.push({i:b,x:L3(d,p)})),u=Mpe.lastIndex;return u180?A+=360:A-_>180&&(_+=360),R.push({i:P.push(p(P)+"rotate(",null,d)-2,x:L3(_,A)})):A&&P.push(p(P)+"rotate("+A+d)}function y(_,A,P,R){_!==A?R.push({i:P.push(p(P)+"skewX(",null,d)-2,x:L3(_,A)}):A&&P.push(p(P)+"skewX("+A+d)}function T(_,A,P,R,F,j){if(_!==P||A!==R){var K=F.push(p(F)+"scale(",null,",",null,")");j.push({i:K-4,x:L3(_,P)},{i:K-2,x:L3(A,R)})}else(P!==1||R!==1)&&F.push(p(F)+"scale("+P+","+R+")")}return function(_,A){var P=[],R=[];return _=i(_),A=i(A),v(_.translateX,_.translateY,A.translateX,A.translateY,P,R),b(_.rotate,A.rotate,P,R),y(_.skewX,A.skewX,P,R),T(_.scaleX,_.scaleY,A.scaleX,A.scaleY,P,R),_=A=null,function(F){for(var j=-1,K=R.length,ee;++j=0&&i._call.call(void 0,s),i=i._next;--nD}function ZBe(){bC=(WY=SF.now())+YY,nD=EF=0;try{vDt()}finally{nD=0,yDt(),bC=0}}function wDt(){var i=SF.now(),s=i-WY;s>XBe&&(YY-=s,WY=i)}function yDt(){for(var i,s=KY,u,d=1/0;s;)s._call?(d>s._time&&(d=s._time),i=s,s=s._next):(u=s._next,s._next=null,s=i?i._next=u:KY=u);CF=i,Npe(d)}function Npe(i){if(!nD){EF&&(EF=clearTimeout(EF));var s=i-bC;s>24?(i<1/0&&(EF=setTimeout(ZBe,i-SF.now()-YY)),TF&&(TF=clearInterval(TF))):(TF||(WY=SF.now(),TF=setInterval(wDt,XBe)),nD=1,QBe(ZBe))}}function eFe(i,s,u){var d=new XY;return s=s==null?0:+s,d.restart(p=>{d.stop(),i(p+s)},s,u),d}var xDt=fBe("start","end","cancel","interrupt"),kDt=[],tFe=0,nFe=1,Ppe=2,QY=3,rFe=4,Bpe=5,JY=6;function ZY(i,s,u,d,p,v){var b=i.__transition;if(!b)i.__transition={};else if(u in b)return;EDt(i,u,{name:s,index:d,group:p,on:xDt,tween:kDt,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:tFe})}function Fpe(i,s){var u=M3(i,s);if(u.state>tFe)throw new Error("too late; already scheduled");return u}function $4(i,s){var u=M3(i,s);if(u.state>QY)throw new Error("too late; already running");return u}function M3(i,s){var u=i.__transition;if(!u||!(u=u[s]))throw new Error("transition not found");return u}function EDt(i,s,u){var d=i.__transition,p;d[s]=u,u.timer=JBe(v,0,u.time);function v(_){u.state=nFe,u.timer.restart(b,u.delay,u.time),u.delay<=_&&b(_-u.delay)}function b(_){var A,P,R,F;if(u.state!==nFe)return T();for(A in d)if(F=d[A],F.name===u.name){if(F.state===QY)return eFe(b);F.state===rFe?(F.state=JY,F.timer.stop(),F.on.call("interrupt",i,i.__data__,F.index,F.group),delete d[A]):+APpe&&d.state=0&&(s=s.slice(0,u)),!s||s==="start"})}function eIt(i,s,u){var d,p,v=ZDt(s)?Fpe:$4;return function(){var b=v(this,i),y=b.on;y!==d&&(p=(d=y).copy()).on(s,u),b.on=p}}function tIt(i,s){var u=this._id;return arguments.length<2?M3(this.node(),u).on.on(i):this.each(eIt(u,i,s))}function nIt(i){return function(){var s=this.parentNode;for(var u in this.__transition)if(+u!==i)return;s&&s.removeChild(this)}}function rIt(){return this.on("end.remove",nIt(this._id))}function iIt(i){var s=this._name,u=this._id;typeof i!="function"&&(i=wpe(i));for(var d=this._groups,p=d.length,v=new Array(p),b=0;b=0))throw new Error(`invalid digits: ${i}`);if(s>15)return oFe;const u=10**s;return function(d){this._+=d[0];for(let p=1,v=d.length;pmC)if(!(Math.abs(P*T-_*A)>mC)||!v)this._append`L${this._x1=s},${this._y1=u}`;else{let F=d-b,j=p-y,K=T*T+_*_,ee=F*F+j*j,ie=Math.sqrt(K),oe=Math.sqrt(R),pe=v*Math.tan((jpe-Math.acos((K+R-ee)/(2*ie*oe)))/2),be=pe/oe,ae=pe/ie;Math.abs(be-1)>mC&&this._append`L${s+be*A},${u+be*P}`,this._append`A${v},${v},0,0,${+(P*F>A*j)},${this._x1=s+ae*T},${this._y1=u+ae*_}`}}arc(s,u,d,p,v,b){if(s=+s,u=+u,d=+d,b=!!b,d<0)throw new Error(`negative radius: ${d}`);let y=d*Math.cos(p),T=d*Math.sin(p),_=s+y,A=u+T,P=1^b,R=b?p-v:v-p;this._x1===null?this._append`M${_},${A}`:(Math.abs(this._x1-_)>mC||Math.abs(this._y1-A)>mC)&&this._append`L${_},${A}`,d&&(R<0&&(R=R%$pe+$pe),R>LIt?this._append`A${d},${d},0,1,${P},${s-y},${u-T}A${d},${d},0,1,${P},${this._x1=_},${this._y1=A}`:R>mC&&this._append`A${d},${d},0,${+(R>=jpe)},${P},${this._x1=s+d*Math.cos(v)},${this._y1=u+d*Math.sin(v)}`)}rect(s,u,d,p){this._append`M${this._x0=this._x1=+s},${this._y0=this._y1=+u}h${d=+d}v${+p}h${-d}Z`}toString(){return this._}};function IIt(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function OIt(i,s){return fetch(i,s).then(IIt)}function NIt(i){return(s,u)=>OIt(s,u).then(d=>new DOMParser().parseFromString(d,i))}var PIt=NIt("image/svg+xml");function BIt(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function eX(i,s){if((u=(i=s?i.toExponential(s-1):i.toExponential()).indexOf("e"))<0)return null;var u,d=i.slice(0,u);return[d.length>1?d[0]+d.slice(2):d,+i.slice(u+1)]}function rD(i){return i=eX(Math.abs(i)),i?i[1]:NaN}function FIt(i,s){return function(u,d){for(var p=u.length,v=[],b=0,y=i[0],T=0;p>0&&y>0&&(T+y+1>d&&(y=Math.max(1,d-T)),v.push(u.substring(p-=y,p+y)),!((T+=y+1)>d));)y=i[b=(b+1)%i.length];return v.reverse().join(s)}}function RIt(i){return function(s){return s.replace(/[0-9]/g,function(u){return i[+u]})}}var jIt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function tX(i){if(!(s=jIt.exec(i)))throw new Error("invalid format: "+i);var s;return new zpe({fill:s[1],align:s[2],sign:s[3],symbol:s[4],zero:s[5],width:s[6],comma:s[7],precision:s[8]&&s[8].slice(1),trim:s[9],type:s[10]})}tX.prototype=zpe.prototype;function zpe(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}zpe.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function $It(i){e:for(var s=i.length,u=1,d=-1,p;u0&&(d=0);break}return d>0?i.slice(0,d)+i.slice(p+1):i}var cFe;function zIt(i,s){var u=eX(i,s);if(!u)return i+"";var d=u[0],p=u[1],v=p-(cFe=Math.max(-8,Math.min(8,Math.floor(p/3)))*3)+1,b=d.length;return v===b?d:v>b?d+new Array(v-b+1).join("0"):v>0?d.slice(0,v)+"."+d.slice(v):"0."+new Array(1-v).join("0")+eX(i,Math.max(0,s+v-1))[0]}function uFe(i,s){var u=eX(i,s);if(!u)return i+"";var d=u[0],p=u[1];return p<0?"0."+new Array(-p).join("0")+d:d.length>p+1?d.slice(0,p+1)+"."+d.slice(p+1):d+new Array(p-d.length+2).join("0")}const lFe={"%":(i,s)=>(i*100).toFixed(s),b:i=>Math.round(i).toString(2),c:i=>i+"",d:BIt,e:(i,s)=>i.toExponential(s),f:(i,s)=>i.toFixed(s),g:(i,s)=>i.toPrecision(s),o:i=>Math.round(i).toString(8),p:(i,s)=>uFe(i*100,s),r:uFe,s:zIt,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function hFe(i){return i}var fFe=Array.prototype.map,dFe=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function qIt(i){var s=i.grouping===void 0||i.thousands===void 0?hFe:FIt(fFe.call(i.grouping,Number),i.thousands+""),u=i.currency===void 0?"":i.currency[0]+"",d=i.currency===void 0?"":i.currency[1]+"",p=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?hFe:RIt(fFe.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",y=i.minus===void 0?"−":i.minus+"",T=i.nan===void 0?"NaN":i.nan+"";function _(P){P=tX(P);var R=P.fill,F=P.align,j=P.sign,K=P.symbol,ee=P.zero,ie=P.width,oe=P.comma,pe=P.precision,be=P.trim,ae=P.type;ae==="n"?(oe=!0,ae="g"):lFe[ae]||(pe===void 0&&(pe=12),be=!0,ae="g"),(ee||R==="0"&&F==="=")&&(ee=!0,R="0",F="=");var ne=K==="$"?u:K==="#"&&/[boxX]/.test(ae)?"0"+ae.toLowerCase():"",se=K==="$"?d:/[%p]/.test(ae)?b:"",de=lFe[ae],X=/[defgprs%]/.test(ae);pe=pe===void 0?6:/[gprs]/.test(ae)?Math.max(1,Math.min(21,pe)):Math.max(0,Math.min(20,pe));function ge(W){var xe=ne,U=se,Fe,Pe,je;if(ae==="c")U=de(W)+U,W="";else{W=+W;var Ie=W<0||1/W<0;if(W=isNaN(W)?T:de(Math.abs(W),pe),be&&(W=$It(W)),Ie&&+W==0&&j!=="+"&&(Ie=!1),xe=(Ie?j==="("?j:y:j==="-"||j==="("?"":j)+xe,U=(ae==="s"?dFe[8+cFe/3]:"")+U+(Ie&&j==="("?")":""),X){for(Fe=-1,Pe=W.length;++Feje||je>57){U=(je===46?p+W.slice(Fe+1):W.slice(Fe))+U,W=W.slice(0,Fe);break}}}oe&&!ee&&(W=s(W,1/0));var Se=xe.length+W.length+U.length,Ce=Se>1)+xe+W+U+Ce.slice(Se);break;default:W=Ce+xe+W+U;break}return v(W)}return ge.toString=function(){return P+""},ge}function A(P,R){var F=_((P=tX(P),P.type="f",P)),j=Math.max(-8,Math.min(8,Math.floor(rD(R)/3)))*3,K=Math.pow(10,-j),ee=dFe[8+j/3];return function(ie){return F(K*ie)+ee}}return{format:_,formatPrefix:A}}var nX,gFe,pFe;HIt({thousands:",",grouping:[3],currency:["$",""]});function HIt(i){return nX=qIt(i),gFe=nX.format,pFe=nX.formatPrefix,nX}function VIt(i){return Math.max(0,-rD(Math.abs(i)))}function UIt(i,s){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(rD(s)/3)))*3-rD(Math.abs(i)))}function GIt(i,s){return i=Math.abs(i),s=Math.abs(s)-i,Math.max(0,rD(s)-rD(i))+1}function rX(i,s){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(s).domain(i);break}return this}const bFe=Symbol("implicit");function _F(){var i=new cBe,s=[],u=[],d=bFe;function p(v){let b=i.get(v);if(b===void 0){if(d!==bFe)return d;i.set(v,b=s.push(v)-1)}return u[b%u.length]}return p.domain=function(v){if(!arguments.length)return s.slice();s=[],i=new cBe;for(const b of v)i.has(b)||i.set(b,s.push(b)-1);return p},p.range=function(v){return arguments.length?(u=Array.from(v),p):u.slice()},p.unknown=function(v){return arguments.length?(d=v,p):d},p.copy=function(){return _F(s,u).unknown(d)},rX.apply(p,arguments),p}function qpe(){var i=_F().unknown(void 0),s=i.domain,u=i.range,d=0,p=1,v,b,y=!1,T=0,_=0,A=.5;delete i.unknown;function P(){var R=s().length,F=ps&&(u=i,i=s,s=u),function(d){return Math.max(i,Math.min(s,d))}}function XIt(i,s,u){var d=i[0],p=i[1],v=s[0],b=s[1];return p2?QIt:XIt,T=_=null,P}function P(R){return R==null||isNaN(R=+R)?v:(T||(T=y(i.map(d),s,u)))(d(b(R)))}return P.invert=function(R){return b(p((_||(_=y(s,i.map(d),L3)))(R)))},P.domain=function(R){return arguments.length?(i=Array.from(R,WIt),A()):i.slice()},P.range=function(R){return arguments.length?(s=Array.from(R),A()):s.slice()},P.rangeRound=function(R){return s=Array.from(R),u=lDt,A()},P.clamp=function(R){return arguments.length?(b=R?!0:iD,A()):b!==iD},P.interpolate=function(R){return arguments.length?(u=R,A()):u},P.unknown=function(R){return arguments.length?(v=R,P):v},function(R,F){return d=R,p=F,A()}}function wFe(){return JIt()(iD,iD)}function ZIt(i,s,u,d){var p=ppe(i,s,u),v;switch(d=tX(d??",f"),d.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(s));return d.precision==null&&!isNaN(v=UIt(p,b))&&(d.precision=v),pFe(d,b)}case"":case"e":case"g":case"p":case"r":{d.precision==null&&!isNaN(v=GIt(p,Math.max(Math.abs(i),Math.abs(s))))&&(d.precision=v-(d.type==="e"));break}case"f":case"%":{d.precision==null&&!isNaN(v=VIt(p))&&(d.precision=v-(d.type==="%")*2);break}}return gFe(d)}function eOt(i){var s=i.domain;return i.ticks=function(u){var d=s();return GAt(d[0],d[d.length-1],u??10)},i.tickFormat=function(u,d){var p=s();return ZIt(p[0],p[p.length-1],u??10,d)},i.nice=function(u){u==null&&(u=10);var d=s(),p=0,v=d.length-1,b=d[p],y=d[v],T,_,A=10;for(y0;){if(_=gpe(b,y,u),_===T)return d[p]=b,d[v]=y,s(d);if(_>0)b=Math.floor(b/_)*_,y=Math.ceil(y/_)*_;else if(_<0)b=Math.ceil(b*_)/_,y=Math.floor(y*_)/_;else break;T=_}return i},i}function sD(){var i=wFe();return i.copy=function(){return vFe(i,sD())},rX.apply(i,arguments),eOt(i)}function tOt(i,s){i=i.slice();var u=0,d=i.length-1,p=i[u],v=i[d],b;return v(i(v=new Date(+v)),v),p.ceil=v=>(i(v=new Date(v-1)),s(v,1),i(v),v),p.round=v=>{const b=p(v),y=p.ceil(v);return v-b(s(v=new Date(+v),b==null?1:Math.floor(b)),v),p.range=(v,b,y)=>{const T=[];if(v=p.ceil(v),y=y==null?1:Math.floor(y),!(v0))return T;let _;do T.push(_=new Date(+v)),s(v,y),i(v);while(_h1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,y)=>{if(b>=b)if(y<0)for(;++y<=0;)for(;s(b,-1),!v(b););else for(;--y>=0;)for(;s(b,1),!v(b););}),u&&(p.count=(v,b)=>(Vpe.setTime(+v),Upe.setTime(+b),i(Vpe),i(Upe),Math.floor(u(Vpe,Upe))),p.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?p.filter(d?b=>d(b)%v===0:b=>p.count(0,b)%v===0):p)),p}const aD=h1(()=>{},(i,s)=>{i.setTime(+i+s)},(i,s)=>s-i);aD.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?h1(s=>{s.setTime(Math.floor(s/i)*i)},(s,u)=>{s.setTime(+s+u*i)},(s,u)=>(u-s)/i):aD),aD.range;const v7=1e3,Mv=v7*60,w7=Mv*60,y7=w7*24,Gpe=y7*7,yFe=y7*30,Kpe=y7*365,b9=h1(i=>{i.setTime(i-i.getMilliseconds())},(i,s)=>{i.setTime(+i+s*v7)},(i,s)=>(s-i)/v7,i=>i.getUTCSeconds());b9.range;const AF=h1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*v7)},(i,s)=>{i.setTime(+i+s*Mv)},(i,s)=>(s-i)/Mv,i=>i.getMinutes());AF.range,h1(i=>{i.setUTCSeconds(0,0)},(i,s)=>{i.setTime(+i+s*Mv)},(i,s)=>(s-i)/Mv,i=>i.getUTCMinutes()).range;const LF=h1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*v7-i.getMinutes()*Mv)},(i,s)=>{i.setTime(+i+s*w7)},(i,s)=>(s-i)/w7,i=>i.getHours());LF.range,h1(i=>{i.setUTCMinutes(0,0,0)},(i,s)=>{i.setTime(+i+s*w7)},(i,s)=>(s-i)/w7,i=>i.getUTCHours()).range;const vC=h1(i=>i.setHours(0,0,0,0),(i,s)=>i.setDate(i.getDate()+s),(i,s)=>(s-i-(s.getTimezoneOffset()-i.getTimezoneOffset())*Mv)/y7,i=>i.getDate()-1);vC.range;const Wpe=h1(i=>{i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCDate(i.getUTCDate()+s)},(i,s)=>(s-i)/y7,i=>i.getUTCDate()-1);Wpe.range,h1(i=>{i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCDate(i.getUTCDate()+s)},(i,s)=>(s-i)/y7,i=>Math.floor(i/y7)).range;function wC(i){return h1(s=>{s.setDate(s.getDate()-(s.getDay()+7-i)%7),s.setHours(0,0,0,0)},(s,u)=>{s.setDate(s.getDate()+u*7)},(s,u)=>(u-s-(u.getTimezoneOffset()-s.getTimezoneOffset())*Mv)/Gpe)}const MF=wC(0),DF=wC(1),xFe=wC(2),kFe=wC(3),yC=wC(4),EFe=wC(5),TFe=wC(6);MF.range,DF.range,xFe.range,kFe.range,yC.range,EFe.range,TFe.range;function xC(i){return h1(s=>{s.setUTCDate(s.getUTCDate()-(s.getUTCDay()+7-i)%7),s.setUTCHours(0,0,0,0)},(s,u)=>{s.setUTCDate(s.getUTCDate()+u*7)},(s,u)=>(u-s)/Gpe)}const CFe=xC(0),iX=xC(1),nOt=xC(2),rOt=xC(3),oD=xC(4),iOt=xC(5),sOt=xC(6);CFe.range,iX.range,nOt.range,rOt.range,oD.range,iOt.range,sOt.range;const IF=h1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,s)=>{i.setMonth(i.getMonth()+s)},(i,s)=>s.getMonth()-i.getMonth()+(s.getFullYear()-i.getFullYear())*12,i=>i.getMonth());IF.range,h1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCMonth(i.getUTCMonth()+s)},(i,s)=>s.getUTCMonth()-i.getUTCMonth()+(s.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const x7=h1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,s)=>{i.setFullYear(i.getFullYear()+s)},(i,s)=>s.getFullYear()-i.getFullYear(),i=>i.getFullYear());x7.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:h1(s=>{s.setFullYear(Math.floor(s.getFullYear()/i)*i),s.setMonth(0,1),s.setHours(0,0,0,0)},(s,u)=>{s.setFullYear(s.getFullYear()+u*i)}),x7.range;const kC=h1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCFullYear(i.getUTCFullYear()+s)},(i,s)=>s.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());kC.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:h1(s=>{s.setUTCFullYear(Math.floor(s.getUTCFullYear()/i)*i),s.setUTCMonth(0,1),s.setUTCHours(0,0,0,0)},(s,u)=>{s.setUTCFullYear(s.getUTCFullYear()+u*i)}),kC.range;function aOt(i,s,u,d,p,v){const b=[[b9,1,v7],[b9,5,5*v7],[b9,15,15*v7],[b9,30,30*v7],[v,1,Mv],[v,5,5*Mv],[v,15,15*Mv],[v,30,30*Mv],[p,1,w7],[p,3,3*w7],[p,6,6*w7],[p,12,12*w7],[d,1,y7],[d,2,2*y7],[u,1,Gpe],[s,1,yFe],[s,3,3*yFe],[i,1,Kpe]];function y(_,A,P){const R=A<_;R&&([_,A]=[A,_]);const F=P&&typeof P.range=="function"?P:T(_,A,P),j=F?F.range(_,+A+1):[];return R?j.reverse():j}function T(_,A,P){const R=Math.abs(A-_)/P,F=dpe(([,,ee])=>ee).right(b,R);if(F===b.length)return i.every(ppe(_/Kpe,A/Kpe,P));if(F===0)return aD.every(Math.max(ppe(_,A,P),1));const[j,K]=b[R/b[F-1][2]53)return null;"w"in Dt||(Dt.w=1),"Z"in Dt?(On=Xpe(OF(Dt.y,0,1)),ht=On.getUTCDay(),On=ht>4||ht===0?iX.ceil(On):iX(On),On=Wpe.offset(On,(Dt.V-1)*7),Dt.y=On.getUTCFullYear(),Dt.m=On.getUTCMonth(),Dt.d=On.getUTCDate()+(Dt.w+6)%7):(On=Ype(OF(Dt.y,0,1)),ht=On.getDay(),On=ht>4||ht===0?DF.ceil(On):DF(On),On=vC.offset(On,(Dt.V-1)*7),Dt.y=On.getFullYear(),Dt.m=On.getMonth(),Dt.d=On.getDate()+(Dt.w+6)%7)}else("W"in Dt||"U"in Dt)&&("w"in Dt||(Dt.w="u"in Dt?Dt.u%7:"W"in Dt?1:0),ht="Z"in Dt?Xpe(OF(Dt.y,0,1)).getUTCDay():Ype(OF(Dt.y,0,1)).getDay(),Dt.m=0,Dt.d="W"in Dt?(Dt.w+6)%7+Dt.W*7-(ht+5)%7:Dt.w+Dt.U*7-(ht+6)%7);return"Z"in Dt?(Dt.H+=Dt.Z/100|0,Dt.M+=Dt.Z%100,Xpe(Dt)):Ype(Dt)}}function de(xt,Pt,Qe,Dt){for(var kt=0,On=Pt.length,ht=Qe.length,zr,yt;kt=ht)return-1;if(zr=Pt.charCodeAt(kt++),zr===37){if(zr=Pt.charAt(kt++),yt=ae[zr in SFe?Pt.charAt(kt++):zr],!yt||(Dt=yt(xt,Qe,Dt))<0)return-1}else if(zr!=Qe.charCodeAt(Dt++))return-1}return Dt}function X(xt,Pt,Qe){var Dt=_.exec(Pt.slice(Qe));return Dt?(xt.p=A.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function ge(xt,Pt,Qe){var Dt=F.exec(Pt.slice(Qe));return Dt?(xt.w=j.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function W(xt,Pt,Qe){var Dt=P.exec(Pt.slice(Qe));return Dt?(xt.w=R.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function xe(xt,Pt,Qe){var Dt=ie.exec(Pt.slice(Qe));return Dt?(xt.m=oe.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function U(xt,Pt,Qe){var Dt=K.exec(Pt.slice(Qe));return Dt?(xt.m=ee.get(Dt[0].toLowerCase()),Qe+Dt[0].length):-1}function Fe(xt,Pt,Qe){return de(xt,s,Pt,Qe)}function Pe(xt,Pt,Qe){return de(xt,u,Pt,Qe)}function je(xt,Pt,Qe){return de(xt,d,Pt,Qe)}function Ie(xt){return b[xt.getDay()]}function Se(xt){return v[xt.getDay()]}function Ce(xt){return T[xt.getMonth()]}function ke(xt){return y[xt.getMonth()]}function Ke(xt){return p[+(xt.getHours()>=12)]}function Ft(xt){return 1+~~(xt.getMonth()/3)}function Ne(xt){return b[xt.getUTCDay()]}function gn(xt){return v[xt.getUTCDay()]}function _t(xt){return T[xt.getUTCMonth()]}function Et(xt){return y[xt.getUTCMonth()]}function Gt(xt){return p[+(xt.getUTCHours()>=12)]}function ln(xt){return 1+~~(xt.getUTCMonth()/3)}return{format:function(xt){var Pt=ne(xt+="",pe);return Pt.toString=function(){return xt},Pt},parse:function(xt){var Pt=se(xt+="",!1);return Pt.toString=function(){return xt},Pt},utcFormat:function(xt){var Pt=ne(xt+="",be);return Pt.toString=function(){return xt},Pt},utcParse:function(xt){var Pt=se(xt+="",!0);return Pt.toString=function(){return xt},Pt}}}var SFe={"-":"",_:" ",0:"0"},rd=/^\s*\d+/,lOt=/^%/,hOt=/[\\^$*+?|[\]().{}]/g;function mu(i,s,u){var d=i<0?"-":"",p=(d?-i:i)+"",v=p.length;return d+(v[s.toLowerCase(),u]))}function dOt(i,s,u){var d=rd.exec(s.slice(u,u+1));return d?(i.w=+d[0],u+d[0].length):-1}function gOt(i,s,u){var d=rd.exec(s.slice(u,u+1));return d?(i.u=+d[0],u+d[0].length):-1}function pOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.U=+d[0],u+d[0].length):-1}function bOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.V=+d[0],u+d[0].length):-1}function mOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.W=+d[0],u+d[0].length):-1}function _Fe(i,s,u){var d=rd.exec(s.slice(u,u+4));return d?(i.y=+d[0],u+d[0].length):-1}function AFe(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.y=+d[0]+(+d[0]>68?1900:2e3),u+d[0].length):-1}function vOt(i,s,u){var d=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(s.slice(u,u+6));return d?(i.Z=d[1]?0:-(d[2]+(d[3]||"00")),u+d[0].length):-1}function wOt(i,s,u){var d=rd.exec(s.slice(u,u+1));return d?(i.q=d[0]*3-3,u+d[0].length):-1}function yOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.m=d[0]-1,u+d[0].length):-1}function LFe(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.d=+d[0],u+d[0].length):-1}function xOt(i,s,u){var d=rd.exec(s.slice(u,u+3));return d?(i.m=0,i.d=+d[0],u+d[0].length):-1}function MFe(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.H=+d[0],u+d[0].length):-1}function kOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.M=+d[0],u+d[0].length):-1}function EOt(i,s,u){var d=rd.exec(s.slice(u,u+2));return d?(i.S=+d[0],u+d[0].length):-1}function TOt(i,s,u){var d=rd.exec(s.slice(u,u+3));return d?(i.L=+d[0],u+d[0].length):-1}function COt(i,s,u){var d=rd.exec(s.slice(u,u+6));return d?(i.L=Math.floor(d[0]/1e3),u+d[0].length):-1}function SOt(i,s,u){var d=lOt.exec(s.slice(u,u+1));return d?u+d[0].length:-1}function _Ot(i,s,u){var d=rd.exec(s.slice(u));return d?(i.Q=+d[0],u+d[0].length):-1}function AOt(i,s,u){var d=rd.exec(s.slice(u));return d?(i.s=+d[0],u+d[0].length):-1}function DFe(i,s){return mu(i.getDate(),s,2)}function LOt(i,s){return mu(i.getHours(),s,2)}function MOt(i,s){return mu(i.getHours()%12||12,s,2)}function DOt(i,s){return mu(1+vC.count(x7(i),i),s,3)}function IFe(i,s){return mu(i.getMilliseconds(),s,3)}function IOt(i,s){return IFe(i,s)+"000"}function OOt(i,s){return mu(i.getMonth()+1,s,2)}function NOt(i,s){return mu(i.getMinutes(),s,2)}function POt(i,s){return mu(i.getSeconds(),s,2)}function BOt(i){var s=i.getDay();return s===0?7:s}function FOt(i,s){return mu(MF.count(x7(i)-1,i),s,2)}function OFe(i){var s=i.getDay();return s>=4||s===0?yC(i):yC.ceil(i)}function ROt(i,s){return i=OFe(i),mu(yC.count(x7(i),i)+(x7(i).getDay()===4),s,2)}function jOt(i){return i.getDay()}function $Ot(i,s){return mu(DF.count(x7(i)-1,i),s,2)}function zOt(i,s){return mu(i.getFullYear()%100,s,2)}function qOt(i,s){return i=OFe(i),mu(i.getFullYear()%100,s,2)}function HOt(i,s){return mu(i.getFullYear()%1e4,s,4)}function VOt(i,s){var u=i.getDay();return i=u>=4||u===0?yC(i):yC.ceil(i),mu(i.getFullYear()%1e4,s,4)}function UOt(i){var s=i.getTimezoneOffset();return(s>0?"-":(s*=-1,"+"))+mu(s/60|0,"0",2)+mu(s%60,"0",2)}function NFe(i,s){return mu(i.getUTCDate(),s,2)}function GOt(i,s){return mu(i.getUTCHours(),s,2)}function KOt(i,s){return mu(i.getUTCHours()%12||12,s,2)}function WOt(i,s){return mu(1+Wpe.count(kC(i),i),s,3)}function PFe(i,s){return mu(i.getUTCMilliseconds(),s,3)}function YOt(i,s){return PFe(i,s)+"000"}function XOt(i,s){return mu(i.getUTCMonth()+1,s,2)}function QOt(i,s){return mu(i.getUTCMinutes(),s,2)}function JOt(i,s){return mu(i.getUTCSeconds(),s,2)}function ZOt(i){var s=i.getUTCDay();return s===0?7:s}function eNt(i,s){return mu(CFe.count(kC(i)-1,i),s,2)}function BFe(i){var s=i.getUTCDay();return s>=4||s===0?oD(i):oD.ceil(i)}function tNt(i,s){return i=BFe(i),mu(oD.count(kC(i),i)+(kC(i).getUTCDay()===4),s,2)}function nNt(i){return i.getUTCDay()}function rNt(i,s){return mu(iX.count(kC(i)-1,i),s,2)}function iNt(i,s){return mu(i.getUTCFullYear()%100,s,2)}function sNt(i,s){return i=BFe(i),mu(i.getUTCFullYear()%100,s,2)}function aNt(i,s){return mu(i.getUTCFullYear()%1e4,s,4)}function oNt(i,s){var u=i.getUTCDay();return i=u>=4||u===0?oD(i):oD.ceil(i),mu(i.getUTCFullYear()%1e4,s,4)}function cNt(){return"+0000"}function FFe(){return"%"}function RFe(i){return+i}function jFe(i){return Math.floor(+i/1e3)}var cD,sX;uNt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function uNt(i){return cD=uOt(i),sX=cD.format,cD.parse,cD.utcFormat,cD.utcParse,cD}function lNt(i){return new Date(i)}function hNt(i){return i instanceof Date?+i:+new Date(+i)}function $Fe(i,s,u,d,p,v,b,y,T,_){var A=wFe(),P=A.invert,R=A.domain,F=_(".%L"),j=_(":%S"),K=_("%I:%M"),ee=_("%I %p"),ie=_("%a %d"),oe=_("%b %d"),pe=_("%B"),be=_("%Y");function ae(ne){return(T(ne)1?0:i<-1?BF:Math.acos(i)}function HFe(i){return i>=1?aX:i<=-1?-aX:Math.asin(i)}function VFe(i){let s=3;return i.digits=function(u){if(!arguments.length)return s;if(u==null)s=null;else{const d=Math.floor(u);if(!(d>=0))throw new RangeError(`invalid digits: ${u}`);s=d}return i},()=>new DIt(s)}function bNt(i){return i.innerRadius}function mNt(i){return i.outerRadius}function vNt(i){return i.startAngle}function wNt(i){return i.endAngle}function yNt(i){return i&&i.padAngle}function xNt(i,s,u,d,p,v,b,y){var T=u-i,_=d-s,A=b-p,P=y-v,R=P*T-A*_;if(!(R*RFe*Fe+Pe*Pe&&(de=ge,X=W),{cx:de,cy:X,x01:-A,y01:-P,x11:de*(p/ae-1),y11:X*(p/ae-1)}}function lD(){var i=bNt,s=mNt,u=Wf(0),d=null,p=vNt,v=wNt,b=yNt,y=null,T=VFe(_);function _(){var A,P,R=+i.apply(this,arguments),F=+s.apply(this,arguments),j=p.apply(this,arguments)-aX,K=v.apply(this,arguments)-aX,ee=qFe(K-j),ie=K>j;if(y||(y=A=T()),FIg))y.moveTo(0,0);else if(ee>oX-Ig)y.moveTo(F*EC(j),F*z4(j)),y.arc(0,0,F,j,K,!ie),R>Ig&&(y.moveTo(R*EC(K),R*z4(K)),y.arc(0,0,R,K,j,ie));else{var oe=j,pe=K,be=j,ae=K,ne=ee,se=ee,de=b.apply(this,arguments)/2,X=de>Ig&&(d?+d.apply(this,arguments):uD(R*R+F*F)),ge=Qpe(qFe(F-R)/2,+u.apply(this,arguments)),W=ge,xe=ge,U,Fe;if(X>Ig){var Pe=HFe(X/R*z4(de)),je=HFe(X/F*z4(de));(ne-=Pe*2)>Ig?(Pe*=ie?1:-1,be+=Pe,ae-=Pe):(ne=0,be=ae=(j+K)/2),(se-=je*2)>Ig?(je*=ie?1:-1,oe+=je,pe-=je):(se=0,oe=pe=(j+K)/2)}var Ie=F*EC(oe),Se=F*z4(oe),Ce=R*EC(ae),ke=R*z4(ae);if(ge>Ig){var Ke=F*EC(pe),Ft=F*z4(pe),Ne=R*EC(be),gn=R*z4(be),_t;if(eeIg?xe>Ig?(U=cX(Ne,gn,Ie,Se,F,xe,ie),Fe=cX(Ke,Ft,Ce,ke,F,xe,ie),y.moveTo(U.cx+U.x01,U.cy+U.y01),xeIg)||!(ne>Ig)?y.lineTo(Ce,ke):W>Ig?(U=cX(Ce,ke,Ke,Ft,R,-W,ie),Fe=cX(Ie,Se,Ne,gn,R,-W,ie),y.lineTo(U.cx+U.x01,U.cy+U.y01),Wi?1:s>=i?0:NaN}function CNt(i){return i}function SNt(){var i=CNt,s=TNt,u=null,d=Wf(0),p=Wf(oX),v=Wf(0);function b(y){var T,_=(y=UFe(y)).length,A,P,R=0,F=new Array(_),j=new Array(_),K=+d.apply(this,arguments),ee=Math.min(oX,Math.max(-oX,p.apply(this,arguments)-K)),ie,oe=Math.min(Math.abs(ee)/_,v.apply(this,arguments)),pe=oe*(ee<0?-1:1),be;for(T=0;T<_;++T)(be=j[F[T]=T]=+i(y[T],T,y))>0&&(R+=be);for(s!=null?F.sort(function(ae,ne){return s(j[ae],j[ne])}):u!=null&&F.sort(function(ae,ne){return u(y[ae],y[ne])}),T=0,P=R?(ee-_*pe)/R:0;T<_;++T,K=ie)A=F[T],be=j[A],ie=K+(be>0?be*P:0)+pe,j[A]={data:y[A],index:T,value:be,startAngle:K,endAngle:ie,padAngle:oe};return j}return b.value=function(y){return arguments.length?(i=typeof y=="function"?y:Wf(+y),b):i},b.sortValues=function(y){return arguments.length?(s=y,u=null,b):s},b.sort=function(y){return arguments.length?(u=y,s=null,b):u},b.startAngle=function(y){return arguments.length?(d=typeof y=="function"?y:Wf(+y),b):d},b.endAngle=function(y){return arguments.length?(p=typeof y=="function"?y:Wf(+y),b):p},b.padAngle=function(y){return arguments.length?(v=typeof y=="function"?y:Wf(+y),b):v},b}class KFe{constructor(s,u){this._context=s,this._x=u}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(s,u){switch(s=+s,u=+u,this._point){case 0:{this._point=1,this._line?this._context.lineTo(s,u):this._context.moveTo(s,u);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+s)/2,this._y0,this._x0,u,s,u):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+u)/2,s,this._y0,s,u);break}}this._x0=s,this._y0=u}}function _Nt(i){return new KFe(i,!0)}function ANt(i){return new KFe(i,!1)}function m9(){}function uX(i,s,u){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+s)/6,(i._y0+4*i._y1+u)/6)}function lX(i){this._context=i}lX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:uX(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:uX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function FF(i){return new lX(i)}function WFe(i){this._context=i}WFe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._x2=i,this._y2=s;break;case 1:this._point=2,this._x3=i,this._y3=s;break;case 2:this._point=3,this._x4=i,this._y4=s,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+s)/6);break;default:uX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function LNt(i){return new WFe(i)}function YFe(i){this._context=i}YFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var u=(this._x0+4*this._x1+i)/6,d=(this._y0+4*this._y1+s)/6;this._line?this._context.lineTo(u,d):this._context.moveTo(u,d);break;case 3:this._point=4;default:uX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function MNt(i){return new YFe(i)}function XFe(i,s){this._basis=new lX(i),this._beta=s}XFe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,s=this._y,u=i.length-1;if(u>0)for(var d=i[0],p=s[0],v=i[u]-d,b=s[u]-p,y=-1,T;++y<=u;)T=y/u,this._basis.point(this._beta*i[y]+(1-this._beta)*(d+T*v),this._beta*s[y]+(1-this._beta)*(p+T*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,s){this._x.push(+i),this._y.push(+s)}};const DNt=function i(s){function u(d){return s===1?new lX(d):new XFe(d,s)}return u.beta=function(d){return i(+d)},u}(.85);function hX(i,s,u){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-s),i._y2+i._k*(i._y1-u),i._x2,i._y2)}function Jpe(i,s){this._context=i,this._k=(1-s)/6}Jpe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:hX(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2,this._x1=i,this._y1=s;break;case 2:this._point=3;default:hX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const INt=function i(s){function u(d){return new Jpe(d,s)}return u.tension=function(d){return i(+d)},u}(0);function Zpe(i,s){this._context=i,this._k=(1-s)/6}Zpe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._x3=i,this._y3=s;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=s);break;case 2:this._point=3,this._x5=i,this._y5=s;break;default:hX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const ONt=function i(s){function u(d){return new Zpe(d,s)}return u.tension=function(d){return i(+d)},u}(0);function e2e(i,s){this._context=i,this._k=(1-s)/6}e2e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:hX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const NNt=function i(s){function u(d){return new e2e(d,s)}return u.tension=function(d){return i(+d)},u}(0);function t2e(i,s,u){var d=i._x1,p=i._y1,v=i._x2,b=i._y2;if(i._l01_a>Ig){var y=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,T=3*i._l01_a*(i._l01_a+i._l12_a);d=(d*y-i._x0*i._l12_2a+i._x2*i._l01_2a)/T,p=(p*y-i._y0*i._l12_2a+i._y2*i._l01_2a)/T}if(i._l23_a>Ig){var _=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,A=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*_+i._x1*i._l23_2a-s*i._l12_2a)/A,b=(b*_+i._y1*i._l23_2a-u*i._l12_2a)/A}i._context.bezierCurveTo(d,p,v,b,i._x2,i._y2)}function QFe(i,s){this._context=i,this._alpha=s}QFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3;default:t2e(this,i,s);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const PNt=function i(s){function u(d){return s?new QFe(d,s):new Jpe(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function JFe(i,s){this._context=i,this._alpha=s}JFe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=s;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=s);break;case 2:this._point=3,this._x5=i,this._y5=s;break;default:t2e(this,i,s);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const BNt=function i(s){function u(d){return s?new JFe(d,s):new Zpe(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function ZFe(i,s){this._context=i,this._alpha=s}ZFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:t2e(this,i,s);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const FNt=function i(s){function u(d){return s?new ZFe(d,s):new e2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function eRe(i){this._context=i}eRe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,s){i=+i,s=+s,this._point?this._context.lineTo(i,s):(this._point=1,this._context.moveTo(i,s))}};function RNt(i){return new eRe(i)}function tRe(i){return i<0?-1:1}function nRe(i,s,u){var d=i._x1-i._x0,p=s-i._x1,v=(i._y1-i._y0)/(d||p<0&&-0),b=(u-i._y1)/(p||d<0&&-0),y=(v*p+b*d)/(d+p);return(tRe(v)+tRe(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(y))||0}function rRe(i,s){var u=i._x1-i._x0;return u?(3*(i._y1-i._y0)/u-s)/2:s}function n2e(i,s,u){var d=i._x0,p=i._y0,v=i._x1,b=i._y1,y=(v-d)/3;i._context.bezierCurveTo(d+y,p+y*s,v-y,b-y*u,v,b)}function fX(i){this._context=i}fX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:n2e(this,this._t0,rRe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){var u=NaN;if(i=+i,s=+s,!(i===this._x1&&s===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3,n2e(this,rRe(this,u=nRe(this,i,s)),u);break;default:n2e(this,this._t0,u=nRe(this,i,s));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s,this._t0=u}}};function iRe(i){this._context=new sRe(i)}(iRe.prototype=Object.create(fX.prototype)).point=function(i,s){fX.prototype.point.call(this,s,i)};function sRe(i){this._context=i}sRe.prototype={moveTo:function(i,s){this._context.moveTo(s,i)},closePath:function(){this._context.closePath()},lineTo:function(i,s){this._context.lineTo(s,i)},bezierCurveTo:function(i,s,u,d,p,v){this._context.bezierCurveTo(s,i,d,u,v,p)}};function jNt(i){return new fX(i)}function $Nt(i){return new iRe(i)}function aRe(i){this._context=i}aRe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,s=this._y,u=i.length;if(u)if(this._line?this._context.lineTo(i[0],s[0]):this._context.moveTo(i[0],s[0]),u===2)this._context.lineTo(i[1],s[1]);else for(var d=oRe(i),p=oRe(s),v=0,b=1;b=0;--s)p[s]=(b[s]-p[s+1])/v[s];for(v[u-1]=(i[u]+p[u-1])/2,s=0;s=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,s),this._context.lineTo(i,s);else{var u=this._x*(1-this._t)+i*this._t;this._context.lineTo(u,this._y),this._context.lineTo(u,s)}break}}this._x=i,this._y=s}};function qNt(i){return new dX(i,.5)}function HNt(i){return new dX(i,0)}function VNt(i){return new dX(i,1)}function RF(i,s,u){this.k=i,this.x=s,this.y=u}RF.prototype={constructor:RF,scale:function(i){return i===1?this:new RF(this.k*i,this.x,this.y)},translate:function(i,s){return i===0&s===0?this:new RF(this.k,this.x+this.k*i,this.y+this.k*s)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},RF.prototype;/*! @license DOMPurify 3.0.9 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.9/LICENSE */const{entries:cRe,setPrototypeOf:uRe,isFrozen:UNt,getPrototypeOf:GNt,getOwnPropertyDescriptor:KNt}=Object;let{freeze:Ep,seal:D3,create:lRe}=Object,{apply:r2e,construct:i2e}=typeof Reflect<"u"&&Reflect;Ep||(Ep=function(s){return s}),D3||(D3=function(s){return s}),r2e||(r2e=function(s,u,d){return s.apply(u,d)}),i2e||(i2e=function(s,u){return new s(...u)});const gX=sm(Array.prototype.forEach),hRe=sm(Array.prototype.pop),jF=sm(Array.prototype.push),pX=sm(String.prototype.toLowerCase),s2e=sm(String.prototype.toString),WNt=sm(String.prototype.match),$F=sm(String.prototype.replace),YNt=sm(String.prototype.indexOf),XNt=sm(String.prototype.trim),I3=sm(Object.prototype.hasOwnProperty),im=sm(RegExp.prototype.test),zF=QNt(TypeError);function sm(i){return function(s){for(var u=arguments.length,d=new Array(u>1?u-1:0),p=1;p2&&arguments[2]!==void 0?arguments[2]:pX;uRe&&uRe(i,null);let d=s.length;for(;d--;){let p=s[d];if(typeof p=="string"){const v=u(p);v!==p&&(UNt(s)||(s[d]=v),p=v)}i[p]=!0}return i}function JNt(i){for(let s=0;s/gm),rPt=D3(/\${[\w\W]*}/gm),iPt=D3(/^data-[\-\w.\u00B7-\uFFFF]/),sPt=D3(/^aria-[\-\w]+$/),bRe=D3(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),aPt=D3(/^(?:\w+script|data):/i),oPt=D3(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),mRe=D3(/^html$/i);var vRe=Object.freeze({__proto__:null,MUSTACHE_EXPR:tPt,ERB_EXPR:nPt,TMPLIT_EXPR:rPt,DATA_ATTR:iPt,ARIA_ATTR:sPt,IS_ALLOWED_URI:bRe,IS_SCRIPT_OR_DATA:aPt,ATTR_WHITESPACE:oPt,DOCTYPE_NAME:mRe});const cPt=function(){return typeof window>"u"?null:window},uPt=function(s,u){if(typeof s!="object"||typeof s.createPolicy!="function")return null;let d=null;const p="data-tt-policy-suffix";u&&u.hasAttribute(p)&&(d=u.getAttribute(p));const v="dompurify"+(d?"#"+d:"");try{return s.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function wRe(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:cPt();const s=as=>wRe(as);if(s.version="3.0.9",s.removed=[],!i||!i.document||i.document.nodeType!==9)return s.isSupported=!1,s;let{document:u}=i;const d=u,p=d.currentScript,{DocumentFragment:v,HTMLTemplateElement:b,Node:y,Element:T,NodeFilter:_,NamedNodeMap:A=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:P,DOMParser:R,trustedTypes:F}=i,j=T.prototype,K=bX(j,"cloneNode"),ee=bX(j,"nextSibling"),ie=bX(j,"childNodes"),oe=bX(j,"parentNode");if(typeof b=="function"){const as=u.createElement("template");as.content&&as.content.ownerDocument&&(u=as.content.ownerDocument)}let pe,be="";const{implementation:ae,createNodeIterator:ne,createDocumentFragment:se,getElementsByTagName:de}=u,{importNode:X}=d;let ge={};s.isSupported=typeof cRe=="function"&&typeof oe=="function"&&ae&&ae.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:W,ERB_EXPR:xe,TMPLIT_EXPR:U,DATA_ATTR:Fe,ARIA_ATTR:Pe,IS_SCRIPT_OR_DATA:je,ATTR_WHITESPACE:Ie}=vRe;let{IS_ALLOWED_URI:Se}=vRe,Ce=null;const ke=Cc({},[...fRe,...a2e,...o2e,...c2e,...dRe]);let Ke=null;const Ft=Cc({},[...gRe,...u2e,...pRe,...mX]);let Ne=Object.seal(lRe(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),gn=null,_t=null,Et=!0,Gt=!0,ln=!1,xt=!0,Pt=!1,Qe=!1,Dt=!1,kt=!1,On=!1,ht=!1,zr=!1,yt=!0,ji=!1;const xi="user-content-";let Ma=!0,zs=!1,ao={},Tr=null;const Fn=Cc({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let qn=null;const Un=Cc({},["audio","video","img","source","image","track"]);let At=null;const wt=Cc({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),on="http://www.w3.org/1998/Math/MathML",fn="http://www.w3.org/2000/svg",An="http://www.w3.org/1999/xhtml";let oo=An,jo=!1,$o=null;const Pa=Cc({},[on,fn,An],s2e);let wo=null;const _s=["application/xhtml+xml","text/html"],tl="text/html";let da=null,j0=null;const pm=u.createElement("form"),Ml=function(wn){return wn instanceof RegExp||wn instanceof Function},Xc=function(){let wn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(j0&&j0===wn)){if((!wn||typeof wn!="object")&&(wn={}),wn=TC(wn),wo=_s.indexOf(wn.PARSER_MEDIA_TYPE)===-1?tl:wn.PARSER_MEDIA_TYPE,da=wo==="application/xhtml+xml"?s2e:pX,Ce=I3(wn,"ALLOWED_TAGS")?Cc({},wn.ALLOWED_TAGS,da):ke,Ke=I3(wn,"ALLOWED_ATTR")?Cc({},wn.ALLOWED_ATTR,da):Ft,$o=I3(wn,"ALLOWED_NAMESPACES")?Cc({},wn.ALLOWED_NAMESPACES,s2e):Pa,At=I3(wn,"ADD_URI_SAFE_ATTR")?Cc(TC(wt),wn.ADD_URI_SAFE_ATTR,da):wt,qn=I3(wn,"ADD_DATA_URI_TAGS")?Cc(TC(Un),wn.ADD_DATA_URI_TAGS,da):Un,Tr=I3(wn,"FORBID_CONTENTS")?Cc({},wn.FORBID_CONTENTS,da):Fn,gn=I3(wn,"FORBID_TAGS")?Cc({},wn.FORBID_TAGS,da):{},_t=I3(wn,"FORBID_ATTR")?Cc({},wn.FORBID_ATTR,da):{},ao=I3(wn,"USE_PROFILES")?wn.USE_PROFILES:!1,Et=wn.ALLOW_ARIA_ATTR!==!1,Gt=wn.ALLOW_DATA_ATTR!==!1,ln=wn.ALLOW_UNKNOWN_PROTOCOLS||!1,xt=wn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Pt=wn.SAFE_FOR_TEMPLATES||!1,Qe=wn.WHOLE_DOCUMENT||!1,On=wn.RETURN_DOM||!1,ht=wn.RETURN_DOM_FRAGMENT||!1,zr=wn.RETURN_TRUSTED_TYPE||!1,kt=wn.FORCE_BODY||!1,yt=wn.SANITIZE_DOM!==!1,ji=wn.SANITIZE_NAMED_PROPS||!1,Ma=wn.KEEP_CONTENT!==!1,zs=wn.IN_PLACE||!1,Se=wn.ALLOWED_URI_REGEXP||bRe,oo=wn.NAMESPACE||An,Ne=wn.CUSTOM_ELEMENT_HANDLING||{},wn.CUSTOM_ELEMENT_HANDLING&&Ml(wn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ne.tagNameCheck=wn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),wn.CUSTOM_ELEMENT_HANDLING&&Ml(wn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ne.attributeNameCheck=wn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),wn.CUSTOM_ELEMENT_HANDLING&&typeof wn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Ne.allowCustomizedBuiltInElements=wn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Pt&&(Gt=!1),ht&&(On=!0),ao&&(Ce=Cc({},dRe),Ke=[],ao.html===!0&&(Cc(Ce,fRe),Cc(Ke,gRe)),ao.svg===!0&&(Cc(Ce,a2e),Cc(Ke,u2e),Cc(Ke,mX)),ao.svgFilters===!0&&(Cc(Ce,o2e),Cc(Ke,u2e),Cc(Ke,mX)),ao.mathMl===!0&&(Cc(Ce,c2e),Cc(Ke,pRe),Cc(Ke,mX))),wn.ADD_TAGS&&(Ce===ke&&(Ce=TC(Ce)),Cc(Ce,wn.ADD_TAGS,da)),wn.ADD_ATTR&&(Ke===Ft&&(Ke=TC(Ke)),Cc(Ke,wn.ADD_ATTR,da)),wn.ADD_URI_SAFE_ATTR&&Cc(At,wn.ADD_URI_SAFE_ATTR,da),wn.FORBID_CONTENTS&&(Tr===Fn&&(Tr=TC(Tr)),Cc(Tr,wn.FORBID_CONTENTS,da)),Ma&&(Ce["#text"]=!0),Qe&&Cc(Ce,["html","head","body"]),Ce.table&&(Cc(Ce,["tbody"]),delete gn.tbody),wn.TRUSTED_TYPES_POLICY){if(typeof wn.TRUSTED_TYPES_POLICY.createHTML!="function")throw zF('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof wn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw zF('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');pe=wn.TRUSTED_TYPES_POLICY,be=pe.createHTML("")}else pe===void 0&&(pe=uPt(F,p)),pe!==null&&typeof be=="string"&&(be=pe.createHTML(""));Ep&&Ep(wn),j0=wn}},Bc=Cc({},["mi","mo","mn","ms","mtext"]),ja=Cc({},["foreignobject","desc","title","annotation-xml"]),Ou=Cc({},["title","style","font","a","script"]),Sa=Cc({},[...a2e,...o2e,...ZNt]),Po=Cc({},[...c2e,...ePt]),Fc=function(wn){let Zr=oe(wn);(!Zr||!Zr.tagName)&&(Zr={namespaceURI:oo,tagName:"template"});const Zi=pX(wn.tagName),nu=pX(Zr.tagName);return $o[wn.namespaceURI]?wn.namespaceURI===fn?Zr.namespaceURI===An?Zi==="svg":Zr.namespaceURI===on?Zi==="svg"&&(nu==="annotation-xml"||Bc[nu]):!!Sa[Zi]:wn.namespaceURI===on?Zr.namespaceURI===An?Zi==="math":Zr.namespaceURI===fn?Zi==="math"&&ja[nu]:!!Po[Zi]:wn.namespaceURI===An?Zr.namespaceURI===fn&&!ja[nu]||Zr.namespaceURI===on&&!Bc[nu]?!1:!Po[Zi]&&(Ou[Zi]||!Sa[Zi]):!!(wo==="application/xhtml+xml"&&$o[wn.namespaceURI]):!1},xa=function(wn){jF(s.removed,{element:wn});try{wn.parentNode.removeChild(wn)}catch{wn.remove()}},Ba=function(wn,Zr){try{jF(s.removed,{attribute:Zr.getAttributeNode(wn),from:Zr})}catch{jF(s.removed,{attribute:null,from:Zr})}if(Zr.removeAttribute(wn),wn==="is"&&!Ke[wn])if(On||ht)try{xa(Zr)}catch{}else try{Zr.setAttribute(wn,"")}catch{}},ga=function(wn){let Zr=null,Zi=null;if(kt)wn=""+wn;else{const Dl=WNt(wn,/^[\r\n\t ]+/);Zi=Dl&&Dl[0]}wo==="application/xhtml+xml"&&oo===An&&(wn=''+wn+"");const nu=pe?pe.createHTML(wn):wn;if(oo===An)try{Zr=new R().parseFromString(nu,wo)}catch{}if(!Zr||!Zr.documentElement){Zr=ae.createDocument(oo,"template",null);try{Zr.documentElement.innerHTML=jo?be:nu}catch{}}const vu=Zr.body||Zr.documentElement;return wn&&Zi&&vu.insertBefore(u.createTextNode(Zi),vu.childNodes[0]||null),oo===An?de.call(Zr,Qe?"html":"body")[0]:Qe?Zr.documentElement:vu},kh=function(wn){return ne.call(wn.ownerDocument||wn,wn,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT,null)},lu=function(wn){return wn instanceof P&&(typeof wn.nodeName!="string"||typeof wn.textContent!="string"||typeof wn.removeChild!="function"||!(wn.attributes instanceof A)||typeof wn.removeAttribute!="function"||typeof wn.setAttribute!="function"||typeof wn.namespaceURI!="string"||typeof wn.insertBefore!="function"||typeof wn.hasChildNodes!="function")},o5=function(wn){return typeof y=="function"&&wn instanceof y},Wh=function(wn,Zr,Zi){ge[wn]&&gX(ge[wn],nu=>{nu.call(s,Zr,Zi,j0)})},od=function(wn){let Zr=null;if(Wh("beforeSanitizeElements",wn,null),lu(wn))return xa(wn),!0;const Zi=da(wn.nodeName);if(Wh("uponSanitizeElement",wn,{tagName:Zi,allowedTags:Ce}),wn.hasChildNodes()&&!o5(wn.firstElementChild)&&im(/<[/\w]/g,wn.innerHTML)&&im(/<[/\w]/g,wn.textContent))return xa(wn),!0;if(!Ce[Zi]||gn[Zi]){if(!gn[Zi]&&cd(Zi)&&(Ne.tagNameCheck instanceof RegExp&&im(Ne.tagNameCheck,Zi)||Ne.tagNameCheck instanceof Function&&Ne.tagNameCheck(Zi)))return!1;if(Ma&&!Tr[Zi]){const nu=oe(wn)||wn.parentNode,vu=ie(wn)||wn.childNodes;if(vu&&nu){const Dl=vu.length;for(let Yh=Dl-1;Yh>=0;--Yh)nu.insertBefore(K(vu[Yh],!0),ee(wn))}}return xa(wn),!0}return wn instanceof T&&!Fc(wn)||(Zi==="noscript"||Zi==="noembed"||Zi==="noframes")&&im(/<\/no(script|embed|frames)/i,wn.innerHTML)?(xa(wn),!0):(Pt&&wn.nodeType===3&&(Zr=wn.textContent,gX([W,xe,U],nu=>{Zr=$F(Zr,nu," ")}),wn.textContent!==Zr&&(jF(s.removed,{element:wn.cloneNode()}),wn.textContent=Zr)),Wh("afterSanitizeElements",wn,null),!1)},Gd=function(wn,Zr,Zi){if(yt&&(Zr==="id"||Zr==="name")&&(Zi in u||Zi in pm))return!1;if(!(Gt&&!_t[Zr]&&im(Fe,Zr))){if(!(Et&&im(Pe,Zr))){if(!Ke[Zr]||_t[Zr]){if(!(cd(wn)&&(Ne.tagNameCheck instanceof RegExp&&im(Ne.tagNameCheck,wn)||Ne.tagNameCheck instanceof Function&&Ne.tagNameCheck(wn))&&(Ne.attributeNameCheck instanceof RegExp&&im(Ne.attributeNameCheck,Zr)||Ne.attributeNameCheck instanceof Function&&Ne.attributeNameCheck(Zr))||Zr==="is"&&Ne.allowCustomizedBuiltInElements&&(Ne.tagNameCheck instanceof RegExp&&im(Ne.tagNameCheck,Zi)||Ne.tagNameCheck instanceof Function&&Ne.tagNameCheck(Zi))))return!1}else if(!At[Zr]){if(!im(Se,$F(Zi,Ie,""))){if(!((Zr==="src"||Zr==="xlink:href"||Zr==="href")&&wn!=="script"&&YNt(Zi,"data:")===0&&qn[wn])){if(!(ln&&!im(je,$F(Zi,Ie,"")))){if(Zi)return!1}}}}}}return!0},cd=function(wn){return wn!=="annotation-xml"&&wn.indexOf("-")>0},Kd=function(wn){Wh("beforeSanitizeAttributes",wn,null);const{attributes:Zr}=wn;if(!Zr)return;const Zi={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ke};let nu=Zr.length;for(;nu--;){const vu=Zr[nu],{name:Dl,namespaceURI:Yh,value:w1}=vu,$0=da(Dl);let Wi=Dl==="value"?w1:XNt(w1);if(Zi.attrName=$0,Zi.attrValue=Wi,Zi.keepAttr=!0,Zi.forceKeepAttr=void 0,Wh("uponSanitizeAttribute",wn,Zi),Wi=Zi.attrValue,Zi.forceKeepAttr||(Ba(Dl,wn),!Zi.keepAttr))continue;if(!xt&&im(/\/>/i,Wi)){Ba(Dl,wn);continue}Pt&&gX([W,xe,U],Qa=>{Wi=$F(Wi,Qa," ")});const Bs=da(wn.nodeName);if(Gd(Bs,$0,Wi)){if(ji&&($0==="id"||$0==="name")&&(Ba(Dl,wn),Wi=xi+Wi),pe&&typeof F=="object"&&typeof F.getAttributeType=="function"&&!Yh)switch(F.getAttributeType(Bs,$0)){case"TrustedHTML":{Wi=pe.createHTML(Wi);break}case"TrustedScriptURL":{Wi=pe.createScriptURL(Wi);break}}try{Yh?wn.setAttributeNS(Yh,Dl,Wi):wn.setAttribute(Dl,Wi),hRe(s.removed)}catch{}}}Wh("afterSanitizeAttributes",wn,null)},$g=function as(wn){let Zr=null;const Zi=kh(wn);for(Wh("beforeSanitizeShadowDOM",wn,null);Zr=Zi.nextNode();)Wh("uponSanitizeShadowNode",Zr,null),!od(Zr)&&(Zr.content instanceof v&&as(Zr.content),Kd(Zr));Wh("afterSanitizeShadowDOM",wn,null)};return s.sanitize=function(as){let wn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Zr=null,Zi=null,nu=null,vu=null;if(jo=!as,jo&&(as=""),typeof as!="string"&&!o5(as))if(typeof as.toString=="function"){if(as=as.toString(),typeof as!="string")throw zF("dirty is not a string, aborting")}else throw zF("toString is not a function");if(!s.isSupported)return as;if(Dt||Xc(wn),s.removed=[],typeof as=="string"&&(zs=!1),zs){if(as.nodeName){const w1=da(as.nodeName);if(!Ce[w1]||gn[w1])throw zF("root node is forbidden and cannot be sanitized in-place")}}else if(as instanceof y)Zr=ga(""),Zi=Zr.ownerDocument.importNode(as,!0),Zi.nodeType===1&&Zi.nodeName==="BODY"||Zi.nodeName==="HTML"?Zr=Zi:Zr.appendChild(Zi);else{if(!On&&!Pt&&!Qe&&as.indexOf("<")===-1)return pe&&zr?pe.createHTML(as):as;if(Zr=ga(as),!Zr)return On?null:zr?be:""}Zr&&kt&&xa(Zr.firstChild);const Dl=kh(zs?as:Zr);for(;nu=Dl.nextNode();)od(nu)||(nu.content instanceof v&&$g(nu.content),Kd(nu));if(zs)return as;if(On){if(ht)for(vu=se.call(Zr.ownerDocument);Zr.firstChild;)vu.appendChild(Zr.firstChild);else vu=Zr;return(Ke.shadowroot||Ke.shadowrootmode)&&(vu=X.call(d,vu,!0)),vu}let Yh=Qe?Zr.outerHTML:Zr.innerHTML;return Qe&&Ce["!doctype"]&&Zr.ownerDocument&&Zr.ownerDocument.doctype&&Zr.ownerDocument.doctype.name&&im(mRe,Zr.ownerDocument.doctype.name)&&(Yh=" +`+Yh),Pt&&gX([W,xe,U],w1=>{Yh=$F(Yh,w1," ")}),pe&&zr?pe.createHTML(Yh):Yh},s.setConfig=function(){let as=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xc(as),Dt=!0},s.clearConfig=function(){j0=null,Dt=!1},s.isValidAttribute=function(as,wn,Zr){j0||Xc({});const Zi=da(as),nu=da(wn);return Gd(Zi,nu,Zr)},s.addHook=function(as,wn){typeof wn=="function"&&(ge[as]=ge[as]||[],jF(ge[as],wn))},s.removeHook=function(as){if(ge[as])return hRe(ge[as])},s.removeHooks=function(as){ge[as]&&(ge[as]=[])},s.removeAllHooks=function(){ge={}},s}var hD=wRe();const fD=//gi,lPt=i=>i?kRe(i).replace(/\\n/g,"#br#").split("#br#"):[""],hPt=(()=>{let i=!1;return()=>{i||(fPt(),i=!0)}})();function fPt(){const i="data-temp-href-target";hD.addHook("beforeSanitizeAttributes",s=>{s.tagName==="A"&&s.hasAttribute("target")&&s.setAttribute(i,s.getAttribute("target")||"")}),hD.addHook("afterSanitizeAttributes",s=>{s.tagName==="A"&&s.hasAttribute(i)&&(s.setAttribute("target",s.getAttribute(i)||""),s.removeAttribute(i),s.getAttribute("target")==="_blank"&&s.setAttribute("rel","noopener"))})}const yRe=i=>(hPt(),hD.sanitize(i)),xRe=(i,s)=>{var u;if(((u=s.flowchart)==null?void 0:u.htmlLabels)!==!1){const d=s.securityLevel;d==="antiscript"||d==="strict"?i=yRe(i):d!=="loose"&&(i=kRe(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=bPt(i))}return i},Yf=(i,s)=>i&&(s.dompurifyConfig?i=hD.sanitize(xRe(i,s),s.dompurifyConfig).toString():i=hD.sanitize(xRe(i,s),{FORBID_TAGS:["style"]}).toString(),i),dPt=(i,s)=>typeof i=="string"?Yf(i,s):i.flat().map(u=>Yf(u,s)),gPt=i=>fD.test(i),pPt=i=>i.split(fD),bPt=i=>i.replace(/#br#/g,"
    "),kRe=i=>i.replace(fD,"#br#"),mPt=i=>{let s="";return i&&(s=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,s=s.replaceAll(/\(/g,"\\("),s=s.replaceAll(/\)/g,"\\)")),s},f1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),vPt=function(...i){const s=i.filter(u=>!isNaN(u));return Math.max(...s)},wPt=function(...i){const s=i.filter(u=>!isNaN(u));return Math.min(...s)},qF=function(i){const s=i.split(/(,)/),u=[];for(let d=0;d0&&d+1Math.max(0,i.split(s).length-1),yPt=(i,s)=>{const u=l2e(i,"~"),d=l2e(s,"~");return u===1&&d===1},xPt=i=>{const s=l2e(i,"~");let u=!1;if(s<=1)return i;s%2!==0&&i.startsWith("~")&&(i=i.substring(1),u=!0);const d=[...i];let p=d.indexOf("~"),v=d.lastIndexOf("~");for(;p!==-1&&v!==-1&&p!==v;)d[p]="<",d[v]=">",p=d.indexOf("~"),v=d.lastIndexOf("~");return u&&d.unshift("~"),d.join("")},ERe=()=>window.MathMLElement!==void 0,h2e=/\$\$(.*)\$\$/g,Dv=i=>{var s;return(((s=i.match(h2e))==null?void 0:s.length)??0)>0},HF=async(i,s)=>{i=await CC(i,s);const u=document.createElement("div");u.innerHTML=i,u.id="katex-temp",u.style.visibility="hidden",u.style.position="absolute",u.style.top="0";const d=document.querySelector("body");d==null||d.insertAdjacentElement("beforeend",u);const p={width:u.clientWidth,height:u.clientHeight};return u.remove(),p},CC=async(i,s)=>{if(!Dv(i))return i;if(!ERe()&&!s.legacyMathML)return i.replace(h2e,"MathML is unsupported in this environment.");const{default:u}=await Promise.resolve().then(()=>MVt);return i.split(fD).map(d=>Dv(d)?` +
    + ${d} +
    + `:`
    ${d}
    `).join("").replace(h2e,(d,p)=>u.renderToString(p,{throwOnError:!0,displayMode:!0,output:ERe()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,""))},li={getRows:lPt,sanitizeText:Yf,sanitizeTextOrArray:dPt,hasBreaks:gPt,splitBreaks:pPt,lineBreakRegex:fD,removeScript:yRe,getUrl:mPt,evaluate:f1,getMax:vPt,getMin:wPt},vX={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const s=i/255;return i>.03928?Math.pow((s+.055)/1.055,2.4):s/12.92},hue2rgb:(i,s,u)=>(u<0&&(u+=1),u>1&&(u-=1),u<1/6?i+(s-i)*6*u:u<1/2?s:u<2/3?i+(s-i)*(2/3-u)*6:i),hsl2rgb:({h:i,s,l:u},d)=>{if(!s)return u*2.55;i/=360,s/=100,u/=100;const p=u<.5?u*(1+s):u+s-u*s,v=2*u-p;switch(d){case"r":return vX.hue2rgb(v,p,i+1/3)*255;case"g":return vX.hue2rgb(v,p,i)*255;case"b":return vX.hue2rgb(v,p,i-1/3)*255}},rgb2hsl:({r:i,g:s,b:u},d)=>{i/=255,s/=255,u/=255;const p=Math.max(i,s,u),v=Math.min(i,s,u),b=(p+v)/2;if(d==="l")return b*100;if(p===v)return 0;const y=p-v,T=b>.5?y/(2-p-v):y/(p+v);if(d==="s")return T*100;switch(p){case i:return((s-u)/y+(ss>u?Math.min(s,Math.max(u,i)):Math.min(u,Math.max(s,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const s=Math.round(i).toString(16);return s.length>1?s:`0${s}`}}},v9={};for(let i=0;i<=255;i++)v9[i]=Wa.unit.dec2hex(i);const Og={ALL:0,RGB:1,HSL:2};class kPt{constructor(){this.type=Og.ALL}get(){return this.type}set(s){if(this.type&&this.type!==s)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=s}reset(){this.type=Og.ALL}is(s){return this.type===s}}const EPt=kPt;class TPt{constructor(s,u){this.color=u,this.changed=!1,this.data=s,this.type=new EPt}set(s,u){return this.color=u,this.changed=!1,this.data=s,this.type.type=Og.ALL,this}_ensureHSL(){const s=this.data,{h:u,s:d,l:p}=s;u===void 0&&(s.h=Wa.channel.rgb2hsl(s,"h")),d===void 0&&(s.s=Wa.channel.rgb2hsl(s,"s")),p===void 0&&(s.l=Wa.channel.rgb2hsl(s,"l"))}_ensureRGB(){const s=this.data,{r:u,g:d,b:p}=s;u===void 0&&(s.r=Wa.channel.hsl2rgb(s,"r")),d===void 0&&(s.g=Wa.channel.hsl2rgb(s,"g")),p===void 0&&(s.b=Wa.channel.hsl2rgb(s,"b"))}get r(){const s=this.data,u=s.r;return!this.type.is(Og.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"r"))}get g(){const s=this.data,u=s.g;return!this.type.is(Og.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"g"))}get b(){const s=this.data,u=s.b;return!this.type.is(Og.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"b"))}get h(){const s=this.data,u=s.h;return!this.type.is(Og.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"h"))}get s(){const s=this.data,u=s.s;return!this.type.is(Og.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"s"))}get l(){const s=this.data,u=s.l;return!this.type.is(Og.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"l"))}get a(){return this.data.a}set r(s){this.type.set(Og.RGB),this.changed=!0,this.data.r=s}set g(s){this.type.set(Og.RGB),this.changed=!0,this.data.g=s}set b(s){this.type.set(Og.RGB),this.changed=!0,this.data.b=s}set h(s){this.type.set(Og.HSL),this.changed=!0,this.data.h=s}set s(s){this.type.set(Og.HSL),this.changed=!0,this.data.s=s}set l(s){this.type.set(Og.HSL),this.changed=!0,this.data.l=s}set a(s){this.changed=!0,this.data.a=s}}const CPt=TPt,wX=new CPt({r:0,g:0,b:0,a:0},"transparent"),TRe={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const s=i.match(TRe.re);if(!s)return;const u=s[1],d=parseInt(u,16),p=u.length,v=p%4===0,b=p>4,y=b?1:17,T=b?8:4,_=v?0:-1,A=b?255:15;return wX.set({r:(d>>T*(_+3)&A)*y,g:(d>>T*(_+2)&A)*y,b:(d>>T*(_+1)&A)*y,a:v?(d&A)*y/255:1},i)},stringify:i=>{const{r:s,g:u,b:d,a:p}=i;return p<1?`#${v9[Math.round(s)]}${v9[Math.round(u)]}${v9[Math.round(d)]}${v9[Math.round(p*255)]}`:`#${v9[Math.round(s)]}${v9[Math.round(u)]}${v9[Math.round(d)]}`}},VF=TRe,yX={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:i=>{const s=i.match(yX.hueRe);if(s){const[,u,d]=s;switch(d){case"grad":return Wa.channel.clamp.h(parseFloat(u)*.9);case"rad":return Wa.channel.clamp.h(parseFloat(u)*180/Math.PI);case"turn":return Wa.channel.clamp.h(parseFloat(u)*360)}}return Wa.channel.clamp.h(parseFloat(i))},parse:i=>{const s=i.charCodeAt(0);if(s!==104&&s!==72)return;const u=i.match(yX.re);if(!u)return;const[,d,p,v,b,y]=u;return wX.set({h:yX._hue2deg(d),s:Wa.channel.clamp.s(parseFloat(p)),l:Wa.channel.clamp.l(parseFloat(v)),a:b?Wa.channel.clamp.a(y?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:s,s:u,l:d,a:p}=i;return p<1?`hsla(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%, ${p})`:`hsl(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%)`}},xX=yX,kX={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:i=>{i=i.toLowerCase();const s=kX.colors[i];if(s)return VF.parse(s)},stringify:i=>{const s=VF.stringify(i);for(const u in kX.colors)if(kX.colors[u]===s)return u}},CRe=kX,SRe={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:i=>{const s=i.charCodeAt(0);if(s!==114&&s!==82)return;const u=i.match(SRe.re);if(!u)return;const[,d,p,v,b,y,T,_,A]=u;return wX.set({r:Wa.channel.clamp.r(p?parseFloat(d)*2.55:parseFloat(d)),g:Wa.channel.clamp.g(b?parseFloat(v)*2.55:parseFloat(v)),b:Wa.channel.clamp.b(T?parseFloat(y)*2.55:parseFloat(y)),a:_?Wa.channel.clamp.a(A?parseFloat(_)/100:parseFloat(_)):1},i)},stringify:i=>{const{r:s,g:u,b:d,a:p}=i;return p<1?`rgba(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)}, ${Wa.lang.round(p)})`:`rgb(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)})`}},EX=SRe,O3={format:{keyword:CRe,hex:VF,rgb:EX,rgba:EX,hsl:xX,hsla:xX},parse:i=>{if(typeof i!="string")return i;const s=VF.parse(i)||EX.parse(i)||xX.parse(i)||CRe.parse(i);if(s)return s;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(Og.HSL)||i.data.r===void 0?xX.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?EX.stringify(i):VF.stringify(i)},_Re=(i,s)=>{const u=O3.parse(i);for(const d in s)u[d]=Wa.channel.clamp[d](s[d]);return O3.stringify(u)},SC=(i,s,u=0,d=1)=>{if(typeof i!="number")return _Re(i,{a:s});const p=wX.set({r:Wa.channel.clamp.r(i),g:Wa.channel.clamp.g(s),b:Wa.channel.clamp.b(u),a:Wa.channel.clamp.a(d)});return O3.stringify(p)},ARe=(i,s)=>Wa.lang.round(O3.parse(i)[s]),SPt=i=>{const{r:s,g:u,b:d}=O3.parse(i),p=.2126*Wa.channel.toLinear(s)+.7152*Wa.channel.toLinear(u)+.0722*Wa.channel.toLinear(d);return Wa.lang.round(p)},_Pt=i=>SPt(i)>=.5,_C=i=>!_Pt(i),LRe=(i,s,u)=>{const d=O3.parse(i),p=d[s],v=Wa.channel.clamp[s](p+u);return p!==v&&(d[s]=v),O3.stringify(d)},Gs=(i,s)=>LRe(i,"l",s),fa=(i,s)=>LRe(i,"l",-s),In=(i,s)=>{const u=O3.parse(i),d={};for(const p in s)s[p]&&(d[p]=u[p]+s[p]);return _Re(i,d)},APt=(i,s,u=50)=>{const{r:d,g:p,b:v,a:b}=O3.parse(i),{r:y,g:T,b:_,a:A}=O3.parse(s),P=u/100,R=P*2-1,F=b-A,K=((R*F===-1?R:(R+F)/(1+R*F))+1)/2,ee=1-K,ie=d*K+y*ee,oe=p*K+T*ee,pe=v*K+_*ee,be=b*P+A*(1-P);return SC(ie,oe,pe,be)},Vi=(i,s=100)=>{const u=O3.parse(i);return u.r=255-u.r,u.g=255-u.g,u.b=255-u.b,APt(u,i,s)},Tp=(i,s)=>s?In(i,{s:-40,l:10}):In(i,{s:-40,l:-10}),TX="#ffffff",CX="#f2f2f2";let LPt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var u,d,p,v,b,y,T,_,A,P,R;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||In(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||In(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tp(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tp(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Vi(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Vi(this.tertiaryColor),this.lineColor=this.lineColor||Vi(this.background),this.arrowheadColor=this.arrowheadColor||Vi(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?fa(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||fa(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Vi(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Gs(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this.darkMode)for(let F=0;F{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const MPt=i=>{const s=new LPt;return s.calculate(i),s};let DPt=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Gs(this.primaryColor,16),this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Vi(this.background),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Gs(Vi("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=SC(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=fa("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=fa(this.sectionBkgColor,10),this.taskBorderColor=SC(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=SC(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.secondBkg=Gs(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Gs(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Gs(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=In(this.primaryColor,{h:64}),this.fillType3=In(this.secondaryColor,{h:64}),this.fillType4=In(this.primaryColor,{h:-64}),this.fillType5=In(this.secondaryColor,{h:-64}),this.fillType6=In(this.primaryColor,{h:128}),this.fillType7=In(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330});for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const IPt=i=>{const s=new DPt;return s.calculate(i),s};let OPt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=In(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=SC(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||fa(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||fa(this.tertiaryColor,40);for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const f2e=i=>{const s=new OPt;return s.calculate(i),s};let NPt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Gs("#cde498",10),this.primaryBorderColor=Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.primaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.actorBorder=fa(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||fa(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||fa(this.tertiaryColor,40);for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const PPt=i=>{const s=new NPt;return s.calculate(i),s};class BPt{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Gs(this.contrast,55),this.background="#ffffff",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.secondBkg=Gs(this.contrast,55),this.border2=this.contrast,this.actorBorder=Gs(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}}const E7={base:{getThemeVariables:MPt},dark:{getThemeVariables:IPt},default:{getThemeVariables:f2e},forest:{getThemeVariables:PPt},neutral:{getThemeVariables:i=>{const s=new BPt;return s.calculate(i),s}}},T7={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},MRe={...T7,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:E7.default.getThemeVariables(),sequence:{...T7.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...T7.gantt,tickInterval:void 0,useWidth:void 0},c4:{...T7.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...T7.pie,useWidth:984},xyChart:{...T7.xyChart,useWidth:void 0},requirement:{...T7.requirement,useWidth:void 0},gitGraph:{...T7.gitGraph,useMaxWidth:!1},sankey:{...T7.sankey,useMaxWidth:!1}},DRe=(i,s="")=>Object.keys(i).reduce((u,d)=>Array.isArray(i[d])?u:typeof i[d]=="object"&&i[d]!==null?[...u,s+d,...DRe(i[d],"")]:[...u,s+d],[]),FPt=new Set(DRe(MRe,"")),sh=MRe,SX=i=>{if(Xe.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(s=>SX(s));return}for(const s of Object.keys(i)){if(Xe.debug("Checking key",s),s.startsWith("__")||s.includes("proto")||s.includes("constr")||!FPt.has(s)||i[s]==null){Xe.debug("sanitize deleting key: ",s),delete i[s];continue}if(typeof i[s]=="object"){Xe.debug("sanitizing object",s),SX(i[s]);continue}const u=["themeCSS","fontFamily","altFontFamily"];for(const d of u)s.includes(d)&&(Xe.debug("sanitizing css option",s),i[s]=RPt(i[s]))}if(i.themeVariables)for(const s of Object.keys(i.themeVariables)){const u=i.themeVariables[s];u!=null&&u.match&&!u.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[s]="")}Xe.debug("After sanitization",i)}},RPt=i=>{let s=0,u=0;for(const d of i){if(s{for(const{id:s,detector:u,loader:d}of i)PRe(s,u,d)},PRe=(i,s,u)=>{dD[i]?Xe.error(`Detector with key ${i} already exists`):dD[i]={detector:s,loader:u},Xe.debug(`Detector with key ${i} added${u?" with loader":""}`)},$Pt=i=>dD[i].loader,d2e=(i,s,{depth:u=2,clobber:d=!1}={})=>{const p={depth:u,clobber:d};return Array.isArray(s)&&!Array.isArray(i)?(s.forEach(v=>d2e(i,v,p)),i):Array.isArray(s)&&Array.isArray(i)?(s.forEach(v=>{i.includes(v)||i.push(v)}),i):i===void 0||u<=0?i!=null&&typeof i=="object"&&typeof s=="object"?Object.assign(i,s):s:(s!==void 0&&typeof i=="object"&&typeof s=="object"&&Object.keys(s).forEach(v=>{typeof s[v]=="object"&&(i[v]===void 0||typeof i[v]=="object")?(i[v]===void 0&&(i[v]=Array.isArray(s[v])?[]:{}),i[v]=d2e(i[v],s[v],{depth:u-1,clobber:d})):(d||typeof i[v]!="object"&&typeof s[v]!="object")&&(i[v]=s[v])}),i)},id=d2e;var zPt=typeof global=="object"&&global&&global.Object===Object&&global;const BRe=zPt;var qPt=typeof self=="object"&&self&&self.Object===Object&&self,HPt=BRe||qPt||Function("return this")();const N3=HPt;var VPt=N3.Symbol;const Iv=VPt;var FRe=Object.prototype,UPt=FRe.hasOwnProperty,GPt=FRe.toString,GF=Iv?Iv.toStringTag:void 0;function KPt(i){var s=UPt.call(i,GF),u=i[GF];try{i[GF]=void 0;var d=!0}catch{}var p=GPt.call(i);return d&&(s?i[GF]=u:delete i[GF]),p}var WPt=Object.prototype,YPt=WPt.toString;function XPt(i){return YPt.call(i)}var QPt="[object Null]",JPt="[object Undefined]",RRe=Iv?Iv.toStringTag:void 0;function AC(i){return i==null?i===void 0?JPt:QPt:RRe&&RRe in Object(i)?KPt(i):XPt(i)}function am(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}var ZPt="[object AsyncFunction]",eBt="[object Function]",tBt="[object GeneratorFunction]",nBt="[object Proxy]";function gD(i){if(!am(i))return!1;var s=AC(i);return s==eBt||s==tBt||s==ZPt||s==nBt}var rBt=N3["__core-js_shared__"];const g2e=rBt;var jRe=function(){var i=/[^.]+$/.exec(g2e&&g2e.keys&&g2e.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function iBt(i){return!!jRe&&jRe in i}var sBt=Function.prototype,aBt=sBt.toString;function LC(i){if(i!=null){try{return aBt.call(i)}catch{}try{return i+""}catch{}}return""}var oBt=/[\\^$.*+?()[\]{}|]/g,cBt=/^\[object .+?Constructor\]$/,uBt=Function.prototype,lBt=Object.prototype,hBt=uBt.toString,fBt=lBt.hasOwnProperty,dBt=RegExp("^"+hBt.call(fBt).replace(oBt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gBt(i){if(!am(i)||iBt(i))return!1;var s=gD(i)?dBt:cBt;return s.test(LC(i))}function pBt(i,s){return i==null?void 0:i[s]}function MC(i,s){var u=pBt(i,s);return gBt(u)?u:void 0}var bBt=MC(Object,"create");const KF=bBt;function mBt(){this.__data__=KF?KF(null):{},this.size=0}function vBt(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}var wBt="__lodash_hash_undefined__",yBt=Object.prototype,xBt=yBt.hasOwnProperty;function kBt(i){var s=this.__data__;if(KF){var u=s[i];return u===wBt?void 0:u}return xBt.call(s,i)?s[i]:void 0}var EBt=Object.prototype,TBt=EBt.hasOwnProperty;function CBt(i){var s=this.__data__;return KF?s[i]!==void 0:TBt.call(s,i)}var SBt="__lodash_hash_undefined__";function _Bt(i,s){var u=this.__data__;return this.size+=this.has(i)?0:1,u[i]=KF&&s===void 0?SBt:s,this}function DC(i){var s=-1,u=i==null?0:i.length;for(this.clear();++s-1}function NBt(i,s){var u=this.__data__,d=AX(u,i);return d<0?(++this.size,u.push([i,s])):u[d][1]=s,this}function C7(i){var s=-1,u=i==null?0:i.length;for(this.clear();++s-1&&i%1==0&&i<=uFt}function w9(i){return i!=null&&w2e(i.length)&&!gD(i)}function JRe(i){return q4(i)&&w9(i)}function lFt(){return!1}var ZRe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,eje=ZRe&&typeof module=="object"&&module&&!module.nodeType&&module,hFt=eje&&eje.exports===ZRe,tje=hFt?N3.Buffer:void 0,fFt=tje?tje.isBuffer:void 0,dFt=fFt||lFt;const vD=dFt;var gFt="[object Object]",pFt=Function.prototype,bFt=Object.prototype,nje=pFt.toString,mFt=bFt.hasOwnProperty,vFt=nje.call(Object);function rje(i){if(!q4(i)||AC(i)!=gFt)return!1;var s=v2e(i);if(s===null)return!0;var u=mFt.call(s,"constructor")&&s.constructor;return typeof u=="function"&&u instanceof u&&nje.call(u)==vFt}var wFt="[object Arguments]",yFt="[object Array]",xFt="[object Boolean]",kFt="[object Date]",EFt="[object Error]",TFt="[object Function]",CFt="[object Map]",SFt="[object Number]",_Ft="[object Object]",AFt="[object RegExp]",LFt="[object Set]",MFt="[object String]",DFt="[object WeakMap]",IFt="[object ArrayBuffer]",OFt="[object DataView]",NFt="[object Float32Array]",PFt="[object Float64Array]",BFt="[object Int8Array]",FFt="[object Int16Array]",RFt="[object Int32Array]",jFt="[object Uint8Array]",$Ft="[object Uint8ClampedArray]",zFt="[object Uint16Array]",qFt="[object Uint32Array]",ah={};ah[NFt]=ah[PFt]=ah[BFt]=ah[FFt]=ah[RFt]=ah[jFt]=ah[$Ft]=ah[zFt]=ah[qFt]=!0,ah[wFt]=ah[yFt]=ah[IFt]=ah[xFt]=ah[OFt]=ah[kFt]=ah[EFt]=ah[TFt]=ah[CFt]=ah[SFt]=ah[_Ft]=ah[AFt]=ah[LFt]=ah[MFt]=ah[DFt]=!1;function HFt(i){return q4(i)&&w2e(i.length)&&!!ah[AC(i)]}function NX(i){return function(s){return i(s)}}var ije=typeof exports=="object"&&exports&&!exports.nodeType&&exports,YF=ije&&typeof module=="object"&&module&&!module.nodeType&&module,VFt=YF&&YF.exports===ije,y2e=VFt&&BRe.process,UFt=function(){try{var i=YF&&YF.require&&YF.require("util").types;return i||y2e&&y2e.binding&&y2e.binding("util")}catch{}}();const wD=UFt;var sje=wD&&wD.isTypedArray,GFt=sje?NX(sje):HFt;const PX=GFt;function x2e(i,s){if(!(s==="constructor"&&typeof i[s]=="function")&&s!="__proto__")return i[s]}var KFt=Object.prototype,WFt=KFt.hasOwnProperty;function BX(i,s,u){var d=i[s];(!(WFt.call(i,s)&&pD(d,u))||u===void 0&&!(s in i))&&DX(i,s,u)}function XF(i,s,u,d){var p=!u;u||(u={});for(var v=-1,b=s.length;++v-1&&i%1==0&&i0){if(++s>=uRt)return arguments[0]}else s=0;return i.apply(void 0,arguments)}}var dRt=fRt(cRt);const lje=dRt;function RX(i,s){return lje(uje(i,s,OC),i+"")}function QF(i,s,u){if(!am(u))return!1;var d=typeof s;return(d=="number"?w9(u)&&FX(s,u.length):d=="string"&&s in u)?pD(u[s],i):!1}function gRt(i){return RX(function(s,u){var d=-1,p=u.length,v=p>1?u[p-1]:void 0,b=p>2?u[2]:void 0;for(v=i.length>3&&typeof v=="function"?(p--,v):void 0,b&&QF(u[0],u[1],b)&&(v=p<3?void 0:v,p=1),s=Object(s);++dy.args);SX(b),d=id(d,[...b])}else d=u.args;if(!d)return;let p=_X(i,s);const v="config";return d[v]!==void 0&&(p==="flowchart-v2"&&(p="flowchart"),d[p]=d[v],delete d[v]),d},fje=function(i,s=null){try{const u=new RegExp(`[%]{2}(?![{]${mRt.source})(?=[}][%]{2}).* +`,"ig");i=i.trim().replace(u,"").replace(/'/gm,'"'),Xe.debug(`Detecting diagram directive${s!==null?" type:"+s:""} based on the text:${i}`);let d;const p=[];for(;(d=UF.exec(i))!==null;)if(d.index===UF.lastIndex&&UF.lastIndex++,d&&!s||s&&d[1]&&d[1].match(s)||s&&d[2]&&d[2].match(s)){const v=d[1]?d[1]:d[2],b=d[3]?d[3].trim():d[4]?JSON.parse(d[4].trim()):null;p.push({type:v,args:b})}return p.length===0?{type:i,args:null}:p.length===1?p[0]:p}catch(u){return Xe.error(`ERROR: ${u.message} - Unable to parse directive type: '${s}' based on the text: '${i}'`),{type:void 0,args:null}}},wRt=function(i){return i.replace(UF,"")},yRt=function(i,s){for(const[u,d]of s.entries())if(d.match(i))return u;return-1};function Ov(i,s){if(!i)return s;const u=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return bRt[u]??s}function xRt(i,s){const u=i.trim();if(u)return s.securityLevel!=="loose"?p9.sanitizeUrl(u):u}const kRt=(i,...s)=>{const u=i.split("."),d=u.length-1,p=u[d];let v=window;for(let b=0;b{u+=dje(p,s),s=p});const d=u/2;return k2e(i,d)}function TRt(i){return i.length===1?i[0]:ERt(i)}const gje=(i,s=2)=>{const u=Math.pow(10,s);return Math.round(i*u)/u},k2e=(i,s)=>{let u,d=s;for(const p of i){if(u){const v=dje(p,u);if(v=1)return{x:p.x,y:p.y};if(b>0&&b<1)return{x:gje((1-b)*u.x+b*p.x,5),y:gje((1-b)*u.y+b*p.y,5)}}}u=p}throw new Error("Could not find a suitable point for the given distance")},CRt=(i,s,u)=>{Xe.info(`our points ${JSON.stringify(s)}`),s[0]!==u&&(s=s.reverse());const p=k2e(s,25),v=i?10:5,b=Math.atan2(s[0].y-p.y,s[0].x-p.x),y={x:0,y:0};return y.x=Math.sin(b)*v+(s[0].x+p.x)/2,y.y=-Math.cos(b)*v+(s[0].y+p.y)/2,y};function SRt(i,s,u){const d=structuredClone(u);Xe.info("our points",d),s!=="start_left"&&s!=="start_right"&&d.reverse();const p=25+i,v=k2e(d,p),b=10+i*.5,y=Math.atan2(d[0].y-v.y,d[0].x-v.x),T={x:0,y:0};return s==="start_left"?(T.x=Math.sin(y+Math.PI)*b+(d[0].x+v.x)/2,T.y=-Math.cos(y+Math.PI)*b+(d[0].y+v.y)/2):s==="end_right"?(T.x=Math.sin(y-Math.PI)*b+(d[0].x+v.x)/2-5,T.y=-Math.cos(y-Math.PI)*b+(d[0].y+v.y)/2-5):s==="end_left"?(T.x=Math.sin(y)*b+(d[0].x+v.x)/2-5,T.y=-Math.cos(y)*b+(d[0].y+v.y)/2-5):(T.x=Math.sin(y)*b+(d[0].x+v.x)/2,T.y=-Math.cos(y)*b+(d[0].y+v.y)/2),T}function om(i){let s="",u="";for(const d of i)d!==void 0&&(d.startsWith("color:")||d.startsWith("text-align:")?u=u+d+";":s=s+d+";");return{style:s,labelStyle:u}}let pje=0;const bje=()=>(pje++,"id-"+Math.random().toString(36).substr(2,12)+"-"+pje);function _Rt(i){let s="";const u="0123456789abcdef",d=u.length;for(let p=0;p_Rt(i.length),ARt=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},LRt=function(i,s){const u=s.text.replace(li.lineBreakRegex," "),[,d]=NC(s.fontSize),p=i.append("text");p.attr("x",s.x),p.attr("y",s.y),p.style("text-anchor",s.anchor),p.style("font-family",s.fontFamily),p.style("font-size",d),p.style("font-weight",s.fontWeight),p.attr("fill",s.fill),s.class!==void 0&&p.attr("class",s.class);const v=p.append("tspan");return v.attr("x",s.x+s.textMargin*2),v.attr("fill",s.fill),v.text(u),p},vje=bD((i,s,u)=>{if(!i||(u=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},u),li.lineBreakRegex.test(i)))return i;const d=i.split(" "),p=[];let v="";return d.forEach((b,y)=>{const T=H4(`${b} `,u),_=H4(v,u);if(T>s){const{hyphenatedStrings:R,remainingWord:F}=MRt(b,s,"-",u);p.push(v,...R),v=F}else _+T>=s?(p.push(v),v=b):v=[v,b].filter(Boolean).join(" ");y+1===d.length&&p.push(v)}),p.filter(b=>b!=="").join(u.joinWith)},(i,s,u)=>`${i}${s}${u.fontSize}${u.fontWeight}${u.fontFamily}${u.joinWith}`),MRt=bD((i,s,u="-",d)=>{d=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},d);const p=[...i],v=[];let b="";return p.forEach((y,T)=>{const _=`${b}${y}`;if(H4(_,d)>=s){const P=T+1,R=p.length===P,F=`${_}${u}`;v.push(R?_:F),b=""}else b=_}),{hyphenatedStrings:v,remainingWord:b}},(i,s,u="-",d)=>`${i}${s}${u}${d.fontSize}${d.fontWeight}${d.fontFamily}`);function E2e(i,s){return T2e(i,s).height}function H4(i,s){return T2e(i,s).width}const T2e=bD((i,s)=>{const{fontSize:u=12,fontFamily:d="Arial",fontWeight:p=400}=s;if(!i)return{width:0,height:0};const[,v]=NC(u),b=["sans-serif",d],y=i.split(li.lineBreakRegex),T=[],_=Ir("body");if(!_.remove)return{width:0,height:0,lineHeight:0};const A=_.append("svg");for(const R of b){let F=0;const j={width:0,height:0,lineHeight:0};for(const K of y){const ee=ARt();ee.text=K||hje;const ie=LRt(A,ee).style("font-size",v).style("font-weight",p).style("font-family",R),oe=(ie._groups||ie)[0][0].getBBox();if(oe.width===0&&oe.height===0)throw new Error("svg element not in render tree");j.width=Math.round(Math.max(j.width,oe.width)),F=Math.round(oe.height),j.height+=F,j.lineHeight=Math.round(Math.max(j.lineHeight,F))}T.push(j)}A.remove();const P=isNaN(T[1].height)||isNaN(T[1].width)||isNaN(T[1].lineHeight)||T[0].height>T[1].height&&T[0].width>T[1].width&&T[0].lineHeight>T[1].lineHeight?0:1;return T[P]},(i,s)=>`${i}${s.fontSize}${s.fontWeight}${s.fontFamily}`);class DRt{constructor(s=!1,u){this.count=0,this.count=u?u.length:0,this.next=s?()=>this.count++:()=>Date.now()}}let $X;const IRt=function(i){return $X=$X||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),$X.innerHTML=i,unescape($X.textContent)};function wje(i){return"str"in i}const ORt=(i,s,u,d)=>{var v;if(!d)return;const p=(v=i.node())==null?void 0:v.getBBox();p&&i.append("text").text(d).attr("x",p.x+p.width/2).attr("y",-u).attr("class",s)},NC=i=>{if(typeof i=="number")return[i,i+"px"];const s=parseInt(i??"",10);return Number.isNaN(s)?[void 0,void 0]:i===String(s)?[s,i+"px"]:[s,i]};function JF(i,s){return jX({},i,s)}const Ao={assignWithDepth:id,wrapLabel:vje,calculateTextHeight:E2e,calculateTextWidth:H4,calculateTextDimensions:T2e,cleanAndMerge:JF,detectInit:vRt,detectDirective:fje,isSubstringInArray:yRt,interpolateToCurve:Ov,calcLabelPosition:TRt,calcCardinalityPosition:CRt,calcTerminalLabelPosition:SRt,formatUrl:xRt,getStylesFromArray:om,generateId:bje,random:mje,runFunc:kRt,entityDecode:IRt,insertTitle:ORt,parseFontSize:NC,InitIDGenerator:DRt},NRt=function(i){let s=i;return s=s.replace(/style.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),s=s.replace(/classDef.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),s=s.replace(/#\w+;/g,function(u){const d=u.substring(1,u.length-1);return/^\+?\d+$/.test(d)?"fl°°"+d+"¶ß":"fl°"+d+"¶ß"}),s},ZF=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var yje="comm",xje="rule",kje="decl",PRt="@import",BRt="@keyframes",FRt="@layer",Eje=Math.abs,C2e=String.fromCharCode;function Tje(i){return i.trim()}function zX(i,s,u){return i.replace(s,u)}function RRt(i,s,u){return i.indexOf(s,u)}function eR(i,s){return i.charCodeAt(s)|0}function tR(i,s,u){return i.slice(s,u)}function _7(i){return i.length}function jRt(i){return i.length}function qX(i,s){return s.push(i),i}var HX=1,xD=1,Cje=0,Nv=0,I0=0,kD="";function S2e(i,s,u,d,p,v,b,y){return{value:i,root:s,parent:u,type:d,props:p,children:v,line:HX,column:xD,length:b,return:"",siblings:y}}function $Rt(){return I0}function zRt(){return I0=Nv>0?eR(kD,--Nv):0,xD--,I0===10&&(xD=1,HX--),I0}function B3(){return I0=Nv2||_2e(I0)>3?"":" "}function URt(i,s){for(;--s&&B3()&&!(I0<48||I0>102||I0>57&&I0<65||I0>70&&I0<97););return UX(i,VX()+(s<6&&PC()==32&&B3()==32))}function L2e(i){for(;B3();)switch(I0){case i:return Nv;case 34:case 39:i!==34&&i!==39&&L2e(I0);break;case 40:i===41&&L2e(i);break;case 92:B3();break}return Nv}function GRt(i,s){for(;B3()&&i+I0!==47+10;)if(i+I0===42+42&&PC()===47)break;return"/*"+UX(s,Nv-1)+"*"+C2e(i===47?i:B3())}function KRt(i){for(;!_2e(PC());)B3();return UX(i,Nv)}function WRt(i){return HRt(GX("",null,null,null,[""],i=qRt(i),0,[0],i))}function GX(i,s,u,d,p,v,b,y,T){for(var _=0,A=0,P=b,R=0,F=0,j=0,K=1,ee=1,ie=1,oe=0,pe="",be=p,ae=v,ne=d,se=pe;ee;)switch(j=oe,oe=B3()){case 40:if(j!=108&&eR(se,P-1)==58){RRt(se+=zX(A2e(oe),"&","&\f"),"&\f",Eje(_?y[_-1]:0))!=-1&&(ie=-1);break}case 34:case 39:case 91:se+=A2e(oe);break;case 9:case 10:case 13:case 32:se+=VRt(j);break;case 92:se+=URt(VX()-1,7);continue;case 47:switch(PC()){case 42:case 47:qX(YRt(GRt(B3(),VX()),s,u,T),T);break;default:se+="/"}break;case 123*K:y[_++]=_7(se)*ie;case 125*K:case 59:case 0:switch(oe){case 0:case 125:ee=0;case 59+A:ie==-1&&(se=zX(se,/\f/g,"")),F>0&&_7(se)-P&&qX(F>32?_je(se+";",d,u,P-1,T):_je(zX(se," ","")+";",d,u,P-2,T),T);break;case 59:se+=";";default:if(qX(ne=Sje(se,s,u,_,A,p,y,pe,be=[],ae=[],P,v),v),oe===123)if(A===0)GX(se,s,ne,ne,be,v,P,y,ae);else switch(R===99&&eR(se,3)===110?100:R){case 100:case 108:case 109:case 115:GX(i,ne,ne,d&&qX(Sje(i,ne,ne,0,0,p,y,pe,p,be=[],P,ae),ae),p,ae,P,y,d?be:ae);break;default:GX(se,ne,ne,ne,[""],ae,0,y,ae)}}_=A=F=0,K=ie=1,pe=se="",P=b;break;case 58:P=1+_7(se),F=j;default:if(K<1){if(oe==123)--K;else if(oe==125&&K++==0&&zRt()==125)continue}switch(se+=C2e(oe),oe*K){case 38:ie=A>0?1:(se+="\f",-1);break;case 44:y[_++]=(_7(se)-1)*ie,ie=1;break;case 64:PC()===45&&(se+=A2e(B3())),R=PC(),A=P=_7(pe=se+=KRt(VX())),oe++;break;case 45:j===45&&_7(se)==2&&(K=0)}}return v}function Sje(i,s,u,d,p,v,b,y,T,_,A,P){for(var R=p-1,F=p===0?v:[""],j=jRt(F),K=0,ee=0,ie=0;K0?F[oe]+" "+pe:zX(pe,/&\f/g,F[oe])))&&(T[ie++]=be);return S2e(i,s,u,p===0?xje:y,T,_,A,P)}function YRt(i,s,u,d){return S2e(i,s,u,yje,C2e($Rt()),tR(i,2,-2),0,d)}function _je(i,s,u,d,p){return S2e(i,s,u,kje,tR(i,0,d),tR(i,d+1,-1),d,p)}function M2e(i,s){for(var u="",d=0;d{let u=id({},i),d={};for(const p of s)Ije(p),d=id(d,p);if(u=id(u,d),d.theme&&d.theme in E7){const p=id({},Lje),v=id(p.themeVariables||{},d.themeVariables);u.theme&&u.theme in E7&&(u.themeVariables=E7[u.theme].getThemeVariables(v))}return nR=u,Nje(nR),nR},QRt=i=>(B2=id({},ED),B2=id(B2,i),i.theme&&E7[i.theme]&&(B2.themeVariables=E7[i.theme].getThemeVariables(i.themeVariables)),KX(B2,TD),B2),JRt=i=>{Lje=id({},i)},ZRt=i=>(B2=id(B2,i),KX(B2,TD),B2),Mje=()=>id({},B2),Dje=i=>(Nje(i),id(nR,i),Vh()),Vh=()=>id({},nR),Ije=i=>{i&&(["secure",...B2.secure??[]].forEach(s=>{Object.hasOwn(i,s)&&(Xe.debug(`Denied attempt to modify a secure key ${s}`,i[s]),delete i[s])}),Object.keys(i).forEach(s=>{s.startsWith("__")&&delete i[s]}),Object.keys(i).forEach(s=>{typeof i[s]=="string"&&(i[s].includes("<")||i[s].includes(">")||i[s].includes("url(data:"))&&delete i[s],typeof i[s]=="object"&&Ije(i[s])}))},ejt=i=>{SX(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),TD.push(i),KX(B2,TD)},WX=(i=B2)=>{TD=[],KX(i,TD)},tjt={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Oje={},njt=i=>{Oje[i]||(Xe.warn(tjt[i]),Oje[i]=!0)},Nje=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&njt("LAZY_LOAD_DEPRECATED")},Pje="c4",rjt={id:Pje,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>wUt);return{id:Pje,diagram:i}}},Bje="flowchart",ijt={id:Bje,detector:(i,s)=>{var u,d;return((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="dagre-wrapper"||((d=s==null?void 0:s.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>_en);return{id:Bje,diagram:i}}},Fje="flowchart-v2",sjt={id:Fje,detector:(i,s)=>{var u,d,p;return((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="dagre-d3"||((d=s==null?void 0:s.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((p=s==null?void 0:s.flowchart)==null?void 0:p.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Aen);return{id:Fje,diagram:i}}},Rje="er",ajt={id:Rje,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>etn);return{id:Rje,diagram:i}}},jje="gitGraph",ojt={id:jje,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Stn);return{id:jje,diagram:i}}},$je="gantt",cjt={id:$je,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>pnn);return{id:$je,diagram:i}}},zje="info",ujt={id:zje,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mnn);return{id:zje,diagram:i}}},qje="pie",ljt={id:qje,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Enn);return{id:qje,diagram:i}}},Hje="quadrantChart",hjt={id:Hje,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>jnn);return{id:Hje,diagram:i}}},Vje="xychart",fjt={id:Vje,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>urn);return{id:Vje,diagram:i}}},Uje="requirement",djt={id:Uje,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>wrn);return{id:Uje,diagram:i}}},Gje="sequence",gjt={id:Gje,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>kin);return{id:Gje,diagram:i}}},Kje="class",pjt={id:Kje,detector:(i,s)=>{var u;return((u=s==null?void 0:s.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Gin);return{id:Kje,diagram:i}}},Wje="classDiagram",bjt={id:Wje,detector:(i,s)=>{var u;return/^\s*classDiagram/.test(i)&&((u=s==null?void 0:s.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Jin);return{id:Wje,diagram:i}}},Yje="state",mjt={id:Yje,detector:(i,s)=>{var u;return((u=s==null?void 0:s.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>jsn);return{id:Yje,diagram:i}}},Xje="stateDiagram",vjt={id:Xje,detector:(i,s)=>{var u;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((u=s==null?void 0:s.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ian);return{id:Xje,diagram:i}}},Qje="journey",wjt={id:Qje,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ean);return{id:Qje,diagram:i}}},yjt=function(i,s){for(let u of s)i.attr(u[0],u[1])},xjt=function(i,s,u){let d=new Map;return u?(d.set("width","100%"),d.set("style",`max-width: ${s}px;`)):(d.set("height",i),d.set("width",s)),d},Ng=function(i,s,u,d){const p=xjt(s,u,d);yjt(i,p)},y9=function(i,s,u,d){const p=s.node().getBBox(),v=p.width,b=p.height;Xe.info(`SVG bounds: ${v}x${b}`,p);let y=0,T=0;Xe.info(`Graph bounds: ${y}x${T}`,i),y=v+u*2,T=b+u*2,Xe.info(`Calculated bounds: ${y}x${T}`),Ng(s,T,y,d);const _=`${p.x-u} ${p.y-u} ${p.width+2*u} ${p.height+2*u}`;s.attr("viewBox",_)},YX={},kjt=(i,s,u)=>{let d="";return i in YX&&YX[i]?d=YX[i](u):Xe.warn(`No theme found for ${i}`),` & { + font-family: ${u.fontFamily}; + font-size: ${u.fontSize}; + fill: ${u.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${u.errorBkgColor}; + } + & .error-text { + fill: ${u.errorTextColor}; + stroke: ${u.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${u.lineColor}; + stroke: ${u.lineColor}; + } + & .marker.cross { + stroke: ${u.lineColor}; + } + + & svg { + font-family: ${u.fontFamily}; + font-size: ${u.fontSize}; + } + + ${d} + + ${s} +`},Ejt=(i,s)=>{s!==void 0&&(YX[i]=s)},Tjt=kjt;let D2e="",I2e="",O2e="";const N2e=i=>Yf(i,Vh()),Pg=()=>{D2e="",O2e="",I2e=""},Bg=i=>{D2e=N2e(i).replace(/^\s+/g,"")},Cp=()=>D2e,Sp=i=>{O2e=N2e(i).replace(/\n\s+/g,` +`)},_p=()=>O2e,cm=i=>{I2e=N2e(i)},Ap=()=>I2e,Jje=Object.freeze(Object.defineProperty({__proto__:null,clear:Pg,getAccDescription:_p,getAccTitle:Cp,getDiagramTitle:Ap,setAccDescription:Sp,setAccTitle:Bg,setDiagramTitle:cm},Symbol.toStringTag,{value:"Module"})),Cjt=Xe,Sjt=fpe,qt=Vh,_jt=Dje,Zje=ED,Ajt=i=>Yf(i,qt()),e$e=y9,Ljt=()=>Jje,XX={},QX=(i,s,u)=>{var d;if(XX[i])throw new Error(`Diagram ${i} already registered.`);XX[i]=s,u&&PRe(i,u),Ejt(i,s.styles),(d=s.injectUtils)==null||d.call(s,Cjt,Sjt,qt,Ajt,e$e,Ljt(),()=>{})},P2e=i=>{if(i in XX)return XX[i];throw new Mjt(i)};class Mjt extends Error{constructor(s){super(`Diagram ${s} not found.`)}}const rR=i=>{var p;const{securityLevel:s}=qt();let u=Ir("body");if(s==="sandbox"){const b=((p=Ir(`#i${i}`).node())==null?void 0:p.contentDocument)??document;u=Ir(b.body)}return u.select(`#${i}`)},t$e={draw:(i,s,u)=>{Xe.debug(`rendering svg for syntax error +`);const d=rR(s),p=d.append("g");d.attr("viewBox","0 0 2412 512"),Ng(d,100,512,!0),p.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),p.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),p.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),p.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),p.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),p.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),p.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),p.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${u}`)}},Djt=t$e,Ijt={db:{},renderer:t$e,parser:{parser:{yy:{}},parse:()=>{}}},n$e="flowchart-elk",Ojt={id:n$e,detector:(i,s)=>{var u;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>jan);return{id:n$e,diagram:i}}},r$e="timeline",Njt={id:r$e,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ion);return{id:r$e,diagram:i}}},i$e="mindmap",Pjt={id:i$e,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ion);return{id:i$e,diagram:i}}},s$e="sankey",Bjt={id:s$e,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ccn);return{id:s$e,diagram:i}}},a$e="block",Fjt={id:a$e,detector:i=>/^\s*block-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Acn);return{id:a$e,diagram:i}}};let o$e=!1;const B2e=()=>{o$e||(o$e=!0,QX("error",Ijt,i=>i.toLowerCase().trim()==="error"),QX("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),NRe(rjt,bjt,pjt,ajt,cjt,ujt,ljt,djt,gjt,Ojt,sjt,ijt,Pjt,Njt,ojt,vjt,mjt,wjt,hjt,Bjt,fjt,Fjt))};class c$e{constructor(s,u={}){this.text=s,this.metadata=u,this.type="graph",this.text=NRt(s),this.text+=` +`;const d=Vh();try{this.type=_X(s,d)}catch(v){this.type="error",this.detectError=v}const p=P2e(this.type);Xe.debug("Type "+this.type),this.db=p.db,this.renderer=p.renderer,this.parser=p.parser,this.parser.parser.yy=this.db,this.init=p.init,this.parse()}parse(){var u,d,p,v,b;if(this.detectError)throw this.detectError;(d=(u=this.db).clear)==null||d.call(u);const s=Vh();(p=this.init)==null||p.call(this,s),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(s,u){await this.renderer.draw(this.text,s,u,this)}getParser(){return this.parser}getType(){return this.type}}const Rjt=async(i,s={})=>{const u=_X(i,Vh());try{P2e(u)}catch{const p=$Pt(u);if(!p)throw new ORe(`Diagram ${u} not found.`);const{id:v,diagram:b}=await p();QX(v,b)}return new c$e(i,s)};let u$e=[];const jjt=()=>{u$e.forEach(i=>{i()}),u$e=[]};var $jt=WRe(Object.keys,Object);const zjt=$jt;var qjt=Object.prototype,Hjt=qjt.hasOwnProperty;function l$e(i){if(!OX(i))return zjt(i);var s=[];for(var u in Object(i))Hjt.call(i,u)&&u!="constructor"&&s.push(u);return s}var Vjt=MC(N3,"DataView");const F2e=Vjt;var Ujt=MC(N3,"Promise");const R2e=Ujt;var Gjt=MC(N3,"Set");const CD=Gjt;var Kjt=MC(N3,"WeakMap");const j2e=Kjt;var h$e="[object Map]",Wjt="[object Object]",f$e="[object Promise]",d$e="[object Set]",g$e="[object WeakMap]",p$e="[object DataView]",Yjt=LC(F2e),Xjt=LC(WF),Qjt=LC(R2e),Jjt=LC(CD),Zjt=LC(j2e),BC=AC;(F2e&&BC(new F2e(new ArrayBuffer(1)))!=p$e||WF&&BC(new WF)!=h$e||R2e&&BC(R2e.resolve())!=f$e||CD&&BC(new CD)!=d$e||j2e&&BC(new j2e)!=g$e)&&(BC=function(i){var s=AC(i),u=s==Wjt?i.constructor:void 0,d=u?LC(u):"";if(d)switch(d){case Yjt:return p$e;case Xjt:return h$e;case Qjt:return f$e;case Jjt:return d$e;case Zjt:return g$e}return s});const SD=BC;var e$t="[object Map]",t$t="[object Set]",n$t=Object.prototype,r$t=n$t.hasOwnProperty;function iR(i){if(i==null)return!0;if(w9(i)&&(D0(i)||typeof i=="string"||typeof i.splice=="function"||vD(i)||PX(i)||mD(i)))return!i.length;var s=SD(i);if(s==e$t||s==t$t)return!i.size;if(OX(i))return!l$e(i).length;for(var u in i)if(r$t.call(i,u))return!1;return!0}const i$t="graphics-document document";function s$t(i,s){i.attr("role",i$t),s!==""&&i.attr("aria-roledescription",s)}function a$t(i,s,u,d){if(i.insert!==void 0){if(u){const p=`chart-desc-${d}`;i.attr("aria-describedby",p),i.insert("desc",":first-child").attr("id",p).text(u)}if(s){const p=`chart-title-${d}`;i.attr("aria-labelledby",p),i.insert("title",":first-child").attr("id",p).text(s)}}}const o$t=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function b$e(i){return typeof i>"u"||i===null}function c$t(i){return typeof i=="object"&&i!==null}function u$t(i){return Array.isArray(i)?i:b$e(i)?[]:[i]}function l$t(i,s){var u,d,p,v;if(s)for(v=Object.keys(s),u=0,d=v.length;uy&&(v=" ... ",s=d-y+v.length),u-d>y&&(b=" ...",u=d+y-b.length),{str:v+i.slice(s,u).replace(/\t/g,"→")+b,pos:d-s+v.length}}function z2e(i,s){return Lp.repeat(" ",s-i.length)+i}function w$t(i,s){if(s=Object.create(s||null),!i.buffer)return null;s.maxLength||(s.maxLength=79),typeof s.indent!="number"&&(s.indent=1),typeof s.linesBefore!="number"&&(s.linesBefore=3),typeof s.linesAfter!="number"&&(s.linesAfter=2);for(var u=/\r?\n|\r|\0/g,d=[0],p=[],v,b=-1;v=u.exec(i.buffer);)p.push(v.index),d.push(v.index+v[0].length),i.position<=v.index&&b<0&&(b=d.length-2);b<0&&(b=d.length-1);var y="",T,_,A=Math.min(i.line+s.linesAfter,p.length).toString().length,P=s.maxLength-(s.indent+A+3);for(T=1;T<=s.linesBefore&&!(b-T<0);T++)_=$2e(i.buffer,d[b-T],p[b-T],i.position-(d[b]-d[b-T]),P),y=Lp.repeat(" ",s.indent)+z2e((i.line-T+1).toString(),A)+" | "+_.str+` +`+y;for(_=$2e(i.buffer,d[b],p[b],i.position,P),y+=Lp.repeat(" ",s.indent)+z2e((i.line+1).toString(),A)+" | "+_.str+` +`,y+=Lp.repeat("-",s.indent+A+3+_.pos)+`^ +`,T=1;T<=s.linesAfter&&!(b+T>=p.length);T++)_=$2e(i.buffer,d[b+T],p[b+T],i.position-(d[b]-d[b+T]),P),y+=Lp.repeat(" ",s.indent)+z2e((i.line+T+1).toString(),A)+" | "+_.str+` +`;return y.replace(/\n$/,"")}var y$t=w$t,x$t=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],k$t=["scalar","sequence","mapping"];function E$t(i){var s={};return i!==null&&Object.keys(i).forEach(function(u){i[u].forEach(function(d){s[String(d)]=u})}),s}function T$t(i,s){if(s=s||{},Object.keys(s).forEach(function(u){if(x$t.indexOf(u)===-1)throw new A7('Unknown option "'+u+'" is met in definition of "'+i+'" YAML type.')}),this.options=s,this.tag=i,this.kind=s.kind||null,this.resolve=s.resolve||function(){return!0},this.construct=s.construct||function(u){return u},this.instanceOf=s.instanceOf||null,this.predicate=s.predicate||null,this.represent=s.represent||null,this.representName=s.representName||null,this.defaultStyle=s.defaultStyle||null,this.multi=s.multi||!1,this.styleAliases=E$t(s.styleAliases||null),k$t.indexOf(this.kind)===-1)throw new A7('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var Fg=T$t;function v$e(i,s){var u=[];return i[s].forEach(function(d){var p=u.length;u.forEach(function(v,b){v.tag===d.tag&&v.kind===d.kind&&v.multi===d.multi&&(p=b)}),u[p]=d}),u}function C$t(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},s,u;function d(p){p.multi?(i.multi[p.kind].push(p),i.multi.fallback.push(p)):i[p.kind][p.tag]=i.fallback[p.tag]=p}for(s=0,u=arguments.length;s=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),G$t=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function K$t(i){return!(i===null||!G$t.test(i)||i[i.length-1]==="_")}function W$t(i){var s,u;return s=i.replace(/_/g,"").toLowerCase(),u=s[0]==="-"?-1:1,"+-".indexOf(s[0])>=0&&(s=s.slice(1)),s===".inf"?u===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:s===".nan"?NaN:u*parseFloat(s,10)}var Y$t=/^[-+]?[0-9]+e/;function X$t(i,s){var u;if(isNaN(i))switch(s){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(s){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(s){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Lp.isNegativeZero(i))return"-0.0";return u=i.toString(10),Y$t.test(u)?u.replace("e",".e"):u}function Q$t(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||Lp.isNegativeZero(i))}var J$t=new Fg("tag:yaml.org,2002:float",{kind:"scalar",resolve:K$t,construct:W$t,predicate:Q$t,represent:X$t,defaultStyle:"lowercase"}),w$e=M$t.extend({implicit:[N$t,R$t,U$t,J$t]}),Z$t=w$e,y$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),x$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function ezt(i){return i===null?!1:y$e.exec(i)!==null||x$e.exec(i)!==null}function tzt(i){var s,u,d,p,v,b,y,T=0,_=null,A,P,R;if(s=y$e.exec(i),s===null&&(s=x$e.exec(i)),s===null)throw new Error("Date resolve error");if(u=+s[1],d=+s[2]-1,p=+s[3],!s[4])return new Date(Date.UTC(u,d,p));if(v=+s[4],b=+s[5],y=+s[6],s[7]){for(T=s[7].slice(0,3);T.length<3;)T+="0";T=+T}return s[9]&&(A=+s[10],P=+(s[11]||0),_=(A*60+P)*6e4,s[9]==="-"&&(_=-_)),R=new Date(Date.UTC(u,d,p,v,b,y,T)),_&&R.setTime(R.getTime()-_),R}function nzt(i){return i.toISOString()}var rzt=new Fg("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:ezt,construct:tzt,instanceOf:Date,represent:nzt});function izt(i){return i==="<<"||i===null}var szt=new Fg("tag:yaml.org,2002:merge",{kind:"scalar",resolve:izt}),H2e=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function azt(i){if(i===null)return!1;var s,u,d=0,p=i.length,v=H2e;for(u=0;u64)){if(s<0)return!1;d+=6}return d%8===0}function ozt(i){var s,u,d=i.replace(/[\r\n=]/g,""),p=d.length,v=H2e,b=0,y=[];for(s=0;s>16&255),y.push(b>>8&255),y.push(b&255)),b=b<<6|v.indexOf(d.charAt(s));return u=p%4*6,u===0?(y.push(b>>16&255),y.push(b>>8&255),y.push(b&255)):u===18?(y.push(b>>10&255),y.push(b>>2&255)):u===12&&y.push(b>>4&255),new Uint8Array(y)}function czt(i){var s="",u=0,d,p,v=i.length,b=H2e;for(d=0;d>18&63],s+=b[u>>12&63],s+=b[u>>6&63],s+=b[u&63]),u=(u<<8)+i[d];return p=v%3,p===0?(s+=b[u>>18&63],s+=b[u>>12&63],s+=b[u>>6&63],s+=b[u&63]):p===2?(s+=b[u>>10&63],s+=b[u>>4&63],s+=b[u<<2&63],s+=b[64]):p===1&&(s+=b[u>>2&63],s+=b[u<<4&63],s+=b[64],s+=b[64]),s}function uzt(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var lzt=new Fg("tag:yaml.org,2002:binary",{kind:"scalar",resolve:azt,construct:ozt,predicate:uzt,represent:czt}),hzt=Object.prototype.hasOwnProperty,fzt=Object.prototype.toString;function dzt(i){if(i===null)return!0;var s=[],u,d,p,v,b,y=i;for(u=0,d=y.length;u>10)+55296,(i-65536&1023)+56320)}for(var L$e=new Array(256),M$e=new Array(256),AD=0;AD<256;AD++)L$e[AD]=A$e(AD)?1:0,M$e[AD]=A$e(AD);function Ozt(i,s){this.input=i,this.filename=s.filename||null,this.schema=s.schema||Tzt,this.onWarning=s.onWarning||null,this.legacy=s.legacy||!1,this.json=s.json||!1,this.listener=s.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function D$e(i,s){var u={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return u.snippet=y$t(u),new A7(s,u)}function oa(i,s){throw D$e(i,s)}function eQ(i,s){i.onWarning&&i.onWarning.call(null,D$e(i,s))}var I$e={YAML:function(s,u,d){var p,v,b;s.version!==null&&oa(s,"duplication of %YAML directive"),d.length!==1&&oa(s,"YAML directive accepts exactly one argument"),p=/^([0-9]+)\.([0-9]+)$/.exec(d[0]),p===null&&oa(s,"ill-formed argument of the YAML directive"),v=parseInt(p[1],10),b=parseInt(p[2],10),v!==1&&oa(s,"unacceptable YAML version of the document"),s.version=d[0],s.checkLineBreaks=b<2,b!==1&&b!==2&&eQ(s,"unsupported YAML version of the document")},TAG:function(s,u,d){var p,v;d.length!==2&&oa(s,"TAG directive accepts exactly two arguments"),p=d[0],v=d[1],C$e.test(p)||oa(s,"ill-formed tag handle (first argument) of the TAG directive"),x9.call(s.tagMap,p)&&oa(s,'there is a previously declared suffix for "'+p+'" tag handle'),S$e.test(v)||oa(s,"ill-formed tag prefix (second argument) of the TAG directive");try{v=decodeURIComponent(v)}catch{oa(s,"tag prefix is malformed: "+v)}s.tagMap[p]=v}};function k9(i,s,u,d){var p,v,b,y;if(s1&&(i.result+=Lp.repeat(` +`,s-1))}function Nzt(i,s,u){var d,p,v,b,y,T,_,A,P=i.kind,R=i.result,F;if(F=i.input.charCodeAt(i.position),F2(F)||_D(F)||F===35||F===38||F===42||F===33||F===124||F===62||F===39||F===34||F===37||F===64||F===96||(F===63||F===45)&&(p=i.input.charCodeAt(i.position+1),F2(p)||u&&_D(p)))return!1;for(i.kind="scalar",i.result="",v=b=i.position,y=!1;F!==0;){if(F===58){if(p=i.input.charCodeAt(i.position+1),F2(p)||u&&_D(p))break}else if(F===35){if(d=i.input.charCodeAt(i.position-1),F2(d))break}else{if(i.position===i.lineStart&&tQ(i)||u&&_D(F))break;if(V4(F))if(T=i.line,_=i.lineStart,A=i.lineIndent,O0(i,!1,-1),i.lineIndent>=s){y=!0,F=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=T,i.lineStart=_,i.lineIndent=A;break}}y&&(k9(i,v,b,!1),G2e(i,i.line-T),v=b=i.position,y=!1),FC(F)||(b=i.position+1),F=i.input.charCodeAt(++i.position)}return k9(i,v,b,!1),i.result?!0:(i.kind=P,i.result=R,!1)}function Pzt(i,s){var u,d,p;if(u=i.input.charCodeAt(i.position),u!==39)return!1;for(i.kind="scalar",i.result="",i.position++,d=p=i.position;(u=i.input.charCodeAt(i.position))!==0;)if(u===39)if(k9(i,d,i.position,!0),u=i.input.charCodeAt(++i.position),u===39)d=i.position,i.position++,p=i.position;else return!0;else V4(u)?(k9(i,d,p,!0),G2e(i,O0(i,!1,s)),d=p=i.position):i.position===i.lineStart&&tQ(i)?oa(i,"unexpected end of the document within a single quoted scalar"):(i.position++,p=i.position);oa(i,"unexpected end of the stream within a single quoted scalar")}function Bzt(i,s){var u,d,p,v,b,y;if(y=i.input.charCodeAt(i.position),y!==34)return!1;for(i.kind="scalar",i.result="",i.position++,u=d=i.position;(y=i.input.charCodeAt(i.position))!==0;){if(y===34)return k9(i,u,i.position,!0),i.position++,!0;if(y===92){if(k9(i,u,i.position,!0),y=i.input.charCodeAt(++i.position),V4(y))O0(i,!1,s);else if(y<256&&L$e[y])i.result+=M$e[y],i.position++;else if((b=Mzt(y))>0){for(p=b,v=0;p>0;p--)y=i.input.charCodeAt(++i.position),(b=Lzt(y))>=0?v=(v<<4)+b:oa(i,"expected hexadecimal character");i.result+=Izt(v),i.position++}else oa(i,"unknown escape sequence");u=d=i.position}else V4(y)?(k9(i,u,d,!0),G2e(i,O0(i,!1,s)),u=d=i.position):i.position===i.lineStart&&tQ(i)?oa(i,"unexpected end of the document within a double quoted scalar"):(i.position++,d=i.position)}oa(i,"unexpected end of the stream within a double quoted scalar")}function Fzt(i,s){var u=!0,d,p,v,b=i.tag,y,T=i.anchor,_,A,P,R,F,j=Object.create(null),K,ee,ie,oe;if(oe=i.input.charCodeAt(i.position),oe===91)A=93,F=!1,y=[];else if(oe===123)A=125,F=!0,y={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=y),oe=i.input.charCodeAt(++i.position);oe!==0;){if(O0(i,!0,s),oe=i.input.charCodeAt(i.position),oe===A)return i.position++,i.tag=b,i.anchor=T,i.kind=F?"mapping":"sequence",i.result=y,!0;u?oe===44&&oa(i,"expected the node content, but found ','"):oa(i,"missed comma between flow collection entries"),ee=K=ie=null,P=R=!1,oe===63&&(_=i.input.charCodeAt(i.position+1),F2(_)&&(P=R=!0,i.position++,O0(i,!0,s))),d=i.line,p=i.lineStart,v=i.position,MD(i,s,JX,!1,!0),ee=i.tag,K=i.result,O0(i,!0,s),oe=i.input.charCodeAt(i.position),(R||i.line===d)&&oe===58&&(P=!0,oe=i.input.charCodeAt(++i.position),O0(i,!0,s),MD(i,s,JX,!1,!0),ie=i.result),F?LD(i,y,j,ee,K,ie,d,p,v):P?y.push(LD(i,null,j,ee,K,ie,d,p,v)):y.push(K),O0(i,!0,s),oe=i.input.charCodeAt(i.position),oe===44?(u=!0,oe=i.input.charCodeAt(++i.position)):u=!1}oa(i,"unexpected end of the stream within a flow collection")}function Rzt(i,s){var u,d,p=V2e,v=!1,b=!1,y=s,T=0,_=!1,A,P;if(P=i.input.charCodeAt(i.position),P===124)d=!1;else if(P===62)d=!0;else return!1;for(i.kind="scalar",i.result="";P!==0;)if(P=i.input.charCodeAt(++i.position),P===43||P===45)V2e===p?p=P===43?T$e:Czt:oa(i,"repeat of a chomping mode identifier");else if((A=Dzt(P))>=0)A===0?oa(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?oa(i,"repeat of an indentation width identifier"):(y=s+A-1,b=!0);else break;if(FC(P)){do P=i.input.charCodeAt(++i.position);while(FC(P));if(P===35)do P=i.input.charCodeAt(++i.position);while(!V4(P)&&P!==0)}for(;P!==0;){for(U2e(i),i.lineIndent=0,P=i.input.charCodeAt(i.position);(!b||i.lineIndenty&&(y=i.lineIndent),V4(P)){T++;continue}if(i.lineIndents)&&T!==0)oa(i,"bad indentation of a sequence entry");else if(i.lineIndents)&&(ee&&(b=i.line,y=i.lineStart,T=i.position),MD(i,s,ZX,!0,p)&&(ee?j=i.result:K=i.result),ee||(LD(i,P,R,F,j,K,b,y,T),F=j=K=null),O0(i,!0,-1),oe=i.input.charCodeAt(i.position)),(i.line===v||i.lineIndent>s)&&oe!==0)oa(i,"bad indentation of a mapping entry");else if(i.lineIndents?T=1:i.lineIndent===s?T=0:i.lineIndents?T=1:i.lineIndent===s?T=0:i.lineIndent tag; it should be "scalar", not "'+i.kind+'"'),P=0,R=i.implicitTypes.length;P"),i.result!==null&&j.kind!==i.kind&&oa(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+j.kind+'", not "'+i.kind+'"'),j.resolve(i.result,i.tag)?(i.result=j.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):oa(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||A}function Hzt(i){var s=i.position,u,d,p,v=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(O0(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(v=!0,b=i.input.charCodeAt(++i.position),u=i.position;b!==0&&!F2(b);)b=i.input.charCodeAt(++i.position);for(d=i.input.slice(u,i.position),p=[],d.length<1&&oa(i,"directive name must not be less than one character in length");b!==0;){for(;FC(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!V4(b));break}if(V4(b))break;for(u=i.position;b!==0&&!F2(b);)b=i.input.charCodeAt(++i.position);p.push(i.input.slice(u,i.position))}b!==0&&U2e(i),x9.call(I$e,d)?I$e[d](i,d,p):eQ(i,'unknown document directive "'+d+'"')}if(O0(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,O0(i,!0,-1)):v&&oa(i,"directives end mark is expected"),MD(i,i.lineIndent-1,ZX,!1,!0),O0(i,!0,-1),i.checkLineBreaks&&_zt.test(i.input.slice(s,i.position))&&eQ(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&tQ(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,O0(i,!0,-1));return}if(i.position"u"&&(u=s,s=null);var d=P$e(i,u);if(typeof s!="function")return d;for(var p=0,v=d.length;pi.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(s,u,d)=>"<"+u+d.replace(/="([^"]*)"/g,"='$1'")+">"),Zzt=i=>{const{text:s,metadata:u}=Qzt(i),{displayMode:d,title:p,config:v={}}=u;return d&&(v.gantt||(v.gantt={}),v.gantt.displayMode=d),{title:p,config:v,text:s}},eqt=i=>{const s=Ao.detectInit(i)??{},u=Ao.detectDirective(i,"wrap");return Array.isArray(u)?s.wrap=u.some(({type:d})=>{}):(u==null?void 0:u.type)==="wrap"&&(s.wrap=!0),{text:wRt(i),directive:s}};function B$e(i){const s=Jzt(i),u=Zzt(s),d=eqt(u.text),p=JF(u.config,d.directive);return i=o$t(d.text),{code:i,title:u.title,config:p}}const tqt=5e4,nqt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",rqt="sandbox",iqt="loose",sqt="http://www.w3.org/2000/svg",aqt="http://www.w3.org/1999/xlink",oqt="http://www.w3.org/1999/xhtml",cqt="100%",uqt="100%",lqt="border:0;margin:0;",hqt="margin:0",fqt="allow-top-navigation-by-user-activation allow-popups",dqt='The "iframe" tag is not supported by your browser.',gqt=["foreignobject"],pqt=["dominant-baseline"];function F$e(i){const s=B$e(i);return WX(),ejt(s.config??{}),s}async function bqt(i,s){B2e(),i=F$e(i).code;try{await K2e(i)}catch(u){if(s!=null&&s.suppressErrors)return!1;throw u}return!0}const R$e=(i,s,u=[])=>` +.${i} ${s} { ${u.join(" !important; ")} !important; }`,mqt=(i,s={})=>{var d;let u="";if(i.themeCSS!==void 0&&(u+=` +${i.themeCSS}`),i.fontFamily!==void 0&&(u+=` +:root { --mermaid-font-family: ${i.fontFamily}}`),i.altFontFamily!==void 0&&(u+=` +:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!iR(s)){const y=i.htmlLabels||((d=i.flowchart)==null?void 0:d.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const T in s){const _=s[T];iR(_.styles)||y.forEach(A=>{u+=R$e(_.id,A,_.styles)}),iR(_.textStyles)||(u+=R$e(_.id,"tspan",_.textStyles))}}return u},vqt=(i,s,u,d)=>{const p=mqt(i,u),v=Tjt(s,p,i.themeVariables);return M2e(WRt(`${d}{${v}}`),XRt)},wqt=(i="",s,u)=>{let d=i;return!u&&!s&&(d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),d=ZF(d),d=d.replace(/
    /g,"
    "),d},yqt=(i="",s)=>{var p,v;const u=(v=(p=s==null?void 0:s.viewBox)==null?void 0:p.baseVal)!=null&&v.height?s.viewBox.baseVal.height+"px":uqt,d=btoa(''+i+"");return``},j$e=(i,s,u,d,p)=>{const v=i.append("div");v.attr("id",u),d&&v.attr("style",d);const b=v.append("svg").attr("id",s).attr("width","100%").attr("xmlns",sqt);return p&&b.attr("xmlns:xlink",p),b.append("g"),i};function $$e(i,s){return i.append("iframe").attr("id",s).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const xqt=(i,s,u,d)=>{var p,v,b;(p=i.getElementById(s))==null||p.remove(),(v=i.getElementById(u))==null||v.remove(),(b=i.getElementById(d))==null||b.remove()},kqt=async function(i,s,u){var U,Fe,Pe,je,Ie,Se;B2e();const d=F$e(s);s=d.code;const p=Vh();Xe.debug(p),s.length>((p==null?void 0:p.maxTextSize)??tqt)&&(s=nqt);const v="#"+i,b="i"+i,y="#"+b,T="d"+i,_="#"+T;let A=Ir("body");const P=p.securityLevel===rqt,R=p.securityLevel===iqt,F=p.fontFamily;if(u!==void 0){if(u&&(u.innerHTML=""),P){const Ce=$$e(Ir(u),b);A=Ir(Ce.nodes()[0].contentDocument.body),A.node().style.margin=0}else A=Ir(u);j$e(A,i,T,`font-family: ${F}`,aqt)}else{if(xqt(document,i,T,b),P){const Ce=$$e(Ir("body"),b);A=Ir(Ce.nodes()[0].contentDocument.body),A.node().style.margin=0}else A=Ir("body");j$e(A,i,T)}let j,K;try{j=await K2e(s,{title:d.title})}catch(Ce){j=new c$e("error"),K=Ce}const ee=A.select(_).node(),ie=j.type,oe=ee.firstChild,pe=oe.firstChild,be=(Fe=(U=j.renderer).getClasses)==null?void 0:Fe.call(U,s,j),ae=vqt(p,ie,be,v),ne=document.createElement("style");ne.innerHTML=ae,oe.insertBefore(ne,pe);try{await j.renderer.draw(s,i,Aje,j)}catch(Ce){throw Djt.draw(s,i,Aje),Ce}const se=A.select(`${_} svg`),de=(je=(Pe=j.db).getAccTitle)==null?void 0:je.call(Pe),X=(Se=(Ie=j.db).getAccDescription)==null?void 0:Se.call(Ie);Tqt(ie,se,de,X),A.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",oqt);let ge=A.select(_).node().innerHTML;if(Xe.debug("config.arrowMarkerAbsolute",p.arrowMarkerAbsolute),ge=wqt(ge,P,f1(p.arrowMarkerAbsolute)),P){const Ce=A.select(_+" svg").node();ge=yqt(ge,Ce)}else R||(ge=hD.sanitize(ge,{ADD_TAGS:gqt,ADD_ATTR:pqt}));if(jjt(),K)throw K;const xe=Ir(P?y:_).node();return xe&&"remove"in xe&&xe.remove(),{svg:ge,bindFunctions:j.db.bindFunctions}};function Eqt(i={}){var u;i!=null&&i.fontFamily&&!((u=i.themeVariables)!=null&&u.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),JRt(i),i!=null&&i.theme&&i.theme in E7?i.themeVariables=E7[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=E7.default.getThemeVariables(i.themeVariables));const s=typeof i=="object"?QRt(i):Mje();fpe(s.logLevel),B2e()}const K2e=(i,s={})=>{const{code:u}=B$e(i);return Rjt(u,s)};function Tqt(i,s,u,d){s$t(s,i),a$t(s,u,d,s.attr("id"))}const RC=Object.freeze({render:kqt,parse:bqt,getDiagramFromText:K2e,initialize:Eqt,getConfig:Vh,setConfig:Dje,getSiteConfig:Mje,updateSiteConfig:ZRt,reset:()=>{WX()},globalReset:()=>{WX(ED)},defaultConfig:ED});fpe(Vh().logLevel),WX(Vh());const Cqt=async()=>{Xe.debug("Loading registered diagrams");const s=(await Promise.allSettled(Object.entries(dD).map(async([u,{detector:d,loader:p}])=>{if(p)try{P2e(u)}catch{try{const{diagram:b,id:y}=await p();QX(y,b,d)}catch(b){throw Xe.error(`Failed to load external diagram with key ${u}. Removing from detectors.`),delete dD[u],b}}}))).filter(u=>u.status==="rejected");if(s.length>0){Xe.error(`Failed to load ${s.length} external diagrams`);for(const u of s)Xe.error(u);throw new Error(`Failed to load ${s.length} external diagrams`)}},Sqt=(i,s,u)=>{Xe.warn(i),wje(i)?(u&&u(i.str,i.hash),s.push({...i,message:i.str,error:i})):(u&&u(i),i instanceof Error&&s.push({str:i.message,message:i.message,hash:i.name,error:i}))},z$e=async function(i={querySelector:".mermaid"}){try{await _qt(i)}catch(s){if(wje(s)&&Xe.error(s.str),um.parseError&&um.parseError(s),!i.suppressErrors)throw Xe.error("Use the suppressErrors option to suppress these errors"),s}},_qt=async function({postRenderCallback:i,querySelector:s,nodes:u}={querySelector:".mermaid"}){const d=RC.getConfig();Xe.debug(`${i?"":"No "}Callback function found`);let p;if(u)p=u;else if(s)p=document.querySelectorAll(s);else throw new Error("Nodes and querySelector are both undefined");Xe.debug(`Found ${p.length} diagrams`),(d==null?void 0:d.startOnLoad)!==void 0&&(Xe.debug("Start On Load: "+(d==null?void 0:d.startOnLoad)),RC.updateSiteConfig({startOnLoad:d==null?void 0:d.startOnLoad}));const v=new Ao.InitIDGenerator(d.deterministicIds,d.deterministicIDSeed);let b;const y=[];for(const T of Array.from(p)){Xe.info("Rendering diagram: "+T.id);/*! Check if previously processed */if(T.getAttribute("data-processed"))continue;T.setAttribute("data-processed","true");const _=`mermaid-${v.next()}`;b=T.innerHTML,b=JM(Ao.entityDecode(b)).trim().replace(//gi,"
    ");const A=Ao.detectInit(b);A&&Xe.debug("Detected early reinit: ",A);try{const{svg:P,bindFunctions:R}=await U$e(_,b,T);T.innerHTML=P,i&&await i(_),R&&R(T)}catch(P){Sqt(P,y,um.parseError)}}if(y.length>0)throw y[0]},q$e=function(i){RC.initialize(i)},Aqt=async function(i,s,u){Xe.warn("mermaid.init is deprecated. Please use run instead."),i&&q$e(i);const d={postRenderCallback:u,querySelector:".mermaid"};typeof s=="string"?d.querySelector=s:s&&(s instanceof HTMLElement?d.nodes=[s]:d.nodes=s),await z$e(d)},Lqt=async(i,{lazyLoad:s=!0}={})=>{NRe(...i),s===!1&&await Cqt()},H$e=function(){if(um.startOnLoad){const{startOnLoad:i}=RC.getConfig();i&&um.run().catch(s=>Xe.error("Mermaid failed to initialize",s))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",H$e,!1)}const Mqt=function(i){um.parseError=i},nQ=[];let W2e=!1;const V$e=async()=>{if(!W2e){for(W2e=!0;nQ.length>0;){const i=nQ.shift();if(i)try{await i()}catch(s){Xe.error("Error executing queue",s)}}W2e=!1}},Dqt=async(i,s)=>new Promise((u,d)=>{const p=()=>new Promise((v,b)=>{RC.parse(i,s).then(y=>{v(y),u(y)},y=>{var T;Xe.error("Error parsing",y),(T=um.parseError)==null||T.call(um,y),b(y),d(y)})});nQ.push(p),V$e().catch(d)}),U$e=(i,s,u)=>new Promise((d,p)=>{const v=()=>new Promise((b,y)=>{RC.render(i,s,u).then(T=>{b(T),d(T)},T=>{var _;Xe.error("Error parsing",T),(_=um.parseError)==null||_.call(um,T),y(T),p(T)})});nQ.push(v),V$e().catch(p)}),um={startOnLoad:!0,mermaidAPI:RC,parse:Dqt,render:U$e,init:Aqt,run:z$e,registerExternalDiagrams:Lqt,initialize:q$e,parseError:void 0,contentLoaded:H$e,setParseErrorHandler:Mqt,detectType:_X};class lm{constructor(s,u,d){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=s,this.start=u,this.end=d}static range(s,u){return u?!s||!s.loc||!u.loc||s.loc.lexer!==u.loc.lexer?null:new lm(s.loc.lexer,s.loc.start,u.loc.end):s&&s.loc}}class U4{constructor(s,u){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=s,this.loc=u}range(s,u){return new U4(u,lm.range(this,s))}}class Ci{constructor(s,u){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var d="KaTeX parse error: "+s,p,v,b=u&&u.loc;if(b&&b.start<=b.end){var y=b.lexer.input;p=b.start,v=b.end,p===y.length?d+=" at end of input: ":d+=" at position "+(p+1)+": ";var T=y.slice(p,v).replace(/[^]/g,"$&̲"),_;p>15?_="…"+y.slice(p-15,p):_=y.slice(0,p);var A;v+15":">","<":"<",'"':""","'":"'"},Fqt=/[&><"']/g;function Rqt(i){return String(i).replace(Fqt,s=>Bqt[s])}var G$e=function i(s){return s.type==="ordgroup"||s.type==="color"?s.body.length===1?i(s.body[0]):s:s.type==="font"?i(s.body):s},jqt=function(s){var u=G$e(s);return u.type==="mathord"||u.type==="textord"||u.type==="atom"},$qt=function(s){if(!s)throw new Error("Expected non-null, but got "+String(s));return s},zqt=function(s){var u=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(s);return u!=null?u[1]:"_relative"},Ya={contains:Iqt,deflt:Oqt,escape:Rqt,hyphenate:Pqt,getBaseElem:G$e,isCharacterBox:jqt,protocolFromUrl:zqt},rQ={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:i=>"#"+i},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(i,s)=>(s.push(i),s)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:i=>Math.max(0,i),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:i=>Math.max(0,i),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:i=>Math.max(0,i),cli:"-e, --max-expand ",cliProcessor:i=>i==="Infinity"?1/0:parseInt(i)},globalGroup:{type:"boolean",cli:!1}};function qqt(i){if(i.default)return i.default;var s=i.type,u=Array.isArray(s)?s[0]:s;if(typeof u!="string")return u.enum[0];switch(u){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class Y2e{constructor(s){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,s=s||{};for(var u in rQ)if(rQ.hasOwnProperty(u)){var d=rQ[u];this[u]=s[u]!==void 0?d.processor?d.processor(s[u]):s[u]:qqt(d)}}reportNonstrict(s,u,d){var p=this.strict;if(typeof p=="function"&&(p=p(s,u,d)),!(!p||p==="ignore")){if(p===!0||p==="error")throw new Ci("LaTeX-incompatible input and strict mode is set to 'error': "+(u+" ["+s+"]"),d);p==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+s+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+s+"]"))}}useStrictBehavior(s,u,d){var p=this.strict;if(typeof p=="function")try{p=p(s,u,d)}catch{p="error"}return!p||p==="ignore"?!1:p===!0||p==="error"?!0:p==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+s+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+s+"]")),!1)}isTrusted(s){s.url&&!s.protocol&&(s.protocol=Ya.protocolFromUrl(s.url));var u=typeof this.trust=="function"?this.trust(s):this.trust;return!!u}}class E9{constructor(s,u,d){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=s,this.size=u,this.cramped=d}sup(){return G4[Hqt[this.id]]}sub(){return G4[Vqt[this.id]]}fracNum(){return G4[Uqt[this.id]]}fracDen(){return G4[Gqt[this.id]]}cramp(){return G4[Kqt[this.id]]}text(){return G4[Wqt[this.id]]}isTight(){return this.size>=2}}var X2e=0,iQ=1,DD=2,L7=3,aR=4,Pv=5,ID=6,Mp=7,G4=[new E9(X2e,0,!1),new E9(iQ,0,!0),new E9(DD,1,!1),new E9(L7,1,!0),new E9(aR,2,!1),new E9(Pv,2,!0),new E9(ID,3,!1),new E9(Mp,3,!0)],Hqt=[aR,Pv,aR,Pv,ID,Mp,ID,Mp],Vqt=[Pv,Pv,Pv,Pv,Mp,Mp,Mp,Mp],Uqt=[DD,L7,aR,Pv,ID,Mp,ID,Mp],Gqt=[L7,L7,Pv,Pv,Mp,Mp,Mp,Mp],Kqt=[iQ,iQ,L7,L7,Pv,Pv,Mp,Mp],Wqt=[X2e,iQ,DD,L7,DD,L7,DD,L7],Ta={DISPLAY:G4[X2e],TEXT:G4[DD],SCRIPT:G4[aR],SCRIPTSCRIPT:G4[ID]},Q2e=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Yqt(i){for(var s=0;s=p[0]&&i<=p[1])return u.name}return null}var sQ=[];Q2e.forEach(i=>i.blocks.forEach(s=>sQ.push(...s)));function K$e(i){for(var s=0;s=sQ[s]&&i<=sQ[s+1])return!0;return!1}var OD=80,Xqt=function(s,u){return"M95,"+(622+s+u)+` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+s/2.075+" -"+s+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+s)+`H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M`+(834+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},Qqt=function(s,u){return"M263,"+(601+s+u)+`c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l`+s/2.084+" -"+s+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+s)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M`+(1001+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},Jqt=function(s,u){return"M983 "+(10+s+u)+` +l`+s/3.13+" -"+s+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+s)+` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M`+(1001+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},Zqt=function(s,u){return"M424,"+(2398+s+u)+` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+s/4.223+" -"+s+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+s)+`H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M`+(1001+s)+" "+u+` +h400000v`+(40+s)+"h-400000z"},eHt=function(s,u){return"M473,"+(2713+s+u)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+s/5.298+" -"+s+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+s)+`H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM`+(1001+s)+" "+u+"h400000v"+(40+s)+"H1017.7z"},tHt=function(s){var u=s/2;return"M400000 "+s+" H0 L"+u+" 0 l65 45 L145 "+(s-80)+" H400000z"},nHt=function(s,u,d){var p=d-54-u-s;return"M702 "+(s+u)+"H400000"+(40+s)+` +H742v`+p+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 `+u+"H400000v"+(40+s)+"H742z"},rHt=function(s,u,d){u=1e3*u;var p="";switch(s){case"sqrtMain":p=Xqt(u,OD);break;case"sqrtSize1":p=Qqt(u,OD);break;case"sqrtSize2":p=Jqt(u,OD);break;case"sqrtSize3":p=Zqt(u,OD);break;case"sqrtSize4":p=eHt(u,OD);break;case"sqrtTall":p=nHt(u,OD,d)}return p},iHt=function(s,u){switch(s){case"⎜":return"M291 0 H417 V"+u+" H291z M291 0 H417 V"+u+" H291z";case"∣":return"M145 0 H188 V"+u+" H145z M145 0 H188 V"+u+" H145z";case"∥":return"M145 0 H188 V"+u+" H145z M145 0 H188 V"+u+" H145z"+("M367 0 H410 V"+u+" H367z M367 0 H410 V"+u+" H367z");case"⎟":return"M457 0 H583 V"+u+" H457z M457 0 H583 V"+u+" H457z";case"⎢":return"M319 0 H403 V"+u+" H319z M319 0 H403 V"+u+" H319z";case"⎥":return"M263 0 H347 V"+u+" H263z M263 0 H347 V"+u+" H263z";case"⎪":return"M384 0 H504 V"+u+" H384z M384 0 H504 V"+u+" H384z";case"⏐":return"M312 0 H355 V"+u+" H312z M312 0 H355 V"+u+" H312z";case"‖":return"M257 0 H300 V"+u+" H257z M257 0 H300 V"+u+" H257z"+("M478 0 H521 V"+u+" H478z M478 0 H521 V"+u+" H478z");default:return""}},W$e={doubleleftarrow:`M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},sHt=function(s,u){switch(s){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+u+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+u+" v1759 h84z";case"vert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+" v585 h43z";case"doublevert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+` v585 h43z +M367 15 v585 v`+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+u+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+u+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+u+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v602 h84z +M403 1759 V0 H319 V1759 v`+u+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v602 h84z +M347 1759 V0 h-84 V1759 v`+u+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(u+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(u+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(u+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(u+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class oR{constructor(s){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=s,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(s){return Ya.contains(this.classes,s)}toNode(){for(var s=document.createDocumentFragment(),u=0;uu.toText();return this.children.map(s).join("")}}var K4={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aQ={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Y$e={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function aHt(i,s){K4[i]=s}function J2e(i,s,u){if(!K4[s])throw new Error("Font metrics not found for font: "+s+".");var d=i.charCodeAt(0),p=K4[s][d];if(!p&&i[0]in Y$e&&(d=Y$e[i[0]].charCodeAt(0),p=K4[s][d]),!p&&u==="text"&&K$e(d)&&(p=K4[s][77]),p)return{depth:p[0],height:p[1],italic:p[2],skew:p[3],width:p[4]}}var Z2e={};function oHt(i){var s;if(i>=5?s=0:i>=3?s=1:s=2,!Z2e[s]){var u=Z2e[s]={cssEmPerMu:aQ.quad[s]/18};for(var d in aQ)aQ.hasOwnProperty(d)&&(u[d]=aQ[d][s])}return Z2e[s]}var cHt=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],X$e=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Q$e=function(s,u){return u.size<2?s:cHt[s-1][u.size-1]};class M7{constructor(s){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=s.style,this.color=s.color,this.size=s.size||M7.BASESIZE,this.textSize=s.textSize||this.size,this.phantom=!!s.phantom,this.font=s.font||"",this.fontFamily=s.fontFamily||"",this.fontWeight=s.fontWeight||"",this.fontShape=s.fontShape||"",this.sizeMultiplier=X$e[this.size-1],this.maxSize=s.maxSize,this.minRuleThickness=s.minRuleThickness,this._fontMetrics=void 0}extend(s){var u={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var d in s)s.hasOwnProperty(d)&&(u[d]=s[d]);return new M7(u)}havingStyle(s){return this.style===s?this:this.extend({style:s,size:Q$e(this.textSize,s)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(s){return this.size===s&&this.textSize===s?this:this.extend({style:this.style.text(),size:s,textSize:s,sizeMultiplier:X$e[s-1]})}havingBaseStyle(s){s=s||this.style.text();var u=Q$e(M7.BASESIZE,s);return this.size===u&&this.textSize===M7.BASESIZE&&this.style===s?this:this.extend({style:s,size:u})}havingBaseSizing(){var s;switch(this.style.id){case 4:case 5:s=3;break;case 6:case 7:s=1;break;default:s=6}return this.extend({style:this.style.text(),size:s})}withColor(s){return this.extend({color:s})}withPhantom(){return this.extend({phantom:!0})}withFont(s){return this.extend({font:s})}withTextFontFamily(s){return this.extend({fontFamily:s,font:""})}withTextFontWeight(s){return this.extend({fontWeight:s,font:""})}withTextFontShape(s){return this.extend({fontShape:s,font:""})}sizingClasses(s){return s.size!==this.size?["sizing","reset-size"+s.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==M7.BASESIZE?["sizing","reset-size"+this.size,"size"+M7.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=oHt(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}M7.BASESIZE=6;var ebe={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},uHt={ex:!0,em:!0,mu:!0},J$e=function(s){return typeof s!="string"&&(s=s.unit),s in ebe||s in uHt||s==="ex"},Uh=function(s,u){var d;if(s.unit in ebe)d=ebe[s.unit]/u.fontMetrics().ptPerEm/u.sizeMultiplier;else if(s.unit==="mu")d=u.fontMetrics().cssEmPerMu;else{var p;if(u.style.isTight()?p=u.havingStyle(u.style.text()):p=u,s.unit==="ex")d=p.fontMetrics().xHeight;else if(s.unit==="em")d=p.fontMetrics().quad;else throw new Ci("Invalid unit: '"+s.unit+"'");p!==u&&(d*=p.sizeMultiplier/u.sizeMultiplier)}return Math.min(s.number*d,u.maxSize)},Ri=function(s){return+s.toFixed(4)+"em"},T9=function(s){return s.filter(u=>u).join(" ")},Z$e=function(s,u,d){if(this.classes=s||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=d||{},u){u.style.isTight()&&this.classes.push("mtight");var p=u.getColor();p&&(this.style.color=p)}},eze=function(s){var u=document.createElement(s);u.className=T9(this.classes);for(var d in this.style)this.style.hasOwnProperty(d)&&(u.style[d]=this.style[d]);for(var p in this.attributes)this.attributes.hasOwnProperty(p)&&u.setAttribute(p,this.attributes[p]);for(var v=0;v",u};class cR{constructor(s,u,d,p){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,Z$e.call(this,s,d,p),this.children=u||[]}setAttribute(s,u){this.attributes[s]=u}hasClass(s){return Ya.contains(this.classes,s)}toNode(){return eze.call(this,"span")}toMarkup(){return tze.call(this,"span")}}class tbe{constructor(s,u,d,p){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,Z$e.call(this,u,p),this.children=d||[],this.setAttribute("href",s)}setAttribute(s,u){this.attributes[s]=u}hasClass(s){return Ya.contains(this.classes,s)}toNode(){return eze.call(this,"a")}toMarkup(){return tze.call(this,"a")}}class lHt{constructor(s,u,d){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=u,this.src=s,this.classes=["mord"],this.style=d}hasClass(s){return Ya.contains(this.classes,s)}toNode(){var s=document.createElement("img");s.src=this.src,s.alt=this.alt,s.className="mord";for(var u in this.style)this.style.hasOwnProperty(u)&&(s.style[u]=this.style[u]);return s}toMarkup(){var s=""+this.alt+"0&&(u=document.createElement("span"),u.style.marginRight=Ri(this.italic)),this.classes.length>0&&(u=u||document.createElement("span"),u.className=T9(this.classes));for(var d in this.style)this.style.hasOwnProperty(d)&&(u=u||document.createElement("span"),u.style[d]=this.style[d]);return u?(u.appendChild(s),u):s}toMarkup(){var s=!1,u="0&&(d+="margin-right:"+this.italic+"em;");for(var p in this.style)this.style.hasOwnProperty(p)&&(d+=Ya.hyphenate(p)+":"+this.style[p]+";");d&&(s=!0,u+=' style="'+Ya.escape(d)+'"');var v=Ya.escape(this.text);return s?(u+=">",u+=v,u+="",u):v}}class D7{constructor(s,u){this.children=void 0,this.attributes=void 0,this.children=s||[],this.attributes=u||{}}toNode(){var s="http://www.w3.org/2000/svg",u=document.createElementNS(s,"svg");for(var d in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,d)&&u.setAttribute(d,this.attributes[d]);for(var p=0;p":""}}class nbe{constructor(s){this.attributes=void 0,this.attributes=s||{}}toNode(){var s="http://www.w3.org/2000/svg",u=document.createElementNS(s,"line");for(var d in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,d)&&u.setAttribute(d,this.attributes[d]);return u}toMarkup(){var s=" but got "+String(i)+".")}var dHt={bin:1,close:1,inner:1,open:1,punct:1,rel:1},gHt={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Ul={math:{},text:{}};function we(i,s,u,d,p,v){Ul[i][p]={font:s,group:u,replace:d},v&&d&&(Ul[i][d]=Ul[i][p])}var Ae="math",si="text",Ue="main",$t="ams",wh="accent-token",ls="bin",Dp="close",ND="inner",Ca="mathord",N0="op-token",hm="open",oQ="punct",Ht="rel",I7="spacing",mn="textord";we(Ae,Ue,Ht,"≡","\\equiv",!0),we(Ae,Ue,Ht,"≺","\\prec",!0),we(Ae,Ue,Ht,"≻","\\succ",!0),we(Ae,Ue,Ht,"∼","\\sim",!0),we(Ae,Ue,Ht,"⊥","\\perp"),we(Ae,Ue,Ht,"⪯","\\preceq",!0),we(Ae,Ue,Ht,"⪰","\\succeq",!0),we(Ae,Ue,Ht,"≃","\\simeq",!0),we(Ae,Ue,Ht,"∣","\\mid",!0),we(Ae,Ue,Ht,"≪","\\ll",!0),we(Ae,Ue,Ht,"≫","\\gg",!0),we(Ae,Ue,Ht,"≍","\\asymp",!0),we(Ae,Ue,Ht,"∥","\\parallel"),we(Ae,Ue,Ht,"⋈","\\bowtie",!0),we(Ae,Ue,Ht,"⌣","\\smile",!0),we(Ae,Ue,Ht,"⊑","\\sqsubseteq",!0),we(Ae,Ue,Ht,"⊒","\\sqsupseteq",!0),we(Ae,Ue,Ht,"≐","\\doteq",!0),we(Ae,Ue,Ht,"⌢","\\frown",!0),we(Ae,Ue,Ht,"∋","\\ni",!0),we(Ae,Ue,Ht,"∝","\\propto",!0),we(Ae,Ue,Ht,"⊢","\\vdash",!0),we(Ae,Ue,Ht,"⊣","\\dashv",!0),we(Ae,Ue,Ht,"∋","\\owns"),we(Ae,Ue,oQ,".","\\ldotp"),we(Ae,Ue,oQ,"⋅","\\cdotp"),we(Ae,Ue,mn,"#","\\#"),we(si,Ue,mn,"#","\\#"),we(Ae,Ue,mn,"&","\\&"),we(si,Ue,mn,"&","\\&"),we(Ae,Ue,mn,"ℵ","\\aleph",!0),we(Ae,Ue,mn,"∀","\\forall",!0),we(Ae,Ue,mn,"ℏ","\\hbar",!0),we(Ae,Ue,mn,"∃","\\exists",!0),we(Ae,Ue,mn,"∇","\\nabla",!0),we(Ae,Ue,mn,"♭","\\flat",!0),we(Ae,Ue,mn,"ℓ","\\ell",!0),we(Ae,Ue,mn,"♮","\\natural",!0),we(Ae,Ue,mn,"♣","\\clubsuit",!0),we(Ae,Ue,mn,"℘","\\wp",!0),we(Ae,Ue,mn,"♯","\\sharp",!0),we(Ae,Ue,mn,"♢","\\diamondsuit",!0),we(Ae,Ue,mn,"ℜ","\\Re",!0),we(Ae,Ue,mn,"♡","\\heartsuit",!0),we(Ae,Ue,mn,"ℑ","\\Im",!0),we(Ae,Ue,mn,"♠","\\spadesuit",!0),we(Ae,Ue,mn,"§","\\S",!0),we(si,Ue,mn,"§","\\S"),we(Ae,Ue,mn,"¶","\\P",!0),we(si,Ue,mn,"¶","\\P"),we(Ae,Ue,mn,"†","\\dag"),we(si,Ue,mn,"†","\\dag"),we(si,Ue,mn,"†","\\textdagger"),we(Ae,Ue,mn,"‡","\\ddag"),we(si,Ue,mn,"‡","\\ddag"),we(si,Ue,mn,"‡","\\textdaggerdbl"),we(Ae,Ue,Dp,"⎱","\\rmoustache",!0),we(Ae,Ue,hm,"⎰","\\lmoustache",!0),we(Ae,Ue,Dp,"⟯","\\rgroup",!0),we(Ae,Ue,hm,"⟮","\\lgroup",!0),we(Ae,Ue,ls,"∓","\\mp",!0),we(Ae,Ue,ls,"⊖","\\ominus",!0),we(Ae,Ue,ls,"⊎","\\uplus",!0),we(Ae,Ue,ls,"⊓","\\sqcap",!0),we(Ae,Ue,ls,"∗","\\ast"),we(Ae,Ue,ls,"⊔","\\sqcup",!0),we(Ae,Ue,ls,"◯","\\bigcirc",!0),we(Ae,Ue,ls,"∙","\\bullet",!0),we(Ae,Ue,ls,"‡","\\ddagger"),we(Ae,Ue,ls,"≀","\\wr",!0),we(Ae,Ue,ls,"⨿","\\amalg"),we(Ae,Ue,ls,"&","\\And"),we(Ae,Ue,Ht,"⟵","\\longleftarrow",!0),we(Ae,Ue,Ht,"⇐","\\Leftarrow",!0),we(Ae,Ue,Ht,"⟸","\\Longleftarrow",!0),we(Ae,Ue,Ht,"⟶","\\longrightarrow",!0),we(Ae,Ue,Ht,"⇒","\\Rightarrow",!0),we(Ae,Ue,Ht,"⟹","\\Longrightarrow",!0),we(Ae,Ue,Ht,"↔","\\leftrightarrow",!0),we(Ae,Ue,Ht,"⟷","\\longleftrightarrow",!0),we(Ae,Ue,Ht,"⇔","\\Leftrightarrow",!0),we(Ae,Ue,Ht,"⟺","\\Longleftrightarrow",!0),we(Ae,Ue,Ht,"↦","\\mapsto",!0),we(Ae,Ue,Ht,"⟼","\\longmapsto",!0),we(Ae,Ue,Ht,"↗","\\nearrow",!0),we(Ae,Ue,Ht,"↩","\\hookleftarrow",!0),we(Ae,Ue,Ht,"↪","\\hookrightarrow",!0),we(Ae,Ue,Ht,"↘","\\searrow",!0),we(Ae,Ue,Ht,"↼","\\leftharpoonup",!0),we(Ae,Ue,Ht,"⇀","\\rightharpoonup",!0),we(Ae,Ue,Ht,"↙","\\swarrow",!0),we(Ae,Ue,Ht,"↽","\\leftharpoondown",!0),we(Ae,Ue,Ht,"⇁","\\rightharpoondown",!0),we(Ae,Ue,Ht,"↖","\\nwarrow",!0),we(Ae,Ue,Ht,"⇌","\\rightleftharpoons",!0),we(Ae,$t,Ht,"≮","\\nless",!0),we(Ae,$t,Ht,"","\\@nleqslant"),we(Ae,$t,Ht,"","\\@nleqq"),we(Ae,$t,Ht,"⪇","\\lneq",!0),we(Ae,$t,Ht,"≨","\\lneqq",!0),we(Ae,$t,Ht,"","\\@lvertneqq"),we(Ae,$t,Ht,"⋦","\\lnsim",!0),we(Ae,$t,Ht,"⪉","\\lnapprox",!0),we(Ae,$t,Ht,"⊀","\\nprec",!0),we(Ae,$t,Ht,"⋠","\\npreceq",!0),we(Ae,$t,Ht,"⋨","\\precnsim",!0),we(Ae,$t,Ht,"⪹","\\precnapprox",!0),we(Ae,$t,Ht,"≁","\\nsim",!0),we(Ae,$t,Ht,"","\\@nshortmid"),we(Ae,$t,Ht,"∤","\\nmid",!0),we(Ae,$t,Ht,"⊬","\\nvdash",!0),we(Ae,$t,Ht,"⊭","\\nvDash",!0),we(Ae,$t,Ht,"⋪","\\ntriangleleft"),we(Ae,$t,Ht,"⋬","\\ntrianglelefteq",!0),we(Ae,$t,Ht,"⊊","\\subsetneq",!0),we(Ae,$t,Ht,"","\\@varsubsetneq"),we(Ae,$t,Ht,"⫋","\\subsetneqq",!0),we(Ae,$t,Ht,"","\\@varsubsetneqq"),we(Ae,$t,Ht,"≯","\\ngtr",!0),we(Ae,$t,Ht,"","\\@ngeqslant"),we(Ae,$t,Ht,"","\\@ngeqq"),we(Ae,$t,Ht,"⪈","\\gneq",!0),we(Ae,$t,Ht,"≩","\\gneqq",!0),we(Ae,$t,Ht,"","\\@gvertneqq"),we(Ae,$t,Ht,"⋧","\\gnsim",!0),we(Ae,$t,Ht,"⪊","\\gnapprox",!0),we(Ae,$t,Ht,"⊁","\\nsucc",!0),we(Ae,$t,Ht,"⋡","\\nsucceq",!0),we(Ae,$t,Ht,"⋩","\\succnsim",!0),we(Ae,$t,Ht,"⪺","\\succnapprox",!0),we(Ae,$t,Ht,"≆","\\ncong",!0),we(Ae,$t,Ht,"","\\@nshortparallel"),we(Ae,$t,Ht,"∦","\\nparallel",!0),we(Ae,$t,Ht,"⊯","\\nVDash",!0),we(Ae,$t,Ht,"⋫","\\ntriangleright"),we(Ae,$t,Ht,"⋭","\\ntrianglerighteq",!0),we(Ae,$t,Ht,"","\\@nsupseteqq"),we(Ae,$t,Ht,"⊋","\\supsetneq",!0),we(Ae,$t,Ht,"","\\@varsupsetneq"),we(Ae,$t,Ht,"⫌","\\supsetneqq",!0),we(Ae,$t,Ht,"","\\@varsupsetneqq"),we(Ae,$t,Ht,"⊮","\\nVdash",!0),we(Ae,$t,Ht,"⪵","\\precneqq",!0),we(Ae,$t,Ht,"⪶","\\succneqq",!0),we(Ae,$t,Ht,"","\\@nsubseteqq"),we(Ae,$t,ls,"⊴","\\unlhd"),we(Ae,$t,ls,"⊵","\\unrhd"),we(Ae,$t,Ht,"↚","\\nleftarrow",!0),we(Ae,$t,Ht,"↛","\\nrightarrow",!0),we(Ae,$t,Ht,"⇍","\\nLeftarrow",!0),we(Ae,$t,Ht,"⇏","\\nRightarrow",!0),we(Ae,$t,Ht,"↮","\\nleftrightarrow",!0),we(Ae,$t,Ht,"⇎","\\nLeftrightarrow",!0),we(Ae,$t,Ht,"△","\\vartriangle"),we(Ae,$t,mn,"ℏ","\\hslash"),we(Ae,$t,mn,"▽","\\triangledown"),we(Ae,$t,mn,"◊","\\lozenge"),we(Ae,$t,mn,"Ⓢ","\\circledS"),we(Ae,$t,mn,"®","\\circledR"),we(si,$t,mn,"®","\\circledR"),we(Ae,$t,mn,"∡","\\measuredangle",!0),we(Ae,$t,mn,"∄","\\nexists"),we(Ae,$t,mn,"℧","\\mho"),we(Ae,$t,mn,"Ⅎ","\\Finv",!0),we(Ae,$t,mn,"⅁","\\Game",!0),we(Ae,$t,mn,"‵","\\backprime"),we(Ae,$t,mn,"▲","\\blacktriangle"),we(Ae,$t,mn,"▼","\\blacktriangledown"),we(Ae,$t,mn,"■","\\blacksquare"),we(Ae,$t,mn,"⧫","\\blacklozenge"),we(Ae,$t,mn,"★","\\bigstar"),we(Ae,$t,mn,"∢","\\sphericalangle",!0),we(Ae,$t,mn,"∁","\\complement",!0),we(Ae,$t,mn,"ð","\\eth",!0),we(si,Ue,mn,"ð","ð"),we(Ae,$t,mn,"╱","\\diagup"),we(Ae,$t,mn,"╲","\\diagdown"),we(Ae,$t,mn,"□","\\square"),we(Ae,$t,mn,"□","\\Box"),we(Ae,$t,mn,"◊","\\Diamond"),we(Ae,$t,mn,"¥","\\yen",!0),we(si,$t,mn,"¥","\\yen",!0),we(Ae,$t,mn,"✓","\\checkmark",!0),we(si,$t,mn,"✓","\\checkmark"),we(Ae,$t,mn,"ℶ","\\beth",!0),we(Ae,$t,mn,"ℸ","\\daleth",!0),we(Ae,$t,mn,"ℷ","\\gimel",!0),we(Ae,$t,mn,"ϝ","\\digamma",!0),we(Ae,$t,mn,"ϰ","\\varkappa"),we(Ae,$t,hm,"┌","\\@ulcorner",!0),we(Ae,$t,Dp,"┐","\\@urcorner",!0),we(Ae,$t,hm,"└","\\@llcorner",!0),we(Ae,$t,Dp,"┘","\\@lrcorner",!0),we(Ae,$t,Ht,"≦","\\leqq",!0),we(Ae,$t,Ht,"⩽","\\leqslant",!0),we(Ae,$t,Ht,"⪕","\\eqslantless",!0),we(Ae,$t,Ht,"≲","\\lesssim",!0),we(Ae,$t,Ht,"⪅","\\lessapprox",!0),we(Ae,$t,Ht,"≊","\\approxeq",!0),we(Ae,$t,ls,"⋖","\\lessdot"),we(Ae,$t,Ht,"⋘","\\lll",!0),we(Ae,$t,Ht,"≶","\\lessgtr",!0),we(Ae,$t,Ht,"⋚","\\lesseqgtr",!0),we(Ae,$t,Ht,"⪋","\\lesseqqgtr",!0),we(Ae,$t,Ht,"≑","\\doteqdot"),we(Ae,$t,Ht,"≓","\\risingdotseq",!0),we(Ae,$t,Ht,"≒","\\fallingdotseq",!0),we(Ae,$t,Ht,"∽","\\backsim",!0),we(Ae,$t,Ht,"⋍","\\backsimeq",!0),we(Ae,$t,Ht,"⫅","\\subseteqq",!0),we(Ae,$t,Ht,"⋐","\\Subset",!0),we(Ae,$t,Ht,"⊏","\\sqsubset",!0),we(Ae,$t,Ht,"≼","\\preccurlyeq",!0),we(Ae,$t,Ht,"⋞","\\curlyeqprec",!0),we(Ae,$t,Ht,"≾","\\precsim",!0),we(Ae,$t,Ht,"⪷","\\precapprox",!0),we(Ae,$t,Ht,"⊲","\\vartriangleleft"),we(Ae,$t,Ht,"⊴","\\trianglelefteq"),we(Ae,$t,Ht,"⊨","\\vDash",!0),we(Ae,$t,Ht,"⊪","\\Vvdash",!0),we(Ae,$t,Ht,"⌣","\\smallsmile"),we(Ae,$t,Ht,"⌢","\\smallfrown"),we(Ae,$t,Ht,"≏","\\bumpeq",!0),we(Ae,$t,Ht,"≎","\\Bumpeq",!0),we(Ae,$t,Ht,"≧","\\geqq",!0),we(Ae,$t,Ht,"⩾","\\geqslant",!0),we(Ae,$t,Ht,"⪖","\\eqslantgtr",!0),we(Ae,$t,Ht,"≳","\\gtrsim",!0),we(Ae,$t,Ht,"⪆","\\gtrapprox",!0),we(Ae,$t,ls,"⋗","\\gtrdot"),we(Ae,$t,Ht,"⋙","\\ggg",!0),we(Ae,$t,Ht,"≷","\\gtrless",!0),we(Ae,$t,Ht,"⋛","\\gtreqless",!0),we(Ae,$t,Ht,"⪌","\\gtreqqless",!0),we(Ae,$t,Ht,"≖","\\eqcirc",!0),we(Ae,$t,Ht,"≗","\\circeq",!0),we(Ae,$t,Ht,"≜","\\triangleq",!0),we(Ae,$t,Ht,"∼","\\thicksim"),we(Ae,$t,Ht,"≈","\\thickapprox"),we(Ae,$t,Ht,"⫆","\\supseteqq",!0),we(Ae,$t,Ht,"⋑","\\Supset",!0),we(Ae,$t,Ht,"⊐","\\sqsupset",!0),we(Ae,$t,Ht,"≽","\\succcurlyeq",!0),we(Ae,$t,Ht,"⋟","\\curlyeqsucc",!0),we(Ae,$t,Ht,"≿","\\succsim",!0),we(Ae,$t,Ht,"⪸","\\succapprox",!0),we(Ae,$t,Ht,"⊳","\\vartriangleright"),we(Ae,$t,Ht,"⊵","\\trianglerighteq"),we(Ae,$t,Ht,"⊩","\\Vdash",!0),we(Ae,$t,Ht,"∣","\\shortmid"),we(Ae,$t,Ht,"∥","\\shortparallel"),we(Ae,$t,Ht,"≬","\\between",!0),we(Ae,$t,Ht,"⋔","\\pitchfork",!0),we(Ae,$t,Ht,"∝","\\varpropto"),we(Ae,$t,Ht,"◀","\\blacktriangleleft"),we(Ae,$t,Ht,"∴","\\therefore",!0),we(Ae,$t,Ht,"∍","\\backepsilon"),we(Ae,$t,Ht,"▶","\\blacktriangleright"),we(Ae,$t,Ht,"∵","\\because",!0),we(Ae,$t,Ht,"⋘","\\llless"),we(Ae,$t,Ht,"⋙","\\gggtr"),we(Ae,$t,ls,"⊲","\\lhd"),we(Ae,$t,ls,"⊳","\\rhd"),we(Ae,$t,Ht,"≂","\\eqsim",!0),we(Ae,Ue,Ht,"⋈","\\Join"),we(Ae,$t,Ht,"≑","\\Doteq",!0),we(Ae,$t,ls,"∔","\\dotplus",!0),we(Ae,$t,ls,"∖","\\smallsetminus"),we(Ae,$t,ls,"⋒","\\Cap",!0),we(Ae,$t,ls,"⋓","\\Cup",!0),we(Ae,$t,ls,"⩞","\\doublebarwedge",!0),we(Ae,$t,ls,"⊟","\\boxminus",!0),we(Ae,$t,ls,"⊞","\\boxplus",!0),we(Ae,$t,ls,"⋇","\\divideontimes",!0),we(Ae,$t,ls,"⋉","\\ltimes",!0),we(Ae,$t,ls,"⋊","\\rtimes",!0),we(Ae,$t,ls,"⋋","\\leftthreetimes",!0),we(Ae,$t,ls,"⋌","\\rightthreetimes",!0),we(Ae,$t,ls,"⋏","\\curlywedge",!0),we(Ae,$t,ls,"⋎","\\curlyvee",!0),we(Ae,$t,ls,"⊝","\\circleddash",!0),we(Ae,$t,ls,"⊛","\\circledast",!0),we(Ae,$t,ls,"⋅","\\centerdot"),we(Ae,$t,ls,"⊺","\\intercal",!0),we(Ae,$t,ls,"⋒","\\doublecap"),we(Ae,$t,ls,"⋓","\\doublecup"),we(Ae,$t,ls,"⊠","\\boxtimes",!0),we(Ae,$t,Ht,"⇢","\\dashrightarrow",!0),we(Ae,$t,Ht,"⇠","\\dashleftarrow",!0),we(Ae,$t,Ht,"⇇","\\leftleftarrows",!0),we(Ae,$t,Ht,"⇆","\\leftrightarrows",!0),we(Ae,$t,Ht,"⇚","\\Lleftarrow",!0),we(Ae,$t,Ht,"↞","\\twoheadleftarrow",!0),we(Ae,$t,Ht,"↢","\\leftarrowtail",!0),we(Ae,$t,Ht,"↫","\\looparrowleft",!0),we(Ae,$t,Ht,"⇋","\\leftrightharpoons",!0),we(Ae,$t,Ht,"↶","\\curvearrowleft",!0),we(Ae,$t,Ht,"↺","\\circlearrowleft",!0),we(Ae,$t,Ht,"↰","\\Lsh",!0),we(Ae,$t,Ht,"⇈","\\upuparrows",!0),we(Ae,$t,Ht,"↿","\\upharpoonleft",!0),we(Ae,$t,Ht,"⇃","\\downharpoonleft",!0),we(Ae,Ue,Ht,"⊶","\\origof",!0),we(Ae,Ue,Ht,"⊷","\\imageof",!0),we(Ae,$t,Ht,"⊸","\\multimap",!0),we(Ae,$t,Ht,"↭","\\leftrightsquigarrow",!0),we(Ae,$t,Ht,"⇉","\\rightrightarrows",!0),we(Ae,$t,Ht,"⇄","\\rightleftarrows",!0),we(Ae,$t,Ht,"↠","\\twoheadrightarrow",!0),we(Ae,$t,Ht,"↣","\\rightarrowtail",!0),we(Ae,$t,Ht,"↬","\\looparrowright",!0),we(Ae,$t,Ht,"↷","\\curvearrowright",!0),we(Ae,$t,Ht,"↻","\\circlearrowright",!0),we(Ae,$t,Ht,"↱","\\Rsh",!0),we(Ae,$t,Ht,"⇊","\\downdownarrows",!0),we(Ae,$t,Ht,"↾","\\upharpoonright",!0),we(Ae,$t,Ht,"⇂","\\downharpoonright",!0),we(Ae,$t,Ht,"⇝","\\rightsquigarrow",!0),we(Ae,$t,Ht,"⇝","\\leadsto"),we(Ae,$t,Ht,"⇛","\\Rrightarrow",!0),we(Ae,$t,Ht,"↾","\\restriction"),we(Ae,Ue,mn,"‘","`"),we(Ae,Ue,mn,"$","\\$"),we(si,Ue,mn,"$","\\$"),we(si,Ue,mn,"$","\\textdollar"),we(Ae,Ue,mn,"%","\\%"),we(si,Ue,mn,"%","\\%"),we(Ae,Ue,mn,"_","\\_"),we(si,Ue,mn,"_","\\_"),we(si,Ue,mn,"_","\\textunderscore"),we(Ae,Ue,mn,"∠","\\angle",!0),we(Ae,Ue,mn,"∞","\\infty",!0),we(Ae,Ue,mn,"′","\\prime"),we(Ae,Ue,mn,"△","\\triangle"),we(Ae,Ue,mn,"Γ","\\Gamma",!0),we(Ae,Ue,mn,"Δ","\\Delta",!0),we(Ae,Ue,mn,"Θ","\\Theta",!0),we(Ae,Ue,mn,"Λ","\\Lambda",!0),we(Ae,Ue,mn,"Ξ","\\Xi",!0),we(Ae,Ue,mn,"Π","\\Pi",!0),we(Ae,Ue,mn,"Σ","\\Sigma",!0),we(Ae,Ue,mn,"Υ","\\Upsilon",!0),we(Ae,Ue,mn,"Φ","\\Phi",!0),we(Ae,Ue,mn,"Ψ","\\Psi",!0),we(Ae,Ue,mn,"Ω","\\Omega",!0),we(Ae,Ue,mn,"A","Α"),we(Ae,Ue,mn,"B","Β"),we(Ae,Ue,mn,"E","Ε"),we(Ae,Ue,mn,"Z","Ζ"),we(Ae,Ue,mn,"H","Η"),we(Ae,Ue,mn,"I","Ι"),we(Ae,Ue,mn,"K","Κ"),we(Ae,Ue,mn,"M","Μ"),we(Ae,Ue,mn,"N","Ν"),we(Ae,Ue,mn,"O","Ο"),we(Ae,Ue,mn,"P","Ρ"),we(Ae,Ue,mn,"T","Τ"),we(Ae,Ue,mn,"X","Χ"),we(Ae,Ue,mn,"¬","\\neg",!0),we(Ae,Ue,mn,"¬","\\lnot"),we(Ae,Ue,mn,"⊤","\\top"),we(Ae,Ue,mn,"⊥","\\bot"),we(Ae,Ue,mn,"∅","\\emptyset"),we(Ae,$t,mn,"∅","\\varnothing"),we(Ae,Ue,Ca,"α","\\alpha",!0),we(Ae,Ue,Ca,"β","\\beta",!0),we(Ae,Ue,Ca,"γ","\\gamma",!0),we(Ae,Ue,Ca,"δ","\\delta",!0),we(Ae,Ue,Ca,"ϵ","\\epsilon",!0),we(Ae,Ue,Ca,"ζ","\\zeta",!0),we(Ae,Ue,Ca,"η","\\eta",!0),we(Ae,Ue,Ca,"θ","\\theta",!0),we(Ae,Ue,Ca,"ι","\\iota",!0),we(Ae,Ue,Ca,"κ","\\kappa",!0),we(Ae,Ue,Ca,"λ","\\lambda",!0),we(Ae,Ue,Ca,"μ","\\mu",!0),we(Ae,Ue,Ca,"ν","\\nu",!0),we(Ae,Ue,Ca,"ξ","\\xi",!0),we(Ae,Ue,Ca,"ο","\\omicron",!0),we(Ae,Ue,Ca,"π","\\pi",!0),we(Ae,Ue,Ca,"ρ","\\rho",!0),we(Ae,Ue,Ca,"σ","\\sigma",!0),we(Ae,Ue,Ca,"τ","\\tau",!0),we(Ae,Ue,Ca,"υ","\\upsilon",!0),we(Ae,Ue,Ca,"ϕ","\\phi",!0),we(Ae,Ue,Ca,"χ","\\chi",!0),we(Ae,Ue,Ca,"ψ","\\psi",!0),we(Ae,Ue,Ca,"ω","\\omega",!0),we(Ae,Ue,Ca,"ε","\\varepsilon",!0),we(Ae,Ue,Ca,"ϑ","\\vartheta",!0),we(Ae,Ue,Ca,"ϖ","\\varpi",!0),we(Ae,Ue,Ca,"ϱ","\\varrho",!0),we(Ae,Ue,Ca,"ς","\\varsigma",!0),we(Ae,Ue,Ca,"φ","\\varphi",!0),we(Ae,Ue,ls,"∗","*",!0),we(Ae,Ue,ls,"+","+"),we(Ae,Ue,ls,"−","-",!0),we(Ae,Ue,ls,"⋅","\\cdot",!0),we(Ae,Ue,ls,"∘","\\circ",!0),we(Ae,Ue,ls,"÷","\\div",!0),we(Ae,Ue,ls,"±","\\pm",!0),we(Ae,Ue,ls,"×","\\times",!0),we(Ae,Ue,ls,"∩","\\cap",!0),we(Ae,Ue,ls,"∪","\\cup",!0),we(Ae,Ue,ls,"∖","\\setminus",!0),we(Ae,Ue,ls,"∧","\\land"),we(Ae,Ue,ls,"∨","\\lor"),we(Ae,Ue,ls,"∧","\\wedge",!0),we(Ae,Ue,ls,"∨","\\vee",!0),we(Ae,Ue,mn,"√","\\surd"),we(Ae,Ue,hm,"⟨","\\langle",!0),we(Ae,Ue,hm,"∣","\\lvert"),we(Ae,Ue,hm,"∥","\\lVert"),we(Ae,Ue,Dp,"?","?"),we(Ae,Ue,Dp,"!","!"),we(Ae,Ue,Dp,"⟩","\\rangle",!0),we(Ae,Ue,Dp,"∣","\\rvert"),we(Ae,Ue,Dp,"∥","\\rVert"),we(Ae,Ue,Ht,"=","="),we(Ae,Ue,Ht,":",":"),we(Ae,Ue,Ht,"≈","\\approx",!0),we(Ae,Ue,Ht,"≅","\\cong",!0),we(Ae,Ue,Ht,"≥","\\ge"),we(Ae,Ue,Ht,"≥","\\geq",!0),we(Ae,Ue,Ht,"←","\\gets"),we(Ae,Ue,Ht,">","\\gt",!0),we(Ae,Ue,Ht,"∈","\\in",!0),we(Ae,Ue,Ht,"","\\@not"),we(Ae,Ue,Ht,"⊂","\\subset",!0),we(Ae,Ue,Ht,"⊃","\\supset",!0),we(Ae,Ue,Ht,"⊆","\\subseteq",!0),we(Ae,Ue,Ht,"⊇","\\supseteq",!0),we(Ae,$t,Ht,"⊈","\\nsubseteq",!0),we(Ae,$t,Ht,"⊉","\\nsupseteq",!0),we(Ae,Ue,Ht,"⊨","\\models"),we(Ae,Ue,Ht,"←","\\leftarrow",!0),we(Ae,Ue,Ht,"≤","\\le"),we(Ae,Ue,Ht,"≤","\\leq",!0),we(Ae,Ue,Ht,"<","\\lt",!0),we(Ae,Ue,Ht,"→","\\rightarrow",!0),we(Ae,Ue,Ht,"→","\\to"),we(Ae,$t,Ht,"≱","\\ngeq",!0),we(Ae,$t,Ht,"≰","\\nleq",!0),we(Ae,Ue,I7," ","\\ "),we(Ae,Ue,I7," ","\\space"),we(Ae,Ue,I7," ","\\nobreakspace"),we(si,Ue,I7," ","\\ "),we(si,Ue,I7," "," "),we(si,Ue,I7," ","\\space"),we(si,Ue,I7," ","\\nobreakspace"),we(Ae,Ue,I7,null,"\\nobreak"),we(Ae,Ue,I7,null,"\\allowbreak"),we(Ae,Ue,oQ,",",","),we(Ae,Ue,oQ,";",";"),we(Ae,$t,ls,"⊼","\\barwedge",!0),we(Ae,$t,ls,"⊻","\\veebar",!0),we(Ae,Ue,ls,"⊙","\\odot",!0),we(Ae,Ue,ls,"⊕","\\oplus",!0),we(Ae,Ue,ls,"⊗","\\otimes",!0),we(Ae,Ue,mn,"∂","\\partial",!0),we(Ae,Ue,ls,"⊘","\\oslash",!0),we(Ae,$t,ls,"⊚","\\circledcirc",!0),we(Ae,$t,ls,"⊡","\\boxdot",!0),we(Ae,Ue,ls,"△","\\bigtriangleup"),we(Ae,Ue,ls,"▽","\\bigtriangledown"),we(Ae,Ue,ls,"†","\\dagger"),we(Ae,Ue,ls,"⋄","\\diamond"),we(Ae,Ue,ls,"⋆","\\star"),we(Ae,Ue,ls,"◃","\\triangleleft"),we(Ae,Ue,ls,"▹","\\triangleright"),we(Ae,Ue,hm,"{","\\{"),we(si,Ue,mn,"{","\\{"),we(si,Ue,mn,"{","\\textbraceleft"),we(Ae,Ue,Dp,"}","\\}"),we(si,Ue,mn,"}","\\}"),we(si,Ue,mn,"}","\\textbraceright"),we(Ae,Ue,hm,"{","\\lbrace"),we(Ae,Ue,Dp,"}","\\rbrace"),we(Ae,Ue,hm,"[","\\lbrack",!0),we(si,Ue,mn,"[","\\lbrack",!0),we(Ae,Ue,Dp,"]","\\rbrack",!0),we(si,Ue,mn,"]","\\rbrack",!0),we(Ae,Ue,hm,"(","\\lparen",!0),we(Ae,Ue,Dp,")","\\rparen",!0),we(si,Ue,mn,"<","\\textless",!0),we(si,Ue,mn,">","\\textgreater",!0),we(Ae,Ue,hm,"⌊","\\lfloor",!0),we(Ae,Ue,Dp,"⌋","\\rfloor",!0),we(Ae,Ue,hm,"⌈","\\lceil",!0),we(Ae,Ue,Dp,"⌉","\\rceil",!0),we(Ae,Ue,mn,"\\","\\backslash"),we(Ae,Ue,mn,"∣","|"),we(Ae,Ue,mn,"∣","\\vert"),we(si,Ue,mn,"|","\\textbar",!0),we(Ae,Ue,mn,"∥","\\|"),we(Ae,Ue,mn,"∥","\\Vert"),we(si,Ue,mn,"∥","\\textbardbl"),we(si,Ue,mn,"~","\\textasciitilde"),we(si,Ue,mn,"\\","\\textbackslash"),we(si,Ue,mn,"^","\\textasciicircum"),we(Ae,Ue,Ht,"↑","\\uparrow",!0),we(Ae,Ue,Ht,"⇑","\\Uparrow",!0),we(Ae,Ue,Ht,"↓","\\downarrow",!0),we(Ae,Ue,Ht,"⇓","\\Downarrow",!0),we(Ae,Ue,Ht,"↕","\\updownarrow",!0),we(Ae,Ue,Ht,"⇕","\\Updownarrow",!0),we(Ae,Ue,N0,"∐","\\coprod"),we(Ae,Ue,N0,"⋁","\\bigvee"),we(Ae,Ue,N0,"⋀","\\bigwedge"),we(Ae,Ue,N0,"⨄","\\biguplus"),we(Ae,Ue,N0,"⋂","\\bigcap"),we(Ae,Ue,N0,"⋃","\\bigcup"),we(Ae,Ue,N0,"∫","\\int"),we(Ae,Ue,N0,"∫","\\intop"),we(Ae,Ue,N0,"∬","\\iint"),we(Ae,Ue,N0,"∭","\\iiint"),we(Ae,Ue,N0,"∏","\\prod"),we(Ae,Ue,N0,"∑","\\sum"),we(Ae,Ue,N0,"⨂","\\bigotimes"),we(Ae,Ue,N0,"⨁","\\bigoplus"),we(Ae,Ue,N0,"⨀","\\bigodot"),we(Ae,Ue,N0,"∮","\\oint"),we(Ae,Ue,N0,"∯","\\oiint"),we(Ae,Ue,N0,"∰","\\oiiint"),we(Ae,Ue,N0,"⨆","\\bigsqcup"),we(Ae,Ue,N0,"∫","\\smallint"),we(si,Ue,ND,"…","\\textellipsis"),we(Ae,Ue,ND,"…","\\mathellipsis"),we(si,Ue,ND,"…","\\ldots",!0),we(Ae,Ue,ND,"…","\\ldots",!0),we(Ae,Ue,ND,"⋯","\\@cdots",!0),we(Ae,Ue,ND,"⋱","\\ddots",!0),we(Ae,Ue,mn,"⋮","\\varvdots"),we(Ae,Ue,wh,"ˊ","\\acute"),we(Ae,Ue,wh,"ˋ","\\grave"),we(Ae,Ue,wh,"¨","\\ddot"),we(Ae,Ue,wh,"~","\\tilde"),we(Ae,Ue,wh,"ˉ","\\bar"),we(Ae,Ue,wh,"˘","\\breve"),we(Ae,Ue,wh,"ˇ","\\check"),we(Ae,Ue,wh,"^","\\hat"),we(Ae,Ue,wh,"⃗","\\vec"),we(Ae,Ue,wh,"˙","\\dot"),we(Ae,Ue,wh,"˚","\\mathring"),we(Ae,Ue,Ca,"","\\@imath"),we(Ae,Ue,Ca,"","\\@jmath"),we(Ae,Ue,mn,"ı","ı"),we(Ae,Ue,mn,"ȷ","ȷ"),we(si,Ue,mn,"ı","\\i",!0),we(si,Ue,mn,"ȷ","\\j",!0),we(si,Ue,mn,"ß","\\ss",!0),we(si,Ue,mn,"æ","\\ae",!0),we(si,Ue,mn,"œ","\\oe",!0),we(si,Ue,mn,"ø","\\o",!0),we(si,Ue,mn,"Æ","\\AE",!0),we(si,Ue,mn,"Œ","\\OE",!0),we(si,Ue,mn,"Ø","\\O",!0),we(si,Ue,wh,"ˊ","\\'"),we(si,Ue,wh,"ˋ","\\`"),we(si,Ue,wh,"ˆ","\\^"),we(si,Ue,wh,"˜","\\~"),we(si,Ue,wh,"ˉ","\\="),we(si,Ue,wh,"˘","\\u"),we(si,Ue,wh,"˙","\\."),we(si,Ue,wh,"¸","\\c"),we(si,Ue,wh,"˚","\\r"),we(si,Ue,wh,"ˇ","\\v"),we(si,Ue,wh,"¨",'\\"'),we(si,Ue,wh,"˝","\\H"),we(si,Ue,wh,"◯","\\textcircled");var rze={"--":!0,"---":!0,"``":!0,"''":!0};we(si,Ue,mn,"–","--",!0),we(si,Ue,mn,"–","\\textendash"),we(si,Ue,mn,"—","---",!0),we(si,Ue,mn,"—","\\textemdash"),we(si,Ue,mn,"‘","`",!0),we(si,Ue,mn,"‘","\\textquoteleft"),we(si,Ue,mn,"’","'",!0),we(si,Ue,mn,"’","\\textquoteright"),we(si,Ue,mn,"“","``",!0),we(si,Ue,mn,"“","\\textquotedblleft"),we(si,Ue,mn,"”","''",!0),we(si,Ue,mn,"”","\\textquotedblright"),we(Ae,Ue,mn,"°","\\degree",!0),we(si,Ue,mn,"°","\\degree"),we(si,Ue,mn,"°","\\textdegree",!0),we(Ae,Ue,mn,"£","\\pounds"),we(Ae,Ue,mn,"£","\\mathsterling",!0),we(si,Ue,mn,"£","\\pounds"),we(si,Ue,mn,"£","\\textsterling",!0),we(Ae,$t,mn,"✠","\\maltese"),we(si,$t,mn,"✠","\\maltese");for(var ize='0123456789/@."',rbe=0;rbe0)return F3(v,_,p,u,b.concat(A));if(T){var P,R;if(T==="boldsymbol"){var F=mHt(v,p,u,b,d);P=F.fontName,R=[F.fontClass]}else y?(P=hze[T].fontName,R=[T]):(P=dQ(T,u.fontWeight,u.fontShape),R=[T,u.fontWeight,u.fontShape]);if(fQ(v,P,p).metrics)return F3(v,P,p,u,b.concat(R));if(rze.hasOwnProperty(v)&&P.slice(0,10)==="Typewriter"){for(var j=[],K=0;K{if(T9(i.classes)!==T9(s.classes)||i.skew!==s.skew||i.maxFontSize!==s.maxFontSize)return!1;if(i.classes.length===1){var u=i.classes[0];if(u==="mbin"||u==="mord")return!1}for(var d in i.style)if(i.style.hasOwnProperty(d)&&i.style[d]!==s.style[d])return!1;for(var p in s.style)if(s.style.hasOwnProperty(p)&&i.style[p]!==s.style[p])return!1;return!0},yHt=i=>{for(var s=0;su&&(u=b.height),b.depth>d&&(d=b.depth),b.maxFontSize>p&&(p=b.maxFontSize)}s.height=u,s.depth=d,s.maxFontSize=p},R2=function(s,u,d,p){var v=new cR(s,u,d,p);return cbe(v),v},uze=(i,s,u,d)=>new cR(i,s,u,d),xHt=function(s,u,d){var p=R2([s],[],u);return p.height=Math.max(d||u.fontMetrics().defaultRuleThickness,u.minRuleThickness),p.style.borderBottomWidth=Ri(p.height),p.maxFontSize=1,p},kHt=function(s,u,d,p){var v=new tbe(s,u,d,p);return cbe(v),v},lze=function(s){var u=new oR(s);return cbe(u),u},EHt=function(s,u){return s instanceof oR?R2([],[s],u):s},THt=function(s){if(s.positionType==="individualShift"){for(var u=s.children,d=[u[0]],p=-u[0].shift-u[0].elem.depth,v=p,b=1;b{var u=R2(["mspace"],[],s),d=Uh(i,s);return u.style.marginRight=Ri(d),u},dQ=function(s,u,d){var p="";switch(s){case"amsrm":p="AMS";break;case"textrm":p="Main";break;case"textsf":p="SansSerif";break;case"texttt":p="Typewriter";break;default:p=s}var v;return u==="textbf"&&d==="textit"?v="BoldItalic":u==="textbf"?v="Bold":u==="textit"?v="Italic":v="Regular",p+"-"+v},hze={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},fze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},_Ht=function(s,u){var[d,p,v]=fze[s],b=new C9(d),y=new D7([b],{width:Ri(p),height:Ri(v),style:"width:"+Ri(p),viewBox:"0 0 "+1e3*p+" "+1e3*v,preserveAspectRatio:"xMinYMin"}),T=uze(["overlay"],[y],u);return T.height=v,T.style.height=Ri(v),T.style.width=Ri(p),T},zn={fontMap:hze,makeSymbol:F3,mathsym:bHt,makeSpan:R2,makeSvgSpan:uze,makeLineSpan:xHt,makeAnchor:kHt,makeFragment:lze,wrapFragment:EHt,makeVList:CHt,makeOrd:vHt,makeGlue:SHt,staticSvg:_Ht,svgData:fze,tryCombineChars:yHt},Gh={number:3,unit:"mu"},$C={number:4,unit:"mu"},O7={number:5,unit:"mu"},AHt={mord:{mop:Gh,mbin:$C,mrel:O7,minner:Gh},mop:{mord:Gh,mop:Gh,mrel:O7,minner:Gh},mbin:{mord:$C,mop:$C,mopen:$C,minner:$C},mrel:{mord:O7,mop:O7,mopen:O7,minner:O7},mopen:{},mclose:{mop:Gh,mbin:$C,mrel:O7,minner:Gh},mpunct:{mord:Gh,mop:Gh,mrel:O7,mopen:Gh,mclose:Gh,mpunct:Gh,minner:Gh},minner:{mord:Gh,mop:Gh,mbin:$C,mrel:O7,mopen:Gh,mpunct:Gh,minner:Gh}},LHt={mord:{mop:Gh},mop:{mord:Gh,mop:Gh},mbin:{},mrel:{},mopen:{},mclose:{mop:Gh},mpunct:{},minner:{mop:Gh}},dze={},gQ={},pQ={};function Ji(i){for(var{type:s,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:s,numArgs:d.numArgs,argTypes:d.argTypes,allowedInArgument:!!d.allowedInArgument,allowedInText:!!d.allowedInText,allowedInMath:d.allowedInMath===void 0?!0:d.allowedInMath,numOptionalArgs:d.numOptionalArgs||0,infix:!!d.infix,primitive:!!d.primitive,handler:p},T=0;T{var ee=K.classes[0],ie=j.classes[0];ee==="mbin"&&Ya.contains(DHt,ie)?K.classes[0]="mord":ie==="mbin"&&Ya.contains(MHt,ee)&&(j.classes[0]="mord")},{node:P},R,F),gze(v,(j,K)=>{var ee=ube(K),ie=ube(j),oe=ee&&ie?j.hasClass("mtight")?LHt[ee][ie]:AHt[ee][ie]:null;if(oe)return zn.makeGlue(oe,_)},{node:P},R,F),v},gze=function i(s,u,d,p,v){p&&s.push(p);for(var b=0;bR=>{s.splice(P+1,0,R),b++})(b)}p&&s.pop()},pze=function(s){return s instanceof oR||s instanceof tbe||s instanceof cR&&s.hasClass("enclosing")?s:null},NHt=function i(s,u){var d=pze(s);if(d){var p=d.children;if(p.length){if(u==="right")return i(p[p.length-1],"right");if(u==="left")return i(p[0],"left")}}return s},ube=function(s,u){return s?(u&&(s=NHt(s,u)),OHt[s.classes[0]]||null):null},uR=function(s,u){var d=["nulldelimiter"].concat(s.baseSizingClasses());return N7(u.concat(d))},uu=function(s,u,d){if(!s)return N7();if(gQ[s.type]){var p=gQ[s.type](s,u);if(d&&u.size!==d.size){p=N7(u.sizingClasses(d),[p],u);var v=u.sizeMultiplier/d.sizeMultiplier;p.height*=v,p.depth*=v}return p}else throw new Ci("Got group of unknown type: '"+s.type+"'")};function mQ(i,s){var u=N7(["base"],i,s),d=N7(["strut"]);return d.style.height=Ri(u.height+u.depth),u.depth&&(d.style.verticalAlign=Ri(-u.depth)),u.children.unshift(d),u}function lbe(i,s){var u=null;i.length===1&&i[0].type==="tag"&&(u=i[0].tag,i=i[0].body);var d=d1(i,s,"root"),p;d.length===2&&d[1].hasClass("tag")&&(p=d.pop());for(var v=[],b=[],y=0;y0&&(v.push(mQ(b,s)),b=[]),v.push(d[y]));b.length>0&&v.push(mQ(b,s));var _;u?(_=mQ(d1(u,s,!0)),_.classes=["tag"],v.push(_)):p&&v.push(p);var A=N7(["katex-html"],v);if(A.setAttribute("aria-hidden","true"),_){var P=_.children[0];P.style.height=Ri(A.height+A.depth),A.depth&&(P.style.verticalAlign=Ri(-A.depth))}return A}function bze(i){return new oR(i)}class Fv{constructor(s,u,d){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=s,this.attributes={},this.children=u||[],this.classes=d||[]}setAttribute(s,u){this.attributes[s]=u}getAttribute(s){return this.attributes[s]}toNode(){var s=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var u in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,u)&&s.setAttribute(u,this.attributes[u]);this.classes.length>0&&(s.className=T9(this.classes));for(var d=0;d0&&(s+=' class ="'+Ya.escape(T9(this.classes))+'"'),s+=">";for(var d=0;d",s}toText(){return this.children.map(s=>s.toText()).join("")}}class lR{constructor(s){this.text=void 0,this.text=s}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ya.escape(this.toText())}toText(){return this.text}}class PHt{constructor(s){this.width=void 0,this.character=void 0,this.width=s,s>=.05555&&s<=.05556?this.character=" ":s>=.1666&&s<=.1667?this.character=" ":s>=.2222&&s<=.2223?this.character=" ":s>=.2777&&s<=.2778?this.character="  ":s>=-.05556&&s<=-.05555?this.character=" ⁣":s>=-.1667&&s<=-.1666?this.character=" ⁣":s>=-.2223&&s<=-.2222?this.character=" ⁣":s>=-.2778&&s<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var s=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return s.setAttribute("width",Ri(this.width)),s}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var vi={MathNode:Fv,TextNode:lR,SpaceNode:PHt,newDocumentFragment:bze},Rv=function(s,u,d){return Ul[u][s]&&Ul[u][s].replace&&s.charCodeAt(0)!==55349&&!(rze.hasOwnProperty(s)&&d&&(d.fontFamily&&d.fontFamily.slice(4,6)==="tt"||d.font&&d.font.slice(4,6)==="tt"))&&(s=Ul[u][s].replace),new vi.TextNode(s)},hbe=function(s){return s.length===1?s[0]:new vi.MathNode("mrow",s)},fbe=function(s,u){if(u.fontFamily==="texttt")return"monospace";if(u.fontFamily==="textsf")return u.fontShape==="textit"&&u.fontWeight==="textbf"?"sans-serif-bold-italic":u.fontShape==="textit"?"sans-serif-italic":u.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(u.fontShape==="textit"&&u.fontWeight==="textbf")return"bold-italic";if(u.fontShape==="textit")return"italic";if(u.fontWeight==="textbf")return"bold";var d=u.font;if(!d||d==="mathnormal")return null;var p=s.mode;if(d==="mathit")return"italic";if(d==="boldsymbol")return s.type==="textord"?"bold":"bold-italic";if(d==="mathbf")return"bold";if(d==="mathbb")return"double-struck";if(d==="mathfrak")return"fraktur";if(d==="mathscr"||d==="mathcal")return"script";if(d==="mathsf")return"sans-serif";if(d==="mathtt")return"monospace";var v=s.text;if(Ya.contains(["\\imath","\\jmath"],v))return null;Ul[p][v]&&Ul[p][v].replace&&(v=Ul[p][v].replace);var b=zn.fontMap[d].fontName;return J2e(v,b,p)?zn.fontMap[d].variant:null},j2=function(s,u,d){if(s.length===1){var p=Ll(s[0],u);return d&&p instanceof Fv&&p.type==="mo"&&(p.setAttribute("lspace","0em"),p.setAttribute("rspace","0em")),[p]}for(var v=[],b,y=0;y0&&(P.text=P.text.slice(0,1)+"̸"+P.text.slice(1),v.pop())}}}v.push(T),b=T}return v},_9=function(s,u,d){return hbe(j2(s,u,d))},Ll=function(s,u){if(!s)return new vi.MathNode("mrow");if(pQ[s.type]){var d=pQ[s.type](s,u);return d}else throw new Ci("Got group of unknown type: '"+s.type+"'")};function mze(i,s,u,d,p){var v=j2(i,u),b;v.length===1&&v[0]instanceof Fv&&Ya.contains(["mrow","mtable"],v[0].type)?b=v[0]:b=new vi.MathNode("mrow",v);var y=new vi.MathNode("annotation",[new vi.TextNode(s)]);y.setAttribute("encoding","application/x-tex");var T=new vi.MathNode("semantics",[b,y]),_=new vi.MathNode("math",[T]);_.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),d&&_.setAttribute("display","block");var A=p?"katex":"katex-mathml";return zn.makeSpan([A],[_])}var vze=function(s){return new M7({style:s.displayMode?Ta.DISPLAY:Ta.TEXT,maxSize:s.maxSize,minRuleThickness:s.minRuleThickness})},wze=function(s,u){if(u.displayMode){var d=["katex-display"];u.leqno&&d.push("leqno"),u.fleqn&&d.push("fleqn"),s=zn.makeSpan(d,[s])}return s},BHt=function(s,u,d){var p=vze(d),v;if(d.output==="mathml")return mze(s,u,p,d.displayMode,!0);if(d.output==="html"){var b=lbe(s,p);v=zn.makeSpan(["katex"],[b])}else{var y=mze(s,u,p,d.displayMode,!1),T=lbe(s,p);v=zn.makeSpan(["katex"],[y,T])}return wze(v,d)},FHt=function(s,u,d){var p=vze(d),v=lbe(s,p),b=zn.makeSpan(["katex"],[v]);return wze(b,d)},RHt={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},jHt=function(s){var u=new vi.MathNode("mo",[new vi.TextNode(RHt[s.replace(/^\\/,"")])]);return u.setAttribute("stretchy","true"),u},$Ht={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},zHt=function(s){return s.type==="ordgroup"?s.body.length:1},qHt=function(s,u){function d(){var y=4e5,T=s.label.slice(1);if(Ya.contains(["widehat","widecheck","widetilde","utilde"],T)){var _=s,A=zHt(_.base),P,R,F;if(A>5)T==="widehat"||T==="widecheck"?(P=420,y=2364,F=.42,R=T+"4"):(P=312,y=2340,F=.34,R="tilde4");else{var j=[1,1,2,2,3,3][A];T==="widehat"||T==="widecheck"?(y=[0,1062,2364,2364,2364][j],P=[0,239,300,360,420][j],F=[0,.24,.3,.3,.36,.42][j],R=T+j):(y=[0,600,1033,2339,2340][j],P=[0,260,286,306,312][j],F=[0,.26,.286,.3,.306,.34][j],R="tilde"+j)}var K=new C9(R),ee=new D7([K],{width:"100%",height:Ri(F),viewBox:"0 0 "+y+" "+P,preserveAspectRatio:"none"});return{span:zn.makeSvgSpan([],[ee],u),minWidth:0,height:F}}else{var ie=[],oe=$Ht[T],[pe,be,ae]=oe,ne=ae/1e3,se=pe.length,de,X;if(se===1){var ge=oe[3];de=["hide-tail"],X=[ge]}else if(se===2)de=["halfarrow-left","halfarrow-right"],X=["xMinYMin","xMaxYMin"];else if(se===3)de=["brace-left","brace-center","brace-right"],X=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+se+" children.");for(var W=0;W0&&(p.style.minWidth=Ri(v)),p},HHt=function(s,u,d,p,v){var b,y=s.height+s.depth+d+p;if(/fbox|color|angl/.test(u)){if(b=zn.makeSpan(["stretchy",u],[],v),u==="fbox"){var T=v.color&&v.getColor();T&&(b.style.borderColor=T)}}else{var _=[];/^[bx]cancel$/.test(u)&&_.push(new nbe({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(u)&&_.push(new nbe({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var A=new D7(_,{width:"100%",height:Ri(y)});b=zn.makeSvgSpan([],[A],v)}return b.height=y,b.style.height=Ri(y),b},P7={encloseSpan:HHt,mathMLnode:jHt,svgSpan:qHt};function Yo(i,s){if(!i||i.type!==s)throw new Error("Expected node of type "+s+", but got "+(i?"node of type "+i.type:String(i)));return i}function dbe(i){var s=vQ(i);if(!s)throw new Error("Expected node of symbol group type, but got "+(i?"node of type "+i.type:String(i)));return s}function vQ(i){return i&&(i.type==="atom"||gHt.hasOwnProperty(i.type))?i:null}var gbe=(i,s)=>{var u,d,p;i&&i.type==="supsub"?(d=Yo(i.base,"accent"),u=d.base,i.base=u,p=fHt(uu(i,s)),i.base=d):(d=Yo(i,"accent"),u=d.base);var v=uu(u,s.havingCrampedStyle()),b=d.isShifty&&Ya.isCharacterBox(u),y=0;if(b){var T=Ya.getBaseElem(u),_=uu(T,s.havingCrampedStyle());y=nze(_).skew}var A=d.label==="\\c",P=A?v.height+v.depth:Math.min(v.height,s.fontMetrics().xHeight),R;if(d.isStretchy)R=P7.svgSpan(d,s),R=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"elem",elem:R,wrapperClasses:["svg-align"],wrapperStyle:y>0?{width:"calc(100% - "+Ri(2*y)+")",marginLeft:Ri(2*y)}:void 0}]},s);else{var F,j;d.label==="\\vec"?(F=zn.staticSvg("vec",s),j=zn.svgData.vec[1]):(F=zn.makeOrd({mode:d.mode,text:d.label},s,"textord"),F=nze(F),F.italic=0,j=F.width,A&&(P+=F.depth)),R=zn.makeSpan(["accent-body"],[F]);var K=d.label==="\\textcircled";K&&(R.classes.push("accent-full"),P=v.height);var ee=y;K||(ee-=j/2),R.style.left=Ri(ee),d.label==="\\textcircled"&&(R.style.top=".2em"),R=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:-P},{type:"elem",elem:R}]},s)}var ie=zn.makeSpan(["mord","accent"],[R],s);return p?(p.children[0]=ie,p.height=Math.max(ie.height,p.height),p.classes[0]="mord",p):ie},yze=(i,s)=>{var u=i.isStretchy?P7.mathMLnode(i.label):new vi.MathNode("mo",[Rv(i.label,i.mode)]),d=new vi.MathNode("mover",[Ll(i.base,s),u]);return d.setAttribute("accent","true"),d},VHt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(i=>"\\"+i).join("|"));Ji({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(i,s)=>{var u=bQ(s[0]),d=!VHt.test(i.funcName),p=!d||i.funcName==="\\widehat"||i.funcName==="\\widetilde"||i.funcName==="\\widecheck";return{type:"accent",mode:i.parser.mode,label:i.funcName,isStretchy:d,isShifty:p,base:u}},htmlBuilder:gbe,mathmlBuilder:yze}),Ji({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(i,s)=>{var u=s[0],d=i.parser.mode;return d==="math"&&(i.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+i.funcName+" works only in text mode"),d="text"),{type:"accent",mode:d,label:i.funcName,isStretchy:!1,isShifty:!0,base:u}},htmlBuilder:gbe,mathmlBuilder:yze}),Ji({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"accentUnder",mode:u.mode,label:d,base:p}},htmlBuilder:(i,s)=>{var u=uu(i.base,s),d=P7.svgSpan(i,s),p=i.label==="\\utilde"?.12:0,v=zn.makeVList({positionType:"top",positionData:u.height,children:[{type:"elem",elem:d,wrapperClasses:["svg-align"]},{type:"kern",size:p},{type:"elem",elem:u}]},s);return zn.makeSpan(["mord","accentunder"],[v],s)},mathmlBuilder:(i,s)=>{var u=P7.mathMLnode(i.label),d=new vi.MathNode("munder",[Ll(i.base,s),u]);return d.setAttribute("accentunder","true"),d}});var wQ=i=>{var s=new vi.MathNode("mpadded",i?[i]:[]);return s.setAttribute("width","+0.6em"),s.setAttribute("lspace","0.3em"),s};Ji({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(i,s,u){var{parser:d,funcName:p}=i;return{type:"xArrow",mode:d.mode,label:p,body:s[0],below:u[0]}},htmlBuilder(i,s){var u=s.style,d=s.havingStyle(u.sup()),p=zn.wrapFragment(uu(i.body,d,s),s),v=i.label.slice(0,2)==="\\x"?"x":"cd";p.classes.push(v+"-arrow-pad");var b;i.below&&(d=s.havingStyle(u.sub()),b=zn.wrapFragment(uu(i.below,d,s),s),b.classes.push(v+"-arrow-pad"));var y=P7.svgSpan(i,s),T=-s.fontMetrics().axisHeight+.5*y.height,_=-s.fontMetrics().axisHeight-.5*y.height-.111;(p.depth>.25||i.label==="\\xleftequilibrium")&&(_-=p.depth);var A;if(b){var P=-s.fontMetrics().axisHeight+b.height+.5*y.height+.111;A=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:T},{type:"elem",elem:b,shift:P}]},s)}else A=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:T}]},s);return A.children[0].children[0].children[1].classes.push("svg-align"),zn.makeSpan(["mrel","x-arrow"],[A],s)},mathmlBuilder(i,s){var u=P7.mathMLnode(i.label);u.setAttribute("minsize",i.label.charAt(0)==="x"?"1.75em":"3.0em");var d;if(i.body){var p=wQ(Ll(i.body,s));if(i.below){var v=wQ(Ll(i.below,s));d=new vi.MathNode("munderover",[u,v,p])}else d=new vi.MathNode("mover",[u,p])}else if(i.below){var b=wQ(Ll(i.below,s));d=new vi.MathNode("munder",[u,b])}else d=wQ(),d=new vi.MathNode("mover",[u,d]);return d}});var UHt=zn.makeSpan;function xze(i,s){var u=d1(i.body,s,!0);return UHt([i.mclass],u,s)}function kze(i,s){var u,d=j2(i.body,s);return i.mclass==="minner"?u=new vi.MathNode("mpadded",d):i.mclass==="mord"?i.isCharacterBox?(u=d[0],u.type="mi"):u=new vi.MathNode("mi",d):(i.isCharacterBox?(u=d[0],u.type="mo"):u=new vi.MathNode("mo",d),i.mclass==="mbin"?(u.attributes.lspace="0.22em",u.attributes.rspace="0.22em"):i.mclass==="mpunct"?(u.attributes.lspace="0em",u.attributes.rspace="0.17em"):i.mclass==="mopen"||i.mclass==="mclose"?(u.attributes.lspace="0em",u.attributes.rspace="0em"):i.mclass==="minner"&&(u.attributes.lspace="0.0556em",u.attributes.width="+0.1111em")),u}Ji({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"mclass",mode:u.mode,mclass:"m"+d.slice(5),body:Xf(p),isCharacterBox:Ya.isCharacterBox(p)}},htmlBuilder:xze,mathmlBuilder:kze});var yQ=i=>{var s=i.type==="ordgroup"&&i.body.length?i.body[0]:i;return s.type==="atom"&&(s.family==="bin"||s.family==="rel")?"m"+s.family:"mord"};Ji({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(i,s){var{parser:u}=i;return{type:"mclass",mode:u.mode,mclass:yQ(s[0]),body:Xf(s[1]),isCharacterBox:Ya.isCharacterBox(s[1])}}}),Ji({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(i,s){var{parser:u,funcName:d}=i,p=s[1],v=s[0],b;d!=="\\stackrel"?b=yQ(p):b="mrel";var y={type:"op",mode:p.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:d!=="\\stackrel",body:Xf(p)},T={type:"supsub",mode:v.mode,base:y,sup:d==="\\underset"?null:v,sub:d==="\\underset"?v:null};return{type:"mclass",mode:u.mode,mclass:b,body:[T],isCharacterBox:Ya.isCharacterBox(T)}},htmlBuilder:xze,mathmlBuilder:kze}),Ji({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"pmb",mode:u.mode,mclass:yQ(s[0]),body:Xf(s[0])}},htmlBuilder(i,s){var u=d1(i.body,s,!0),d=zn.makeSpan([i.mclass],u,s);return d.style.textShadow="0.02em 0.01em 0.04px",d},mathmlBuilder(i,s){var u=j2(i.body,s),d=new vi.MathNode("mstyle",u);return d.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),d}});var GHt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Eze=()=>({type:"styling",body:[],mode:"math",style:"display"}),Tze=i=>i.type==="textord"&&i.text==="@",KHt=(i,s)=>(i.type==="mathord"||i.type==="atom")&&i.text===s;function WHt(i,s,u){var d=GHt[i];switch(d){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return u.callFunction(d,[s[0]],[s[1]]);case"\\uparrow":case"\\downarrow":{var p=u.callFunction("\\\\cdleft",[s[0]],[]),v={type:"atom",text:d,mode:"math",family:"rel"},b=u.callFunction("\\Big",[v],[]),y=u.callFunction("\\\\cdright",[s[1]],[]),T={type:"ordgroup",mode:"math",body:[p,b,y]};return u.callFunction("\\\\cdparent",[T],[])}case"\\\\cdlongequal":return u.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var _={type:"textord",text:"\\Vert",mode:"math"};return u.callFunction("\\Big",[_],[])}default:return{type:"textord",text:" ",mode:"math"}}}function YHt(i){var s=[];for(i.gullet.beginGroup(),i.gullet.macros.set("\\cr","\\\\\\relax"),i.gullet.beginGroup();;){s.push(i.parseExpression(!1,"\\\\")),i.gullet.endGroup(),i.gullet.beginGroup();var u=i.fetch().text;if(u==="&"||u==="\\\\")i.consume();else if(u==="\\end"){s[s.length-1].length===0&&s.pop();break}else throw new Ci("Expected \\\\ or \\cr or \\end",i.nextToken)}for(var d=[],p=[d],v=0;v-1))if("<>AV".indexOf(_)>-1)for(var P=0;P<2;P++){for(var R=!0,F=T+1;FAV=|." after @',b[T]);var j=WHt(_,A,i),K={type:"styling",body:[j],mode:"math",style:"display"};d.push(K),y=Eze()}v%2===0?d.push(y):d.shift(),d=[],p.push(d)}i.gullet.endGroup(),i.gullet.endGroup();var ee=new Array(p[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:p,arraystretch:1,addJot:!0,rowGaps:[null],cols:ee,colSeparationType:"CD",hLinesBeforeRow:new Array(p.length+1).fill([])}}Ji({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i;return{type:"cdlabel",mode:u.mode,side:d.slice(4),label:s[0]}},htmlBuilder(i,s){var u=s.havingStyle(s.style.sup()),d=zn.wrapFragment(uu(i.label,u,s),s);return d.classes.push("cd-label-"+i.side),d.style.bottom=Ri(.8-d.depth),d.height=0,d.depth=0,d},mathmlBuilder(i,s){var u=new vi.MathNode("mrow",[Ll(i.label,s)]);return u=new vi.MathNode("mpadded",[u]),u.setAttribute("width","0"),i.side==="left"&&u.setAttribute("lspace","-1width"),u.setAttribute("voffset","0.7em"),u=new vi.MathNode("mstyle",[u]),u.setAttribute("displaystyle","false"),u.setAttribute("scriptlevel","1"),u}}),Ji({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(i,s){var{parser:u}=i;return{type:"cdlabelparent",mode:u.mode,fragment:s[0]}},htmlBuilder(i,s){var u=zn.wrapFragment(uu(i.fragment,s),s);return u.classes.push("cd-vert-arrow"),u},mathmlBuilder(i,s){return new vi.MathNode("mrow",[Ll(i.fragment,s)])}}),Ji({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(i,s){for(var{parser:u}=i,d=Yo(s[0],"ordgroup"),p=d.body,v="",b=0;b=1114111)throw new Ci("\\@char with invalid code point "+v);return T<=65535?_=String.fromCharCode(T):(T-=65536,_=String.fromCharCode((T>>10)+55296,(T&1023)+56320)),{type:"textord",mode:u.mode,text:_}}});var Cze=(i,s)=>{var u=d1(i.body,s.withColor(i.color),!1);return zn.makeFragment(u)},Sze=(i,s)=>{var u=j2(i.body,s.withColor(i.color)),d=new vi.MathNode("mstyle",u);return d.setAttribute("mathcolor",i.color),d};Ji({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(i,s){var{parser:u}=i,d=Yo(s[0],"color-token").color,p=s[1];return{type:"color",mode:u.mode,color:d,body:Xf(p)}},htmlBuilder:Cze,mathmlBuilder:Sze}),Ji({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(i,s){var{parser:u,breakOnTokenText:d}=i,p=Yo(s[0],"color-token").color;u.gullet.macros.set("\\current@color",p);var v=u.parseExpression(!0,d);return{type:"color",mode:u.mode,color:p,body:v}},htmlBuilder:Cze,mathmlBuilder:Sze}),Ji({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(i,s,u){var{parser:d}=i,p=d.gullet.future().text==="["?d.parseSizeGroup(!0):null,v=!d.settings.displayMode||!d.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:d.mode,newLine:v,size:p&&Yo(p,"size").value}},htmlBuilder(i,s){var u=zn.makeSpan(["mspace"],[],s);return i.newLine&&(u.classes.push("newline"),i.size&&(u.style.marginTop=Ri(Uh(i.size,s)))),u},mathmlBuilder(i,s){var u=new vi.MathNode("mspace");return i.newLine&&(u.setAttribute("linebreak","newline"),i.size&&u.setAttribute("height",Ri(Uh(i.size,s)))),u}});var pbe={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},_ze=i=>{var s=i.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new Ci("Expected a control sequence",i);return s},XHt=i=>{var s=i.gullet.popToken();return s.text==="="&&(s=i.gullet.popToken(),s.text===" "&&(s=i.gullet.popToken())),s},Aze=(i,s,u,d)=>{var p=i.gullet.macros.get(u.text);p==null&&(u.noexpand=!0,p={tokens:[u],numArgs:0,unexpandable:!i.gullet.isExpandable(u.text)}),i.gullet.macros.set(s,p,d)};Ji({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:s,funcName:u}=i;s.consumeSpaces();var d=s.fetch();if(pbe[d.text])return(u==="\\global"||u==="\\\\globallong")&&(d.text=pbe[d.text]),Yo(s.parseFunction(),"internal");throw new Ci("Invalid token after macro prefix",d)}}),Ji({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=s.gullet.popToken(),p=d.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(p))throw new Ci("Expected a control sequence",d);for(var v=0,b,y=[[]];s.gullet.future().text!=="{";)if(d=s.gullet.popToken(),d.text==="#"){if(s.gullet.future().text==="{"){b=s.gullet.future(),y[v].push("{");break}if(d=s.gullet.popToken(),!/^[1-9]$/.test(d.text))throw new Ci('Invalid argument number "'+d.text+'"');if(parseInt(d.text)!==v+1)throw new Ci('Argument number "'+d.text+'" out of order');v++,y.push([])}else{if(d.text==="EOF")throw new Ci("Expected a macro definition");y[v].push(d.text)}var{tokens:T}=s.gullet.consumeArg();return b&&T.unshift(b),(u==="\\edef"||u==="\\xdef")&&(T=s.gullet.expandTokens(T),T.reverse()),s.gullet.macros.set(p,{tokens:T,numArgs:v,delimiters:y},u===pbe[u]),{type:"internal",mode:s.mode}}}),Ji({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=_ze(s.gullet.popToken());s.gullet.consumeSpaces();var p=XHt(s);return Aze(s,d,p,u==="\\\\globallet"),{type:"internal",mode:s.mode}}}),Ji({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=_ze(s.gullet.popToken()),p=s.gullet.popToken(),v=s.gullet.popToken();return Aze(s,d,v,u==="\\\\globalfuture"),s.gullet.pushToken(v),s.gullet.pushToken(p),{type:"internal",mode:s.mode}}});var hR=function(s,u,d){var p=Ul.math[s]&&Ul.math[s].replace,v=J2e(p||s,u,d);if(!v)throw new Error("Unsupported symbol "+s+" and font size "+u+".");return v},bbe=function(s,u,d,p){var v=d.havingBaseStyle(u),b=zn.makeSpan(p.concat(v.sizingClasses(d)),[s],d),y=v.sizeMultiplier/d.sizeMultiplier;return b.height*=y,b.depth*=y,b.maxFontSize=v.sizeMultiplier,b},Lze=function(s,u,d){var p=u.havingBaseStyle(d),v=(1-u.sizeMultiplier/p.sizeMultiplier)*u.fontMetrics().axisHeight;s.classes.push("delimcenter"),s.style.top=Ri(v),s.height-=v,s.depth+=v},QHt=function(s,u,d,p,v,b){var y=zn.makeSymbol(s,"Main-Regular",v,p),T=bbe(y,u,p,b);return d&&Lze(T,p,u),T},JHt=function(s,u,d,p){return zn.makeSymbol(s,"Size"+u+"-Regular",d,p)},Mze=function(s,u,d,p,v,b){var y=JHt(s,u,v,p),T=bbe(zn.makeSpan(["delimsizing","size"+u],[y],p),Ta.TEXT,p,b);return d&&Lze(T,p,Ta.TEXT),T},mbe=function(s,u,d){var p;u==="Size1-Regular"?p="delim-size1":p="delim-size4";var v=zn.makeSpan(["delimsizinginner",p],[zn.makeSpan([],[zn.makeSymbol(s,u,d)])]);return{type:"elem",elem:v}},vbe=function(s,u,d){var p=K4["Size4-Regular"][s.charCodeAt(0)]?K4["Size4-Regular"][s.charCodeAt(0)][4]:K4["Size1-Regular"][s.charCodeAt(0)][4],v=new C9("inner",iHt(s,Math.round(1e3*u))),b=new D7([v],{width:Ri(p),height:Ri(u),style:"width:"+Ri(p),viewBox:"0 0 "+1e3*p+" "+Math.round(1e3*u),preserveAspectRatio:"xMinYMin"}),y=zn.makeSvgSpan([],[b],d);return y.height=u,y.style.height=Ri(u),y.style.width=Ri(p),{type:"elem",elem:y}},wbe=.008,xQ={type:"kern",size:-1*wbe},ZHt=["|","\\lvert","\\rvert","\\vert"],eVt=["\\|","\\lVert","\\rVert","\\Vert"],Dze=function(s,u,d,p,v,b){var y,T,_,A,P="",R=0;y=_=A=s,T=null;var F="Size1-Regular";s==="\\uparrow"?_=A="⏐":s==="\\Uparrow"?_=A="‖":s==="\\downarrow"?y=_="⏐":s==="\\Downarrow"?y=_="‖":s==="\\updownarrow"?(y="\\uparrow",_="⏐",A="\\downarrow"):s==="\\Updownarrow"?(y="\\Uparrow",_="‖",A="\\Downarrow"):Ya.contains(ZHt,s)?(_="∣",P="vert",R=333):Ya.contains(eVt,s)?(_="∥",P="doublevert",R=556):s==="["||s==="\\lbrack"?(y="⎡",_="⎢",A="⎣",F="Size4-Regular",P="lbrack",R=667):s==="]"||s==="\\rbrack"?(y="⎤",_="⎥",A="⎦",F="Size4-Regular",P="rbrack",R=667):s==="\\lfloor"||s==="⌊"?(_=y="⎢",A="⎣",F="Size4-Regular",P="lfloor",R=667):s==="\\lceil"||s==="⌈"?(y="⎡",_=A="⎢",F="Size4-Regular",P="lceil",R=667):s==="\\rfloor"||s==="⌋"?(_=y="⎥",A="⎦",F="Size4-Regular",P="rfloor",R=667):s==="\\rceil"||s==="⌉"?(y="⎤",_=A="⎥",F="Size4-Regular",P="rceil",R=667):s==="("||s==="\\lparen"?(y="⎛",_="⎜",A="⎝",F="Size4-Regular",P="lparen",R=875):s===")"||s==="\\rparen"?(y="⎞",_="⎟",A="⎠",F="Size4-Regular",P="rparen",R=875):s==="\\{"||s==="\\lbrace"?(y="⎧",T="⎨",A="⎩",_="⎪",F="Size4-Regular"):s==="\\}"||s==="\\rbrace"?(y="⎫",T="⎬",A="⎭",_="⎪",F="Size4-Regular"):s==="\\lgroup"||s==="⟮"?(y="⎧",A="⎩",_="⎪",F="Size4-Regular"):s==="\\rgroup"||s==="⟯"?(y="⎫",A="⎭",_="⎪",F="Size4-Regular"):s==="\\lmoustache"||s==="⎰"?(y="⎧",A="⎭",_="⎪",F="Size4-Regular"):(s==="\\rmoustache"||s==="⎱")&&(y="⎫",A="⎩",_="⎪",F="Size4-Regular");var j=hR(y,F,v),K=j.height+j.depth,ee=hR(_,F,v),ie=ee.height+ee.depth,oe=hR(A,F,v),pe=oe.height+oe.depth,be=0,ae=1;if(T!==null){var ne=hR(T,F,v);be=ne.height+ne.depth,ae=2}var se=K+pe+be,de=Math.max(0,Math.ceil((u-se)/(ae*ie))),X=se+de*ae*ie,ge=p.fontMetrics().axisHeight;d&&(ge*=p.sizeMultiplier);var W=X/2-ge,xe=[];if(P.length>0){var U=X-K-pe,Fe=Math.round(X*1e3),Pe=sHt(P,Math.round(U*1e3)),je=new C9(P,Pe),Ie=(R/1e3).toFixed(3)+"em",Se=(Fe/1e3).toFixed(3)+"em",Ce=new D7([je],{width:Ie,height:Se,viewBox:"0 0 "+R+" "+Fe}),ke=zn.makeSvgSpan([],[Ce],p);ke.height=Fe/1e3,ke.style.width=Ie,ke.style.height=Se,xe.push({type:"elem",elem:ke})}else{if(xe.push(mbe(A,F,v)),xe.push(xQ),T===null){var Ke=X-K-pe+2*wbe;xe.push(vbe(_,Ke,p))}else{var Ft=(X-K-pe-be)/2+2*wbe;xe.push(vbe(_,Ft,p)),xe.push(xQ),xe.push(mbe(T,F,v)),xe.push(xQ),xe.push(vbe(_,Ft,p))}xe.push(xQ),xe.push(mbe(y,F,v))}var Ne=p.havingBaseStyle(Ta.TEXT),gn=zn.makeVList({positionType:"bottom",positionData:W,children:xe},Ne);return bbe(zn.makeSpan(["delimsizing","mult"],[gn],Ne),Ta.TEXT,p,b)},ybe=80,xbe=.08,kbe=function(s,u,d,p,v){var b=rHt(s,p,d),y=new C9(s,b),T=new D7([y],{width:"400em",height:Ri(u),viewBox:"0 0 400000 "+d,preserveAspectRatio:"xMinYMin slice"});return zn.makeSvgSpan(["hide-tail"],[T],v)},tVt=function(s,u){var d=u.havingBaseSizing(),p=Pze("\\surd",s*d.sizeMultiplier,Nze,d),v=d.sizeMultiplier,b=Math.max(0,u.minRuleThickness-u.fontMetrics().sqrtRuleThickness),y,T=0,_=0,A=0,P;return p.type==="small"?(A=1e3+1e3*b+ybe,s<1?v=1:s<1.4&&(v=.7),T=(1+b+xbe)/v,_=(1+b)/v,y=kbe("sqrtMain",T,A,b,u),y.style.minWidth="0.853em",P=.833/v):p.type==="large"?(A=(1e3+ybe)*fR[p.size],_=(fR[p.size]+b)/v,T=(fR[p.size]+b+xbe)/v,y=kbe("sqrtSize"+p.size,T,A,b,u),y.style.minWidth="1.02em",P=1/v):(T=s+b+xbe,_=s+b,A=Math.floor(1e3*s+b)+ybe,y=kbe("sqrtTall",T,A,b,u),y.style.minWidth="0.742em",P=1.056),y.height=_,y.style.height=Ri(T),{span:y,advanceWidth:P,ruleWidth:(u.fontMetrics().sqrtRuleThickness+b)*v}},Ize=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],nVt=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Oze=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],fR=[0,1.2,1.8,2.4,3],rVt=function(s,u,d,p,v){if(s==="<"||s==="\\lt"||s==="⟨"?s="\\langle":(s===">"||s==="\\gt"||s==="⟩")&&(s="\\rangle"),Ya.contains(Ize,s)||Ya.contains(Oze,s))return Mze(s,u,!1,d,p,v);if(Ya.contains(nVt,s))return Dze(s,fR[u],!1,d,p,v);throw new Ci("Illegal delimiter: '"+s+"'")},iVt=[{type:"small",style:Ta.SCRIPTSCRIPT},{type:"small",style:Ta.SCRIPT},{type:"small",style:Ta.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],sVt=[{type:"small",style:Ta.SCRIPTSCRIPT},{type:"small",style:Ta.SCRIPT},{type:"small",style:Ta.TEXT},{type:"stack"}],Nze=[{type:"small",style:Ta.SCRIPTSCRIPT},{type:"small",style:Ta.SCRIPT},{type:"small",style:Ta.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],aVt=function(s){if(s.type==="small")return"Main-Regular";if(s.type==="large")return"Size"+s.size+"-Regular";if(s.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+s.type+"' here.")},Pze=function(s,u,d,p){for(var v=Math.min(2,3-p.style.size),b=v;bu)return d[b]}return d[d.length-1]},Bze=function(s,u,d,p,v,b){s==="<"||s==="\\lt"||s==="⟨"?s="\\langle":(s===">"||s==="\\gt"||s==="⟩")&&(s="\\rangle");var y;Ya.contains(Oze,s)?y=iVt:Ya.contains(Ize,s)?y=Nze:y=sVt;var T=Pze(s,u,y,p);return T.type==="small"?QHt(s,T.style,d,p,v,b):T.type==="large"?Mze(s,T.size,d,p,v,b):Dze(s,u,d,p,v,b)},oVt=function(s,u,d,p,v,b){var y=p.fontMetrics().axisHeight*p.sizeMultiplier,T=901,_=5/p.fontMetrics().ptPerEm,A=Math.max(u-y,d+y),P=Math.max(A/500*T,2*A-_);return Bze(s,P,!0,p,v,b)},B7={sqrtImage:tVt,sizedDelim:rVt,sizeToMaxHeight:fR,customSizedDelim:Bze,leftRightDelim:oVt},Fze={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},cVt=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function kQ(i,s){var u=vQ(i);if(u&&Ya.contains(cVt,u.text))return u;throw u?new Ci("Invalid delimiter '"+u.text+"' after '"+s.funcName+"'",i):new Ci("Invalid delimiter type '"+i.type+"'",i)}Ji({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(i,s)=>{var u=kQ(s[0],i);return{type:"delimsizing",mode:i.parser.mode,size:Fze[i.funcName].size,mclass:Fze[i.funcName].mclass,delim:u.text}},htmlBuilder:(i,s)=>i.delim==="."?zn.makeSpan([i.mclass]):B7.sizedDelim(i.delim,i.size,s,i.mode,[i.mclass]),mathmlBuilder:i=>{var s=[];i.delim!=="."&&s.push(Rv(i.delim,i.mode));var u=new vi.MathNode("mo",s);i.mclass==="mopen"||i.mclass==="mclose"?u.setAttribute("fence","true"):u.setAttribute("fence","false"),u.setAttribute("stretchy","true");var d=Ri(B7.sizeToMaxHeight[i.size]);return u.setAttribute("minsize",d),u.setAttribute("maxsize",d),u}});function Rze(i){if(!i.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Ji({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=i.parser.gullet.macros.get("\\current@color");if(u&&typeof u!="string")throw new Ci("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:i.parser.mode,delim:kQ(s[0],i).text,color:u}}}),Ji({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=kQ(s[0],i),d=i.parser;++d.leftrightDepth;var p=d.parseExpression(!1);--d.leftrightDepth,d.expect("\\right",!1);var v=Yo(d.parseFunction(),"leftright-right");return{type:"leftright",mode:d.mode,body:p,left:u.text,right:v.delim,rightColor:v.color}},htmlBuilder:(i,s)=>{Rze(i);for(var u=d1(i.body,s,!0,["mopen","mclose"]),d=0,p=0,v=!1,b=0;b{Rze(i);var u=j2(i.body,s);if(i.left!=="."){var d=new vi.MathNode("mo",[Rv(i.left,i.mode)]);d.setAttribute("fence","true"),u.unshift(d)}if(i.right!=="."){var p=new vi.MathNode("mo",[Rv(i.right,i.mode)]);p.setAttribute("fence","true"),i.rightColor&&p.setAttribute("mathcolor",i.rightColor),u.push(p)}return hbe(u)}}),Ji({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=kQ(s[0],i);if(!i.parser.leftrightDepth)throw new Ci("\\middle without preceding \\left",u);return{type:"middle",mode:i.parser.mode,delim:u.text}},htmlBuilder:(i,s)=>{var u;if(i.delim===".")u=uR(s,[]);else{u=B7.sizedDelim(i.delim,1,s,i.mode,[]);var d={delim:i.delim,options:s};u.isMiddle=d}return u},mathmlBuilder:(i,s)=>{var u=i.delim==="\\vert"||i.delim==="|"?Rv("|","text"):Rv(i.delim,i.mode),d=new vi.MathNode("mo",[u]);return d.setAttribute("fence","true"),d.setAttribute("lspace","0.05em"),d.setAttribute("rspace","0.05em"),d}});var Ebe=(i,s)=>{var u=zn.wrapFragment(uu(i.body,s),s),d=i.label.slice(1),p=s.sizeMultiplier,v,b=0,y=Ya.isCharacterBox(i.body);if(d==="sout")v=zn.makeSpan(["stretchy","sout"]),v.height=s.fontMetrics().defaultRuleThickness/p,b=-.5*s.fontMetrics().xHeight;else if(d==="phase"){var T=Uh({number:.6,unit:"pt"},s),_=Uh({number:.35,unit:"ex"},s),A=s.havingBaseSizing();p=p/A.sizeMultiplier;var P=u.height+u.depth+T+_;u.style.paddingLeft=Ri(P/2+T);var R=Math.floor(1e3*P*p),F=tHt(R),j=new D7([new C9("phase",F)],{width:"400em",height:Ri(R/1e3),viewBox:"0 0 400000 "+R,preserveAspectRatio:"xMinYMin slice"});v=zn.makeSvgSpan(["hide-tail"],[j],s),v.style.height=Ri(P),b=u.depth+T+_}else{/cancel/.test(d)?y||u.classes.push("cancel-pad"):d==="angl"?u.classes.push("anglpad"):u.classes.push("boxpad");var K=0,ee=0,ie=0;/box/.test(d)?(ie=Math.max(s.fontMetrics().fboxrule,s.minRuleThickness),K=s.fontMetrics().fboxsep+(d==="colorbox"?0:ie),ee=K):d==="angl"?(ie=Math.max(s.fontMetrics().defaultRuleThickness,s.minRuleThickness),K=4*ie,ee=Math.max(0,.25-u.depth)):(K=y?.2:0,ee=K),v=P7.encloseSpan(u,d,K,ee,s),/fbox|boxed|fcolorbox/.test(d)?(v.style.borderStyle="solid",v.style.borderWidth=Ri(ie)):d==="angl"&&ie!==.049&&(v.style.borderTopWidth=Ri(ie),v.style.borderRightWidth=Ri(ie)),b=u.depth+ee,i.backgroundColor&&(v.style.backgroundColor=i.backgroundColor,i.borderColor&&(v.style.borderColor=i.borderColor))}var oe;if(i.backgroundColor)oe=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:v,shift:b},{type:"elem",elem:u,shift:0}]},s);else{var pe=/cancel|phase/.test(d)?["svg-align"]:[];oe=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:v,shift:b,wrapperClasses:pe}]},s)}return/cancel/.test(d)&&(oe.height=u.height,oe.depth=u.depth),/cancel/.test(d)&&!y?zn.makeSpan(["mord","cancel-lap"],[oe],s):zn.makeSpan(["mord"],[oe],s)},Tbe=(i,s)=>{var u=0,d=new vi.MathNode(i.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Ll(i.body,s)]);switch(i.label){case"\\cancel":d.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":d.setAttribute("notation","downdiagonalstrike");break;case"\\phase":d.setAttribute("notation","phasorangle");break;case"\\sout":d.setAttribute("notation","horizontalstrike");break;case"\\fbox":d.setAttribute("notation","box");break;case"\\angl":d.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(u=s.fontMetrics().fboxsep*s.fontMetrics().ptPerEm,d.setAttribute("width","+"+2*u+"pt"),d.setAttribute("height","+"+2*u+"pt"),d.setAttribute("lspace",u+"pt"),d.setAttribute("voffset",u+"pt"),i.label==="\\fcolorbox"){var p=Math.max(s.fontMetrics().fboxrule,s.minRuleThickness);d.setAttribute("style","border: "+p+"em solid "+String(i.borderColor))}break;case"\\xcancel":d.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return i.backgroundColor&&d.setAttribute("mathbackground",i.backgroundColor),d};Ji({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(i,s,u){var{parser:d,funcName:p}=i,v=Yo(s[0],"color-token").color,b=s[1];return{type:"enclose",mode:d.mode,label:p,backgroundColor:v,body:b}},htmlBuilder:Ebe,mathmlBuilder:Tbe}),Ji({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(i,s,u){var{parser:d,funcName:p}=i,v=Yo(s[0],"color-token").color,b=Yo(s[1],"color-token").color,y=s[2];return{type:"enclose",mode:d.mode,label:p,backgroundColor:b,borderColor:v,body:y}},htmlBuilder:Ebe,mathmlBuilder:Tbe}),Ji({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\fbox",body:s[0]}}}),Ji({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"enclose",mode:u.mode,label:d,body:p}},htmlBuilder:Ebe,mathmlBuilder:Tbe}),Ji({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(i,s){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\angl",body:s[0]}}});var jze={};function W4(i){for(var{type:s,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:s,numArgs:d.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:p},T=0;T{var s=i.parser.settings;if(!s.displayMode)throw new Ci("{"+i.envName+"} can be used only in display mode.")};function Cbe(i){if(i.indexOf("ed")===-1)return i.indexOf("*")===-1}function A9(i,s,u){var{hskipBeforeAndAfter:d,addJot:p,cols:v,arraystretch:b,colSeparationType:y,autoTag:T,singleRow:_,emptySingleRow:A,maxNumCols:P,leqno:R}=s;if(i.gullet.beginGroup(),_||i.gullet.macros.set("\\cr","\\\\\\relax"),!b){var F=i.gullet.expandMacroAsText("\\arraystretch");if(F==null)b=1;else if(b=parseFloat(F),!b||b<0)throw new Ci("Invalid \\arraystretch: "+F)}i.gullet.beginGroup();var j=[],K=[j],ee=[],ie=[],oe=T!=null?[]:void 0;function pe(){T&&i.gullet.macros.set("\\@eqnsw","1",!0)}function be(){oe&&(i.gullet.macros.get("\\df@tag")?(oe.push(i.subparse([new U4("\\df@tag")])),i.gullet.macros.set("\\df@tag",void 0,!0)):oe.push(!!T&&i.gullet.macros.get("\\@eqnsw")==="1"))}for(pe(),ie.push(zze(i));;){var ae=i.parseExpression(!1,_?"\\end":"\\\\");i.gullet.endGroup(),i.gullet.beginGroup(),ae={type:"ordgroup",mode:i.mode,body:ae},u&&(ae={type:"styling",mode:i.mode,style:u,body:[ae]}),j.push(ae);var ne=i.fetch().text;if(ne==="&"){if(P&&j.length===P){if(_||y)throw new Ci("Too many tab characters: &",i.nextToken);i.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}i.consume()}else if(ne==="\\end"){be(),j.length===1&&ae.type==="styling"&&ae.body[0].body.length===0&&(K.length>1||!A)&&K.pop(),ie.length0&&(pe+=.25),_.push({pos:pe,isDashed:ji[xi]})}for(be(b[0]),d=0;d0&&(W+=oe,seji))for(d=0;d=y)){var Gt=void 0;(p>0||s.hskipBeforeAndAfter)&&(Gt=Ya.deflt(Ft.pregap,R),Gt!==0&&(Pe=zn.makeSpan(["arraycolsep"],[]),Pe.style.width=Ri(Gt),Fe.push(Pe)));var ln=[];for(d=0;d0){for(var Dt=zn.makeLineSpan("hline",u,A),kt=zn.makeLineSpan("hdashline",u,A),On=[{type:"elem",elem:T,shift:0}];_.length>0;){var ht=_.pop(),zr=ht.pos-xe;ht.isDashed?On.push({type:"elem",elem:kt,shift:zr}):On.push({type:"elem",elem:Dt,shift:zr})}T=zn.makeVList({positionType:"individualShift",children:On},u)}if(Ie.length===0)return zn.makeSpan(["mord"],[T],u);var yt=zn.makeVList({positionType:"individualShift",children:Ie},u);return yt=zn.makeSpan(["tag"],[yt],u),zn.makeFragment([T,yt])},uVt={c:"center ",l:"left ",r:"right "},X4=function(s,u){for(var d=[],p=new vi.MathNode("mtd",[],["mtr-glue"]),v=new vi.MathNode("mtd",[],["mml-eqn-num"]),b=0;b0){var j=s.cols,K="",ee=!1,ie=0,oe=j.length;j[0].type==="separator"&&(R+="top ",ie=1),j[j.length-1].type==="separator"&&(R+="bottom ",oe-=1);for(var pe=ie;pe0?"left ":"",R+=de[de.length-1].length>0?"right ":"";for(var X=1;X-1?"alignat":"align",v=s.envName==="split",b=A9(s.parser,{cols:d,addJot:!0,autoTag:v?void 0:Cbe(s.envName),emptySingleRow:!0,colSeparationType:p,maxNumCols:v?2:void 0,leqno:s.parser.settings.leqno},"display"),y,T=0,_={type:"ordgroup",mode:s.mode,body:[]};if(u[0]&&u[0].type==="ordgroup"){for(var A="",P=0;P0&&F&&(ee=1),d[j]={type:"align",align:K,pregap:ee,postgap:0}}return b.colSeparationType=F?"align":"alignat",b};W4({type:"array",names:["array","darray"],props:{numArgs:1},handler(i,s){var u=vQ(s[0]),d=u?[s[0]]:Yo(s[0],"ordgroup").body,p=d.map(function(b){var y=dbe(b),T=y.text;if("lcr".indexOf(T)!==-1)return{type:"align",align:T};if(T==="|")return{type:"separator",separator:"|"};if(T===":")return{type:"separator",separator:":"};throw new Ci("Unknown column alignment: "+T,b)}),v={cols:p,hskipBeforeAndAfter:!0,maxNumCols:p.length};return A9(i.parser,v,Sbe(i.envName))},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(i){var s={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[i.envName.replace("*","")],u="c",d={hskipBeforeAndAfter:!1,cols:[{type:"align",align:u}]};if(i.envName.charAt(i.envName.length-1)==="*"){var p=i.parser;if(p.consumeSpaces(),p.fetch().text==="["){if(p.consume(),p.consumeSpaces(),u=p.fetch().text,"lcr".indexOf(u)===-1)throw new Ci("Expected l or c or r",p.nextToken);p.consume(),p.consumeSpaces(),p.expect("]"),p.consume(),d.cols=[{type:"align",align:u}]}}var v=A9(i.parser,d,Sbe(i.envName)),b=Math.max(0,...v.body.map(y=>y.length));return v.cols=new Array(b).fill({type:"align",align:u}),s?{type:"leftright",mode:i.mode,body:[v],left:s[0],right:s[1],rightColor:void 0}:v},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(i){var s={arraystretch:.5},u=A9(i.parser,s,"script");return u.colSeparationType="small",u},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["subarray"],props:{numArgs:1},handler(i,s){var u=vQ(s[0]),d=u?[s[0]]:Yo(s[0],"ordgroup").body,p=d.map(function(b){var y=dbe(b),T=y.text;if("lc".indexOf(T)!==-1)return{type:"align",align:T};throw new Ci("Unknown column alignment: "+T,b)});if(p.length>1)throw new Ci("{subarray} can contain only one column");var v={cols:p,hskipBeforeAndAfter:!1,arraystretch:.5};if(v=A9(i.parser,v,"script"),v.body.length>0&&v.body[0].length>1)throw new Ci("{subarray} can contain only one column");return v},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(i){var s={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},u=A9(i.parser,s,Sbe(i.envName));return{type:"leftright",mode:i.mode,body:[u],left:i.envName.indexOf("r")>-1?".":"\\{",right:i.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:qze,htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(i){Ya.contains(["gather","gather*"],i.envName)&&EQ(i);var s={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Cbe(i.envName),emptySingleRow:!0,leqno:i.parser.settings.leqno};return A9(i.parser,s,"display")},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:qze,htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(i){EQ(i);var s={autoTag:Cbe(i.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:i.parser.settings.leqno};return A9(i.parser,s,"display")},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["CD"],props:{numArgs:0},handler(i){return EQ(i),YHt(i.parser)},htmlBuilder:Y4,mathmlBuilder:X4}),et("\\nonumber","\\gdef\\@eqnsw{0}"),et("\\notag","\\nonumber"),Ji({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(i,s){throw new Ci(i.funcName+" valid only within array environment")}});var Hze=jze;Ji({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];if(p.type!=="ordgroup")throw new Ci("Invalid environment name",p);for(var v="",b=0;b{var u=i.font,d=s.withFont(u);return uu(i.body,d)},Uze=(i,s)=>{var u=i.font,d=s.withFont(u);return Ll(i.body,d)},Gze={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Ji({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=bQ(s[0]),v=d;return v in Gze&&(v=Gze[v]),{type:"font",mode:u.mode,font:v.slice(1),body:p}},htmlBuilder:Vze,mathmlBuilder:Uze}),Ji({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(i,s)=>{var{parser:u}=i,d=s[0],p=Ya.isCharacterBox(d);return{type:"mclass",mode:u.mode,mclass:yQ(d),body:[{type:"font",mode:u.mode,font:"boldsymbol",body:d}],isCharacterBox:p}}}),Ji({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(i,s)=>{var{parser:u,funcName:d,breakOnTokenText:p}=i,{mode:v}=u,b=u.parseExpression(!0,p),y="math"+d.slice(1);return{type:"font",mode:v,font:y,body:{type:"ordgroup",mode:u.mode,body:b}}},htmlBuilder:Vze,mathmlBuilder:Uze});var Kze=(i,s)=>{var u=s;return i==="display"?u=u.id>=Ta.SCRIPT.id?u.text():Ta.DISPLAY:i==="text"&&u.size===Ta.DISPLAY.size?u=Ta.TEXT:i==="script"?u=Ta.SCRIPT:i==="scriptscript"&&(u=Ta.SCRIPTSCRIPT),u},_be=(i,s)=>{var u=Kze(i.size,s.style),d=u.fracNum(),p=u.fracDen(),v;v=s.havingStyle(d);var b=uu(i.numer,v,s);if(i.continued){var y=8.5/s.fontMetrics().ptPerEm,T=3.5/s.fontMetrics().ptPerEm;b.height=b.height0?j=3*R:j=7*R,K=s.fontMetrics().denom1):(P>0?(F=s.fontMetrics().num2,j=R):(F=s.fontMetrics().num3,j=3*R),K=s.fontMetrics().denom2);var ee;if(A){var oe=s.fontMetrics().axisHeight;F-b.depth-(oe+.5*P){var u=new vi.MathNode("mfrac",[Ll(i.numer,s),Ll(i.denom,s)]);if(!i.hasBarLine)u.setAttribute("linethickness","0px");else if(i.barSize){var d=Uh(i.barSize,s);u.setAttribute("linethickness",Ri(d))}var p=Kze(i.size,s.style);if(p.size!==s.style.size){u=new vi.MathNode("mstyle",[u]);var v=p.size===Ta.DISPLAY.size?"true":"false";u.setAttribute("displaystyle",v),u.setAttribute("scriptlevel","0")}if(i.leftDelim!=null||i.rightDelim!=null){var b=[];if(i.leftDelim!=null){var y=new vi.MathNode("mo",[new vi.TextNode(i.leftDelim.replace("\\",""))]);y.setAttribute("fence","true"),b.push(y)}if(b.push(u),i.rightDelim!=null){var T=new vi.MathNode("mo",[new vi.TextNode(i.rightDelim.replace("\\",""))]);T.setAttribute("fence","true"),b.push(T)}return hbe(b)}return u};Ji({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=s[1],b,y=null,T=null,_="auto";switch(d){case"\\dfrac":case"\\frac":case"\\tfrac":b=!0;break;case"\\\\atopfrac":b=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":b=!1,y="(",T=")";break;case"\\\\bracefrac":b=!1,y="\\{",T="\\}";break;case"\\\\brackfrac":b=!1,y="[",T="]";break;default:throw new Error("Unrecognized genfrac command")}switch(d){case"\\dfrac":case"\\dbinom":_="display";break;case"\\tfrac":case"\\tbinom":_="text";break}return{type:"genfrac",mode:u.mode,continued:!1,numer:p,denom:v,hasBarLine:b,leftDelim:y,rightDelim:T,size:_,barSize:null}},htmlBuilder:_be,mathmlBuilder:Abe}),Ji({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=s[1];return{type:"genfrac",mode:u.mode,continued:!0,numer:p,denom:v,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),Ji({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(i){var{parser:s,funcName:u,token:d}=i,p;switch(u){case"\\over":p="\\frac";break;case"\\choose":p="\\binom";break;case"\\atop":p="\\\\atopfrac";break;case"\\brace":p="\\\\bracefrac";break;case"\\brack":p="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:s.mode,replaceWith:p,token:d}}});var Wze=["display","text","script","scriptscript"],Yze=function(s){var u=null;return s.length>0&&(u=s,u=u==="."?null:u),u};Ji({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(i,s){var{parser:u}=i,d=s[4],p=s[5],v=bQ(s[0]),b=v.type==="atom"&&v.family==="open"?Yze(v.text):null,y=bQ(s[1]),T=y.type==="atom"&&y.family==="close"?Yze(y.text):null,_=Yo(s[2],"size"),A,P=null;_.isBlank?A=!0:(P=_.value,A=P.number>0);var R="auto",F=s[3];if(F.type==="ordgroup"){if(F.body.length>0){var j=Yo(F.body[0],"textord");R=Wze[Number(j.text)]}}else F=Yo(F,"textord"),R=Wze[Number(F.text)];return{type:"genfrac",mode:u.mode,numer:d,denom:p,continued:!1,hasBarLine:A,barSize:P,leftDelim:b,rightDelim:T,size:R}},htmlBuilder:_be,mathmlBuilder:Abe}),Ji({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(i,s){var{parser:u,funcName:d,token:p}=i;return{type:"infix",mode:u.mode,replaceWith:"\\\\abovefrac",size:Yo(s[0],"size").value,token:p}}}),Ji({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=$qt(Yo(s[1],"infix").size),b=s[2],y=v.number>0;return{type:"genfrac",mode:u.mode,numer:p,denom:b,continued:!1,hasBarLine:y,barSize:v,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:_be,mathmlBuilder:Abe});var Xze=(i,s)=>{var u=s.style,d,p;i.type==="supsub"?(d=i.sup?uu(i.sup,s.havingStyle(u.sup()),s):uu(i.sub,s.havingStyle(u.sub()),s),p=Yo(i.base,"horizBrace")):p=Yo(i,"horizBrace");var v=uu(p.base,s.havingBaseStyle(Ta.DISPLAY)),b=P7.svgSpan(p,s),y;if(p.isOver?(y=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:.1},{type:"elem",elem:b}]},s),y.children[0].children[0].children[1].classes.push("svg-align")):(y=zn.makeVList({positionType:"bottom",positionData:v.depth+.1+b.height,children:[{type:"elem",elem:b},{type:"kern",size:.1},{type:"elem",elem:v}]},s),y.children[0].children[0].children[0].classes.push("svg-align")),d){var T=zn.makeSpan(["mord",p.isOver?"mover":"munder"],[y],s);p.isOver?y=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:T},{type:"kern",size:.2},{type:"elem",elem:d}]},s):y=zn.makeVList({positionType:"bottom",positionData:T.depth+.2+d.height+d.depth,children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:T}]},s)}return zn.makeSpan(["mord",p.isOver?"mover":"munder"],[y],s)},lVt=(i,s)=>{var u=P7.mathMLnode(i.label);return new vi.MathNode(i.isOver?"mover":"munder",[Ll(i.base,s),u])};Ji({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i;return{type:"horizBrace",mode:u.mode,label:d,isOver:/^\\over/.test(d),base:s[0]}},htmlBuilder:Xze,mathmlBuilder:lVt}),Ji({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[1],p=Yo(s[0],"url").url;return u.settings.isTrusted({command:"\\href",url:p})?{type:"href",mode:u.mode,href:p,body:Xf(d)}:u.formatUnsupportedCmd("\\href")},htmlBuilder:(i,s)=>{var u=d1(i.body,s,!1);return zn.makeAnchor(i.href,[],u,s)},mathmlBuilder:(i,s)=>{var u=_9(i.body,s);return u instanceof Fv||(u=new Fv("mrow",[u])),u.setAttribute("href",i.href),u}}),Ji({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=Yo(s[0],"url").url;if(!u.settings.isTrusted({command:"\\url",url:d}))return u.formatUnsupportedCmd("\\url");for(var p=[],v=0;v{var{parser:u,funcName:d,token:p}=i,v=Yo(s[0],"raw").string,b=s[1];u.settings.strict&&u.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var y,T={};switch(d){case"\\htmlClass":T.class=v,y={command:"\\htmlClass",class:v};break;case"\\htmlId":T.id=v,y={command:"\\htmlId",id:v};break;case"\\htmlStyle":T.style=v,y={command:"\\htmlStyle",style:v};break;case"\\htmlData":{for(var _=v.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length!==2)throw new Ci("Error parsing key-value for \\htmlData");T["data-"+P[0].trim()]=P[1].trim()}y={command:"\\htmlData",attributes:T};break}default:throw new Error("Unrecognized html command")}return u.settings.isTrusted(y)?{type:"html",mode:u.mode,attributes:T,body:Xf(b)}:u.formatUnsupportedCmd(d)},htmlBuilder:(i,s)=>{var u=d1(i.body,s,!1),d=["enclosing"];i.attributes.class&&d.push(...i.attributes.class.trim().split(/\s+/));var p=zn.makeSpan(d,u,s);for(var v in i.attributes)v!=="class"&&i.attributes.hasOwnProperty(v)&&p.setAttribute(v,i.attributes[v]);return p},mathmlBuilder:(i,s)=>_9(i.body,s)}),Ji({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i;return{type:"htmlmathml",mode:u.mode,html:Xf(s[0]),mathml:Xf(s[1])}},htmlBuilder:(i,s)=>{var u=d1(i.html,s,!1);return zn.makeFragment(u)},mathmlBuilder:(i,s)=>_9(i.mathml,s)});var Lbe=function(s){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(s))return{number:+s,unit:"bp"};var u=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(s);if(!u)throw new Ci("Invalid size: '"+s+"' in \\includegraphics");var d={number:+(u[1]+u[2]),unit:u[3]};if(!J$e(d))throw new Ci("Invalid unit: '"+d.unit+"' in \\includegraphics.");return d};Ji({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(i,s,u)=>{var{parser:d}=i,p={number:0,unit:"em"},v={number:.9,unit:"em"},b={number:0,unit:"em"},y="";if(u[0])for(var T=Yo(u[0],"raw").string,_=T.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length===2){var R=P[1].trim();switch(P[0].trim()){case"alt":y=R;break;case"width":p=Lbe(R);break;case"height":v=Lbe(R);break;case"totalheight":b=Lbe(R);break;default:throw new Ci("Invalid key: '"+P[0]+"' in \\includegraphics.")}}}var F=Yo(s[0],"url").url;return y===""&&(y=F,y=y.replace(/^.*[\\/]/,""),y=y.substring(0,y.lastIndexOf("."))),d.settings.isTrusted({command:"\\includegraphics",url:F})?{type:"includegraphics",mode:d.mode,alt:y,width:p,height:v,totalheight:b,src:F}:d.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(i,s)=>{var u=Uh(i.height,s),d=0;i.totalheight.number>0&&(d=Uh(i.totalheight,s)-u);var p=0;i.width.number>0&&(p=Uh(i.width,s));var v={height:Ri(u+d)};p>0&&(v.width=Ri(p)),d>0&&(v.verticalAlign=Ri(-d));var b=new lHt(i.src,i.alt,v);return b.height=u,b.depth=d,b},mathmlBuilder:(i,s)=>{var u=new vi.MathNode("mglyph",[]);u.setAttribute("alt",i.alt);var d=Uh(i.height,s),p=0;if(i.totalheight.number>0&&(p=Uh(i.totalheight,s)-d,u.setAttribute("valign",Ri(-p))),u.setAttribute("height",Ri(d+p)),i.width.number>0){var v=Uh(i.width,s);u.setAttribute("width",Ri(v))}return u.setAttribute("src",i.src),u}}),Ji({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(i,s){var{parser:u,funcName:d}=i,p=Yo(s[0],"size");if(u.settings.strict){var v=d[1]==="m",b=p.value.unit==="mu";v?(b||u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" supports only mu units, "+("not "+p.value.unit+" units")),u.mode!=="math"&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" works only in math mode")):b&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" doesn't support mu units")}return{type:"kern",mode:u.mode,dimension:p.value}},htmlBuilder(i,s){return zn.makeGlue(i.dimension,s)},mathmlBuilder(i,s){var u=Uh(i.dimension,s);return new vi.SpaceNode(u)}}),Ji({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"lap",mode:u.mode,alignment:d.slice(5),body:p}},htmlBuilder:(i,s)=>{var u;i.alignment==="clap"?(u=zn.makeSpan([],[uu(i.body,s)]),u=zn.makeSpan(["inner"],[u],s)):u=zn.makeSpan(["inner"],[uu(i.body,s)]);var d=zn.makeSpan(["fix"],[]),p=zn.makeSpan([i.alignment],[u,d],s),v=zn.makeSpan(["strut"]);return v.style.height=Ri(p.height+p.depth),p.depth&&(v.style.verticalAlign=Ri(-p.depth)),p.children.unshift(v),p=zn.makeSpan(["thinbox"],[p],s),zn.makeSpan(["mord","vbox"],[p],s)},mathmlBuilder:(i,s)=>{var u=new vi.MathNode("mpadded",[Ll(i.body,s)]);if(i.alignment!=="rlap"){var d=i.alignment==="llap"?"-1":"-0.5";u.setAttribute("lspace",d+"width")}return u.setAttribute("width","0px"),u}}),Ji({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,s){var{funcName:u,parser:d}=i,p=d.mode;d.switchMode("math");var v=u==="\\("?"\\)":"$",b=d.parseExpression(!1,v);return d.expect(v),d.switchMode(p),{type:"styling",mode:d.mode,style:"text",body:b}}}),Ji({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,s){throw new Ci("Mismatched "+i.funcName)}});var Qze=(i,s)=>{switch(s.style.size){case Ta.DISPLAY.size:return i.display;case Ta.TEXT.size:return i.text;case Ta.SCRIPT.size:return i.script;case Ta.SCRIPTSCRIPT.size:return i.scriptscript;default:return i.text}};Ji({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(i,s)=>{var{parser:u}=i;return{type:"mathchoice",mode:u.mode,display:Xf(s[0]),text:Xf(s[1]),script:Xf(s[2]),scriptscript:Xf(s[3])}},htmlBuilder:(i,s)=>{var u=Qze(i,s),d=d1(u,s,!1);return zn.makeFragment(d)},mathmlBuilder:(i,s)=>{var u=Qze(i,s);return _9(u,s)}});var Jze=(i,s,u,d,p,v,b)=>{i=zn.makeSpan([],[i]);var y=u&&Ya.isCharacterBox(u),T,_;if(s){var A=uu(s,d.havingStyle(p.sup()),d);_={elem:A,kern:Math.max(d.fontMetrics().bigOpSpacing1,d.fontMetrics().bigOpSpacing3-A.depth)}}if(u){var P=uu(u,d.havingStyle(p.sub()),d);T={elem:P,kern:Math.max(d.fontMetrics().bigOpSpacing2,d.fontMetrics().bigOpSpacing4-P.height)}}var R;if(_&&T){var F=d.fontMetrics().bigOpSpacing5+T.elem.height+T.elem.depth+T.kern+i.depth+b;R=zn.makeVList({positionType:"bottom",positionData:F,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:T.elem,marginLeft:Ri(-v)},{type:"kern",size:T.kern},{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:Ri(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]},d)}else if(T){var j=i.height-b;R=zn.makeVList({positionType:"top",positionData:j,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:T.elem,marginLeft:Ri(-v)},{type:"kern",size:T.kern},{type:"elem",elem:i}]},d)}else if(_){var K=i.depth+b;R=zn.makeVList({positionType:"bottom",positionData:K,children:[{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:Ri(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]},d)}else return i;var ee=[R];if(T&&v!==0&&!y){var ie=zn.makeSpan(["mspace"],[],d);ie.style.marginRight=Ri(v),ee.unshift(ie)}return zn.makeSpan(["mop","op-limits"],ee,d)},Zze=["\\smallint"],PD=(i,s)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Yo(i.base,"op"),p=!0):v=Yo(i,"op");var b=s.style,y=!1;b.size===Ta.DISPLAY.size&&v.symbol&&!Ya.contains(Zze,v.name)&&(y=!0);var T;if(v.symbol){var _=y?"Size2-Regular":"Size1-Regular",A="";if((v.name==="\\oiint"||v.name==="\\oiiint")&&(A=v.name.slice(1),v.name=A==="oiint"?"\\iint":"\\iiint"),T=zn.makeSymbol(v.name,_,"math",s,["mop","op-symbol",y?"large-op":"small-op"]),A.length>0){var P=T.italic,R=zn.staticSvg(A+"Size"+(y?"2":"1"),s);T=zn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:T,shift:0},{type:"elem",elem:R,shift:y?.08:0}]},s),v.name="\\"+A,T.classes.unshift("mop"),T.italic=P}}else if(v.body){var F=d1(v.body,s,!0);F.length===1&&F[0]instanceof Bv?(T=F[0],T.classes[0]="mop"):T=zn.makeSpan(["mop"],F,s)}else{for(var j=[],K=1;K{var u;if(i.symbol)u=new Fv("mo",[Rv(i.name,i.mode)]),Ya.contains(Zze,i.name)&&u.setAttribute("largeop","false");else if(i.body)u=new Fv("mo",j2(i.body,s));else{u=new Fv("mi",[new lR(i.name.slice(1))]);var d=new Fv("mo",[Rv("⁡","text")]);i.parentIsSupSub?u=new Fv("mrow",[u,d]):u=bze([u,d])}return u},hVt={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Ji({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=d;return p.length===1&&(p=hVt[p]),{type:"op",mode:u.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:p}},htmlBuilder:PD,mathmlBuilder:dR}),Ji({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"op",mode:u.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Xf(d)}},htmlBuilder:PD,mathmlBuilder:dR});var fVt={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Ji({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i;return{type:"op",mode:s.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:PD,mathmlBuilder:dR}),Ji({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i;return{type:"op",mode:s.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:PD,mathmlBuilder:dR}),Ji({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i,d=u;return d.length===1&&(d=fVt[d]),{type:"op",mode:s.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:d}},htmlBuilder:PD,mathmlBuilder:dR});var eqe=(i,s)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Yo(i.base,"operatorname"),p=!0):v=Yo(i,"operatorname");var b;if(v.body.length>0){for(var y=v.body.map(P=>{var R=P.text;return typeof R=="string"?{type:"textord",mode:P.mode,text:R}:P}),T=d1(y,s.withFont("mathrm"),!0),_=0;_{for(var u=j2(i.body,s.withFont("mathrm")),d=!0,p=0;pA.toText()).join("");u=[new vi.TextNode(y)]}var T=new vi.MathNode("mi",u);T.setAttribute("mathvariant","normal");var _=new vi.MathNode("mo",[Rv("⁡","text")]);return i.parentIsSupSub?new vi.MathNode("mrow",[T,_]):vi.newDocumentFragment([T,_])};Ji({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"operatorname",mode:u.mode,body:Xf(p),alwaysHandleSupSub:d==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:eqe,mathmlBuilder:dVt}),et("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),zC({type:"ordgroup",htmlBuilder(i,s){return i.semisimple?zn.makeFragment(d1(i.body,s,!1)):zn.makeSpan(["mord"],d1(i.body,s,!0),s)},mathmlBuilder(i,s){return _9(i.body,s,!0)}}),Ji({type:"overline",names:["\\overline"],props:{numArgs:1},handler(i,s){var{parser:u}=i,d=s[0];return{type:"overline",mode:u.mode,body:d}},htmlBuilder(i,s){var u=uu(i.body,s.havingCrampedStyle()),d=zn.makeLineSpan("overline-line",s),p=s.fontMetrics().defaultRuleThickness,v=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:3*p},{type:"elem",elem:d},{type:"kern",size:p}]},s);return zn.makeSpan(["mord","overline"],[v],s)},mathmlBuilder(i,s){var u=new vi.MathNode("mo",[new vi.TextNode("‾")]);u.setAttribute("stretchy","true");var d=new vi.MathNode("mover",[Ll(i.body,s),u]);return d.setAttribute("accent","true"),d}}),Ji({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"phantom",mode:u.mode,body:Xf(d)}},htmlBuilder:(i,s)=>{var u=d1(i.body,s.withPhantom(),!1);return zn.makeFragment(u)},mathmlBuilder:(i,s)=>{var u=j2(i.body,s);return new vi.MathNode("mphantom",u)}}),Ji({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"hphantom",mode:u.mode,body:d}},htmlBuilder:(i,s)=>{var u=zn.makeSpan([],[uu(i.body,s.withPhantom())]);if(u.height=0,u.depth=0,u.children)for(var d=0;d{var u=j2(Xf(i.body),s),d=new vi.MathNode("mphantom",u),p=new vi.MathNode("mpadded",[d]);return p.setAttribute("height","0px"),p.setAttribute("depth","0px"),p}}),Ji({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"vphantom",mode:u.mode,body:d}},htmlBuilder:(i,s)=>{var u=zn.makeSpan(["inner"],[uu(i.body,s.withPhantom())]),d=zn.makeSpan(["fix"],[]);return zn.makeSpan(["mord","rlap"],[u,d],s)},mathmlBuilder:(i,s)=>{var u=j2(Xf(i.body),s),d=new vi.MathNode("mphantom",u),p=new vi.MathNode("mpadded",[d]);return p.setAttribute("width","0px"),p}}),Ji({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(i,s){var{parser:u}=i,d=Yo(s[0],"size").value,p=s[1];return{type:"raisebox",mode:u.mode,dy:d,body:p}},htmlBuilder(i,s){var u=uu(i.body,s),d=Uh(i.dy,s);return zn.makeVList({positionType:"shift",positionData:-d,children:[{type:"elem",elem:u}]},s)},mathmlBuilder(i,s){var u=new vi.MathNode("mpadded",[Ll(i.body,s)]),d=i.dy.number+i.dy.unit;return u.setAttribute("voffset",d),u}}),Ji({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:s}=i;return{type:"internal",mode:s.mode}}}),Ji({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(i,s,u){var{parser:d}=i,p=u[0],v=Yo(s[0],"size"),b=Yo(s[1],"size");return{type:"rule",mode:d.mode,shift:p&&Yo(p,"size").value,width:v.value,height:b.value}},htmlBuilder(i,s){var u=zn.makeSpan(["mord","rule"],[],s),d=Uh(i.width,s),p=Uh(i.height,s),v=i.shift?Uh(i.shift,s):0;return u.style.borderRightWidth=Ri(d),u.style.borderTopWidth=Ri(p),u.style.bottom=Ri(v),u.width=d,u.height=p+v,u.depth=-v,u.maxFontSize=p*1.125*s.sizeMultiplier,u},mathmlBuilder(i,s){var u=Uh(i.width,s),d=Uh(i.height,s),p=i.shift?Uh(i.shift,s):0,v=s.color&&s.getColor()||"black",b=new vi.MathNode("mspace");b.setAttribute("mathbackground",v),b.setAttribute("width",Ri(u)),b.setAttribute("height",Ri(d));var y=new vi.MathNode("mpadded",[b]);return p>=0?y.setAttribute("height",Ri(p)):(y.setAttribute("height",Ri(p)),y.setAttribute("depth",Ri(-p))),y.setAttribute("voffset",Ri(p)),y}});function tqe(i,s,u){for(var d=d1(i,s,!1),p=s.sizeMultiplier/u.sizeMultiplier,v=0;v{var u=s.havingSize(i.size);return tqe(i.body,u,s)};Ji({type:"sizing",names:nqe,props:{numArgs:0,allowedInText:!0},handler:(i,s)=>{var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!1,u);return{type:"sizing",mode:p.mode,size:nqe.indexOf(d)+1,body:v}},htmlBuilder:gVt,mathmlBuilder:(i,s)=>{var u=s.havingSize(i.size),d=j2(i.body,u),p=new vi.MathNode("mstyle",d);return p.setAttribute("mathsize",Ri(u.sizeMultiplier)),p}}),Ji({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(i,s,u)=>{var{parser:d}=i,p=!1,v=!1,b=u[0]&&Yo(u[0],"ordgroup");if(b)for(var y="",T=0;T{var u=zn.makeSpan([],[uu(i.body,s)]);if(!i.smashHeight&&!i.smashDepth)return u;if(i.smashHeight&&(u.height=0,u.children))for(var d=0;d{var u=new vi.MathNode("mpadded",[Ll(i.body,s)]);return i.smashHeight&&u.setAttribute("height","0px"),i.smashDepth&&u.setAttribute("depth","0px"),u}}),Ji({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(i,s,u){var{parser:d}=i,p=u[0],v=s[0];return{type:"sqrt",mode:d.mode,body:v,index:p}},htmlBuilder(i,s){var u=uu(i.body,s.havingCrampedStyle());u.height===0&&(u.height=s.fontMetrics().xHeight),u=zn.wrapFragment(u,s);var d=s.fontMetrics(),p=d.defaultRuleThickness,v=p;s.style.idu.height+u.depth+b&&(b=(b+P-u.height-u.depth)/2);var R=T.height-u.height-b-_;u.style.paddingLeft=Ri(A);var F=zn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u,wrapperClasses:["svg-align"]},{type:"kern",size:-(u.height+R)},{type:"elem",elem:T},{type:"kern",size:_}]},s);if(i.index){var j=s.havingStyle(Ta.SCRIPTSCRIPT),K=uu(i.index,j,s),ee=.6*(F.height-F.depth),ie=zn.makeVList({positionType:"shift",positionData:-ee,children:[{type:"elem",elem:K}]},s),oe=zn.makeSpan(["root"],[ie]);return zn.makeSpan(["mord","sqrt"],[oe,F],s)}else return zn.makeSpan(["mord","sqrt"],[F],s)},mathmlBuilder(i,s){var{body:u,index:d}=i;return d?new vi.MathNode("mroot",[Ll(u,s),Ll(d,s)]):new vi.MathNode("msqrt",[Ll(u,s)])}});var rqe={display:Ta.DISPLAY,text:Ta.TEXT,script:Ta.SCRIPT,scriptscript:Ta.SCRIPTSCRIPT};Ji({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i,s){var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!0,u),b=d.slice(1,d.length-5);return{type:"styling",mode:p.mode,style:b,body:v}},htmlBuilder(i,s){var u=rqe[i.style],d=s.havingStyle(u).withFont("");return tqe(i.body,d,s)},mathmlBuilder(i,s){var u=rqe[i.style],d=s.havingStyle(u),p=j2(i.body,d),v=new vi.MathNode("mstyle",p),b={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},y=b[i.style];return v.setAttribute("scriptlevel",y[0]),v.setAttribute("displaystyle",y[1]),v}});var pVt=function(s,u){var d=s.base;if(d)if(d.type==="op"){var p=d.limits&&(u.style.size===Ta.DISPLAY.size||d.alwaysHandleSupSub);return p?PD:null}else if(d.type==="operatorname"){var v=d.alwaysHandleSupSub&&(u.style.size===Ta.DISPLAY.size||d.limits);return v?eqe:null}else{if(d.type==="accent")return Ya.isCharacterBox(d.base)?gbe:null;if(d.type==="horizBrace"){var b=!s.sub;return b===d.isOver?Xze:null}else return null}else return null};zC({type:"supsub",htmlBuilder(i,s){var u=pVt(i,s);if(u)return u(i,s);var{base:d,sup:p,sub:v}=i,b=uu(d,s),y,T,_=s.fontMetrics(),A=0,P=0,R=d&&Ya.isCharacterBox(d);if(p){var F=s.havingStyle(s.style.sup());y=uu(p,F,s),R||(A=b.height-F.fontMetrics().supDrop*F.sizeMultiplier/s.sizeMultiplier)}if(v){var j=s.havingStyle(s.style.sub());T=uu(v,j,s),R||(P=b.depth+j.fontMetrics().subDrop*j.sizeMultiplier/s.sizeMultiplier)}var K;s.style===Ta.DISPLAY?K=_.sup1:s.style.cramped?K=_.sup3:K=_.sup2;var ee=s.sizeMultiplier,ie=Ri(.5/_.ptPerEm/ee),oe=null;if(T){var pe=i.base&&i.base.type==="op"&&i.base.name&&(i.base.name==="\\oiint"||i.base.name==="\\oiiint");(b instanceof Bv||pe)&&(oe=Ri(-b.italic))}var be;if(y&&T){A=Math.max(A,K,y.depth+.25*_.xHeight),P=Math.max(P,_.sub2);var ae=_.defaultRuleThickness,ne=4*ae;if(A-y.depth-(T.height-P)0&&(A+=se,P-=se)}var de=[{type:"elem",elem:T,shift:P,marginRight:ie,marginLeft:oe},{type:"elem",elem:y,shift:-A,marginRight:ie}];be=zn.makeVList({positionType:"individualShift",children:de},s)}else if(T){P=Math.max(P,_.sub1,T.height-.8*_.xHeight);var X=[{type:"elem",elem:T,marginLeft:oe,marginRight:ie}];be=zn.makeVList({positionType:"shift",positionData:P,children:X},s)}else if(y)A=Math.max(A,K,y.depth+.25*_.xHeight),be=zn.makeVList({positionType:"shift",positionData:-A,children:[{type:"elem",elem:y,marginRight:ie}]},s);else throw new Error("supsub must have either sup or sub.");var ge=ube(b,"right")||"mord";return zn.makeSpan([ge],[b,zn.makeSpan(["msupsub"],[be])],s)},mathmlBuilder(i,s){var u=!1,d,p;i.base&&i.base.type==="horizBrace"&&(p=!!i.sup,p===i.base.isOver&&(u=!0,d=i.base.isOver)),i.base&&(i.base.type==="op"||i.base.type==="operatorname")&&(i.base.parentIsSupSub=!0);var v=[Ll(i.base,s)];i.sub&&v.push(Ll(i.sub,s)),i.sup&&v.push(Ll(i.sup,s));var b;if(u)b=d?"mover":"munder";else if(i.sub)if(i.sup){var _=i.base;_&&_.type==="op"&&_.limits&&s.style===Ta.DISPLAY||_&&_.type==="operatorname"&&_.alwaysHandleSupSub&&(s.style===Ta.DISPLAY||_.limits)?b="munderover":b="msubsup"}else{var T=i.base;T&&T.type==="op"&&T.limits&&(s.style===Ta.DISPLAY||T.alwaysHandleSupSub)||T&&T.type==="operatorname"&&T.alwaysHandleSupSub&&(T.limits||s.style===Ta.DISPLAY)?b="munder":b="msub"}else{var y=i.base;y&&y.type==="op"&&y.limits&&(s.style===Ta.DISPLAY||y.alwaysHandleSupSub)||y&&y.type==="operatorname"&&y.alwaysHandleSupSub&&(y.limits||s.style===Ta.DISPLAY)?b="mover":b="msup"}return new vi.MathNode(b,v)}}),zC({type:"atom",htmlBuilder(i,s){return zn.mathsym(i.text,i.mode,s,["m"+i.family])},mathmlBuilder(i,s){var u=new vi.MathNode("mo",[Rv(i.text,i.mode)]);if(i.family==="bin"){var d=fbe(i,s);d==="bold-italic"&&u.setAttribute("mathvariant",d)}else i.family==="punct"?u.setAttribute("separator","true"):(i.family==="open"||i.family==="close")&&u.setAttribute("stretchy","false");return u}});var iqe={mi:"italic",mn:"normal",mtext:"normal"};zC({type:"mathord",htmlBuilder(i,s){return zn.makeOrd(i,s,"mathord")},mathmlBuilder(i,s){var u=new vi.MathNode("mi",[Rv(i.text,i.mode,s)]),d=fbe(i,s)||"italic";return d!==iqe[u.type]&&u.setAttribute("mathvariant",d),u}}),zC({type:"textord",htmlBuilder(i,s){return zn.makeOrd(i,s,"textord")},mathmlBuilder(i,s){var u=Rv(i.text,i.mode,s),d=fbe(i,s)||"normal",p;return i.mode==="text"?p=new vi.MathNode("mtext",[u]):/[0-9]/.test(i.text)?p=new vi.MathNode("mn",[u]):i.text==="\\prime"?p=new vi.MathNode("mo",[u]):p=new vi.MathNode("mi",[u]),d!==iqe[p.type]&&p.setAttribute("mathvariant",d),p}});var Mbe={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Dbe={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};zC({type:"spacing",htmlBuilder(i,s){if(Dbe.hasOwnProperty(i.text)){var u=Dbe[i.text].className||"";if(i.mode==="text"){var d=zn.makeOrd(i,s,"textord");return d.classes.push(u),d}else return zn.makeSpan(["mspace",u],[zn.mathsym(i.text,i.mode,s)],s)}else{if(Mbe.hasOwnProperty(i.text))return zn.makeSpan(["mspace",Mbe[i.text]],[],s);throw new Ci('Unknown type of space "'+i.text+'"')}},mathmlBuilder(i,s){var u;if(Dbe.hasOwnProperty(i.text))u=new vi.MathNode("mtext",[new vi.TextNode(" ")]);else{if(Mbe.hasOwnProperty(i.text))return new vi.MathNode("mspace");throw new Ci('Unknown type of space "'+i.text+'"')}return u}});var sqe=()=>{var i=new vi.MathNode("mtd",[]);return i.setAttribute("width","50%"),i};zC({type:"tag",mathmlBuilder(i,s){var u=new vi.MathNode("mtable",[new vi.MathNode("mtr",[sqe(),new vi.MathNode("mtd",[_9(i.body,s)]),sqe(),new vi.MathNode("mtd",[_9(i.tag,s)])])]);return u.setAttribute("width","100%"),u}});var aqe={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},oqe={"\\textbf":"textbf","\\textmd":"textmd"},bVt={"\\textit":"textit","\\textup":"textup"},cqe=(i,s)=>{var u=i.font;return u?aqe[u]?s.withTextFontFamily(aqe[u]):oqe[u]?s.withTextFontWeight(oqe[u]):s.withTextFontShape(bVt[u]):s};Ji({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"text",mode:u.mode,body:Xf(p),font:d}},htmlBuilder(i,s){var u=cqe(i,s),d=d1(i.body,u,!0);return zn.makeSpan(["mord","text"],d,u)},mathmlBuilder(i,s){var u=cqe(i,s);return _9(i.body,u)}}),Ji({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"underline",mode:u.mode,body:s[0]}},htmlBuilder(i,s){var u=uu(i.body,s),d=zn.makeLineSpan("underline-line",s),p=s.fontMetrics().defaultRuleThickness,v=zn.makeVList({positionType:"top",positionData:u.height,children:[{type:"kern",size:p},{type:"elem",elem:d},{type:"kern",size:3*p},{type:"elem",elem:u}]},s);return zn.makeSpan(["mord","underline"],[v],s)},mathmlBuilder(i,s){var u=new vi.MathNode("mo",[new vi.TextNode("‾")]);u.setAttribute("stretchy","true");var d=new vi.MathNode("munder",[Ll(i.body,s),u]);return d.setAttribute("accentunder","true"),d}}),Ji({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(i,s){var{parser:u}=i;return{type:"vcenter",mode:u.mode,body:s[0]}},htmlBuilder(i,s){var u=uu(i.body,s),d=s.fontMetrics().axisHeight,p=.5*(u.height-d-(u.depth+d));return zn.makeVList({positionType:"shift",positionData:p,children:[{type:"elem",elem:u}]},s)},mathmlBuilder(i,s){return new vi.MathNode("mpadded",[Ll(i.body,s)],["vcenter"])}}),Ji({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(i,s,u){throw new Ci("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(i,s){for(var u=uqe(i),d=[],p=s.havingStyle(s.style.text()),v=0;vi.body.replace(/ /g,i.star?"␣":" "),L9=dze,lqe=`[ \r + ]`,mVt="\\\\[a-zA-Z@]+",vVt="\\\\[^\uD800-\uDFFF]",wVt="("+mVt+")"+lqe+"*",yVt=`\\\\( +|[ \r ]+ +?)[ \r ]*`,Ibe="[̀-ͯ]",xVt=new RegExp(Ibe+"+$"),kVt="("+lqe+"+)|"+(yVt+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(Ibe+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Ibe+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+wVt)+("|"+vVt+")");class hqe{constructor(s,u){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=s,this.settings=u,this.tokenRegex=new RegExp(kVt,"g"),this.catcodes={"%":14,"~":13}}setCatcode(s,u){this.catcodes[s]=u}lex(){var s=this.input,u=this.tokenRegex.lastIndex;if(u===s.length)return new U4("EOF",new lm(this,u,u));var d=this.tokenRegex.exec(s);if(d===null||d.index!==u)throw new Ci("Unexpected character: '"+s[u]+"'",new U4(s[u],new lm(this,u,u+1)));var p=d[6]||d[3]||(d[2]?"\\ ":" ");if(this.catcodes[p]===14){var v=s.indexOf(` +`,this.tokenRegex.lastIndex);return v===-1?(this.tokenRegex.lastIndex=s.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=v+1,this.lex()}return new U4(p,new lm(this,u,this.tokenRegex.lastIndex))}}class EVt{constructor(s,u){s===void 0&&(s={}),u===void 0&&(u={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=u,this.builtins=s,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new Ci("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var s=this.undefStack.pop();for(var u in s)s.hasOwnProperty(u)&&(s[u]==null?delete this.current[u]:this.current[u]=s[u])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(s){return this.current.hasOwnProperty(s)||this.builtins.hasOwnProperty(s)}get(s){return this.current.hasOwnProperty(s)?this.current[s]:this.builtins[s]}set(s,u,d){if(d===void 0&&(d=!1),d){for(var p=0;p0&&(this.undefStack[this.undefStack.length-1][s]=u)}else{var v=this.undefStack[this.undefStack.length-1];v&&!v.hasOwnProperty(s)&&(v[s]=this.current[s])}u==null?delete this.current[s]:this.current[s]=u}}var TVt=$ze;et("\\noexpand",function(i){var s=i.popToken();return i.isExpandable(s.text)&&(s.noexpand=!0,s.treatAsRelax=!0),{tokens:[s],numArgs:0}}),et("\\expandafter",function(i){var s=i.popToken();return i.expandOnce(!0),{tokens:[s],numArgs:0}}),et("\\@firstoftwo",function(i){var s=i.consumeArgs(2);return{tokens:s[0],numArgs:0}}),et("\\@secondoftwo",function(i){var s=i.consumeArgs(2);return{tokens:s[1],numArgs:0}}),et("\\@ifnextchar",function(i){var s=i.consumeArgs(3);i.consumeSpaces();var u=i.future();return s[0].length===1&&s[0][0].text===u.text?{tokens:s[1],numArgs:0}:{tokens:s[2],numArgs:0}}),et("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),et("\\TextOrMath",function(i){var s=i.consumeArgs(2);return i.mode==="text"?{tokens:s[0],numArgs:0}:{tokens:s[1],numArgs:0}});var fqe={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};et("\\char",function(i){var s=i.popToken(),u,d="";if(s.text==="'")u=8,s=i.popToken();else if(s.text==='"')u=16,s=i.popToken();else if(s.text==="`")if(s=i.popToken(),s.text[0]==="\\")d=s.text.charCodeAt(1);else{if(s.text==="EOF")throw new Ci("\\char` missing argument");d=s.text.charCodeAt(0)}else u=10;if(u){if(d=fqe[s.text],d==null||d>=u)throw new Ci("Invalid base-"+u+" digit "+s.text);for(var p;(p=fqe[i.future().text])!=null&&p{var d=i.consumeArg().tokens;if(d.length!==1)throw new Ci("\\newcommand's first argument must be a macro name");var p=d[0].text,v=i.isDefined(p);if(v&&!s)throw new Ci("\\newcommand{"+p+"} attempting to redefine "+(p+"; use \\renewcommand"));if(!v&&!u)throw new Ci("\\renewcommand{"+p+"} when command "+p+" does not yet exist; use \\newcommand");var b=0;if(d=i.consumeArg().tokens,d.length===1&&d[0].text==="["){for(var y="",T=i.expandNextToken();T.text!=="]"&&T.text!=="EOF";)y+=T.text,T=i.expandNextToken();if(!y.match(/^\s*[0-9]+\s*$/))throw new Ci("Invalid number of arguments: "+y);b=parseInt(y),d=i.consumeArg().tokens}return i.macros.set(p,{tokens:d,numArgs:b}),""};et("\\newcommand",i=>Obe(i,!1,!0)),et("\\renewcommand",i=>Obe(i,!0,!1)),et("\\providecommand",i=>Obe(i,!0,!0)),et("\\message",i=>{var s=i.consumeArgs(1)[0];return console.log(s.reverse().map(u=>u.text).join("")),""}),et("\\errmessage",i=>{var s=i.consumeArgs(1)[0];return console.error(s.reverse().map(u=>u.text).join("")),""}),et("\\show",i=>{var s=i.popToken(),u=s.text;return console.log(s,i.macros.get(u),L9[u],Ul.math[u],Ul.text[u]),""}),et("\\bgroup","{"),et("\\egroup","}"),et("~","\\nobreakspace"),et("\\lq","`"),et("\\rq","'"),et("\\aa","\\r a"),et("\\AA","\\r A"),et("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),et("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),et("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),et("ℬ","\\mathscr{B}"),et("ℰ","\\mathscr{E}"),et("ℱ","\\mathscr{F}"),et("ℋ","\\mathscr{H}"),et("ℐ","\\mathscr{I}"),et("ℒ","\\mathscr{L}"),et("ℳ","\\mathscr{M}"),et("ℛ","\\mathscr{R}"),et("ℭ","\\mathfrak{C}"),et("ℌ","\\mathfrak{H}"),et("ℨ","\\mathfrak{Z}"),et("\\Bbbk","\\Bbb{k}"),et("·","\\cdotp"),et("\\llap","\\mathllap{\\textrm{#1}}"),et("\\rlap","\\mathrlap{\\textrm{#1}}"),et("\\clap","\\mathclap{\\textrm{#1}}"),et("\\mathstrut","\\vphantom{(}"),et("\\underbar","\\underline{\\text{#1}}"),et("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),et("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),et("\\ne","\\neq"),et("≠","\\neq"),et("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),et("∉","\\notin"),et("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),et("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),et("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),et("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),et("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),et("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),et("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),et("⟂","\\perp"),et("‼","\\mathclose{!\\mkern-0.8mu!}"),et("∌","\\notni"),et("⌜","\\ulcorner"),et("⌝","\\urcorner"),et("⌞","\\llcorner"),et("⌟","\\lrcorner"),et("©","\\copyright"),et("®","\\textregistered"),et("️","\\textregistered"),et("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),et("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),et("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),et("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),et("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),et("⋮","\\vdots"),et("\\varGamma","\\mathit{\\Gamma}"),et("\\varDelta","\\mathit{\\Delta}"),et("\\varTheta","\\mathit{\\Theta}"),et("\\varLambda","\\mathit{\\Lambda}"),et("\\varXi","\\mathit{\\Xi}"),et("\\varPi","\\mathit{\\Pi}"),et("\\varSigma","\\mathit{\\Sigma}"),et("\\varUpsilon","\\mathit{\\Upsilon}"),et("\\varPhi","\\mathit{\\Phi}"),et("\\varPsi","\\mathit{\\Psi}"),et("\\varOmega","\\mathit{\\Omega}"),et("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),et("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),et("\\boxed","\\fbox{$\\displaystyle{#1}$}"),et("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),et("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),et("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var dqe={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};et("\\dots",function(i){var s="\\dotso",u=i.expandAfterFuture().text;return u in dqe?s=dqe[u]:(u.slice(0,4)==="\\not"||u in Ul.math&&Ya.contains(["bin","rel"],Ul.math[u].group))&&(s="\\dotsb"),s});var Nbe={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};et("\\dotso",function(i){var s=i.future().text;return s in Nbe?"\\ldots\\,":"\\ldots"}),et("\\dotsc",function(i){var s=i.future().text;return s in Nbe&&s!==","?"\\ldots\\,":"\\ldots"}),et("\\cdots",function(i){var s=i.future().text;return s in Nbe?"\\@cdots\\,":"\\@cdots"}),et("\\dotsb","\\cdots"),et("\\dotsm","\\cdots"),et("\\dotsi","\\!\\cdots"),et("\\dotsx","\\ldots\\,"),et("\\DOTSI","\\relax"),et("\\DOTSB","\\relax"),et("\\DOTSX","\\relax"),et("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),et("\\,","\\tmspace+{3mu}{.1667em}"),et("\\thinspace","\\,"),et("\\>","\\mskip{4mu}"),et("\\:","\\tmspace+{4mu}{.2222em}"),et("\\medspace","\\:"),et("\\;","\\tmspace+{5mu}{.2777em}"),et("\\thickspace","\\;"),et("\\!","\\tmspace-{3mu}{.1667em}"),et("\\negthinspace","\\!"),et("\\negmedspace","\\tmspace-{4mu}{.2222em}"),et("\\negthickspace","\\tmspace-{5mu}{.277em}"),et("\\enspace","\\kern.5em "),et("\\enskip","\\hskip.5em\\relax"),et("\\quad","\\hskip1em\\relax"),et("\\qquad","\\hskip2em\\relax"),et("\\tag","\\@ifstar\\tag@literal\\tag@paren"),et("\\tag@paren","\\tag@literal{({#1})}"),et("\\tag@literal",i=>{if(i.macros.get("\\df@tag"))throw new Ci("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),et("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),et("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),et("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),et("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),et("\\newline","\\\\\\relax"),et("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var gqe=Ri(K4["Main-Regular"]["T".charCodeAt(0)][1]-.7*K4["Main-Regular"]["A".charCodeAt(0)][1]);et("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+gqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),et("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+gqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),et("\\hspace","\\@ifstar\\@hspacer\\@hspace"),et("\\@hspace","\\hskip #1\\relax"),et("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),et("\\ordinarycolon",":"),et("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),et("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),et("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),et("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),et("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),et("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),et("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),et("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),et("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),et("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),et("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),et("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),et("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),et("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),et("∷","\\dblcolon"),et("∹","\\eqcolon"),et("≔","\\coloneqq"),et("≕","\\eqqcolon"),et("⩴","\\Coloneqq"),et("\\ratio","\\vcentcolon"),et("\\coloncolon","\\dblcolon"),et("\\colonequals","\\coloneqq"),et("\\coloncolonequals","\\Coloneqq"),et("\\equalscolon","\\eqqcolon"),et("\\equalscoloncolon","\\Eqqcolon"),et("\\colonminus","\\coloneq"),et("\\coloncolonminus","\\Coloneq"),et("\\minuscolon","\\eqcolon"),et("\\minuscoloncolon","\\Eqcolon"),et("\\coloncolonapprox","\\Colonapprox"),et("\\coloncolonsim","\\Colonsim"),et("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),et("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),et("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),et("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),et("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),et("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),et("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),et("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),et("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),et("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),et("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),et("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),et("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),et("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),et("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),et("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),et("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),et("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),et("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),et("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),et("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),et("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),et("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),et("\\imath","\\html@mathml{\\@imath}{ı}"),et("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),et("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),et("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),et("⟦","\\llbracket"),et("⟧","\\rrbracket"),et("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),et("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),et("⦃","\\lBrace"),et("⦄","\\rBrace"),et("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),et("⦵","\\minuso"),et("\\darr","\\downarrow"),et("\\dArr","\\Downarrow"),et("\\Darr","\\Downarrow"),et("\\lang","\\langle"),et("\\rang","\\rangle"),et("\\uarr","\\uparrow"),et("\\uArr","\\Uparrow"),et("\\Uarr","\\Uparrow"),et("\\N","\\mathbb{N}"),et("\\R","\\mathbb{R}"),et("\\Z","\\mathbb{Z}"),et("\\alef","\\aleph"),et("\\alefsym","\\aleph"),et("\\Alpha","\\mathrm{A}"),et("\\Beta","\\mathrm{B}"),et("\\bull","\\bullet"),et("\\Chi","\\mathrm{X}"),et("\\clubs","\\clubsuit"),et("\\cnums","\\mathbb{C}"),et("\\Complex","\\mathbb{C}"),et("\\Dagger","\\ddagger"),et("\\diamonds","\\diamondsuit"),et("\\empty","\\emptyset"),et("\\Epsilon","\\mathrm{E}"),et("\\Eta","\\mathrm{H}"),et("\\exist","\\exists"),et("\\harr","\\leftrightarrow"),et("\\hArr","\\Leftrightarrow"),et("\\Harr","\\Leftrightarrow"),et("\\hearts","\\heartsuit"),et("\\image","\\Im"),et("\\infin","\\infty"),et("\\Iota","\\mathrm{I}"),et("\\isin","\\in"),et("\\Kappa","\\mathrm{K}"),et("\\larr","\\leftarrow"),et("\\lArr","\\Leftarrow"),et("\\Larr","\\Leftarrow"),et("\\lrarr","\\leftrightarrow"),et("\\lrArr","\\Leftrightarrow"),et("\\Lrarr","\\Leftrightarrow"),et("\\Mu","\\mathrm{M}"),et("\\natnums","\\mathbb{N}"),et("\\Nu","\\mathrm{N}"),et("\\Omicron","\\mathrm{O}"),et("\\plusmn","\\pm"),et("\\rarr","\\rightarrow"),et("\\rArr","\\Rightarrow"),et("\\Rarr","\\Rightarrow"),et("\\real","\\Re"),et("\\reals","\\mathbb{R}"),et("\\Reals","\\mathbb{R}"),et("\\Rho","\\mathrm{P}"),et("\\sdot","\\cdot"),et("\\sect","\\S"),et("\\spades","\\spadesuit"),et("\\sub","\\subset"),et("\\sube","\\subseteq"),et("\\supe","\\supseteq"),et("\\Tau","\\mathrm{T}"),et("\\thetasym","\\vartheta"),et("\\weierp","\\wp"),et("\\Zeta","\\mathrm{Z}"),et("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),et("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),et("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),et("\\bra","\\mathinner{\\langle{#1}|}"),et("\\ket","\\mathinner{|{#1}\\rangle}"),et("\\braket","\\mathinner{\\langle{#1}\\rangle}"),et("\\Bra","\\left\\langle#1\\right|"),et("\\Ket","\\left|#1\\right\\rangle");var pqe=i=>s=>{var u=s.consumeArg().tokens,d=s.consumeArg().tokens,p=s.consumeArg().tokens,v=s.consumeArg().tokens,b=s.macros.get("|"),y=s.macros.get("\\|");s.macros.beginGroup();var T=P=>R=>{i&&(R.macros.set("|",b),p.length&&R.macros.set("\\|",y));var F=P;if(!P&&p.length){var j=R.future();j.text==="|"&&(R.popToken(),F=!0)}return{tokens:F?p:d,numArgs:0}};s.macros.set("|",T(!1)),p.length&&s.macros.set("\\|",T(!0));var _=s.consumeArg().tokens,A=s.expandTokens([...v,..._,...u]);return s.macros.endGroup(),{tokens:A.reverse(),numArgs:0}};et("\\bra@ket",pqe(!1)),et("\\bra@set",pqe(!0)),et("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),et("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),et("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),et("\\angln","{\\angl n}"),et("\\blue","\\textcolor{##6495ed}{#1}"),et("\\orange","\\textcolor{##ffa500}{#1}"),et("\\pink","\\textcolor{##ff00af}{#1}"),et("\\red","\\textcolor{##df0030}{#1}"),et("\\green","\\textcolor{##28ae7b}{#1}"),et("\\gray","\\textcolor{gray}{#1}"),et("\\purple","\\textcolor{##9d38bd}{#1}"),et("\\blueA","\\textcolor{##ccfaff}{#1}"),et("\\blueB","\\textcolor{##80f6ff}{#1}"),et("\\blueC","\\textcolor{##63d9ea}{#1}"),et("\\blueD","\\textcolor{##11accd}{#1}"),et("\\blueE","\\textcolor{##0c7f99}{#1}"),et("\\tealA","\\textcolor{##94fff5}{#1}"),et("\\tealB","\\textcolor{##26edd5}{#1}"),et("\\tealC","\\textcolor{##01d1c1}{#1}"),et("\\tealD","\\textcolor{##01a995}{#1}"),et("\\tealE","\\textcolor{##208170}{#1}"),et("\\greenA","\\textcolor{##b6ffb0}{#1}"),et("\\greenB","\\textcolor{##8af281}{#1}"),et("\\greenC","\\textcolor{##74cf70}{#1}"),et("\\greenD","\\textcolor{##1fab54}{#1}"),et("\\greenE","\\textcolor{##0d923f}{#1}"),et("\\goldA","\\textcolor{##ffd0a9}{#1}"),et("\\goldB","\\textcolor{##ffbb71}{#1}"),et("\\goldC","\\textcolor{##ff9c39}{#1}"),et("\\goldD","\\textcolor{##e07d10}{#1}"),et("\\goldE","\\textcolor{##a75a05}{#1}"),et("\\redA","\\textcolor{##fca9a9}{#1}"),et("\\redB","\\textcolor{##ff8482}{#1}"),et("\\redC","\\textcolor{##f9685d}{#1}"),et("\\redD","\\textcolor{##e84d39}{#1}"),et("\\redE","\\textcolor{##bc2612}{#1}"),et("\\maroonA","\\textcolor{##ffbde0}{#1}"),et("\\maroonB","\\textcolor{##ff92c6}{#1}"),et("\\maroonC","\\textcolor{##ed5fa6}{#1}"),et("\\maroonD","\\textcolor{##ca337c}{#1}"),et("\\maroonE","\\textcolor{##9e034e}{#1}"),et("\\purpleA","\\textcolor{##ddd7ff}{#1}"),et("\\purpleB","\\textcolor{##c6b9fc}{#1}"),et("\\purpleC","\\textcolor{##aa87ff}{#1}"),et("\\purpleD","\\textcolor{##7854ab}{#1}"),et("\\purpleE","\\textcolor{##543b78}{#1}"),et("\\mintA","\\textcolor{##f5f9e8}{#1}"),et("\\mintB","\\textcolor{##edf2df}{#1}"),et("\\mintC","\\textcolor{##e0e5cc}{#1}"),et("\\grayA","\\textcolor{##f6f7f7}{#1}"),et("\\grayB","\\textcolor{##f0f1f2}{#1}"),et("\\grayC","\\textcolor{##e3e5e6}{#1}"),et("\\grayD","\\textcolor{##d6d8da}{#1}"),et("\\grayE","\\textcolor{##babec2}{#1}"),et("\\grayF","\\textcolor{##888d93}{#1}"),et("\\grayG","\\textcolor{##626569}{#1}"),et("\\grayH","\\textcolor{##3b3e40}{#1}"),et("\\grayI","\\textcolor{##21242c}{#1}"),et("\\kaBlue","\\textcolor{##314453}{#1}"),et("\\kaGreen","\\textcolor{##71B307}{#1}");var bqe={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class CVt{constructor(s,u,d){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=u,this.expansionCount=0,this.feed(s),this.macros=new EVt(TVt,u.macros),this.mode=d,this.stack=[]}feed(s){this.lexer=new hqe(s,this.settings)}switchMode(s){this.mode=s}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(s){this.stack.push(s)}pushTokens(s){this.stack.push(...s)}scanArgument(s){var u,d,p;if(s){if(this.consumeSpaces(),this.future().text!=="[")return null;u=this.popToken(),{tokens:p,end:d}=this.consumeArg(["]"])}else({tokens:p,start:u,end:d}=this.consumeArg());return this.pushToken(new U4("EOF",d.loc)),this.pushTokens(p),u.range(d,"")}consumeSpaces(){for(;;){var s=this.future();if(s.text===" ")this.stack.pop();else break}}consumeArg(s){var u=[],d=s&&s.length>0;d||this.consumeSpaces();var p=this.future(),v,b=0,y=0;do{if(v=this.popToken(),u.push(v),v.text==="{")++b;else if(v.text==="}"){if(--b,b===-1)throw new Ci("Extra }",v)}else if(v.text==="EOF")throw new Ci("Unexpected end of input in a macro argument, expected '"+(s&&d?s[y]:"}")+"'",v);if(s&&d)if((b===0||b===1&&s[y]==="{")&&v.text===s[y]){if(++y,y===s.length){u.splice(-y,y);break}}else y=0}while(b!==0||d);return p.text==="{"&&u[u.length-1].text==="}"&&(u.pop(),u.shift()),u.reverse(),{tokens:u,start:p,end:v}}consumeArgs(s,u){if(u){if(u.length!==s+1)throw new Ci("The length of delimiters doesn't match the number of args!");for(var d=u[0],p=0;pthis.settings.maxExpand)throw new Ci("Too many expansions: infinite loop or need to increase maxExpand setting");var v=p.tokens,b=this.consumeArgs(p.numArgs,p.delimiters);if(p.numArgs){v=v.slice();for(var y=v.length-1;y>=0;--y){var T=v[y];if(T.text==="#"){if(y===0)throw new Ci("Incomplete placeholder at end of macro body",T);if(T=v[--y],T.text==="#")v.splice(y+1,1);else if(/^[1-9]$/.test(T.text))v.splice(y,2,...b[+T.text-1]);else throw new Ci("Not a valid argument number",T)}}}return this.pushTokens(v),v.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var s=this.stack.pop();return s.treatAsRelax&&(s.text="\\relax"),s}throw new Error}expandMacro(s){return this.macros.has(s)?this.expandTokens([new U4(s)]):void 0}expandTokens(s){var u=[],d=this.stack.length;for(this.pushTokens(s);this.stack.length>d;)if(this.expandOnce(!0)===!1){var p=this.stack.pop();p.treatAsRelax&&(p.noexpand=!1,p.treatAsRelax=!1),u.push(p)}return u}expandMacroAsText(s){var u=this.expandMacro(s);return u&&u.map(d=>d.text).join("")}_getExpansion(s){var u=this.macros.get(s);if(u==null)return u;if(s.length===1){var d=this.lexer.catcodes[s];if(d!=null&&d!==13)return}var p=typeof u=="function"?u(this):u;if(typeof p=="string"){var v=0;if(p.indexOf("#")!==-1)for(var b=p.replace(/##/g,"");b.indexOf("#"+(v+1))!==-1;)++v;for(var y=new hqe(p,this.settings),T=[],_=y.lex();_.text!=="EOF";)T.push(_),_=y.lex();T.reverse();var A={tokens:T,numArgs:v};return A}return p}isDefined(s){return this.macros.has(s)||L9.hasOwnProperty(s)||Ul.math.hasOwnProperty(s)||Ul.text.hasOwnProperty(s)||bqe.hasOwnProperty(s)}isExpandable(s){var u=this.macros.get(s);return u!=null?typeof u=="string"||typeof u=="function"||!u.unexpandable:L9.hasOwnProperty(s)&&!L9[s].primitive}}var mqe=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,TQ=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Pbe={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},vqe={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class gR{constructor(s,u){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new CVt(s,u,this.mode),this.settings=u,this.leftrightDepth=0}expect(s,u){if(u===void 0&&(u=!0),this.fetch().text!==s)throw new Ci("Expected '"+s+"', got '"+this.fetch().text+"'",this.fetch());u&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(s){this.mode=s,this.gullet.switchMode(s)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var s=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),s}finally{this.gullet.endGroups()}}subparse(s){var u=this.nextToken;this.consume(),this.gullet.pushToken(new U4("}")),this.gullet.pushTokens(s);var d=this.parseExpression(!1);return this.expect("}"),this.nextToken=u,d}parseExpression(s,u){for(var d=[];;){this.mode==="math"&&this.consumeSpaces();var p=this.fetch();if(gR.endOfExpression.indexOf(p.text)!==-1||u&&p.text===u||s&&L9[p.text]&&L9[p.text].infix)break;var v=this.parseAtom(u);if(v){if(v.type==="internal")continue}else break;d.push(v)}return this.mode==="text"&&this.formLigatures(d),this.handleInfixNodes(d)}handleInfixNodes(s){for(var u=-1,d,p=0;p=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+u[0]+'" used in math mode',s);var y=Ul[this.mode][u].group,T=lm.range(s),_;if(dHt.hasOwnProperty(y)){var A=y;_={type:"atom",mode:this.mode,family:A,loc:T,text:u}}else _={type:y,mode:this.mode,loc:T,text:u};b=_}else if(u.charCodeAt(0)>=128)this.settings.strict&&(K$e(u.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+u[0]+'" used in math mode',s):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+u[0]+'"'+(" ("+u.charCodeAt(0)+")"),s)),b={type:"textord",mode:"text",loc:lm.range(s),text:u};else return null;if(this.consume(),v)for(var P=0;P"u"&&(_s.yylloc={});var j0=_s.yylloc;on.push(j0);var pm=_s.options&&_s.options.ranges;typeof tl.yy.parseError=="function"?this.parseError=tl.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ml(){var kh;return kh=At.pop()||_s.lex()||Pa,typeof kh!="number"&&(kh instanceof Array&&(At=kh,kh=At.pop()),kh=qn.symbols_[kh]||kh),kh}for(var Xc,Bc,ja,Ou,Sa={},Po,Fc,xa,Ba;;){if(Bc=Un[Un.length-1],this.defaultActions[Bc]?ja=this.defaultActions[Bc]:((Xc===null||typeof Xc>"u")&&(Xc=Ml()),ja=fn[Bc]&&fn[Bc][Xc]),typeof ja>"u"||!ja.length||!ja[0]){var ga="";Ba=[];for(Po in fn[Bc])this.terminals_[Po]&&Po>$o&&Ba.push("'"+this.terminals_[Po]+"'");_s.showPosition?ga="Parse error on line "+(oo+1)+`: +`+_s.showPosition()+` +Expecting `+Ba.join(", ")+", got '"+(this.terminals_[Xc]||Xc)+"'":ga="Parse error on line "+(oo+1)+": Unexpected "+(Xc==Pa?"end of input":"'"+(this.terminals_[Xc]||Xc)+"'"),this.parseError(ga,{text:_s.match,token:this.terminals_[Xc]||Xc,line:_s.yylineno,loc:j0,expected:Ba})}if(ja[0]instanceof Array&&ja.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Bc+", token: "+Xc);switch(ja[0]){case 1:Un.push(Xc),wt.push(_s.yytext),on.push(_s.yylloc),Un.push(ja[1]),Xc=null,jo=_s.yyleng,An=_s.yytext,oo=_s.yylineno,j0=_s.yylloc;break;case 2:if(Fc=this.productions_[ja[1]][1],Sa.$=wt[wt.length-Fc],Sa._$={first_line:on[on.length-(Fc||1)].first_line,last_line:on[on.length-1].last_line,first_column:on[on.length-(Fc||1)].first_column,last_column:on[on.length-1].last_column},pm&&(Sa._$.range=[on[on.length-(Fc||1)].range[0],on[on.length-1].range[1]]),Ou=this.performAction.apply(Sa,[An,jo,oo,tl.yy,ja[1],wt,on].concat(wo)),typeof Ou<"u")return Ou;Fc&&(Un=Un.slice(0,-1*Fc*2),wt=wt.slice(0,-1*Fc),on=on.slice(0,-1*Fc)),Un.push(this.productions_[ja[1]][0]),wt.push(Sa.$),on.push(Sa._$),xa=fn[Un[Un.length-2]][Un[Un.length-1]],Un.push(xa);break;case 3:return!0}}return!0}},zs=function(){var Tr={EOF:1,parseError:function(qn,Un){if(this.yy.parser)this.yy.parser.parseError(qn,Un);else throw new Error(qn)},setInput:function(Fn,qn){return this.yy=qn||this.yy||{},this._input=Fn,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},input:function(){var Fn=this._input[0];this.yytext+=Fn,this.yyleng++,this.offset++,this.match+=Fn,this.matched+=Fn;var qn=Fn.match(/(?:\r\n?|\n).*/g);return qn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Fn},unput:function(Fn){var qn=Fn.length,Un=Fn.split(/(?:\r\n?|\n)/g);this._input=Fn+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-qn),this.offset-=qn;var At=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),Un.length-1&&(this.yylineno-=Un.length-1);var wt=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:Un?(Un.length===At.length?this.yylloc.first_column:0)+At[At.length-Un.length].length-Un[0].length:this.yylloc.first_column-qn},this.options.ranges&&(this.yylloc.range=[wt[0],wt[0]+this.yyleng-qn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Fn){this.unput(this.match.slice(Fn))},pastInput:function(){var Fn=this.matched.substr(0,this.matched.length-this.match.length);return(Fn.length>20?"...":"")+Fn.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Fn=this.match;return Fn.length<20&&(Fn+=this._input.substr(0,20-Fn.length)),(Fn.substr(0,20)+(Fn.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Fn=this.pastInput(),qn=new Array(Fn.length+1).join("-");return Fn+this.upcomingInput()+` +`+qn+"^"},test_match:function(Fn,qn){var Un,At,wt;if(this.options.backtrack_lexer&&(wt={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&&(wt.yylloc.range=this.yylloc.range.slice(0))),At=Fn[0].match(/(?:\r\n?|\n).*/g),At&&(this.yylineno+=At.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:At?At[At.length-1].length-At[At.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Fn[0].length},this.yytext+=Fn[0],this.match+=Fn[0],this.matches=Fn,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(Fn[0].length),this.matched+=Fn[0],Un=this.performAction.call(this,this.yy,this,qn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Un)return Un;if(this._backtrack){for(var on in wt)this[on]=wt[on];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Fn,qn,Un,At;this._more||(this.yytext="",this.match="");for(var wt=this._currentRules(),on=0;onqn[0].length)){if(qn=Un,At=on,this.options.backtrack_lexer){if(Fn=this.test_match(Un,wt[on]),Fn!==!1)return Fn;if(this._backtrack){qn=!1;continue}else return!1}else if(!this.options.flex)break}return qn?(Fn=this.test_match(qn,wt[At]),Fn!==!1?Fn:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var qn=this.next();return qn||this.lex()},begin:function(qn){this.conditionStack.push(qn)},popState:function(){var qn=this.conditionStack.length-1;return qn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(qn){return qn=this.conditionStack.length-1-Math.abs(qn||0),qn>=0?this.conditionStack[qn]:"INITIAL"},pushState:function(qn){this.begin(qn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(qn,Un,At,wt){switch(At){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:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;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:return this.begin("node"),39;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:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;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:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74: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 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},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:[],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}}};return Tr}();Ma.lexer=zs;function ao(){this.yy={}}return ao.prototype=Ma,Ma.Parser=ao,new ao}();CQ.parser=CQ;const DVt=CQ;let R3=[],M9=[""],Op="global",j3="",Q4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],pR=[],Rbe="",jbe=!1,SQ=4,_Q=2;var xqe;const IVt=function(){return xqe},OVt=function(i){xqe=Yf(i,qt())},NVt=function(i,s,u,d,p,v,b,y,T){if(i==null||s===void 0||s===null||u===void 0||u===null||d===void 0||d===null)return;let _={};const A=pR.find(P=>P.from===s&&P.to===u);if(A?_=A:pR.push(_),_.type=i,_.from=s,_.to=u,_.label={text:d},p==null)_.techn={text:""};else if(typeof p=="object"){let[P,R]=Object.entries(p)[0];_[P]={text:R}}else _.techn={text:p};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[P,R]=Object.entries(v)[0];_[P]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[P,R]=Object.entries(b)[0];_[P]=R}else _.sprite=b;if(typeof y=="object"){let[P,R]=Object.entries(y)[0];_[P]=R}else _.tags=y;if(typeof T=="object"){let[P,R]=Object.entries(T)[0];_[P]=R}else _.link=T;_.wrap=D9()},PVt=function(i,s,u,d,p,v,b){if(s===null||u===null)return;let y={};const T=R3.find(_=>_.alias===s);if(T&&s===T.alias?y=T:(y.alias=s,R3.push(y)),u==null?y.label={text:""}:y.label={text:u},d==null)y.descr={text:""};else if(typeof d=="object"){let[_,A]=Object.entries(d)[0];y[_]={text:A}}else y.descr={text:d};if(typeof p=="object"){let[_,A]=Object.entries(p)[0];y[_]=A}else y.sprite=p;if(typeof v=="object"){let[_,A]=Object.entries(v)[0];y[_]=A}else y.tags=v;if(typeof b=="object"){let[_,A]=Object.entries(b)[0];y[_]=A}else y.link=b;y.typeC4Shape={text:i},y.parentBoundary=Op,y.wrap=D9()},BVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=R3.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,R3.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.techn={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];T[A]=P}else T.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.wrap=D9(),T.typeC4Shape={text:i},T.parentBoundary=Op},FVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=R3.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,R3.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.techn={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];T[A]=P}else T.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.wrap=D9(),T.typeC4Shape={text:i},T.parentBoundary=Op},RVt=function(i,s,u,d,p){if(i===null||s===null)return;let v={};const b=Q4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Q4.push(v)),s==null?v.label={text:""}:v.label={text:s},u==null)v.type={text:"system"};else if(typeof u=="object"){let[y,T]=Object.entries(u)[0];v[y]={text:T}}else v.type={text:u};if(typeof d=="object"){let[y,T]=Object.entries(d)[0];v[y]=T}else v.tags=d;if(typeof p=="object"){let[y,T]=Object.entries(p)[0];v[y]=T}else v.link=p;v.parentBoundary=Op,v.wrap=D9(),j3=Op,Op=i,M9.push(j3)},jVt=function(i,s,u,d,p){if(i===null||s===null)return;let v={};const b=Q4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Q4.push(v)),s==null?v.label={text:""}:v.label={text:s},u==null)v.type={text:"container"};else if(typeof u=="object"){let[y,T]=Object.entries(u)[0];v[y]={text:T}}else v.type={text:u};if(typeof d=="object"){let[y,T]=Object.entries(d)[0];v[y]=T}else v.tags=d;if(typeof p=="object"){let[y,T]=Object.entries(p)[0];v[y]=T}else v.link=p;v.parentBoundary=Op,v.wrap=D9(),j3=Op,Op=i,M9.push(j3)},$Vt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=Q4.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,Q4.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.type={text:"node"};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.type={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.nodeType=i,T.parentBoundary=Op,T.wrap=D9(),j3=Op,Op=s,M9.push(j3)},zVt=function(){Op=j3,M9.pop(),j3=M9.pop(),M9.push(j3)},qVt=function(i,s,u,d,p,v,b,y,T,_,A){let P=R3.find(R=>R.alias===s);if(!(P===void 0&&(P=Q4.find(R=>R.alias===s),P===void 0))){if(u!=null)if(typeof u=="object"){let[R,F]=Object.entries(u)[0];P[R]=F}else P.bgColor=u;if(d!=null)if(typeof d=="object"){let[R,F]=Object.entries(d)[0];P[R]=F}else P.fontColor=d;if(p!=null)if(typeof p=="object"){let[R,F]=Object.entries(p)[0];P[R]=F}else P.borderColor=p;if(v!=null)if(typeof v=="object"){let[R,F]=Object.entries(v)[0];P[R]=F}else P.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,F]=Object.entries(b)[0];P[R]=F}else P.shape=b;if(y!=null)if(typeof y=="object"){let[R,F]=Object.entries(y)[0];P[R]=F}else P.sprite=y;if(T!=null)if(typeof T=="object"){let[R,F]=Object.entries(T)[0];P[R]=F}else P.techn=T;if(_!=null)if(typeof _=="object"){let[R,F]=Object.entries(_)[0];P[R]=F}else P.legendText=_;if(A!=null)if(typeof A=="object"){let[R,F]=Object.entries(A)[0];P[R]=F}else P.legendSprite=A}},HVt=function(i,s,u,d,p,v,b){const y=pR.find(T=>T.from===s&&T.to===u);if(y!==void 0){if(d!=null)if(typeof d=="object"){let[T,_]=Object.entries(d)[0];y[T]=_}else y.textColor=d;if(p!=null)if(typeof p=="object"){let[T,_]=Object.entries(p)[0];y[T]=_}else y.lineColor=p;if(v!=null)if(typeof v=="object"){let[T,_]=Object.entries(v)[0];y[T]=parseInt(_)}else y.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[T,_]=Object.entries(b)[0];y[T]=parseInt(_)}else y.offsetY=parseInt(b)}},VVt=function(i,s,u){let d=SQ,p=_Q;if(typeof s=="object"){const v=Object.values(s)[0];d=parseInt(v)}else d=parseInt(s);if(typeof u=="object"){const v=Object.values(u)[0];p=parseInt(v)}else p=parseInt(u);d>=1&&(SQ=d),p>=1&&(_Q=p)},UVt=function(){return SQ},GVt=function(){return _Q},KVt=function(){return Op},WVt=function(){return j3},kqe=function(i){return i==null?R3:R3.filter(s=>s.parentBoundary===i)},YVt=function(i){return R3.find(s=>s.alias===i)},XVt=function(i){return Object.keys(kqe(i))},Eqe=function(i){return i==null?Q4:Q4.filter(s=>s.parentBoundary===i)},QVt=Eqe,JVt=function(){return pR},ZVt=function(){return Rbe},eUt=function(i){jbe=i},D9=function(){return jbe},$be={addPersonOrSystem:PVt,addPersonOrSystemBoundary:RVt,addContainer:BVt,addContainerBoundary:jVt,addComponent:FVt,addDeploymentNode:$Vt,popBoundaryParseStack:zVt,addRel:NVt,updateElStyle:qVt,updateRelStyle:HVt,updateLayoutConfig:VVt,autoWrap:D9,setWrap:eUt,getC4ShapeArray:kqe,getC4Shape:YVt,getC4ShapeKeys:XVt,getBoundaries:Eqe,getBoundarys:QVt,getCurrentBoundaryParse:KVt,getParentBoundaryParse:WVt,getRels:JVt,getTitle:ZVt,getC4Type:IVt,getC4ShapeInRow:UVt,getC4BoundaryInRow:GVt,setAccTitle:Bg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,getConfig:()=>qt().c4,clear:function(){R3=[],Q4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],j3="",Op="global",M9=[""],pR=[],M9=[""],Rbe="",jbe=!1,SQ=4,_Q=2},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:function(i){Rbe=Yf(i,qt())},setC4Type:OVt},AQ=(i,s)=>{const u=i.append("rect");if(u.attr("x",s.x),u.attr("y",s.y),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("width",s.width),u.attr("height",s.height),s.name&&u.attr("name",s.name),s.rx!==void 0&&u.attr("rx",s.rx),s.ry!==void 0&&u.attr("ry",s.ry),s.attrs!==void 0)for(const d in s.attrs)u.attr(d,s.attrs[d]);return s.class!==void 0&&u.attr("class",s.class),u},Tqe=(i,s)=>{const u={x:s.startx,y:s.starty,width:s.stopx-s.startx,height:s.stopy-s.starty,fill:s.fill,stroke:s.stroke,class:"rect"};AQ(i,u).lower()},tUt=(i,s)=>{const u=s.text.replace(fD," "),d=i.append("text");d.attr("x",s.x),d.attr("y",s.y),d.attr("class","legend"),d.style("text-anchor",s.anchor),s.class!==void 0&&d.attr("class",s.class);const p=d.append("tspan");return p.attr("x",s.x+s.textMargin*2),p.text(u),d},nUt=(i,s,u,d)=>{const p=i.append("image");p.attr("x",s),p.attr("y",u);const v=p9.sanitizeUrl(d);p.attr("xlink:href",v)},rUt=(i,s,u,d)=>{const p=i.append("use");p.attr("x",s),p.attr("y",u);const v=p9.sanitizeUrl(d);p.attr("xlink:href",`#${v}`)},qC=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),zbe=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),qbe=function(i,s){return AQ(i,s)},Cqe=function(i,s,u,d,p,v){const b=i.append("image");b.attr("width",s),b.attr("height",u),b.attr("x",d),b.attr("y",p);let y=v.startsWith("data:image/png;base64")?v:p9.sanitizeUrl(v);b.attr("xlink:href",y)},iUt=(i,s,u)=>{const d=i.append("g");let p=0;for(let v of s){let b=v.textColor?v.textColor:"#444444",y=v.lineColor?v.lineColor:"#444444",T=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,A="";if(p===0){let R=d.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",y),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)"),p=-1}else{let R=d.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",y).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)")}let P=u.messageFont();F7(u)(v.label.text,d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+T,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},P),v.techn&&v.techn.text!==""&&(P=u.messageFont(),F7(u)("["+v.techn.text+"]",d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+T,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+u.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},P))}},sUt=function(i,s,u){const d=i.append("g");let p=s.bgColor?s.bgColor:"none",v=s.borderColor?s.borderColor:"#444444",b=s.fontColor?s.fontColor:"black",y={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};s.nodeType&&(y={"stroke-width":1});let T={x:s.x,y:s.y,fill:p,stroke:v,width:s.width,height:s.height,rx:2.5,ry:2.5,attrs:y};qbe(d,T);let _=u.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,F7(u)(s.label.text,d,s.x,s.y+s.label.Y,s.width,s.height,{fill:"#444444"},_),s.type&&s.type.text!==""&&(_=u.boundaryFont(),_.fontColor=b,F7(u)(s.type.text,d,s.x,s.y+s.type.Y,s.width,s.height,{fill:"#444444"},_)),s.descr&&s.descr.text!==""&&(_=u.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,F7(u)(s.descr.text,d,s.x,s.y+s.descr.Y,s.width,s.height,{fill:"#444444"},_))},aUt=function(i,s,u){var P;let d=s.bgColor?s.bgColor:u[s.typeC4Shape.text+"_bg_color"],p=s.borderColor?s.borderColor:u[s.typeC4Shape.text+"_border_color"],v=s.fontColor?s.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(s.typeC4Shape.text){case"person":b="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":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const y=i.append("g");y.attr("class","person-man");const T=qC();switch(s.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":T.x=s.x,T.y=s.y,T.fill=d,T.width=s.width,T.height=s.height,T.stroke=p,T.rx=2.5,T.ry=2.5,T.attrs={"stroke-width":.5},qbe(y,T);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",s.x).replaceAll("starty",s.y).replaceAll("half",s.width/2).replaceAll("height",s.height)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",s.x).replaceAll("starty",s.y).replaceAll("half",s.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",s.x).replaceAll("starty",s.y).replaceAll("width",s.width).replaceAll("half",s.height/2)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",s.x+s.width).replaceAll("starty",s.y).replaceAll("half",s.height/2));break}let _=pUt(u,s.typeC4Shape.text);switch(y.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",s.typeC4Shape.width).attr("x",s.x+s.width/2-s.typeC4Shape.width/2).attr("y",s.y+s.typeC4Shape.Y).text("<<"+s.typeC4Shape.text+">>"),s.typeC4Shape.text){case"person":case"external_person":Cqe(y,48,48,s.x+s.width/2-24,s.y+s.image.Y,b);break}let A=u[s.typeC4Shape.text+"Font"]();return A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=v,F7(u)(s.label.text,y,s.x,s.y+s.label.Y,s.width,s.height,{fill:v},A),A=u[s.typeC4Shape.text+"Font"](),A.fontColor=v,s.techn&&((P=s.techn)==null?void 0:P.text)!==""?F7(u)(s.techn.text,y,s.x,s.y+s.techn.Y,s.width,s.height,{fill:v,"font-style":"italic"},A):s.type&&s.type.text!==""&&F7(u)(s.type.text,y,s.x,s.y+s.type.Y,s.width,s.height,{fill:v,"font-style":"italic"},A),s.descr&&s.descr.text!==""&&(A=u.personFont(),A.fontColor=v,F7(u)(s.descr.text,y,s.x,s.y+s.descr.Y,s.width,s.height,{fill:v},A)),s.height},oUt=function(i){i.append("defs").append("symbol").attr("id","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")},cUt=function(i){i.append("defs").append("symbol").attr("id","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")},uUt=function(i){i.append("defs").append("symbol").attr("id","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")},lUt=function(i){i.append("defs").append("marker").attr("id","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")},hUt=function(i){i.append("defs").append("marker").attr("id","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")},fUt=function(i){i.append("defs").append("marker").attr("id","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")},dUt=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},gUt=function(i){const u=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);u.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"),u.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")},pUt=(i,s)=>({fontFamily:i[s+"FontFamily"],fontSize:i[s+"FontSize"],fontWeight:i[s+"FontWeight"]}),F7=function(){function i(p,v,b,y,T,_,A){const P=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("text-anchor","middle").text(p);d(P,A)}function s(p,v,b,y,T,_,A,P){const{fontSize:R,fontFamily:F,fontWeight:j}=P,K=p.split(li.lineBreakRegex);for(let ee=0;ee=this.data.widthLimit||d>=this.data.widthLimit||this.nextData.cnt>Sqe)&&(u=this.nextData.startx+s.margin+$s.nextLinePaddingX,p=this.nextData.stopy+s.margin*2,this.nextData.stopx=d=u+s.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=p+s.height,this.nextData.cnt=1),s.x=u,s.y=p,this.updateVal(this.data,"startx",u,Math.min),this.updateVal(this.data,"starty",p,Math.min),this.updateVal(this.data,"stopx",d,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",u,Math.min),this.updateVal(this.nextData,"starty",p,Math.min),this.updateVal(this.nextData,"stopx",d,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(s){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},Vbe(s.db.getConfig())}bumpLastMargin(s){this.data.stopx+=s,this.data.stopy+=s}}const Vbe=function(i){id($s,i),i.fontFamily&&($s.personFontFamily=$s.systemFontFamily=$s.messageFontFamily=i.fontFamily),i.fontSize&&($s.personFontSize=$s.systemFontSize=$s.messageFontSize=i.fontSize),i.fontWeight&&($s.personFontWeight=$s.systemFontWeight=$s.messageFontWeight=i.fontWeight)},bR=(i,s)=>({fontFamily:i[s+"FontFamily"],fontSize:i[s+"FontSize"],fontWeight:i[s+"FontWeight"]}),DQ=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),bUt=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function $3(i,s,u,d,p){if(!s[i].width)if(u)s[i].text=vje(s[i].text,p,d),s[i].textLines=s[i].text.split(li.lineBreakRegex).length,s[i].width=p,s[i].height=E2e(s[i].text,d);else{let v=s[i].text.split(li.lineBreakRegex);s[i].textLines=v.length;let b=0;s[i].height=0,s[i].width=0;for(const y of v)s[i].width=Math.max(H4(y,d),s[i].width),b=E2e(y,d),s[i].height=s[i].height+b}}const Aqe=function(i,s,u){s.x=u.data.startx,s.y=u.data.starty,s.width=u.data.stopx-u.data.startx,s.height=u.data.stopy-u.data.starty,s.label.y=$s.c4ShapeMargin-35;let d=s.wrap&&$s.wrap,p=DQ($s);p.fontSize=p.fontSize+2,p.fontWeight="bold";let v=H4(s.label.text,p);$3("label",s,d,p,v),J4.drawBoundary(i,s,$s)},Lqe=function(i,s,u,d){let p=0;for(const v of d){p=0;const b=u[v];let y=bR($s,b.typeC4Shape.text);switch(y.fontSize=y.fontSize-2,b.typeC4Shape.width=H4("«"+b.typeC4Shape.text+"»",y),b.typeC4Shape.height=y.fontSize+2,b.typeC4Shape.Y=$s.c4ShapePadding,p=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height);let T=b.wrap&&$s.wrap,_=$s.width-$s.c4ShapePadding*2,A=bR($s,b.typeC4Shape.text);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",$3("label",b,T,A,_),b.label.Y=p+8,p=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let F=bR($s,b.typeC4Shape.text);$3("type",b,T,F,_),b.type.Y=p+5,p=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let F=bR($s,b.techn.text);$3("techn",b,T,F,_),b.techn.Y=p+5,p=b.techn.Y+b.techn.height}let P=p,R=b.label.width;if(b.descr&&b.descr.text!==""){let F=bR($s,b.typeC4Shape.text);$3("descr",b,T,F,_),b.descr.Y=p+20,p=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),P=p-b.descr.textLines*5}R=R+$s.c4ShapePadding,b.width=Math.max(b.width||$s.width,R,$s.width),b.height=Math.max(b.height||$s.height,P,$s.height),b.margin=b.margin||$s.c4ShapeMargin,i.insert(b),J4.drawC4Shape(s,b,$s)}i.bumpLastMargin($s.c4ShapeMargin)};let jv=class{constructor(s,u){this.x=s,this.y=u}},Mqe=function(i,s){let u=i.x,d=i.y,p=s.x,v=s.y,b=u+i.width/2,y=d+i.height/2,T=Math.abs(u-p),_=Math.abs(d-v),A=_/T,P=i.height/i.width,R=null;return d==v&&up?R=new jv(u,y):u==p&&dv&&(R=new jv(b,d)),u>p&&d=A?R=new jv(u,y+A*i.width/2):R=new jv(b-T/_*i.height/2,d+i.height):u=A?R=new jv(u+i.width,y+A*i.width/2):R=new jv(b+T/_*i.height/2,d+i.height):uv?P>=A?R=new jv(u+i.width,y-A*i.width/2):R=new jv(b+i.height/2*T/_,d):u>p&&d>v&&(P>=A?R=new jv(u,y-i.width/2*A):R=new jv(b-i.height/2*T/_,d)),R},mUt=function(i,s){let u={x:0,y:0};u.x=s.x+s.width/2,u.y=s.y+s.height/2;let d=Mqe(i,u);u.x=i.x+i.width/2,u.y=i.y+i.height/2;let p=Mqe(s,u);return{startPoint:d,endPoint:p}};const vUt=function(i,s,u,d){let p=0;for(let v of s){p=p+1;let b=v.wrap&&$s.wrap,y=bUt($s);d.db.getC4Type()==="C4Dynamic"&&(v.label.text=p+": "+v.label.text);let _=H4(v.label.text,y);$3("label",v,b,y,_),v.techn&&v.techn.text!==""&&(_=H4(v.techn.text,y),$3("techn",v,b,y,_)),v.descr&&v.descr.text!==""&&(_=H4(v.descr.text,y),$3("descr",v,b,y,_));let A=u(v.from),P=u(v.to),R=mUt(A,P);v.startPoint=R.startPoint,v.endPoint=R.endPoint}J4.drawRels(i,s,$s)};function Dqe(i,s,u,d,p){let v=new _qe(p);v.data.widthLimit=u.data.widthLimit/Math.min(Hbe,d.length);for(let[b,y]of d.entries()){let T=0;y.image={width:0,height:0,Y:0},y.sprite&&(y.image.width=48,y.image.height=48,y.image.Y=T,T=y.image.Y+y.image.height);let _=y.wrap&&$s.wrap,A=DQ($s);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",$3("label",y,_,A,v.data.widthLimit),y.label.Y=T+8,T=y.label.Y+y.label.height,y.type&&y.type.text!==""){y.type.text="["+y.type.text+"]";let j=DQ($s);$3("type",y,_,j,v.data.widthLimit),y.type.Y=T+5,T=y.type.Y+y.type.height}if(y.descr&&y.descr.text!==""){let j=DQ($s);j.fontSize=j.fontSize-2,$3("descr",y,_,j,v.data.widthLimit),y.descr.Y=T+20,T=y.descr.Y+y.descr.height}if(b==0||b%Hbe===0){let j=u.data.startx+$s.diagramMarginX,K=u.data.stopy+$s.diagramMarginY+T;v.setData(j,j,K,K)}else{let j=v.data.stopx!==v.data.startx?v.data.stopx+$s.diagramMarginX:v.data.startx,K=v.data.starty;v.setData(j,j,K,K)}v.name=y.alias;let P=p.db.getC4ShapeArray(y.alias),R=p.db.getC4ShapeKeys(y.alias);R.length>0&&Lqe(v,i,P,R),s=y.alias;let F=p.db.getBoundarys(s);F.length>0&&Dqe(i,s,v,F,p),y.alias!=="global"&&Aqe(i,y,v),u.data.stopy=Math.max(v.data.stopy+$s.c4ShapeMargin,u.data.stopy),u.data.stopx=Math.max(v.data.stopx+$s.c4ShapeMargin,u.data.stopx),LQ=Math.max(LQ,u.data.stopx),MQ=Math.max(MQ,u.data.stopy)}}const Iqe={drawPersonOrSystemArray:Lqe,drawBoundary:Aqe,setConf:Vbe,draw:function(i,s,u,d){$s=qt().c4;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const b=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body");let y=d.db;d.db.setWrap($s.wrap),Sqe=y.getC4ShapeInRow(),Hbe=y.getC4BoundaryInRow(),Xe.debug(`C:${JSON.stringify($s,null,2)}`);const T=p==="sandbox"?b.select(`[id="${s}"]`):Ir(`[id="${s}"]`);J4.insertComputerIcon(T),J4.insertDatabaseIcon(T),J4.insertClockIcon(T);let _=new _qe(d);_.setData($s.diagramMarginX,$s.diagramMarginX,$s.diagramMarginY,$s.diagramMarginY),_.data.widthLimit=screen.availWidth,LQ=$s.diagramMarginX,MQ=$s.diagramMarginY;const A=d.db.getTitle();let P=d.db.getBoundarys("");Dqe(T,"",_,P,d),J4.insertArrowHead(T),J4.insertArrowEnd(T),J4.insertArrowCrossHead(T),J4.insertArrowFilledHead(T),vUt(T,d.db.getRels(),d.db.getC4Shape,d),_.data.stopx=LQ,_.data.stopy=MQ;const R=_.data;let j=R.stopy-R.starty+2*$s.diagramMarginY;const ee=R.stopx-R.startx+2*$s.diagramMarginX;A&&T.append("text").text(A).attr("x",(R.stopx-R.startx)/2-4*$s.diagramMarginX).attr("y",R.starty+$s.diagramMarginY),Ng(T,j,ee,$s.useMaxWidth);const ie=A?60:0;T.attr("viewBox",R.startx-$s.diagramMarginX+" -"+($s.diagramMarginY+ie)+" "+ee+" "+(j+ie)),Xe.debug("models:",R)}},wUt=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:DVt,db:$be,renderer:Iqe,styles:i=>`.person { + stroke: ${i.personBorder}; + fill: ${i.personBkg}; + } +`,init:({c4:i,wrap:s})=>{Iqe.setConf(i),$be.setWrap(s)}}},Symbol.toStringTag,{value:"Module"}));var Ube=function(){var i=function($0,Wi,Bs,Qa){for(Bs=Bs||{},Qa=$0.length;Qa--;Bs[$0[Qa]]=Wi);return Bs},s=[1,4],u=[1,3],d=[1,5],p=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],v=[2,2],b=[1,13],y=[1,14],T=[1,15],_=[1,16],A=[1,23],P=[1,25],R=[1,26],F=[1,27],j=[1,49],K=[1,48],ee=[1,29],ie=[1,30],oe=[1,31],pe=[1,32],be=[1,33],ae=[1,44],ne=[1,46],se=[1,42],de=[1,47],X=[1,43],ge=[1,50],W=[1,45],xe=[1,51],U=[1,52],Fe=[1,34],Pe=[1,35],je=[1,36],Ie=[1,37],Se=[1,57],Ce=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],ke=[1,61],Ke=[1,60],Ft=[1,62],Ne=[8,9,11,73,75],gn=[1,88],_t=[1,93],Et=[1,92],Gt=[1,89],ln=[1,85],xt=[1,91],Pt=[1,87],Qe=[1,94],Dt=[1,90],kt=[1,95],On=[1,86],ht=[8,9,10,11,73,75],zr=[8,9,10,11,44,73,75],yt=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],ji=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],xi=[42,58,86,99,102,103,106,108,111,112,113],Ma=[1,121],zs=[1,120],ao=[1,128],Tr=[1,142],Fn=[1,143],qn=[1,144],Un=[1,145],At=[1,130],wt=[1,132],on=[1,136],fn=[1,137],An=[1,138],oo=[1,139],jo=[1,140],$o=[1,141],Pa=[1,146],wo=[1,147],_s=[1,126],tl=[1,127],da=[1,134],j0=[1,129],pm=[1,133],Ml=[1,131],Xc=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Bc=[1,149],ja=[8,9,11],Ou=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Sa=[1,169],Po=[1,165],Fc=[1,166],xa=[1,170],Ba=[1,167],ga=[1,168],kh=[75,113,116],lu=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],o5=[10,103],Wh=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],od=[1,235],Gd=[1,233],cd=[1,237],Kd=[1,231],$g=[1,232],as=[1,234],wn=[1,236],Zr=[1,238],Zi=[1,255],nu=[8,9,11,103],vu=[8,9,10,11,58,81,102,103,106,107,108,109],Dl={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(Wi,Bs,Qa,Bi,Nu,Ot,W3){var Kt=Ot.length-1;switch(Nu){case 2:this.$=[];break;case 3:(!Array.isArray(Ot[Kt])||Ot[Kt].length>0)&&Ot[Kt-1].push(Ot[Kt]),this.$=Ot[Kt-1];break;case 4:case 176:this.$=Ot[Kt];break;case 11:Bi.setDirection("TB"),this.$="TB";break;case 12:Bi.setDirection(Ot[Kt-1]),this.$=Ot[Kt-1];break;case 27:this.$=Ot[Kt-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Bi.addSubGraph(Ot[Kt-6],Ot[Kt-1],Ot[Kt-4]);break;case 34:this.$=Bi.addSubGraph(Ot[Kt-3],Ot[Kt-1],Ot[Kt-3]);break;case 35:this.$=Bi.addSubGraph(void 0,Ot[Kt-1],void 0);break;case 37:this.$=Ot[Kt].trim(),Bi.setAccTitle(this.$);break;case 38:case 39:this.$=Ot[Kt].trim(),Bi.setAccDescription(this.$);break;case 43:Bi.addLink(Ot[Kt-2].stmt,Ot[Kt],Ot[Kt-1]),this.$={stmt:Ot[Kt],nodes:Ot[Kt].concat(Ot[Kt-2].nodes)};break;case 44:Bi.addLink(Ot[Kt-3].stmt,Ot[Kt-1],Ot[Kt-2]),this.$={stmt:Ot[Kt-1],nodes:Ot[Kt-1].concat(Ot[Kt-3].nodes)};break;case 45:this.$={stmt:Ot[Kt-1],nodes:Ot[Kt-1]};break;case 46:this.$={stmt:Ot[Kt],nodes:Ot[Kt]};break;case 47:this.$=[Ot[Kt]];break;case 48:this.$=Ot[Kt-4].concat(Ot[Kt]);break;case 49:this.$=Ot[Kt];break;case 50:this.$=Ot[Kt-2],Bi.setClass(Ot[Kt-2],Ot[Kt]);break;case 51:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"square");break;case 52:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"doublecircle");break;case 53:this.$=Ot[Kt-5],Bi.addVertex(Ot[Kt-5],Ot[Kt-2],"circle");break;case 54:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"ellipse");break;case 55:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"stadium");break;case 56:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"subroutine");break;case 57:this.$=Ot[Kt-7],Bi.addVertex(Ot[Kt-7],Ot[Kt-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Ot[Kt-5],Ot[Kt-3]]]));break;case 58:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"cylinder");break;case 59:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"round");break;case 60:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"diamond");break;case 61:this.$=Ot[Kt-5],Bi.addVertex(Ot[Kt-5],Ot[Kt-2],"hexagon");break;case 62:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"odd");break;case 63:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"trapezoid");break;case 64:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"inv_trapezoid");break;case 65:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"lean_right");break;case 66:this.$=Ot[Kt-3],Bi.addVertex(Ot[Kt-3],Ot[Kt-1],"lean_left");break;case 67:this.$=Ot[Kt],Bi.addVertex(Ot[Kt]);break;case 68:Ot[Kt-1].text=Ot[Kt],this.$=Ot[Kt-1];break;case 69:case 70:Ot[Kt-2].text=Ot[Kt-1],this.$=Ot[Kt-2];break;case 71:this.$=Ot[Kt];break;case 72:var z0=Bi.destructLink(Ot[Kt],Ot[Kt-2]);this.$={type:z0.type,stroke:z0.stroke,length:z0.length,text:Ot[Kt-1]};break;case 73:this.$={text:Ot[Kt],type:"text"};break;case 74:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 75:this.$={text:Ot[Kt],type:"string"};break;case 76:this.$={text:Ot[Kt],type:"markdown"};break;case 77:var z0=Bi.destructLink(Ot[Kt]);this.$={type:z0.type,stroke:z0.stroke,length:z0.length};break;case 78:this.$=Ot[Kt-1];break;case 79:this.$={text:Ot[Kt],type:"text"};break;case 80:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 81:this.$={text:Ot[Kt],type:"string"};break;case 82:case 97:this.$={text:Ot[Kt],type:"markdown"};break;case 94:this.$={text:Ot[Kt],type:"text"};break;case 95:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 96:this.$={text:Ot[Kt],type:"text"};break;case 98:this.$=Ot[Kt-4],Bi.addClass(Ot[Kt-2],Ot[Kt]);break;case 99:this.$=Ot[Kt-4],Bi.setClass(Ot[Kt-2],Ot[Kt]);break;case 100:case 108:this.$=Ot[Kt-1],Bi.setClickEvent(Ot[Kt-1],Ot[Kt]);break;case 101:case 109:this.$=Ot[Kt-3],Bi.setClickEvent(Ot[Kt-3],Ot[Kt-2]),Bi.setTooltip(Ot[Kt-3],Ot[Kt]);break;case 102:this.$=Ot[Kt-2],Bi.setClickEvent(Ot[Kt-2],Ot[Kt-1],Ot[Kt]);break;case 103:this.$=Ot[Kt-4],Bi.setClickEvent(Ot[Kt-4],Ot[Kt-3],Ot[Kt-2]),Bi.setTooltip(Ot[Kt-4],Ot[Kt]);break;case 104:this.$=Ot[Kt-2],Bi.setLink(Ot[Kt-2],Ot[Kt]);break;case 105:this.$=Ot[Kt-4],Bi.setLink(Ot[Kt-4],Ot[Kt-2]),Bi.setTooltip(Ot[Kt-4],Ot[Kt]);break;case 106:this.$=Ot[Kt-4],Bi.setLink(Ot[Kt-4],Ot[Kt-2],Ot[Kt]);break;case 107:this.$=Ot[Kt-6],Bi.setLink(Ot[Kt-6],Ot[Kt-4],Ot[Kt]),Bi.setTooltip(Ot[Kt-6],Ot[Kt-2]);break;case 110:this.$=Ot[Kt-1],Bi.setLink(Ot[Kt-1],Ot[Kt]);break;case 111:this.$=Ot[Kt-3],Bi.setLink(Ot[Kt-3],Ot[Kt-2]),Bi.setTooltip(Ot[Kt-3],Ot[Kt]);break;case 112:this.$=Ot[Kt-3],Bi.setLink(Ot[Kt-3],Ot[Kt-2],Ot[Kt]);break;case 113:this.$=Ot[Kt-5],Bi.setLink(Ot[Kt-5],Ot[Kt-4],Ot[Kt]),Bi.setTooltip(Ot[Kt-5],Ot[Kt-2]);break;case 114:this.$=Ot[Kt-4],Bi.addVertex(Ot[Kt-2],void 0,void 0,Ot[Kt]);break;case 115:this.$=Ot[Kt-4],Bi.updateLink([Ot[Kt-2]],Ot[Kt]);break;case 116:this.$=Ot[Kt-4],Bi.updateLink(Ot[Kt-2],Ot[Kt]);break;case 117:this.$=Ot[Kt-8],Bi.updateLinkInterpolate([Ot[Kt-6]],Ot[Kt-2]),Bi.updateLink([Ot[Kt-6]],Ot[Kt]);break;case 118:this.$=Ot[Kt-8],Bi.updateLinkInterpolate(Ot[Kt-6],Ot[Kt-2]),Bi.updateLink(Ot[Kt-6],Ot[Kt]);break;case 119:this.$=Ot[Kt-6],Bi.updateLinkInterpolate([Ot[Kt-4]],Ot[Kt]);break;case 120:this.$=Ot[Kt-6],Bi.updateLinkInterpolate(Ot[Kt-4],Ot[Kt]);break;case 121:case 123:this.$=[Ot[Kt]];break;case 122:case 124:Ot[Kt-2].push(Ot[Kt]),this.$=Ot[Kt-2];break;case 126:this.$=Ot[Kt-1]+Ot[Kt];break;case 174:this.$=Ot[Kt];break;case 175:this.$=Ot[Kt-1]+""+Ot[Kt];break;case 177:this.$=Ot[Kt-1]+""+Ot[Kt];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:s,10:u,12:d},{1:[3]},i(p,v,{5:6}),{4:7,9:s,10:u,12:d},{4:8,9:s,10:u,12:d},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:K,81:ee,82:ie,83:oe,84:pe,85:be,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U,118:Fe,119:Pe,120:je,121:Ie},i(p,[2,9]),i(p,[2,10]),i(p,[2,11]),{8:[1,54],9:[1,55],10:Se,15:53,18:56},i(Ce,[2,3]),i(Ce,[2,4]),i(Ce,[2,5]),i(Ce,[2,6]),i(Ce,[2,7]),i(Ce,[2,8]),{8:ke,9:Ke,11:Ft,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:ke,9:Ke,11:Ft,21:66},{8:ke,9:Ke,11:Ft,21:67},{8:ke,9:Ke,11:Ft,21:68},{8:ke,9:Ke,11:Ft,21:69},{8:ke,9:Ke,11:Ft,21:70},{8:ke,9:Ke,10:[1,71],11:Ft,21:72},i(Ce,[2,36]),{35:[1,73]},{37:[1,74]},i(Ce,[2,39]),i(Ne,[2,46],{18:75,10:Se}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:gn,42:_t,58:Et,77:[1,83],86:Gt,92:[1,80],94:[1,81],98:82,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On,117:84},i(Ce,[2,178]),i(Ce,[2,179]),i(Ce,[2,180]),i(Ce,[2,181]),i(ht,[2,47]),i(ht,[2,49],{44:[1,96]}),i(zr,[2,67],{110:109,29:[1,97],42:j,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:K,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:ae,99:ne,102:se,103:de,106:X,108:ge,111:W,112:xe,113:U}),i(yt,[2,174]),i(yt,[2,135]),i(yt,[2,136]),i(yt,[2,137]),i(yt,[2,138]),i(yt,[2,139]),i(yt,[2,140]),i(yt,[2,141]),i(yt,[2,142]),i(yt,[2,143]),i(yt,[2,144]),i(yt,[2,145]),i(p,[2,12]),i(p,[2,18]),i(p,[2,19]),{9:[1,110]},i(ji,[2,26],{18:111,10:Se}),i(Ce,[2,27]),{40:112,41:38,42:j,43:39,45:40,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},i(Ce,[2,40]),i(Ce,[2,41]),i(Ce,[2,42]),i(xi,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Ma,116:zs},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ce,[2,28]),i(Ce,[2,29]),i(Ce,[2,30]),i(Ce,[2,31]),i(Ce,[2,32]),{10:ao,12:Tr,14:Fn,27:qn,28:122,32:Un,42:At,58:wt,73:on,77:[1,124],78:[1,125],80:135,81:fn,82:An,83:oo,84:jo,85:$o,86:Pa,87:wo,88:123,102:_s,106:tl,108:da,111:j0,112:pm,113:Ml},i(Xc,v,{5:148}),i(Ce,[2,37]),i(Ce,[2,38]),i(Ne,[2,45],{42:Bc}),{42:j,45:150,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},{99:[1,151],100:152,102:[1,153]},{42:j,45:154,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},{42:j,45:155,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},i(ja,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(ja,[2,108],{117:160,10:[1,159],14:gn,42:_t,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On}),i(ja,[2,110],{10:[1,161]}),i(Ou,[2,176]),i(Ou,[2,163]),i(Ou,[2,164]),i(Ou,[2,165]),i(Ou,[2,166]),i(Ou,[2,167]),i(Ou,[2,168]),i(Ou,[2,169]),i(Ou,[2,170]),i(Ou,[2,171]),i(Ou,[2,172]),i(Ou,[2,173]),{42:j,45:162,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},{30:163,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:171,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:173,48:[1,172],65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:174,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:175,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:176,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{106:[1,177]},{30:178,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:179,63:[1,180],65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:181,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:182,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{30:183,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},i(yt,[2,175]),i(p,[2,20]),i(ji,[2,25]),i(Ne,[2,43],{18:184,10:Se}),i(xi,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{75:[1,188],76:189,113:Ma,116:zs},i(kh,[2,73]),i(kh,[2,75]),i(kh,[2,76]),i(kh,[2,161]),i(kh,[2,162]),{8:ke,9:Ke,10:ao,11:Ft,12:Tr,14:Fn,21:191,27:qn,29:[1,190],32:Un,42:At,58:wt,73:on,80:135,81:fn,82:An,83:oo,84:jo,85:$o,86:Pa,87:wo,88:192,102:_s,106:tl,108:da,111:j0,112:pm,113:Ml},i(lu,[2,94]),i(lu,[2,96]),i(lu,[2,97]),i(lu,[2,150]),i(lu,[2,151]),i(lu,[2,152]),i(lu,[2,153]),i(lu,[2,154]),i(lu,[2,155]),i(lu,[2,156]),i(lu,[2,157]),i(lu,[2,158]),i(lu,[2,159]),i(lu,[2,160]),i(lu,[2,83]),i(lu,[2,84]),i(lu,[2,85]),i(lu,[2,86]),i(lu,[2,87]),i(lu,[2,88]),i(lu,[2,89]),i(lu,[2,90]),i(lu,[2,91]),i(lu,[2,92]),i(lu,[2,93]),{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,193],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:K,81:ee,82:ie,83:oe,84:pe,85:be,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U,118:Fe,119:Pe,120:je,121:Ie},{10:Se,18:194},{10:[1,195],42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:109,111:W,112:xe,113:U},{10:[1,196]},{10:[1,197],103:[1,198]},i(o5,[2,121]),{10:[1,199],42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:109,111:W,112:xe,113:U},{10:[1,200],42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:109,111:W,112:xe,113:U},{77:[1,201]},i(ja,[2,102],{10:[1,202]}),i(ja,[2,104],{10:[1,203]}),{77:[1,204]},i(Ou,[2,177]),{77:[1,205],95:[1,206]},i(ht,[2,50],{110:109,42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,111:W,112:xe,113:U}),{31:[1,207],65:Sa,79:208,113:xa,114:Ba,115:ga},i(Wh,[2,79]),i(Wh,[2,81]),i(Wh,[2,82]),i(Wh,[2,146]),i(Wh,[2,147]),i(Wh,[2,148]),i(Wh,[2,149]),{47:[1,209],65:Sa,79:208,113:xa,114:Ba,115:ga},{30:210,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{49:[1,211],65:Sa,79:208,113:xa,114:Ba,115:ga},{51:[1,212],65:Sa,79:208,113:xa,114:Ba,115:ga},{53:[1,213],65:Sa,79:208,113:xa,114:Ba,115:ga},{55:[1,214],65:Sa,79:208,113:xa,114:Ba,115:ga},{58:[1,215]},{62:[1,216],65:Sa,79:208,113:xa,114:Ba,115:ga},{64:[1,217],65:Sa,79:208,113:xa,114:Ba,115:ga},{30:218,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},{31:[1,219],65:Sa,79:208,113:xa,114:Ba,115:ga},{65:Sa,67:[1,220],69:[1,221],79:208,113:xa,114:Ba,115:ga},{65:Sa,67:[1,223],69:[1,222],79:208,113:xa,114:Ba,115:ga},i(Ne,[2,44],{42:Bc}),i(xi,[2,70]),i(xi,[2,69]),{60:[1,224],65:Sa,79:208,113:xa,114:Ba,115:ga},i(xi,[2,72]),i(kh,[2,74]),{30:225,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},i(Xc,v,{5:226}),i(lu,[2,95]),i(Ce,[2,35]),{41:227,42:j,43:39,45:40,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},{10:od,58:Gd,81:cd,89:228,102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{10:od,58:Gd,81:cd,89:239,101:[1,240],102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{10:od,58:Gd,81:cd,89:241,101:[1,242],102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{102:[1,243]},{10:od,58:Gd,81:cd,89:244,102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{42:j,45:245,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U},i(ja,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(ja,[2,109]),i(ja,[2,111],{10:[1,249]}),i(ja,[2,112]),i(zr,[2,51]),i(Wh,[2,80]),i(zr,[2,52]),{49:[1,250],65:Sa,79:208,113:xa,114:Ba,115:ga},i(zr,[2,59]),i(zr,[2,54]),i(zr,[2,55]),i(zr,[2,56]),{106:[1,251]},i(zr,[2,58]),i(zr,[2,60]),{64:[1,252],65:Sa,79:208,113:xa,114:Ba,115:ga},i(zr,[2,62]),i(zr,[2,63]),i(zr,[2,65]),i(zr,[2,64]),i(zr,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Sa,79:208,113:xa,114:Ba,115:ga},{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,254],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:K,81:ee,82:ie,83:oe,84:pe,85:be,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U,118:Fe,119:Pe,120:je,121:Ie},i(ht,[2,48]),i(ja,[2,114],{103:Zi}),i(nu,[2,123],{105:256,10:od,58:Gd,81:cd,102:Kd,106:$g,107:as,108:wn,109:Zr}),i(vu,[2,125]),i(vu,[2,127]),i(vu,[2,128]),i(vu,[2,129]),i(vu,[2,130]),i(vu,[2,131]),i(vu,[2,132]),i(vu,[2,133]),i(vu,[2,134]),i(ja,[2,115],{103:Zi}),{10:[1,257]},i(ja,[2,116],{103:Zi}),{10:[1,258]},i(o5,[2,122]),i(ja,[2,98],{103:Zi}),i(ja,[2,99],{110:109,42:j,58:K,86:ae,99:ne,102:se,103:de,106:X,108:ge,111:W,112:xe,113:U}),i(ja,[2,103]),i(ja,[2,105],{10:[1,259]}),i(ja,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:ke,9:Ke,11:Ft,21:264},i(Ce,[2,34]),{10:od,58:Gd,81:cd,102:Kd,104:265,105:230,106:$g,107:as,108:wn,109:Zr},i(vu,[2,126]),{14:gn,42:_t,58:Et,86:Gt,98:266,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On,117:84},{14:gn,42:_t,58:Et,86:Gt,98:267,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On,117:84},{95:[1,268]},i(ja,[2,113]),i(zr,[2,53]),{30:269,65:Sa,77:Po,78:Fc,79:164,113:xa,114:Ba,115:ga},i(zr,[2,61]),i(Xc,v,{5:270}),i(nu,[2,124],{105:256,10:od,58:Gd,81:cd,102:Kd,106:$g,107:as,108:wn,109:Zr}),i(ja,[2,119],{117:160,10:[1,271],14:gn,42:_t,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On}),i(ja,[2,120],{117:160,10:[1,272],14:gn,42:_t,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Qe,111:Dt,112:kt,113:On}),i(ja,[2,107]),{31:[1,273],65:Sa,79:208,113:xa,114:Ba,115:ga},{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,274],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:K,81:ee,82:ie,83:oe,84:pe,85:be,86:ae,99:ne,102:se,103:de,106:X,108:ge,110:41,111:W,112:xe,113:U,118:Fe,119:Pe,120:je,121:Ie},{10:od,58:Gd,81:cd,89:275,102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},{10:od,58:Gd,81:cd,89:276,102:Kd,104:229,105:230,106:$g,107:as,108:wn,109:Zr},i(zr,[2,57]),i(Ce,[2,33]),i(ja,[2,117],{103:Zi}),i(ja,[2,118],{103:Zi})],defaultActions:{},parseError:function(Wi,Bs){if(Bs.recoverable)this.trace(Wi);else{var Qa=new Error(Wi);throw Qa.hash=Bs,Qa}},parse:function(Wi){var Bs=this,Qa=[0],Bi=[],Nu=[null],Ot=[],W3=this.table,Kt="",z0=0,Bp=0,Y3=2,$9=1,c5=Ot.slice.call(arguments,1),Eh=Object.create(this.lexer),zg={yy:{}};for(var bm in this.yy)Object.prototype.hasOwnProperty.call(this.yy,bm)&&(zg.yy[bm]=this.yy[bm]);Eh.setInput(Wi,zg.yy),zg.yy.lexer=Eh,zg.yy.parser=this,typeof Eh.yylloc>"u"&&(Eh.yylloc={});var z9=Eh.yylloc;Ot.push(z9);var mm=Eh.options&&Eh.options.ranges;typeof zg.yy.parseError=="function"?this.parseError=zg.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function u5(){var Fp;return Fp=Bi.pop()||Eh.lex()||$9,typeof Fp!="number"&&(Fp instanceof Array&&(Bi=Fp,Fp=Bi.pop()),Fp=Bs.symbols_[Fp]||Fp),Fp}for(var y1,ud,ld,q9,Vv={},Y7,G2,X7,l5;;){if(ud=Qa[Qa.length-1],this.defaultActions[ud]?ld=this.defaultActions[ud]:((y1===null||typeof y1>"u")&&(y1=u5()),ld=W3[ud]&&W3[ud][y1]),typeof ld>"u"||!ld.length||!ld[0]){var X3="";l5=[];for(Y7 in W3[ud])this.terminals_[Y7]&&Y7>Y3&&l5.push("'"+this.terminals_[Y7]+"'");Eh.showPosition?X3="Parse error on line "+(z0+1)+`: +`+Eh.showPosition()+` +Expecting `+l5.join(", ")+", got '"+(this.terminals_[y1]||y1)+"'":X3="Parse error on line "+(z0+1)+": Unexpected "+(y1==$9?"end of input":"'"+(this.terminals_[y1]||y1)+"'"),this.parseError(X3,{text:Eh.match,token:this.terminals_[y1]||y1,line:Eh.yylineno,loc:z9,expected:l5})}if(ld[0]instanceof Array&&ld.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ud+", token: "+y1);switch(ld[0]){case 1:Qa.push(y1),Nu.push(Eh.yytext),Ot.push(Eh.yylloc),Qa.push(ld[1]),y1=null,Bp=Eh.yyleng,Kt=Eh.yytext,z0=Eh.yylineno,z9=Eh.yylloc;break;case 2:if(G2=this.productions_[ld[1]][1],Vv.$=Nu[Nu.length-G2],Vv._$={first_line:Ot[Ot.length-(G2||1)].first_line,last_line:Ot[Ot.length-1].last_line,first_column:Ot[Ot.length-(G2||1)].first_column,last_column:Ot[Ot.length-1].last_column},mm&&(Vv._$.range=[Ot[Ot.length-(G2||1)].range[0],Ot[Ot.length-1].range[1]]),q9=this.performAction.apply(Vv,[Kt,Bp,z0,zg.yy,ld[1],Nu,Ot].concat(c5)),typeof q9<"u")return q9;G2&&(Qa=Qa.slice(0,-1*G2*2),Nu=Nu.slice(0,-1*G2),Ot=Ot.slice(0,-1*G2)),Qa.push(this.productions_[ld[1]][0]),Nu.push(Vv.$),Ot.push(Vv._$),X7=W3[Qa[Qa.length-2]][Qa[Qa.length-1]],Qa.push(X7);break;case 3:return!0}}return!0}},Yh=function(){var $0={EOF:1,parseError:function(Bs,Qa){if(this.yy.parser)this.yy.parser.parseError(Bs,Qa);else throw new Error(Bs)},setInput:function(Wi,Bs){return this.yy=Bs||this.yy||{},this._input=Wi,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},input:function(){var Wi=this._input[0];this.yytext+=Wi,this.yyleng++,this.offset++,this.match+=Wi,this.matched+=Wi;var Bs=Wi.match(/(?:\r\n?|\n).*/g);return Bs?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Wi},unput:function(Wi){var Bs=Wi.length,Qa=Wi.split(/(?:\r\n?|\n)/g);this._input=Wi+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Bs),this.offset-=Bs;var Bi=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),Qa.length-1&&(this.yylineno-=Qa.length-1);var Nu=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:Qa?(Qa.length===Bi.length?this.yylloc.first_column:0)+Bi[Bi.length-Qa.length].length-Qa[0].length:this.yylloc.first_column-Bs},this.options.ranges&&(this.yylloc.range=[Nu[0],Nu[0]+this.yyleng-Bs]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Wi){this.unput(this.match.slice(Wi))},pastInput:function(){var Wi=this.matched.substr(0,this.matched.length-this.match.length);return(Wi.length>20?"...":"")+Wi.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Wi=this.match;return Wi.length<20&&(Wi+=this._input.substr(0,20-Wi.length)),(Wi.substr(0,20)+(Wi.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Wi=this.pastInput(),Bs=new Array(Wi.length+1).join("-");return Wi+this.upcomingInput()+` +`+Bs+"^"},test_match:function(Wi,Bs){var Qa,Bi,Nu;if(this.options.backtrack_lexer&&(Nu={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&&(Nu.yylloc.range=this.yylloc.range.slice(0))),Bi=Wi[0].match(/(?:\r\n?|\n).*/g),Bi&&(this.yylineno+=Bi.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Bi?Bi[Bi.length-1].length-Bi[Bi.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Wi[0].length},this.yytext+=Wi[0],this.match+=Wi[0],this.matches=Wi,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(Wi[0].length),this.matched+=Wi[0],Qa=this.performAction.call(this,this.yy,this,Bs,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Qa)return Qa;if(this._backtrack){for(var Ot in Nu)this[Ot]=Nu[Ot];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Wi,Bs,Qa,Bi;this._more||(this.yytext="",this.match="");for(var Nu=this._currentRules(),Ot=0;OtBs[0].length)){if(Bs=Qa,Bi=Ot,this.options.backtrack_lexer){if(Wi=this.test_match(Qa,Nu[Ot]),Wi!==!1)return Wi;if(this._backtrack){Bs=!1;continue}else return!1}else if(!this.options.flex)break}return Bs?(Wi=this.test_match(Bs,Nu[Bi]),Wi!==!1?Wi:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Bs=this.next();return Bs||this.lex()},begin:function(Bs){this.conditionStack.push(Bs)},popState:function(){var Bs=this.conditionStack.length-1;return Bs>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Bs){return Bs=this.conditionStack.length-1-Math.abs(Bs||0),Bs>=0?this.conditionStack[Bs]:"INITIAL"},pushState:function(Bs){this.begin(Bs)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Bs,Qa,Bi,Nu){switch(Bi){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return Bs.lex.firstGraph()&&this.begin("dir"),12;case 30:return Bs.lex.firstGraph()&&this.begin("dir"),12;case 31:return Bs.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return $0}();Dl.lexer=Yh;function w1(){this.yy={}}return w1.prototype=Dl,Dl.Parser=w1,new w1}();Ube.parser=Ube;const Gbe=Ube,yUt="flowchart-";let Oqe=0,BD=qt(),oh={},z3=[],FD={},R7=[],IQ={},OQ={},NQ=0,Kbe=!0,$v,PQ,BQ=[];const FQ=i=>li.sanitizeText(i,BD),mR=function(i){const s=Object.keys(oh);for(const u of s)if(oh[u].id===i)return oh[u].domId;return i},Nqe=function(i,s,u,d,p,v,b={}){let y,T=i;T!==void 0&&T.trim().length!==0&&(oh[T]===void 0&&(oh[T]={id:T,labelType:"text",domId:yUt+T+"-"+Oqe,styles:[],classes:[]}),Oqe++,s!==void 0?(BD=qt(),y=FQ(s.text.trim()),oh[T].labelType=s.type,y[0]==='"'&&y[y.length-1]==='"'&&(y=y.substring(1,y.length-1)),oh[T].text=y):oh[T].text===void 0&&(oh[T].text=i),u!==void 0&&(oh[T].type=u),d!=null&&d.forEach(function(_){oh[T].styles.push(_)}),p!=null&&p.forEach(function(_){oh[T].classes.push(_)}),v!==void 0&&(oh[T].dir=v),oh[T].props===void 0?oh[T].props=b:b!==void 0&&Object.assign(oh[T].props,b))},Pqe=function(i,s,u){const v={start:i,end:s,type:void 0,text:"",labelType:"text"};Xe.info("abc78 Got edge...",v);const b=u.text;if(b!==void 0&&(v.text=FQ(b.text.trim()),v.text[0]==='"'&&v.text[v.text.length-1]==='"'&&(v.text=v.text.substring(1,v.text.length-1)),v.labelType=b.type),u!==void 0&&(v.type=u.type,v.stroke=u.stroke,v.length=u.length),(v==null?void 0:v.length)>10&&(v.length=10),z3.length<(BD.maxEdges??500))Xe.info("abc78 pushing edge..."),z3.push(v);else throw new Error(`Edge limit exceeded. ${z3.length} edges found, but the limit is ${BD.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)},Bqe=function(i,s,u){Xe.info("addLink (abc78)",i,s,u);let d,p;for(d=0;d=z3.length)throw new Error(`The index ${u} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${z3.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);u==="default"?z3.defaultStyle=s:(Ao.isSubstringInArray("fill",s)===-1&&s.push("fill:none"),z3[u].style=s)})},jqe=function(i,s){i.split(",").forEach(function(u){FD[u]===void 0&&(FD[u]={id:u,styles:[],textStyles:[]}),s!=null&&s.forEach(function(d){if(d.match("color")){const p=d.replace("fill","bgFill").replace("color","fill");FD[u].textStyles.push(p)}FD[u].styles.push(d)})})},$qe=function(i){$v=i,$v.match(/.*/)&&($v="LR"),$v.match(/.*v/)&&($v="TB"),$v==="TD"&&($v="TB")},RQ=function(i,s){i.split(",").forEach(function(u){let d=u;oh[d]!==void 0&&oh[d].classes.push(s),IQ[d]!==void 0&&IQ[d].classes.push(s)})},xUt=function(i,s){i.split(",").forEach(function(u){s!==void 0&&(OQ[PQ==="gen-1"?mR(u):u]=FQ(s))})},kUt=function(i,s,u){let d=mR(i);if(qt().securityLevel!=="loose"||s===void 0)return;let p=[];if(typeof u=="string"){p=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v")),p.classed("hover",!0)}).on("mouseout",function(){s.transition().duration(500).style("opacity",0),Ir(this).classed("hover",!1)})};BQ.push(Yqe);const Xqe=function(i="gen-1"){oh={},FD={},z3=[],BQ=[Yqe],R7=[],IQ={},NQ=0,OQ={},Kbe=!0,PQ=i,BD=qt(),Pg()},Qqe=i=>{PQ=i||"gen-2"},Jqe=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},Zqe=function(i,s,u){let d=i.text.trim(),p=u.text;i===u&&u.text.match(/\s/)&&(d=void 0);function v(A){const P={boolean:{},number:{},string:{}},R=[];let F;return{nodeList:A.filter(function(K){const ee=typeof K;return K.stmt&&K.stmt==="dir"?(F=K.value,!1):K.trim()===""?!1:ee in P?P[ee].hasOwnProperty(K)?!1:P[ee][K]=!0:R.includes(K)?!1:R.push(K)}),dir:F}}let b=[];const{nodeList:y,dir:T}=v(b.concat.apply(b,s));if(b=y,PQ==="gen-1")for(let A=0;A2e3)return;if(eHe[vR]=s,R7[s].id===i)return{result:!0,count:0};let d=0,p=1;for(;d=0){const b=tHe(i,v);if(b.result)return{result:!0,count:p+b.count};p=p+b.count}d=d+1}return{result:!1,count:p}},nHe=function(i){return eHe[i]},rHe=function(){vR=-1,R7.length>0&&tHe("none",R7.length-1)},iHe=function(){return R7},sHe=()=>Kbe?(Kbe=!1,!0):!1,TUt=i=>{let s=i.trim(),u="arrow_open";switch(s[0]){case"<":u="arrow_point",s=s.slice(1);break;case"x":u="arrow_cross",s=s.slice(1);break;case"o":u="arrow_circle",s=s.slice(1);break}let d="normal";return s.includes("=")&&(d="thick"),s.includes(".")&&(d="dotted"),{type:u,stroke:d}},CUt=(i,s)=>{const u=s.length;let d=0;for(let p=0;p{const s=i.trim();let u=s.slice(0,-1),d="arrow_open";switch(s.slice(-1)){case"x":d="arrow_cross",s[0]==="x"&&(d="double_"+d,u=u.slice(1));break;case">":d="arrow_point",s[0]==="<"&&(d="double_"+d,u=u.slice(1));break;case"o":d="arrow_circle",s[0]==="o"&&(d="double_"+d,u=u.slice(1));break}let p="normal",v=u.length-1;u[0]==="="&&(p="thick"),u[0]==="~"&&(p="invisible");let b=CUt(".",u);return b&&(p="dotted",v=b),{type:d,stroke:p,length:v}},aHe=(i,s)=>{const u=SUt(i);let d;if(s){if(d=TUt(s),d.stroke!==u.stroke)return{type:"INVALID",stroke:"INVALID"};if(d.type==="arrow_open")d.type=u.type;else{if(d.type!==u.type)return{type:"INVALID",stroke:"INVALID"};d.type="double_"+d.type}return d.type==="double_arrow"&&(d.type="double_arrow_point"),d.length=u.length,d}return u},oHe=(i,s)=>{let u=!1;return i.forEach(d=>{d.nodes.indexOf(s)>=0&&(u=!0)}),u},cHe=(i,s)=>{const u=[];return i.nodes.forEach((d,p)=>{oHe(s,d)||u.push(i.nodes[p])}),{nodes:u}},uHe={firstGraph:sHe},HC={defaultConfig:()=>Zje.flowchart,setAccTitle:Bg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,addVertex:Nqe,lookUpDomId:mR,addLink:Bqe,updateLinkInterpolate:Fqe,updateLink:Rqe,addClass:jqe,setDirection:$qe,setClass:RQ,setTooltip:xUt,getTooltip:qqe,setClickEvent:Hqe,setLink:zqe,bindFunctions:Vqe,getDirection:Uqe,getVertices:Gqe,getEdges:Kqe,getClasses:Wqe,clear:Xqe,setGen:Qqe,defaultStyle:Jqe,addSubGraph:Zqe,getDepthFirstPos:nHe,indexNodes:rHe,getSubGraphs:iHe,destructLink:aHe,lex:uHe,exists:oHe,makeUniq:cHe,setDiagramTitle:cm,getDiagramTitle:Ap},_Ut=Object.freeze(Object.defineProperty({__proto__:null,addClass:jqe,addLink:Bqe,addSingleLink:Pqe,addSubGraph:Zqe,addVertex:Nqe,bindFunctions:Vqe,clear:Xqe,default:HC,defaultStyle:Jqe,destructLink:aHe,firstGraph:sHe,getClasses:Wqe,getDepthFirstPos:nHe,getDirection:Uqe,getEdges:Kqe,getSubGraphs:iHe,getTooltip:qqe,getVertices:Gqe,indexNodes:rHe,lex:uHe,lookUpDomId:mR,setClass:RQ,setClickEvent:Hqe,setDirection:$qe,setGen:Qqe,setLink:zqe,updateLink:Rqe,updateLinkInterpolate:Fqe},Symbol.toStringTag,{value:"Module"}));var AUt="[object Symbol]";function VC(i){return typeof i=="symbol"||q4(i)&&AC(i)==AUt}function RD(i,s){for(var u=-1,d=i==null?0:i.length,p=Array(d);++u-1}function fm(i){return w9(i)?aje(i):l$e(i)}var GUt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,KUt=/^\w*$/;function Wbe(i,s){if(D0(i))return!1;var u=typeof i;return u=="number"||u=="symbol"||u=="boolean"||i==null||VC(i)?!0:KUt.test(i)||!GUt.test(i)||s!=null&&i in Object(s)}var WUt=500;function YUt(i){var s=bD(i,function(d){return u.size===WUt&&u.clear(),d}),u=s.cache;return s}var XUt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,QUt=/\\(\\)?/g,JUt=YUt(function(i){var s=[];return i.charCodeAt(0)===46&&s.push(""),i.replace(XUt,function(u,d,p,v){s.push(p?v.replace(QUt,"$1"):d||u)}),s});const ZUt=JUt;function mHe(i){return i==null?"":fHe(i)}function $Q(i,s){return D0(i)?i:Wbe(i,s)?[i]:ZUt(mHe(i))}var eGt=1/0;function wR(i){if(typeof i=="string"||VC(i))return i;var s=i+"";return s=="0"&&1/i==-eGt?"-0":s}function zQ(i,s){s=$Q(s,i);for(var u=0,d=s.length;i!=null&&u0&&u(y)?s>1?qQ(y,s-1,u,d,p):Ybe(p,y):d||(p[p.length]=y)}return p}function jD(i){var s=i==null?0:i.length;return s?qQ(i,1):[]}function rGt(i){return lje(uje(i,void 0,jD),i+"")}function iGt(i,s,u,d){var p=-1,v=i==null?0:i.length;for(d&&v&&(u=i[++p]);++py))return!1;var _=v.get(i),A=v.get(s);if(_&&A)return _==s&&A==i;var P=-1,R=!0,F=u&DKt?new xR:void 0;for(v.set(i,s),v.set(s,i);++P2?s[2]:void 0;for(p&&QF(s[0],s[1],p)&&(d=1);++u-1?p[v?s[b]:b]:void 0}}var yWt=Math.max;function xWt(i,s,u){var d=i==null?0:i.length;if(!d)return-1;var p=u==null?0:$Ut(u);return p<0&&(p=yWt(d+p,0)),bHe(i,I9(s),p)}var kWt=wWt(xWt);const rme=kWt;function VHe(i,s){var u=-1,d=w9(i)?Array(i.length):[];return VQ(i,function(p,v,b){d[++u]=s(p,v,b)}),d}function P0(i,s){var u=D0(i)?RD:VHe;return u(i,I9(s))}function EWt(i,s){return i==null?i:b2e(i,nme(s),IC)}function TWt(i,s){return i&&tme(i,nme(s))}function CWt(i,s){return i>s}var SWt=Object.prototype,_Wt=SWt.hasOwnProperty;function AWt(i,s){return i!=null&&_Wt.call(i,s)}function Lo(i,s){return i!=null&&$He(i,s,AWt)}function LWt(i,s){return RD(s,function(u){return i[u]})}function $7(i){return i==null?[]:LWt(i,fm(i))}function Qf(i){return i===void 0}function UHe(i,s){return is||v&&b&&T&&!y&&!_||d&&b&&T||!u&&T||!p)return 1;if(!d&&!v&&!_&&i=y)return T;var _=u[d];return T*(_=="desc"?-1:1)}}return i.index-s.index}function PWt(i,s,u){s.length?s=RD(s,function(v){return D0(v)?function(b){return zQ(b,v.length===1?v[0]:v)}:v}):s=[OC];var d=-1;s=RD(s,NX(I9));var p=VHe(i,function(v,b,y){var T=RD(s,function(_){return _(v)});return{criteria:T,index:++d,value:v}});return IWt(p,function(v,b){return NWt(v,b,u)})}function BWt(i,s){return DWt(i,s,function(u,d){return zHe(i,d)})}var FWt=rGt(function(i,s){return i==null?{}:BWt(i,s)});const ER=FWt;var RWt=Math.ceil,jWt=Math.max;function $Wt(i,s,u,d){for(var p=-1,v=jWt(RWt((s-i)/(u||1)),0),b=Array(v);v--;)b[d?v:++p]=i,i+=u;return b}function zWt(i){return function(s,u,d){return d&&typeof d!="number"&&QF(s,u,d)&&(u=d=void 0),s=jQ(s),u===void 0?(u=s,s=0):u=jQ(u),d=d===void 0?s1&&QF(i,s[0],s[1])?s=[]:u>2&&QF(s[0],s[1],s[2])&&(s=[s[0]]),PWt(i,qQ(s,1),[])});const CR=VWt;var UWt=1/0,GWt=CD&&1/Jbe(new CD([,-0]))[1]==UWt?function(i){return new CD(i)}:zUt;const KWt=GWt;var WWt=200;function YWt(i,s,u){var d=-1,p=UUt,v=i.length,b=!0,y=[],T=y;if(u)b=!1,p=mWt;else if(v>=WWt){var _=s?null:KWt(i);if(_)return Jbe(_);b=!1,p=IHe,T=new xR}else T=s?[]:y;e:for(;++d1?p.setNode(v,u):p.setNode(v)}),this}setNode(s,u){return Lo(this._nodes,s)?(arguments.length>1&&(this._nodes[s]=u),this):(this._nodes[s]=arguments.length>1?u:this._defaultNodeLabelFn(s),this._isCompound&&(this._parent[s]=KC,this._children[s]={},this._children[KC][s]=!0),this._in[s]={},this._preds[s]={},this._out[s]={},this._sucs[s]={},++this._nodeCount,this)}node(s){return this._nodes[s]}hasNode(s){return Lo(this._nodes,s)}removeNode(s){var u=this;if(Lo(this._nodes,s)){var d=function(p){u.removeEdge(u._edgeObjs[p])};delete this._nodes[s],this._isCompound&&(this._removeFromParentsChildList(s),delete this._parent[s],Ar(this.children(s),function(p){u.setParent(p)}),delete this._children[s]),Ar(fm(this._in[s]),d),delete this._in[s],delete this._preds[s],Ar(fm(this._out[s]),d),delete this._out[s],delete this._sucs[s],--this._nodeCount}return this}setParent(s,u){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Qf(u))u=KC;else{u+="";for(var d=u;!Qf(d);d=this.parent(d))if(d===s)throw new Error("Setting "+u+" as parent of "+s+" would create a cycle");this.setNode(u)}return this.setNode(s),this._removeFromParentsChildList(s),this._parent[s]=u,this._children[u][s]=!0,this}_removeFromParentsChildList(s){delete this._children[this._parent[s]][s]}parent(s){if(this._isCompound){var u=this._parent[s];if(u!==KC)return u}}children(s){if(Qf(s)&&(s=KC),this._isCompound){var u=this._children[s];if(u)return fm(u)}else{if(s===KC)return this.nodes();if(this.hasNode(s))return[]}}predecessors(s){var u=this._preds[s];if(u)return fm(u)}successors(s){var u=this._sucs[s];if(u)return fm(u)}neighbors(s){var u=this.predecessors(s);if(u)return QWt(u,this.successors(s))}isLeaf(s){var u;return this.isDirected()?u=this.successors(s):u=this.neighbors(s),u.length===0}filterNodes(s){var u=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});u.setGraph(this.graph());var d=this;Ar(this._nodes,function(b,y){s(y)&&u.setNode(y,b)}),Ar(this._edgeObjs,function(b){u.hasNode(b.v)&&u.hasNode(b.w)&&u.setEdge(b,d.edge(b))});var p={};function v(b){var y=d.parent(b);return y===void 0||u.hasNode(y)?(p[b]=y,y):y in p?p[y]:v(y)}return this._isCompound&&Ar(u.nodes(),function(b){u.setParent(b,v(b))}),u}setDefaultEdgeLabel(s){return gD(s)||(s=yD(s)),this._defaultEdgeLabelFn=s,this}edgeCount(){return this._edgeCount}edges(){return $7(this._edgeObjs)}setPath(s,u){var d=this,p=arguments;return TR(s,function(v,b){return p.length>1?d.setEdge(v,b,u):d.setEdge(v,b),b}),this}setEdge(){var s,u,d,p,v=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(s=b.v,u=b.w,d=b.name,arguments.length===2&&(p=arguments[1],v=!0)):(s=b,u=arguments[1],d=arguments[3],arguments.length>2&&(p=arguments[2],v=!0)),s=""+s,u=""+u,Qf(d)||(d=""+d);var y=SR(this._isDirected,s,u,d);if(Lo(this._edgeLabels,y))return v&&(this._edgeLabels[y]=p),this;if(!Qf(d)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(s),this.setNode(u),this._edgeLabels[y]=v?p:this._defaultEdgeLabelFn(s,u,d);var T=nYt(this._isDirected,s,u,d);return s=T.v,u=T.w,Object.freeze(T),this._edgeObjs[y]=T,KHe(this._preds[u],s),KHe(this._sucs[s],u),this._in[u][y]=T,this._out[s][y]=T,this._edgeCount++,this}edge(s,u,d){var p=arguments.length===1?ame(this._isDirected,arguments[0]):SR(this._isDirected,s,u,d);return this._edgeLabels[p]}hasEdge(s,u,d){var p=arguments.length===1?ame(this._isDirected,arguments[0]):SR(this._isDirected,s,u,d);return Lo(this._edgeLabels,p)}removeEdge(s,u,d){var p=arguments.length===1?ame(this._isDirected,arguments[0]):SR(this._isDirected,s,u,d),v=this._edgeObjs[p];return v&&(s=v.v,u=v.w,delete this._edgeLabels[p],delete this._edgeObjs[p],WHe(this._preds[u],s),WHe(this._sucs[s],u),delete this._in[u][p],delete this._out[s][p],this._edgeCount--),this}inEdges(s,u){var d=this._in[s];if(d){var p=$7(d);return u?j7(p,function(v){return v.v===u}):p}}outEdges(s,u){var d=this._out[s];if(d){var p=$7(d);return u?j7(p,function(v){return v.w===u}):p}}nodeEdges(s,u){var d=this.inEdges(s,u);if(d)return d.concat(this.outEdges(s,u))}}B0.prototype._nodeCount=0,B0.prototype._edgeCount=0;function KHe(i,s){i[s]?i[s]++:i[s]=1}function WHe(i,s){--i[s]||delete i[s]}function SR(i,s,u,d){var p=""+s,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}return p+GHe+v+GHe+(Qf(d)?tYt:d)}function nYt(i,s,u,d){var p=""+s,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}var y={v:p,w:v};return d&&(y.name=d),y}function ame(i,s){return SR(i,s.v,s.w,s.name)}class rYt{constructor(){var s={};s._next=s._prev=s,this._sentinel=s}dequeue(){var s=this._sentinel,u=s._prev;if(u!==s)return YHe(u),u}enqueue(s){var u=this._sentinel;s._prev&&s._next&&YHe(s),s._next=u._next,u._next._prev=s,u._next=s,s._prev=u}toString(){for(var s=[],u=this._sentinel,d=u._prev;d!==u;)s.push(JSON.stringify(d,iYt)),d=d._prev;return"["+s.join(", ")+"]"}}function YHe(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function iYt(i,s){if(i!=="_next"&&i!=="_prev")return s}var sYt=yD(1);function aYt(i,s){if(i.nodeCount()<=1)return[];var u=cYt(i,s||sYt),d=oYt(u.graph,u.buckets,u.zeroIdx);return jD(P0(d,function(p){return i.outEdges(p.v,p.w)}))}function oYt(i,s,u){for(var d=[],p=s[s.length-1],v=s[0],b;i.nodeCount();){for(;b=v.dequeue();)ome(i,s,u,b);for(;b=p.dequeue();)ome(i,s,u,b);if(i.nodeCount()){for(var y=s.length-2;y>0;--y)if(b=s[y].dequeue(),b){d=d.concat(ome(i,s,u,b,!0));break}}}return d}function ome(i,s,u,d,p){var v=p?[]:void 0;return Ar(i.inEdges(d.v),function(b){var y=i.edge(b),T=i.node(b.v);p&&v.push({v:b.v,w:b.w}),T.out-=y,cme(s,u,T)}),Ar(i.outEdges(d.v),function(b){var y=i.edge(b),T=b.w,_=i.node(T);_.in-=y,cme(s,u,_)}),i.removeNode(d.v),v}function cYt(i,s){var u=new B0,d=0,p=0;Ar(i.nodes(),function(y){u.setNode(y,{v:y,in:0,out:0})}),Ar(i.edges(),function(y){var T=u.edge(y.v,y.w)||0,_=s(y),A=T+_;u.setEdge(y.v,y.w,A),p=Math.max(p,u.node(y.v).out+=_),d=Math.max(d,u.node(y.w).in+=_)});var v=GC(p+d+3).map(function(){return new rYt}),b=d+1;return Ar(u.nodes(),function(y){cme(v,b,u.node(y))}),{graph:u,buckets:v,zeroIdx:b}}function cme(i,s,u){u.out?u.in?i[u.out-u.in+s].enqueue(u):i[i.length-1].enqueue(u):i[0].enqueue(u)}function uYt(i){var s=i.graph().acyclicer==="greedy"?aYt(i,u(i)):lYt(i);Ar(s,function(d){var p=i.edge(d);i.removeEdge(d),p.forwardName=d.name,p.reversed=!0,i.setEdge(d.w,d.v,p,KQ("rev"))});function u(d){return function(p){return d.edge(p).weight}}}function lYt(i){var s=[],u={},d={};function p(v){Lo(d,v)||(d[v]=!0,u[v]=!0,Ar(i.outEdges(v),function(b){Lo(u,b.w)?s.push(b):p(b.w)}),delete u[v])}return Ar(i.nodes(),p),s}function hYt(i){Ar(i.edges(),function(s){var u=i.edge(s);if(u.reversed){i.removeEdge(s);var d=u.forwardName;delete u.reversed,delete u.forwardName,i.setEdge(s.w,s.v,u,d)}})}function zD(i,s,u,d){var p;do p=KQ(d);while(i.hasNode(p));return u.dummy=s,i.setNode(p,u),p}function fYt(i){var s=new B0().setGraph(i.graph());return Ar(i.nodes(),function(u){s.setNode(u,i.node(u))}),Ar(i.edges(),function(u){var d=s.edge(u.v,u.w)||{weight:0,minlen:1},p=i.edge(u);s.setEdge(u.v,u.w,{weight:d.weight+p.weight,minlen:Math.max(d.minlen,p.minlen)})}),s}function XHe(i){var s=new B0({multigraph:i.isMultigraph()}).setGraph(i.graph());return Ar(i.nodes(),function(u){i.children(u).length||s.setNode(u,i.node(u))}),Ar(i.edges(),function(u){s.setEdge(u,i.edge(u))}),s}function QHe(i,s){var u=i.x,d=i.y,p=s.x-u,v=s.y-d,b=i.width/2,y=i.height/2;if(!p&&!v)throw new Error("Not possible to find intersection inside of the rectangle");var T,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),T=y*p/v,_=y):(p<0&&(b=-b),T=b,_=b*v/p),{x:u+T,y:d+_}}function WQ(i){var s=P0(GC(ZHe(i)+1),function(){return[]});return Ar(i.nodes(),function(u){var d=i.node(u),p=d.rank;Qf(p)||(s[p][d.order]=u)}),s}function dYt(i){var s=kR(P0(i.nodes(),function(u){return i.node(u).rank}));Ar(i.nodes(),function(u){var d=i.node(u);Lo(d,"rank")&&(d.rank-=s)})}function gYt(i){var s=kR(P0(i.nodes(),function(v){return i.node(v).rank})),u=[];Ar(i.nodes(),function(v){var b=i.node(v).rank-s;u[b]||(u[b]=[]),u[b].push(v)});var d=0,p=i.graph().nodeRankFactor;Ar(u,function(v,b){Qf(v)&&b%p!==0?--d:d&&Ar(v,function(y){i.node(y).rank+=d})})}function JHe(i,s,u,d){var p={width:0,height:0};return arguments.length>=4&&(p.rank=u,p.order=d),zD(i,"border",p,s)}function ZHe(i){return UC(P0(i.nodes(),function(s){var u=i.node(s).rank;if(!Qf(u))return u}))}function pYt(i,s){var u={lhs:[],rhs:[]};return Ar(i,function(d){s(d)?u.lhs.push(d):u.rhs.push(d)}),u}function bYt(i,s){var u=qHe();try{return s()}finally{console.log(i+" time: "+(qHe()-u)+"ms")}}function mYt(i,s){return s()}function vYt(i){function s(u){var d=i.children(u),p=i.node(u);if(d.length&&Ar(d,s),Lo(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var v=p.minRank,b=p.maxRank+1;vb.lim&&(y=b,T=!0);var _=j7(s.edges(),function(A){return T===hVe(i,i.node(A.v),y)&&T!==hVe(i,i.node(A.w),y)});return sme(_,function(A){return _R(s,A)})}function lVe(i,s,u,d){var p=u.v,v=u.w;i.removeEdge(p,v),i.setEdge(d.v,d.w,{}),dme(i),fme(i,s),OYt(i,s)}function OYt(i,s){var u=rme(i.nodes(),function(p){return!s.node(p).parent}),d=DYt(i,u);d=d.slice(1),Ar(d,function(p){var v=i.node(p).parent,b=s.edge(p,v),y=!1;b||(b=s.edge(v,p),y=!0),s.node(p).rank=s.node(v).rank+(y?b.minlen:-b.minlen)})}function NYt(i,s,u){return i.hasEdge(s,u)}function hVe(i,s,u){return u.low<=s.lim&&s.lim<=u.lim}function PYt(i){switch(i.graph().ranker){case"network-simplex":fVe(i);break;case"tight-tree":FYt(i);break;case"longest-path":BYt(i);break;default:fVe(i)}}var BYt=hme;function FYt(i){hme(i),rVe(i)}function fVe(i){WC(i)}function RYt(i){var s=zD(i,"root",{},"_root"),u=jYt(i),d=UC($7(u))-1,p=2*d+1;i.graph().nestingRoot=s,Ar(i.edges(),function(b){i.edge(b).minlen*=p});var v=$Yt(i)+1;Ar(i.children(),function(b){dVe(i,s,p,v,d,u,b)}),i.graph().nodeRankFactor=p}function dVe(i,s,u,d,p,v,b){var y=i.children(b);if(!y.length){b!==s&&i.setEdge(s,b,{weight:0,minlen:u});return}var T=JHe(i,"_bt"),_=JHe(i,"_bb"),A=i.node(b);i.setParent(T,b),A.borderTop=T,i.setParent(_,b),A.borderBottom=_,Ar(y,function(P){dVe(i,s,u,d,p,v,P);var R=i.node(P),F=R.borderTop?R.borderTop:P,j=R.borderBottom?R.borderBottom:P,K=R.borderTop?d:2*d,ee=F!==j?1:p-v[b]+1;i.setEdge(T,F,{weight:K,minlen:ee,nestingEdge:!0}),i.setEdge(j,_,{weight:K,minlen:ee,nestingEdge:!0})}),i.parent(b)||i.setEdge(s,T,{weight:0,minlen:p+v[b]})}function jYt(i){var s={};function u(d,p){var v=i.children(d);v&&v.length&&Ar(v,function(b){u(b,p+1)}),s[d]=p}return Ar(i.children(),function(d){u(d,1)}),s}function $Yt(i){return TR(i.edges(),function(s,u){return s+i.edge(u).weight},0)}function zYt(i){var s=i.graph();i.removeNode(s.nestingRoot),delete s.nestingRoot,Ar(i.edges(),function(u){var d=i.edge(u);d.nestingEdge&&i.removeEdge(u)})}function qYt(i,s,u){var d={},p;Ar(u,function(v){for(var b=i.parent(v),y,T;b;){if(y=i.parent(b),y?(T=d[y],d[y]=b):(T=p,p=b),T&&T!==b){s.setEdge(T,b);return}b=y}})}function HYt(i,s,u){var d=VYt(i),p=new B0({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(function(v){return i.node(v)});return Ar(i.nodes(),function(v){var b=i.node(v),y=i.parent(v);(b.rank===s||b.minRank<=s&&s<=b.maxRank)&&(p.setNode(v),p.setParent(v,y||d),Ar(i[u](v),function(T){var _=T.v===v?T.w:T.v,A=p.edge(_,v),P=Qf(A)?0:A.weight;p.setEdge(_,v,{weight:i.edge(T).weight+P})}),Lo(b,"minRank")&&p.setNode(v,{borderLeft:b.borderLeft[s],borderRight:b.borderRight[s]}))}),p}function VYt(i){for(var s;i.hasNode(s=KQ("_root")););return s}function UYt(i,s){for(var u=0,d=1;d0;)A%2&&(P+=y[A+1]),A=A-1>>1,y[A]+=_.weight;T+=_.weight*P})),T}function KYt(i){var s={},u=j7(i.nodes(),function(y){return!i.children(y).length}),d=UC(P0(u,function(y){return i.node(y).rank})),p=P0(GC(d+1),function(){return[]});function v(y){if(!Lo(s,y)){s[y]=!0;var T=i.node(y);p[T.rank].push(y),Ar(i.successors(y),v)}}var b=CR(u,function(y){return i.node(y).rank});return Ar(b,v),p}function WYt(i,s){return P0(s,function(u){var d=i.inEdges(u);if(d.length){var p=TR(d,function(v,b){var y=i.edge(b),T=i.node(b.v);return{sum:v.sum+y.weight*T.order,weight:v.weight+y.weight}},{sum:0,weight:0});return{v:u,barycenter:p.sum/p.weight,weight:p.weight}}else return{v:u}})}function YYt(i,s){var u={};Ar(i,function(p,v){var b=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:v};Qf(p.barycenter)||(b.barycenter=p.barycenter,b.weight=p.weight)}),Ar(s.edges(),function(p){var v=u[p.v],b=u[p.w];!Qf(v)&&!Qf(b)&&(b.indegree++,v.out.push(u[p.w]))});var d=j7(u,function(p){return!p.indegree});return XYt(d)}function XYt(i){var s=[];function u(v){return function(b){b.merged||(Qf(b.barycenter)||Qf(v.barycenter)||b.barycenter>=v.barycenter)&&QYt(v,b)}}function d(v){return function(b){b.in.push(v),--b.indegree===0&&i.push(b)}}for(;i.length;){var p=i.pop();s.push(p),Ar(p.in.reverse(),u(p)),Ar(p.out,d(p))}return P0(j7(s,function(v){return!v.merged}),function(v){return ER(v,["vs","i","barycenter","weight"])})}function QYt(i,s){var u=0,d=0;i.weight&&(u+=i.barycenter*i.weight,d+=i.weight),s.weight&&(u+=s.barycenter*s.weight,d+=s.weight),i.vs=s.vs.concat(i.vs),i.barycenter=u/d,i.weight=d,i.i=Math.min(s.i,i.i),s.merged=!0}function JYt(i,s){var u=pYt(i,function(A){return Lo(A,"barycenter")}),d=u.lhs,p=CR(u.rhs,function(A){return-A.i}),v=[],b=0,y=0,T=0;d.sort(ZYt(!!s)),T=gVe(v,p,T),Ar(d,function(A){T+=A.vs.length,v.push(A.vs),b+=A.barycenter*A.weight,y+=A.weight,T=gVe(v,p,T)});var _={vs:jD(v)};return y&&(_.barycenter=b/y,_.weight=y),_}function gVe(i,s,u){for(var d;s.length&&(d=UQ(s)).i<=u;)s.pop(),i.push(d.vs),u++;return u}function ZYt(i){return function(s,u){return s.barycenteru.barycenter?1:i?u.i-s.i:s.i-u.i}}function pVe(i,s,u,d){var p=i.children(s),v=i.node(s),b=v?v.borderLeft:void 0,y=v?v.borderRight:void 0,T={};b&&(p=j7(p,function(j){return j!==b&&j!==y}));var _=WYt(i,p);Ar(_,function(j){if(i.children(j.v).length){var K=pVe(i,j.v,u,d);T[j.v]=K,Lo(K,"barycenter")&&tXt(j,K)}});var A=YYt(_,u);eXt(A,T);var P=JYt(A,d);if(b&&(P.vs=jD([b,P.vs,y]),i.predecessors(b).length)){var R=i.node(i.predecessors(b)[0]),F=i.node(i.predecessors(y)[0]);Lo(P,"barycenter")||(P.barycenter=0,P.weight=0),P.barycenter=(P.barycenter*P.weight+R.order+F.order)/(P.weight+2),P.weight+=2}return P}function eXt(i,s){Ar(i,function(u){u.vs=jD(u.vs.map(function(d){return s[d]?s[d].vs:d}))})}function tXt(i,s){Qf(i.barycenter)?(i.barycenter=s.barycenter,i.weight=s.weight):(i.barycenter=(i.barycenter*i.weight+s.barycenter*s.weight)/(i.weight+s.weight),i.weight+=s.weight)}function nXt(i){var s=ZHe(i),u=bVe(i,GC(1,s+1),"inEdges"),d=bVe(i,GC(s-1,-1,-1),"outEdges"),p=KYt(i);mVe(i,p);for(var v=Number.POSITIVE_INFINITY,b,y=0,T=0;T<4;++y,++T){rXt(y%2?u:d,y%4>=2),p=WQ(i);var _=UYt(i,p);_b||y>s[T].lim));for(_=T,T=d;(T=i.parent(T))!==_;)v.push(T);return{path:p.concat(v.reverse()),lca:_}}function aXt(i){var s={},u=0;function d(p){var v=u;Ar(i.children(p),d),s[p]={low:v,lim:u++}}return Ar(i.children(),d),s}function oXt(i,s){var u={};function d(p,v){var b=0,y=0,T=p.length,_=UQ(v);return Ar(v,function(A,P){var R=uXt(i,A),F=R?i.node(R).order:T;(R||A===_)&&(Ar(v.slice(y,P+1),function(j){Ar(i.predecessors(j),function(K){var ee=i.node(K),ie=ee.order;(ie_)&&vVe(u,R,A)})})}function p(v,b){var y=-1,T,_=0;return Ar(b,function(A,P){if(i.node(A).dummy==="border"){var R=i.predecessors(A);R.length&&(T=i.node(R[0]).order,d(b,_,P,y,T),_=P,y=T)}d(b,_,b.length,T,v.length)}),b}return TR(s,p),u}function uXt(i,s){if(i.node(s).dummy)return rme(i.predecessors(s),function(u){return i.node(u).dummy})}function vVe(i,s,u){if(s>u){var d=s;s=u,u=d}var p=i[s];p||(i[s]=p={}),p[u]=!0}function lXt(i,s,u){if(s>u){var d=s;s=u,u=d}return Lo(i[s],u)}function hXt(i,s,u,d){var p={},v={},b={};return Ar(s,function(y){Ar(y,function(T,_){p[T]=T,v[T]=T,b[T]=_})}),Ar(s,function(y){var T=-1;Ar(y,function(_){var A=d(_);if(A.length){A=CR(A,function(K){return b[K]});for(var P=(A.length-1)/2,R=Math.floor(P),F=Math.ceil(P);R<=F;++R){var j=A[R];v[_]===_&&T0}function e5(i,s,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;s.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)});for(var T=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,K){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),pe=K.x-u.x,be=K.y-u.y,ae=Math.sqrt(pe*pe+be*be);return oeMath.abs(p)*y?(v<0&&(y=-y),T=v===0?0:y*p/v,_=y):(p<0&&(b=-b),T=b,_=p===0?0:b*v/p),{x:u+T,y:d+_}}var Cme={rect:gQt,ellipse:pQt,circle:bQt,diamond:mQt};function dQt(i){Cme=i}function gQt(i,s,u){var d=i.insert("rect",":first-child").attr("rx",u.rx).attr("ry",u.ry).attr("x",-s.width/2).attr("y",-s.height/2).attr("width",s.width).attr("height",s.height);return u.intersect=function(p){return Tme(u,p)},d}function pQt(i,s,u){var d=s.width/2,p=s.height/2,v=i.insert("ellipse",":first-child").attr("x",-s.width/2).attr("y",-s.height/2).attr("rx",d).attr("ry",p);return u.intersect=function(b){return TVe(u,d,p,b)},v}function bQt(i,s,u){var d=Math.max(s.width,s.height)/2,p=i.insert("circle",":first-child").attr("x",-s.width/2).attr("y",-s.height/2).attr("r",d);return u.intersect=function(v){return hQt(u,d,v)},p}function mQt(i,s,u){var d=s.width*Math.SQRT2/2,p=s.height*Math.SQRT2/2,v=[{x:0,y:-p},{x:-d,y:0},{x:0,y:p},{x:d,y:0}],b=i.insert("polygon",":first-child").attr("points",v.map(function(y){return y.x+","+y.y}).join(" "));return u.intersect=function(y){return e5(u,v,y)},b}function vQt(){var i=function(s,u){xQt(u);var d=AR(s,"output"),p=AR(d,"clusters"),v=AR(d,"edgePaths"),b=xme(AR(d,"edgeLabels"),u),y=Eme(AR(d,"nodes"),u,Cme);qD(u),lQt(y,u),uQt(b,u),kme(v,u,mme);var T=yme(p,u);cQt(T,u),kQt(u)};return i.createNodes=function(s){return arguments.length?(oQt(s),i):Eme},i.createClusters=function(s){return arguments.length?(ZXt(s),i):yme},i.createEdgeLabels=function(s){return arguments.length?(eQt(s),i):xme},i.createEdgePaths=function(s){return arguments.length?(tQt(s),i):kme},i.shapes=function(s){return arguments.length?(dQt(s),i):Cme},i.arrows=function(s){return arguments.length?(GXt(s),i):mme},i}var wQt={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},yQt={arrowhead:"normal",curve:kp};function xQt(i){i.nodes().forEach(function(s){var u=i.node(s);!Lo(u,"label")&&!i.children(s).length&&(u.label=s),Lo(u,"paddingX")&&$D(u,{paddingLeft:u.paddingX,paddingRight:u.paddingX}),Lo(u,"paddingY")&&$D(u,{paddingTop:u.paddingY,paddingBottom:u.paddingY}),Lo(u,"padding")&&$D(u,{paddingLeft:u.padding,paddingRight:u.padding,paddingTop:u.padding,paddingBottom:u.padding}),$D(u,wQt),Ar(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(d){u[d]=Number(u[d])}),Lo(u,"width")&&(u._prevWidth=u.width),Lo(u,"height")&&(u._prevHeight=u.height)}),i.edges().forEach(function(s){var u=i.edge(s);Lo(u,"label")||(u.label=""),$D(u,yQt)})}function kQt(i){Ar(i.nodes(),function(s){var u=i.node(s);Lo(u,"_prevWidth")?u.width=u._prevWidth:delete u.width,Lo(u,"_prevHeight")?u.height=u._prevHeight:delete u.height,delete u._prevWidth,delete u._prevHeight})}function AR(i,s){var u=i.select("g."+s);return u.empty()&&(u=i.append("g").attr("class",s)),u}function SVe(i,s,u){const d=s.width,p=s.height,v=(d+p)*.9,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],y=z7(i,v,v,b);return u.intersect=function(T){return e5(u,b,T)},y}function _Ve(i,s,u){const p=s.height,v=p/4,b=s.width+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-p/2},{x:b-v,y:-p},{x:v,y:-p},{x:0,y:-p/2}],T=z7(i,b,p,y);return u.intersect=function(_){return e5(u,y,_)},T}function AVe(i,s,u){const d=s.width,p=s.height,v=[{x:-p/2,y:0},{x:d,y:0},{x:d,y:-p},{x:-p/2,y:-p},{x:0,y:-p/2}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function LVe(i,s,u){const d=s.width,p=s.height,v=[{x:-2*p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function MVe(i,s,u){const d=s.width,p=s.height,v=[{x:2*p/6,y:0},{x:d+p/6,y:0},{x:d-2*p/6,y:-p},{x:-p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function DVe(i,s,u){const d=s.width,p=s.height,v=[{x:-2*p/6,y:0},{x:d+2*p/6,y:0},{x:d-p/6,y:-p},{x:p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function IVe(i,s,u){const d=s.width,p=s.height,v=[{x:p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:-2*p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function OVe(i,s,u){const d=s.width,p=s.height,v=[{x:0,y:0},{x:d+p/2,y:0},{x:d,y:-p/2},{x:d+p/2,y:-p},{x:0,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function NVe(i,s,u){const d=s.height,p=s.width+d/4,v=i.insert("rect",":first-child").attr("rx",d/2).attr("ry",d/2).attr("x",-p/2).attr("y",-d/2).attr("width",p).attr("height",d);return u.intersect=function(b){return Tme(u,b)},v}function PVe(i,s,u){const d=s.width,p=s.height,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-p},{x:-8,y:-p},{x:-8,y:0}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function BVe(i,s,u){const d=s.width,p=d/2,v=p/(2.5+d/50),b=s.height+v,y="M 0,"+v+" a "+p+","+v+" 0,0,0 "+d+" 0 a "+p+","+v+" 0,0,0 "+-d+" 0 l 0,"+b+" a "+p+","+v+" 0,0,0 "+d+" 0 l 0,"+-b,T=i.attr("label-offset-y",v).insert("path",":first-child").attr("d",y).attr("transform","translate("+-d/2+","+-(b/2+v)+")");return u.intersect=function(_){const A=Tme(u,_),P=A.x-u.x;if(p!=0&&(Math.abs(P)u.height/2-v)){let R=v*v*(1-P*P/(p*p));R!=0&&(R=Math.sqrt(R)),R=v-R,_.y-u.y>0&&(R=-R),A.y+=R}return A},T}function EQt(i){i.shapes().question=SVe,i.shapes().hexagon=_Ve,i.shapes().stadium=NVe,i.shapes().subroutine=PVe,i.shapes().cylinder=BVe,i.shapes().rect_left_inv_arrow=AVe,i.shapes().lean_right=LVe,i.shapes().lean_left=MVe,i.shapes().trapezoid=DVe,i.shapes().inv_trapezoid=IVe,i.shapes().rect_right_inv_arrow=OVe}function TQt(i){i({question:SVe}),i({hexagon:_Ve}),i({stadium:NVe}),i({subroutine:PVe}),i({cylinder:BVe}),i({rect_left_inv_arrow:AVe}),i({lean_right:LVe}),i({lean_left:MVe}),i({trapezoid:DVe}),i({inv_trapezoid:IVe}),i({rect_right_inv_arrow:OVe})}function z7(i,s,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("transform","translate("+-s/2+","+u/2+")")}const CQt={addToRender:EQt,addToRenderV2:TQt},FVe={},SQt=function(i){const s=Object.keys(i);for(const u of s)FVe[u]=i[u]},RVe=async function(i,s,u,d,p,v){const b=d?d.select(`[id="${u}"]`):Ir(`[id="${u}"]`),y=p||document,T=Object.keys(i);for(const _ of T){const A=i[_];let P="default";A.classes.length>0&&(P=A.classes.join(" "));const R=om(A.styles);let F=A.text!==void 0?A.text:A.id,j;if(f1(qt().flowchart.htmlLabels)){const ie={label:await CC(F.replace(/fa[blrs]?:fa-[\w-]+/g,oe=>``),qt())};j=vme(b,ie).node(),j.parentNode.removeChild(j)}else{const ie=y.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",R.labelStyle.replace("color:","fill:"));const oe=F.split(li.lineBreakRegex);for(const pe of oe){const be=y.createElementNS("http://www.w3.org/2000/svg","tspan");be.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),be.setAttribute("dy","1em"),be.setAttribute("x","1"),be.textContent=pe,ie.appendChild(be)}j=ie}let K=0,ee="";switch(A.type){case"round":K=5,ee="rect";break;case"square":ee="rect";break;case"diamond":ee="question";break;case"hexagon":ee="hexagon";break;case"odd":ee="rect_left_inv_arrow";break;case"lean_right":ee="lean_right";break;case"lean_left":ee="lean_left";break;case"trapezoid":ee="trapezoid";break;case"inv_trapezoid":ee="inv_trapezoid";break;case"odd_right":ee="rect_left_inv_arrow";break;case"circle":ee="circle";break;case"ellipse":ee="ellipse";break;case"stadium":ee="stadium";break;case"subroutine":ee="subroutine";break;case"cylinder":ee="cylinder";break;case"group":ee="rect";break;default:ee="rect"}Xe.warn("Adding node",A.id,A.domId),s.setNode(v.db.lookUpDomId(A.id),{labelType:"svg",labelStyle:R.labelStyle,shape:ee,label:j,rx:K,ry:K,class:P,style:R.style,id:v.db.lookUpDomId(A.id)})}},jVe=async function(i,s,u){let d=0,p,v;if(i.defaultStyle!==void 0){const b=om(i.defaultStyle);p=b.style,v=b.labelStyle}for(const b of i){d++;const y="L-"+b.start+"-"+b.end,T="LS-"+b.start,_="LE-"+b.end,A={};b.type==="arrow_open"?A.arrowhead="none":A.arrowhead="normal";let P="",R="";if(b.style!==void 0){const F=om(b.style);P=F.style,R=F.labelStyle}else switch(b.stroke){case"normal":P="fill:none",p!==void 0&&(P=p),v!==void 0&&(R=v);break;case"dotted":P="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":P=" stroke-width: 3.5px;fill:none";break}A.style=P,A.labelStyle=R,b.interpolate!==void 0?A.curve=Ov(b.interpolate,kp):i.defaultInterpolate!==void 0?A.curve=Ov(i.defaultInterpolate,kp):A.curve=Ov(FVe.curve,kp),b.text===void 0?b.style!==void 0&&(A.arrowheadStyle="fill: #333"):(A.arrowheadStyle="fill: #333",A.labelpos="c",f1(qt().flowchart.htmlLabels)?(A.labelType="html",A.label=`${await CC(b.text.replace(/fa[blrs]?:fa-[\w-]+/g,F=>``),qt())}`):(A.labelType="text",A.label=b.text.replace(li.lineBreakRegex,` +`),b.style===void 0&&(A.style=A.style||"stroke: #333; stroke-width: 1.5px;fill:none"),A.labelStyle=A.labelStyle.replace("color:","fill:"))),A.id=y,A.class=T+" "+_,A.minlen=b.length||1,s.setEdge(u.db.lookUpDomId(b.start),u.db.lookUpDomId(b.end),A,d)}},_Qt={setConf:SQt,addVertices:RVe,addEdges:jVe,getClasses:function(i,s){return Xe.info("Extracting classes"),s.db.getClasses()},draw:async function(i,s,u,d){Xe.info("Drawing flowchart");const{securityLevel:p,flowchart:v}=qt();let b;p==="sandbox"&&(b=Ir("#i"+s));const y=Ir(p==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=p==="sandbox"?b.nodes()[0].contentDocument:document;let _=d.db.getDirection();_===void 0&&(_="TD");const A=v.nodeSpacing||50,P=v.rankSpacing||50,R=new B0({multigraph:!0,compound:!0}).setGraph({rankdir:_,nodesep:A,ranksep:P,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let F;const j=d.db.getSubGraphs();for(let ne=j.length-1;ne>=0;ne--)F=j[ne],d.db.addVertex(F.id,F.title,"group",void 0,F.classes);const K=d.db.getVertices();Xe.warn("Get vertices",K);const ee=d.db.getEdges();let ie=0;for(ie=j.length-1;ie>=0;ie--){F=j[ie],_Be("cluster").append("text");for(let ne=0;ne{s.forEach(p=>{DQt[p](i,u,d)})},DQt={extension:(i,s,u)=>{Xe.trace("Making markers for ",u),i.append("defs").append("marker").attr("id",u+"_"+s+"-extensionStart").attr("class","marker extension "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-extensionEnd").attr("class","marker extension "+s).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")},composition:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-compositionStart").attr("class","marker composition "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-compositionEnd").attr("class","marker composition "+s).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:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-aggregationStart").attr("class","marker aggregation "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-aggregationEnd").attr("class","marker aggregation "+s).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")},dependency:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-dependencyStart").attr("class","marker dependency "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-dependencyEnd").attr("class","marker dependency "+s).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")},lollipop:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-lollipopStart").attr("class","marker lollipop "+s).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),i.append("defs").append("marker").attr("id",u+"_"+s+"-lollipopEnd").attr("class","marker lollipop "+s).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)},point:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-pointEnd").attr("class","marker "+s).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"),i.append("marker").attr("id",u+"_"+s+"-pointStart").attr("class","marker "+s).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")},circle:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-circleEnd").attr("class","marker "+s).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"),i.append("marker").attr("id",u+"_"+s+"-circleStart").attr("class","marker "+s).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")},cross:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-crossEnd").attr("class","marker cross "+s).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"),i.append("marker").attr("id",u+"_"+s+"-crossStart").attr("class","marker cross "+s).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")},barb:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-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")}},Sme=MQt;function IQt(i,s){s&&i.attr("style",s)}function OQt(i){const s=Ir(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),u=s.append("xhtml:div"),d=i.label,p=i.isNode?"nodeLabel":"edgeLabel";return u.html('"+d+""),IQt(u,i.labelStyle),u.style("display","inline-block"),u.style("white-space","nowrap"),u.attr("xmlns","http://www.w3.org/1999/xhtml"),s.node()}const $2=(i,s,u,d)=>{let p=i||"";if(typeof p=="object"&&(p=p[0]),f1(qt().flowchart.htmlLabels)){p=p.replace(/\\n|\n/g,"
    "),Xe.debug("vertexText"+p);const v={isNode:d,label:ZF(p).replace(/fa[blrs]?:fa-[\w-]+/g,y=>``),labelStyle:s.replace("fill:","color:")};return OQt(v)}else{const v=document.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",s.replace("color:","fill:"));let b=[];typeof p=="string"?b=p.split(/\\n|\n|/gi):Array.isArray(p)?b=p:b=[];for(const y of b){const T=document.createElementNS("http://www.w3.org/2000/svg","tspan");T.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),T.setAttribute("dy","1em"),T.setAttribute("x","0"),u?T.setAttribute("class","title-row"):T.setAttribute("class","row"),T.textContent=y.trim(),v.appendChild(T)}return v}},NQt={};function PQt(i,s){const u=s||NQt,d=typeof u.includeImageAlt=="boolean"?u.includeImageAlt:!0,p=typeof u.includeHtml=="boolean"?u.includeHtml:!0;return $Ve(i,d,p)}function $Ve(i,s,u){if(BQt(i)){if("value"in i)return i.type==="html"&&!u?"":i.value;if(s&&"alt"in i&&i.alt)return i.alt;if("children"in i)return zVe(i.children,s,u)}return Array.isArray(i)?zVe(i,s,u):""}function zVe(i,s,u){const d=[];let p=-1;for(;++pp?0:p+s:s=s>p?p:s,u=u>0?u:0,d.length<1e4)b=Array.from(d),b.unshift(s,u),i.splice(...b);else for(u&&i.splice(s,u);v0?(t5(i,i.length,0,s),i):s}const qVe={}.hasOwnProperty;function FQt(i){const s={};let u=-1;for(;++ub))return;const se=s.events.length;let de=se,X,ge;for(;de--;)if(s.events[de][0]==="exit"&&s.events[de][1].type==="chunkFlow"){if(X){ge=s.events[de][1].end;break}X=!0}for(ie(d),ne=se;nepe;){const ae=u[be];s.containerState=ae[1],ae[0].exit.call(s,i)}u.length=pe}function oe(){p.write([null]),v=void 0,p=void 0,s.containerState._closeFlow=void 0}}function XQt(i,s,u){return Kl(i,i.attempt(this.parser.constructs.document,s,u),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function VVe(i){if(i===null||z2(i)||UQt(i))return 1;if(VQt(i))return 2}function Lme(i,s,u){const d=[];let p=-1;for(;++p1&&i[u][1].end.offset-i[u][1].start.offset>1?2:1;const P=Object.assign({},i[d][1].end),R=Object.assign({},i[u][1].start);UVe(P,-T),UVe(R,T),b={type:T>1?"strongSequence":"emphasisSequence",start:P,end:Object.assign({},i[d][1].end)},y={type:T>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[u][1].start),end:R},v={type:T>1?"strongText":"emphasisText",start:Object.assign({},i[d][1].end),end:Object.assign({},i[u][1].start)},p={type:T>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},y.end)},i[d][1].end=Object.assign({},b.start),i[u][1].start=Object.assign({},y.end),_=[],i[d][1].end.offset-i[d][1].start.offset&&(_=zv(_,[["enter",i[d][1],s],["exit",i[d][1],s]])),_=zv(_,[["enter",p,s],["enter",b,s],["exit",b,s],["enter",v,s]]),_=zv(_,Lme(s.parser.constructs.insideSpan.null,i.slice(d+1,u),s)),_=zv(_,[["exit",v,s],["enter",y,s],["exit",y,s],["exit",p,s]]),i[u][1].end.offset-i[u][1].start.offset?(A=2,_=zv(_,[["enter",i[u][1],s],["exit",i[u][1],s]])):A=0,t5(i,d-1,u-d+3,_),u=d+_.length-A-2;break}}for(u=-1;++u0&&Iu(ne)?Kl(i,oe,"linePrefix",v+1)(ne):oe(ne)}function oe(ne){return ne===null||so(ne)?i.check(XVe,K,be)(ne):(i.enter("codeFlowValue"),pe(ne))}function pe(ne){return ne===null||so(ne)?(i.exit("codeFlowValue"),oe(ne)):(i.consume(ne),pe)}function be(ne){return i.exit("codeFenced"),s(ne)}function ae(ne,se,de){let X=0;return ge;function ge(Pe){return ne.enter("lineEnding"),ne.consume(Pe),ne.exit("lineEnding"),W}function W(Pe){return ne.enter("codeFencedFence"),Iu(Pe)?Kl(ne,xe,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Pe):xe(Pe)}function xe(Pe){return Pe===y?(ne.enter("codeFencedFenceSequence"),U(Pe)):de(Pe)}function U(Pe){return Pe===y?(X++,ne.consume(Pe),U):X>=b?(ne.exit("codeFencedFenceSequence"),Iu(Pe)?Kl(ne,Fe,"whitespace")(Pe):Fe(Pe)):de(Pe)}function Fe(Pe){return Pe===null||so(Pe)?(ne.exit("codeFencedFence"),se(Pe)):de(Pe)}}}function cJt(i,s,u){const d=this;return p;function p(b){return b===null?u(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v)}function v(b){return d.parser.lazy[d.now().line]?u(b):s(b)}}const Ime={name:"codeIndented",tokenize:lJt},uJt={tokenize:hJt,partial:!0};function lJt(i,s,u){const d=this;return p;function p(_){return i.enter("codeIndented"),Kl(i,v,"linePrefix",4+1)(_)}function v(_){const A=d.events[d.events.length-1];return A&&A[1].type==="linePrefix"&&A[2].sliceSerialize(A[1],!0).length>=4?b(_):u(_)}function b(_){return _===null?T(_):so(_)?i.attempt(uJt,b,T)(_):(i.enter("codeFlowValue"),y(_))}function y(_){return _===null||so(_)?(i.exit("codeFlowValue"),b(_)):(i.consume(_),y)}function T(_){return i.exit("codeIndented"),s(_)}}function hJt(i,s,u){const d=this;return p;function p(b){return d.parser.lazy[d.now().line]?u(b):so(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),p):Kl(i,v,"linePrefix",4+1)(b)}function v(b){const y=d.events[d.events.length-1];return y&&y[1].type==="linePrefix"&&y[2].sliceSerialize(y[1],!0).length>=4?s(b):so(b)?p(b):u(b)}}const fJt={name:"codeText",tokenize:pJt,resolve:dJt,previous:gJt};function dJt(i){let s=i.length-4,u=3,d,p;if((i[u][1].type==="lineEnding"||i[u][1].type==="space")&&(i[s][1].type==="lineEnding"||i[s][1].type==="space")){for(d=u;++d=4?s(b):i.interrupt(d.parser.constructs.flow,u,s)(b)}}function ZVe(i,s,u,d,p,v,b,y,T){const _=T||Number.POSITIVE_INFINITY;let A=0;return P;function P(ie){return ie===60?(i.enter(d),i.enter(p),i.enter(v),i.consume(ie),i.exit(v),R):ie===null||ie===32||ie===41||_me(ie)?u(ie):(i.enter(d),i.enter(b),i.enter(y),i.enter("chunkString",{contentType:"string"}),K(ie))}function R(ie){return ie===62?(i.enter(v),i.consume(ie),i.exit(v),i.exit(p),i.exit(d),s):(i.enter(y),i.enter("chunkString",{contentType:"string"}),F(ie))}function F(ie){return ie===62?(i.exit("chunkString"),i.exit(y),R(ie)):ie===null||ie===60||so(ie)?u(ie):(i.consume(ie),ie===92?j:F)}function j(ie){return ie===60||ie===62||ie===92?(i.consume(ie),F):F(ie)}function K(ie){return!A&&(ie===null||ie===41||z2(ie))?(i.exit("chunkString"),i.exit(y),i.exit(b),i.exit(d),s(ie)):A<_&&ie===40?(i.consume(ie),A++,K):ie===41?(i.consume(ie),A--,K):ie===null||ie===32||ie===40||_me(ie)?u(ie):(i.consume(ie),ie===92?ee:K)}function ee(ie){return ie===40||ie===41||ie===92?(i.consume(ie),K):K(ie)}}function eUe(i,s,u,d,p,v){const b=this;let y=0,T;return _;function _(F){return i.enter(d),i.enter(p),i.consume(F),i.exit(p),i.enter(v),A}function A(F){return y>999||F===null||F===91||F===93&&!T||F===94&&!y&&"_hiddenFootnoteSupport"in b.parser.constructs?u(F):F===93?(i.exit(v),i.enter(p),i.consume(F),i.exit(p),i.exit(d),s):so(F)?(i.enter("lineEnding"),i.consume(F),i.exit("lineEnding"),A):(i.enter("chunkString",{contentType:"string"}),P(F))}function P(F){return F===null||F===91||F===93||so(F)||y++>999?(i.exit("chunkString"),A(F)):(i.consume(F),T||(T=!Iu(F)),F===92?R:P)}function R(F){return F===91||F===92||F===93?(i.consume(F),y++,P):P(F)}}function tUe(i,s,u,d,p,v){let b;return y;function y(R){return R===34||R===39||R===40?(i.enter(d),i.enter(p),i.consume(R),i.exit(p),b=R===40?41:R,T):u(R)}function T(R){return R===b?(i.enter(p),i.consume(R),i.exit(p),i.exit(d),s):(i.enter(v),_(R))}function _(R){return R===b?(i.exit(v),T(b)):R===null?u(R):so(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),Kl(i,_,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),A(R))}function A(R){return R===b||R===null||so(R)?(i.exit("chunkString"),_(R)):(i.consume(R),R===92?P:A)}function P(R){return R===b||R===92?(i.consume(R),A):A(R)}}function LR(i,s){let u;return d;function d(p){return so(p)?(i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),u=!0,d):Iu(p)?Kl(i,d,u?"linePrefix":"lineSuffix")(p):s(p)}}function HD(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const kJt={name:"definition",tokenize:TJt},EJt={tokenize:CJt,partial:!0};function TJt(i,s,u){const d=this;let p;return v;function v(F){return i.enter("definition"),b(F)}function b(F){return eUe.call(d,i,y,u,"definitionLabel","definitionLabelMarker","definitionLabelString")(F)}function y(F){return p=HD(d.sliceSerialize(d.events[d.events.length-1][1]).slice(1,-1)),F===58?(i.enter("definitionMarker"),i.consume(F),i.exit("definitionMarker"),T):u(F)}function T(F){return z2(F)?LR(i,_)(F):_(F)}function _(F){return ZVe(i,A,u,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(F)}function A(F){return i.attempt(EJt,P,P)(F)}function P(F){return Iu(F)?Kl(i,R,"whitespace")(F):R(F)}function R(F){return F===null||so(F)?(i.exit("definition"),d.parser.defined.push(p),s(F)):u(F)}}function CJt(i,s,u){return d;function d(y){return z2(y)?LR(i,p)(y):u(y)}function p(y){return tUe(i,v,u,"definitionTitle","definitionTitleMarker","definitionTitleString")(y)}function v(y){return Iu(y)?Kl(i,b,"whitespace")(y):b(y)}function b(y){return y===null||so(y)?s(y):u(y)}}const SJt={name:"hardBreakEscape",tokenize:_Jt};function _Jt(i,s,u){return d;function d(v){return i.enter("hardBreakEscape"),i.consume(v),p}function p(v){return so(v)?(i.exit("hardBreakEscape"),s(v)):u(v)}}const AJt={name:"headingAtx",tokenize:MJt,resolve:LJt};function LJt(i,s){let u=i.length-2,d=3,p,v;return i[d][1].type==="whitespace"&&(d+=2),u-2>d&&i[u][1].type==="whitespace"&&(u-=2),i[u][1].type==="atxHeadingSequence"&&(d===u-1||u-4>d&&i[u-2][1].type==="whitespace")&&(u-=d+1===u?2:4),u>d&&(p={type:"atxHeadingText",start:i[d][1].start,end:i[u][1].end},v={type:"chunkText",start:i[d][1].start,end:i[u][1].end,contentType:"text"},t5(i,d,u-d+1,[["enter",p,s],["enter",v,s],["exit",v,s],["exit",p,s]])),i}function MJt(i,s,u){let d=0;return p;function p(A){return i.enter("atxHeading"),v(A)}function v(A){return i.enter("atxHeadingSequence"),b(A)}function b(A){return A===35&&d++<6?(i.consume(A),b):A===null||z2(A)?(i.exit("atxHeadingSequence"),y(A)):u(A)}function y(A){return A===35?(i.enter("atxHeadingSequence"),T(A)):A===null||so(A)?(i.exit("atxHeading"),s(A)):Iu(A)?Kl(i,y,"whitespace")(A):(i.enter("atxHeadingText"),_(A))}function T(A){return A===35?(i.consume(A),T):(i.exit("atxHeadingSequence"),y(A))}function _(A){return A===null||A===35||z2(A)?(i.exit("atxHeadingText"),y(A)):(i.consume(A),_)}}const DJt=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],nUe=["pre","script","style","textarea"],IJt={name:"htmlFlow",tokenize:BJt,resolveTo:PJt,concrete:!0},OJt={tokenize:RJt,partial:!0},NJt={tokenize:FJt,partial:!0};function PJt(i){let s=i.length;for(;s--&&!(i[s][0]==="enter"&&i[s][1].type==="htmlFlow"););return s>1&&i[s-2][1].type==="linePrefix"&&(i[s][1].start=i[s-2][1].start,i[s+1][1].start=i[s-2][1].start,i.splice(s-2,2)),i}function BJt(i,s,u){const d=this;let p,v,b,y,T;return _;function _(Ne){return A(Ne)}function A(Ne){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Ne),P}function P(Ne){return Ne===33?(i.consume(Ne),R):Ne===47?(i.consume(Ne),v=!0,K):Ne===63?(i.consume(Ne),p=3,d.interrupt?s:ke):n5(Ne)?(i.consume(Ne),b=String.fromCharCode(Ne),ee):u(Ne)}function R(Ne){return Ne===45?(i.consume(Ne),p=2,F):Ne===91?(i.consume(Ne),p=5,y=0,j):n5(Ne)?(i.consume(Ne),p=4,d.interrupt?s:ke):u(Ne)}function F(Ne){return Ne===45?(i.consume(Ne),d.interrupt?s:ke):u(Ne)}function j(Ne){const gn="CDATA[";return Ne===gn.charCodeAt(y++)?(i.consume(Ne),y===gn.length?d.interrupt?s:xe:j):u(Ne)}function K(Ne){return n5(Ne)?(i.consume(Ne),b=String.fromCharCode(Ne),ee):u(Ne)}function ee(Ne){if(Ne===null||Ne===47||Ne===62||z2(Ne)){const gn=Ne===47,_t=b.toLowerCase();return!gn&&!v&&nUe.includes(_t)?(p=1,d.interrupt?s(Ne):xe(Ne)):DJt.includes(b.toLowerCase())?(p=6,gn?(i.consume(Ne),ie):d.interrupt?s(Ne):xe(Ne)):(p=7,d.interrupt&&!d.parser.lazy[d.now().line]?u(Ne):v?oe(Ne):pe(Ne))}return Ne===45||H3(Ne)?(i.consume(Ne),b+=String.fromCharCode(Ne),ee):u(Ne)}function ie(Ne){return Ne===62?(i.consume(Ne),d.interrupt?s:xe):u(Ne)}function oe(Ne){return Iu(Ne)?(i.consume(Ne),oe):ge(Ne)}function pe(Ne){return Ne===47?(i.consume(Ne),ge):Ne===58||Ne===95||n5(Ne)?(i.consume(Ne),be):Iu(Ne)?(i.consume(Ne),pe):ge(Ne)}function be(Ne){return Ne===45||Ne===46||Ne===58||Ne===95||H3(Ne)?(i.consume(Ne),be):ae(Ne)}function ae(Ne){return Ne===61?(i.consume(Ne),ne):Iu(Ne)?(i.consume(Ne),ae):pe(Ne)}function ne(Ne){return Ne===null||Ne===60||Ne===61||Ne===62||Ne===96?u(Ne):Ne===34||Ne===39?(i.consume(Ne),T=Ne,se):Iu(Ne)?(i.consume(Ne),ne):de(Ne)}function se(Ne){return Ne===T?(i.consume(Ne),T=null,X):Ne===null||so(Ne)?u(Ne):(i.consume(Ne),se)}function de(Ne){return Ne===null||Ne===34||Ne===39||Ne===47||Ne===60||Ne===61||Ne===62||Ne===96||z2(Ne)?ae(Ne):(i.consume(Ne),de)}function X(Ne){return Ne===47||Ne===62||Iu(Ne)?pe(Ne):u(Ne)}function ge(Ne){return Ne===62?(i.consume(Ne),W):u(Ne)}function W(Ne){return Ne===null||so(Ne)?xe(Ne):Iu(Ne)?(i.consume(Ne),W):u(Ne)}function xe(Ne){return Ne===45&&p===2?(i.consume(Ne),je):Ne===60&&p===1?(i.consume(Ne),Ie):Ne===62&&p===4?(i.consume(Ne),Ke):Ne===63&&p===3?(i.consume(Ne),ke):Ne===93&&p===5?(i.consume(Ne),Ce):so(Ne)&&(p===6||p===7)?(i.exit("htmlFlowData"),i.check(OJt,Ft,U)(Ne)):Ne===null||so(Ne)?(i.exit("htmlFlowData"),U(Ne)):(i.consume(Ne),xe)}function U(Ne){return i.check(NJt,Fe,Ft)(Ne)}function Fe(Ne){return i.enter("lineEnding"),i.consume(Ne),i.exit("lineEnding"),Pe}function Pe(Ne){return Ne===null||so(Ne)?U(Ne):(i.enter("htmlFlowData"),xe(Ne))}function je(Ne){return Ne===45?(i.consume(Ne),ke):xe(Ne)}function Ie(Ne){return Ne===47?(i.consume(Ne),b="",Se):xe(Ne)}function Se(Ne){if(Ne===62){const gn=b.toLowerCase();return nUe.includes(gn)?(i.consume(Ne),Ke):xe(Ne)}return n5(Ne)&&b.length<8?(i.consume(Ne),b+=String.fromCharCode(Ne),Se):xe(Ne)}function Ce(Ne){return Ne===93?(i.consume(Ne),ke):xe(Ne)}function ke(Ne){return Ne===62?(i.consume(Ne),Ke):Ne===45&&p===2?(i.consume(Ne),ke):xe(Ne)}function Ke(Ne){return Ne===null||so(Ne)?(i.exit("htmlFlowData"),Ft(Ne)):(i.consume(Ne),Ke)}function Ft(Ne){return i.exit("htmlFlow"),s(Ne)}}function FJt(i,s,u){const d=this;return p;function p(b){return so(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):u(b)}function v(b){return d.parser.lazy[d.now().line]?u(b):s(b)}}function RJt(i,s,u){return d;function d(p){return i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),i.attempt(YQ,s,u)}}const jJt={name:"htmlText",tokenize:$Jt};function $Jt(i,s,u){const d=this;let p,v,b;return y;function y(ke){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(ke),T}function T(ke){return ke===33?(i.consume(ke),_):ke===47?(i.consume(ke),ae):ke===63?(i.consume(ke),pe):n5(ke)?(i.consume(ke),de):u(ke)}function _(ke){return ke===45?(i.consume(ke),A):ke===91?(i.consume(ke),v=0,j):n5(ke)?(i.consume(ke),oe):u(ke)}function A(ke){return ke===45?(i.consume(ke),F):u(ke)}function P(ke){return ke===null?u(ke):ke===45?(i.consume(ke),R):so(ke)?(b=P,Ie(ke)):(i.consume(ke),P)}function R(ke){return ke===45?(i.consume(ke),F):P(ke)}function F(ke){return ke===62?je(ke):ke===45?R(ke):P(ke)}function j(ke){const Ke="CDATA[";return ke===Ke.charCodeAt(v++)?(i.consume(ke),v===Ke.length?K:j):u(ke)}function K(ke){return ke===null?u(ke):ke===93?(i.consume(ke),ee):so(ke)?(b=K,Ie(ke)):(i.consume(ke),K)}function ee(ke){return ke===93?(i.consume(ke),ie):K(ke)}function ie(ke){return ke===62?je(ke):ke===93?(i.consume(ke),ie):K(ke)}function oe(ke){return ke===null||ke===62?je(ke):so(ke)?(b=oe,Ie(ke)):(i.consume(ke),oe)}function pe(ke){return ke===null?u(ke):ke===63?(i.consume(ke),be):so(ke)?(b=pe,Ie(ke)):(i.consume(ke),pe)}function be(ke){return ke===62?je(ke):pe(ke)}function ae(ke){return n5(ke)?(i.consume(ke),ne):u(ke)}function ne(ke){return ke===45||H3(ke)?(i.consume(ke),ne):se(ke)}function se(ke){return so(ke)?(b=se,Ie(ke)):Iu(ke)?(i.consume(ke),se):je(ke)}function de(ke){return ke===45||H3(ke)?(i.consume(ke),de):ke===47||ke===62||z2(ke)?X(ke):u(ke)}function X(ke){return ke===47?(i.consume(ke),je):ke===58||ke===95||n5(ke)?(i.consume(ke),ge):so(ke)?(b=X,Ie(ke)):Iu(ke)?(i.consume(ke),X):je(ke)}function ge(ke){return ke===45||ke===46||ke===58||ke===95||H3(ke)?(i.consume(ke),ge):W(ke)}function W(ke){return ke===61?(i.consume(ke),xe):so(ke)?(b=W,Ie(ke)):Iu(ke)?(i.consume(ke),W):X(ke)}function xe(ke){return ke===null||ke===60||ke===61||ke===62||ke===96?u(ke):ke===34||ke===39?(i.consume(ke),p=ke,U):so(ke)?(b=xe,Ie(ke)):Iu(ke)?(i.consume(ke),xe):(i.consume(ke),Fe)}function U(ke){return ke===p?(i.consume(ke),p=void 0,Pe):ke===null?u(ke):so(ke)?(b=U,Ie(ke)):(i.consume(ke),U)}function Fe(ke){return ke===null||ke===34||ke===39||ke===60||ke===61||ke===96?u(ke):ke===47||ke===62||z2(ke)?X(ke):(i.consume(ke),Fe)}function Pe(ke){return ke===47||ke===62||z2(ke)?X(ke):u(ke)}function je(ke){return ke===62?(i.consume(ke),i.exit("htmlTextData"),i.exit("htmlText"),s):u(ke)}function Ie(ke){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(ke),i.exit("lineEnding"),Se}function Se(ke){return Iu(ke)?Kl(i,Ce,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ke):Ce(ke)}function Ce(ke){return i.enter("htmlTextData"),b(ke)}}const Ome={name:"labelEnd",tokenize:GJt,resolveTo:UJt,resolveAll:VJt},zJt={tokenize:KJt},qJt={tokenize:WJt},HJt={tokenize:YJt};function VJt(i){let s=-1;for(;++s=3&&(_===null||so(_))?(i.exit("thematicBreak"),s(_)):u(_)}function T(_){return _===p?(i.consume(_),d++,T):(i.exit("thematicBreakSequence"),Iu(_)?Kl(i,y,"whitespace")(_):y(_))}}const q2={name:"list",tokenize:iZt,continuation:{tokenize:sZt},exit:oZt},nZt={tokenize:cZt,partial:!0},rZt={tokenize:aZt,partial:!0};function iZt(i,s,u){const d=this,p=d.events[d.events.length-1];let v=p&&p[1].type==="linePrefix"?p[2].sliceSerialize(p[1],!0).length:0,b=0;return y;function y(F){const j=d.containerState.type||(F===42||F===43||F===45?"listUnordered":"listOrdered");if(j==="listUnordered"?!d.containerState.marker||F===d.containerState.marker:Ame(F)){if(d.containerState.type||(d.containerState.type=j,i.enter(j,{_container:!0})),j==="listUnordered")return i.enter("listItemPrefix"),F===42||F===45?i.check(XQ,u,_)(F):_(F);if(!d.interrupt||F===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),T(F)}return u(F)}function T(F){return Ame(F)&&++b<10?(i.consume(F),T):(!d.interrupt||b<2)&&(d.containerState.marker?F===d.containerState.marker:F===41||F===46)?(i.exit("listItemValue"),_(F)):u(F)}function _(F){return i.enter("listItemMarker"),i.consume(F),i.exit("listItemMarker"),d.containerState.marker=d.containerState.marker||F,i.check(YQ,d.interrupt?u:A,i.attempt(nZt,R,P))}function A(F){return d.containerState.initialBlankLine=!0,v++,R(F)}function P(F){return Iu(F)?(i.enter("listItemPrefixWhitespace"),i.consume(F),i.exit("listItemPrefixWhitespace"),R):u(F)}function R(F){return d.containerState.size=v+d.sliceSerialize(i.exit("listItemPrefix"),!0).length,s(F)}}function sZt(i,s,u){const d=this;return d.containerState._closeFlow=void 0,i.check(YQ,p,v);function p(y){return d.containerState.furtherBlankLines=d.containerState.furtherBlankLines||d.containerState.initialBlankLine,Kl(i,s,"listItemIndent",d.containerState.size+1)(y)}function v(y){return d.containerState.furtherBlankLines||!Iu(y)?(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,b(y)):(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,i.attempt(rZt,s,b)(y))}function b(y){return d.containerState._closeFlow=!0,d.interrupt=void 0,Kl(i,i.attempt(q2,s,u),"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y)}}function aZt(i,s,u){const d=this;return Kl(i,p,"listItemIndent",d.containerState.size+1);function p(v){const b=d.events[d.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===d.containerState.size?s(v):u(v)}}function oZt(i){i.exit(this.containerState.type)}function cZt(i,s,u){const d=this;return Kl(i,p,"listItemPrefixWhitespace",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function p(v){const b=d.events[d.events.length-1];return!Iu(v)&&b&&b[1].type==="listItemPrefixWhitespace"?s(v):u(v)}}const rUe={name:"setextUnderline",tokenize:lZt,resolveTo:uZt};function uZt(i,s){let u=i.length,d,p,v;for(;u--;)if(i[u][0]==="enter"){if(i[u][1].type==="content"){d=u;break}i[u][1].type==="paragraph"&&(p=u)}else i[u][1].type==="content"&&i.splice(u,1),!v&&i[u][1].type==="definition"&&(v=u);const b={type:"setextHeading",start:Object.assign({},i[p][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[p][1].type="setextHeadingText",v?(i.splice(p,0,["enter",b,s]),i.splice(v+1,0,["exit",i[d][1],s]),i[d][1].end=Object.assign({},i[v][1].end)):i[d][1]=b,i.push(["exit",b,s]),i}function lZt(i,s,u){const d=this;let p;return v;function v(_){let A=d.events.length,P;for(;A--;)if(d.events[A][1].type!=="lineEnding"&&d.events[A][1].type!=="linePrefix"&&d.events[A][1].type!=="content"){P=d.events[A][1].type==="paragraph";break}return!d.parser.lazy[d.now().line]&&(d.interrupt||P)?(i.enter("setextHeadingLine"),p=_,b(_)):u(_)}function b(_){return i.enter("setextHeadingLineSequence"),y(_)}function y(_){return _===p?(i.consume(_),y):(i.exit("setextHeadingLineSequence"),Iu(_)?Kl(i,T,"lineSuffix")(_):T(_))}function T(_){return _===null||so(_)?(i.exit("setextHeadingLine"),s(_)):u(_)}}const hZt={tokenize:fZt};function fZt(i){const s=this,u=i.attempt(YQ,d,i.attempt(this.parser.constructs.flowInitial,p,Kl(i,i.attempt(this.parser.constructs.flow,p,i.attempt(mJt,p)),"linePrefix")));return u;function d(v){if(v===null){i.consume(v);return}return i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),s.currentConstruct=void 0,u}function p(v){if(v===null){i.consume(v);return}return i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),s.currentConstruct=void 0,u}}const dZt={resolveAll:sUe()},gZt=iUe("string"),pZt=iUe("text");function iUe(i){return{tokenize:s,resolveAll:sUe(i==="text"?bZt:void 0)};function s(u){const d=this,p=this.parser.constructs[i],v=u.attempt(p,b,y);return b;function b(A){return _(A)?v(A):y(A)}function y(A){if(A===null){u.consume(A);return}return u.enter("data"),u.consume(A),T}function T(A){return _(A)?(u.exit("data"),v(A)):(u.consume(A),T)}function _(A){if(A===null)return!0;const P=p[A];let R=-1;if(P)for(;++R-1){const y=b[0];typeof y=="string"?b[0]=y.slice(d):b.shift()}v>0&&b.push(i[p].slice(0,v))}return b}function wZt(i,s){let u=-1;const d=[];let p;for(;++u13&&u<32||u>126&&u<160||u>55295&&u<57344||u>64975&&u<65008||(u&65535)===65535||(u&65535)===65534||u>1114111?"�":String.fromCharCode(u)}const TZt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function CZt(i){return i.replace(TZt,SZt)}function SZt(i,s,u){if(s)return s;if(u.charCodeAt(0)===35){const p=u.charCodeAt(1),v=p===120||p===88;return oUe(u.slice(v?2:1),v?16:10)}return Dme(u)||i}function QQ(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?cUe(i.position):"start"in i||"end"in i?cUe(i):"line"in i||"column"in i?Pme(i):""}function Pme(i){return uUe(i&&i.line)+":"+uUe(i&&i.column)}function cUe(i){return Pme(i&&i.start)+"-"+Pme(i&&i.end)}function uUe(i){return i&&typeof i=="number"?i:1}const lUe={}.hasOwnProperty,hUe=function(i,s,u){return typeof s!="string"&&(u=s,s=void 0),_Zt(u)(EZt(xZt(u).document().write(kZt()(i,s,!0))))};function _Zt(i){const s={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:y(Ma),autolinkProtocol:W,autolinkEmail:W,atxHeading:y(zr),blockQuote:y(Qe),characterEscape:W,characterReference:W,codeFenced:y(Dt),codeFencedFenceInfo:T,codeFencedFenceMeta:T,codeIndented:y(Dt,T),codeText:y(kt,T),codeTextData:W,data:W,codeFlowValue:W,definition:y(On),definitionDestinationString:T,definitionLabelString:T,definitionTitleString:T,emphasis:y(ht),hardBreakEscape:y(yt),hardBreakTrailing:y(yt),htmlFlow:y(ji,T),htmlFlowData:W,htmlText:y(ji,T),htmlTextData:W,image:y(xi),label:T,link:y(Ma),listItem:y(ao),listItemValue:j,listOrdered:y(zs,F),listUnordered:y(zs),paragraph:y(Tr),reference:_t,referenceString:T,resourceDestinationString:T,resourceTitleString:T,setextHeading:y(zr),strong:y(Fn),thematicBreak:y(Un)},exit:{atxHeading:A(),atxHeadingSequence:se,autolink:A(),autolinkEmail:Pt,autolinkProtocol:xt,blockQuote:A(),characterEscapeValue:xe,characterReferenceMarkerHexadecimal:Gt,characterReferenceMarkerNumeric:Gt,characterReferenceValue:ln,codeFenced:A(oe),codeFencedFence:ie,codeFencedFenceInfo:K,codeFencedFenceMeta:ee,codeFlowValue:xe,codeIndented:A(pe),codeText:A(Ie),codeTextData:xe,data:xe,definition:A(),definitionDestinationString:ne,definitionLabelString:be,definitionTitleString:ae,emphasis:A(),hardBreakEscape:A(Fe),hardBreakTrailing:A(Fe),htmlFlow:A(Pe),htmlFlowData:xe,htmlText:A(je),htmlTextData:xe,image:A(Ce),label:Ke,labelText:ke,lineEnding:U,link:A(Se),listItem:A(),listOrdered:A(),listUnordered:A(),paragraph:A(),referenceString:Et,resourceDestinationString:Ft,resourceTitleString:Ne,resource:gn,setextHeading:A(ge),setextHeadingLineSequence:X,setextHeadingText:de,strong:A(),thematicBreak:A()}};fUe(s,(i||{}).mdastExtensions||[]);const u={};return d;function d(At){let wt={type:"root",children:[]};const on={stack:[wt],tokenStack:[],config:s,enter:_,exit:P,buffer:T,resume:R,setData:v,getData:b},fn=[];let An=-1;for(;++An0){const oo=on.tokenStack[on.tokenStack.length-1];(oo[1]||dUe).call(on,void 0,oo[0])}for(wt.position={start:N9(At.length>0?At[0][1].start:{line:1,column:1,offset:0}),end:N9(At.length>0?At[At.length-2][1].end:{line:1,column:1,offset:0})},An=-1;++An{A!==0&&(p++,d.push([])),_.split(" ").forEach(P=>{P&&d[p].push({content:P,type:y})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(T=>{v(T,b.type)})}return u.forEach(b=>{b.type==="paragraph"&&b.children.forEach(y=>{v(y)})}),d}function DZt(i){const{children:s}=hUe(i);function u(d){return d.type==="text"?d.value.replace(/\n/g,"
    "):d.type==="strong"?`${d.children.map(u).join("")}`:d.type==="emphasis"?`${d.children.map(u).join("")}`:d.type==="paragraph"?`

    ${d.children.map(u).join("")}

    `:`Unsupported markdown: ${d.type}`}return s.map(u).join("")}function IZt(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(s=>s.segment):[...i]}function OZt(i,s){const u=IZt(s.content);return gUe(i,[],u,s.type)}function gUe(i,s,u,d){if(u.length===0)return[{content:s.join(""),type:d},{content:"",type:d}];const[p,...v]=u,b=[...s,p];return i([{content:b.join(""),type:d}])?gUe(i,b,v,d):(s.length===0&&p&&(s.push(p),u.shift()),[{content:s.join(""),type:d},{content:u.join(""),type:d}])}function NZt(i,s){if(i.some(({content:u})=>u.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return Bme(i,s)}function Bme(i,s,u=[],d=[]){if(i.length===0)return d.length>0&&u.push(d),u.length>0?u:[];let p="";i[0].content===" "&&(p=" ",i.shift());const v=i.shift()??{content:" ",type:"normal"},b=[...d];if(p!==""&&b.push({content:p,type:"normal"}),b.push(v),s(b))return Bme(i,s,u,b);if(d.length>0)u.push(d),i.unshift(v);else if(v.content){const[y,T]=OZt(s,v);u.push([y]),T.content&&i.unshift(T)}return Bme(i,s,u)}function PZt(i,s){s&&i.attr("style",s)}function BZt(i,s,u,d,p=!1){const v=i.append("foreignObject"),b=v.append("xhtml:div"),y=s.label,T=s.isNode?"nodeLabel":"edgeLabel";b.html(` + "+y+""),PZt(b,s.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",u+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),p&&b.attr("class","labelBkg");let _=b.node().getBoundingClientRect();return _.width===u&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",u+"px"),_=b.node().getBoundingClientRect()),v.style("width",_.width),v.style("height",_.height),v.node()}function Fme(i,s,u){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",s*u-.1+"em").attr("dy",u+"em")}function FZt(i,s,u){const d=i.append("text"),p=Fme(d,1,s);Rme(p,u);const v=p.node().getComputedTextLength();return d.remove(),v}function RZt(i,s,u){var b;const d=i.append("text"),p=Fme(d,1,s);Rme(p,[{content:u,type:"normal"}]);const v=(b=p.node())==null?void 0:b.getBoundingClientRect();return v&&d.remove(),v}function jZt(i,s,u,d=!1){const v=s.append("g"),b=v.insert("rect").attr("class","background"),y=v.append("text").attr("y","-10.1");let T=0;for(const _ of u){const A=R=>FZt(v,1.1,R)<=i,P=A(_)?[_]:NZt(_,A);for(const R of P){const F=Fme(y,T,1.1);Rme(F,R),T++}}if(d){const _=y.node().getBBox(),A=2;return b.attr("x",-A).attr("y",-A).attr("width",_.width+2*A).attr("height",_.height+2*A),v.node()}else return y.node()}function Rme(i,s){i.text(""),s.forEach((u,d)=>{const p=i.append("tspan").attr("font-style",u.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",u.type==="strong"?"bold":"normal");d===0?p.text(u.content):p.text(" "+u.content)})}const JQ=(i,s="",{style:u="",isTitle:d=!1,classes:p="",useHtmlLabels:v=!0,isNode:b=!0,width:y=200,addSvgBackground:T=!1}={})=>{if(Xe.info("createText",s,u,d,p,v,b,T),v){const _=DZt(s),A={isNode:b,label:ZF(_).replace(/fa[blrs]?:fa-[\w-]+/g,R=>``),labelStyle:u.replace("fill:","color:")};return BZt(i,A,y,p,T)}else{const _=MZt(s);return jZt(y,i,_,T)}},g1=async(i,s,u,d)=>{let p;const v=s.useHtmlLabels||f1(qt().flowchart.htmlLabels);u?p=u:p="node default";const b=i.insert("g").attr("class",p).attr("id",s.domId||s.id),y=b.insert("g").attr("class","label").attr("style",s.labelStyle);let T;s.labelText===void 0?T="":T=typeof s.labelText=="string"?s.labelText:s.labelText[0];const _=y.node();let A;s.labelType==="markdown"?A=JQ(y,Yf(ZF(T),qt()),{useHtmlLabels:v,width:s.width||qt().flowchart.wrappingWidth,classes:"markdown-node-label"}):A=_.appendChild($2(Yf(ZF(T),qt()),s.labelStyle,!1,d));let P=A.getBBox();const R=s.padding/2;if(f1(qt().flowchart.htmlLabels)){const F=A.children[0],j=Ir(A),K=F.getElementsByTagName("img");if(K){const ee=T.replace(/]*>/g,"").trim()==="";await Promise.all([...K].map(ie=>new Promise(oe=>{function pe(){if(ie.style.display="flex",ie.style.flexDirection="column",ee){const be=qt().fontSize?qt().fontSize:window.getComputedStyle(document.body).fontSize,ae=5,ne=parseInt(be,10)*ae+"px";ie.style.minWidth=ne,ie.style.maxWidth=ne}else ie.style.width="100%";oe(ie)}setTimeout(()=>{ie.complete&&pe()}),ie.addEventListener("error",pe),ie.addEventListener("load",pe)})))}P=F.getBoundingClientRect(),j.attr("width",P.width),j.attr("height",P.height)}return v?y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"):y.attr("transform","translate(0, "+-P.height/2+")"),s.centerLabel&&y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),y.insert("rect",":first-child"),{shapeSvg:b,bbox:P,halfPadding:R,label:y}},Kh=(i,s)=>{const u=s.node().getBBox();i.width=u.width,i.height=u.height};function r5(i,s,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-s/2+","+u/2+")")}let Mo={},V3={},pUe={};const $Zt=()=>{V3={},pUe={},Mo={}},ZQ=(i,s)=>(Xe.trace("In isDescendant",s," ",i," = ",V3[s].includes(i)),!!V3[s].includes(i)),zZt=(i,s)=>(Xe.info("Descendants of ",s," is ",V3[s]),Xe.info("Edge is ",i),i.v===s||i.w===s?!1:V3[s]?V3[s].includes(i.v)||ZQ(i.v,s)||ZQ(i.w,s)||V3[s].includes(i.w):(Xe.debug("Tilt, ",s,",not in descendants"),!1)),bUe=(i,s,u,d)=>{Xe.warn("Copying children of ",i,"root",d,"data",s.node(i),d);const p=s.children(i)||[];i!==d&&p.push(i),Xe.warn("Copying (nodes) clusterId",i,"nodes",p),p.forEach(v=>{if(s.children(v).length>0)bUe(v,s,u,d);else{const b=s.node(v);Xe.info("cp ",v," to ",d," with parent ",i),u.setNode(v,b),d!==s.parent(v)&&(Xe.warn("Setting parent",v,s.parent(v)),u.setParent(v,s.parent(v))),i!==d&&v!==i?(Xe.debug("Setting parent",v,i),u.setParent(v,i)):(Xe.info("In copy ",i,"root",d,"data",s.node(i),d),Xe.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==d,"node!==clusterId",v!==i));const y=s.edges(v);Xe.debug("Copying Edges",y),y.forEach(T=>{Xe.info("Edge",T);const _=s.edge(T.v,T.w,T.name);Xe.info("Edge data",_,d);try{zZt(T,d)?(Xe.info("Copying as ",T.v,T.w,_,T.name),u.setEdge(T.v,T.w,_,T.name),Xe.info("newGraph edges ",u.edges(),u.edge(u.edges()[0]))):Xe.info("Skipping copy of edge ",T.v,"-->",T.w," rootId: ",d," clusterId:",i)}catch(A){Xe.error(A)}})}Xe.debug("Removing node",v),s.removeNode(v)})},mUe=(i,s)=>{const u=s.children(i);let d=[...u];for(const p of u)pUe[p]=i,d=[...d,...mUe(p,s)];return d},MR=(i,s)=>{Xe.trace("Searching",i);const u=s.children(i);if(Xe.trace("Searching children of id ",i,u),u.length<1)return Xe.trace("This is a valid node",i),i;for(const d of u){const p=MR(d,s);if(p)return Xe.trace("Found replacement for",i," => ",p),p}},eJ=i=>!Mo[i]||!Mo[i].externalConnections?i:Mo[i]?Mo[i].id:i,qZt=(i,s)=>{if(!i||s>10){Xe.debug("Opting out, no graph ");return}else Xe.debug("Opting in, graph ");i.nodes().forEach(function(u){i.children(u).length>0&&(Xe.warn("Cluster identified",u," Replacement id in edges: ",MR(u,i)),V3[u]=mUe(u,i),Mo[u]={id:MR(u,i),clusterData:i.node(u)})}),i.nodes().forEach(function(u){const d=i.children(u),p=i.edges();d.length>0?(Xe.debug("Cluster identified",u,V3),p.forEach(v=>{if(v.v!==u&&v.w!==u){const b=ZQ(v.v,u),y=ZQ(v.w,u);b^y&&(Xe.warn("Edge: ",v," leaves cluster ",u),Xe.warn("Descendants of XXX ",u,": ",V3[u]),Mo[u].externalConnections=!0)}})):Xe.debug("Not a cluster ",u,V3)});for(let u of Object.keys(Mo)){const d=Mo[u].id,p=i.parent(d);p!==u&&Mo[p]&&!Mo[p].externalConnections&&(Mo[u].id=p)}i.edges().forEach(function(u){const d=i.edge(u);Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(u)),Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(i.edge(u)));let p=u.v,v=u.w;if(Xe.warn("Fix XXX",Mo,"ids:",u.v,u.w,"Translating: ",Mo[u.v]," --- ",Mo[u.w]),Mo[u.v]&&Mo[u.w]&&Mo[u.v]===Mo[u.w]){Xe.warn("Fixing and trixing link to self - removing XXX",u.v,u.w,u.name),Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=eJ(u.v),v=eJ(u.w),i.removeEdge(u.v,u.w,u.name);const b=u.w+"---"+u.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:d.label,padding:0,shape:"labelRect",style:""});const y=structuredClone(d),T=structuredClone(d);y.label="",y.arrowTypeEnd="none",T.label="",y.fromCluster=u.v,T.toCluster=u.v,i.setEdge(p,b,y,u.name+"-cyclic-special"),i.setEdge(b,v,T,u.name+"-cyclic-special")}else if(Mo[u.v]||Mo[u.w]){if(Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=eJ(u.v),v=eJ(u.w),i.removeEdge(u.v,u.w,u.name),p!==u.v){const b=i.parent(p);Mo[b].externalConnections=!0,d.fromCluster=u.v}if(v!==u.w){const b=i.parent(v);Mo[b].externalConnections=!0,d.toCluster=u.w}Xe.warn("Fix Replacing with XXX",p,v,u.name),i.setEdge(p,v,d,u.name)}}),Xe.warn("Adjusted Graph",q7(i)),vUe(i,0),Xe.trace(Mo)},vUe=(i,s)=>{if(Xe.warn("extractor - ",s,q7(i),i.children("D")),s>10){Xe.error("Bailing out");return}let u=i.nodes(),d=!1;for(const p of u){const v=i.children(p);d=d||v.length>0}if(!d){Xe.debug("Done, no node has children",i.nodes());return}Xe.debug("Nodes = ",u,s);for(const p of u)if(Xe.debug("Extracting node",p,Mo,Mo[p]&&!Mo[p].externalConnections,!i.parent(p),i.node(p),i.children("D")," Depth ",s),!Mo[p])Xe.debug("Not a cluster",p,s);else if(!Mo[p].externalConnections&&i.children(p)&&i.children(p).length>0){Xe.warn("Cluster without external connections, without a parent and with children",p,s);let b=i.graph().rankdir==="TB"?"LR":"TB";Mo[p]&&Mo[p].clusterData&&Mo[p].clusterData.dir&&(b=Mo[p].clusterData.dir,Xe.warn("Fixing dir",Mo[p].clusterData.dir,b));const y=new B0({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Xe.warn("Old graph before copy",q7(i)),bUe(p,i,y,p),i.setNode(p,{clusterNode:!0,id:p,clusterData:Mo[p].clusterData,labelText:Mo[p].labelText,graph:y}),Xe.warn("New graph after copy node: (",p,")",q7(y)),Xe.debug("Old graph after copy",q7(i))}else Xe.warn("Cluster ** ",p," **not meeting the criteria !externalConnections:",!Mo[p].externalConnections," no parent: ",!i.parent(p)," children ",i.children(p)&&i.children(p).length>0,i.children("D"),s),Xe.debug(Mo);u=i.nodes(),Xe.warn("New list of nodes",u);for(const p of u){const v=i.node(p);Xe.warn(" Now next level",p,v),v.clusterNode&&vUe(v.graph,s+1)}},wUe=(i,s)=>{if(s.length===0)return[];let u=Object.assign(s);return s.forEach(d=>{const p=i.children(d),v=wUe(i,p);u=[...u,...v]}),u},HZt=i=>wUe(i,i.children());function VZt(i,s){return i.intersect(s)}function yUe(i,s,u,d){var p=i.x,v=i.y,b=p-d.x,y=v-d.y,T=Math.sqrt(s*s*y*y+u*u*b*b),_=Math.abs(s*u*b/T);d.x0}function KZt(i,s,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;typeof s.forEach=="function"?s.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)}):(b=Math.min(b,s.x),y=Math.min(y,s.y));for(var T=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,K){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),pe=K.x-u.x,be=K.y-u.y,ae=Math.sqrt(pe*pe+be*be);return oe{var u=i.x,d=i.y,p=s.x-u,v=s.y-d,b=i.width/2,y=i.height/2,T,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),T=v===0?0:y*p/v,_=y):(p<0&&(b=-b),T=b,_=p===0?0:b*v/p),{x:u+T,y:d+_}},yh={node:VZt,circle:UZt,ellipse:yUe,polygon:KZt,rect:DR},WZt=async(i,s)=>{s.useHtmlLabels||qt().flowchart.htmlLabels||(s.centerLabel=!0);const{shapeSvg:d,bbox:p,halfPadding:v}=await g1(i,s,"node "+s.classes,!0);Xe.info("Classes = ",s.classes);const b=d.insert("rect",":first-child");return b.attr("rx",s.rx).attr("ry",s.ry).attr("x",-p.width/2-v).attr("y",-p.height/2-v).attr("width",p.width+s.padding).attr("height",p.height+s.padding),Kh(s,b),s.intersect=function(y){return yh.rect(s,y)},d},YZt=i=>{const s=new Set;for(const u of i)switch(u){case"x":s.add("right"),s.add("left");break;case"y":s.add("up"),s.add("down");break;default:s.add(u);break}return s},XZt=(i,s,u)=>{const d=YZt(i),p=2,v=s.height+2*u.padding,b=v/p,y=s.width+2*b+u.padding,T=u.padding/2;return d.has("right")&&d.has("left")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:b,y:0},{x:y/2,y:2*T},{x:y-b,y:0},{x:y,y:0},{x:y,y:-v/3},{x:y+2*T,y:-v/2},{x:y,y:-2*v/3},{x:y,y:-v},{x:y-b,y:-v},{x:y/2,y:-v-2*T},{x:b,y:-v},{x:0,y:-v},{x:0,y:-2*v/3},{x:-2*T,y:-v/2},{x:0,y:-v/3}]:d.has("right")&&d.has("left")&&d.has("up")?[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}]:d.has("right")&&d.has("left")&&d.has("down")?[{x:0,y:0},{x:b,y:-v},{x:y-b,y:-v},{x:y,y:0}]:d.has("right")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:y,y:-b},{x:y,y:-v+b},{x:0,y:-v}]:d.has("left")&&d.has("up")&&d.has("down")?[{x:y,y:0},{x:0,y:-b},{x:0,y:-v+b},{x:y,y:-v}]:d.has("right")&&d.has("left")?[{x:b,y:0},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")&&d.has("down")?[{x:y/2,y:0},{x:0,y:-T},{x:b,y:-T},{x:b,y:-v+T},{x:0,y:-v+T},{x:y/2,y:-v},{x:y,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T},{x:y,y:-T}]:d.has("right")&&d.has("up")?[{x:0,y:0},{x:y,y:-b},{x:0,y:-v}]:d.has("right")&&d.has("down")?[{x:0,y:0},{x:y,y:0},{x:0,y:-v}]:d.has("left")&&d.has("up")?[{x:y,y:0},{x:0,y:-b},{x:y,y:-v}]:d.has("left")&&d.has("down")?[{x:y,y:0},{x:0,y:0},{x:y,y:-v}]:d.has("right")?[{x:b,y:-T},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v+T}]:d.has("left")?[{x:b,y:0},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")?[{x:b,y:-T},{x:b,y:-v+T},{x:0,y:-v+T},{x:y/2,y:-v},{x:y,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T}]:d.has("down")?[{x:y/2,y:0},{x:0,y:-T},{x:b,y:-T},{x:b,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T},{x:y,y:-T}]:[{x:0,y:0}]},kUe=i=>i?" "+i:"",dm=(i,s)=>`${s||"node default"}${kUe(i.classes)} ${kUe(i.class)}`,EUe=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=p+v,y=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Xe.info("Question main (Circle)");const T=r5(u,b,b,y);return T.attr("style",s.style),Kh(s,T),s.intersect=function(_){return Xe.warn("Intersect called"),yh.polygon(s,y,_)},u},QZt=(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=28,p=[{x:0,y:d/2},{x:d/2,y:0},{x:0,y:-d/2},{x:-d/2,y:0}];return u.insert("polygon",":first-child").attr("points",p.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),s.width=28,s.height=28,s.intersect=function(b){return yh.circle(s,14,b)},u},JZt=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=4,v=d.height+s.padding,b=v/p,y=d.width+2*b+s.padding,T=[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],_=r5(u,y,v,T);return _.attr("style",s.style),Kh(s,_),s.intersect=function(A){return yh.polygon(s,T,A)},u},ZZt=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,void 0,!0),p=2,v=d.height+2*s.padding,b=v/p,y=d.width+2*b+s.padding,T=XZt(s.directions,d,s),_=r5(u,y,v,T);return _.attr("style",s.style),Kh(s,_),s.intersect=function(A){return yh.polygon(s,T,A)},u},een=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-v/2,y:0},{x:p,y:0},{x:p,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return r5(u,p,v,b).attr("style",s.style),s.width=p+v,s.height=v,s.intersect=function(T){return yh.polygon(s,b,T)},u},ten=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-2*v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},nen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:2*v/6,y:0},{x:p+v/6,y:0},{x:p-2*v/6,y:-v},{x:-v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},ren=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-2*v/6,y:0},{x:p+2*v/6,y:0},{x:p-v/6,y:-v},{x:v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},ien=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:-2*v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},sen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:0,y:0},{x:p+v/2,y:0},{x:p,y:-v/2},{x:p+v/2,y:-v},{x:0,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},aen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=p/2,b=v/(2.5+p/50),y=d.height+b+s.padding,T="M 0,"+b+" a "+v+","+b+" 0,0,0 "+p+" 0 a "+v+","+b+" 0,0,0 "+-p+" 0 l 0,"+y+" a "+v+","+b+" 0,0,0 "+p+" 0 l 0,"+-y,_=u.attr("label-offset-y",b).insert("path",":first-child").attr("style",s.style).attr("d",T).attr("transform","translate("+-p/2+","+-(y/2+b)+")");return Kh(s,_),s.intersect=function(A){const P=yh.rect(s,A),R=P.x-s.x;if(v!=0&&(Math.abs(R)s.height/2-b)){let F=b*b*(1-R*R/(v*v));F!=0&&(F=Math.sqrt(F)),F=b-F,A.y-s.y>0&&(F=-F),P.y+=F}return P},u},oen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,s,"node "+s.classes+" "+s.class,!0),v=u.insert("rect",":first-child"),b=s.positioned?s.width:d.width+s.padding,y=s.positioned?s.height:d.height+s.padding,T=s.positioned?-b/2:-d.width/2-p,_=s.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic label-container").attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",T).attr("y",_).attr("width",b).attr("height",y),s.props){const A=new Set(Object.keys(s.props));s.props.borders&&(jme(v,s.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Kh(s,v),s.intersect=function(A){return yh.rect(s,A)},u},cen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,s,"node "+s.classes,!0),v=u.insert("rect",":first-child"),b=s.positioned?s.width:d.width+s.padding,y=s.positioned?s.height:d.height+s.padding,T=s.positioned?-b/2:-d.width/2-p,_=s.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic cluster composite label-container").attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",T).attr("y",_).attr("width",b).attr("height",y),s.props){const A=new Set(Object.keys(s.props));s.props.borders&&(jme(v,s.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Kh(s,v),s.intersect=function(A){return yh.rect(s,A)},u},uen=async(i,s)=>{const{shapeSvg:u}=await g1(i,s,"label",!0);Xe.trace("Classes = ",s.class);const d=u.insert("rect",":first-child"),p=0,v=0;if(d.attr("width",p).attr("height",v),u.attr("class","label edgeLabel"),s.props){const b=new Set(Object.keys(s.props));s.props.borders&&(jme(d,s.props.borders,p,v),b.delete("borders")),b.forEach(y=>{Xe.warn(`Unknown node property ${y}`)})}return Kh(s,d),s.intersect=function(b){return yh.rect(s,b)},u};function jme(i,s,u,d){const p=[],v=y=>{p.push(y,0)},b=y=>{p.push(0,y)};s.includes("t")?(Xe.debug("add top border"),v(u)):b(u),s.includes("r")?(Xe.debug("add right border"),v(d)):b(d),s.includes("b")?(Xe.debug("add bottom border"),v(u)):b(u),s.includes("l")?(Xe.debug("add left border"),v(d)):b(d),i.attr("stroke-dasharray",p.join(" "))}const len=(i,s)=>{let u;s.classes?u="node "+s.classes:u="node default";const d=i.insert("g").attr("class",u).attr("id",s.domId||s.id),p=d.insert("rect",":first-child"),v=d.insert("line"),b=d.insert("g").attr("class","label"),y=s.labelText.flat?s.labelText.flat():s.labelText;let T="";typeof y=="object"?T=y[0]:T=y,Xe.info("Label text abc79",T,y,typeof y=="object");const _=b.node().appendChild($2(T,s.labelStyle,!0,!0));let A={width:0,height:0};if(f1(qt().flowchart.htmlLabels)){const K=_.children[0],ee=Ir(_);A=K.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}Xe.info("Text 2",y);const P=y.slice(1,y.length);let R=_.getBBox();const F=b.node().appendChild($2(P.join?P.join("
    "):P,s.labelStyle,!0,!0));if(f1(qt().flowchart.htmlLabels)){const K=F.children[0],ee=Ir(F);A=K.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}const j=s.padding/2;return Ir(F).attr("transform","translate( "+(A.width>R.width?0:(R.width-A.width)/2)+", "+(R.height+j+5)+")"),Ir(_).attr("transform","translate( "+(A.width{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.height+s.padding,v=d.width+p/4+s.padding,b=u.insert("rect",":first-child").attr("style",s.style).attr("rx",p/2).attr("ry",p/2).attr("x",-v/2).attr("y",-p/2).attr("width",v).attr("height",p);return Kh(s,b),s.intersect=function(y){return yh.rect(s,y)},u},fen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,s,dm(s,void 0),!0),v=u.insert("circle",":first-child");return v.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p).attr("width",d.width+s.padding).attr("height",d.height+s.padding),Xe.info("Circle main"),Kh(s,v),s.intersect=function(b){return Xe.info("Circle intersect",s,d.width/2+p,b),yh.circle(s,d.width/2+p,b)},u},den=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,s,dm(s,void 0),!0),v=5,b=u.insert("g",":first-child"),y=b.insert("circle"),T=b.insert("circle");return b.attr("class",s.class),y.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p+v).attr("width",d.width+s.padding+v*2).attr("height",d.height+s.padding+v*2),T.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p).attr("width",d.width+s.padding).attr("height",d.height+s.padding),Xe.info("DoubleCircle main"),Kh(s,y),s.intersect=function(_){return Xe.info("DoubleCircle intersect",s,d.width/2+p+v,_),yh.circle(s,d.width/2+p+v,_)},u},gen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await g1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:0,y:0},{x:p,y:0},{x:p,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],y=r5(u,p,v,b);return y.attr("style",s.style),Kh(s,y),s.intersect=function(T){return yh.polygon(s,b,T)},u},pen=(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=u.insert("circle",":first-child");return d.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Kh(s,d),s.intersect=function(p){return yh.circle(s,7,p)},u},TUe=(i,s,u)=>{const d=i.insert("g").attr("class","node default").attr("id",s.domId||s.id);let p=70,v=10;u==="LR"&&(p=10,v=70);const b=d.append("rect").attr("x",-1*p/2).attr("y",-1*v/2).attr("width",p).attr("height",v).attr("class","fork-join");return Kh(s,b),s.height=s.height+s.padding/2,s.width=s.width+s.padding/2,s.intersect=function(y){return yh.rect(s,y)},d},CUe={rhombus:EUe,composite:cen,question:EUe,rect:oen,labelRect:uen,rectWithTitle:len,choice:QZt,circle:fen,doublecircle:den,stadium:hen,hexagon:JZt,block_arrow:ZZt,rect_left_inv_arrow:een,lean_right:ten,lean_left:nen,trapezoid:ren,inv_trapezoid:ien,rect_right_inv_arrow:sen,cylinder:aen,start:pen,end:(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=u.insert("circle",":first-child"),p=u.insert("circle",":first-child");return p.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),d.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Kh(s,p),s.intersect=function(v){return yh.circle(s,7,v)},u},note:WZt,subroutine:gen,fork:TUe,join:TUe,class_box:(i,s)=>{const u=s.padding/2,d=4,p=8;let v;s.classes?v="node "+s.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",s.domId||s.id),y=b.insert("rect",":first-child"),T=b.insert("line"),_=b.insert("line");let A=0,P=d;const R=b.insert("g").attr("class","label");let F=0;const j=s.classData.annotations&&s.classData.annotations[0],K=s.classData.annotations[0]?"«"+s.classData.annotations[0]+"»":"",ee=R.node().appendChild($2(K,s.labelStyle,!0,!0));let ie=ee.getBBox();if(f1(qt().flowchart.htmlLabels)){const de=ee.children[0],X=Ir(ee);ie=de.getBoundingClientRect(),X.attr("width",ie.width),X.attr("height",ie.height)}s.classData.annotations[0]&&(P+=ie.height+d,A+=ie.width);let oe=s.classData.label;s.classData.type!==void 0&&s.classData.type!==""&&(qt().flowchart.htmlLabels?oe+="<"+s.classData.type+">":oe+="<"+s.classData.type+">");const pe=R.node().appendChild($2(oe,s.labelStyle,!0,!0));Ir(pe).attr("class","classTitle");let be=pe.getBBox();if(f1(qt().flowchart.htmlLabels)){const de=pe.children[0],X=Ir(pe);be=de.getBoundingClientRect(),X.attr("width",be.width),X.attr("height",be.height)}P+=be.height+d,be.width>A&&(A=be.width);const ae=[];s.classData.members.forEach(de=>{const X=de.getDisplayDetails();let ge=X.displayText;qt().flowchart.htmlLabels&&(ge=ge.replace(//g,">"));const W=R.node().appendChild($2(ge,X.cssStyle?X.cssStyle:s.labelStyle,!0,!0));let xe=W.getBBox();if(f1(qt().flowchart.htmlLabels)){const U=W.children[0],Fe=Ir(W);xe=U.getBoundingClientRect(),Fe.attr("width",xe.width),Fe.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ae.push(W)}),P+=p;const ne=[];if(s.classData.methods.forEach(de=>{const X=de.getDisplayDetails();let ge=X.displayText;qt().flowchart.htmlLabels&&(ge=ge.replace(//g,">"));const W=R.node().appendChild($2(ge,X.cssStyle?X.cssStyle:s.labelStyle,!0,!0));let xe=W.getBBox();if(f1(qt().flowchart.htmlLabels)){const U=W.children[0],Fe=Ir(W);xe=U.getBoundingClientRect(),Fe.attr("width",xe.width),Fe.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ne.push(W)}),P+=p,j){let de=(A-ie.width)/2;Ir(ee).attr("transform","translate( "+(-1*A/2+de)+", "+-1*P/2+")"),F=ie.height+d}let se=(A-be.width)/2;return Ir(pe).attr("transform","translate( "+(-1*A/2+se)+", "+(-1*P/2+F)+")"),F+=be.height+d,T.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+F).attr("y2",-P/2-u+p+F),F+=p,ae.forEach(de=>{Ir(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+F+p/2)+")");const X=de==null?void 0:de.getBBox();F+=((X==null?void 0:X.height)??0)+d}),F+=p,_.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+F).attr("y2",-P/2-u+p+F),F+=p,ne.forEach(de=>{Ir(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+F)+")");const X=de==null?void 0:de.getBBox();F+=((X==null?void 0:X.height)??0)+d}),y.attr("style",s.style).attr("class","outer title-state").attr("x",-A/2-u).attr("y",-(P/2)-u).attr("width",A+s.padding).attr("height",P+s.padding),Kh(s,y),s.intersect=function(de){return yh.rect(s,de)},b}};let VD={};const tJ=async(i,s,u)=>{let d,p;if(s.link){let v;qt().securityLevel==="sandbox"?v="_top":s.linkTarget&&(v=s.linkTarget||"_blank"),d=i.insert("svg:a").attr("xlink:href",s.link).attr("target",v),p=await CUe[s.shape](d,s,u)}else p=await CUe[s.shape](i,s,u),d=p;return s.tooltip&&p.attr("title",s.tooltip),s.class&&p.attr("class","node default "+s.class),d.attr("data-node","true"),d.attr("data-id",s.id),VD[s.id]=d,s.haveCallback&&VD[s.id].attr("class",VD[s.id].attr("class")+" clickable"),d},ben=(i,s)=>{VD[s.id]=i},men=()=>{VD={}},$me=i=>{const s=VD[i.id];Xe.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const u=8,d=i.diff||0;return i.clusterNode?s.attr("transform","translate("+(i.x+d-i.width/2)+", "+(i.y-i.height/2-u)+")"):s.attr("transform","translate("+i.x+", "+i.y+")"),d},nJ=({flowchart:i})=>{var p,v;const s=((p=i==null?void 0:i.subGraphTitleMargin)==null?void 0:p.top)??0,u=((v=i==null?void 0:i.subGraphTitleMargin)==null?void 0:v.bottom)??0,d=s+u;return{subGraphTitleTopMargin:s,subGraphTitleBottomMargin:u,subGraphTitleTotalMargin:d}},ven={rect:(i,s)=>{Xe.info("Creating subgraph rect for ",s.id,s);const u=qt(),d=i.insert("g").attr("class","cluster"+(s.class?" "+s.class:"")).attr("id",s.id),p=d.insert("rect",":first-child"),v=f1(u.flowchart.htmlLabels),b=d.insert("g").attr("class","cluster-label"),y=s.labelType==="markdown"?JQ(b,s.labelText,{style:s.labelStyle,useHtmlLabels:v}):b.node().appendChild($2(s.labelText,s.labelStyle,void 0,!0));let T=y.getBBox();if(f1(u.flowchart.htmlLabels)){const j=y.children[0],K=Ir(y);T=j.getBoundingClientRect(),K.attr("width",T.width),K.attr("height",T.height)}const _=0*s.padding,A=_/2,P=s.width<=T.width+_?T.width+_:s.width;s.width<=T.width+_?s.diff=(T.width-s.width)/2-s.padding/2:s.diff=-s.padding/2,Xe.trace("Data ",s,JSON.stringify(s)),p.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",s.x-P/2).attr("y",s.y-s.height/2-A).attr("width",P).attr("height",s.height+_);const{subGraphTitleTopMargin:R}=nJ(u);v?b.attr("transform",`translate(${s.x-T.width/2}, ${s.y-s.height/2+R})`):b.attr("transform",`translate(${s.x}, ${s.y-s.height/2+R})`);const F=p.node().getBBox();return s.width=F.width,s.height=F.height,s.intersect=function(j){return DR(s,j)},d},roundedWithTitle:(i,s)=>{const u=qt(),d=i.insert("g").attr("class",s.classes).attr("id",s.id),p=d.insert("rect",":first-child"),v=d.insert("g").attr("class","cluster-label"),b=d.append("rect"),y=v.node().appendChild($2(s.labelText,s.labelStyle,void 0,!0));let T=y.getBBox();if(f1(u.flowchart.htmlLabels)){const j=y.children[0],K=Ir(y);T=j.getBoundingClientRect(),K.attr("width",T.width),K.attr("height",T.height)}T=y.getBBox();const _=0*s.padding,A=_/2,P=s.width<=T.width+s.padding?T.width+s.padding:s.width;s.width<=T.width+s.padding?s.diff=(T.width+s.padding*0-s.width)/2:s.diff=-s.padding/2,p.attr("class","outer").attr("x",s.x-P/2-A).attr("y",s.y-s.height/2-A).attr("width",P+_).attr("height",s.height+_),b.attr("class","inner").attr("x",s.x-P/2-A).attr("y",s.y-s.height/2-A+T.height-1).attr("width",P+_).attr("height",s.height+_-T.height-3);const{subGraphTitleTopMargin:R}=nJ(u);v.attr("transform",`translate(${s.x-T.width/2}, ${s.y-s.height/2-s.padding/3+(f1(u.flowchart.htmlLabels)?5:3)+R})`);const F=p.node().getBBox();return s.height=F.height,s.intersect=function(j){return DR(s,j)},d},noteGroup:(i,s)=>{const u=i.insert("g").attr("class","note-cluster").attr("id",s.id),d=u.insert("rect",":first-child"),p=0*s.padding,v=p/2;d.attr("rx",s.rx).attr("ry",s.ry).attr("x",s.x-s.width/2-v).attr("y",s.y-s.height/2-v).attr("width",s.width+p).attr("height",s.height+p).attr("fill","none");const b=d.node().getBBox();return s.width=b.width,s.height=b.height,s.intersect=function(y){return DR(s,y)},u},divider:(i,s)=>{const u=i.insert("g").attr("class",s.classes).attr("id",s.id),d=u.insert("rect",":first-child"),p=0*s.padding,v=p/2;d.attr("class","divider").attr("x",s.x-s.width/2-v).attr("y",s.y-s.height/2).attr("width",s.width+p).attr("height",s.height+p);const b=d.node().getBBox();return s.width=b.width,s.height=b.height,s.diff=-s.padding/2,s.intersect=function(y){return DR(s,y)},u}};let SUe={};const wen=(i,s)=>{Xe.trace("Inserting cluster");const u=s.shape||"rect";SUe[s.id]=ven[u](i,s)},yen=()=>{SUe={}},P9={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function rJ(i,s){if(i===void 0||s===void 0)return{angle:0,deltaX:0,deltaY:0};i=iJ(i),s=iJ(s);const[u,d]=[i.x,i.y],[p,v]=[s.x,s.y],b=p-u,y=v-d;return{angle:Math.atan(y/b),deltaX:b,deltaY:y}}const iJ=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,_Ue=i=>({x:function(s,u,d){let p=0;if(u===0&&Object.hasOwn(P9,i.arrowTypeStart)){const{angle:v,deltaX:b}=rJ(d[0],d[1]);p=P9[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(P9,i.arrowTypeEnd)){const{angle:v,deltaX:b}=rJ(d[d.length-1],d[d.length-2]);p=P9[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return iJ(s).x+p},y:function(s,u,d){let p=0;if(u===0&&Object.hasOwn(P9,i.arrowTypeStart)){const{angle:v,deltaY:b}=rJ(d[0],d[1]);p=P9[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(P9,i.arrowTypeEnd)){const{angle:v,deltaY:b}=rJ(d[d.length-1],d[d.length-2]);p=P9[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return iJ(s).y+p}}),AUe=(i,s,u,d,p)=>{s.arrowTypeStart&&LUe(i,"start",s.arrowTypeStart,u,d,p),s.arrowTypeEnd&&LUe(i,"end",s.arrowTypeEnd,u,d,p)},xen={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},LUe=(i,s,u,d,p,v)=>{const b=xen[u];if(!b){Xe.warn(`Unknown arrow type: ${u}`);return}const y=s==="start"?"Start":"End";i.attr(`marker-${s}`,`url(${d}#${p}_${v}-${b}${y})`)};let sJ={},Vd={};const ken=()=>{sJ={},Vd={}},zme=(i,s)=>{const u=f1(qt().flowchart.htmlLabels),d=s.labelType==="markdown"?JQ(i,s.label,{style:s.labelStyle,useHtmlLabels:u,addSvgBackground:!0}):$2(s.label,s.labelStyle),p=i.insert("g").attr("class","edgeLabel"),v=p.insert("g").attr("class","label");v.node().appendChild(d);let b=d.getBBox();if(u){const T=d.children[0],_=Ir(d);b=T.getBoundingClientRect(),_.attr("width",b.width),_.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),sJ[s.id]=p,s.width=b.width,s.height=b.height;let y;if(s.startLabelLeft){const T=$2(s.startLabelLeft,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),Vd[s.id]||(Vd[s.id]={}),Vd[s.id].startLeft=_,aJ(y,s.startLabelLeft)}if(s.startLabelRight){const T=$2(s.startLabelRight,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=_.node().appendChild(T),A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),Vd[s.id]||(Vd[s.id]={}),Vd[s.id].startRight=_,aJ(y,s.startLabelRight)}if(s.endLabelLeft){const T=$2(s.endLabelLeft,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(T),Vd[s.id]||(Vd[s.id]={}),Vd[s.id].endLeft=_,aJ(y,s.endLabelLeft)}if(s.endLabelRight){const T=$2(s.endLabelRight,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(T),Vd[s.id]||(Vd[s.id]={}),Vd[s.id].endRight=_,aJ(y,s.endLabelRight)}return d};function aJ(i,s){qt().flowchart.htmlLabels&&i&&(i.style.width=s.length*9+"px",i.style.height="12px")}const MUe=(i,s)=>{Xe.debug("Moving label abc88 ",i.id,i.label,sJ[i.id],s);let u=s.updatedPath?s.updatedPath:s.originalPath;const d=qt(),{subGraphTitleTotalMargin:p}=nJ(d);if(i.label){const v=sJ[i.id];let b=i.x,y=i.y;if(u){const T=Ao.calcLabelPosition(u);Xe.debug("Moving label "+i.label+" from (",b,",",y,") to (",T.x,",",T.y,") abc88"),s.updatedPath&&(b=T.x,y=T.y)}v.attr("transform",`translate(${b}, ${y+p/2})`)}if(i.startLabelLeft){const v=Vd[i.id].startLeft;let b=i.x,y=i.y;if(u){const T=Ao.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.startLabelRight){const v=Vd[i.id].startRight;let b=i.x,y=i.y;if(u){const T=Ao.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelLeft){const v=Vd[i.id].endLeft;let b=i.x,y=i.y;if(u){const T=Ao.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelRight){const v=Vd[i.id].endRight;let b=i.x,y=i.y;if(u){const T=Ao.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}},Een=(i,s)=>{const u=i.x,d=i.y,p=Math.abs(s.x-u),v=Math.abs(s.y-d),b=i.width/2,y=i.height/2;return p>=b||v>=y},Ten=(i,s,u)=>{Xe.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(s)} + insidePoint : ${JSON.stringify(u)} + node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const d=i.x,p=i.y,v=Math.abs(d-u.x),b=i.width/2;let y=u.xMath.abs(d-s.x)*T){let P=u.y{Xe.debug("abc88 cutPathAtIntersect",i,s);let u=[],d=i[0],p=!1;return i.forEach(v=>{if(!Een(s,v)&&!p){const b=Ten(s,d,v);let y=!1;u.forEach(T=>{y=y||T.x===b.x&&T.y===b.y}),u.some(T=>T.x===b.x&&T.y===b.y)||u.push(b),p=!0}else d=v,p||u.push(v)}),u},IUe=function(i,s,u,d,p,v,b){let y=u.points;Xe.debug("abc88 InsertEdge: edge=",u,"e=",s);let T=!1;const _=v.node(s.v);var A=v.node(s.w);A!=null&&A.intersect&&(_!=null&&_.intersect)&&(y=y.slice(1,u.points.length-1),y.unshift(_.intersect(y[0])),y.push(A.intersect(y[y.length-1]))),u.toCluster&&(Xe.debug("to cluster abc88",d[u.toCluster]),y=DUe(u.points,d[u.toCluster].node),T=!0),u.fromCluster&&(Xe.debug("from cluster abc88",d[u.fromCluster]),y=DUe(y.reverse(),d[u.fromCluster].node).reverse(),T=!0);const P=y.filter(be=>!Number.isNaN(be.y));let R=FF;u.curve&&(p==="graph"||p==="flowchart")&&(R=u.curve);const{x:F,y:j}=_Ue(u),K=k7().x(F).y(j).curve(R);let ee;switch(u.thickness){case"normal":ee="edge-thickness-normal";break;case"thick":ee="edge-thickness-thick";break;case"invisible":ee="edge-thickness-thick";break;default:ee=""}switch(u.pattern){case"solid":ee+=" edge-pattern-solid";break;case"dotted":ee+=" edge-pattern-dotted";break;case"dashed":ee+=" edge-pattern-dashed";break}const ie=i.append("path").attr("d",K(P)).attr("id",u.id).attr("class"," "+ee+(u.classes?" "+u.classes:"")).attr("style",u.style);let oe="";(qt().flowchart.arrowMarkerAbsolute||qt().state.arrowMarkerAbsolute)&&(oe=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,oe=oe.replace(/\(/g,"\\("),oe=oe.replace(/\)/g,"\\)")),AUe(ie,u,oe,b,p);let pe={};return T&&(pe.updatedPath=y),pe.originalPath=u.points,pe},OUe=async(i,s,u,d,p,v)=>{Xe.info("Graph in recursive render: XXX",q7(s),p);const b=s.graph().rankdir;Xe.trace("Dir in recursive render - dir:",b);const y=i.insert("g").attr("class","root");s.nodes()?Xe.info("Recursive render XXX",s.nodes()):Xe.info("No nodes found for",s),s.edges().length>0&&Xe.trace("Recursive edges",s.edge(s.edges()[0]));const T=y.insert("g").attr("class","clusters"),_=y.insert("g").attr("class","edgePaths"),A=y.insert("g").attr("class","edgeLabels"),P=y.insert("g").attr("class","nodes");await Promise.all(s.nodes().map(async function(j){const K=s.node(j);if(p!==void 0){const ee=JSON.parse(JSON.stringify(p.clusterData));Xe.info("Setting data for cluster XXX (",j,") ",ee,p),s.setNode(p.id,ee),s.parent(j)||(Xe.trace("Setting parent",j,p.id),s.setParent(j,p.id,ee))}if(Xe.info("(Insert) Node XXX"+j+": "+JSON.stringify(s.node(j))),K&&K.clusterNode){Xe.info("Cluster identified",j,K.width,s.node(j));const ee=await OUe(P,K.graph,u,d,s.node(j),v),ie=ee.elem;Kh(K,ie),K.diff=ee.diff||0,Xe.info("Node bounds (abc123)",j,K,K.width,K.x,K.y),ben(ie,K),Xe.warn("Recursive render complete ",ie,K)}else s.children(j).length>0?(Xe.info("Cluster - the non recursive path XXX",j,K.id,K,s),Xe.info(MR(K.id,s)),Mo[K.id]={id:MR(K.id,s),node:K}):(Xe.info("Node - the non recursive path",j,K.id,K),await tJ(P,s.node(j),b))})),s.edges().forEach(function(j){const K=s.edge(j.v,j.w,j.name);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j)),Xe.info("Edge "+j.v+" -> "+j.w+": ",j," ",JSON.stringify(s.edge(j))),Xe.info("Fix",Mo,"ids:",j.v,j.w,"Translating: ",Mo[j.v],Mo[j.w]),zme(A,K)}),s.edges().forEach(function(j){Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j))}),Xe.info("#############################################"),Xe.info("### Layout ###"),Xe.info("#############################################"),Xe.info(s),qD(s),Xe.info("Graph after layout:",q7(s));let R=0;const{subGraphTitleTotalMargin:F}=nJ(v);return HZt(s).forEach(function(j){const K=s.node(j);Xe.info("Position "+j+": "+JSON.stringify(s.node(j))),Xe.info("Position "+j+": ("+K.x,","+K.y,") width: ",K.width," height: ",K.height),K&&K.clusterNode?(K.y+=F,$me(K)):s.children(j).length>0?(K.height+=F,wen(T,K),Mo[K.id].node=K):(K.y+=F/2,$me(K))}),s.edges().forEach(function(j){const K=s.edge(j);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(K),K),K.points.forEach(ie=>ie.y+=F/2);const ee=IUe(_,j,K,Mo,u,s,d);MUe(K,ee)}),s.nodes().forEach(function(j){const K=s.node(j);Xe.info(j,K.type,K.diff),K.type==="group"&&(R=K.diff)}),{elem:y,diff:R}},qme=async(i,s,u,d,p)=>{Sme(i,u,d,p),men(),ken(),yen(),$Zt(),Xe.warn("Graph at first:",JSON.stringify(q7(s))),qZt(s),Xe.warn("Graph after:",JSON.stringify(q7(s)));const v=qt();await OUe(i,s,d,p,void 0,v)},NUe={},Cen=function(i){const s=Object.keys(i);for(const u of s)NUe[u]=i[u]},PUe=async function(i,s,u,d,p,v){const b=d.select(`[id="${u}"]`),y=Object.keys(i);for(const T of y){const _=i[T];let A="default";_.classes.length>0&&(A=_.classes.join(" ")),A=A+" flowchart-label";const P=om(_.styles);let R=_.text!==void 0?_.text:_.id,F;if(Xe.info("vertex",_,_.labelType),_.labelType==="markdown")Xe.info("vertex",_,_.labelType);else if(f1(qt().flowchart.htmlLabels))F=vme(b,{label:R}).node(),F.parentNode.removeChild(F);else{const ie=p.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",P.labelStyle.replace("color:","fill:"));const oe=R.split(li.lineBreakRegex);for(const pe of oe){const be=p.createElementNS("http://www.w3.org/2000/svg","tspan");be.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),be.setAttribute("dy","1em"),be.setAttribute("x","1"),be.textContent=pe,ie.appendChild(be)}F=ie}let j=0,K="";switch(_.type){case"round":j=5,K="rect";break;case"square":K="rect";break;case"diamond":K="question";break;case"hexagon":K="hexagon";break;case"odd":K="rect_left_inv_arrow";break;case"lean_right":K="lean_right";break;case"lean_left":K="lean_left";break;case"trapezoid":K="trapezoid";break;case"inv_trapezoid":K="inv_trapezoid";break;case"odd_right":K="rect_left_inv_arrow";break;case"circle":K="circle";break;case"ellipse":K="ellipse";break;case"stadium":K="stadium";break;case"subroutine":K="subroutine";break;case"cylinder":K="cylinder";break;case"group":K="rect";break;case"doublecircle":K="doublecircle";break;default:K="rect"}const ee=await CC(R,qt());s.setNode(_.id,{labelStyle:P.labelStyle,shape:K,labelText:ee,labelType:_.labelType,rx:j,ry:j,class:A,style:P.style,id:_.id,link:_.link,linkTarget:_.linkTarget,tooltip:v.db.getTooltip(_.id)||"",domId:v.db.lookUpDomId(_.id),haveCallback:_.haveCallback,width:_.type==="group"?500:void 0,dir:_.dir,type:_.type,props:_.props,padding:qt().flowchart.padding}),Xe.info("setNode",{labelStyle:P.labelStyle,labelType:_.labelType,shape:K,labelText:ee,rx:j,ry:j,class:A,style:P.style,id:_.id,domId:v.db.lookUpDomId(_.id),width:_.type==="group"?500:void 0,type:_.type,dir:_.dir,props:_.props,padding:qt().flowchart.padding})}},BUe=async function(i,s,u){Xe.info("abc78 edges = ",i);let d=0,p={},v,b;if(i.defaultStyle!==void 0){const y=om(i.defaultStyle);v=y.style,b=y.labelStyle}for(const y of i){d++;const T="L-"+y.start+"-"+y.end;p[T]===void 0?(p[T]=0,Xe.info("abc78 new entry",T,p[T])):(p[T]++,Xe.info("abc78 new entry",T,p[T]));let _=T+"-"+p[T];Xe.info("abc78 new link id to be used is",T,_,p[T]);const A="LS-"+y.start,P="LE-"+y.end,R={style:"",labelStyle:""};switch(R.minlen=y.length||1,y.type==="arrow_open"?R.arrowhead="none":R.arrowhead="normal",R.arrowTypeStart="arrow_open",R.arrowTypeEnd="arrow_open",y.type){case"double_arrow_cross":R.arrowTypeStart="arrow_cross";case"arrow_cross":R.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":R.arrowTypeStart="arrow_point";case"arrow_point":R.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":R.arrowTypeStart="arrow_circle";case"arrow_circle":R.arrowTypeEnd="arrow_circle";break}let F="",j="";switch(y.stroke){case"normal":F="fill:none;",v!==void 0&&(F=v),b!==void 0&&(j=b),R.thickness="normal",R.pattern="solid";break;case"dotted":R.thickness="normal",R.pattern="dotted",R.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":R.thickness="thick",R.pattern="solid",R.style="stroke-width: 3.5px;fill:none;";break;case"invisible":R.thickness="invisible",R.pattern="solid",R.style="stroke-width: 0;fill:none;";break}if(y.style!==void 0){const K=om(y.style);F=K.style,j=K.labelStyle}R.style=R.style+=F,R.labelStyle=R.labelStyle+=j,y.interpolate!==void 0?R.curve=Ov(y.interpolate,kp):i.defaultInterpolate!==void 0?R.curve=Ov(i.defaultInterpolate,kp):R.curve=Ov(NUe.curve,kp),y.text===void 0?y.style!==void 0&&(R.arrowheadStyle="fill: #333"):(R.arrowheadStyle="fill: #333",R.labelpos="c"),R.labelType=y.labelType,R.label=await CC(y.text.replace(li.lineBreakRegex,` +`),qt()),y.style===void 0&&(R.style=R.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),R.labelStyle=R.labelStyle.replace("color:","fill:"),R.id=_,R.classes="flowchart-link "+A+" "+P,s.setEdge(y.start,y.end,R,d)}},Hme={setConf:Cen,addVertices:PUe,addEdges:BUe,getClasses:function(i,s){return s.db.getClasses()},draw:async function(i,s,u,d){Xe.info("Drawing flowchart");let p=d.db.getDirection();p===void 0&&(p="TD");const{securityLevel:v,flowchart:b}=qt(),y=b.nodeSpacing||50,T=b.rankSpacing||50;let _;v==="sandbox"&&(_=Ir("#i"+s));const A=Ir(v==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=v==="sandbox"?_.nodes()[0].contentDocument:document,R=new B0({multigraph:!0,compound:!0}).setGraph({rankdir:p,nodesep:y,ranksep:T,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let F;const j=d.db.getSubGraphs();Xe.info("Subgraphs - ",j);for(let ae=j.length-1;ae>=0;ae--)F=j[ae],Xe.info("Subgraph - ",F),d.db.addVertex(F.id,{text:F.title,type:F.labelType},"group",void 0,F.classes,F.dir);const K=d.db.getVertices(),ee=d.db.getEdges();Xe.info("Edges",ee);let ie=0;for(ie=j.length-1;ie>=0;ie--){F=j[ie],_Be("cluster").append("text");for(let ae=0;ae{const u=ARe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return SC(d,p,v,s)},FUe=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${Sen(i.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`,_en=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Gbe,db:HC,renderer:Hme,styles:FUe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,_Qt.setConf(i.flowchart),HC.clear(),HC.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),Aen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Gbe,db:HC,renderer:Hme,styles:FUe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,_jt({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),Hme.setConf(i.flowchart),HC.clear(),HC.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var Vme=function(){var i=function(de,X,ge,W){for(ge=ge||{},W=de.length;W--;ge[de[W]]=X);return ge},s=[6,8,10,20,22,24,26,27,28],u=[1,10],d=[1,11],p=[1,12],v=[1,13],b=[1,14],y=[1,15],T=[1,21],_=[1,22],A=[1,23],P=[1,24],R=[1,25],F=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],j=[1,34],K=[27,28,46,47],ee=[41,42,43,44,45],ie=[17,34],oe=[1,54],pe=[1,53],be=[17,34,36,38],ae={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(X,ge,W,xe,U,Fe,Pe){var je=Fe.length-1;switch(U){case 1:break;case 2:this.$=[];break;case 3:Fe[je-1].push(Fe[je]),this.$=Fe[je-1];break;case 4:case 5:this.$=Fe[je];break;case 6:case 7:this.$=[];break;case 8:xe.addEntity(Fe[je-4]),xe.addEntity(Fe[je-2]),xe.addRelationship(Fe[je-4],Fe[je],Fe[je-2],Fe[je-3]);break;case 9:xe.addEntity(Fe[je-3]),xe.addAttributes(Fe[je-3],Fe[je-1]);break;case 10:xe.addEntity(Fe[je-2]);break;case 11:xe.addEntity(Fe[je]);break;case 12:xe.addEntity(Fe[je-6],Fe[je-4]),xe.addAttributes(Fe[je-6],Fe[je-1]);break;case 13:xe.addEntity(Fe[je-5],Fe[je-3]);break;case 14:xe.addEntity(Fe[je-3],Fe[je-1]);break;case 15:case 16:this.$=Fe[je].trim(),xe.setAccTitle(this.$);break;case 17:case 18:this.$=Fe[je].trim(),xe.setAccDescription(this.$);break;case 19:case 43:this.$=Fe[je];break;case 20:case 41:case 42:this.$=Fe[je].replace(/"/g,"");break;case 21:case 29:this.$=[Fe[je]];break;case 22:Fe[je].push(Fe[je-1]),this.$=Fe[je];break;case 23:this.$={attributeType:Fe[je-1],attributeName:Fe[je]};break;case 24:this.$={attributeType:Fe[je-2],attributeName:Fe[je-1],attributeKeyTypeList:Fe[je]};break;case 25:this.$={attributeType:Fe[je-2],attributeName:Fe[je-1],attributeComment:Fe[je]};break;case 26:this.$={attributeType:Fe[je-3],attributeName:Fe[je-2],attributeKeyTypeList:Fe[je-1],attributeComment:Fe[je]};break;case 27:case 28:case 31:this.$=Fe[je];break;case 30:Fe[je-2].push(Fe[je]),this.$=Fe[je-2];break;case 32:this.$=Fe[je].replace(/"/g,"");break;case 33:this.$={cardA:Fe[je],relType:Fe[je-1],cardB:Fe[je-2]};break;case 34:this.$=xe.Cardinality.ZERO_OR_ONE;break;case 35:this.$=xe.Cardinality.ZERO_OR_MORE;break;case 36:this.$=xe.Cardinality.ONE_OR_MORE;break;case 37:this.$=xe.Cardinality.ONLY_ONE;break;case 38:this.$=xe.Cardinality.MD_PARENT;break;case 39:this.$=xe.Identification.NON_IDENTIFYING;break;case 40:this.$=xe.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:16,11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(s,[2,5]),i(s,[2,6]),i(s,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:T,42:_,43:A,44:P,45:R}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(s,[2,18]),i(F,[2,19]),i(F,[2,20]),i(s,[2,4]),{11:29,27:b,28:y},{16:30,17:[1,31],29:32,30:33,34:j},{11:35,27:b,28:y},{40:36,46:[1,37],47:[1,38]},i(K,[2,34]),i(K,[2,35]),i(K,[2,36]),i(K,[2,37]),i(K,[2,38]),i(s,[2,15]),i(s,[2,16]),i(s,[2,17]),{13:[1,39]},{17:[1,40]},i(s,[2,10]),{16:41,17:[2,21],29:32,30:33,34:j},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:T,42:_,43:A,44:P,45:R},i(ee,[2,39]),i(ee,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(s,[2,9]),{17:[2,22]},i(ie,[2,23],{32:50,33:51,35:52,37:oe,38:pe}),i([17,34,37,38],[2,28]),i(s,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(s,[2,8]),i(s,[2,41]),i(s,[2,42]),i(s,[2,43]),i(ie,[2,24],{33:56,36:[1,57],38:pe}),i(ie,[2,25]),i(be,[2,29]),i(ie,[2,32]),i(be,[2,31]),{16:58,17:[1,59],29:32,30:33,34:j},i(ie,[2,26]),{35:60,37:oe},{17:[1,61]},i(s,[2,13]),i(be,[2,30]),i(s,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(X,ge){if(ge.recoverable)this.trace(X);else{var W=new Error(X);throw W.hash=ge,W}},parse:function(X){var ge=this,W=[0],xe=[],U=[null],Fe=[],Pe=this.table,je="",Ie=0,Se=0,Ce=2,ke=1,Ke=Fe.slice.call(arguments,1),Ft=Object.create(this.lexer),Ne={yy:{}};for(var gn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gn)&&(Ne.yy[gn]=this.yy[gn]);Ft.setInput(X,Ne.yy),Ne.yy.lexer=Ft,Ne.yy.parser=this,typeof Ft.yylloc>"u"&&(Ft.yylloc={});var _t=Ft.yylloc;Fe.push(_t);var Et=Ft.options&&Ft.options.ranges;typeof Ne.yy.parseError=="function"?this.parseError=Ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Gt(){var ji;return ji=xe.pop()||Ft.lex()||ke,typeof ji!="number"&&(ji instanceof Array&&(xe=ji,ji=xe.pop()),ji=ge.symbols_[ji]||ji),ji}for(var ln,xt,Pt,Qe,Dt={},kt,On,ht,zr;;){if(xt=W[W.length-1],this.defaultActions[xt]?Pt=this.defaultActions[xt]:((ln===null||typeof ln>"u")&&(ln=Gt()),Pt=Pe[xt]&&Pe[xt][ln]),typeof Pt>"u"||!Pt.length||!Pt[0]){var yt="";zr=[];for(kt in Pe[xt])this.terminals_[kt]&&kt>Ce&&zr.push("'"+this.terminals_[kt]+"'");Ft.showPosition?yt="Parse error on line "+(Ie+1)+`: +`+Ft.showPosition()+` +Expecting `+zr.join(", ")+", got '"+(this.terminals_[ln]||ln)+"'":yt="Parse error on line "+(Ie+1)+": Unexpected "+(ln==ke?"end of input":"'"+(this.terminals_[ln]||ln)+"'"),this.parseError(yt,{text:Ft.match,token:this.terminals_[ln]||ln,line:Ft.yylineno,loc:_t,expected:zr})}if(Pt[0]instanceof Array&&Pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xt+", token: "+ln);switch(Pt[0]){case 1:W.push(ln),U.push(Ft.yytext),Fe.push(Ft.yylloc),W.push(Pt[1]),ln=null,Se=Ft.yyleng,je=Ft.yytext,Ie=Ft.yylineno,_t=Ft.yylloc;break;case 2:if(On=this.productions_[Pt[1]][1],Dt.$=U[U.length-On],Dt._$={first_line:Fe[Fe.length-(On||1)].first_line,last_line:Fe[Fe.length-1].last_line,first_column:Fe[Fe.length-(On||1)].first_column,last_column:Fe[Fe.length-1].last_column},Et&&(Dt._$.range=[Fe[Fe.length-(On||1)].range[0],Fe[Fe.length-1].range[1]]),Qe=this.performAction.apply(Dt,[je,Se,Ie,Ne.yy,Pt[1],U,Fe].concat(Ke)),typeof Qe<"u")return Qe;On&&(W=W.slice(0,-1*On*2),U=U.slice(0,-1*On),Fe=Fe.slice(0,-1*On)),W.push(this.productions_[Pt[1]][0]),U.push(Dt.$),Fe.push(Dt._$),ht=Pe[W[W.length-2]][W[W.length-1]],W.push(ht);break;case 3:return!0}}return!0}},ne=function(){var de={EOF:1,parseError:function(ge,W){if(this.yy.parser)this.yy.parser.parseError(ge,W);else throw new Error(ge)},setInput:function(X,ge){return this.yy=ge||this.yy||{},this._input=X,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},input:function(){var X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var ge=X.match(/(?:\r\n?|\n).*/g);return ge?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var ge=X.length,W=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ge),this.offset-=ge;var xe=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),W.length-1&&(this.yylineno-=W.length-1);var U=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:W?(W.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-W.length].length-W[0].length:this.yylloc.first_column-ge},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-ge]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),ge=new Array(X.length+1).join("-");return X+this.upcomingInput()+` +`+ge+"^"},test_match:function(X,ge){var W,xe,U;if(this.options.backtrack_lexer&&(U={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&&(U.yylloc.range=this.yylloc.range.slice(0))),xe=X[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,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(X[0].length),this.matched+=X[0],W=this.performAction.call(this,this.yy,this,ge,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var Fe in U)this[Fe]=U[Fe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,ge,W,xe;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),Fe=0;Fege[0].length)){if(ge=W,xe=Fe,this.options.backtrack_lexer){if(X=this.test_match(W,U[Fe]),X!==!1)return X;if(this._backtrack){ge=!1;continue}else return!1}else if(!this.options.flex)break}return ge?(X=this.test_match(ge,U[xe]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ge=this.next();return ge||this.lex()},begin:function(ge){this.conditionStack.push(ge)},popState:function(){var ge=this.conditionStack.length-1;return ge>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ge){return ge=this.conditionStack.length-1-Math.abs(ge||0),ge>=0?this.conditionStack[ge]:"INITIAL"},pushState:function(ge){this.begin(ge)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ge,W,xe,U){switch(xe){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return W.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return W.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,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],inclusive:!0}}};return de}();ae.lexer=ne;function se(){this.yy={}}return se.prototype=ae,ae.Parser=se,new se}();Vme.parser=Vme;const Len=Vme;let B9={},Ume=[];const Men={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Den={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},RUe=function(i,s=void 0){return B9[i]===void 0?(B9[i]={attributes:[],alias:s},Xe.info("Added new entity :",i)):B9[i]&&!B9[i].alias&&s&&(B9[i].alias=s,Xe.info(`Add alias '${s}' to entity '${i}'`)),B9[i]},Ien={Cardinality:Men,Identification:Den,getConfig:()=>qt().er,addEntity:RUe,addAttributes:function(i,s){let u=RUe(i),d;for(d=s.length-1;d>=0;d--)u.attributes.push(s[d]),Xe.debug("Added attribute ",s[d].attributeName)},getEntities:()=>B9,addRelationship:function(i,s,u,d){let p={entityA:i,roleA:s,entityB:u,relSpec:d};Ume.push(p),Xe.debug("Added new relationship :",p)},getRelationships:()=>Ume,clear:function(){B9={},Ume=[],Pg()},setAccTitle:Bg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,setDiagramTitle:cm,getDiagramTitle:Ap},U3={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},G3={ERMarkers:U3,insertMarkers:function(i,s){let u;i.append("defs").append("marker").attr("id",U3.MD_PARENT_START).attr("refX",0).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"),i.append("defs").append("marker").attr("id",U3.MD_PARENT_END).attr("refX",19).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"),i.append("defs").append("marker").attr("id",U3.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",U3.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",U3.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",U3.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},Oen=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Nen(i){return typeof i=="string"&&Oen.test(i)}const Ud=[];for(let i=0;i<256;++i)Ud.push((i+256).toString(16).slice(1));function Pen(i,s=0){return Ud[i[s+0]]+Ud[i[s+1]]+Ud[i[s+2]]+Ud[i[s+3]]+"-"+Ud[i[s+4]]+Ud[i[s+5]]+"-"+Ud[i[s+6]]+Ud[i[s+7]]+"-"+Ud[i[s+8]]+Ud[i[s+9]]+"-"+Ud[i[s+10]]+Ud[i[s+11]]+Ud[i[s+12]]+Ud[i[s+13]]+Ud[i[s+14]]+Ud[i[s+15]]}function Ben(i){if(!Nen(i))throw TypeError("Invalid UUID");let s;const u=new Uint8Array(16);return u[0]=(s=parseInt(i.slice(0,8),16))>>>24,u[1]=s>>>16&255,u[2]=s>>>8&255,u[3]=s&255,u[4]=(s=parseInt(i.slice(9,13),16))>>>8,u[5]=s&255,u[6]=(s=parseInt(i.slice(14,18),16))>>>8,u[7]=s&255,u[8]=(s=parseInt(i.slice(19,23),16))>>>8,u[9]=s&255,u[10]=(s=parseInt(i.slice(24,36),16))/1099511627776&255,u[11]=s/4294967296&255,u[12]=s>>>24&255,u[13]=s>>>16&255,u[14]=s>>>8&255,u[15]=s&255,u}function Fen(i){i=unescape(encodeURIComponent(i));const s=[];for(let u=0;u>>32-s}function qen(i){const s=[1518500249,1859775393,2400959708,3395469782],u=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let y=0;y>>0;R=P,P=A,A=Gme(_,30)>>>0,_=T,T=K}u[0]=u[0]+T>>>0,u[1]=u[1]+_>>>0,u[2]=u[2]+A>>>0,u[3]=u[3]+P>>>0,u[4]=u[4]+R>>>0}return[u[0]>>24&255,u[0]>>16&255,u[0]>>8&255,u[0]&255,u[1]>>24&255,u[1]>>16&255,u[1]>>8&255,u[1]&255,u[2]>>24&255,u[2]>>16&255,u[2]>>8&255,u[2]&255,u[3]>>24&255,u[3]>>16&255,u[3]>>8&255,u[3]&255,u[4]>>24&255,u[4]>>16&255,u[4]>>8&255,u[4]&255]}const Hen=$en("v5",80,qen),Ven=/[^\dA-Za-z](\W)*/g;let p1={},IR=new Map;const Uen=function(i){const s=Object.keys(i);for(const u of s)p1[u]=i[u]},Gen=(i,s,u)=>{const d=p1.entityPadding/3,p=p1.entityPadding/3,v=p1.fontSize*.85,b=s.node().getBBox(),y=[];let T=!1,_=!1,A=0,P=0,R=0,F=0,j=b.height+d*2,K=1;u.forEach(pe=>{pe.attributeKeyTypeList!==void 0&&pe.attributeKeyTypeList.length>0&&(T=!0),pe.attributeComment!==void 0&&(_=!0)}),u.forEach(pe=>{const be=`${s.node().id}-attr-${K}`;let ae=0;const ne=qF(pe.attributeType),se=i.append("text").classed("er entityLabel",!0).attr("id",`${be}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(ne),de=i.append("text").classed("er entityLabel",!0).attr("id",`${be}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(pe.attributeName),X={};X.tn=se,X.nn=de;const ge=se.node().getBBox(),W=de.node().getBBox();if(A=Math.max(A,ge.width),P=Math.max(P,W.width),ae=Math.max(ge.height,W.height),T){const xe=pe.attributeKeyTypeList!==void 0?pe.attributeKeyTypeList.join(","):"",U=i.append("text").classed("er entityLabel",!0).attr("id",`${be}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(xe);X.kn=U;const Fe=U.node().getBBox();R=Math.max(R,Fe.width),ae=Math.max(ae,Fe.height)}if(_){const xe=i.append("text").classed("er entityLabel",!0).attr("id",`${be}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(pe.attributeComment||"");X.cn=xe;const U=xe.node().getBBox();F=Math.max(F,U.width),ae=Math.max(ae,U.height)}X.height=ae,y.push(X),j+=ae+d*2,K+=1});let ee=4;T&&(ee+=2),_&&(ee+=2);const ie=A+P+R+F,oe={width:Math.max(p1.minEntityWidth,Math.max(b.width+p1.entityPadding*2,ie+p*ee)),height:u.length>0?j:Math.max(p1.minEntityHeight,b.height+p1.entityPadding*2)};if(u.length>0){const pe=Math.max(0,(oe.width-ie-p*ee)/(ee/2));s.attr("transform","translate("+oe.width/2+","+(d+b.height/2)+")");let be=b.height+d*2,ae="attributeBoxOdd";y.forEach(ne=>{const se=be+d+ne.height/2;ne.tn.attr("transform","translate("+p+","+se+")");const de=i.insert("rect","#"+ne.tn.node().id).classed(`er ${ae}`,!0).attr("x",0).attr("y",be).attr("width",A+p*2+pe).attr("height",ne.height+d*2),X=parseFloat(de.attr("x"))+parseFloat(de.attr("width"));ne.nn.attr("transform","translate("+(X+p)+","+se+")");const ge=i.insert("rect","#"+ne.nn.node().id).classed(`er ${ae}`,!0).attr("x",X).attr("y",be).attr("width",P+p*2+pe).attr("height",ne.height+d*2);let W=parseFloat(ge.attr("x"))+parseFloat(ge.attr("width"));if(T){ne.kn.attr("transform","translate("+(W+p)+","+se+")");const xe=i.insert("rect","#"+ne.kn.node().id).classed(`er ${ae}`,!0).attr("x",W).attr("y",be).attr("width",R+p*2+pe).attr("height",ne.height+d*2);W=parseFloat(xe.attr("x"))+parseFloat(xe.attr("width"))}_&&(ne.cn.attr("transform","translate("+(W+p)+","+se+")"),i.insert("rect","#"+ne.cn.node().id).classed(`er ${ae}`,"true").attr("x",W).attr("y",be).attr("width",F+p*2+pe).attr("height",ne.height+d*2)),be+=ne.height+d*2,ae=ae==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else oe.height=Math.max(p1.minEntityHeight,j),s.attr("transform","translate("+oe.width/2+","+oe.height/2+")");return oe},Ken=function(i,s,u){const d=Object.keys(s);let p;return d.forEach(function(v){const b=Zen(v,"entity");IR.set(v,b);const y=i.append("g").attr("id",b);p=p===void 0?b:p;const T="text-"+b,_=y.append("text").classed("er entityLabel",!0).attr("id",T).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",qt().fontFamily).style("font-size",p1.fontSize+"px").text(s[v].alias??v),{width:A,height:P}=Gen(y,_,s[v].attributes),F=y.insert("rect","#"+T).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",A).attr("height",P).node().getBBox();u.setNode(b,{width:F.width,height:F.height,shape:"rect",id:b})}),p},Wen=function(i,s){s.nodes().forEach(function(u){u!==void 0&&s.node(u)!==void 0&&i.select("#"+u).attr("transform","translate("+(s.node(u).x-s.node(u).width/2)+","+(s.node(u).y-s.node(u).height/2)+" )")})},jUe=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},Yen=function(i,s){return i.forEach(function(u){s.setEdge(IR.get(u.entityA),IR.get(u.entityB),{relationship:u},jUe(u))}),i};let $Ue=0;const Xen=function(i,s,u,d,p){$Ue++;const v=u.edge(IR.get(s.entityA),IR.get(s.entityB),jUe(s)),b=k7().x(function(j){return j.x}).y(function(j){return j.y}).curve(FF),y=i.insert("path","#"+d).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",p1.stroke).style("fill","none");s.relSpec.relType===p.db.Identification.NON_IDENTIFYING&&y.attr("stroke-dasharray","8,8");let T="";switch(p1.arrowMarkerAbsolute&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\("),T=T.replace(/\)/g,"\\)")),s.relSpec.cardA){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ZERO_OR_ONE_END+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ZERO_OR_MORE_END+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ONE_OR_MORE_END+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ONLY_ONE_END+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.MD_PARENT_END+")");break}switch(s.relSpec.cardB){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ZERO_OR_ONE_START+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ZERO_OR_MORE_START+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ONE_OR_MORE_START+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ONLY_ONE_START+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.MD_PARENT_START+")");break}const _=y.node().getTotalLength(),A=y.node().getPointAtLength(_*.5),P="rel"+$Ue,F=i.append("text").classed("er relationshipLabel",!0).attr("id",P).attr("x",A.x).attr("y",A.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",qt().fontFamily).style("font-size",p1.fontSize+"px").text(s.roleA).node().getBBox();i.insert("rect","#"+P).classed("er relationshipLabelBox",!0).attr("x",A.x-F.width/2).attr("y",A.y-F.height/2).attr("width",F.width).attr("height",F.height)},Qen=function(i,s,u,d){p1=qt().er,Xe.info("Drawing ER diagram");const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const y=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${s}']`);G3.insertMarkers(y,p1);let T;T=new B0({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:p1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=Ken(y,d.db.getEntities(),T),A=Yen(d.db.getRelationships(),T);qD(T),Wen(y,T),A.forEach(function(K){Xen(y,K,T,_,d)});const P=p1.diagramPadding;Ao.insertTitle(y,"entityTitleText",p1.titleTopMargin,d.db.getDiagramTitle());const R=y.node().getBBox(),F=R.width+P*2,j=R.height+P*2;Ng(y,j,F,p1.useMaxWidth),y.attr("viewBox",`${R.x-P} ${R.y-P} ${F} ${j}`)},Jen="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function Zen(i="",s=""){const u=i.replace(Ven,"");return`${zUe(s)}${zUe(u)}${Hen(i,Jen)}`}function zUe(i=""){return i.length>0?`${i}-`:""}const etn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Len,db:Ien,renderer:{setConf:Uen,draw:Qen},styles:i=>` + .entityBox { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${i.attributeBackgroundColorOdd}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxEven { + fill: ${i.attributeBackgroundColorEven}; + stroke: ${i.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${i.tertiaryColor}; + opacity: 0.7; + background-color: ${i.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${i.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + +`}},Symbol.toStringTag,{value:"Module"}));var Kme=function(){var i=function(ae,ne,se,de){for(se=se||{},de=ae.length;de--;se[ae[de]]=ne);return se},s=[1,3],u=[1,6],d=[1,4],p=[1,5],v=[2,5],b=[1,12],y=[5,7,13,19,21,23,24,26,28,31,37,40,47],T=[7,13,19,21,23,24,26,28,31,37,40],_=[7,12,13,19,21,23,24,26,28,31,37,40],A=[7,13,47],P=[1,42],R=[1,41],F=[7,13,29,32,35,38,47],j=[1,55],K=[1,56],ee=[1,57],ie=[7,13,32,35,42,47],oe={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(ne,se,de,X,ge,W,xe){var U=W.length-1;switch(ge){case 2:return W[U];case 3:return W[U-1];case 4:return X.setDirection(W[U-3]),W[U-1];case 6:X.setOptions(W[U-1]),this.$=W[U];break;case 7:W[U-1]+=W[U],this.$=W[U-1];break;case 9:this.$=[];break;case 10:W[U-1].push(W[U]),this.$=W[U-1];break;case 11:this.$=W[U-1];break;case 16:this.$=W[U].trim(),X.setAccTitle(this.$);break;case 17:case 18:this.$=W[U].trim(),X.setAccDescription(this.$);break;case 19:X.addSection(W[U].substr(8)),this.$=W[U].substr(8);break;case 21:X.checkout(W[U]);break;case 22:X.branch(W[U]);break;case 23:X.branch(W[U-2],W[U]);break;case 24:X.cherryPick(W[U],"",void 0);break;case 25:X.cherryPick(W[U-2],"",void 0,W[U]);break;case 26:X.cherryPick(W[U-2],"",W[U]);break;case 27:X.cherryPick(W[U-4],"",W[U],W[U-2]);break;case 28:X.cherryPick(W[U-4],"",W[U-2],W[U]);break;case 29:X.cherryPick(W[U],"",W[U-2]);break;case 30:X.cherryPick(W[U],"","");break;case 31:X.cherryPick(W[U-2],"","");break;case 32:X.cherryPick(W[U-4],"","",W[U-2]);break;case 33:X.cherryPick(W[U-4],"","",W[U]);break;case 34:X.cherryPick(W[U-2],"",W[U-4],W[U]);break;case 35:X.cherryPick(W[U-2],"","",W[U]);break;case 36:X.merge(W[U],"","","");break;case 37:X.merge(W[U-2],W[U],"","");break;case 38:X.merge(W[U-2],"",W[U],"");break;case 39:X.merge(W[U-2],"","",W[U]);break;case 40:X.merge(W[U-4],W[U],"",W[U-2]);break;case 41:X.merge(W[U-4],"",W[U],W[U-2]);break;case 42:X.merge(W[U-4],"",W[U-2],W[U]);break;case 43:X.merge(W[U-4],W[U-2],W[U],"");break;case 44:X.merge(W[U-4],W[U-2],"",W[U]);break;case 45:X.merge(W[U-4],W[U],W[U-2],"");break;case 46:X.merge(W[U-6],W[U-4],W[U-2],W[U]);break;case 47:X.merge(W[U-6],W[U],W[U-4],W[U-2]);break;case 48:X.merge(W[U-6],W[U-4],W[U],W[U-2]);break;case 49:X.merge(W[U-6],W[U-2],W[U-4],W[U]);break;case 50:X.merge(W[U-6],W[U],W[U-2],W[U-4]);break;case 51:X.merge(W[U-6],W[U-2],W[U],W[U-4]);break;case 52:X.commit(W[U]);break;case 53:X.commit("","",X.commitType.NORMAL,W[U]);break;case 54:X.commit("","",W[U],"");break;case 55:X.commit("","",W[U],W[U-2]);break;case 56:X.commit("","",W[U-2],W[U]);break;case 57:X.commit("",W[U],X.commitType.NORMAL,"");break;case 58:X.commit("",W[U-2],X.commitType.NORMAL,W[U]);break;case 59:X.commit("",W[U],X.commitType.NORMAL,W[U-2]);break;case 60:X.commit("",W[U-2],W[U],"");break;case 61:X.commit("",W[U],W[U-2],"");break;case 62:X.commit("",W[U-4],W[U-2],W[U]);break;case 63:X.commit("",W[U-4],W[U],W[U-2]);break;case 64:X.commit("",W[U-2],W[U-4],W[U]);break;case 65:X.commit("",W[U],W[U-4],W[U-2]);break;case 66:X.commit("",W[U],W[U-2],W[U-4]);break;case 67:X.commit("",W[U-2],W[U],W[U-4]);break;case 68:X.commit(W[U],"",X.commitType.NORMAL,"");break;case 69:X.commit(W[U],"",X.commitType.NORMAL,W[U-2]);break;case 70:X.commit(W[U-2],"",X.commitType.NORMAL,W[U]);break;case 71:X.commit(W[U-2],"",W[U],"");break;case 72:X.commit(W[U],"",W[U-2],"");break;case 73:X.commit(W[U],W[U-2],X.commitType.NORMAL,"");break;case 74:X.commit(W[U-2],W[U],X.commitType.NORMAL,"");break;case 75:X.commit(W[U-4],"",W[U-2],W[U]);break;case 76:X.commit(W[U-4],"",W[U],W[U-2]);break;case 77:X.commit(W[U-2],"",W[U-4],W[U]);break;case 78:X.commit(W[U],"",W[U-4],W[U-2]);break;case 79:X.commit(W[U],"",W[U-2],W[U-4]);break;case 80:X.commit(W[U-2],"",W[U],W[U-4]);break;case 81:X.commit(W[U-4],W[U],W[U-2],"");break;case 82:X.commit(W[U-4],W[U-2],W[U],"");break;case 83:X.commit(W[U-2],W[U],W[U-4],"");break;case 84:X.commit(W[U],W[U-2],W[U-4],"");break;case 85:X.commit(W[U],W[U-4],W[U-2],"");break;case 86:X.commit(W[U-2],W[U-4],W[U],"");break;case 87:X.commit(W[U-4],W[U],X.commitType.NORMAL,W[U-2]);break;case 88:X.commit(W[U-4],W[U-2],X.commitType.NORMAL,W[U]);break;case 89:X.commit(W[U-2],W[U],X.commitType.NORMAL,W[U-4]);break;case 90:X.commit(W[U],W[U-2],X.commitType.NORMAL,W[U-4]);break;case 91:X.commit(W[U],W[U-4],X.commitType.NORMAL,W[U-2]);break;case 92:X.commit(W[U-2],W[U-4],X.commitType.NORMAL,W[U]);break;case 93:X.commit(W[U-6],W[U-4],W[U-2],W[U]);break;case 94:X.commit(W[U-6],W[U-4],W[U],W[U-2]);break;case 95:X.commit(W[U-6],W[U-2],W[U-4],W[U]);break;case 96:X.commit(W[U-6],W[U],W[U-4],W[U-2]);break;case 97:X.commit(W[U-6],W[U-2],W[U],W[U-4]);break;case 98:X.commit(W[U-6],W[U],W[U-2],W[U-4]);break;case 99:X.commit(W[U-4],W[U-6],W[U-2],W[U]);break;case 100:X.commit(W[U-4],W[U-6],W[U],W[U-2]);break;case 101:X.commit(W[U-2],W[U-6],W[U-4],W[U]);break;case 102:X.commit(W[U],W[U-6],W[U-4],W[U-2]);break;case 103:X.commit(W[U-2],W[U-6],W[U],W[U-4]);break;case 104:X.commit(W[U],W[U-6],W[U-2],W[U-4]);break;case 105:X.commit(W[U],W[U-4],W[U-2],W[U-6]);break;case 106:X.commit(W[U-2],W[U-4],W[U],W[U-6]);break;case 107:X.commit(W[U],W[U-2],W[U-4],W[U-6]);break;case 108:X.commit(W[U-2],W[U],W[U-4],W[U-6]);break;case 109:X.commit(W[U-4],W[U-2],W[U],W[U-6]);break;case 110:X.commit(W[U-4],W[U],W[U-2],W[U-6]);break;case 111:X.commit(W[U-2],W[U-4],W[U-6],W[U]);break;case 112:X.commit(W[U],W[U-4],W[U-6],W[U-2]);break;case 113:X.commit(W[U-2],W[U],W[U-6],W[U-4]);break;case 114:X.commit(W[U],W[U-2],W[U-6],W[U-4]);break;case 115:X.commit(W[U-4],W[U-2],W[U-6],W[U]);break;case 116:X.commit(W[U-4],W[U],W[U-6],W[U-2]);break;case 117:this.$="";break;case 118:this.$=W[U];break;case 119:this.$=X.commitType.NORMAL;break;case 120:this.$=X.commitType.REVERSE;break;case 121:this.$=X.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:s,7:u,13:d,47:p},{1:[3]},{3:7,4:2,5:s,7:u,13:d,47:p},{6:8,7:v,8:[1,9],9:[1,10],10:11,13:b},i(y,[2,124]),i(y,[2,125]),i(y,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:v,10:11,13:b},{8:[1,15]},i(T,[2,9],{11:16,12:[1,17]}),i(_,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:v,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},i(_,[2,7]),{1:[2,3]},{7:[1,36]},i(T,[2,10]),{4:37,7:u,13:d,47:p},i(T,[2,12]),i(A,[2,13]),i(A,[2,14]),i(A,[2,15]),{20:[1,38]},{22:[1,39]},i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),{27:40,33:P,46:R},i(A,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:P,46:R},{32:[1,50],35:[1,51]},{27:52,33:P,46:R},{1:[2,4]},i(T,[2,11]),i(A,[2,16]),i(A,[2,17]),i(A,[2,21]),i(F,[2,122]),i(F,[2,123]),i(A,[2,52]),{33:[1,53]},{39:54,43:j,44:K,45:ee},{33:[1,58]},{33:[1,59]},i(A,[2,118]),i(A,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},i(A,[2,22],{29:[1,66]}),i(A,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),i(A,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),i(ie,[2,119]),i(ie,[2,120]),i(ie,[2,121]),i(A,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),i(A,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:j,44:K,45:ee},{33:[1,81]},i(A,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:j,44:K,45:ee},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:j,44:K,45:ee},{33:[1,95]},{33:[1,96]},{39:97,43:j,44:K,45:ee},{33:[1,98]},i(A,[2,37],{35:[1,100],38:[1,99]}),i(A,[2,38],{32:[1,102],35:[1,101]}),i(A,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},i(A,[2,23]),i(A,[2,55],{32:[1,110],42:[1,111]}),i(A,[2,59],{38:[1,112],42:[1,113]}),i(A,[2,69],{32:[1,115],38:[1,114]}),i(A,[2,56],{32:[1,116],42:[1,117]}),i(A,[2,61],{35:[1,118],42:[1,119]}),i(A,[2,72],{32:[1,121],35:[1,120]}),i(A,[2,58],{38:[1,122],42:[1,123]}),i(A,[2,60],{35:[1,124],42:[1,125]}),i(A,[2,73],{35:[1,127],38:[1,126]}),i(A,[2,70],{32:[1,129],38:[1,128]}),i(A,[2,71],{32:[1,131],35:[1,130]}),i(A,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:j,44:K,45:ee},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:j,44:K,45:ee},i(A,[2,25],{35:[1,140]}),i(A,[2,26],{34:[1,141]}),i(A,[2,31],{34:[1,142]}),i(A,[2,29],{34:[1,143]}),i(A,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:j,44:K,45:ee},{33:[1,148]},{39:149,43:j,44:K,45:ee},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:j,44:K,45:ee},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:j,44:K,45:ee},{33:[1,162]},{39:163,43:j,44:K,45:ee},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:j,44:K,45:ee},{33:[1,168]},i(A,[2,43],{35:[1,169]}),i(A,[2,44],{38:[1,170]}),i(A,[2,42],{32:[1,171]}),i(A,[2,45],{35:[1,172]}),i(A,[2,40],{38:[1,173]}),i(A,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},i(A,[2,66],{42:[1,181]}),i(A,[2,79],{32:[1,182]}),i(A,[2,67],{42:[1,183]}),i(A,[2,90],{38:[1,184]}),i(A,[2,80],{32:[1,185]}),i(A,[2,89],{38:[1,186]}),i(A,[2,65],{42:[1,187]}),i(A,[2,78],{32:[1,188]}),i(A,[2,64],{42:[1,189]}),i(A,[2,84],{35:[1,190]}),i(A,[2,77],{32:[1,191]}),i(A,[2,83],{35:[1,192]}),i(A,[2,63],{42:[1,193]}),i(A,[2,91],{38:[1,194]}),i(A,[2,62],{42:[1,195]}),i(A,[2,85],{35:[1,196]}),i(A,[2,86],{35:[1,197]}),i(A,[2,92],{38:[1,198]}),i(A,[2,76],{32:[1,199]}),i(A,[2,87],{38:[1,200]}),i(A,[2,75],{32:[1,201]}),i(A,[2,81],{35:[1,202]}),i(A,[2,82],{35:[1,203]}),i(A,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:j,44:K,45:ee},{33:[1,207]},{33:[1,208]},{39:209,43:j,44:K,45:ee},{33:[1,210]},i(A,[2,27]),i(A,[2,32]),i(A,[2,28]),i(A,[2,33]),i(A,[2,34]),i(A,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:j,44:K,45:ee},{33:[1,215]},{39:216,43:j,44:K,45:ee},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:j,44:K,45:ee},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:j,44:K,45:ee},{33:[1,229]},{39:230,43:j,44:K,45:ee},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:j,44:K,45:ee},i(A,[2,46]),i(A,[2,48]),i(A,[2,47]),i(A,[2,49]),i(A,[2,51]),i(A,[2,50]),i(A,[2,107]),i(A,[2,108]),i(A,[2,105]),i(A,[2,106]),i(A,[2,110]),i(A,[2,109]),i(A,[2,114]),i(A,[2,113]),i(A,[2,112]),i(A,[2,111]),i(A,[2,116]),i(A,[2,115]),i(A,[2,104]),i(A,[2,103]),i(A,[2,102]),i(A,[2,101]),i(A,[2,99]),i(A,[2,100]),i(A,[2,98]),i(A,[2,97]),i(A,[2,96]),i(A,[2,95]),i(A,[2,93]),i(A,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(ne,se){if(se.recoverable)this.trace(ne);else{var de=new Error(ne);throw de.hash=se,de}},parse:function(ne){var se=this,de=[0],X=[],ge=[null],W=[],xe=this.table,U="",Fe=0,Pe=0,je=2,Ie=1,Se=W.slice.call(arguments,1),Ce=Object.create(this.lexer),ke={yy:{}};for(var Ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ke)&&(ke.yy[Ke]=this.yy[Ke]);Ce.setInput(ne,ke.yy),ke.yy.lexer=Ce,ke.yy.parser=this,typeof Ce.yylloc>"u"&&(Ce.yylloc={});var Ft=Ce.yylloc;W.push(Ft);var Ne=Ce.options&&Ce.options.ranges;typeof ke.yy.parseError=="function"?this.parseError=ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gn(){var ht;return ht=X.pop()||Ce.lex()||Ie,typeof ht!="number"&&(ht instanceof Array&&(X=ht,ht=X.pop()),ht=se.symbols_[ht]||ht),ht}for(var _t,Et,Gt,ln,xt={},Pt,Qe,Dt,kt;;){if(Et=de[de.length-1],this.defaultActions[Et]?Gt=this.defaultActions[Et]:((_t===null||typeof _t>"u")&&(_t=gn()),Gt=xe[Et]&&xe[Et][_t]),typeof Gt>"u"||!Gt.length||!Gt[0]){var On="";kt=[];for(Pt in xe[Et])this.terminals_[Pt]&&Pt>je&&kt.push("'"+this.terminals_[Pt]+"'");Ce.showPosition?On="Parse error on line "+(Fe+1)+`: +`+Ce.showPosition()+` +Expecting `+kt.join(", ")+", got '"+(this.terminals_[_t]||_t)+"'":On="Parse error on line "+(Fe+1)+": Unexpected "+(_t==Ie?"end of input":"'"+(this.terminals_[_t]||_t)+"'"),this.parseError(On,{text:Ce.match,token:this.terminals_[_t]||_t,line:Ce.yylineno,loc:Ft,expected:kt})}if(Gt[0]instanceof Array&&Gt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+_t);switch(Gt[0]){case 1:de.push(_t),ge.push(Ce.yytext),W.push(Ce.yylloc),de.push(Gt[1]),_t=null,Pe=Ce.yyleng,U=Ce.yytext,Fe=Ce.yylineno,Ft=Ce.yylloc;break;case 2:if(Qe=this.productions_[Gt[1]][1],xt.$=ge[ge.length-Qe],xt._$={first_line:W[W.length-(Qe||1)].first_line,last_line:W[W.length-1].last_line,first_column:W[W.length-(Qe||1)].first_column,last_column:W[W.length-1].last_column},Ne&&(xt._$.range=[W[W.length-(Qe||1)].range[0],W[W.length-1].range[1]]),ln=this.performAction.apply(xt,[U,Pe,Fe,ke.yy,Gt[1],ge,W].concat(Se)),typeof ln<"u")return ln;Qe&&(de=de.slice(0,-1*Qe*2),ge=ge.slice(0,-1*Qe),W=W.slice(0,-1*Qe)),de.push(this.productions_[Gt[1]][0]),ge.push(xt.$),W.push(xt._$),Dt=xe[de[de.length-2]][de[de.length-1]],de.push(Dt);break;case 3:return!0}}return!0}},pe=function(){var ae={EOF:1,parseError:function(se,de){if(this.yy.parser)this.yy.parser.parseError(se,de);else throw new Error(se)},setInput:function(ne,se){return this.yy=se||this.yy||{},this._input=ne,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},input:function(){var ne=this._input[0];this.yytext+=ne,this.yyleng++,this.offset++,this.match+=ne,this.matched+=ne;var se=ne.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ne},unput:function(ne){var se=ne.length,de=ne.split(/(?:\r\n?|\n)/g);this._input=ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var X=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),de.length-1&&(this.yylineno-=de.length-1);var ge=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:de?(de.length===X.length?this.yylloc.first_column:0)+X[X.length-de.length].length-de[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[ge[0],ge[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ne){this.unput(this.match.slice(ne))},pastInput:function(){var ne=this.matched.substr(0,this.matched.length-this.match.length);return(ne.length>20?"...":"")+ne.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ne=this.match;return ne.length<20&&(ne+=this._input.substr(0,20-ne.length)),(ne.substr(0,20)+(ne.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ne=this.pastInput(),se=new Array(ne.length+1).join("-");return ne+this.upcomingInput()+` +`+se+"^"},test_match:function(ne,se){var de,X,ge;if(this.options.backtrack_lexer&&(ge={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&&(ge.yylloc.range=this.yylloc.range.slice(0))),X=ne[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ne[0].length},this.yytext+=ne[0],this.match+=ne[0],this.matches=ne,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(ne[0].length),this.matched+=ne[0],de=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),de)return de;if(this._backtrack){for(var W in ge)this[W]=ge[W];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ne,se,de,X;this._more||(this.yytext="",this.match="");for(var ge=this._currentRules(),W=0;Wse[0].length)){if(se=de,X=W,this.options.backtrack_lexer){if(ne=this.test_match(de,ge[W]),ne!==!1)return ne;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(ne=this.test_match(se,ge[X]),ne!==!1?ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var se=this.next();return se||this.lex()},begin:function(se){this.conditionStack.push(se)},popState:function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},pushState:function(se){this.begin(se)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(se,de,X,ge){switch(X){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return ae}();oe.lexer=pe;function be(){this.yy={}}return be.prototype=oe,oe.Parser=be,new be}();Kme.parser=Kme;const ttn=Kme;let oJ=qt().gitGraph.mainBranchName,ntn=qt().gitGraph.mainBranchOrder,b1={},Np=null,OR={};OR[oJ]={name:oJ,order:ntn};let F0={};F0[oJ]=Np;let sd=oJ,qUe="LR",YC=0;function Wme(){return mje({length:7})}function rtn(i,s){const u=Object.create(null);return i.reduce((d,p)=>{const v=s(p);return u[v]||(u[v]=!0,d.push(p)),d},[])}const itn=function(i){qUe=i};let HUe={};const stn=function(i){Xe.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{HUe=JSON.parse(i)}catch(s){Xe.error("error while parsing gitGraph options",s.message)}},atn=function(){return HUe},otn=function(i,s,u,d){Xe.debug("Entering commit:",i,s,u,d),s=li.sanitizeText(s,qt()),i=li.sanitizeText(i,qt()),d=li.sanitizeText(d,qt());const p={id:s||YC+"-"+Wme(),message:i,seq:YC++,type:u||UD.NORMAL,tag:d||"",parents:Np==null?[]:[Np.id],branch:sd};Np=p,b1[p.id]=p,F0[sd]=p.id,Xe.debug("in pushCommit "+p.id)},ctn=function(i,s){if(i=li.sanitizeText(i,qt()),F0[i]===void 0)F0[i]=Np!=null?Np.id:null,OR[i]={name:i,order:s?parseInt(s,10):null},VUe(i),Xe.debug("in createBranch");else{let u=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 '+i+'")');throw u.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},u}},utn=function(i,s,u,d){i=li.sanitizeText(i,qt()),s=li.sanitizeText(s,qt());const p=b1[F0[sd]],v=b1[F0[i]];if(sd===i){let y=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(p===void 0||!p){let y=new Error('Incorrect usage of "merge". Current branch ('+sd+")has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},y}else if(F0[i]===void 0){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},y}else if(v===void 0||!v){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},y}else if(p===v){let y=new Error('Incorrect usage of "merge". Both branches have same head');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(s&&b1[s]!==void 0){let y=new Error('Incorrect usage of "merge". Commit with id:'+s+" already exists, use different custom Id");throw y.hash={text:"merge "+i+s+u+d,token:"merge "+i+s+u+d,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+s+"_UNIQUE "+u+" "+d]},y}const b={id:s||YC+"-"+Wme(),message:"merged branch "+i+" into "+sd,seq:YC++,parents:[Np==null?null:Np.id,F0[i]],branch:sd,type:UD.MERGE,customType:u,customId:!!s,tag:d||""};Np=b,b1[b.id]=b,F0[sd]=b.id,Xe.debug(F0),Xe.debug("in mergeBranch")},ltn=function(i,s,u,d){if(Xe.debug("Entering cherryPick:",i,s,u),i=li.sanitizeText(i,qt()),s=li.sanitizeText(s,qt()),u=li.sanitizeText(u,qt()),d=li.sanitizeText(d,qt()),!i||b1[i]===void 0){let b=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw b.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},b}let p=b1[i],v=p.branch;if(d&&!(Array.isArray(p.parents)&&p.parents.includes(d)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(p.type===UD.MERGE&&!d)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!s||b1[s]===void 0){if(v===sd){let T=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw T.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},T}const b=b1[F0[sd]];if(b===void 0||!b){let T=new Error('Incorrect usage of "cherry-pick". Current branch ('+sd+")has no commits");throw T.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},T}const y={id:YC+"-"+Wme(),message:"cherry-picked "+p+" into "+sd,seq:YC++,parents:[Np==null?null:Np.id,p.id],branch:sd,type:UD.CHERRY_PICK,tag:u??`cherry-pick:${p.id}${p.type===UD.MERGE?`|parent:${d}`:""}`};Np=y,b1[y.id]=y,F0[sd]=y.id,Xe.debug(F0),Xe.debug("in cherryPick")}},VUe=function(i){if(i=li.sanitizeText(i,qt()),F0[i]===void 0){let s=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw s.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},s}else{sd=i;const s=F0[sd];Np=b1[s]}};function UUe(i,s,u){const d=i.indexOf(s);d===-1?i.push(u):i.splice(d,1,u)}function GUe(i){const s=i.reduce((p,v)=>p.seq>v.seq?p:v,i[0]);let u="";i.forEach(function(p){p===s?u+=" *":u+=" |"});const d=[u,s.id,s.seq];for(let p in F0)F0[p]===s.id&&d.push(p);if(Xe.debug(d.join(" ")),s.parents&&s.parents.length==2){const p=b1[s.parents[0]];UUe(i,s,p),i.push(b1[s.parents[1]])}else{if(s.parents.length==0)return;{const p=b1[s.parents];UUe(i,s,p)}}i=rtn(i,p=>p.id),GUe(i)}const htn=function(){Xe.debug(b1);const i=KUe()[0];GUe([i])},ftn=function(){b1={},Np=null;let i=qt().gitGraph.mainBranchName,s=qt().gitGraph.mainBranchOrder;F0={},F0[i]=null,OR={},OR[i]={name:i,order:s},sd=i,YC=0,Pg()},dtn=function(){return Object.values(OR).map((s,u)=>s.order!==null?s:{...s,order:parseFloat(`0.${u}`,10)}).sort((s,u)=>s.order-u.order).map(({name:s})=>({name:s}))},gtn=function(){return F0},ptn=function(){return b1},KUe=function(){const i=Object.keys(b1).map(function(s){return b1[s]});return i.forEach(function(s){Xe.debug(s.id)}),i.sort((s,u)=>s.seq-u.seq),i},btn=function(){return sd},mtn=function(){return qUe},vtn=function(){return Np},UD={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},wtn={getConfig:()=>qt().gitGraph,setDirection:itn,setOptions:stn,getOptions:atn,commit:otn,branch:ctn,merge:utn,cherryPick:ltn,checkout:VUe,prettyPrint:htn,clear:ftn,getBranchesAsObjArray:dtn,getBranches:gtn,getCommits:ptn,getCommitsArray:KUe,getCurrentBranch:btn,getDirection:mtn,getHead:vtn,setAccTitle:Bg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,setDiagramTitle:cm,getDiagramTitle:Ap,commitType:UD};let NR={};const ad={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},XC=8;let H2={},H7={},cJ=[],PR=0,R0="LR";const ytn=()=>{H2={},H7={},NR={},PR=0,cJ=[],R0="LR"},WUe=i=>{const s=document.createElementNS("http://www.w3.org/2000/svg","text");let u=[];typeof i=="string"?u=i.split(/\\n|\n|/gi):Array.isArray(i)?u=i:u=[];for(const d of u){const p=document.createElementNS("http://www.w3.org/2000/svg","tspan");p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),p.setAttribute("dy","1em"),p.setAttribute("x","0"),p.setAttribute("class","row"),p.textContent=d.trim(),s.appendChild(p)}return s},xtn=i=>{let s="",u=0;return i.forEach(d=>{const p=R0==="TB"?H7[d].y:H7[d].x;p>=u&&(s=d,u=p)}),s||void 0},YUe=(i,s,u)=>{const d=qt().gitGraph,p=i.append("g").attr("class","commit-bullets"),v=i.append("g").attr("class","commit-labels");let b=0;R0==="TB"&&(b=30);const T=Object.keys(s).sort((R,F)=>s[R].seq-s[F].seq),_=d.parallelCommits,A=10,P=40;T.forEach(R=>{const F=s[R];if(_)if(F.parents.length){const ie=xtn(F.parents);b=R0==="TB"?H7[ie].y+P:H7[ie].x+P}else b=0,R0==="TB"&&(b=30);const j=b+A,K=R0==="TB"?j:H2[F.branch].pos,ee=R0==="TB"?H2[F.branch].pos:j;if(u){let ie,oe=F.customType!==void 0&&F.customType!==""?F.customType:F.type;switch(oe){case ad.NORMAL:ie="commit-normal";break;case ad.REVERSE:ie="commit-reverse";break;case ad.HIGHLIGHT:ie="commit-highlight";break;case ad.MERGE:ie="commit-merge";break;case ad.CHERRY_PICK:ie="commit-cherry-pick";break;default:ie="commit-normal"}if(oe===ad.HIGHLIGHT){const pe=p.append("rect");pe.attr("x",ee-10),pe.attr("y",K-10),pe.attr("height",20),pe.attr("width",20),pe.attr("class",`commit ${F.id} commit-highlight${H2[F.branch].index%XC} ${ie}-outer`),p.append("rect").attr("x",ee-6).attr("y",K-6).attr("height",12).attr("width",12).attr("class",`commit ${F.id} commit${H2[F.branch].index%XC} ${ie}-inner`)}else if(oe===ad.CHERRY_PICK)p.append("circle").attr("cx",ee).attr("cy",K).attr("r",10).attr("class",`commit ${F.id} ${ie}`),p.append("circle").attr("cx",ee-3).attr("cy",K+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("circle").attr("cx",ee+3).attr("cy",K+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("line").attr("x1",ee+3).attr("y1",K+1).attr("x2",ee).attr("y2",K-5).attr("stroke","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("line").attr("x1",ee-3).attr("y1",K+1).attr("x2",ee).attr("y2",K-5).attr("stroke","#fff").attr("class",`commit ${F.id} ${ie}`);else{const pe=p.append("circle");if(pe.attr("cx",ee),pe.attr("cy",K),pe.attr("r",F.type===ad.MERGE?9:10),pe.attr("class",`commit ${F.id} commit${H2[F.branch].index%XC}`),oe===ad.MERGE){const be=p.append("circle");be.attr("cx",ee),be.attr("cy",K),be.attr("r",6),be.attr("class",`commit ${ie} ${F.id} commit${H2[F.branch].index%XC}`)}oe===ad.REVERSE&&p.append("path").attr("d",`M ${ee-5},${K-5}L${ee+5},${K+5}M${ee-5},${K+5}L${ee+5},${K-5}`).attr("class",`commit ${ie} ${F.id} commit${H2[F.branch].index%XC}`)}}if(R0==="TB"?H7[F.id]={x:ee,y:j}:H7[F.id]={x:j,y:K},u){if(F.type!==ad.CHERRY_PICK&&(F.customId&&F.type===ad.MERGE||F.type!==ad.MERGE)&&d.showCommitLabel){const pe=v.append("g"),be=pe.insert("rect").attr("class","commit-label-bkg"),ae=pe.append("text").attr("x",b).attr("y",K+25).attr("class","commit-label").text(F.id);let ne=ae.node().getBBox();if(be.attr("x",j-ne.width/2-2).attr("y",K+13.5).attr("width",ne.width+2*2).attr("height",ne.height+2*2),R0==="TB"&&(be.attr("x",ee-(ne.width+4*4+5)).attr("y",K-12),ae.attr("x",ee-(ne.width+4*4)).attr("y",K+ne.height-12)),R0!=="TB"&&ae.attr("x",j-ne.width/2),d.rotateCommitLabel)if(R0==="TB")ae.attr("transform","rotate(-45, "+ee+", "+K+")"),be.attr("transform","rotate(-45, "+ee+", "+K+")");else{let se=-7.5-(ne.width+10)/25*9.5,de=10+ne.width/25*8.5;pe.attr("transform","translate("+se+", "+de+") rotate(-45, "+b+", "+K+")")}}if(F.tag){const pe=v.insert("polygon"),be=v.append("circle"),ae=v.append("text").attr("y",K-16).attr("class","tag-label").text(F.tag);let ne=ae.node().getBBox();ae.attr("x",j-ne.width/2);const se=ne.height/2,de=K-19.2;pe.attr("class","tag-label-bkg").attr("points",` + ${b-ne.width/2-4/2},${de+2} + ${b-ne.width/2-4/2},${de-2} + ${j-ne.width/2-4},${de-se-2} + ${j+ne.width/2+4},${de-se-2} + ${j+ne.width/2+4},${de+se+2} + ${j-ne.width/2-4},${de+se+2}`),be.attr("cx",b-ne.width/2+4/2).attr("cy",de).attr("r",1.5).attr("class","tag-hole"),R0==="TB"&&(pe.attr("class","tag-label-bkg").attr("points",` + ${ee},${b+2} + ${ee},${b-2} + ${ee+A},${b-se-2} + ${ee+A+ne.width+4},${b-se-2} + ${ee+A+ne.width+4},${b+se+2} + ${ee+A},${b+se+2}`).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),be.attr("cx",ee+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ae.attr("x",ee+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+ee+","+b+")"))}}b+=P+A,b>PR&&(PR=b)})},ktn=(i,s,u,d,p)=>{const b=(R0==="TB"?u.x_.branch===b,T=_=>_.seq>i.seq&&_.seqT(_)&&y(_))},BR=(i,s,u=0)=>{const d=i+Math.abs(i-s)/2;if(u>5)return d;if(cJ.every(b=>Math.abs(b-d)>=10))return cJ.push(d),d;const v=Math.abs(i-s);return BR(i,s-v/5,u+1)},Etn=(i,s,u,d)=>{const p=H7[s.id],v=H7[u.id],b=ktn(s,u,p,v,d);let y="",T="",_=0,A=0,P=H2[u.branch].index;u.type===ad.MERGE&&s.id!==u.parents[0]&&(P=H2[s.branch].index);let R;if(b){y="A 10 10, 0, 0, 0,",T="A 10 10, 0, 0, 1,",_=10,A=10;const F=p.yv.x&&(y="A 20 20, 0, 0, 0,",T="A 20 20, 0, 0, 1,",_=20,A=20,u.type===ad.MERGE&&s.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${p.x} ${v.y-_} ${T} ${p.x-A} ${v.y} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${v.x+_} ${p.y} ${y} ${v.x} ${p.y+A} L ${v.x} ${v.y}`),p.x===v.x&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`)):(p.yv.y&&(u.type===ad.MERGE&&s.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${v.x-_} ${p.y} ${y} ${v.x} ${p.y-A} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${p.x} ${v.y+_} ${T} ${p.x+A} ${v.y} L ${v.x} ${v.y}`),p.y===v.y&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`));i.append("path").attr("d",R).attr("class","arrow arrow"+P%XC)},Ttn=(i,s)=>{const u=i.append("g").attr("class","commit-arrows");Object.keys(s).forEach(d=>{const p=s[d];p.parents&&p.parents.length>0&&p.parents.forEach(v=>{Etn(u,s[v],p,s)})})},Ctn=(i,s)=>{const u=qt().gitGraph,d=i.append("g");s.forEach((p,v)=>{const b=v%XC,y=H2[p.name].pos,T=d.append("line");T.attr("x1",0),T.attr("y1",y),T.attr("x2",PR),T.attr("y2",y),T.attr("class","branch branch"+b),R0==="TB"&&(T.attr("y1",30),T.attr("x1",y),T.attr("y2",PR),T.attr("x2",y)),cJ.push(y);let _=p.name;const A=WUe(_),P=d.insert("rect"),F=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);F.node().appendChild(A);let j=A.getBBox();P.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-j.width-4-(u.rotateCommitLabel===!0?30:0)).attr("y",-j.height/2+8).attr("width",j.width+18).attr("height",j.height+4),F.attr("transform","translate("+(-j.width-14-(u.rotateCommitLabel===!0?30:0))+", "+(y-j.height/2-1)+")"),R0==="TB"&&(P.attr("x",y-j.width/2-10).attr("y",0),F.attr("transform","translate("+(y-j.width/2-5)+", 0)")),R0!=="TB"&&P.attr("transform","translate(-19, "+(y-j.height/2)+")")})},Stn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ttn,db:wtn,renderer:{draw:function(i,s,u,d){ytn();const p=qt(),v=p.gitGraph;Xe.debug("in gitgraph renderer",i+` +`,"id:",s,u),NR=d.db.getCommits();const b=d.db.getBranchesAsObjArray();R0=d.db.getDirection();const y=Ir(`[id="${s}"]`);let T=0;b.forEach((_,A)=>{const P=WUe(_.name),R=y.append("g"),F=R.insert("g").attr("class","branchLabel"),j=F.insert("g").attr("class","label branch-label");j.node().appendChild(P);let K=P.getBBox();H2[_.name]={pos:T,index:A},T+=50+(v.rotateCommitLabel?40:0)+(R0==="TB"?K.width/2:0),j.remove(),F.remove(),R.remove()}),YUe(y,NR,!1),v.showBranches&&Ctn(y,b),Ttn(y,NR),YUe(y,NR,!0),Ao.insertTitle(y,"gitTitleText",v.titleTopMargin,d.db.getDiagramTitle()),e$e(void 0,y,v.diagramPadding,v.useMaxWidth??p.useMaxWidth)}},styles:i=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(s=>` + .branch-label${s} { fill: ${i["gitBranchLabel"+s]}; } + .commit${s} { stroke: ${i["git"+s]}; fill: ${i["git"+s]}; } + .commit-highlight${s} { stroke: ${i["gitInv"+s]}; fill: ${i["gitInv"+s]}; } + .label${s} { fill: ${i["git"+s]}; } + .arrow${s} { stroke: ${i["git"+s]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${i.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};} + .commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};} + .tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; } + .tag-hole { fill: ${i.textColor}; } + + .commit-merge { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + .commit-reverse { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`}},Symbol.toStringTag,{value:"Module"}));var Yme=function(){var i=function(W,xe,U,Fe){for(U=U||{},Fe=W.length;Fe--;U[W[Fe]]=xe);return U},s=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],u=[1,25],d=[1,26],p=[1,27],v=[1,28],b=[1,29],y=[1,30],T=[1,31],_=[1,9],A=[1,10],P=[1,11],R=[1,12],F=[1,13],j=[1,14],K=[1,15],ee=[1,16],ie=[1,18],oe=[1,19],pe=[1,20],be=[1,21],ae=[1,22],ne=[1,24],se=[1,32],de={trace:function(){},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,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$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",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"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],[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],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(xe,U,Fe,Pe,je,Ie,Se){var Ce=Ie.length-1;switch(je){case 1:return Ie[Ce-1];case 2:this.$=[];break;case 3:Ie[Ce-1].push(Ie[Ce]),this.$=Ie[Ce-1];break;case 4:case 5:this.$=Ie[Ce];break;case 6:case 7:this.$=[];break;case 8:Pe.setWeekday("monday");break;case 9:Pe.setWeekday("tuesday");break;case 10:Pe.setWeekday("wednesday");break;case 11:Pe.setWeekday("thursday");break;case 12:Pe.setWeekday("friday");break;case 13:Pe.setWeekday("saturday");break;case 14:Pe.setWeekday("sunday");break;case 15:Pe.setDateFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 16:Pe.enableInclusiveEndDates(),this.$=Ie[Ce].substr(18);break;case 17:Pe.TopAxis(),this.$=Ie[Ce].substr(8);break;case 18:Pe.setAxisFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 19:Pe.setTickInterval(Ie[Ce].substr(13)),this.$=Ie[Ce].substr(13);break;case 20:Pe.setExcludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 21:Pe.setIncludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 22:Pe.setTodayMarker(Ie[Ce].substr(12)),this.$=Ie[Ce].substr(12);break;case 24:Pe.setDiagramTitle(Ie[Ce].substr(6)),this.$=Ie[Ce].substr(6);break;case 25:this.$=Ie[Ce].trim(),Pe.setAccTitle(this.$);break;case 26:case 27:this.$=Ie[Ce].trim(),Pe.setAccDescription(this.$);break;case 28:Pe.addSection(Ie[Ce].substr(8)),this.$=Ie[Ce].substr(8);break;case 30:Pe.addTask(Ie[Ce-1],Ie[Ce]),this.$="task";break;case 31:this.$=Ie[Ce-1],Pe.setClickEvent(Ie[Ce-1],Ie[Ce],null);break;case 32:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce-1],Ie[Ce]);break;case 33:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce-1],null),Pe.setLink(Ie[Ce-2],Ie[Ce]);break;case 34:this.$=Ie[Ce-3],Pe.setClickEvent(Ie[Ce-3],Ie[Ce-2],Ie[Ce-1]),Pe.setLink(Ie[Ce-3],Ie[Ce]);break;case 35:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce],null),Pe.setLink(Ie[Ce-2],Ie[Ce-1]);break;case 36:this.$=Ie[Ce-3],Pe.setClickEvent(Ie[Ce-3],Ie[Ce-1],Ie[Ce]),Pe.setLink(Ie[Ce-3],Ie[Ce-2]);break;case 37:this.$=Ie[Ce-1],Pe.setLink(Ie[Ce-1],Ie[Ce]);break;case 38:case 44:this.$=Ie[Ce-1]+" "+Ie[Ce];break;case 39:case 40:case 42:this.$=Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break;case 41:case 43:this.$=Ie[Ce-3]+" "+Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:T,19:_,20:A,21:P,22:R,23:F,24:j,25:K,26:ee,27:ie,28:oe,30:pe,32:be,33:ae,34:23,35:ne,37:se},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:33,11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:T,19:_,20:A,21:P,22:R,23:F,24:j,25:K,26:ee,27:ie,28:oe,30:pe,32:be,33:ae,34:23,35:ne,37:se},i(s,[2,5]),i(s,[2,6]),i(s,[2,15]),i(s,[2,16]),i(s,[2,17]),i(s,[2,18]),i(s,[2,19]),i(s,[2,20]),i(s,[2,21]),i(s,[2,22]),i(s,[2,23]),i(s,[2,24]),{29:[1,34]},{31:[1,35]},i(s,[2,27]),i(s,[2,28]),i(s,[2,29]),{36:[1,36]},i(s,[2,8]),i(s,[2,9]),i(s,[2,10]),i(s,[2,11]),i(s,[2,12]),i(s,[2,13]),i(s,[2,14]),{38:[1,37],40:[1,38]},i(s,[2,4]),i(s,[2,25]),i(s,[2,26]),i(s,[2,30]),i(s,[2,31],{39:[1,39],40:[1,40]}),i(s,[2,37],{38:[1,41]}),i(s,[2,32],{40:[1,42]}),i(s,[2,33]),i(s,[2,35],{39:[1,43]}),i(s,[2,34]),i(s,[2,36])],defaultActions:{},parseError:function(xe,U){if(U.recoverable)this.trace(xe);else{var Fe=new Error(xe);throw Fe.hash=U,Fe}},parse:function(xe){var U=this,Fe=[0],Pe=[],je=[null],Ie=[],Se=this.table,Ce="",ke=0,Ke=0,Ft=2,Ne=1,gn=Ie.slice.call(arguments,1),_t=Object.create(this.lexer),Et={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(Et.yy[Gt]=this.yy[Gt]);_t.setInput(xe,Et.yy),Et.yy.lexer=_t,Et.yy.parser=this,typeof _t.yylloc>"u"&&(_t.yylloc={});var ln=_t.yylloc;Ie.push(ln);var xt=_t.options&&_t.options.ranges;typeof Et.yy.parseError=="function"?this.parseError=Et.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var zs;return zs=Pe.pop()||_t.lex()||Ne,typeof zs!="number"&&(zs instanceof Array&&(Pe=zs,zs=Pe.pop()),zs=U.symbols_[zs]||zs),zs}for(var Qe,Dt,kt,On,ht={},zr,yt,ji,xi;;){if(Dt=Fe[Fe.length-1],this.defaultActions[Dt]?kt=this.defaultActions[Dt]:((Qe===null||typeof Qe>"u")&&(Qe=Pt()),kt=Se[Dt]&&Se[Dt][Qe]),typeof kt>"u"||!kt.length||!kt[0]){var Ma="";xi=[];for(zr in Se[Dt])this.terminals_[zr]&&zr>Ft&&xi.push("'"+this.terminals_[zr]+"'");_t.showPosition?Ma="Parse error on line "+(ke+1)+`: +`+_t.showPosition()+` +Expecting `+xi.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Ma="Parse error on line "+(ke+1)+": Unexpected "+(Qe==Ne?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Ma,{text:_t.match,token:this.terminals_[Qe]||Qe,line:_t.yylineno,loc:ln,expected:xi})}if(kt[0]instanceof Array&&kt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Dt+", token: "+Qe);switch(kt[0]){case 1:Fe.push(Qe),je.push(_t.yytext),Ie.push(_t.yylloc),Fe.push(kt[1]),Qe=null,Ke=_t.yyleng,Ce=_t.yytext,ke=_t.yylineno,ln=_t.yylloc;break;case 2:if(yt=this.productions_[kt[1]][1],ht.$=je[je.length-yt],ht._$={first_line:Ie[Ie.length-(yt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(yt||1)].first_column,last_column:Ie[Ie.length-1].last_column},xt&&(ht._$.range=[Ie[Ie.length-(yt||1)].range[0],Ie[Ie.length-1].range[1]]),On=this.performAction.apply(ht,[Ce,Ke,ke,Et.yy,kt[1],je,Ie].concat(gn)),typeof On<"u")return On;yt&&(Fe=Fe.slice(0,-1*yt*2),je=je.slice(0,-1*yt),Ie=Ie.slice(0,-1*yt)),Fe.push(this.productions_[kt[1]][0]),je.push(ht.$),Ie.push(ht._$),ji=Se[Fe[Fe.length-2]][Fe[Fe.length-1]],Fe.push(ji);break;case 3:return!0}}return!0}},X=function(){var W={EOF:1,parseError:function(U,Fe){if(this.yy.parser)this.yy.parser.parseError(U,Fe);else throw new Error(U)},setInput:function(xe,U){return this.yy=U||this.yy||{},this._input=xe,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},input:function(){var xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var U=xe.match(/(?:\r\n?|\n).*/g);return U?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),xe},unput:function(xe){var U=xe.length,Fe=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var Pe=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),Fe.length-1&&(this.yylineno-=Fe.length-1);var je=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:Fe?(Fe.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-Fe.length].length-Fe[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[je[0],je[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(xe){this.unput(this.match.slice(xe))},pastInput:function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var xe=this.pastInput(),U=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+` +`+U+"^"},test_match:function(xe,U){var Fe,Pe,je;if(this.options.backtrack_lexer&&(je={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&&(je.yylloc.range=this.yylloc.range.slice(0))),Pe=xe[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,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(xe[0].length),this.matched+=xe[0],Fe=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Fe)return Fe;if(this._backtrack){for(var Ie in je)this[Ie]=je[Ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,U,Fe,Pe;this._more||(this.yytext="",this.match="");for(var je=this._currentRules(),Ie=0;IeU[0].length)){if(U=Fe,Pe=Ie,this.options.backtrack_lexer){if(xe=this.test_match(Fe,je[Ie]),xe!==!1)return xe;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(xe=this.test_match(U,je[Pe]),xe!==!1?xe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var U=this.next();return U||this.lex()},begin:function(U){this.conditionStack.push(U)},popState:function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},pushState:function(U){this.begin(U)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(U,Fe,Pe,je){switch(Pe){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;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"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},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,/^(?:\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],inclusive:!0}}};return W}();de.lexer=X;function ge(){this.yy={}}return ge.prototype=de,de.Parser=ge,new ge}();Yme.parser=Yme;const _tn=Yme;var XUe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(Ag,function(){var u="day";return function(d,p,v){var b=function(_){return _.add(4-_.isoWeekday(),u)},y=p.prototype;y.isoWeekYear=function(){return b(this).year()},y.isoWeek=function(_){if(!this.$utils().u(_))return this.add(7*(_-this.isoWeek()),u);var A,P,R,F,j=b(this),K=(A=this.isoWeekYear(),P=this.$u,R=(P?v.utc:v)().year(A).startOf("year"),F=4-R.isoWeekday(),R.isoWeekday()>4&&(F+=7),R.add(F,u));return j.diff(K,"week")+1},y.isoWeekday=function(_){return this.$utils().u(_)?this.day()||7:this.day(this.day()%7?_:_-7)};var T=y.startOf;y.startOf=function(_,A){var P=this.$utils(),R=!!P.u(A)||A;return P.p(_)==="isoweek"?R?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):T.bind(this)(_,A)}}})})(XUe);var Atn=XUe.exports;const Ltn=hC(Atn);var QUe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(Ag,function(){var u={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"},d=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,p=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,y={},T=function(K){return(K=+K)+(K>68?1900:2e3)},_=function(K){return function(ee){this[K]=+ee}},A=[/[+-]\d\d:?(\d\d)?|Z/,function(K){(this.zone||(this.zone={})).offset=function(ee){if(!ee||ee==="Z")return 0;var ie=ee.match(/([+-]|\d\d)/g),oe=60*ie[1]+(+ie[2]||0);return oe===0?0:ie[0]==="+"?-oe:oe}(K)}],P=function(K){var ee=y[K];return ee&&(ee.indexOf?ee:ee.s.concat(ee.f))},R=function(K,ee){var ie,oe=y.meridiem;if(oe){for(var pe=1;pe<=24;pe+=1)if(K.indexOf(oe(pe,0,ee))>-1){ie=pe>12;break}}else ie=K===(ee?"pm":"PM");return ie},F={A:[b,function(K){this.afternoon=R(K,!1)}],a:[b,function(K){this.afternoon=R(K,!0)}],S:[/\d/,function(K){this.milliseconds=100*+K}],SS:[p,function(K){this.milliseconds=10*+K}],SSS:[/\d{3}/,function(K){this.milliseconds=+K}],s:[v,_("seconds")],ss:[v,_("seconds")],m:[v,_("minutes")],mm:[v,_("minutes")],H:[v,_("hours")],h:[v,_("hours")],HH:[v,_("hours")],hh:[v,_("hours")],D:[v,_("day")],DD:[p,_("day")],Do:[b,function(K){var ee=y.ordinal,ie=K.match(/\d+/);if(this.day=ie[0],ee)for(var oe=1;oe<=31;oe+=1)ee(oe).replace(/\[|\]/g,"")===K&&(this.day=oe)}],M:[v,_("month")],MM:[p,_("month")],MMM:[b,function(K){var ee=P("months"),ie=(P("monthsShort")||ee.map(function(oe){return oe.slice(0,3)})).indexOf(K)+1;if(ie<1)throw new Error;this.month=ie%12||ie}],MMMM:[b,function(K){var ee=P("months").indexOf(K)+1;if(ee<1)throw new Error;this.month=ee%12||ee}],Y:[/[+-]?\d+/,_("year")],YY:[p,function(K){this.year=T(K)}],YYYY:[/\d{4}/,_("year")],Z:A,ZZ:A};function j(K){var ee,ie;ee=K,ie=y&&y.formats;for(var oe=(K=ee.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(X,ge,W){var xe=W&&W.toUpperCase();return ge||ie[W]||u[W]||ie[xe].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(U,Fe,Pe){return Fe||Pe.slice(1)})})).match(d),pe=oe.length,be=0;be-1)return new Date((Ie==="X"?1e3:1)*je);var Ce=j(Ie)(je),ke=Ce.year,Ke=Ce.month,Ft=Ce.day,Ne=Ce.hours,gn=Ce.minutes,_t=Ce.seconds,Et=Ce.milliseconds,Gt=Ce.zone,ln=new Date,xt=Ft||(ke||Ke?1:ln.getDate()),Pt=ke||ln.getFullYear(),Qe=0;ke&&!Ke||(Qe=Ke>0?Ke-1:ln.getMonth());var Dt=Ne||0,kt=gn||0,On=_t||0,ht=Et||0;return Gt?new Date(Date.UTC(Pt,Qe,xt,Dt,kt,On,ht+60*Gt.offset*1e3)):Se?new Date(Date.UTC(Pt,Qe,xt,Dt,kt,On,ht)):new Date(Pt,Qe,xt,Dt,kt,On,ht)}catch{return new Date("")}}(ae,de,ne),this.init(),xe&&xe!==!0&&(this.$L=this.locale(xe).$L),W&&ae!=this.format(de)&&(this.$d=new Date("")),y={}}else if(de instanceof Array)for(var U=de.length,Fe=1;Fe<=U;Fe+=1){se[1]=de[Fe-1];var Pe=ie.apply(this,se);if(Pe.isValid()){this.$d=Pe.$d,this.$L=Pe.$L,this.init();break}Fe===U&&(this.$d=new Date(""))}else pe.call(this,be)}}})})(QUe);var Mtn=QUe.exports;const Dtn=hC(Mtn);var JUe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(Ag,function(){return function(u,d){var p=d.prototype,v=p.format;p.format=function(b){var y=this,T=this.$locale();if(!this.isValid())return v.bind(this)(b);var _=this.$utils(),A=(b||"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(P){switch(P){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return T.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return T.ordinal(y.week(),"W");case"w":case"ww":return _.s(y.week(),P==="w"?1:2,"0");case"W":case"WW":return _.s(y.isoWeek(),P==="W"?1:2,"0");case"k":case"kk":return _.s(String(y.$H===0?24:y.$H),P==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return P}});return v.bind(this)(A)}}})})(JUe);var Itn=JUe.exports;const Otn=hC(Itn);Lg.extend(Ltn),Lg.extend(Dtn),Lg.extend(Otn);let i5="",Xme="",Qme,Jme="",FR=[],RR=[],Zme={},eve=[],uJ=[],GD="",tve="";const ZUe=["active","done","crit","milestone"];let nve=[],jR=!1,rve=!1,ive="sunday",sve=0;const Ntn=function(){eve=[],uJ=[],GD="",nve=[],lJ=0,ove=void 0,hJ=void 0,m1=[],i5="",Xme="",tve="",Qme=void 0,Jme="",FR=[],RR=[],jR=!1,rve=!1,sve=0,Zme={},Pg(),ive="sunday"},Ptn=function(i){Xme=i},Btn=function(){return Xme},Ftn=function(i){Qme=i},Rtn=function(){return Qme},jtn=function(i){Jme=i},$tn=function(){return Jme},ztn=function(i){i5=i},qtn=function(){jR=!0},Htn=function(){return jR},Vtn=function(){rve=!0},Utn=function(){return rve},Gtn=function(i){tve=i},Ktn=function(){return tve},Wtn=function(){return i5},Ytn=function(i){FR=i.toLowerCase().split(/[\s,]+/)},Xtn=function(){return FR},Qtn=function(i){RR=i.toLowerCase().split(/[\s,]+/)},Jtn=function(){return RR},Ztn=function(){return Zme},enn=function(i){GD=i,eve.push(i)},tnn=function(){return eve},nnn=function(){let i=sGe();const s=10;let u=0;for(;!i&&u=6&&u.includes("weekends")||u.includes(i.format("dddd").toLowerCase())?!0:u.includes(i.format(s.trim()))},rnn=function(i){ive=i},inn=function(){return ive},tGe=function(i,s,u,d){if(!u.length||i.manualEndTime)return;let p;i.startTime instanceof Date?p=Lg(i.startTime):p=Lg(i.startTime,s,!0),p=p.add(1,"d");let v;i.endTime instanceof Date?v=Lg(i.endTime):v=Lg(i.endTime,s,!0);const[b,y]=snn(p,v,s,u,d);i.endTime=b.toDate(),i.renderEndTime=y},snn=function(i,s,u,d,p){let v=!1,b=null;for(;i<=s;)v||(b=s.toDate()),v=eGe(i,u,d,p),v&&(s=s.add(1,"d")),i=i.add(1,"d");return[s,b]},ave=function(i,s,u){u=u.trim();const p=/^after\s+(?[\d\w- ]+)/.exec(u);if(p!==null){let b=null;for(const T of p.groups.ids.split(" ")){let _=QC(T);_!==void 0&&(!b||_.endTime>b.endTime)&&(b=_)}if(b)return b.endTime;const y=new Date;return y.setHours(0,0,0,0),y}let v=Lg(u,s.trim(),!0);if(v.isValid())return v.toDate();{Xe.debug("Invalid date:"+u),Xe.debug("With date format:"+s.trim());const b=new Date(u);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+u);return b}},nGe=function(i){const s=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return s!==null?[Number.parseFloat(s[1]),s[2]]:[NaN,"ms"]},rGe=function(i,s,u,d=!1){u=u.trim();const v=/^until\s+(?[\d\w- ]+)/.exec(u);if(v!==null){let A=null;for(const R of v.groups.ids.split(" ")){let F=QC(R);F!==void 0&&(!A||F.startTime{window.open(u,"_self")}),Zme[d]=u)}),aGe(i,"clickable")},aGe=function(i,s){i.split(",").forEach(function(u){let d=QC(u);d!==void 0&&d.classes.push(s)})},hnn=function(i,s,u){if(qt().securityLevel!=="loose"||s===void 0)return;let d=[];if(typeof u=="string"){d=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v{Ao.runFunc(s,...d)})},oGe=function(i,s){nve.push(function(){const u=document.querySelector(`[id="${i}"]`);u!==null&&u.addEventListener("click",function(){s()})},function(){const u=document.querySelector(`[id="${i}-text"]`);u!==null&&u.addEventListener("click",function(){s()})})},fnn={getConfig:()=>qt().gantt,clear:Ntn,setDateFormat:ztn,getDateFormat:Wtn,enableInclusiveEndDates:qtn,endDatesAreInclusive:Htn,enableTopAxis:Vtn,topAxisEnabled:Utn,setAxisFormat:Ptn,getAxisFormat:Btn,setTickInterval:Ftn,getTickInterval:Rtn,setTodayMarker:jtn,getTodayMarker:$tn,setAccTitle:Bg,getAccTitle:Cp,setDiagramTitle:cm,getDiagramTitle:Ap,setDisplayMode:Gtn,getDisplayMode:Ktn,setAccDescription:Sp,getAccDescription:_p,addSection:enn,getSections:tnn,getTasks:nnn,addTask:cnn,findTaskById:QC,addTaskOrg:unn,setIncludes:Ytn,getIncludes:Xtn,setExcludes:Qtn,getExcludes:Jtn,setClickEvent:function(i,s,u){i.split(",").forEach(function(d){hnn(d,s,u)}),aGe(i,"clickable")},setLink:lnn,getLinks:Ztn,bindFunctions:function(i){nve.forEach(function(s){s(i)})},parseDuration:nGe,isInvalidDate:eGe,setWeekday:rnn,getWeekday:inn};function cGe(i,s,u){let d=!0;for(;d;)d=!1,u.forEach(function(p){const v="^\\s*"+p+"\\s*$",b=new RegExp(v);i[0].match(b)&&(s[p]=!0,i.shift(1),d=!0)})}const dnn=function(){Xe.debug("Something is calling, setConf, remove the call")},uGe={monday:DF,tuesday:xFe,wednesday:kFe,thursday:yC,friday:EFe,saturday:TFe,sunday:MF},gnn=(i,s)=>{let u=[...i].map(()=>-1/0),d=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),p=0;for(const v of d)for(let b=0;b=u[b]){u[b]=v.endTime,v.order=b+s,b>p&&(p=b);break}return p};let V7;const pnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:_tn,db:fnn,renderer:{setConf:dnn,draw:function(i,s,u,d){const p=qt().gantt,v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=v==="sandbox"?b.nodes()[0].contentDocument:document,_=T.getElementById(s);V7=_.parentElement.offsetWidth,V7===void 0&&(V7=1200),p.useWidth!==void 0&&(V7=p.useWidth);const A=d.db.getTasks();let P=[];for(const de of A)P.push(de.type);P=se(P);const R={};let F=2*p.topPadding;if(d.db.getDisplayMode()==="compact"||p.displayMode==="compact"){const de={};for(const ge of A)de[ge.section]===void 0?de[ge.section]=[ge]:de[ge.section].push(ge);let X=0;for(const ge of Object.keys(de)){const W=gnn(de[ge],X)+1;X+=W,F+=W*(p.barHeight+p.barGap),R[ge]=W}}else{F+=A.length*(p.barHeight+p.barGap);for(const de of P)R[de]=A.filter(X=>X.type===de).length}_.setAttribute("viewBox","0 0 "+V7+" "+F);const j=y.select(`[id="${s}"]`),K=fNt().domain([WAt(A,function(de){return de.startTime}),KAt(A,function(de){return de.endTime})]).rangeRound([0,V7-p.leftPadding-p.rightPadding]);function ee(de,X){const ge=de.startTime,W=X.startTime;let xe=0;return ge>W?xe=1:geke.order))].map(ke=>de.find(Ke=>Ke.order===ke));j.append("g").selectAll("rect").data(je).enter().append("rect").attr("x",0).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+ge-2}).attr("width",function(){return Fe-p.rightPadding/2}).attr("height",X).attr("class",function(ke){for(const[Ke,Ft]of P.entries())if(ke.type===Ft)return"section section"+Ke%p.numberSectionStyles;return"section section0"});const Ie=j.append("g").selectAll("rect").data(de).enter(),Se=d.db.getLinks();if(Ie.append("rect").attr("id",function(ke){return ke.id}).attr("rx",3).attr("ry",3).attr("x",function(ke){return ke.milestone?K(ke.startTime)+W+.5*(K(ke.endTime)-K(ke.startTime))-.5*xe:K(ke.startTime)+W}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+ge}).attr("width",function(ke){return ke.milestone?xe:K(ke.renderEndTime||ke.endTime)-K(ke.startTime)}).attr("height",xe).attr("transform-origin",function(ke,Ke){return Ke=ke.order,(K(ke.startTime)+W+.5*(K(ke.endTime)-K(ke.startTime))).toString()+"px "+(Ke*X+ge+.5*xe).toString()+"px"}).attr("class",function(ke){const Ke="task";let Ft="";ke.classes.length>0&&(Ft=ke.classes.join(" "));let Ne=0;for(const[_t,Et]of P.entries())ke.type===Et&&(Ne=_t%p.numberSectionStyles);let gn="";return ke.active?ke.crit?gn+=" activeCrit":gn=" active":ke.done?ke.crit?gn=" doneCrit":gn=" done":ke.crit&&(gn+=" crit"),gn.length===0&&(gn=" task"),ke.milestone&&(gn=" milestone "+gn),gn+=Ne,gn+=" "+Ft,Ke+gn}),Ie.append("text").attr("id",function(ke){return ke.id+"-text"}).text(function(ke){return ke.task}).attr("font-size",p.fontSize).attr("x",function(ke){let Ke=K(ke.startTime),Ft=K(ke.renderEndTime||ke.endTime);ke.milestone&&(Ke+=.5*(K(ke.endTime)-K(ke.startTime))-.5*xe),ke.milestone&&(Ft=Ke+xe);const Ne=this.getBBox().width;return Ne>Ft-Ke?Ft+Ne+1.5*p.leftPadding>Fe?Ke+W-5:Ft+W+5:(Ft-Ke)/2+Ke+W}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+p.barHeight/2+(p.fontSize/2-2)+ge}).attr("text-height",xe).attr("class",function(ke){const Ke=K(ke.startTime);let Ft=K(ke.endTime);ke.milestone&&(Ft=Ke+xe);const Ne=this.getBBox().width;let gn="";ke.classes.length>0&&(gn=ke.classes.join(" "));let _t=0;for(const[Gt,ln]of P.entries())ke.type===ln&&(_t=Gt%p.numberSectionStyles);let Et="";return ke.active&&(ke.crit?Et="activeCritText"+_t:Et="activeText"+_t),ke.done?ke.crit?Et=Et+" doneCritText"+_t:Et=Et+" doneText"+_t:ke.crit&&(Et=Et+" critText"+_t),ke.milestone&&(Et+=" milestoneText"),Ne>Ft-Ke?Ft+Ne+1.5*p.leftPadding>Fe?gn+" taskTextOutsideLeft taskTextOutside"+_t+" "+Et:gn+" taskTextOutsideRight taskTextOutside"+_t+" "+Et+" width-"+Ne:gn+" taskText taskText"+_t+" "+Et+" width-"+Ne}),qt().securityLevel==="sandbox"){let ke;ke=Ir("#i"+s);const Ke=ke.nodes()[0].contentDocument;Ie.filter(function(Ft){return Se[Ft.id]!==void 0}).each(function(Ft){var Ne=Ke.querySelector("#"+Ft.id),gn=Ke.querySelector("#"+Ft.id+"-text");const _t=Ne.parentNode;var Et=Ke.createElement("a");Et.setAttribute("xlink:href",Se[Ft.id]),Et.setAttribute("target","_top"),_t.appendChild(Et),Et.appendChild(Ne),Et.appendChild(gn)})}}function pe(de,X,ge,W,xe,U,Fe,Pe){if(Fe.length===0&&Pe.length===0)return;let je,Ie;for(const{startTime:Ne,endTime:gn}of U)(je===void 0||NeIe)&&(Ie=gn);if(!je||!Ie)return;if(Lg(Ie).diff(Lg(je),"year")>5){Xe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Se=d.db.getDateFormat(),Ce=[];let ke=null,Ke=Lg(je);for(;Ke.valueOf()<=Ie;)d.db.isInvalidDate(Ke,Se,Fe,Pe)?ke?ke.end=Ke:ke={start:Ke,end:Ke}:ke&&(Ce.push(ke),ke=null),Ke=Ke.add(1,"d");j.append("g").selectAll("rect").data(Ce).enter().append("rect").attr("id",function(Ne){return"exclude-"+Ne.start.format("YYYY-MM-DD")}).attr("x",function(Ne){return K(Ne.start)+ge}).attr("y",p.gridLineStartPadding).attr("width",function(Ne){const gn=Ne.end.add(1,"day");return K(gn)-K(Ne.start)}).attr("height",xe-X-p.gridLineStartPadding).attr("transform-origin",function(Ne,gn){return(K(Ne.start)+ge+.5*(K(Ne.end)-K(Ne.start))).toString()+"px "+(gn*de+.5*xe).toString()+"px"}).attr("class","exclude-range")}function be(de,X,ge,W){let xe=rLt(K).tickSize(-W+X+p.gridLineStartPadding).tickFormat(sX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));const Fe=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(d.db.getTickInterval()||p.tickInterval);if(Fe!==null){const Pe=Fe[1],je=Fe[2],Ie=d.db.getWeekday()||p.weekday;switch(je){case"millisecond":xe.ticks(aD.every(Pe));break;case"second":xe.ticks(b9.every(Pe));break;case"minute":xe.ticks(AF.every(Pe));break;case"hour":xe.ticks(LF.every(Pe));break;case"day":xe.ticks(vC.every(Pe));break;case"week":xe.ticks(uGe[Ie].every(Pe));break;case"month":xe.ticks(IF.every(Pe));break}}if(j.append("g").attr("class","grid").attr("transform","translate("+de+", "+(W-50)+")").call(xe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),d.db.topAxisEnabled()||p.topAxis){let Pe=nLt(K).tickSize(-W+X+p.gridLineStartPadding).tickFormat(sX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));if(Fe!==null){const je=Fe[1],Ie=Fe[2],Se=d.db.getWeekday()||p.weekday;switch(Ie){case"millisecond":Pe.ticks(aD.every(je));break;case"second":Pe.ticks(b9.every(je));break;case"minute":Pe.ticks(AF.every(je));break;case"hour":Pe.ticks(LF.every(je));break;case"day":Pe.ticks(vC.every(je));break;case"week":Pe.ticks(uGe[Se].every(je));break;case"month":Pe.ticks(IF.every(je));break}}j.append("g").attr("class","grid").attr("transform","translate("+de+", "+X+")").call(Pe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function ae(de,X){let ge=0;const W=Object.keys(R).map(xe=>[xe,R[xe]]);j.append("g").selectAll("text").data(W).enter().append(function(xe){const U=xe[0].split(li.lineBreakRegex),Fe=-(U.length-1)/2,Pe=T.createElementNS("http://www.w3.org/2000/svg","text");Pe.setAttribute("dy",Fe+"em");for(const[je,Ie]of U.entries()){const Se=T.createElementNS("http://www.w3.org/2000/svg","tspan");Se.setAttribute("alignment-baseline","central"),Se.setAttribute("x","10"),je>0&&Se.setAttribute("dy","1em"),Se.textContent=Ie,Pe.appendChild(Se)}return Pe}).attr("x",10).attr("y",function(xe,U){if(U>0)for(let Fe=0;Fe` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${i.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${i.sectionBkgColor}; + } + + .section2 { + fill: ${i.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${i.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${i.titleColor}; + } + + .sectionTitle1 { + fill: ${i.titleColor}; + } + + .sectionTitle2 { + fill: ${i.titleColor}; + } + + .sectionTitle3 { + fill: ${i.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${i.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${i.fontFamily}; + fill: ${i.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${i.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${i.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${i.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${i.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${i.taskBkgColor}; + stroke: ${i.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${i.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${i.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${i.activeTaskBkgColor}; + stroke: ${i.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${i.doneTaskBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${i.critBorderColor}; + fill: ${i.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.titleColor||i.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`}},Symbol.toStringTag,{value:"Module"}));var cve=function(){var i=function(v,b,y,T){for(y=y||{},T=v.length;T--;y[v[T]]=b);return y},s=[6,9,10],u={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,y,T,_,A,P,R){switch(P.length-1,A){case 1:return _;case 4:break;case 6:_.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(s,[2,3]),i(s,[2,4]),i(s,[2,5]),i(s,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,y){if(y.recoverable)this.trace(b);else{var T=new Error(b);throw T.hash=y,T}},parse:function(b){var y=this,T=[0],_=[],A=[null],P=[],R=this.table,F="",j=0,K=0,ee=2,ie=1,oe=P.slice.call(arguments,1),pe=Object.create(this.lexer),be={yy:{}};for(var ae in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ae)&&(be.yy[ae]=this.yy[ae]);pe.setInput(b,be.yy),be.yy.lexer=pe,be.yy.parser=this,typeof pe.yylloc>"u"&&(pe.yylloc={});var ne=pe.yylloc;P.push(ne);var se=pe.options&&pe.options.ranges;typeof be.yy.parseError=="function"?this.parseError=be.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(){var Ce;return Ce=_.pop()||pe.lex()||ie,typeof Ce!="number"&&(Ce instanceof Array&&(_=Ce,Ce=_.pop()),Ce=y.symbols_[Ce]||Ce),Ce}for(var X,ge,W,xe,U={},Fe,Pe,je,Ie;;){if(ge=T[T.length-1],this.defaultActions[ge]?W=this.defaultActions[ge]:((X===null||typeof X>"u")&&(X=de()),W=R[ge]&&R[ge][X]),typeof W>"u"||!W.length||!W[0]){var Se="";Ie=[];for(Fe in R[ge])this.terminals_[Fe]&&Fe>ee&&Ie.push("'"+this.terminals_[Fe]+"'");pe.showPosition?Se="Parse error on line "+(j+1)+`: +`+pe.showPosition()+` +Expecting `+Ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Se="Parse error on line "+(j+1)+": Unexpected "+(X==ie?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Se,{text:pe.match,token:this.terminals_[X]||X,line:pe.yylineno,loc:ne,expected:Ie})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ge+", token: "+X);switch(W[0]){case 1:T.push(X),A.push(pe.yytext),P.push(pe.yylloc),T.push(W[1]),X=null,K=pe.yyleng,F=pe.yytext,j=pe.yylineno,ne=pe.yylloc;break;case 2:if(Pe=this.productions_[W[1]][1],U.$=A[A.length-Pe],U._$={first_line:P[P.length-(Pe||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(Pe||1)].first_column,last_column:P[P.length-1].last_column},se&&(U._$.range=[P[P.length-(Pe||1)].range[0],P[P.length-1].range[1]]),xe=this.performAction.apply(U,[F,K,j,be.yy,W[1],A,P].concat(oe)),typeof xe<"u")return xe;Pe&&(T=T.slice(0,-1*Pe*2),A=A.slice(0,-1*Pe),P=P.slice(0,-1*Pe)),T.push(this.productions_[W[1]][0]),A.push(U.$),P.push(U._$),je=R[T[T.length-2]][T[T.length-1]],T.push(je);break;case 3:return!0}}return!0}},d=function(){var v={EOF:1,parseError:function(y,T){if(this.yy.parser)this.yy.parser.parseError(y,T);else throw new Error(y)},setInput:function(b,y){return this.yy=y||this.yy||{},this._input=b,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},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var y=b.match(/(?:\r\n?|\n).*/g);return y?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var y=b.length,T=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var _=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),T.length-1&&(this.yylineno-=T.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:T?(T.length===_.length?this.yylloc.first_column:0)+_[_.length-T.length].length-T[0].length:this.yylloc.first_column-y},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var b=this.pastInput(),y=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+y+"^"},test_match:function(b,y){var T,_,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))),_=b[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,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(b[0].length),this.matched+=b[0],T=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var P in A)this[P]=A[P];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,y,T,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),P=0;Py[0].length)){if(y=T,_=P,this.options.backtrack_lexer){if(b=this.test_match(T,A[P]),b!==!1)return b;if(this._backtrack){y=!1;continue}else return!1}else if(!this.options.flex)break}return y?(b=this.test_match(y,A[_]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var y=this.next();return y||this.lex()},begin:function(y){this.conditionStack.push(y)},popState:function(){var y=this.conditionStack.length-1;return y>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(y){return y=this.conditionStack.length-1-Math.abs(y||0),y>=0?this.conditionStack[y]:"INITIAL"},pushState:function(y){this.begin(y)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(y,T,_,A){switch(_){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return v}();u.lexer=d;function p(){this.yy={}}return p.prototype=u,u.Parser=p,new p}();cve.parser=cve;const bnn=cve,lGe={info:!1};let uve=lGe.info;const mnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:bnn,db:{clear:()=>{uve=lGe.info},setInfo:i=>{uve=i},getInfo:()=>uve},renderer:{draw:(i,s,u)=>{Xe.debug(`rendering info diagram +`+i);const d=rR(s);Ng(d,100,400,!0),d.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${u}`)}}}},Symbol.toStringTag,{value:"Module"}));var lve=function(){var i=function(pe,be,ae,ne){for(ae=ae||{},ne=pe.length;ne--;ae[pe[ne]]=be);return ae},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,10,12,14,16,18,19,20,21,22],b=[2,4],y=[1,5,10,12,14,16,18,19,20,21,22],T=[20,21,22],_=[2,7],A=[1,12],P=[1,13],R=[1,14],F=[1,15],j=[1,16],K=[1,17],ee={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(be,ae,ne,se,de,X,ge){var W=X.length-1;switch(de){case 3:se.setShowData(!0);break;case 6:this.$=X[W-1];break;case 8:se.addSection(X[W-1],se.cleanupValue(X[W]));break;case 9:this.$=X[W].trim(),se.setDiagramTitle(this.$);break;case 10:this.$=X[W].trim(),se.setAccTitle(this.$);break;case 11:case 12:this.$=X[W].trim(),se.setAccDescription(this.$);break;case 13:se.addSection(X[W].substr(8)),this.$=X[W].substr(8);break}},table:[{3:1,4:2,5:s,20:u,21:d,22:p},{1:[3]},{3:7,4:2,5:s,20:u,21:d,22:p},i(v,b,{6:8,7:[1,9]}),i(y,[2,14]),i(y,[2,15]),i(y,[2,16]),{1:[2,1]},i(T,_,{8:10,9:11,1:[2,2],10:A,12:P,14:R,16:F,18:j,19:K}),i(v,b,{6:18}),i(v,[2,5]),{4:19,20:u,21:d,22:p},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(T,[2,12]),i(T,[2,13]),i(T,_,{8:10,9:11,1:[2,3],10:A,12:P,14:R,16:F,18:j,19:K}),i(v,[2,6]),i(T,[2,8]),i(T,[2,9]),i(T,[2,10]),i(T,[2,11])],defaultActions:{7:[2,1]},parseError:function(be,ae){if(ae.recoverable)this.trace(be);else{var ne=new Error(be);throw ne.hash=ae,ne}},parse:function(be){var ae=this,ne=[0],se=[],de=[null],X=[],ge=this.table,W="",xe=0,U=0,Fe=2,Pe=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(be,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var kt;return kt=se.pop()||Ie.lex()||Pe,typeof kt!="number"&&(kt instanceof Array&&(se=kt,kt=se.pop()),kt=ae.symbols_[kt]||kt),kt}for(var Ne,gn,_t,Et,Gt={},ln,xt,Pt,Qe;;){if(gn=ne[ne.length-1],this.defaultActions[gn]?_t=this.defaultActions[gn]:((Ne===null||typeof Ne>"u")&&(Ne=Ft()),_t=ge[gn]&&ge[gn][Ne]),typeof _t>"u"||!_t.length||!_t[0]){var Dt="";Qe=[];for(ln in ge[gn])this.terminals_[ln]&&ln>Fe&&Qe.push("'"+this.terminals_[ln]+"'");Ie.showPosition?Dt="Parse error on line "+(xe+1)+`: +`+Ie.showPosition()+` +Expecting `+Qe.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":Dt="Parse error on line "+(xe+1)+": Unexpected "+(Ne==Pe?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(Dt,{text:Ie.match,token:this.terminals_[Ne]||Ne,line:Ie.yylineno,loc:ke,expected:Qe})}if(_t[0]instanceof Array&&_t.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Ne);switch(_t[0]){case 1:ne.push(Ne),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(_t[1]),Ne=null,U=Ie.yyleng,W=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(xt=this.productions_[_t[1]][1],Gt.$=de[de.length-xt],Gt._$={first_line:X[X.length-(xt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(xt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Gt._$.range=[X[X.length-(xt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Gt,[W,U,xe,Se.yy,_t[1],de,X].concat(je)),typeof Et<"u")return Et;xt&&(ne=ne.slice(0,-1*xt*2),de=de.slice(0,-1*xt),X=X.slice(0,-1*xt)),ne.push(this.productions_[_t[1]][0]),de.push(Gt.$),X.push(Gt._$),Pt=ge[ne[ne.length-2]][ne[ne.length-1]],ne.push(Pt);break;case 3:return!0}}return!0}},ie=function(){var pe={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(be,ae){return this.yy=ae||this.yy||{},this._input=be,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},input:function(){var be=this._input[0];this.yytext+=be,this.yyleng++,this.offset++,this.match+=be,this.matched+=be;var ae=be.match(/(?:\r\n?|\n).*/g);return ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),be},unput:function(be){var ae=be.length,ne=be.split(/(?:\r\n?|\n)/g);this._input=be+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=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),ne.length-1&&(this.yylineno-=ne.length-1);var de=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:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(be){this.unput(this.match.slice(be))},pastInput:function(){var be=this.matched.substr(0,this.matched.length-this.match.length);return(be.length>20?"...":"")+be.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var be=this.match;return be.length<20&&(be+=this._input.substr(0,20-be.length)),(be.substr(0,20)+(be.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var be=this.pastInput(),ae=new Array(be.length+1).join("-");return be+this.upcomingInput()+` +`+ae+"^"},test_match:function(be,ae){var ne,se,de;if(this.options.backtrack_lexer&&(de={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&&(de.yylloc.range=this.yylloc.range.slice(0))),se=be[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+be[0].length},this.yytext+=be[0],this.match+=be[0],this.matches=be,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(be[0].length),this.matched+=be[0],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var be,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;Xae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(be=this.test_match(ne,de[X]),be!==!1)return be;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(be=this.test_match(ae,de[se]),be!==!1?be:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ae,ne,se,de){switch(se){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;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:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/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,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return pe}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();lve.parser=lve;const vnn=lve,hGe=sh.pie,fJ={sections:{},showData:!1,config:hGe};let dJ=fJ.sections,hve=fJ.showData;const wnn=structuredClone(hGe),ynn={getConfig:()=>structuredClone(wnn),clear:()=>{dJ=structuredClone(fJ.sections),hve=fJ.showData,Pg()},setDiagramTitle:cm,getDiagramTitle:Ap,setAccTitle:Bg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,addSection:(i,s)=>{i=Yf(i,qt()),dJ[i]===void 0&&(dJ[i]=s,Xe.debug(`added new section: ${i}, with value: ${s}`))},getSections:()=>dJ,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{hve=i},getShowData:()=>hve},xnn=i=>` + .pieCircle{ + stroke: ${i.pieStrokeColor}; + stroke-width : ${i.pieStrokeWidth}; + opacity : ${i.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${i.pieOuterStrokeColor}; + stroke-width: ${i.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${i.pieTitleTextSize}; + fill: ${i.pieTitleTextColor}; + font-family: ${i.fontFamily}; + } + .slice { + font-family: ${i.fontFamily}; + fill: ${i.pieSectionTextColor}; + font-size:${i.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${i.pieLegendTextColor}; + font-family: ${i.fontFamily}; + font-size: ${i.pieLegendTextSize}; + } +`,knn=i=>{const s=Object.entries(i).map(d=>({label:d[0],value:d[1]})).sort((d,p)=>p.value-d.value);return SNt().value(d=>d.value)(s)},Enn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:vnn,db:ynn,renderer:{draw:(i,s,u,d)=>{Xe.debug(`rendering pie chart +`+i);const p=d.db,v=qt(),b=JF(p.getConfig(),v.pie),y=40,T=18,_=4,A=450,P=A,R=rR(s),F=R.append("g"),j=p.getSections();F.attr("transform","translate("+P/2+","+A/2+")");const{themeVariables:K}=v;let[ee]=NC(K.pieOuterStrokeWidth);ee??(ee=2);const ie=b.textPosition,oe=Math.min(P,A)/2-y,pe=lD().innerRadius(0).outerRadius(oe),be=lD().innerRadius(oe*ie).outerRadius(oe*ie);F.append("circle").attr("cx",0).attr("cy",0).attr("r",oe+ee/2).attr("class","pieOuterCircle");const ae=knn(j),ne=[K.pie1,K.pie2,K.pie3,K.pie4,K.pie5,K.pie6,K.pie7,K.pie8,K.pie9,K.pie10,K.pie11,K.pie12],se=_F(ne);F.selectAll("mySlices").data(ae).enter().append("path").attr("d",pe).attr("fill",xe=>se(xe.data.label)).attr("class","pieCircle");let de=0;Object.keys(j).forEach(xe=>{de+=j[xe]}),F.selectAll("mySlices").data(ae).enter().append("text").text(xe=>(xe.data.value/de*100).toFixed(0)+"%").attr("transform",xe=>"translate("+be.centroid(xe)+")").style("text-anchor","middle").attr("class","slice"),F.append("text").text(p.getDiagramTitle()).attr("x",0).attr("y",-(A-50)/2).attr("class","pieTitleText");const X=F.selectAll(".legend").data(se.domain()).enter().append("g").attr("class","legend").attr("transform",(xe,U)=>{const Fe=T+_,Pe=Fe*se.domain().length/2,je=12*T,Ie=U*Fe-Pe;return"translate("+je+","+Ie+")"});X.append("rect").attr("width",T).attr("height",T).style("fill",se).style("stroke",se),X.data(ae).append("text").attr("x",T+_).attr("y",T-_).text(xe=>{const{label:U,value:Fe}=xe.data;return p.getShowData()?`${U} [${Fe}]`:U});const ge=Math.max(...X.selectAll("text").nodes().map(xe=>(xe==null?void 0:xe.getBoundingClientRect().width)??0)),W=P+y+T+_+ge;R.attr("viewBox",`0 0 ${W} ${A}`),Ng(R,A,W,b.useMaxWidth)}},styles:xnn}},Symbol.toStringTag,{value:"Module"}));var fve=function(){var i=function(_t,Et,Gt,ln){for(Gt=Gt||{},ln=_t.length;ln--;Gt[_t[ln]]=Et);return Gt},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],y=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],T=[32,33,34],_=[2,7],A=[1,13],P=[1,17],R=[1,18],F=[1,19],j=[1,20],K=[1,21],ee=[1,22],ie=[1,23],oe=[1,24],pe=[1,25],be=[1,26],ae=[1,27],ne=[1,30],se=[1,31],de=[1,32],X=[1,33],ge=[1,34],W=[1,35],xe=[1,36],U=[1,37],Fe=[1,38],Pe=[1,39],je=[1,40],Ie=[1,41],Se=[1,42],Ce=[1,57],ke=[1,58],Ke=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],Ft={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(Et,Gt,ln,xt,Pt,Qe,Dt){var kt=Qe.length-1;switch(Pt){case 12:this.$=Qe[kt].trim(),xt.setDiagramTitle(this.$);break;case 13:this.$=Qe[kt].trim(),xt.setAccTitle(this.$);break;case 14:case 15:this.$=Qe[kt].trim(),xt.setAccDescription(this.$);break;case 16:xt.addSection(Qe[kt].substr(8)),this.$=Qe[kt].substr(8);break;case 17:xt.addPoint(Qe[kt-3],Qe[kt-1],Qe[kt]);break;case 18:xt.setXAxisLeftText(Qe[kt-2]),xt.setXAxisRightText(Qe[kt]);break;case 19:Qe[kt-1].text+=" ⟶ ",xt.setXAxisLeftText(Qe[kt-1]);break;case 20:xt.setXAxisLeftText(Qe[kt]);break;case 21:xt.setYAxisBottomText(Qe[kt-2]),xt.setYAxisTopText(Qe[kt]);break;case 22:Qe[kt-1].text+=" ⟶ ",xt.setYAxisBottomText(Qe[kt-1]);break;case 23:xt.setYAxisBottomText(Qe[kt]);break;case 24:xt.setQuadrant1Text(Qe[kt]);break;case 25:xt.setQuadrant2Text(Qe[kt]);break;case 26:xt.setQuadrant3Text(Qe[kt]);break;case 27:xt.setQuadrant4Text(Qe[kt]);break;case 31:this.$={text:Qe[kt],type:"text"};break;case 32:this.$={text:Qe[kt-1].text+""+Qe[kt],type:Qe[kt-1].type};break;case 33:this.$={text:Qe[kt],type:"text"};break;case 34:this.$={text:Qe[kt],type:"markdown"};break;case 35:this.$=Qe[kt];break;case 36:this.$=Qe[kt-1]+""+Qe[kt];break}},table:[{3:1,4:2,5:s,6:u,32:d,33:p,34:v},{1:[3]},{3:8,4:2,5:s,6:u,32:d,33:p,34:v},{3:9,4:2,5:s,6:u,32:d,33:p,34:v},i(b,[2,4],{7:10}),i(y,[2,28]),i(y,[2,29]),i(y,[2,30]),{1:[2,1]},{1:[2,2]},i(T,_,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:A,13:P,15:R,17:F,19:j,20:K,25:ee,27:ie,28:oe,29:pe,30:be,31:ae,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se}),i(b,[2,5]),{4:43,32:d,33:p,34:v},i(T,_,{10:14,11:15,12:16,21:28,35:29,9:44,5:A,13:P,15:R,17:F,19:j,20:K,25:ee,27:ie,28:oe,29:pe,30:be,31:ae,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se}),i(T,[2,9]),i(T,[2,10]),i(T,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(T,[2,15]),i(T,[2,16]),{21:48,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:49,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:50,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:51,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:52,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{21:53,35:29,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se},{5:Ce,22:[1,54],35:56,36:55,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke},i(Ke,[2,31]),i(Ke,[2,33]),i(Ke,[2,34]),i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),i(Ke,[2,40]),i(Ke,[2,41]),i(Ke,[2,42]),i(Ke,[2,43]),i(Ke,[2,44]),i(Ke,[2,45]),i(Ke,[2,46]),i(Ke,[2,47]),i(b,[2,6]),i(T,[2,8]),i(T,[2,12]),i(T,[2,13]),i(T,[2,14]),i(T,[2,20],{36:55,35:56,5:Ce,26:[1,59],40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,23],{36:55,35:56,5:Ce,26:[1,60],40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,24],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,25],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,26],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,27],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),{23:[1,61]},i(Ke,[2,32]),i(Ke,[2,48]),i(Ke,[2,49]),i(Ke,[2,50]),i(T,[2,19],{35:29,21:62,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se}),i(T,[2,22],{35:29,21:63,37:ne,38:se,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se}),{24:[1,64]},i(T,[2,18],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,21],{36:55,35:56,5:Ce,40:de,41:X,42:ge,43:W,44:xe,45:U,46:Fe,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(T,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(Et,Gt){if(Gt.recoverable)this.trace(Et);else{var ln=new Error(Et);throw ln.hash=Gt,ln}},parse:function(Et){var Gt=this,ln=[0],xt=[],Pt=[null],Qe=[],Dt=this.table,kt="",On=0,ht=0,zr=2,yt=1,ji=Qe.slice.call(arguments,1),xi=Object.create(this.lexer),Ma={yy:{}};for(var zs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zs)&&(Ma.yy[zs]=this.yy[zs]);xi.setInput(Et,Ma.yy),Ma.yy.lexer=xi,Ma.yy.parser=this,typeof xi.yylloc>"u"&&(xi.yylloc={});var ao=xi.yylloc;Qe.push(ao);var Tr=xi.options&&xi.options.ranges;typeof Ma.yy.parseError=="function"?this.parseError=Ma.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fn(){var Pa;return Pa=xt.pop()||xi.lex()||yt,typeof Pa!="number"&&(Pa instanceof Array&&(xt=Pa,Pa=xt.pop()),Pa=Gt.symbols_[Pa]||Pa),Pa}for(var qn,Un,At,wt,on={},fn,An,oo,jo;;){if(Un=ln[ln.length-1],this.defaultActions[Un]?At=this.defaultActions[Un]:((qn===null||typeof qn>"u")&&(qn=Fn()),At=Dt[Un]&&Dt[Un][qn]),typeof At>"u"||!At.length||!At[0]){var $o="";jo=[];for(fn in Dt[Un])this.terminals_[fn]&&fn>zr&&jo.push("'"+this.terminals_[fn]+"'");xi.showPosition?$o="Parse error on line "+(On+1)+`: +`+xi.showPosition()+` +Expecting `+jo.join(", ")+", got '"+(this.terminals_[qn]||qn)+"'":$o="Parse error on line "+(On+1)+": Unexpected "+(qn==yt?"end of input":"'"+(this.terminals_[qn]||qn)+"'"),this.parseError($o,{text:xi.match,token:this.terminals_[qn]||qn,line:xi.yylineno,loc:ao,expected:jo})}if(At[0]instanceof Array&&At.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Un+", token: "+qn);switch(At[0]){case 1:ln.push(qn),Pt.push(xi.yytext),Qe.push(xi.yylloc),ln.push(At[1]),qn=null,ht=xi.yyleng,kt=xi.yytext,On=xi.yylineno,ao=xi.yylloc;break;case 2:if(An=this.productions_[At[1]][1],on.$=Pt[Pt.length-An],on._$={first_line:Qe[Qe.length-(An||1)].first_line,last_line:Qe[Qe.length-1].last_line,first_column:Qe[Qe.length-(An||1)].first_column,last_column:Qe[Qe.length-1].last_column},Tr&&(on._$.range=[Qe[Qe.length-(An||1)].range[0],Qe[Qe.length-1].range[1]]),wt=this.performAction.apply(on,[kt,ht,On,Ma.yy,At[1],Pt,Qe].concat(ji)),typeof wt<"u")return wt;An&&(ln=ln.slice(0,-1*An*2),Pt=Pt.slice(0,-1*An),Qe=Qe.slice(0,-1*An)),ln.push(this.productions_[At[1]][0]),Pt.push(on.$),Qe.push(on._$),oo=Dt[ln[ln.length-2]][ln[ln.length-1]],ln.push(oo);break;case 3:return!0}}return!0}},Ne=function(){var _t={EOF:1,parseError:function(Gt,ln){if(this.yy.parser)this.yy.parser.parseError(Gt,ln);else throw new Error(Gt)},setInput:function(Et,Gt){return this.yy=Gt||this.yy||{},this._input=Et,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},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Gt=Et.match(/(?:\r\n?|\n).*/g);return Gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Gt=Et.length,ln=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Gt),this.offset-=Gt;var xt=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),ln.length-1&&(this.yylineno-=ln.length-1);var Pt=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:ln?(ln.length===xt.length?this.yylloc.first_column:0)+xt[xt.length-ln.length].length-ln[0].length:this.yylloc.first_column-Gt},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-Gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Gt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` +`+Gt+"^"},test_match:function(Et,Gt){var ln,xt,Pt;if(this.options.backtrack_lexer&&(Pt={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&&(Pt.yylloc.range=this.yylloc.range.slice(0))),xt=Et[0].match(/(?:\r\n?|\n).*/g),xt&&(this.yylineno+=xt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xt?xt[xt.length-1].length-xt[xt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],ln=this.performAction.call(this,this.yy,this,Gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ln)return ln;if(this._backtrack){for(var Qe in Pt)this[Qe]=Pt[Qe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Gt,ln,xt;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),Qe=0;QeGt[0].length)){if(Gt=ln,xt=Qe,this.options.backtrack_lexer){if(Et=this.test_match(ln,Pt[Qe]),Et!==!1)return Et;if(this._backtrack){Gt=!1;continue}else return!1}else if(!this.options.flex)break}return Gt?(Et=this.test_match(Gt,Pt[xt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Gt=this.next();return Gt||this.lex()},begin:function(Gt){this.conditionStack.push(Gt)},popState:function(){var Gt=this.conditionStack.length-1;return Gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Gt){return Gt=this.conditionStack.length-1-Math.abs(Gt||0),Gt>=0?this.conditionStack[Gt]:"INITIAL"},pushState:function(Gt){this.begin(Gt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Gt,ln,xt,Pt){switch(xt){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},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,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/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:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],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:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return _t}();Ft.lexer=Ne;function gn(){this.yy={}}return gn.prototype=Ft,Ft.Parser=gn,new gn}();fve.parser=fve;const Tnn=fve,Pp=f2e();class Cnn{constructor(){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 s,u,d,p,v,b,y,T,_,A,P,R,F,j,K,ee,ie,oe;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((s=sh.quadrantChart)==null?void 0:s.chartWidth)||500,chartWidth:((u=sh.quadrantChart)==null?void 0:u.chartHeight)||500,titlePadding:((d=sh.quadrantChart)==null?void 0:d.titlePadding)||10,titleFontSize:((p=sh.quadrantChart)==null?void 0:p.titleFontSize)||20,quadrantPadding:((v=sh.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=sh.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((y=sh.quadrantChart)==null?void 0:y.yAxisLabelPadding)||5,xAxisLabelFontSize:((T=sh.quadrantChart)==null?void 0:T.xAxisLabelFontSize)||16,yAxisLabelFontSize:((_=sh.quadrantChart)==null?void 0:_.yAxisLabelFontSize)||16,quadrantLabelFontSize:((A=sh.quadrantChart)==null?void 0:A.quadrantLabelFontSize)||16,quadrantTextTopPadding:((P=sh.quadrantChart)==null?void 0:P.quadrantTextTopPadding)||5,pointTextPadding:((R=sh.quadrantChart)==null?void 0:R.pointTextPadding)||5,pointLabelFontSize:((F=sh.quadrantChart)==null?void 0:F.pointLabelFontSize)||12,pointRadius:((j=sh.quadrantChart)==null?void 0:j.pointRadius)||5,xAxisPosition:((K=sh.quadrantChart)==null?void 0:K.xAxisPosition)||"top",yAxisPosition:((ee=sh.quadrantChart)==null?void 0:ee.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((ie=sh.quadrantChart)==null?void 0:ie.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((oe=sh.quadrantChart)==null?void 0:oe.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:Pp.quadrant1Fill,quadrant2Fill:Pp.quadrant2Fill,quadrant3Fill:Pp.quadrant3Fill,quadrant4Fill:Pp.quadrant4Fill,quadrant1TextFill:Pp.quadrant1TextFill,quadrant2TextFill:Pp.quadrant2TextFill,quadrant3TextFill:Pp.quadrant3TextFill,quadrant4TextFill:Pp.quadrant4TextFill,quadrantPointFill:Pp.quadrantPointFill,quadrantPointTextFill:Pp.quadrantPointTextFill,quadrantXAxisTextFill:Pp.quadrantXAxisTextFill,quadrantYAxisTextFill:Pp.quadrantYAxisTextFill,quadrantTitleFill:Pp.quadrantTitleFill,quadrantInternalBorderStrokeFill:Pp.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:Pp.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Xe.info("clear called")}setData(s){this.data={...this.data,...s}}addPoints(s){this.data.points=[...s,...this.data.points]}setConfig(s){Xe.trace("setConfig called with: ",s),this.config={...this.config,...s}}setThemeConfig(s){Xe.trace("setThemeConfig called with: ",s),this.themeConfig={...this.themeConfig,...s}}calculateSpace(s,u,d,p){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:s==="top"&&u?v:0,bottom:s==="bottom"&&u?v:0},y=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,T={left:this.config.yAxisPosition==="left"&&d?y:0,right:this.config.yAxisPosition==="right"&&d?y:0},_=this.config.titleFontSize+this.config.titlePadding*2,A={top:p?_:0},P=this.config.quadrantPadding+T.left,R=this.config.quadrantPadding+b.top+A.top,F=this.config.chartWidth-this.config.quadrantPadding*2-T.left-T.right,j=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-A.top,K=F/2,ee=j/2;return{xAxisSpace:b,yAxisSpace:T,titleSpace:A,quadrantSpace:{quadrantLeft:P,quadrantTop:R,quadrantWidth:F,quadrantHalfWidth:K,quadrantHeight:j,quadrantHalfHeight:ee}}}getAxisLabels(s,u,d,p){const{quadrantSpace:v,titleSpace:b}=p,{quadrantHalfHeight:y,quadrantHeight:T,quadrantLeft:_,quadrantHalfWidth:A,quadrantTop:P,quadrantWidth:R}=v,F=!!this.data.xAxisRightText,j=!!this.data.yAxisTopText,K=[];return this.data.xAxisLeftText&&u&&K.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+(F?A/2:0),y:s==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+T+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:F?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&u&&K.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+A+(F?A/2:0),y:s==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+T+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:F?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&d&&K.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+T-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&d&&K.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+y-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),K}getQuadrants(s){const{quadrantSpace:u}=s,{quadrantHalfHeight:d,quadrantLeft:p,quadrantHalfWidth:v,quadrantTop:b}=u,y=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:p+v,y:b,width:v,height:d,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:p,y:b,width:v,height:d,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:p,y:b+d,width:v,height:d,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:p+v,y:b+d,width:v,height:d,fill:this.themeConfig.quadrant4Fill}];for(const T of y)T.text.x=T.x+T.width/2,this.data.points.length===0?(T.text.y=T.y+T.height/2,T.text.horizontalPos="middle"):(T.text.y=T.y+this.config.quadrantTextTopPadding,T.text.horizontalPos="top");return y}getQuadrantPoints(s){const{quadrantSpace:u}=s,{quadrantHeight:d,quadrantLeft:p,quadrantTop:v,quadrantWidth:b}=u,y=sD().domain([0,1]).range([p,b+p]),T=sD().domain([0,1]).range([d+v,v]);return this.data.points.map(A=>({x:y(A.x),y:T(A.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:A.text,fill:this.themeConfig.quadrantPointTextFill,x:y(A.x),y:T(A.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(s){const u=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:d}=s,{quadrantHalfHeight:p,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:y,quadrantTop:T,quadrantWidth:_}=d;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:T,x2:b+_+u,y2:T},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+_,y1:T+u,x2:b+_,y2:T+v-u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:T+v,x2:b+_+u,y2:T+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:T+u,x2:b,y2:T+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+y,y1:T+u,x2:b+y,y2:T+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+u,y1:T+p,x2:b+_-u,y2:T+p}]}getTitle(s){if(s)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 s=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),u=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),d=this.config.showTitle&&!!this.data.titleText,p=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(p,s,u,d);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(p,s,u,v),borderLines:this.getBorders(v),title:this.getTitle(d)}}}const Snn=qt();function U7(i){return Yf(i.trim(),Snn)}const Rg=new Cnn;function _nn(i){Rg.setData({quadrant1Text:U7(i.text)})}function Ann(i){Rg.setData({quadrant2Text:U7(i.text)})}function Lnn(i){Rg.setData({quadrant3Text:U7(i.text)})}function Mnn(i){Rg.setData({quadrant4Text:U7(i.text)})}function Dnn(i){Rg.setData({xAxisLeftText:U7(i.text)})}function Inn(i){Rg.setData({xAxisRightText:U7(i.text)})}function Onn(i){Rg.setData({yAxisTopText:U7(i.text)})}function Nnn(i){Rg.setData({yAxisBottomText:U7(i.text)})}function Pnn(i,s,u){Rg.addPoints([{x:s,y:u,text:U7(i.text)}])}function Bnn(i){Rg.setConfig({chartWidth:i})}function Fnn(i){Rg.setConfig({chartHeight:i})}function Rnn(){const i=qt(),{themeVariables:s,quadrantChart:u}=i;return u&&Rg.setConfig(u),Rg.setThemeConfig({quadrant1Fill:s.quadrant1Fill,quadrant2Fill:s.quadrant2Fill,quadrant3Fill:s.quadrant3Fill,quadrant4Fill:s.quadrant4Fill,quadrant1TextFill:s.quadrant1TextFill,quadrant2TextFill:s.quadrant2TextFill,quadrant3TextFill:s.quadrant3TextFill,quadrant4TextFill:s.quadrant4TextFill,quadrantPointFill:s.quadrantPointFill,quadrantPointTextFill:s.quadrantPointTextFill,quadrantXAxisTextFill:s.quadrantXAxisTextFill,quadrantYAxisTextFill:s.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:s.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:s.quadrantInternalBorderStrokeFill,quadrantTitleFill:s.quadrantTitleFill}),Rg.setData({titleText:Ap()}),Rg.build()}const jnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Tnn,db:{setWidth:Bnn,setHeight:Fnn,setQuadrant1Text:_nn,setQuadrant2Text:Ann,setQuadrant3Text:Lnn,setQuadrant4Text:Mnn,setXAxisLeftText:Dnn,setXAxisRightText:Inn,setYAxisTopText:Onn,setYAxisBottomText:Nnn,addPoint:Pnn,getQuadrantData:Rnn,clear:function(){Rg.clear(),Pg()},setAccTitle:Bg,getAccTitle:Cp,setDiagramTitle:cm,getDiagramTitle:Ap,getAccDescription:_p,setAccDescription:Sp},renderer:{draw:(i,s,u,d)=>{var de,X,ge;function p(W){return W==="top"?"hanging":"middle"}function v(W){return W==="left"?"start":"middle"}function b(W){return`translate(${W.x}, ${W.y}) rotate(${W.rotation||0})`}const y=qt();Xe.debug(`Rendering quadrant chart +`+i);const T=y.securityLevel;let _;T==="sandbox"&&(_=Ir("#i"+s));const P=Ir(T==="sandbox"?_.nodes()[0].contentDocument.body:"body").select(`[id="${s}"]`),R=P.append("g").attr("class","main"),F=((de=y.quadrantChart)==null?void 0:de.chartWidth)||500,j=((X=y.quadrantChart)==null?void 0:X.chartHeight)||500;Ng(P,j,F,((ge=y.quadrantChart)==null?void 0:ge.useMaxWidth)||!0),P.attr("viewBox","0 0 "+F+" "+j),d.db.setHeight(j),d.db.setWidth(F);const K=d.db.getQuadrantData(),ee=R.append("g").attr("class","quadrants"),ie=R.append("g").attr("class","border"),oe=R.append("g").attr("class","data-points"),pe=R.append("g").attr("class","labels"),be=R.append("g").attr("class","title");K.title&&be.append("text").attr("x",0).attr("y",0).attr("fill",K.title.fill).attr("font-size",K.title.fontSize).attr("dominant-baseline",p(K.title.horizontalPos)).attr("text-anchor",v(K.title.verticalPos)).attr("transform",b(K.title)).text(K.title.text),K.borderLines&&ie.selectAll("line").data(K.borderLines).enter().append("line").attr("x1",W=>W.x1).attr("y1",W=>W.y1).attr("x2",W=>W.x2).attr("y2",W=>W.y2).style("stroke",W=>W.strokeFill).style("stroke-width",W=>W.strokeWidth);const ae=ee.selectAll("g.quadrant").data(K.quadrants).enter().append("g").attr("class","quadrant");ae.append("rect").attr("x",W=>W.x).attr("y",W=>W.y).attr("width",W=>W.width).attr("height",W=>W.height).attr("fill",W=>W.fill),ae.append("text").attr("x",0).attr("y",0).attr("fill",W=>W.text.fill).attr("font-size",W=>W.text.fontSize).attr("dominant-baseline",W=>p(W.text.horizontalPos)).attr("text-anchor",W=>v(W.text.verticalPos)).attr("transform",W=>b(W.text)).text(W=>W.text.text),pe.selectAll("g.label").data(K.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(W=>W.text).attr("fill",W=>W.fill).attr("font-size",W=>W.fontSize).attr("dominant-baseline",W=>p(W.horizontalPos)).attr("text-anchor",W=>v(W.verticalPos)).attr("transform",W=>b(W));const se=oe.selectAll("g.data-point").data(K.points).enter().append("g").attr("class","data-point");se.append("circle").attr("cx",W=>W.x).attr("cy",W=>W.y).attr("r",W=>W.radius).attr("fill",W=>W.fill),se.append("text").attr("x",0).attr("y",0).text(W=>W.text.text).attr("fill",W=>W.text.fill).attr("font-size",W=>W.text.fontSize).attr("dominant-baseline",W=>p(W.text.horizontalPos)).attr("text-anchor",W=>v(W.text.verticalPos)).attr("transform",W=>b(W.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var dve=function(){var i=function(Pe,je,Ie,Se){for(Ie=Ie||{},Se=Pe.length;Se--;Ie[Pe[Se]]=je);return Ie},s=[1,10,12,14,16,18,19,21,23],u=[2,6],d=[1,3],p=[1,5],v=[1,6],b=[1,7],y=[1,5,10,12,14,16,18,19,21,23,34,35,36],T=[1,25],_=[1,26],A=[1,28],P=[1,29],R=[1,30],F=[1,31],j=[1,32],K=[1,33],ee=[1,34],ie=[1,35],oe=[1,36],pe=[1,37],be=[1,43],ae=[1,42],ne=[1,47],se=[1,50],de=[1,10,12,14,16,18,19,21,23,34,35,36],X=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],ge=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],W=[1,64],xe={trace:function(){},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:function(je,Ie,Se,Ce,ke,Ke,Ft){var Ne=Ke.length-1;switch(ke){case 5:Ce.setOrientation(Ke[Ne]);break;case 9:Ce.setDiagramTitle(Ke[Ne].text.trim());break;case 12:Ce.setLineData({text:"",type:"text"},Ke[Ne]);break;case 13:Ce.setLineData(Ke[Ne-1],Ke[Ne]);break;case 14:Ce.setBarData({text:"",type:"text"},Ke[Ne]);break;case 15:Ce.setBarData(Ke[Ne-1],Ke[Ne]);break;case 16:this.$=Ke[Ne].trim(),Ce.setAccTitle(this.$);break;case 17:case 18:this.$=Ke[Ne].trim(),Ce.setAccDescription(this.$);break;case 19:this.$=Ke[Ne-1];break;case 20:this.$=[Number(Ke[Ne-2]),...Ke[Ne]];break;case 21:this.$=[Number(Ke[Ne])];break;case 22:Ce.setXAxisTitle(Ke[Ne]);break;case 23:Ce.setXAxisTitle(Ke[Ne-1]);break;case 24:Ce.setXAxisTitle({type:"text",text:""});break;case 25:Ce.setXAxisBand(Ke[Ne]);break;case 26:Ce.setXAxisRangeData(Number(Ke[Ne-2]),Number(Ke[Ne]));break;case 27:this.$=Ke[Ne-1];break;case 28:this.$=[Ke[Ne-2],...Ke[Ne]];break;case 29:this.$=[Ke[Ne]];break;case 30:Ce.setYAxisTitle(Ke[Ne]);break;case 31:Ce.setYAxisTitle(Ke[Ne-1]);break;case 32:Ce.setYAxisTitle({type:"text",text:""});break;case 33:Ce.setYAxisRangeData(Number(Ke[Ne-2]),Number(Ke[Ne]));break;case 37:this.$={text:Ke[Ne],type:"text"};break;case 38:this.$={text:Ke[Ne],type:"text"};break;case 39:this.$={text:Ke[Ne],type:"markdown"};break;case 40:this.$=Ke[Ne];break;case 41:this.$=Ke[Ne-1]+""+Ke[Ne];break}},table:[i(s,u,{3:1,4:2,7:4,5:d,34:p,35:v,36:b}),{1:[3]},i(s,u,{4:2,7:4,3:8,5:d,34:p,35:v,36:b}),i(s,u,{4:2,7:4,6:9,3:10,5:d,8:[1,11],34:p,35:v,36:b}),{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]},i(y,[2,34]),i(y,[2,35]),i(y,[2,36]),{1:[2,1]},i(s,u,{4:2,7:4,3:21,5:d,34:p,35:v,36:b}),{1:[2,3]},i(y,[2,5]),i(s,[2,7],{4:22,34:p,35:v,36:b}),{11:23,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{11:39,13:38,24:be,27:ae,29:40,30:41,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{11:45,15:44,27:ne,33:46,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{11:49,17:48,24:se,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{11:52,17:51,24:se,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},{20:[1,53]},{22:[1,54]},i(de,[2,18]),{1:[2,2]},i(de,[2,8]),i(de,[2,9]),i(X,[2,37],{40:55,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe}),i(X,[2,38]),i(X,[2,39]),i(ge,[2,40]),i(ge,[2,42]),i(ge,[2,43]),i(ge,[2,44]),i(ge,[2,45]),i(ge,[2,46]),i(ge,[2,47]),i(ge,[2,48]),i(ge,[2,49]),i(ge,[2,50]),i(ge,[2,51]),i(de,[2,10]),i(de,[2,22],{30:41,29:56,24:be,27:ae}),i(de,[2,24]),i(de,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},i(de,[2,11]),i(de,[2,30],{33:60,27:ne}),i(de,[2,32]),{31:[1,61]},i(de,[2,12]),{17:62,24:se},{25:63,27:W},i(de,[2,14]),{17:65,24:se},i(de,[2,16]),i(de,[2,17]),i(ge,[2,41]),i(de,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(de,[2,31]),{27:[1,69]},i(de,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(de,[2,15]),i(de,[2,26]),i(de,[2,27]),{11:59,32:72,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:K,47:ee,48:ie,49:oe,50:pe},i(de,[2,33]),i(de,[2,19]),{25:73,27:W},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(je,Ie){if(Ie.recoverable)this.trace(je);else{var Se=new Error(je);throw Se.hash=Ie,Se}},parse:function(je){var Ie=this,Se=[0],Ce=[],ke=[null],Ke=[],Ft=this.table,Ne="",gn=0,_t=0,Et=2,Gt=1,ln=Ke.slice.call(arguments,1),xt=Object.create(this.lexer),Pt={yy:{}};for(var Qe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Qe)&&(Pt.yy[Qe]=this.yy[Qe]);xt.setInput(je,Pt.yy),Pt.yy.lexer=xt,Pt.yy.parser=this,typeof xt.yylloc>"u"&&(xt.yylloc={});var Dt=xt.yylloc;Ke.push(Dt);var kt=xt.options&&xt.options.ranges;typeof Pt.yy.parseError=="function"?this.parseError=Pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function On(){var qn;return qn=Ce.pop()||xt.lex()||Gt,typeof qn!="number"&&(qn instanceof Array&&(Ce=qn,qn=Ce.pop()),qn=Ie.symbols_[qn]||qn),qn}for(var ht,zr,yt,ji,xi={},Ma,zs,ao,Tr;;){if(zr=Se[Se.length-1],this.defaultActions[zr]?yt=this.defaultActions[zr]:((ht===null||typeof ht>"u")&&(ht=On()),yt=Ft[zr]&&Ft[zr][ht]),typeof yt>"u"||!yt.length||!yt[0]){var Fn="";Tr=[];for(Ma in Ft[zr])this.terminals_[Ma]&&Ma>Et&&Tr.push("'"+this.terminals_[Ma]+"'");xt.showPosition?Fn="Parse error on line "+(gn+1)+`: +`+xt.showPosition()+` +Expecting `+Tr.join(", ")+", got '"+(this.terminals_[ht]||ht)+"'":Fn="Parse error on line "+(gn+1)+": Unexpected "+(ht==Gt?"end of input":"'"+(this.terminals_[ht]||ht)+"'"),this.parseError(Fn,{text:xt.match,token:this.terminals_[ht]||ht,line:xt.yylineno,loc:Dt,expected:Tr})}if(yt[0]instanceof Array&&yt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zr+", token: "+ht);switch(yt[0]){case 1:Se.push(ht),ke.push(xt.yytext),Ke.push(xt.yylloc),Se.push(yt[1]),ht=null,_t=xt.yyleng,Ne=xt.yytext,gn=xt.yylineno,Dt=xt.yylloc;break;case 2:if(zs=this.productions_[yt[1]][1],xi.$=ke[ke.length-zs],xi._$={first_line:Ke[Ke.length-(zs||1)].first_line,last_line:Ke[Ke.length-1].last_line,first_column:Ke[Ke.length-(zs||1)].first_column,last_column:Ke[Ke.length-1].last_column},kt&&(xi._$.range=[Ke[Ke.length-(zs||1)].range[0],Ke[Ke.length-1].range[1]]),ji=this.performAction.apply(xi,[Ne,_t,gn,Pt.yy,yt[1],ke,Ke].concat(ln)),typeof ji<"u")return ji;zs&&(Se=Se.slice(0,-1*zs*2),ke=ke.slice(0,-1*zs),Ke=Ke.slice(0,-1*zs)),Se.push(this.productions_[yt[1]][0]),ke.push(xi.$),Ke.push(xi._$),ao=Ft[Se[Se.length-2]][Se[Se.length-1]],Se.push(ao);break;case 3:return!0}}return!0}},U=function(){var Pe={EOF:1,parseError:function(Ie,Se){if(this.yy.parser)this.yy.parser.parseError(Ie,Se);else throw new Error(Ie)},setInput:function(je,Ie){return this.yy=Ie||this.yy||{},this._input=je,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},input:function(){var je=this._input[0];this.yytext+=je,this.yyleng++,this.offset++,this.match+=je,this.matched+=je;var Ie=je.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),je},unput:function(je){var Ie=je.length,Se=je.split(/(?:\r\n?|\n)/g);this._input=je+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Ce=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),Se.length-1&&(this.yylineno-=Se.length-1);var ke=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:Se?(Se.length===Ce.length?this.yylloc.first_column:0)+Ce[Ce.length-Se.length].length-Se[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(je){this.unput(this.match.slice(je))},pastInput:function(){var je=this.matched.substr(0,this.matched.length-this.match.length);return(je.length>20?"...":"")+je.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var je=this.match;return je.length<20&&(je+=this._input.substr(0,20-je.length)),(je.substr(0,20)+(je.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var je=this.pastInput(),Ie=new Array(je.length+1).join("-");return je+this.upcomingInput()+` +`+Ie+"^"},test_match:function(je,Ie){var Se,Ce,ke;if(this.options.backtrack_lexer&&(ke={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&&(ke.yylloc.range=this.yylloc.range.slice(0))),Ce=je[0].match(/(?:\r\n?|\n).*/g),Ce&&(this.yylineno+=Ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ce?Ce[Ce.length-1].length-Ce[Ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+je[0].length},this.yytext+=je[0],this.match+=je[0],this.matches=je,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(je[0].length),this.matched+=je[0],Se=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Se)return Se;if(this._backtrack){for(var Ke in ke)this[Ke]=ke[Ke];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var je,Ie,Se,Ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),Ke=0;KeIe[0].length)){if(Ie=Se,Ce=Ke,this.options.backtrack_lexer){if(je=this.test_match(Se,ke[Ke]),je!==!1)return je;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(je=this.test_match(Ie,ke[Ce]),je!==!1?je:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ie=this.next();return Ie||this.lex()},begin:function(Ie){this.conditionStack.push(Ie)},popState:function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},pushState:function(Ie){this.begin(Ie)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ie,Se,Ce,ke){switch(Ce){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;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:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return Pe}();xe.lexer=U;function Fe(){this.yy={}}return Fe.prototype=xe,xe.Parser=Fe,new Fe}();dve.parser=dve;const $nn=dve;function fGe(i){return i.type==="bar"}function dGe(i){return i.type==="band"}function $R(i){return i.type==="linear"}class gGe{constructor(s){this.parentGroup=s}getMaxDimension(s,u){if(!this.parentGroup)return{width:s.reduce((v,b)=>Math.max(b.length,v),0)*u,height:u};const d={width:0,height:0},p=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",u);for(const v of s){const b=RZt(p,1,v),y=b?b.width:v.length*u,T=b?b.height:u;d.width=Math.max(d.width,y),d.height=Math.max(d.height,T)}return p.remove(),d}}const pGe=.7,bGe=.2;class mGe{constructor(s,u,d,p){this.axisConfig=s,this.title=u,this.textDimensionCalculator=d,this.axisThemeConfig=p,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(s){this.range=s,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=s[1]-s[0]:this.boundingRect.width=s[1]-s[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(s){this.axisPosition=s,this.setRange(this.range)}getTickDistance(){const s=this.getRange();return Math.abs(s[0]-s[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(s=>s.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){pGe*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(pGe*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(s){let u=s.height;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=bGe*s.width;this.outerPadding=Math.min(d.width/2,p);const v=d.height+this.axisConfig.labelPadding*2;this.labelTextHeight=d.height,v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=s.width,this.boundingRect.height=s.height-u}calculateSpaceIfDrawnVertical(s){let u=s.width;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=bGe*s.height;this.outerPadding=Math.min(d.height/2,p);const v=d.width+this.axisConfig.labelPadding*2;v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=s.width-u,this.boundingRect.height=s.height}calculateSpace(s){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(s):this.calculateSpaceIfDrawnHorizontally(s),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}getDrawableElementsForLeftAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${u},${this.boundingRect.y} L ${u},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(u=>({text:u.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(u),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const u=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);s.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${u},${this.getScaleValue(d)} L ${u-this.axisConfig.tickLength},${this.getScaleValue(d)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.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"}]}),s}getDrawableElementsForBottomAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.y+this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),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 u=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);s.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u} L ${this.getScaleValue(d)},${u+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.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"}]}),s}getDrawableElementsForTopAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const u=this.boundingRect.y;s.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(d)},${u+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.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"}]}),s}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class znn extends mGe{constructor(s,u,d,p,v){super(s,p,v,u),this.categories=d,this.scale=qpe().domain(this.categories).range(this.getRange())}setRange(s){super.setRange(s)}recalculateScale(){this.scale=qpe().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Xe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(s){return this.scale(s)||this.getRange()[0]}}class qnn extends mGe{constructor(s,u,d,p,v){super(s,p,v,u),this.domain=d,this.scale=sD().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const s=[...this.domain];this.axisPosition==="left"&&s.reverse(),this.scale=sD().domain(s).range(this.getRange())}getScaleValue(s){return this.scale(s)}}function vGe(i,s,u,d){const p=new gGe(d);return dGe(i)?new znn(s,u,i.categories,i.title,p):new qnn(s,u,[i.min,i.max],i.title,p)}class Hnn{constructor(s,u,d,p){this.textDimensionCalculator=s,this.chartConfig=u,this.chartData=d,this.chartThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}calculateSpace(s){const u=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),d=Math.max(u.width,s.width),p=u.height+2*this.chartConfig.titlePadding;return u.width<=d&&u.height<=p&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=d,this.boundingRect.height=p,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const s=[];return this.showChartTitle&&s.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}]}),s}}function Vnn(i,s,u,d){const p=new gGe(d);return new Hnn(p,i,s,u)}class Unn{constructor(s,u,d,p,v){this.plotData=s,this.xAxis=u,this.yAxis=d,this.orientation=p,this.plotIndex=v}getDrawableElement(){const s=this.plotData.data.map(d=>[this.xAxis.getScaleValue(d[0]),this.yAxis.getScaleValue(d[1])]);let u;return this.orientation==="horizontal"?u=k7().y(d=>d[0]).x(d=>d[1])(s):u=k7().x(d=>d[0]).y(d=>d[1])(s),u?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:u,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class Gnn{constructor(s,u,d,p,v,b){this.barData=s,this.boundingRect=u,this.xAxis=d,this.yAxis=p,this.orientation=v,this.plotIndex=b}getDrawableElement(){const s=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),u=.05,d=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-u),p=d/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:s.map(v=>({x:this.boundingRect.x,y:v[0]-p,height:d,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:s.map(v=>({x:v[0]-p,y:v[1],width:d,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class Knn{constructor(s,u,d){this.chartConfig=s,this.chartData=u,this.chartThemeConfig=d,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(s,u){this.xAxis=s,this.yAxis=u}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}calculateSpace(s){return this.boundingRect.width=s.width,this.boundingRect.height=s.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 s=[];for(const[u,d]of this.chartData.plots.entries())switch(d.type){case"line":{const p=new Unn(d,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);s.push(...p.getDrawableElement())}break;case"bar":{const p=new Gnn(d,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);s.push(...p.getDrawableElement())}break}return s}}function Wnn(i,s,u){return new Knn(i,s,u)}class Ynn{constructor(s,u,d,p){this.chartConfig=s,this.chartData=u,this.componentStore={title:Vnn(s,u,d,p),plot:Wnn(s,u,d),xAxis:vGe(u.xAxis,s.xAxis,{titleColor:d.xAxisTitleColor,labelColor:d.xAxisLabelColor,tickColor:d.xAxisTickColor,axisLineColor:d.xAxisLineColor},p),yAxis:vGe(u.yAxis,s.yAxis,{titleColor:d.yAxisTitleColor,labelColor:d.yAxisLabelColor,tickColor:d.yAxisTickColor,axisLineColor:d.yAxisLineColor},p)}}calculateVerticalSpace(){let s=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=Math.floor(s*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),y=this.componentStore.plot.calculateSpace({width:v,height:b});s-=y.width,u-=y.height,y=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),p=y.height,u-=y.height,this.componentStore.xAxis.setAxisPosition("bottom"),y=this.componentStore.xAxis.calculateSpace({width:s,height:u}),u-=y.height,this.componentStore.yAxis.setAxisPosition("left"),y=this.componentStore.yAxis.calculateSpace({width:s,height:u}),d=y.width,s-=y.width,s>0&&(v+=s,s=0),u>0&&(b+=u,u=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:d,y:p}),this.componentStore.xAxis.setRange([d,d+v]),this.componentStore.xAxis.setBoundingBoxXY({x:d,y:p+b}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:p}),this.chartData.plots.some(T=>fGe(T))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let s=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=0,b=Math.floor(s*this.chartConfig.plotReservedSpacePercent/100),y=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),T=this.componentStore.plot.calculateSpace({width:b,height:y});s-=T.width,u-=T.height,T=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),d=T.height,u-=T.height,this.componentStore.xAxis.setAxisPosition("left"),T=this.componentStore.xAxis.calculateSpace({width:s,height:u}),s-=T.width,p=T.width,this.componentStore.yAxis.setAxisPosition("top"),T=this.componentStore.yAxis.calculateSpace({width:s,height:u}),u-=T.height,v=d+T.height,s>0&&(b+=s,s=0),u>0&&(y+=u,u=0),this.componentStore.plot.calculateSpace({width:b,height:y}),this.componentStore.plot.setBoundingBoxXY({x:p,y:v}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:p,y:d}),this.componentStore.xAxis.setRange([v,v+y]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>fGe(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const s=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const u of Object.values(this.componentStore))s.push(...u.getDrawableElements());return s}}class Xnn{static build(s,u,d,p){return new Ynn(s,u,d,p).getDrawableElement()}}let zR=0,wGe,qR=xGe(),HR=yGe(),el=kGe(),gve=HR.plotColorPalette.split(",").map(i=>i.trim()),gJ=!1,pve=!1;function yGe(){const i=f2e(),s=Vh();return JF(i.xyChart,s.themeVariables.xyChart)}function xGe(){const i=Vh();return JF(sh.xyChart,i.xyChart)}function kGe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function bve(i){const s=Vh();return Yf(i.trim(),s)}function Qnn(i){wGe=i}function Jnn(i){i==="horizontal"?qR.chartOrientation="horizontal":qR.chartOrientation="vertical"}function Znn(i){el.xAxis.title=bve(i.text)}function EGe(i,s){el.xAxis={type:"linear",title:el.xAxis.title,min:i,max:s},gJ=!0}function ern(i){el.xAxis={type:"band",title:el.xAxis.title,categories:i.map(s=>bve(s.text))},gJ=!0}function trn(i){el.yAxis.title=bve(i.text)}function nrn(i,s){el.yAxis={type:"linear",title:el.yAxis.title,min:i,max:s},pve=!0}function rrn(i){const s=Math.min(...i),u=Math.max(...i),d=$R(el.yAxis)?el.yAxis.min:1/0,p=$R(el.yAxis)?el.yAxis.max:-1/0;el.yAxis={type:"linear",title:el.yAxis.title,min:Math.min(d,s),max:Math.max(p,u)}}function TGe(i){let s=[];if(i.length===0)return s;if(!gJ){const u=$R(el.xAxis)?el.xAxis.min:1/0,d=$R(el.xAxis)?el.xAxis.max:-1/0;EGe(Math.min(u,1),Math.max(d,i.length))}if(pve||rrn(i),dGe(el.xAxis)&&(s=el.xAxis.categories.map((u,d)=>[u,i[d]])),$R(el.xAxis)){const u=el.xAxis.min,d=el.xAxis.max,p=(d-u+1)/i.length,v=[];for(let b=u;b<=d;b+=p)v.push(`${b}`);s=v.map((b,y)=>[b,i[y]])}return s}function CGe(i){return gve[i===0?0:i%gve.length]}function irn(i,s){const u=TGe(s);el.plots.push({type:"line",strokeFill:CGe(zR),strokeWidth:2,data:u}),zR++}function srn(i,s){const u=TGe(s);el.plots.push({type:"bar",fill:CGe(zR),data:u}),zR++}function arn(){if(el.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return el.title=Ap(),Xnn.build(qR,el,HR,wGe)}function orn(){return HR}function crn(){return qR}const urn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:$nn,db:{getDrawableElem:arn,clear:function(){Pg(),zR=0,qR=xGe(),el=kGe(),HR=yGe(),gve=HR.plotColorPalette.split(",").map(i=>i.trim()),gJ=!1,pve=!1},setAccTitle:Bg,getAccTitle:Cp,setDiagramTitle:cm,getDiagramTitle:Ap,getAccDescription:_p,setAccDescription:Sp,setOrientation:Jnn,setXAxisTitle:Znn,setXAxisRangeData:EGe,setXAxisBand:ern,setYAxisTitle:trn,setYAxisRangeData:nrn,setLineData:irn,setBarData:srn,setTmpSVGG:Qnn,getChartThemeConfig:orn,getChartConfig:crn},renderer:{draw:(i,s,u,d)=>{const p=d.db,v=p.getChartThemeConfig(),b=p.getChartConfig();function y(ee){return ee==="top"?"text-before-edge":"middle"}function T(ee){return ee==="left"?"start":ee==="right"?"end":"middle"}function _(ee){return`translate(${ee.x}, ${ee.y}) rotate(${ee.rotation||0})`}Xe.debug(`Rendering xychart chart +`+i);const A=rR(s),P=A.append("g").attr("class","main"),R=P.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");Ng(A,b.height,b.width,!0),A.attr("viewBox",`0 0 ${b.width} ${b.height}`),R.attr("fill",v.backgroundColor),p.setTmpSVGG(A.append("g").attr("class","mermaid-tmp-group"));const F=p.getDrawableElem(),j={};function K(ee){let ie=P,oe="";for(const[pe]of ee.entries()){let be=P;pe>0&&j[oe]&&(be=j[oe]),oe+=ee[pe],ie=j[oe],ie||(ie=j[oe]=be.append("g").attr("class",ee[pe]))}return ie}for(const ee of F){if(ee.data.length===0)continue;const ie=K(ee.groupTexts);switch(ee.type){case"rect":ie.selectAll("rect").data(ee.data).enter().append("rect").attr("x",oe=>oe.x).attr("y",oe=>oe.y).attr("width",oe=>oe.width).attr("height",oe=>oe.height).attr("fill",oe=>oe.fill).attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break;case"text":ie.selectAll("text").data(ee.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",oe=>oe.fill).attr("font-size",oe=>oe.fontSize).attr("dominant-baseline",oe=>y(oe.verticalPos)).attr("text-anchor",oe=>T(oe.horizontalPos)).attr("transform",oe=>_(oe)).text(oe=>oe.text);break;case"path":ie.selectAll("path").data(ee.data).enter().append("path").attr("d",oe=>oe.path).attr("fill",oe=>oe.fill?oe.fill:"none").attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var mve=function(){var i=function(_t,Et,Gt,ln){for(Gt=Gt||{},ln=_t.length;ln--;Gt[_t[ln]]=Et);return Gt},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],y=[2,7],T=[1,22],_=[1,23],A=[1,24],P=[1,25],R=[1,26],F=[1,27],j=[1,20],K=[1,28],ee=[1,29],ie=[62,63],oe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],pe=[1,47],be=[1,48],ae=[1,49],ne=[1,50],se=[1,51],de=[1,52],X=[1,53],ge=[53,54],W=[1,64],xe=[1,60],U=[1,61],Fe=[1,62],Pe=[1,63],je=[1,65],Ie=[1,69],Se=[1,70],Ce=[1,67],ke=[1,68],Ke=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Ft={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(Et,Gt,ln,xt,Pt,Qe,Dt){var kt=Qe.length-1;switch(Pt){case 4:this.$=Qe[kt].trim(),xt.setAccTitle(this.$);break;case 5:case 6:this.$=Qe[kt].trim(),xt.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:xt.addRequirement(Qe[kt-3],Qe[kt-4]);break;case 14:xt.setNewReqId(Qe[kt-2]);break;case 15:xt.setNewReqText(Qe[kt-2]);break;case 16:xt.setNewReqRisk(Qe[kt-2]);break;case 17:xt.setNewReqVerifyMethod(Qe[kt-2]);break;case 20:this.$=xt.RequirementType.REQUIREMENT;break;case 21:this.$=xt.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=xt.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=xt.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=xt.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=xt.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=xt.RiskLevel.LOW_RISK;break;case 27:this.$=xt.RiskLevel.MED_RISK;break;case 28:this.$=xt.RiskLevel.HIGH_RISK;break;case 29:this.$=xt.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=xt.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=xt.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=xt.VerifyType.VERIFY_TEST;break;case 33:xt.addElement(Qe[kt-3]);break;case 34:xt.setNewElementType(Qe[kt-2]);break;case 35:xt.setNewElementDocRef(Qe[kt-2]);break;case 38:xt.addRelationship(Qe[kt-2],Qe[kt],Qe[kt-4]);break;case 39:xt.addRelationship(Qe[kt-2],Qe[kt-4],Qe[kt]);break;case 40:this.$=xt.Relationships.CONTAINS;break;case 41:this.$=xt.Relationships.COPIES;break;case 42:this.$=xt.Relationships.DERIVES;break;case 43:this.$=xt.Relationships.SATISFIES;break;case 44:this.$=xt.Relationships.VERIFIES;break;case 45:this.$=xt.Relationships.REFINES;break;case 46:this.$=xt.Relationships.TRACES;break}},table:[{3:1,4:2,6:s,9:u,11:d,13:p},{1:[3]},{3:8,4:2,5:[1,7],6:s,9:u,11:d,13:p},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(v,[2,6]),{3:12,4:2,6:s,9:u,11:d,13:p},{1:[2,2]},{4:17,5:b,7:13,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},i(v,[2,4]),i(v,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{4:17,5:b,7:32,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{4:17,5:b,7:33,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{4:17,5:b,7:34,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{4:17,5:b,7:35,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:K,63:ee},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(ie,[2,20]),i(ie,[2,21]),i(ie,[2,22]),i(ie,[2,23]),i(ie,[2,24]),i(ie,[2,25]),i(oe,[2,49]),i(oe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:pe,56:be,57:ae,58:ne,59:se,60:de,61:X},{52:54,55:pe,56:be,57:ae,58:ne,59:se,60:de,61:X},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(ge,[2,40]),i(ge,[2,41]),i(ge,[2,42]),i(ge,[2,43]),i(ge,[2,44]),i(ge,[2,45]),i(ge,[2,46]),{54:[1,58]},{5:W,20:59,21:xe,24:U,26:Fe,28:Pe,30:je},{5:Ie,30:Se,46:66,47:Ce,49:ke},{23:71,62:K,63:ee},{23:72,62:K,63:ee},i(Ke,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:W,20:77,21:xe,24:U,26:Fe,28:Pe,30:je},i(Ke,[2,19]),i(Ke,[2,33]),{22:[1,78]},{22:[1,79]},{5:Ie,30:Se,46:80,47:Ce,49:ke},i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),{23:81,62:K,63:ee},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Ke,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Ke,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:W,20:106,21:xe,24:U,26:Fe,28:Pe,30:je},{5:W,20:107,21:xe,24:U,26:Fe,28:Pe,30:je},{5:W,20:108,21:xe,24:U,26:Fe,28:Pe,30:je},{5:W,20:109,21:xe,24:U,26:Fe,28:Pe,30:je},{5:Ie,30:Se,46:110,47:Ce,49:ke},{5:Ie,30:Se,46:111,47:Ce,49:ke},i(Ke,[2,14]),i(Ke,[2,15]),i(Ke,[2,16]),i(Ke,[2,17]),i(Ke,[2,34]),i(Ke,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(Et,Gt){if(Gt.recoverable)this.trace(Et);else{var ln=new Error(Et);throw ln.hash=Gt,ln}},parse:function(Et){var Gt=this,ln=[0],xt=[],Pt=[null],Qe=[],Dt=this.table,kt="",On=0,ht=0,zr=2,yt=1,ji=Qe.slice.call(arguments,1),xi=Object.create(this.lexer),Ma={yy:{}};for(var zs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zs)&&(Ma.yy[zs]=this.yy[zs]);xi.setInput(Et,Ma.yy),Ma.yy.lexer=xi,Ma.yy.parser=this,typeof xi.yylloc>"u"&&(xi.yylloc={});var ao=xi.yylloc;Qe.push(ao);var Tr=xi.options&&xi.options.ranges;typeof Ma.yy.parseError=="function"?this.parseError=Ma.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fn(){var Pa;return Pa=xt.pop()||xi.lex()||yt,typeof Pa!="number"&&(Pa instanceof Array&&(xt=Pa,Pa=xt.pop()),Pa=Gt.symbols_[Pa]||Pa),Pa}for(var qn,Un,At,wt,on={},fn,An,oo,jo;;){if(Un=ln[ln.length-1],this.defaultActions[Un]?At=this.defaultActions[Un]:((qn===null||typeof qn>"u")&&(qn=Fn()),At=Dt[Un]&&Dt[Un][qn]),typeof At>"u"||!At.length||!At[0]){var $o="";jo=[];for(fn in Dt[Un])this.terminals_[fn]&&fn>zr&&jo.push("'"+this.terminals_[fn]+"'");xi.showPosition?$o="Parse error on line "+(On+1)+`: +`+xi.showPosition()+` +Expecting `+jo.join(", ")+", got '"+(this.terminals_[qn]||qn)+"'":$o="Parse error on line "+(On+1)+": Unexpected "+(qn==yt?"end of input":"'"+(this.terminals_[qn]||qn)+"'"),this.parseError($o,{text:xi.match,token:this.terminals_[qn]||qn,line:xi.yylineno,loc:ao,expected:jo})}if(At[0]instanceof Array&&At.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Un+", token: "+qn);switch(At[0]){case 1:ln.push(qn),Pt.push(xi.yytext),Qe.push(xi.yylloc),ln.push(At[1]),qn=null,ht=xi.yyleng,kt=xi.yytext,On=xi.yylineno,ao=xi.yylloc;break;case 2:if(An=this.productions_[At[1]][1],on.$=Pt[Pt.length-An],on._$={first_line:Qe[Qe.length-(An||1)].first_line,last_line:Qe[Qe.length-1].last_line,first_column:Qe[Qe.length-(An||1)].first_column,last_column:Qe[Qe.length-1].last_column},Tr&&(on._$.range=[Qe[Qe.length-(An||1)].range[0],Qe[Qe.length-1].range[1]]),wt=this.performAction.apply(on,[kt,ht,On,Ma.yy,At[1],Pt,Qe].concat(ji)),typeof wt<"u")return wt;An&&(ln=ln.slice(0,-1*An*2),Pt=Pt.slice(0,-1*An),Qe=Qe.slice(0,-1*An)),ln.push(this.productions_[At[1]][0]),Pt.push(on.$),Qe.push(on._$),oo=Dt[ln[ln.length-2]][ln[ln.length-1]],ln.push(oo);break;case 3:return!0}}return!0}},Ne=function(){var _t={EOF:1,parseError:function(Gt,ln){if(this.yy.parser)this.yy.parser.parseError(Gt,ln);else throw new Error(Gt)},setInput:function(Et,Gt){return this.yy=Gt||this.yy||{},this._input=Et,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},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Gt=Et.match(/(?:\r\n?|\n).*/g);return Gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Gt=Et.length,ln=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Gt),this.offset-=Gt;var xt=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),ln.length-1&&(this.yylineno-=ln.length-1);var Pt=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:ln?(ln.length===xt.length?this.yylloc.first_column:0)+xt[xt.length-ln.length].length-ln[0].length:this.yylloc.first_column-Gt},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-Gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Gt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` +`+Gt+"^"},test_match:function(Et,Gt){var ln,xt,Pt;if(this.options.backtrack_lexer&&(Pt={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&&(Pt.yylloc.range=this.yylloc.range.slice(0))),xt=Et[0].match(/(?:\r\n?|\n).*/g),xt&&(this.yylineno+=xt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xt?xt[xt.length-1].length-xt[xt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],ln=this.performAction.call(this,this.yy,this,Gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ln)return ln;if(this._backtrack){for(var Qe in Pt)this[Qe]=Pt[Qe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Gt,ln,xt;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),Qe=0;QeGt[0].length)){if(Gt=ln,xt=Qe,this.options.backtrack_lexer){if(Et=this.test_match(ln,Pt[Qe]),Et!==!1)return Et;if(this._backtrack){Gt=!1;continue}else return!1}else if(!this.options.flex)break}return Gt?(Et=this.test_match(Gt,Pt[xt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Gt=this.next();return Gt||this.lex()},begin:function(Gt){this.conditionStack.push(Gt)},popState:function(){var Gt=this.conditionStack.length-1;return Gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Gt){return Gt=this.conditionStack.length-1-Math.abs(Gt||0),Gt>=0?this.conditionStack[Gt]:"INITIAL"},pushState:function(Gt){this.begin(Gt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Gt,ln,xt,Pt){switch(xt){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return ln.yytext=ln.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,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,50],inclusive:!0}}};return _t}();Ft.lexer=Ne;function gn(){this.yy={}}return gn.prototype=Ft,Ft.Parser=gn,new gn}();mve.parser=mve;const lrn=mve;let vve=[],V2={},VR={},F9={},UR={};const hrn={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>qt().req,addRequirement:(i,s)=>(VR[i]===void 0&&(VR[i]={name:i,type:s,id:V2.id,text:V2.text,risk:V2.risk,verifyMethod:V2.verifyMethod}),V2={},VR[i]),getRequirements:()=>VR,setNewReqId:i=>{V2!==void 0&&(V2.id=i)},setNewReqText:i=>{V2!==void 0&&(V2.text=i)},setNewReqRisk:i=>{V2!==void 0&&(V2.risk=i)},setNewReqVerifyMethod:i=>{V2!==void 0&&(V2.verifyMethod=i)},setAccTitle:Bg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,addElement:i=>(UR[i]===void 0&&(UR[i]={name:i,type:F9.type,docRef:F9.docRef},Xe.info("Added new requirement: ",i)),F9={},UR[i]),getElements:()=>UR,setNewElementType:i=>{F9!==void 0&&(F9.type=i)},setNewElementDocRef:i=>{F9!==void 0&&(F9.docRef=i)},addRelationship:(i,s,u)=>{vve.push({type:i,src:s,dst:u})},getRelationships:()=>vve,clear:()=>{vve=[],V2={},VR={},F9={},UR={},Pg()}},frn=i=>` + + marker { + fill: ${i.relationColor}; + stroke: ${i.relationColor}; + } + + marker.cross { + stroke: ${i.lineColor}; + } + + svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + .reqBox { + fill: ${i.requirementBackground}; + fill-opacity: 1.0; + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${i.requirementTextColor}; + } + .reqLabelBox { + fill: ${i.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + .relationshipLine { + stroke: ${i.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${i.relationLabelColor}; + } + +`,wve={CONTAINS:"contains",ARROW:"arrow"},SGe={ReqMarkers:wve,insertLineEndings:(i,s)=>{let u=i.append("defs").append("marker").attr("id",wve.CONTAINS+"_line_ending").attr("refX",0).attr("refY",s.line_height/2).attr("markerWidth",s.line_height).attr("markerHeight",s.line_height).attr("orient","auto").append("g");u.append("circle").attr("cx",s.line_height/2).attr("cy",s.line_height/2).attr("r",s.line_height/2).attr("fill","none"),u.append("line").attr("x1",0).attr("x2",s.line_height).attr("y1",s.line_height/2).attr("y2",s.line_height/2).attr("stroke-width",1),u.append("line").attr("y1",0).attr("y2",s.line_height).attr("x1",s.line_height/2).attr("x2",s.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",wve.ARROW+"_line_ending").attr("refX",s.line_height).attr("refY",.5*s.line_height).attr("markerWidth",s.line_height).attr("markerHeight",s.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${s.line_height},${s.line_height/2} + M${s.line_height},${s.line_height/2} + L0,${s.line_height}`).attr("stroke-width",1)}};let Tf={},_Ge=0;const AGe=(i,s)=>i.insert("rect","#"+s).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Tf.rect_min_width+"px").attr("height",Tf.rect_min_height+"px"),LGe=(i,s,u)=>{let d=Tf.rect_min_width/2,p=i.append("text").attr("class","req reqLabel reqTitle").attr("id",s).attr("x",d).attr("y",Tf.rect_padding).attr("dominant-baseline","hanging"),v=0;u.forEach(_=>{v==0?p.append("tspan").attr("text-anchor","middle").attr("x",Tf.rect_min_width/2).attr("dy",0).text(_):p.append("tspan").attr("text-anchor","middle").attr("x",Tf.rect_min_width/2).attr("dy",Tf.line_height*.75).text(_),v++});let b=1.5*Tf.rect_padding,y=v*Tf.line_height*.75,T=b+y;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Tf.rect_min_width).attr("y1",T).attr("y2",T),{titleNode:p,y:T}},MGe=(i,s,u,d)=>{let p=i.append("text").attr("class","req reqLabel").attr("id",s).attr("x",Tf.rect_padding).attr("y",d).attr("dominant-baseline","hanging"),v=0;const b=30;let y=[];return u.forEach(T=>{let _=T.length;for(;_>b&&v<3;){let A=T.substring(0,b);T=T.substring(b,T.length),_=T.length,y[y.length]=A,v++}if(v==3){let A=y[y.length-1];y[y.length-1]=A.substring(0,A.length-4)+"..."}else y[y.length]=T;v=0}),y.forEach(T=>{p.append("tspan").attr("x",Tf.rect_padding).attr("dy",Tf.line_height).text(T)}),p},drn=(i,s,u,d)=>{const p=s.node().getTotalLength(),v=s.node().getPointAtLength(p*.5),b="rel"+_Ge;_Ge++;const T=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-T.width/2).attr("y",v.y-T.height/2).attr("width",T.width).attr("height",T.height).attr("fill","white").attr("fill-opacity","85%")},grn=function(i,s,u,d,p){const v=u.edge(WD(s.src),WD(s.dst)),b=k7().x(function(T){return T.x}).y(function(T){return T.y}),y=i.insert("path","#"+d).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");s.type==p.db.Relationships.CONTAINS?y.attr("marker-start","url("+li.getUrl(Tf.arrowMarkerAbsolute)+"#"+s.type+"_line_ending)"):(y.attr("stroke-dasharray","10,7"),y.attr("marker-end","url("+li.getUrl(Tf.arrowMarkerAbsolute)+"#"+SGe.ReqMarkers.ARROW+"_line_ending)")),drn(i,y,Tf,`<<${s.type}>>`)},prn=(i,s,u)=>{Object.keys(i).forEach(d=>{let p=i[d];d=WD(d),Xe.info("Added new requirement: ",d);const v=u.append("g").attr("id",d),b="req-"+d,y=AGe(v,b);let T=LGe(v,d+"_title",[`<<${p.type}>>`,`${p.name}`]);MGe(v,d+"_body",[`Id: ${p.id}`,`Text: ${p.text}`,`Risk: ${p.risk}`,`Verification: ${p.verifyMethod}`],T.y);const _=y.node().getBBox();s.setNode(d,{width:_.width,height:_.height,shape:"rect",id:d})})},brn=(i,s,u)=>{Object.keys(i).forEach(d=>{let p=i[d];const v=WD(d),b=u.append("g").attr("id",v),y="element-"+v,T=AGe(b,y);let _=LGe(b,y+"_title",["<>",`${d}`]);MGe(b,y+"_body",[`Type: ${p.type||"Not Specified"}`,`Doc Ref: ${p.docRef||"None"}`],_.y);const A=T.node().getBBox();s.setNode(v,{width:A.width,height:A.height,shape:"rect",id:v})})},mrn=(i,s)=>(i.forEach(function(u){let d=WD(u.src),p=WD(u.dst);s.setEdge(d,p,{relationship:u})}),i),vrn=function(i,s){s.nodes().forEach(function(u){u!==void 0&&s.node(u)!==void 0&&(i.select("#"+u),i.select("#"+u).attr("transform","translate("+(s.node(u).x-s.node(u).width/2)+","+(s.node(u).y-s.node(u).height/2)+" )"))})},WD=i=>i.replace(/\s/g,"").replace(/\./g,"_"),wrn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lrn,db:hrn,renderer:{draw:(i,s,u,d)=>{Tf=qt().requirement;const p=Tf.securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const y=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${s}']`);SGe.insertLineEndings(y,Tf);const T=new B0({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Tf.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let _=d.db.getRequirements(),A=d.db.getElements(),P=d.db.getRelationships();prn(_,T,y),brn(A,T,y),mrn(P,T),qD(T),vrn(y,T),P.forEach(function(ee){grn(y,ee,T,s,d)});const R=Tf.rect_padding,F=y.node().getBBox(),j=F.width+R*2,K=F.height+R*2;Ng(y,K,j,Tf.useMaxWidth),y.attr("viewBox",`${F.x-R} ${F.y-R} ${j} ${K}`)}},styles:frn}},Symbol.toStringTag,{value:"Module"}));var yve=function(){var i=function(xt,Pt,Qe,Dt){for(Qe=Qe||{},Dt=xt.length;Dt--;Qe[xt[Dt]]=Pt);return Qe},s=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,13],T=[1,14],_=[1,16],A=[1,17],P=[1,18],R=[1,24],F=[1,25],j=[1,26],K=[1,27],ee=[1,28],ie=[1,29],oe=[1,30],pe=[1,31],be=[1,32],ae=[1,33],ne=[1,34],se=[1,35],de=[1,36],X=[1,37],ge=[1,38],W=[1,39],xe=[1,41],U=[1,42],Fe=[1,43],Pe=[1,44],je=[1,45],Ie=[1,46],Se=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ce=[4,5,16,50,52,53],ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Ft=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Ne=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],gn=[68,69,70],_t=[1,120],Et={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(Pt,Qe,Dt,kt,On,ht,zr){var yt=ht.length-1;switch(On){case 3:return kt.apply(ht[yt]),ht[yt];case 4:case 9:this.$=[];break;case 5:case 10:ht[yt-1].push(ht[yt]),this.$=ht[yt-1];break;case 6:case 7:case 11:case 12:this.$=ht[yt];break;case 8:case 13:this.$=[];break;case 15:ht[yt].type="createParticipant",this.$=ht[yt];break;case 16:ht[yt-1].unshift({type:"boxStart",boxData:kt.parseBoxData(ht[yt-2])}),ht[yt-1].push({type:"boxEnd",boxText:ht[yt-2]}),this.$=ht[yt-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[yt-2]),sequenceIndexStep:Number(ht[yt-1]),sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[yt-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:kt.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:kt.LINETYPE.ACTIVE_START,actor:ht[yt-1]};break;case 23:this.$={type:"activeEnd",signalType:kt.LINETYPE.ACTIVE_END,actor:ht[yt-1]};break;case 29:kt.setDiagramTitle(ht[yt].substring(6)),this.$=ht[yt].substring(6);break;case 30:kt.setDiagramTitle(ht[yt].substring(7)),this.$=ht[yt].substring(7);break;case 31:this.$=ht[yt].trim(),kt.setAccTitle(this.$);break;case 32:case 33:this.$=ht[yt].trim(),kt.setAccDescription(this.$);break;case 34:ht[yt-1].unshift({type:"loopStart",loopText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.LOOP_START}),ht[yt-1].push({type:"loopEnd",loopText:ht[yt-2],signalType:kt.LINETYPE.LOOP_END}),this.$=ht[yt-1];break;case 35:ht[yt-1].unshift({type:"rectStart",color:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.RECT_START}),ht[yt-1].push({type:"rectEnd",color:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.RECT_END}),this.$=ht[yt-1];break;case 36:ht[yt-1].unshift({type:"optStart",optText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.OPT_START}),ht[yt-1].push({type:"optEnd",optText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.OPT_END}),this.$=ht[yt-1];break;case 37:ht[yt-1].unshift({type:"altStart",altText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.ALT_START}),ht[yt-1].push({type:"altEnd",signalType:kt.LINETYPE.ALT_END}),this.$=ht[yt-1];break;case 38:ht[yt-1].unshift({type:"parStart",parText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.PAR_START}),ht[yt-1].push({type:"parEnd",signalType:kt.LINETYPE.PAR_END}),this.$=ht[yt-1];break;case 39:ht[yt-1].unshift({type:"parStart",parText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.PAR_OVER_START}),ht[yt-1].push({type:"parEnd",signalType:kt.LINETYPE.PAR_END}),this.$=ht[yt-1];break;case 40:ht[yt-1].unshift({type:"criticalStart",criticalText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.CRITICAL_START}),ht[yt-1].push({type:"criticalEnd",signalType:kt.LINETYPE.CRITICAL_END}),this.$=ht[yt-1];break;case 41:ht[yt-1].unshift({type:"breakStart",breakText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.BREAK_START}),ht[yt-1].push({type:"breakEnd",optText:kt.parseMessage(ht[yt-2]),signalType:kt.LINETYPE.BREAK_END}),this.$=ht[yt-1];break;case 43:this.$=ht[yt-3].concat([{type:"option",optionText:kt.parseMessage(ht[yt-1]),signalType:kt.LINETYPE.CRITICAL_OPTION},ht[yt]]);break;case 45:this.$=ht[yt-3].concat([{type:"and",parText:kt.parseMessage(ht[yt-1]),signalType:kt.LINETYPE.PAR_AND},ht[yt]]);break;case 47:this.$=ht[yt-3].concat([{type:"else",altText:kt.parseMessage(ht[yt-1]),signalType:kt.LINETYPE.ALT_ELSE},ht[yt]]);break;case 48:ht[yt-3].draw="participant",ht[yt-3].type="addParticipant",ht[yt-3].description=kt.parseMessage(ht[yt-1]),this.$=ht[yt-3];break;case 49:ht[yt-1].draw="participant",ht[yt-1].type="addParticipant",this.$=ht[yt-1];break;case 50:ht[yt-3].draw="actor",ht[yt-3].type="addParticipant",ht[yt-3].description=kt.parseMessage(ht[yt-1]),this.$=ht[yt-3];break;case 51:ht[yt-1].draw="actor",ht[yt-1].type="addParticipant",this.$=ht[yt-1];break;case 52:ht[yt-1].type="destroyParticipant",this.$=ht[yt-1];break;case 53:this.$=[ht[yt-1],{type:"addNote",placement:ht[yt-2],actor:ht[yt-1].actor,text:ht[yt]}];break;case 54:ht[yt-2]=[].concat(ht[yt-1],ht[yt-1]).slice(0,2),ht[yt-2][0]=ht[yt-2][0].actor,ht[yt-2][1]=ht[yt-2][1].actor,this.$=[ht[yt-1],{type:"addNote",placement:kt.PLACEMENT.OVER,actor:ht[yt-2].slice(0,2),text:ht[yt]}];break;case 55:this.$=[ht[yt-1],{type:"addLinks",actor:ht[yt-1].actor,text:ht[yt]}];break;case 56:this.$=[ht[yt-1],{type:"addALink",actor:ht[yt-1].actor,text:ht[yt]}];break;case 57:this.$=[ht[yt-1],{type:"addProperties",actor:ht[yt-1].actor,text:ht[yt]}];break;case 58:this.$=[ht[yt-1],{type:"addDetails",actor:ht[yt-1].actor,text:ht[yt]}];break;case 61:this.$=[ht[yt-2],ht[yt]];break;case 62:this.$=ht[yt];break;case 63:this.$=kt.PLACEMENT.LEFTOF;break;case 64:this.$=kt.PLACEMENT.RIGHTOF;break;case 65:this.$=[ht[yt-4],ht[yt-1],{type:"addMessage",from:ht[yt-4].actor,to:ht[yt-1].actor,signalType:ht[yt-3],msg:ht[yt],activate:!0},{type:"activeStart",signalType:kt.LINETYPE.ACTIVE_START,actor:ht[yt-1]}];break;case 66:this.$=[ht[yt-4],ht[yt-1],{type:"addMessage",from:ht[yt-4].actor,to:ht[yt-1].actor,signalType:ht[yt-3],msg:ht[yt]},{type:"activeEnd",signalType:kt.LINETYPE.ACTIVE_END,actor:ht[yt-4]}];break;case 67:this.$=[ht[yt-3],ht[yt-1],{type:"addMessage",from:ht[yt-3].actor,to:ht[yt-1].actor,signalType:ht[yt-2],msg:ht[yt]}];break;case 68:this.$={type:"addParticipant",actor:ht[yt]};break;case 69:this.$=kt.LINETYPE.SOLID_OPEN;break;case 70:this.$=kt.LINETYPE.DOTTED_OPEN;break;case 71:this.$=kt.LINETYPE.SOLID;break;case 72:this.$=kt.LINETYPE.DOTTED;break;case 73:this.$=kt.LINETYPE.SOLID_CROSS;break;case 74:this.$=kt.LINETYPE.DOTTED_CROSS;break;case 75:this.$=kt.LINETYPE.SOLID_POINT;break;case 76:this.$=kt.LINETYPE.DOTTED_POINT;break;case 77:this.$=kt.parseMessage(ht[yt].trim().substring(1));break}},table:[{3:1,4:s,5:u,6:d},{1:[3]},{3:5,4:s,5:u,6:d},{3:6,4:s,5:u,6:d},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:y,14:T,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},i(Se,[2,5]),{9:47,12:12,13:y,14:T,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},i(Se,[2,7]),i(Se,[2,8]),i(Se,[2,14]),{12:48,50:X,52:ge,53:W},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Ie},{22:55,70:Ie},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Se,[2,29]),i(Se,[2,30]),{32:[1,61]},{34:[1,62]},i(Se,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:Ie},{22:72,70:Ie},{22:73,70:Ie},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:Ie},{22:88,70:Ie},{22:89,70:Ie},{22:90,70:Ie},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Se,[2,6]),i(Se,[2,15]),i(Ce,[2,9],{10:91}),i(Se,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Se,[2,21]),{5:[1,95]},{5:[1,96]},i(Se,[2,24]),i(Se,[2,25]),i(Se,[2,26]),i(Se,[2,27]),i(Se,[2,28]),i(Se,[2,31]),i(Se,[2,32]),i(ke,p,{7:97}),i(ke,p,{7:98}),i(ke,p,{7:99}),i(Ke,p,{40:100,7:101}),i(Ft,p,{42:102,7:103}),i(Ft,p,{7:103,42:104}),i(Ne,p,{45:105,7:106}),i(ke,p,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:Ie},i(gn,[2,69]),i(gn,[2,70]),i(gn,[2,71]),i(gn,[2,72]),i(gn,[2,73]),i(gn,[2,74]),i(gn,[2,75]),i(gn,[2,76]),{22:116,70:Ie},{22:118,58:117,70:Ie},{70:[2,63]},{70:[2,64]},{56:119,79:_t},{56:121,79:_t},{56:122,79:_t},{56:123,79:_t},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:X,52:ge,53:W},{5:[1,129]},i(Se,[2,19]),i(Se,[2,20]),i(Se,[2,22]),i(Se,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,130],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,131],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,132],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,46],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,49:[1,134],50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,44],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,48:[1,136],50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,42],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,47:[1,139],50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,140],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:K,35:ee,36:ie,37:oe,38:pe,39:be,41:ae,43:ne,44:se,46:de,50:X,52:ge,53:W,54:xe,59:U,60:Fe,61:Pe,62:je,70:Ie},{15:[1,141]},i(Se,[2,49]),{15:[1,142]},i(Se,[2,51]),i(Se,[2,52]),{22:143,70:Ie},{22:144,70:Ie},{56:145,79:_t},{56:146,79:_t},{56:147,79:_t},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Se,[2,16]),i(Ce,[2,10]),{12:149,50:X,52:ge,53:W},i(Ce,[2,12]),i(Ce,[2,13]),i(Se,[2,18]),i(Se,[2,34]),i(Se,[2,35]),i(Se,[2,36]),i(Se,[2,37]),{15:[1,150]},i(Se,[2,38]),{15:[1,151]},i(Se,[2,39]),i(Se,[2,40]),{15:[1,152]},i(Se,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:_t},{56:156,79:_t},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Ie},i(Ce,[2,11]),i(Ke,p,{7:101,40:158}),i(Ft,p,{7:103,42:159}),i(Ne,p,{7:106,45:160}),i(Se,[2,48]),i(Se,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(Pt,Qe){if(Qe.recoverable)this.trace(Pt);else{var Dt=new Error(Pt);throw Dt.hash=Qe,Dt}},parse:function(Pt){var Qe=this,Dt=[0],kt=[],On=[null],ht=[],zr=this.table,yt="",ji=0,xi=0,Ma=2,zs=1,ao=ht.slice.call(arguments,1),Tr=Object.create(this.lexer),Fn={yy:{}};for(var qn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,qn)&&(Fn.yy[qn]=this.yy[qn]);Tr.setInput(Pt,Fn.yy),Fn.yy.lexer=Tr,Fn.yy.parser=this,typeof Tr.yylloc>"u"&&(Tr.yylloc={});var Un=Tr.yylloc;ht.push(Un);var At=Tr.options&&Tr.options.ranges;typeof Fn.yy.parseError=="function"?this.parseError=Fn.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function wt(){var da;return da=kt.pop()||Tr.lex()||zs,typeof da!="number"&&(da instanceof Array&&(kt=da,da=kt.pop()),da=Qe.symbols_[da]||da),da}for(var on,fn,An,oo,jo={},$o,Pa,wo,_s;;){if(fn=Dt[Dt.length-1],this.defaultActions[fn]?An=this.defaultActions[fn]:((on===null||typeof on>"u")&&(on=wt()),An=zr[fn]&&zr[fn][on]),typeof An>"u"||!An.length||!An[0]){var tl="";_s=[];for($o in zr[fn])this.terminals_[$o]&&$o>Ma&&_s.push("'"+this.terminals_[$o]+"'");Tr.showPosition?tl="Parse error on line "+(ji+1)+`: +`+Tr.showPosition()+` +Expecting `+_s.join(", ")+", got '"+(this.terminals_[on]||on)+"'":tl="Parse error on line "+(ji+1)+": Unexpected "+(on==zs?"end of input":"'"+(this.terminals_[on]||on)+"'"),this.parseError(tl,{text:Tr.match,token:this.terminals_[on]||on,line:Tr.yylineno,loc:Un,expected:_s})}if(An[0]instanceof Array&&An.length>1)throw new Error("Parse Error: multiple actions possible at state: "+fn+", token: "+on);switch(An[0]){case 1:Dt.push(on),On.push(Tr.yytext),ht.push(Tr.yylloc),Dt.push(An[1]),on=null,xi=Tr.yyleng,yt=Tr.yytext,ji=Tr.yylineno,Un=Tr.yylloc;break;case 2:if(Pa=this.productions_[An[1]][1],jo.$=On[On.length-Pa],jo._$={first_line:ht[ht.length-(Pa||1)].first_line,last_line:ht[ht.length-1].last_line,first_column:ht[ht.length-(Pa||1)].first_column,last_column:ht[ht.length-1].last_column},At&&(jo._$.range=[ht[ht.length-(Pa||1)].range[0],ht[ht.length-1].range[1]]),oo=this.performAction.apply(jo,[yt,xi,ji,Fn.yy,An[1],On,ht].concat(ao)),typeof oo<"u")return oo;Pa&&(Dt=Dt.slice(0,-1*Pa*2),On=On.slice(0,-1*Pa),ht=ht.slice(0,-1*Pa)),Dt.push(this.productions_[An[1]][0]),On.push(jo.$),ht.push(jo._$),wo=zr[Dt[Dt.length-2]][Dt[Dt.length-1]],Dt.push(wo);break;case 3:return!0}}return!0}},Gt=function(){var xt={EOF:1,parseError:function(Qe,Dt){if(this.yy.parser)this.yy.parser.parseError(Qe,Dt);else throw new Error(Qe)},setInput:function(Pt,Qe){return this.yy=Qe||this.yy||{},this._input=Pt,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},input:function(){var Pt=this._input[0];this.yytext+=Pt,this.yyleng++,this.offset++,this.match+=Pt,this.matched+=Pt;var Qe=Pt.match(/(?:\r\n?|\n).*/g);return Qe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Pt},unput:function(Pt){var Qe=Pt.length,Dt=Pt.split(/(?:\r\n?|\n)/g);this._input=Pt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Qe),this.offset-=Qe;var kt=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),Dt.length-1&&(this.yylineno-=Dt.length-1);var On=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:Dt?(Dt.length===kt.length?this.yylloc.first_column:0)+kt[kt.length-Dt.length].length-Dt[0].length:this.yylloc.first_column-Qe},this.options.ranges&&(this.yylloc.range=[On[0],On[0]+this.yyleng-Qe]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Pt){this.unput(this.match.slice(Pt))},pastInput:function(){var Pt=this.matched.substr(0,this.matched.length-this.match.length);return(Pt.length>20?"...":"")+Pt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Pt=this.match;return Pt.length<20&&(Pt+=this._input.substr(0,20-Pt.length)),(Pt.substr(0,20)+(Pt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Pt=this.pastInput(),Qe=new Array(Pt.length+1).join("-");return Pt+this.upcomingInput()+` +`+Qe+"^"},test_match:function(Pt,Qe){var Dt,kt,On;if(this.options.backtrack_lexer&&(On={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&&(On.yylloc.range=this.yylloc.range.slice(0))),kt=Pt[0].match(/(?:\r\n?|\n).*/g),kt&&(this.yylineno+=kt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:kt?kt[kt.length-1].length-kt[kt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Pt[0].length},this.yytext+=Pt[0],this.match+=Pt[0],this.matches=Pt,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(Pt[0].length),this.matched+=Pt[0],Dt=this.performAction.call(this,this.yy,this,Qe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Dt)return Dt;if(this._backtrack){for(var ht in On)this[ht]=On[ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Pt,Qe,Dt,kt;this._more||(this.yytext="",this.match="");for(var On=this._currentRules(),ht=0;htQe[0].length)){if(Qe=Dt,kt=ht,this.options.backtrack_lexer){if(Pt=this.test_match(Dt,On[ht]),Pt!==!1)return Pt;if(this._backtrack){Qe=!1;continue}else return!1}else if(!this.options.flex)break}return Qe?(Pt=this.test_match(Qe,On[kt]),Pt!==!1?Pt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Qe=this.next();return Qe||this.lex()},begin:function(Qe){this.conditionStack.push(Qe)},popState:function(){var Qe=this.conditionStack.length-1;return Qe>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Qe){return Qe=this.conditionStack.length-1-Math.abs(Qe||0),Qe>=0?this.conditionStack[Qe]:"INITIAL"},pushState:function(Qe){this.begin(Qe)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Qe,Dt,kt,On){switch(kt){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return Dt.yytext=Dt.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return Dt.yytext=Dt.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/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,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return xt}();Et.lexer=Gt;function ln(){this.yy={}}return ln.prototype=Et,Et.Parser=ln,new ln}();yve.parser=yve;const yrn=yve;class xrn{constructor(s){this.init=s,this.records=this.init()}reset(){this.records=this.init()}}const Ds=new xrn(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),krn=function(i){Ds.records.boxes.push({name:i.text,wrap:i.wrap===void 0&&JC()||!!i.wrap,fill:i.color,actorKeys:[]}),Ds.records.currentBox=Ds.records.boxes.slice(-1)[0]},xve=function(i,s,u,d){let p=Ds.records.currentBox;const v=Ds.records.actors[i];if(v){if(Ds.records.currentBox&&v.box&&Ds.records.currentBox!==v.box)throw new Error("A same participant should only be defined in one Box: "+v.name+" can't be in '"+v.box.name+"' and in '"+Ds.records.currentBox.name+"' at the same time.");if(p=v.box?v.box:Ds.records.currentBox,v.box=p,v&&s===v.name&&u==null)return}(u==null||u.text==null)&&(u={text:s,wrap:null,type:d}),(d==null||u.text==null)&&(u={text:s,wrap:null,type:d}),Ds.records.actors[i]={box:p,name:s,description:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap,prevActor:Ds.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:d||"participant"},Ds.records.prevActor&&Ds.records.actors[Ds.records.prevActor]&&(Ds.records.actors[Ds.records.prevActor].nextActor=i),Ds.records.currentBox&&Ds.records.currentBox.actorKeys.push(i),Ds.records.prevActor=i},Ern=i=>{let s,u=0;for(s=0;s>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return Ds.records.messages.push({from:i,to:s,message:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap,type:d,activate:p}),!0},Crn=function(){return Ds.records.boxes.length>0},Srn=function(){return Ds.records.boxes.some(i=>i.name)},_rn=function(){return Ds.records.messages},Arn=function(){return Ds.records.boxes},Lrn=function(){return Ds.records.actors},Mrn=function(){return Ds.records.createdActors},Drn=function(){return Ds.records.destroyedActors},GR=function(i){return Ds.records.actors[i]},Irn=function(){return Object.keys(Ds.records.actors)},Orn=function(){Ds.records.sequenceNumbersEnabled=!0},Nrn=function(){Ds.records.sequenceNumbersEnabled=!1},Prn=()=>Ds.records.sequenceNumbersEnabled,Brn=function(i){Ds.records.wrapEnabled=i},JC=()=>Ds.records.wrapEnabled!==void 0?Ds.records.wrapEnabled:qt().sequence.wrap,Frn=function(){Ds.reset(),Pg()},Rrn=function(i){const s=i.trim(),u={text:s.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:s.match(/^:?wrap:/)!==null?!0:s.match(/^:?nowrap:/)!==null?!1:void 0};return Xe.debug("parseMessage:",u),u},jrn=function(i){const s=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let u=s!=null&&s[1]?s[1].trim():"transparent",d=s!=null&&s[2]?s[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",u)||(u="transparent",d=i.trim());else{const p=new Option().style;p.color=u,p.color!==u&&(u="transparent",d=i.trim())}return{color:u,text:d!==void 0?Yf(d.replace(/^:?(?:no)?wrap:/,""),qt()):void 0,wrap:d!==void 0?d.match(/^:?wrap:/)!==null?!0:d.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},KR={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,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},$rn={FILLED:0,OPEN:1},zrn={LEFTOF:0,RIGHTOF:1,OVER:2},DGe=function(i,s,u){const d={actor:i,placement:s,message:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap},p=[].concat(i,i);Ds.records.notes.push(d),Ds.records.messages.push({from:p[0],to:p[1],message:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap,type:KR.NOTE,placement:s})},IGe=function(i,s){const u=GR(i);try{let d=Yf(s.text,qt());d=d.replace(/&/g,"&"),d=d.replace(/=/g,"=");const p=JSON.parse(d);kve(u,p)}catch(d){Xe.error("error while parsing actor link text",d)}},qrn=function(i,s){const u=GR(i);try{const b={};let y=Yf(s.text,qt());var d=y.indexOf("@");y=y.replace(/&/g,"&"),y=y.replace(/=/g,"=");var p=y.slice(0,d-1).trim(),v=y.slice(d+1).trim();b[p]=v,kve(u,b)}catch(b){Xe.error("error while parsing actor link text",b)}};function kve(i,s){if(i.links==null)i.links=s;else for(let u in s)i.links[u]=s[u]}const OGe=function(i,s){const u=GR(i);try{let d=Yf(s.text,qt());const p=JSON.parse(d);NGe(u,p)}catch(d){Xe.error("error while parsing actor properties text",d)}};function NGe(i,s){if(i.properties==null)i.properties=s;else for(let u in s)i.properties[u]=s[u]}function Hrn(){Ds.records.currentBox=void 0}const PGe=function(i,s){const u=GR(i),d=document.getElementById(s.text);try{const p=d.innerHTML,v=JSON.parse(p);v.properties&&NGe(u,v.properties),v.links&&kve(u,v.links)}catch(p){Xe.error("error while parsing actor details text",p)}},Vrn=function(i,s){if(i!==void 0&&i.properties!==void 0)return i.properties[s]},BGe=function(i){if(Array.isArray(i))i.forEach(function(s){BGe(s)});else switch(i.type){case"sequenceIndex":Ds.records.messages.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":xve(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(Ds.records.actors[i.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");Ds.records.lastCreated=i.actor,xve(i.actor,i.actor,i.description,i.draw),Ds.records.createdActors[i.actor]=Ds.records.messages.length;break;case"destroyParticipant":Ds.records.lastDestroyed=i.actor,Ds.records.destroyedActors[i.actor]=Ds.records.messages.length;break;case"activeStart":Jf(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":Jf(i.actor,void 0,void 0,i.signalType);break;case"addNote":DGe(i.actor,i.placement,i.text);break;case"addLinks":IGe(i.actor,i.text);break;case"addALink":qrn(i.actor,i.text);break;case"addProperties":OGe(i.actor,i.text);break;case"addDetails":PGe(i.actor,i.text);break;case"addMessage":if(Ds.records.lastCreated){if(i.to!==Ds.records.lastCreated)throw new Error("The created participant "+Ds.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");Ds.records.lastCreated=void 0}else if(Ds.records.lastDestroyed){if(i.to!==Ds.records.lastDestroyed&&i.from!==Ds.records.lastDestroyed)throw new Error("The destroyed participant "+Ds.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");Ds.records.lastDestroyed=void 0}Jf(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":krn(i.boxData);break;case"boxEnd":Hrn();break;case"loopStart":Jf(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"rectStart":Jf(void 0,void 0,i.color,i.signalType);break;case"rectEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"optStart":Jf(void 0,void 0,i.optText,i.signalType);break;case"optEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"altStart":Jf(void 0,void 0,i.altText,i.signalType);break;case"else":Jf(void 0,void 0,i.altText,i.signalType);break;case"altEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":Bg(i.text);break;case"parStart":Jf(void 0,void 0,i.parText,i.signalType);break;case"and":Jf(void 0,void 0,i.parText,i.signalType);break;case"parEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"criticalStart":Jf(void 0,void 0,i.criticalText,i.signalType);break;case"option":Jf(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":Jf(void 0,void 0,void 0,i.signalType);break;case"breakStart":Jf(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":Jf(void 0,void 0,void 0,i.signalType);break}},FGe={addActor:xve,addMessage:Trn,addSignal:Jf,addLinks:IGe,addDetails:PGe,addProperties:OGe,autoWrap:JC,setWrap:Brn,enableSequenceNumbers:Orn,disableSequenceNumbers:Nrn,showSequenceNumbers:Prn,getMessages:_rn,getActors:Lrn,getCreatedActors:Mrn,getDestroyedActors:Drn,getActor:GR,getActorKeys:Irn,getActorProperty:Vrn,getAccTitle:Cp,getBoxes:Arn,getDiagramTitle:Ap,setDiagramTitle:cm,getConfig:()=>qt().sequence,clear:Frn,parseMessage:Rrn,parseBoxData:jrn,LINETYPE:KR,ARROWTYPE:$rn,PLACEMENT:zrn,addNote:DGe,setAccTitle:Bg,apply:BGe,setAccDescription:Sp,getAccDescription:_p,hasAtLeastOneBox:Crn,hasAtLeastOneBoxWithTitle:Srn},Urn=i=>`.actor { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + + text.actor > tspan { + fill: ${i.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${i.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${i.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${i.signalColor}; + } + + #arrowhead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .sequenceNumber { + fill: ${i.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${i.signalColor}; + } + + #crosshead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .messageText { + fill: ${i.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${i.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${i.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${i.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation1 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation2 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${i.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + .actor-man circle, line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + stroke-width: 2px; + } +`,ZC=18*2,RGe="actor-top",jGe="actor-bottom",Eve=function(i,s){return AQ(i,s)},Grn=function(i,s,u,d,p){if(s.links===void 0||s.links===null||Object.keys(s.links).length===0)return{height:0,width:0};const v=s.links,b=s.actorCnt,y=s.rectData;var T="none";p&&(T="block !important");const _=i.append("g");_.attr("id","actor"+b+"_popup"),_.attr("class","actorPopupMenu"),_.attr("display",T);var A="";y.class!==void 0&&(A=" "+y.class);let P=y.width>u?y.width:u;const R=_.append("rect");if(R.attr("class","actorPopupMenuPanel"+A),R.attr("x",y.x),R.attr("y",y.height),R.attr("fill",y.fill),R.attr("stroke",y.stroke),R.attr("width",P),R.attr("height",y.height),R.attr("rx",y.rx),R.attr("ry",y.ry),v!=null){var F=20;for(let ee in v){var j=_.append("a"),K=p9.sanitizeUrl(v[ee]);j.attr("xlink:href",K),j.attr("target","_blank"),uin(d)(ee,j,y.x+10,y.height+F,P,20,{class:"actor"},d),F+=30}}return R.attr("height",F),{height:y.height+F,width:P}},Krn=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},pJ=async function(i,s,u=null){let d=i.append("foreignObject");const p=await CC(s.text,Vh()),b=d.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(p).node().getBoundingClientRect();if(d.attr("height",Math.round(b.height)).attr("width",Math.round(b.width)),s.class==="noteText"){const y=i.node().firstChild;y.setAttribute("height",b.height+2*s.textMargin);const T=y.getBBox();d.attr("x",Math.round(T.x+T.width/2-b.width/2)).attr("y",Math.round(T.y+T.height/2-b.height/2))}else if(u){let{startx:y,stopx:T,starty:_}=u;if(y>T){const A=y;y=T,T=A}d.attr("x",Math.round(y+Math.abs(y-T)/2-b.width/2)),s.class==="loopText"?d.attr("y",Math.round(_)):d.attr("y",Math.round(_-b.height))}return[d]},YD=function(i,s){let u=0,d=0;const p=s.text.split(li.lineBreakRegex),[v,b]=NC(s.fontSize);let y=[],T=0,_=()=>s.y;if(s.valign!==void 0&&s.textMargin!==void 0&&s.textMargin>0)switch(s.valign){case"top":case"start":_=()=>Math.round(s.y+s.textMargin);break;case"middle":case"center":_=()=>Math.round(s.y+(u+d+s.textMargin)/2);break;case"bottom":case"end":_=()=>Math.round(s.y+(u+d+2*s.textMargin)-s.textMargin);break}if(s.anchor!==void 0&&s.textMargin!==void 0&&s.width!==void 0)switch(s.anchor){case"left":case"start":s.x=Math.round(s.x+s.textMargin),s.anchor="start",s.dominantBaseline="middle",s.alignmentBaseline="middle";break;case"middle":case"center":s.x=Math.round(s.x+s.width/2),s.anchor="middle",s.dominantBaseline="middle",s.alignmentBaseline="middle";break;case"right":case"end":s.x=Math.round(s.x+s.width-s.textMargin),s.anchor="end",s.dominantBaseline="middle",s.alignmentBaseline="middle";break}for(let[A,P]of p.entries()){s.textMargin!==void 0&&s.textMargin===0&&v!==void 0&&(T=A*v);const R=i.append("text");R.attr("x",s.x),R.attr("y",_()),s.anchor!==void 0&&R.attr("text-anchor",s.anchor).attr("dominant-baseline",s.dominantBaseline).attr("alignment-baseline",s.alignmentBaseline),s.fontFamily!==void 0&&R.style("font-family",s.fontFamily),b!==void 0&&R.style("font-size",b),s.fontWeight!==void 0&&R.style("font-weight",s.fontWeight),s.fill!==void 0&&R.attr("fill",s.fill),s.class!==void 0&&R.attr("class",s.class),s.dy!==void 0?R.attr("dy",s.dy):T!==0&&R.attr("dy",T);const F=P||hje;if(s.tspan){const j=R.append("tspan");j.attr("x",s.x),s.fill!==void 0&&j.attr("fill",s.fill),j.text(F)}else R.text(F);s.valign!==void 0&&s.textMargin!==void 0&&s.textMargin>0&&(d+=(R._groups||R)[0][0].getBBox().height,u=d),y.push(R)}return y},$Ge=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");return d.attr("points",u(s.x,s.y,s.width,s.height,7)),d.attr("class","labelBox"),s.y=s.y+s.height/2,YD(i,s),d};let s5=-1;const zGe=(i,s,u,d)=>{i.select&&u.forEach(p=>{const v=s[p],b=i.select("#actor"+v.actorCnt);!d.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):d.mirrorActors&&b.attr("y2",v.stopy)})},Wrn=async function(i,s,u,d){const p=d?s.stopy:s.starty,v=s.x+s.width/2,b=p+5,y=i.append("g").lower();var T=y;d||(s5++,Object.keys(s.links||{}).length&&!u.forceMenus&&T.attr("onclick",Krn(`actor${s5}_popup`)).attr("cursor","pointer"),T.append("line").attr("id","actor"+s5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),T=y.append("g"),s.actorCnt=s5,s.links!=null&&T.attr("id","root-"+s5));const _=qC();var A="actor";s.properties!=null&&s.properties.class?A=s.properties.class:_.fill="#eaeaea",d?A+=` ${jGe}`:A+=` ${RGe}`,_.x=s.x,_.y=p,_.width=s.width,_.height=s.height,_.class=A,_.rx=3,_.ry=3,_.name=s.name;const P=Eve(T,_);if(s.rectData=_,s.properties!=null&&s.properties.icon){const F=s.properties.icon.trim();F.charAt(0)==="@"?rUt(T,_.x+_.width-20,_.y+10,F.substr(1)):nUt(T,_.x+_.width-20,_.y+10,F)}await Tve(u,Dv(s.description))(s.description,T,_.x,_.y,_.width,_.height,{class:"actor"},u);let R=s.height;if(P.node){const F=P.node().getBBox();s.height=F.height,R=F.height}return R},Yrn=async function(i,s,u,d){const p=d?s.stopy:s.starty,v=s.x+s.width/2,b=p+80;i.lower(),d||(s5++,i.append("line").attr("id","actor"+s5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),s.actorCnt=s5);const y=i.append("g");let T="actor-man";d?T+=` ${jGe}`:T+=` ${RGe}`,y.attr("class",T),y.attr("name",s.name);const _=qC();_.x=s.x,_.y=p,_.fill="#eaeaea",_.width=s.width,_.height=s.height,_.class="actor",_.rx=3,_.ry=3,y.append("line").attr("id","actor-man-torso"+s5).attr("x1",v).attr("y1",p+25).attr("x2",v).attr("y2",p+45),y.append("line").attr("id","actor-man-arms"+s5).attr("x1",v-ZC/2).attr("y1",p+33).attr("x2",v+ZC/2).attr("y2",p+33),y.append("line").attr("x1",v-ZC/2).attr("y1",p+60).attr("x2",v).attr("y2",p+45),y.append("line").attr("x1",v).attr("y1",p+45).attr("x2",v+ZC/2-2).attr("y2",p+60);const A=y.append("circle");A.attr("cx",s.x+s.width/2),A.attr("cy",p+10),A.attr("r",15),A.attr("width",s.width),A.attr("height",s.height);const P=y.node().getBBox();return s.height=P.height,await Tve(u,Dv(s.description))(s.description,y,_.x,_.y+35,_.width,_.height,{class:"actor"},u),s.height},Xrn=async function(i,s,u,d){switch(s.type){case"actor":return await Yrn(i,s,u,d);case"participant":return await Wrn(i,s,u,d)}},Qrn=async function(i,s,u){const p=i.append("g");qGe(p,s),s.name&&await Tve(u)(s.name,p,s.x,s.y+(s.textMaxHeight||0)/2,s.width,0,{class:"text"},u),p.lower()},Jrn=function(i){return i.append("g")},Zrn=function(i,s,u,d,p){const v=qC(),b=s.anchored;v.x=s.startx,v.y=s.starty,v.class="activation"+p%3,v.width=s.stopx-s.startx,v.height=u-s.starty,Eve(b,v)},ein=async function(i,s,u,d){const{boxMargin:p,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:y,messageFontFamily:T,messageFontSize:_,messageFontWeight:A}=d,P=i.append("g"),R=function(K,ee,ie,oe){return P.append("line").attr("x1",K).attr("y1",ee).attr("x2",ie).attr("y2",oe).attr("class","loopLine")};R(s.startx,s.starty,s.stopx,s.starty),R(s.stopx,s.starty,s.stopx,s.stopy),R(s.startx,s.stopy,s.stopx,s.stopy),R(s.startx,s.starty,s.startx,s.stopy),s.sections!==void 0&&s.sections.forEach(function(K){R(s.startx,K.y,s.stopx,K.y).style("stroke-dasharray","3, 3")});let F=zbe();F.text=u,F.x=s.startx,F.y=s.starty,F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.anchor="middle",F.valign="middle",F.tspan=!1,F.width=y||50,F.height=b||20,F.textMargin=v,F.class="labelText",$Ge(P,F),F=HGe(),F.text=s.title,F.x=s.startx+y/2+(s.stopx-s.startx)/2,F.y=s.starty+p+v,F.anchor="middle",F.valign="middle",F.textMargin=v,F.class="loopText",F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.wrap=!0;let j=Dv(F.text)?await pJ(P,F,s):YD(P,F);if(s.sectionTitles!==void 0){for(const[K,ee]of Object.entries(s.sectionTitles))if(ee.message){F.text=ee.message,F.x=s.startx+(s.stopx-s.startx)/2,F.y=s.sections[K].y+p+v,F.class="loopText",F.anchor="middle",F.valign="middle",F.tspan=!1,F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.wrap=s.wrap,Dv(F.text)?(s.starty=s.sections[K].y,await pJ(P,F,s)):YD(P,F);let ie=Math.round(j.map(oe=>(oe._groups||oe)[0][0].getBBox().height).reduce((oe,pe)=>oe+pe));s.sections[K].height+=ie-(p+v)}}return s.height=Math.round(s.stopy-s.starty),P},qGe=function(i,s){Tqe(i,s)},tin=function(i){i.append("defs").append("symbol").attr("id","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")},nin=function(i){i.append("defs").append("symbol").attr("id","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")},rin=function(i){i.append("defs").append("symbol").attr("id","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")},iin=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.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")},sin=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).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")},ain=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},oin=function(i){i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},HGe=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},cin=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Tve=function(){function i(v,b,y,T,_,A,P){const R=b.append("text").attr("x",y+_/2).attr("y",T+A/2+5).style("text-anchor","middle").text(v);p(R,P)}function s(v,b,y,T,_,A,P,R){const{actorFontSize:F,actorFontFamily:j,actorFontWeight:K}=R,[ee,ie]=NC(F),oe=v.split(li.lineBreakRegex);for(let pe=0;pei.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,s)=>i+s))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,s)=>i+s))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,s)=>i+s))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,UGe(qt())},updateVal:function(i,s,u,d){i[s]===void 0?i[s]=u:i[s]=d(u,i[s])},updateBounds:function(i,s,u,d){const p=this;let v=0;function b(y){return function(_){v++;const A=p.sequenceItems.length-v+1;p.updateVal(_,"starty",s-A*En.boxMargin,Math.min),p.updateVal(_,"stopy",d+A*En.boxMargin,Math.max),p.updateVal(ni.data,"startx",i-A*En.boxMargin,Math.min),p.updateVal(ni.data,"stopx",u+A*En.boxMargin,Math.max),y!=="activation"&&(p.updateVal(_,"startx",i-A*En.boxMargin,Math.min),p.updateVal(_,"stopx",u+A*En.boxMargin,Math.max),p.updateVal(ni.data,"starty",s-A*En.boxMargin,Math.min),p.updateVal(ni.data,"stopy",d+A*En.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,s,u,d){const p=li.getMin(i,u),v=li.getMax(i,u),b=li.getMin(s,d),y=li.getMax(s,d);this.updateVal(ni.data,"startx",p,Math.min),this.updateVal(ni.data,"starty",b,Math.min),this.updateVal(ni.data,"stopx",v,Math.max),this.updateVal(ni.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},newActivation:function(i,s,u){const d=u[i.from.actor],p=bJ(i.from.actor).length||0,v=d.x+d.width/2+(p-1)*En.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+En.activationWidth,stopy:void 0,actor:i.from.actor,anchored:Zf.anchorElement(s)})},endActivation:function(i){const s=this.activations.map(function(u){return u.actor}).lastIndexOf(i.from.actor);return this.activations.splice(s,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},s){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:s}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},s){this.sequenceItems.push(this.createLoop(i,s))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const s=this.sequenceItems.pop();s.sections=s.sections||[],s.sectionTitles=s.sectionTitles||[],s.sections.push({y:ni.getVerticalPos(),height:0}),s.sectionTitles.push(i),this.sequenceItems.push(s)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=li.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},lin=async function(i,s){ni.bumpVerticalPos(En.boxMargin),s.height=En.boxMargin,s.starty=ni.getVerticalPos();const u=qC();u.x=s.startx,u.y=s.starty,u.width=s.width||En.width,u.class="note";const d=i.append("g"),p=Zf.drawRect(d,u),v=zbe();v.x=s.startx,v.y=s.starty,v.width=u.width,v.dy="1em",v.text=s.message,v.class="noteText",v.fontFamily=En.noteFontFamily,v.fontSize=En.noteFontSize,v.fontWeight=En.noteFontWeight,v.anchor=En.noteAlign,v.textMargin=En.noteMargin,v.valign="center";const b=Dv(v.text)?await pJ(d,v):YD(d,v),y=Math.round(b.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,_)=>T+_));p.attr("height",y+2*En.noteMargin),s.height+=y+2*En.noteMargin,ni.bumpVerticalPos(y+2*En.noteMargin),s.stopy=s.starty+y+2*En.noteMargin,s.stopx=s.startx+u.width,ni.insert(s.startx,s.starty,s.stopx,s.stopy),ni.models.addNote(s)},eS=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),XD=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Cve=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});async function hin(i,s){ni.bumpVerticalPos(10);const{startx:u,stopx:d,message:p}=s,v=li.splitBreaks(p).length,b=Dv(p),y=b?await HF(p,qt()):Ao.calculateTextDimensions(p,eS(En));if(!b){const P=y.height/v;s.height+=P,ni.bumpVerticalPos(P)}let T,_=y.height-10;const A=y.width;if(u===d){T=ni.getVerticalPos()+_,En.rightAngles||(_+=En.boxMargin,T=ni.getVerticalPos()+_),_+=30;const P=li.getMax(A/2,En.width/2);ni.insert(u-P,ni.getVerticalPos()-10+_,d+P,ni.getVerticalPos()+30+_)}else _+=En.boxMargin,T=ni.getVerticalPos()+_,ni.insert(u,T-10,d,T);return ni.bumpVerticalPos(_),s.height+=_,s.stopy=s.starty+s.height,ni.insert(s.fromBounds,s.starty,s.toBounds,s.stopy),T}const fin=async function(i,s,u,d){const{startx:p,stopx:v,starty:b,message:y,type:T,sequenceIndex:_,sequenceVisible:A}=s,P=Ao.calculateTextDimensions(y,eS(En)),R=zbe();R.x=p,R.y=b+10,R.width=v-p,R.class="messageText",R.dy="1em",R.text=y,R.fontFamily=En.messageFontFamily,R.fontSize=En.messageFontSize,R.fontWeight=En.messageFontWeight,R.anchor=En.messageAlign,R.valign="center",R.textMargin=En.wrapPadding,R.tspan=!1,Dv(R.text)?await pJ(i,R,{startx:p,stopx:v,starty:u}):YD(i,R);const F=P.width;let j;p===v?En.rightAngles?j=i.append("path").attr("d",`M ${p},${u} H ${p+li.getMax(En.width/2,F/2)} V ${u+25} H ${p}`):j=i.append("path").attr("d","M "+p+","+u+" C "+(p+60)+","+(u-10)+" "+(p+60)+","+(u+30)+" "+p+","+(u+20)):(j=i.append("line"),j.attr("x1",p),j.attr("y1",u),j.attr("x2",v),j.attr("y2",u)),T===d.db.LINETYPE.DOTTED||T===d.db.LINETYPE.DOTTED_CROSS||T===d.db.LINETYPE.DOTTED_POINT||T===d.db.LINETYPE.DOTTED_OPEN?(j.style("stroke-dasharray","3, 3"),j.attr("class","messageLine1")):j.attr("class","messageLine0");let K="";En.arrowMarkerAbsolute&&(K=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,K=K.replace(/\(/g,"\\("),K=K.replace(/\)/g,"\\)")),j.attr("stroke-width",2),j.attr("stroke","none"),j.style("fill","none"),(T===d.db.LINETYPE.SOLID||T===d.db.LINETYPE.DOTTED)&&j.attr("marker-end","url("+K+"#arrowhead)"),(T===d.db.LINETYPE.SOLID_POINT||T===d.db.LINETYPE.DOTTED_POINT)&&j.attr("marker-end","url("+K+"#filled-head)"),(T===d.db.LINETYPE.SOLID_CROSS||T===d.db.LINETYPE.DOTTED_CROSS)&&j.attr("marker-end","url("+K+"#crosshead)"),(A||En.showSequenceNumbers)&&(j.attr("marker-start","url("+K+"#sequencenumber)"),i.append("text").attr("x",p).attr("y",u+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(_))},din=async function(i,s,u,d,p,v,b){let y=0,T=0,_,A=0;for(const P of d){const R=s[P],F=R.box;_&&_!=F&&(b||ni.models.addBox(_),T+=En.boxMargin+_.margin),F&&F!=_&&(b||(F.x=y+T,F.y=p),T+=F.margin),R.width=R.width||En.width,R.height=li.getMax(R.height||En.height,En.height),R.margin=R.margin||En.actorMargin,A=li.getMax(A,R.height),u[R.name]&&(T+=R.width/2),R.x=y+T,R.starty=ni.getVerticalPos(),ni.insert(R.x,p,R.x+R.width,R.height),y+=R.width+T,R.box&&(R.box.width=y+F.margin-R.box.x),T=R.margin,_=R.box,ni.models.addActor(R)}_&&!b&&ni.models.addBox(_),ni.bumpVerticalPos(A)},Sve=async function(i,s,u,d){if(d){let p=0;ni.bumpVerticalPos(En.boxMargin*2);for(const v of u){const b=s[v];b.stopy||(b.stopy=ni.getVerticalPos());const y=await Zf.drawActor(i,b,En,!0);p=li.getMax(p,y)}ni.bumpVerticalPos(p+En.boxMargin)}else for(const p of u){const v=s[p];await Zf.drawActor(i,v,En,!1)}},VGe=function(i,s,u,d){let p=0,v=0;for(const b of u){const y=s[b],T=min(y),_=Zf.drawPopup(i,y,T,En,En.forceMenus,d);_.height>p&&(p=_.height),_.width+y.x>v&&(v=_.width+y.x)}return{maxHeight:p,maxWidth:v}},UGe=function(i){id(En,i),i.fontFamily&&(En.actorFontFamily=En.noteFontFamily=En.messageFontFamily=i.fontFamily),i.fontSize&&(En.actorFontSize=En.noteFontSize=En.messageFontSize=i.fontSize),i.fontWeight&&(En.actorFontWeight=En.noteFontWeight=En.messageFontWeight=i.fontWeight)},bJ=function(i){return ni.activations.filter(function(s){return s.actor===i})},GGe=function(i,s){const u=s[i],d=bJ(i),p=d.reduce(function(b,y){return li.getMin(b,y.startx)},u.x+u.width/2-1),v=d.reduce(function(b,y){return li.getMax(b,y.stopx)},u.x+u.width/2+1);return[p,v]};function a5(i,s,u,d,p){ni.bumpVerticalPos(u);let v=d;if(s.id&&s.message&&i[s.id]){const b=i[s.id].width,y=eS(En);s.message=Ao.wrapLabel(`[${s.message}]`,b-2*En.wrapPadding,y),s.width=b,s.wrap=!0;const T=Ao.calculateTextDimensions(s.message,y),_=li.getMax(T.height,En.labelBoxHeight);v=d+_,Xe.debug(`${_} - ${s.message}`)}p(s),ni.bumpVerticalPos(v)}function gin(i,s,u,d,p,v,b){function y(_,A){_.x{Se.add(Ce.from),Se.add(Ce.to)}),j=j.filter(Ce=>Se.has(Ce))}await din(_,A,P,j,0,K,!1);const be=await xin(K,A,pe,d);Zf.insertArrowHead(_),Zf.insertArrowCrossHead(_),Zf.insertArrowFilledHead(_),Zf.insertSequenceNumber(_);function ae(Se,Ce){const ke=ni.endActivation(Se);ke.starty+18>Ce&&(ke.starty=Ce-6,Ce+=12),Zf.drawActivation(_,ke,Ce,En,bJ(Se.from.actor).length),ni.insert(ke.startx,Ce-10,ke.stopx,Ce)}let ne=1,se=1;const de=[],X=[];let ge=0;for(const Se of K){let Ce,ke,Ke;switch(Se.type){case d.db.LINETYPE.NOTE:ni.resetVerticalPos(),ke=Se.noteModel,await lin(_,ke);break;case d.db.LINETYPE.ACTIVE_START:ni.newActivation(Se,_,A);break;case d.db.LINETYPE.ACTIVE_END:ae(Se,ni.getVerticalPos());break;case d.db.LINETYPE.LOOP_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.LOOP_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"loop",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.RECT_START:a5(be,Se,En.boxMargin,En.boxMargin,Ft=>ni.newLoop(void 0,Ft.message));break;case d.db.LINETYPE.RECT_END:Ce=ni.endLoop(),X.push(Ce),ni.models.addLoop(Ce),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos());break;case d.db.LINETYPE.OPT_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.OPT_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"opt",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.ALT_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.ALT_ELSE:a5(be,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ni.addSectionToLoop(Ft));break;case d.db.LINETYPE.ALT_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"alt",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft)),ni.saveVerticalPos();break;case d.db.LINETYPE.PAR_AND:a5(be,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ni.addSectionToLoop(Ft));break;case d.db.LINETYPE.PAR_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"par",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.AUTONUMBER:ne=Se.message.start||ne,se=Se.message.step||se,Se.message.visible?d.db.enableSequenceNumbers():d.db.disableSequenceNumbers();break;case d.db.LINETYPE.CRITICAL_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.CRITICAL_OPTION:a5(be,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ni.addSectionToLoop(Ft));break;case d.db.LINETYPE.CRITICAL_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"critical",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.BREAK_START:a5(be,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.BREAK_END:Ce=ni.endLoop(),await Zf.drawLoop(_,Ce,"break",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;default:try{Ke=Se.msgModel,Ke.starty=ni.getVerticalPos(),Ke.sequenceIndex=ne,Ke.sequenceVisible=d.db.showSequenceNumbers();const Ft=await hin(_,Ke);gin(Se,Ke,Ft,ge,A,P,R),de.push({messageModel:Ke,lineStartY:Ft}),ni.models.addMessage(Ke)}catch(Ft){Xe.error("error while drawing message",Ft)}}[d.db.LINETYPE.SOLID_OPEN,d.db.LINETYPE.DOTTED_OPEN,d.db.LINETYPE.SOLID,d.db.LINETYPE.DOTTED,d.db.LINETYPE.SOLID_CROSS,d.db.LINETYPE.DOTTED_CROSS,d.db.LINETYPE.SOLID_POINT,d.db.LINETYPE.DOTTED_POINT].includes(Se.type)&&(ne=ne+se),ge++}Xe.debug("createdActors",P),Xe.debug("destroyedActors",R),await Sve(_,A,j,!1);for(const Se of de)await fin(_,Se.messageModel,Se.lineStartY,d);En.mirrorActors&&await Sve(_,A,j,!0),X.forEach(Se=>Zf.drawBackgroundRect(_,Se)),zGe(_,A,j,En);for(const Se of ni.models.boxes)Se.height=ni.getVerticalPos()-Se.y,ni.insert(Se.x,Se.y,Se.x+Se.width,Se.height),Se.startx=Se.x,Se.starty=Se.y,Se.stopx=Se.startx+Se.width,Se.stopy=Se.starty+Se.height,Se.stroke="rgb(0,0,0, 0.5)",await Zf.drawBox(_,Se,En);ie&&ni.bumpVerticalPos(En.boxMargin);const W=VGe(_,A,j,T),{bounds:xe}=ni.getBounds();let U=xe.stopy-xe.starty;U{const b=eS(En);let y=v.actorKeys.reduce((A,P)=>A+=i[P].width+(i[P].margin||0),0);y-=2*En.boxTextMargin,v.wrap&&(v.name=Ao.wrapLabel(v.name,y-2*En.wrapPadding,b));const T=Ao.calculateTextDimensions(v.name,b);p=li.getMax(T.height,p);const _=li.getMax(y,T.width+2*En.wrapPadding);if(v.margin=En.boxTextMargin,y<_){const A=(_-y)/2;v.margin+=A}}),u.forEach(v=>v.textMaxHeight=p),li.getMax(d,En.height)}const win=async function(i,s,u){const d=s[i.from].x,p=s[i.to].x,v=i.wrap&&i.message;let b=Dv(i.message)?await HF(i.message,qt()):Ao.calculateTextDimensions(v?Ao.wrapLabel(i.message,En.width,XD(En)):i.message,XD(En));const y={width:v?En.width:li.getMax(En.width,b.width+2*En.noteMargin),height:0,startx:s[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===u.db.PLACEMENT.RIGHTOF?(y.width=v?li.getMax(En.width,b.width):li.getMax(s[i.from].width/2+s[i.to].width/2,b.width+2*En.noteMargin),y.startx=d+(s[i.from].width+En.actorMargin)/2):i.placement===u.db.PLACEMENT.LEFTOF?(y.width=v?li.getMax(En.width,b.width+2*En.noteMargin):li.getMax(s[i.from].width/2+s[i.to].width/2,b.width+2*En.noteMargin),y.startx=d-y.width+(s[i.from].width-En.actorMargin)/2):i.to===i.from?(b=Ao.calculateTextDimensions(v?Ao.wrapLabel(i.message,li.getMax(En.width,s[i.from].width),XD(En)):i.message,XD(En)),y.width=v?li.getMax(En.width,s[i.from].width):li.getMax(s[i.from].width,En.width,b.width+2*En.noteMargin),y.startx=d+(s[i.from].width-y.width)/2):(y.width=Math.abs(d+s[i.from].width/2-(p+s[i.to].width/2))+En.actorMargin,y.startx=d2,P=K=>y?-K:K;i.from===i.to?_=T:(i.activate&&!A&&(_+=P(En.activationWidth/2-1)),[u.db.LINETYPE.SOLID_OPEN,u.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(_+=P(3)));const R=[d,p,v,b],F=Math.abs(T-_);i.wrap&&i.message&&(i.message=Ao.wrapLabel(i.message,li.getMax(F+2*En.wrapPadding,En.width),eS(En)));const j=Ao.calculateTextDimensions(i.message,eS(En));return{width:li.getMax(i.wrap?0:j.width+2*En.wrapPadding,F+2*En.wrapPadding,En.width),height:0,startx:T,stopx:_,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,R),toBounds:Math.max.apply(null,R)}},xin=async function(i,s,u,d){const p={},v=[];let b,y,T;for(const _ of i){switch(_.id=Ao.random({length:10}),_.type){case d.db.LINETYPE.LOOP_START:case d.db.LINETYPE.ALT_START:case d.db.LINETYPE.OPT_START:case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:case d.db.LINETYPE.CRITICAL_START:case d.db.LINETYPE.BREAK_START:v.push({id:_.id,msg:_.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case d.db.LINETYPE.ALT_ELSE:case d.db.LINETYPE.PAR_AND:case d.db.LINETYPE.CRITICAL_OPTION:_.message&&(b=v.pop(),p[b.id]=b,p[_.id]=b,v.push(b));break;case d.db.LINETYPE.LOOP_END:case d.db.LINETYPE.ALT_END:case d.db.LINETYPE.OPT_END:case d.db.LINETYPE.PAR_END:case d.db.LINETYPE.CRITICAL_END:case d.db.LINETYPE.BREAK_END:b=v.pop(),p[b.id]=b;break;case d.db.LINETYPE.ACTIVE_START:{const P=s[_.from?_.from.actor:_.to.actor],R=bJ(_.from?_.from.actor:_.to.actor).length,F=P.x+P.width/2+(R-1)*En.activationWidth/2,j={startx:F,stopx:F+En.activationWidth,actor:_.from.actor,enabled:!0};ni.activations.push(j)}break;case d.db.LINETYPE.ACTIVE_END:{const P=ni.activations.map(R=>R.actor).lastIndexOf(_.from.actor);delete ni.activations.splice(P,1)[0]}break}_.placement!==void 0?(y=await win(_,s,d),_.noteModel=y,v.forEach(P=>{b=P,b.from=li.getMin(b.from,y.startx),b.to=li.getMax(b.to,y.startx+y.width),b.width=li.getMax(b.width,Math.abs(b.from-b.to))-En.labelBoxWidth})):(T=yin(_,s,d),_.msgModel=T,T.startx&&T.stopx&&v.length>0&&v.forEach(P=>{if(b=P,T.startx===T.stopx){const R=s[_.from],F=s[_.to];b.from=li.getMin(R.x-T.width/2,R.x-R.width/2,b.from),b.to=li.getMax(F.x+T.width/2,F.x+R.width/2,b.to),b.width=li.getMax(b.width,Math.abs(b.to-b.from))-En.labelBoxWidth}else b.from=li.getMin(T.startx,b.from),b.to=li.getMax(T.stopx,b.to),b.width=li.getMax(b.width,T.width)-En.labelBoxWidth}))}return ni.activations=[],Xe.debug("Loop type widths:",p),p},kin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:yrn,db:FGe,renderer:{bounds:ni,drawActors:Sve,drawActorsPopup:VGe,setConf:UGe,draw:pin},styles:Urn,init:({wrap:i})=>{FGe.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var _ve=function(){var i=function(ao,Tr,Fn,qn){for(Fn=Fn||{},qn=ao.length;qn--;Fn[ao[qn]]=Tr);return Fn},s=[1,17],u=[1,18],d=[1,19],p=[1,39],v=[1,40],b=[1,25],y=[1,23],T=[1,24],_=[1,31],A=[1,32],P=[1,33],R=[1,34],F=[1,35],j=[1,36],K=[1,26],ee=[1,27],ie=[1,28],oe=[1,29],pe=[1,43],be=[1,30],ae=[1,42],ne=[1,44],se=[1,41],de=[1,45],X=[1,9],ge=[1,8,9],W=[1,56],xe=[1,57],U=[1,58],Fe=[1,59],Pe=[1,60],je=[1,61],Ie=[1,62],Se=[1,8,9,39],Ce=[1,74],ke=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Ke=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],Ft=[13,74,80,95,97,98],Ne=[13,64,65,74,80,95,97,98],gn=[13,59,60,61,62,63,74,80,95,97,98],_t=[1,93],Et=[1,110],Gt=[1,108],ln=[1,102],xt=[1,103],Pt=[1,104],Qe=[1,105],Dt=[1,106],kt=[1,107],On=[1,109],ht=[1,8,9,37,39,42],zr=[1,8,9,21],yt=[1,8,9,78],ji=[1,8,9,21,73,74,78,80,81,82,83,84,85],xi={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(Tr,Fn,qn,Un,At,wt,on){var fn=wt.length-1;switch(At){case 8:this.$=wt[fn-1];break;case 9:case 11:case 12:this.$=wt[fn];break;case 10:case 13:this.$=wt[fn-1]+wt[fn];break;case 14:case 15:this.$=wt[fn-1]+"~"+wt[fn]+"~";break;case 16:Un.addRelation(wt[fn]);break;case 17:wt[fn-1].title=Un.cleanupLabel(wt[fn]),Un.addRelation(wt[fn-1]);break;case 27:this.$=wt[fn].trim(),Un.setAccTitle(this.$);break;case 28:case 29:this.$=wt[fn].trim(),Un.setAccDescription(this.$);break;case 30:Un.addClassesToNamespace(wt[fn-3],wt[fn-1]);break;case 31:Un.addClassesToNamespace(wt[fn-4],wt[fn-1]);break;case 32:this.$=wt[fn],Un.addNamespace(wt[fn]);break;case 33:this.$=[wt[fn]];break;case 34:this.$=[wt[fn-1]];break;case 35:wt[fn].unshift(wt[fn-2]),this.$=wt[fn];break;case 37:Un.setCssClass(wt[fn-2],wt[fn]);break;case 38:Un.addMembers(wt[fn-3],wt[fn-1]);break;case 39:Un.setCssClass(wt[fn-5],wt[fn-3]),Un.addMembers(wt[fn-5],wt[fn-1]);break;case 40:this.$=wt[fn],Un.addClass(wt[fn]);break;case 41:this.$=wt[fn-1],Un.addClass(wt[fn-1]),Un.setClassLabel(wt[fn-1],wt[fn]);break;case 42:Un.addAnnotation(wt[fn],wt[fn-2]);break;case 43:this.$=[wt[fn]];break;case 44:wt[fn].push(wt[fn-1]),this.$=wt[fn];break;case 45:break;case 46:Un.addMember(wt[fn-1],Un.cleanupLabel(wt[fn]));break;case 47:break;case 48:break;case 49:this.$={id1:wt[fn-2],id2:wt[fn],relation:wt[fn-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:wt[fn-3],id2:wt[fn],relation:wt[fn-1],relationTitle1:wt[fn-2],relationTitle2:"none"};break;case 51:this.$={id1:wt[fn-3],id2:wt[fn],relation:wt[fn-2],relationTitle1:"none",relationTitle2:wt[fn-1]};break;case 52:this.$={id1:wt[fn-4],id2:wt[fn],relation:wt[fn-2],relationTitle1:wt[fn-3],relationTitle2:wt[fn-1]};break;case 53:Un.addNote(wt[fn],wt[fn-1]);break;case 54:Un.addNote(wt[fn]);break;case 55:Un.setDirection("TB");break;case 56:Un.setDirection("BT");break;case 57:Un.setDirection("RL");break;case 58:Un.setDirection("LR");break;case 59:this.$={type1:wt[fn-2],type2:wt[fn],lineType:wt[fn-1]};break;case 60:this.$={type1:"none",type2:wt[fn],lineType:wt[fn-1]};break;case 61:this.$={type1:wt[fn-1],type2:"none",lineType:wt[fn]};break;case 62:this.$={type1:"none",type2:"none",lineType:wt[fn]};break;case 63:this.$=Un.relationType.AGGREGATION;break;case 64:this.$=Un.relationType.EXTENSION;break;case 65:this.$=Un.relationType.COMPOSITION;break;case 66:this.$=Un.relationType.DEPENDENCY;break;case 67:this.$=Un.relationType.LOLLIPOP;break;case 68:this.$=Un.lineType.LINE;break;case 69:this.$=Un.lineType.DOTTED_LINE;break;case 70:case 76:this.$=wt[fn-2],Un.setClickEvent(wt[fn-1],wt[fn]);break;case 71:case 77:this.$=wt[fn-3],Un.setClickEvent(wt[fn-2],wt[fn-1]),Un.setTooltip(wt[fn-2],wt[fn]);break;case 72:this.$=wt[fn-2],Un.setLink(wt[fn-1],wt[fn]);break;case 73:this.$=wt[fn-3],Un.setLink(wt[fn-2],wt[fn-1],wt[fn]);break;case 74:this.$=wt[fn-3],Un.setLink(wt[fn-2],wt[fn-1]),Un.setTooltip(wt[fn-2],wt[fn]);break;case 75:this.$=wt[fn-4],Un.setLink(wt[fn-3],wt[fn-2],wt[fn]),Un.setTooltip(wt[fn-3],wt[fn-1]);break;case 78:this.$=wt[fn-3],Un.setClickEvent(wt[fn-2],wt[fn-1],wt[fn]);break;case 79:this.$=wt[fn-4],Un.setClickEvent(wt[fn-3],wt[fn-2],wt[fn-1]),Un.setTooltip(wt[fn-3],wt[fn]);break;case 80:this.$=wt[fn-3],Un.setLink(wt[fn-2],wt[fn]);break;case 81:this.$=wt[fn-4],Un.setLink(wt[fn-3],wt[fn-1],wt[fn]);break;case 82:this.$=wt[fn-4],Un.setLink(wt[fn-3],wt[fn-1]),Un.setTooltip(wt[fn-3],wt[fn]);break;case 83:this.$=wt[fn-5],Un.setLink(wt[fn-4],wt[fn-2],wt[fn]),Un.setTooltip(wt[fn-4],wt[fn-1]);break;case 84:this.$=wt[fn-2],Un.setCssStyle(wt[fn-1],wt[fn]);break;case 85:Un.setCssClass(wt[fn-1],wt[fn]);break;case 86:this.$=[wt[fn]];break;case 87:wt[fn-2].push(wt[fn]),this.$=wt[fn-2];break;case 89:this.$=wt[fn-1]+wt[fn];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:s,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:K,67:ee,69:ie,73:oe,74:pe,76:be,80:ae,95:ne,97:se,98:de},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(X,[2,5],{8:[1,46]}),{8:[1,47]},i(ge,[2,16],{21:[1,48]}),i(ge,[2,18]),i(ge,[2,19]),i(ge,[2,20]),i(ge,[2,21]),i(ge,[2,22]),i(ge,[2,23]),i(ge,[2,24]),i(ge,[2,25]),i(ge,[2,26]),{32:[1,49]},{34:[1,50]},i(ge,[2,29]),i(ge,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:W,60:xe,61:U,62:Fe,63:Pe,64:je,65:Ie}),{37:[1,63]},i(Se,[2,36],{37:[1,65],42:[1,64]}),i(ge,[2,47]),i(ge,[2,48]),{16:66,74:pe,80:ae,95:ne,97:se},{16:37,17:67,18:38,74:pe,80:ae,95:ne,97:se,98:de},{16:37,17:68,18:38,74:pe,80:ae,95:ne,97:se,98:de},{16:37,17:69,18:38,74:pe,80:ae,95:ne,97:se,98:de},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:pe,80:ae,95:ne,97:se,98:de},{13:Ce,51:73},i(ge,[2,55]),i(ge,[2,56]),i(ge,[2,57]),i(ge,[2,58]),i(ke,[2,11],{16:37,18:38,17:75,19:[1,76],74:pe,80:ae,95:ne,97:se,98:de}),i(ke,[2,12],{19:[1,77]}),{15:78,16:79,74:pe,80:ae,95:ne,97:se},{16:37,17:80,18:38,74:pe,80:ae,95:ne,97:se,98:de},i(Ke,[2,112]),i(Ke,[2,113]),i(Ke,[2,114]),i(Ke,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(X,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:s,33:u,35:d,40:p,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:K,67:ee,69:ie,73:oe,74:pe,76:be,80:ae,95:ne,97:se,98:de}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:s,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:K,67:ee,69:ie,73:oe,74:pe,76:be,80:ae,95:ne,97:se,98:de},i(ge,[2,17]),i(ge,[2,27]),i(ge,[2,28]),{13:[1,84],16:37,17:83,18:38,74:pe,80:ae,95:ne,97:se,98:de},{49:85,57:54,58:55,59:W,60:xe,61:U,62:Fe,63:Pe,64:je,65:Ie},i(ge,[2,46]),{58:86,64:je,65:Ie},i(Ft,[2,62],{57:87,59:W,60:xe,61:U,62:Fe,63:Pe}),i(Ne,[2,63]),i(Ne,[2,64]),i(Ne,[2,65]),i(Ne,[2,66]),i(Ne,[2,67]),i(gn,[2,68]),i(gn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:pe,80:ae,95:ne,97:se},{43:92,47:_t},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Et,73:Gt,74:ln,75:99,77:100,79:101,80:xt,81:Pt,82:Qe,83:Dt,84:kt,85:On},{74:[1,111]},{13:Ce,51:112},i(ge,[2,54]),i(ge,[2,117]),i(ke,[2,13]),i(ke,[2,14]),i(ke,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:pe,80:ae,95:ne,97:se},i(ht,[2,40],{11:114,12:[1,115]}),i(X,[2,7]),{9:[1,116]},i(zr,[2,49]),{16:37,17:117,18:38,74:pe,80:ae,95:ne,97:se,98:de},{13:[1,119],16:37,17:118,18:38,74:pe,80:ae,95:ne,97:se,98:de},i(Ft,[2,61],{57:120,59:W,60:xe,61:U,62:Fe,63:Pe}),i(Ft,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Se,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:_t},{16:37,17:127,18:38,74:pe,80:ae,95:ne,97:se,98:de},i(ge,[2,70],{13:[1,128]}),i(ge,[2,72],{13:[1,130],68:[1,129]}),i(ge,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(ge,[2,84],{78:[1,134]}),i(yt,[2,86],{79:135,21:Et,73:Gt,74:ln,80:xt,81:Pt,82:Qe,83:Dt,84:kt,85:On}),i(ji,[2,88]),i(ji,[2,90]),i(ji,[2,91]),i(ji,[2,92]),i(ji,[2,93]),i(ji,[2,94]),i(ji,[2,95]),i(ji,[2,96]),i(ji,[2,97]),i(ji,[2,98]),i(ge,[2,85]),i(ge,[2,53]),{37:[2,10]},i(ht,[2,41]),{13:[1,136]},{1:[2,4]},i(zr,[2,51]),i(zr,[2,50]),{16:37,17:137,18:38,74:pe,80:ae,95:ne,97:se,98:de},i(Ft,[2,59]),i(ge,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:_t},i(Se,[2,38]),{39:[2,44]},i(ge,[2,42]),i(ge,[2,71]),i(ge,[2,73]),i(ge,[2,74],{68:[1,141]}),i(ge,[2,77]),i(ge,[2,78],{13:[1,142]}),i(ge,[2,80],{13:[1,144],68:[1,143]}),{21:Et,73:Gt,74:ln,77:145,79:101,80:xt,81:Pt,82:Qe,83:Dt,84:kt,85:On},i(ji,[2,89]),{14:[1,146]},i(zr,[2,52]),i(ge,[2,31]),{39:[2,35]},{39:[1,147]},i(ge,[2,75]),i(ge,[2,79]),i(ge,[2,81]),i(ge,[2,82],{68:[1,148]}),i(yt,[2,87],{79:135,21:Et,73:Gt,74:ln,80:xt,81:Pt,82:Qe,83:Dt,84:kt,85:On}),i(ht,[2,8]),i(Se,[2,39]),i(ge,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(Tr,Fn){if(Fn.recoverable)this.trace(Tr);else{var qn=new Error(Tr);throw qn.hash=Fn,qn}},parse:function(Tr){var Fn=this,qn=[0],Un=[],At=[null],wt=[],on=this.table,fn="",An=0,oo=0,jo=2,$o=1,Pa=wt.slice.call(arguments,1),wo=Object.create(this.lexer),_s={yy:{}};for(var tl in this.yy)Object.prototype.hasOwnProperty.call(this.yy,tl)&&(_s.yy[tl]=this.yy[tl]);wo.setInput(Tr,_s.yy),_s.yy.lexer=wo,_s.yy.parser=this,typeof wo.yylloc>"u"&&(wo.yylloc={});var da=wo.yylloc;wt.push(da);var j0=wo.options&&wo.options.ranges;typeof _s.yy.parseError=="function"?this.parseError=_s.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pm(){var ga;return ga=Un.pop()||wo.lex()||$o,typeof ga!="number"&&(ga instanceof Array&&(Un=ga,ga=Un.pop()),ga=Fn.symbols_[ga]||ga),ga}for(var Ml,Xc,Bc,ja,Ou={},Sa,Po,Fc,xa;;){if(Xc=qn[qn.length-1],this.defaultActions[Xc]?Bc=this.defaultActions[Xc]:((Ml===null||typeof Ml>"u")&&(Ml=pm()),Bc=on[Xc]&&on[Xc][Ml]),typeof Bc>"u"||!Bc.length||!Bc[0]){var Ba="";xa=[];for(Sa in on[Xc])this.terminals_[Sa]&&Sa>jo&&xa.push("'"+this.terminals_[Sa]+"'");wo.showPosition?Ba="Parse error on line "+(An+1)+`: +`+wo.showPosition()+` +Expecting `+xa.join(", ")+", got '"+(this.terminals_[Ml]||Ml)+"'":Ba="Parse error on line "+(An+1)+": Unexpected "+(Ml==$o?"end of input":"'"+(this.terminals_[Ml]||Ml)+"'"),this.parseError(Ba,{text:wo.match,token:this.terminals_[Ml]||Ml,line:wo.yylineno,loc:da,expected:xa})}if(Bc[0]instanceof Array&&Bc.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Xc+", token: "+Ml);switch(Bc[0]){case 1:qn.push(Ml),At.push(wo.yytext),wt.push(wo.yylloc),qn.push(Bc[1]),Ml=null,oo=wo.yyleng,fn=wo.yytext,An=wo.yylineno,da=wo.yylloc;break;case 2:if(Po=this.productions_[Bc[1]][1],Ou.$=At[At.length-Po],Ou._$={first_line:wt[wt.length-(Po||1)].first_line,last_line:wt[wt.length-1].last_line,first_column:wt[wt.length-(Po||1)].first_column,last_column:wt[wt.length-1].last_column},j0&&(Ou._$.range=[wt[wt.length-(Po||1)].range[0],wt[wt.length-1].range[1]]),ja=this.performAction.apply(Ou,[fn,oo,An,_s.yy,Bc[1],At,wt].concat(Pa)),typeof ja<"u")return ja;Po&&(qn=qn.slice(0,-1*Po*2),At=At.slice(0,-1*Po),wt=wt.slice(0,-1*Po)),qn.push(this.productions_[Bc[1]][0]),At.push(Ou.$),wt.push(Ou._$),Fc=on[qn[qn.length-2]][qn[qn.length-1]],qn.push(Fc);break;case 3:return!0}}return!0}},Ma=function(){var ao={EOF:1,parseError:function(Fn,qn){if(this.yy.parser)this.yy.parser.parseError(Fn,qn);else throw new Error(Fn)},setInput:function(Tr,Fn){return this.yy=Fn||this.yy||{},this._input=Tr,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},input:function(){var Tr=this._input[0];this.yytext+=Tr,this.yyleng++,this.offset++,this.match+=Tr,this.matched+=Tr;var Fn=Tr.match(/(?:\r\n?|\n).*/g);return Fn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tr},unput:function(Tr){var Fn=Tr.length,qn=Tr.split(/(?:\r\n?|\n)/g);this._input=Tr+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Fn),this.offset-=Fn;var Un=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),qn.length-1&&(this.yylineno-=qn.length-1);var At=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:qn?(qn.length===Un.length?this.yylloc.first_column:0)+Un[Un.length-qn.length].length-qn[0].length:this.yylloc.first_column-Fn},this.options.ranges&&(this.yylloc.range=[At[0],At[0]+this.yyleng-Fn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Tr){this.unput(this.match.slice(Tr))},pastInput:function(){var Tr=this.matched.substr(0,this.matched.length-this.match.length);return(Tr.length>20?"...":"")+Tr.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Tr=this.match;return Tr.length<20&&(Tr+=this._input.substr(0,20-Tr.length)),(Tr.substr(0,20)+(Tr.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Tr=this.pastInput(),Fn=new Array(Tr.length+1).join("-");return Tr+this.upcomingInput()+` +`+Fn+"^"},test_match:function(Tr,Fn){var qn,Un,At;if(this.options.backtrack_lexer&&(At={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&&(At.yylloc.range=this.yylloc.range.slice(0))),Un=Tr[0].match(/(?:\r\n?|\n).*/g),Un&&(this.yylineno+=Un.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Un?Un[Un.length-1].length-Un[Un.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tr[0].length},this.yytext+=Tr[0],this.match+=Tr[0],this.matches=Tr,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(Tr[0].length),this.matched+=Tr[0],qn=this.performAction.call(this,this.yy,this,Fn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),qn)return qn;if(this._backtrack){for(var wt in At)this[wt]=At[wt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tr,Fn,qn,Un;this._more||(this.yytext="",this.match="");for(var At=this._currentRules(),wt=0;wtFn[0].length)){if(Fn=qn,Un=wt,this.options.backtrack_lexer){if(Tr=this.test_match(qn,At[wt]),Tr!==!1)return Tr;if(this._backtrack){Fn=!1;continue}else return!1}else if(!this.options.flex)break}return Fn?(Tr=this.test_match(Fn,At[Un]),Tr!==!1?Tr:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Fn=this.next();return Fn||this.lex()},begin:function(Fn){this.conditionStack.push(Fn)},popState:function(){var Fn=this.conditionStack.length-1;return Fn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Fn){return Fn=this.conditionStack.length-1-Math.abs(Fn||0),Fn>=0?this.conditionStack[Fn]:"INITIAL"},pushState:function(Fn){this.begin(Fn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Fn,qn,Un,At){switch(Un){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return ao}();xi.lexer=Ma;function zs(){this.yy={}}return zs.prototype=xi,xi.Parser=zs,new zs}();_ve.parser=_ve;const KGe=_ve,WGe=["#","+","~","-",""];class YGe{constructor(s,u){this.memberType=u,this.visibility="",this.classifier="";const d=Yf(s,qt());this.parseMember(d)}getDisplayDetails(){let s=this.visibility+qF(this.id);this.memberType==="method"&&(s+=`(${qF(this.parameters.trim())})`,this.returnType&&(s+=" : "+qF(this.returnType))),s=s.trim();const u=this.parseClassifier();return{displayText:s,cssStyle:u}}parseMember(s){let u="";if(this.memberType==="method"){const d=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,p=s.match(d);if(p){const v=p[1]?p[1].trim():"";if(WGe.includes(v)&&(this.visibility=v),this.id=p[2].trim(),this.parameters=p[3]?p[3].trim():"",u=p[4]?p[4].trim():"",this.returnType=p[5]?p[5].trim():"",u===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(u=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const d=s.length,p=s.substring(0,1),v=s.substring(d-1);WGe.includes(p)&&(this.visibility=p),v.match(/[$*]/)&&(u=v),this.id=s.substring(this.visibility===""?0:1,u===""?d:d-1)}this.classifier=u}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const mJ="classId-";let Ave=[],xh={},vJ=[],XGe=0,R9={},Lve=0,WR=[];const tS=i=>li.sanitizeText(i,qt()),nS=function(i){const s=li.sanitizeText(i,qt());let u="",d=s;if(s.indexOf("~")>0){const p=s.split("~");d=tS(p[0]),u=tS(p[1])}return{className:d,type:u}},Ein=function(i,s){const u=li.sanitizeText(i,qt());s&&(s=tS(s));const{className:d}=nS(u);xh[d].label=s},wJ=function(i){const s=li.sanitizeText(i,qt()),{className:u,type:d}=nS(s);if(Object.hasOwn(xh,u))return;const p=li.sanitizeText(u,qt());xh[p]={id:p,type:d,label:p,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:mJ+p+"-"+XGe},XGe++},QGe=function(i){const s=li.sanitizeText(i,qt());if(s in xh)return xh[s].domId;throw new Error("Class not found: "+s)},Tin=function(){Ave=[],xh={},vJ=[],WR=[],WR.push(ZGe),R9={},Lve=0,Pg()},Cin=function(i){return xh[i]},Sin=function(){return xh},_in=function(){return Ave},Ain=function(){return vJ},Lin=function(i){Xe.debug("Adding relation: "+JSON.stringify(i)),wJ(i.id1),wJ(i.id2),i.id1=nS(i.id1).className,i.id2=nS(i.id2).className,i.relationTitle1=li.sanitizeText(i.relationTitle1.trim(),qt()),i.relationTitle2=li.sanitizeText(i.relationTitle2.trim(),qt()),Ave.push(i)},Min=function(i,s){const u=nS(i).className;xh[u].annotations.push(s)},JGe=function(i,s){wJ(i);const u=nS(i).className,d=xh[u];if(typeof s=="string"){const p=s.trim();p.startsWith("<<")&&p.endsWith(">>")?d.annotations.push(tS(p.substring(2,p.length-2))):p.indexOf(")")>0?d.methods.push(new YGe(p,"method")):p&&d.members.push(new YGe(p,"attribute"))}},Din=function(i,s){Array.isArray(s)&&(s.reverse(),s.forEach(u=>JGe(i,u)))},Iin=function(i,s){const u={id:`note${vJ.length}`,class:s,text:i};vJ.push(u)},Oin=function(i){return i.startsWith(":")&&(i=i.substring(1)),tS(i.trim())},Mve=function(i,s){i.split(",").forEach(function(u){let d=u;u[0].match(/\d/)&&(d=mJ+d),xh[d]!==void 0&&xh[d].cssClasses.push(s)})},Nin=function(i,s){i.split(",").forEach(function(u){s!==void 0&&(xh[u].tooltip=tS(s))})},Pin=function(i,s){return s?R9[s].classes[i].tooltip:xh[i].tooltip},Bin=function(i,s,u){const d=qt();i.split(",").forEach(function(p){let v=p;p[0].match(/\d/)&&(v=mJ+v),xh[v]!==void 0&&(xh[v].link=Ao.formatUrl(s,d),d.securityLevel==="sandbox"?xh[v].linkTarget="_top":typeof u=="string"?xh[v].linkTarget=tS(u):xh[v].linkTarget="_blank")}),Mve(i,"clickable")},Fin=function(i,s,u){i.split(",").forEach(function(d){Rin(d,s,u),xh[d].haveCallback=!0}),Mve(i,"clickable")},Rin=function(i,s,u){const d=li.sanitizeText(i,qt());if(qt().securityLevel!=="loose"||s===void 0)return;const v=d;if(xh[v]!==void 0){const b=QGe(v);let y=[];if(typeof u=="string"){y=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let T=0;T")),p.classed("hover",!0)}).on("mouseout",function(){s.transition().duration(500).style("opacity",0),Ir(this).classed("hover",!1)})};WR.push(ZGe);let eKe="TB";const yJ={setAccTitle:Bg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,getConfig:()=>qt().class,addClass:wJ,bindFunctions:jin,clear:Tin,getClass:Cin,getClasses:Sin,getNotes:Ain,addAnnotation:Min,addNote:Iin,getRelations:_in,addRelation:Lin,getDirection:()=>eKe,setDirection:i=>{eKe=i},addMember:JGe,addMembers:Din,cleanupLabel:Oin,lineType:$in,relationType:zin,setClickEvent:Fin,setCssClass:Mve,setLink:Bin,getTooltip:Pin,setTooltip:Nin,lookUpDomId:QGe,setDiagramTitle:cm,getDiagramTitle:Ap,setClassLabel:Ein,addNamespace:function(i){R9[i]===void 0&&(R9[i]={id:i,classes:{},children:{},domId:mJ+i+"-"+Lve},Lve++)},addClassesToNamespace:function(i,s){if(R9[i]!==void 0)for(const u of s){const{className:d}=nS(u);xh[d].parent=i,R9[i].classes[d]=xh[d]}},getNamespace:function(i){return R9[i]},getNamespaces:function(){return R9},setCssStyle:function(i,s){const u=xh[i];if(!(!s||!u))for(const d of s)d.includes(",")?u.styles.push(...d.split(",")):u.styles.push(d)}},tKe=i=>`g.classGroup text { + fill: ${i.nodeBorder||i.classText}; + stroke: none; + font-family: ${i.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${i.classText}; +} +.edgeLabel .label rect { + fill: ${i.mainBkg}; +} +.label text { + fill: ${i.classText}; +} +.edgeLabel .label span { + background: ${i.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.classGroup line { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${i.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${i.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`;let nKe=0;const qin=function(i,s,u,d,p){const v=function(oe){switch(oe){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};s.points=s.points.filter(oe=>!Number.isNaN(oe.y));const b=s.points,y=k7().x(function(oe){return oe.x}).y(function(oe){return oe.y}).curve(FF),T=i.append("path").attr("d",y(b)).attr("id","edge"+nKe).attr("class","relation");let _="";d.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),u.relation.lineType==1&&T.attr("class","relation dashed-line"),u.relation.lineType==10&&T.attr("class","relation dotted-line"),u.relation.type1!=="none"&&T.attr("marker-start","url("+_+"#"+v(u.relation.type1)+"Start)"),u.relation.type2!=="none"&&T.attr("marker-end","url("+_+"#"+v(u.relation.type2)+"End)");let A,P;const R=s.points.length;let F=Ao.calcLabelPosition(s.points);A=F.x,P=F.y;let j,K,ee,ie;if(R%2!==0&&R>1){let oe=Ao.calcCardinalityPosition(u.relation.type1!=="none",s.points,s.points[0]),pe=Ao.calcCardinalityPosition(u.relation.type2!=="none",s.points,s.points[R-1]);Xe.debug("cardinality_1_point "+JSON.stringify(oe)),Xe.debug("cardinality_2_point "+JSON.stringify(pe)),j=oe.x,K=oe.y,ee=pe.x,ie=pe.y}if(u.title!==void 0){const oe=i.append("g").attr("class","classLabel"),pe=oe.append("text").attr("class","label").attr("x",A).attr("y",P).attr("fill","red").attr("text-anchor","middle").text(u.title);window.label=pe;const be=pe.node().getBBox();oe.insert("rect",":first-child").attr("class","box").attr("x",be.x-d.padding/2).attr("y",be.y-d.padding/2).attr("width",be.width+d.padding).attr("height",be.height+d.padding)}Xe.info("Rendering relation "+JSON.stringify(u)),u.relationTitle1!==void 0&&u.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",j).attr("y",K).attr("fill","black").attr("font-size","6").text(u.relationTitle1),u.relationTitle2!==void 0&&u.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",ee).attr("y",ie).attr("fill","black").attr("font-size","6").text(u.relationTitle2),nKe++},Hin=function(i,s,u,d){Xe.debug("Rendering class ",s,u);const p=s.id,v={id:p,label:s.id,width:0,height:0},b=i.append("g").attr("id",d.db.lookUpDomId(p)).attr("class","classGroup");let y;s.link?y=b.append("svg:a").attr("xlink:href",s.link).attr("target",s.linkTarget).append("text").attr("y",u.textHeight+u.padding).attr("x",0):y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);let T=!0;s.annotations.forEach(function(pe){const be=y.append("tspan").text("«"+pe+"»");T||be.attr("dy",u.textHeight),T=!1});let _=rKe(s);const A=y.append("tspan").text(_).attr("class","title");T||A.attr("dy",u.textHeight);const P=y.node().getBBox().height;let R,F,j;if(s.members.length>0){R=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin/2).attr("y2",u.padding+P+u.dividerMargin/2);const pe=b.append("text").attr("x",u.padding).attr("y",P+u.dividerMargin+u.textHeight).attr("fill","white").attr("class","classText");T=!0,s.members.forEach(function(be){iKe(pe,be,T,u),T=!1}),F=pe.node().getBBox()}if(s.methods.length>0){j=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin+F.height).attr("y2",u.padding+P+u.dividerMargin+F.height);const pe=b.append("text").attr("x",u.padding).attr("y",P+2*u.dividerMargin+F.height+u.textHeight).attr("fill","white").attr("class","classText");T=!0,s.methods.forEach(function(be){iKe(pe,be,T,u),T=!1})}const K=b.node().getBBox();var ee=" ";s.cssClasses.length>0&&(ee=ee+s.cssClasses.join(" "));const oe=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",K.width+2*u.padding).attr("height",K.height+u.padding+.5*u.dividerMargin).attr("class",ee).node().getBBox().width;return y.node().childNodes.forEach(function(pe){pe.setAttribute("x",(oe-pe.getBBox().width)/2)}),s.tooltip&&y.insert("title").text(s.tooltip),R&&R.attr("x2",oe),j&&j.attr("x2",oe),v.width=oe,v.height=K.height+u.padding+.5*u.dividerMargin,v},rKe=function(i){let s=i.id;return i.type&&(s+="<"+qF(i.type)+">"),s},Vin=function(i,s,u,d){Xe.debug("Rendering note ",s,u);const p=s.id,v={id:p,text:s.text,width:0,height:0},b=i.append("g").attr("id",p).attr("class","classGroup");let y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);const T=JSON.parse(`"${s.text}"`).split(` +`);T.forEach(function(R){Xe.debug(`Adding line: ${R}`),y.append("tspan").text(R).attr("class","title").attr("dy",u.textHeight)});const _=b.node().getBBox(),P=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",_.width+2*u.padding).attr("height",_.height+T.length*u.textHeight+u.padding+.5*u.dividerMargin).node().getBBox().width;return y.node().childNodes.forEach(function(R){R.setAttribute("x",(P-R.getBBox().width)/2)}),v.width=P,v.height=_.height+T.length*u.textHeight+u.padding+.5*u.dividerMargin,v},iKe=function(i,s,u,d){const{displayText:p,cssStyle:v}=s.getDisplayDetails(),b=i.append("tspan").attr("x",d.padding).text(p);v!==""&&b.attr("style",s.cssStyle),u||b.attr("dy",d.textHeight)},Dve={getClassTitleString:rKe,drawClass:Hin,drawEdge:qin,drawNote:Vin};let xJ={};const kJ=20,YR=function(i){const s=Object.entries(xJ).find(u=>u[1].label===i);if(s)return s[0]},Uin=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).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"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).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"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).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"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).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"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).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"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).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")},Gin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:KGe,db:yJ,renderer:{draw:function(i,s,u,d){const p=qt().class;xJ={},Xe.info("Rendering diagram "+i);const v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=y.select(`[id='${s}']`);Uin(T);const _=new B0({multigraph:!0});_.setGraph({isMultiGraph:!0}),_.setDefaultEdgeLabel(function(){return{}});const A=d.db.getClasses(),P=Object.keys(A);for(const oe of P){const pe=A[oe],be=Dve.drawClass(T,pe,p,d);xJ[be.id]=be,_.setNode(be.id,be),Xe.info("Org height: "+be.height)}d.db.getRelations().forEach(function(oe){Xe.info("tjoho"+YR(oe.id1)+YR(oe.id2)+JSON.stringify(oe)),_.setEdge(YR(oe.id1),YR(oe.id2),{relation:oe},oe.title||"DEFAULT")}),d.db.getNotes().forEach(function(oe){Xe.debug(`Adding note: ${JSON.stringify(oe)}`);const pe=Dve.drawNote(T,oe,p,d);xJ[pe.id]=pe,_.setNode(pe.id,pe),oe.class&&oe.class in A&&_.setEdge(oe.id,YR(oe.class),{relation:{id1:oe.id,id2:oe.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),qD(_),_.nodes().forEach(function(oe){oe!==void 0&&_.node(oe)!==void 0&&(Xe.debug("Node "+oe+": "+JSON.stringify(_.node(oe))),y.select("#"+(d.db.lookUpDomId(oe)||oe)).attr("transform","translate("+(_.node(oe).x-_.node(oe).width/2)+","+(_.node(oe).y-_.node(oe).height/2)+" )"))}),_.edges().forEach(function(oe){oe!==void 0&&_.edge(oe)!==void 0&&(Xe.debug("Edge "+oe.v+" -> "+oe.w+": "+JSON.stringify(_.edge(oe))),Dve.drawEdge(T,_.edge(oe),_.edge(oe).relation,p,d))});const j=T.node().getBBox(),K=j.width+kJ*2,ee=j.height+kJ*2;Ng(T,ee,K,p.useMaxWidth);const ie=`${j.x-kJ} ${j.y-kJ} ${K} ${ee}`;Xe.debug(`viewBox ${ie}`),T.attr("viewBox",ie)}},styles:tKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,yJ.clear()}}},Symbol.toStringTag,{value:"Module"})),Ive=i=>li.sanitizeText(i,qt());let Ove={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const Kin=function(i,s,u,d){const p=Object.keys(i);Xe.info("keys:",p),Xe.info(i),p.forEach(function(v){var _,A;const b=i[v],T={shape:"rect",id:b.id,domId:b.domId,labelText:Ive(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((_=qt().flowchart)==null?void 0:_.padding)??((A=qt().class)==null?void 0:A.padding)};s.setNode(b.id,T),sKe(b.classes,s,u,d,b.id),Xe.info("setNode",T)})},sKe=function(i,s,u,d,p){const v=Object.keys(i);Xe.info("keys:",v),Xe.info(i),v.filter(b=>i[b].parent==p).forEach(function(b){var j,K;const y=i[b],T=y.cssClasses.join(" "),_=om(y.styles),A=y.label??y.id,P=0,R="class_box",F={labelStyle:_.labelStyle,shape:R,labelText:Ive(A),classData:y,rx:P,ry:P,class:T,style:_.style,id:y.id,domId:y.domId,tooltip:d.db.getTooltip(y.id,p)||"",haveCallback:y.haveCallback,link:y.link,width:y.type==="group"?500:void 0,type:y.type,padding:((j=qt().flowchart)==null?void 0:j.padding)??((K=qt().class)==null?void 0:K.padding)};s.setNode(y.id,F),p&&s.setParent(y.id,p),Xe.info("setNode",F)})},Win=function(i,s,u,d){Xe.info(i),i.forEach(function(p,v){var K,ee;const b=p,y="",T={labelStyle:"",style:""},_=b.text,A=0,P="note",R={labelStyle:T.labelStyle,shape:P,labelText:Ive(_),noteData:b,rx:A,ry:A,class:y,style:T.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((K=qt().flowchart)==null?void 0:K.padding)??((ee=qt().class)==null?void 0:ee.padding)};if(s.setNode(b.id,R),Xe.info("setNode",R),!b.class||!(b.class in d))return;const F=u+v,j={id:`edgeNote${F}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:Ov(Ove.curve,kp)};s.setEdge(b.id,b.class,j,F)})},Yin=function(i,s){const u=qt().flowchart;let d=0;i.forEach(function(p){var b;d++;const v={classes:"relation",pattern:p.relation.lineType==1?"dashed":"solid",id:`id_${p.id1}_${p.id2}_${d}`,arrowhead:p.type==="arrow_open"?"none":"normal",startLabelRight:p.relationTitle1==="none"?"":p.relationTitle1,endLabelLeft:p.relationTitle2==="none"?"":p.relationTitle2,arrowTypeStart:aKe(p.relation.type1),arrowTypeEnd:aKe(p.relation.type2),style:"fill:none",labelStyle:"",curve:Ov(u==null?void 0:u.curve,kp)};if(Xe.info(v,p),p.style!==void 0){const y=om(p.style);v.style=y.style,v.labelStyle=y.labelStyle}p.text=p.title,p.text===void 0?p.style!==void 0&&(v.arrowheadStyle="fill: #333"):(v.arrowheadStyle="fill: #333",v.labelpos="c",((b=qt().flowchart)==null?void 0:b.htmlLabels)??qt().htmlLabels?(v.labelType="html",v.label=''+p.text+""):(v.labelType="text",v.label=p.text.replace(li.lineBreakRegex,` +`),p.style===void 0&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none"),v.labelStyle=v.labelStyle.replace("color:","fill:"))),s.setEdge(p.id1,p.id2,v,d)})},Xin=function(i){Ove={...Ove,...i}},Qin=async function(i,s,u,d){Xe.info("Drawing class - ",s);const p=qt().flowchart??qt().class,v=qt().securityLevel;Xe.info("config:",p);const b=(p==null?void 0:p.nodeSpacing)??50,y=(p==null?void 0:p.rankSpacing)??50,T=new B0({multigraph:!0,compound:!0}).setGraph({rankdir:d.db.getDirection(),nodesep:b,ranksep:y,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),_=d.db.getNamespaces(),A=d.db.getClasses(),P=d.db.getRelations(),R=d.db.getNotes();Xe.info(P),Kin(_,T,s,d),sKe(A,T,s,d),Yin(P,T),Win(R,T,P.length+1,A);let F;v==="sandbox"&&(F=Ir("#i"+s));const j=Ir(v==="sandbox"?F.nodes()[0].contentDocument.body:"body"),K=j.select(`[id="${s}"]`),ee=j.select("#"+s+" g");if(await qme(ee,T,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",s),Ao.insertTitle(K,"classTitleText",(p==null?void 0:p.titleTopMargin)??5,d.db.getDiagramTitle()),y9(T,K,p==null?void 0:p.diagramPadding,p==null?void 0:p.useMaxWidth),!(p!=null&&p.htmlLabels)){const ie=v==="sandbox"?F.nodes()[0].contentDocument:document,oe=ie.querySelectorAll('[id="'+s+'"] .edgeLabel .label');for(const pe of oe){const be=pe.getBBox(),ae=ie.createElementNS("http://www.w3.org/2000/svg","rect");ae.setAttribute("rx",0),ae.setAttribute("ry",0),ae.setAttribute("width",be.width),ae.setAttribute("height",be.height),pe.insertBefore(ae,pe.firstChild)}}};function aKe(i){let s;switch(i){case 0:s="aggregation";break;case 1:s="extension";break;case 2:s="composition";break;case 3:s="dependency";break;case 4:s="lollipop";break;default:s="none"}return s}const Jin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:KGe,db:yJ,renderer:{setConf:Xin,draw:Qin},styles:tKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,yJ.clear()}}},Symbol.toStringTag,{value:"Module"}));var Nve=function(){var i=function(Ie,Se,Ce,ke){for(Ce=Ce||{},ke=Ie.length;ke--;Ce[Ie[ke]]=Se);return Ce},s=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,15],T=[1,16],_=[1,17],A=[1,18],P=[1,30],R=[1,19],F=[1,20],j=[1,21],K=[1,22],ee=[1,23],ie=[1,25],oe=[1,26],pe=[1,27],be=[1,28],ae=[1,29],ne=[1,32],se=[1,33],de=[1,34],X=[1,35],ge=[1,31],W=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],xe=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],U=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Fe={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Se,Ce,ke,Ke,Ft,Ne,gn){var _t=Ne.length-1;switch(Ft){case 3:return Ke.setRootDoc(Ne[_t]),Ne[_t];case 4:this.$=[];break;case 5:Ne[_t]!="nl"&&(Ne[_t-1].push(Ne[_t]),this.$=Ne[_t-1]);break;case 6:case 7:this.$=Ne[_t];break;case 8:this.$="nl";break;case 11:this.$=Ne[_t];break;case 12:const xt=Ne[_t-1];xt.description=Ke.trimColon(Ne[_t]),this.$=xt;break;case 13:this.$={stmt:"relation",state1:Ne[_t-2],state2:Ne[_t]};break;case 14:const Pt=Ke.trimColon(Ne[_t]);this.$={stmt:"relation",state1:Ne[_t-3],state2:Ne[_t-1],description:Pt};break;case 18:this.$={stmt:"state",id:Ne[_t-3],type:"default",description:"",doc:Ne[_t-1]};break;case 19:var Et=Ne[_t],Gt=Ne[_t-2].trim();if(Ne[_t].match(":")){var ln=Ne[_t].split(":");Et=ln[0],Gt=[Gt,ln[1]]}this.$={stmt:"state",id:Et,type:"default",description:Gt};break;case 20:this.$={stmt:"state",id:Ne[_t-3],type:"default",description:Ne[_t-5],doc:Ne[_t-1]};break;case 21:this.$={stmt:"state",id:Ne[_t],type:"fork"};break;case 22:this.$={stmt:"state",id:Ne[_t],type:"join"};break;case 23:this.$={stmt:"state",id:Ne[_t],type:"choice"};break;case 24:this.$={stmt:"state",id:Ke.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Ne[_t-1].trim(),note:{position:Ne[_t-2].trim(),text:Ne[_t].trim()}};break;case 28:this.$=Ne[_t].trim(),Ke.setAccTitle(this.$);break;case 29:case 30:this.$=Ne[_t].trim(),Ke.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Ne[_t-1].trim(),classes:Ne[_t].trim()};break;case 33:this.$={stmt:"applyClass",id:Ne[_t-1].trim(),styleClass:Ne[_t].trim()};break;case 34:Ke.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Ke.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Ke.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Ke.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Ne[_t].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Ne[_t-2].trim(),classes:[Ne[_t].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Ne[_t-2].trim(),classes:[Ne[_t].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:u,6:d},{1:[3]},{3:5,4:s,5:u,6:d},{3:6,4:s,5:u,6:d},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,21:A,23:P,24:R,25:F,26:j,27:K,28:ee,31:24,32:ie,34:oe,36:pe,37:be,41:ae,44:ne,45:se,46:de,47:X,50:ge},i(W,[2,5]),{9:36,10:12,11:13,12:14,15:y,16:T,18:_,21:A,23:P,24:R,25:F,26:j,27:K,28:ee,31:24,32:ie,34:oe,36:pe,37:be,41:ae,44:ne,45:se,46:de,47:X,50:ge},i(W,[2,7]),i(W,[2,8]),i(W,[2,9]),i(W,[2,10]),i(W,[2,11],{13:[1,37],14:[1,38]}),i(W,[2,15]),{17:[1,39]},i(W,[2,17],{19:[1,40]}),{22:[1,41]},i(W,[2,21]),i(W,[2,22]),i(W,[2,23]),i(W,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(W,[2,27]),{33:[1,46]},{35:[1,47]},i(W,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(xe,[2,40],{51:[1,51]}),i(xe,[2,41],{51:[1,52]}),i(W,[2,34]),i(W,[2,35]),i(W,[2,36]),i(W,[2,37]),i(W,[2,6]),i(W,[2,12]),{12:53,23:P,50:ge},i(W,[2,16]),i(U,p,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(W,[2,28]),i(W,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(W,[2,13],{13:[1,63]}),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,20:[1,64],21:A,23:P,24:R,25:F,26:j,27:K,28:ee,31:24,32:ie,34:oe,36:pe,37:be,41:ae,44:ne,45:se,46:de,47:X,50:ge},i(W,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(W,[2,31]),i(W,[2,32]),i(W,[2,33]),i(xe,[2,42]),i(xe,[2,43]),i(W,[2,14]),i(W,[2,18]),i(U,p,{7:68}),i(W,[2,25]),i(W,[2,26]),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,20:[1,69],21:A,23:P,24:R,25:F,26:j,27:K,28:ee,31:24,32:ie,34:oe,36:pe,37:be,41:ae,44:ne,45:se,46:de,47:X,50:ge},i(W,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Se,Ce){if(Ce.recoverable)this.trace(Se);else{var ke=new Error(Se);throw ke.hash=Ce,ke}},parse:function(Se){var Ce=this,ke=[0],Ke=[],Ft=[null],Ne=[],gn=this.table,_t="",Et=0,Gt=0,ln=2,xt=1,Pt=Ne.slice.call(arguments,1),Qe=Object.create(this.lexer),Dt={yy:{}};for(var kt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,kt)&&(Dt.yy[kt]=this.yy[kt]);Qe.setInput(Se,Dt.yy),Dt.yy.lexer=Qe,Dt.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var On=Qe.yylloc;Ne.push(On);var ht=Qe.options&&Qe.options.ranges;typeof Dt.yy.parseError=="function"?this.parseError=Dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zr(){var At;return At=Ke.pop()||Qe.lex()||xt,typeof At!="number"&&(At instanceof Array&&(Ke=At,At=Ke.pop()),At=Ce.symbols_[At]||At),At}for(var yt,ji,xi,Ma,zs={},ao,Tr,Fn,qn;;){if(ji=ke[ke.length-1],this.defaultActions[ji]?xi=this.defaultActions[ji]:((yt===null||typeof yt>"u")&&(yt=zr()),xi=gn[ji]&&gn[ji][yt]),typeof xi>"u"||!xi.length||!xi[0]){var Un="";qn=[];for(ao in gn[ji])this.terminals_[ao]&&ao>ln&&qn.push("'"+this.terminals_[ao]+"'");Qe.showPosition?Un="Parse error on line "+(Et+1)+`: +`+Qe.showPosition()+` +Expecting `+qn.join(", ")+", got '"+(this.terminals_[yt]||yt)+"'":Un="Parse error on line "+(Et+1)+": Unexpected "+(yt==xt?"end of input":"'"+(this.terminals_[yt]||yt)+"'"),this.parseError(Un,{text:Qe.match,token:this.terminals_[yt]||yt,line:Qe.yylineno,loc:On,expected:qn})}if(xi[0]instanceof Array&&xi.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ji+", token: "+yt);switch(xi[0]){case 1:ke.push(yt),Ft.push(Qe.yytext),Ne.push(Qe.yylloc),ke.push(xi[1]),yt=null,Gt=Qe.yyleng,_t=Qe.yytext,Et=Qe.yylineno,On=Qe.yylloc;break;case 2:if(Tr=this.productions_[xi[1]][1],zs.$=Ft[Ft.length-Tr],zs._$={first_line:Ne[Ne.length-(Tr||1)].first_line,last_line:Ne[Ne.length-1].last_line,first_column:Ne[Ne.length-(Tr||1)].first_column,last_column:Ne[Ne.length-1].last_column},ht&&(zs._$.range=[Ne[Ne.length-(Tr||1)].range[0],Ne[Ne.length-1].range[1]]),Ma=this.performAction.apply(zs,[_t,Gt,Et,Dt.yy,xi[1],Ft,Ne].concat(Pt)),typeof Ma<"u")return Ma;Tr&&(ke=ke.slice(0,-1*Tr*2),Ft=Ft.slice(0,-1*Tr),Ne=Ne.slice(0,-1*Tr)),ke.push(this.productions_[xi[1]][0]),Ft.push(zs.$),Ne.push(zs._$),Fn=gn[ke[ke.length-2]][ke[ke.length-1]],ke.push(Fn);break;case 3:return!0}}return!0}},Pe=function(){var Ie={EOF:1,parseError:function(Ce,ke){if(this.yy.parser)this.yy.parser.parseError(Ce,ke);else throw new Error(Ce)},setInput:function(Se,Ce){return this.yy=Ce||this.yy||{},this._input=Se,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},input:function(){var Se=this._input[0];this.yytext+=Se,this.yyleng++,this.offset++,this.match+=Se,this.matched+=Se;var Ce=Se.match(/(?:\r\n?|\n).*/g);return Ce?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Se},unput:function(Se){var Ce=Se.length,ke=Se.split(/(?:\r\n?|\n)/g);this._input=Se+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ce),this.offset-=Ce;var Ke=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),ke.length-1&&(this.yylineno-=ke.length-1);var Ft=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:ke?(ke.length===Ke.length?this.yylloc.first_column:0)+Ke[Ke.length-ke.length].length-ke[0].length:this.yylloc.first_column-Ce},this.options.ranges&&(this.yylloc.range=[Ft[0],Ft[0]+this.yyleng-Ce]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Se){this.unput(this.match.slice(Se))},pastInput:function(){var Se=this.matched.substr(0,this.matched.length-this.match.length);return(Se.length>20?"...":"")+Se.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Se=this.match;return Se.length<20&&(Se+=this._input.substr(0,20-Se.length)),(Se.substr(0,20)+(Se.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Se=this.pastInput(),Ce=new Array(Se.length+1).join("-");return Se+this.upcomingInput()+` +`+Ce+"^"},test_match:function(Se,Ce){var ke,Ke,Ft;if(this.options.backtrack_lexer&&(Ft={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&&(Ft.yylloc.range=this.yylloc.range.slice(0))),Ke=Se[0].match(/(?:\r\n?|\n).*/g),Ke&&(this.yylineno+=Ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ke?Ke[Ke.length-1].length-Ke[Ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Se[0].length},this.yytext+=Se[0],this.match+=Se[0],this.matches=Se,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(Se[0].length),this.matched+=Se[0],ke=this.performAction.call(this,this.yy,this,Ce,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ke)return ke;if(this._backtrack){for(var Ne in Ft)this[Ne]=Ft[Ne];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Se,Ce,ke,Ke;this._more||(this.yytext="",this.match="");for(var Ft=this._currentRules(),Ne=0;NeCe[0].length)){if(Ce=ke,Ke=Ne,this.options.backtrack_lexer){if(Se=this.test_match(ke,Ft[Ne]),Se!==!1)return Se;if(this._backtrack){Ce=!1;continue}else return!1}else if(!this.options.flex)break}return Ce?(Se=this.test_match(Ce,Ft[Ke]),Se!==!1?Se:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ce=this.next();return Ce||this.lex()},begin:function(Ce){this.conditionStack.push(Ce)},popState:function(){var Ce=this.conditionStack.length-1;return Ce>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ce){return Ce=this.conditionStack.length-1-Math.abs(Ce||0),Ce>=0?this.conditionStack[Ce]:"INITIAL"},pushState:function(Ce){this.begin(Ce)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ce,ke,Ke,Ft){switch(Ke){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),ke.yytext=ke.yytext.substr(2).trim(),30;case 64:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return ke.yytext=ke.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return Ie}();Fe.lexer=Pe;function je(){this.yy={}}return je.prototype=Fe,Fe.Parser=je,new je}();Nve.parser=Nve;const oKe=Nve,Zin="LR",esn="TB",EJ="state",Pve="relation",tsn="classDef",nsn="applyClass",XR="default",cKe="divider",Bve="[*]",uKe="start",lKe=Bve,hKe="end",fKe="color",dKe="fill",rsn="bgFill",isn=",";function gKe(){return{}}let pKe=Zin,TJ=[],QR=gKe();const bKe=()=>({relations:[],states:{},documents:{}});let CJ={root:bKe()},jg=CJ.root,JR=0,mKe=0;const ssn={LINE:0,DOTTED_LINE:1},asn={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},SJ=i=>JSON.parse(JSON.stringify(i)),osn=i=>{Xe.info("Setting root doc",i),TJ=i},csn=()=>TJ,_J=(i,s,u)=>{if(s.stmt===Pve)_J(i,s.state1,!0),_J(i,s.state2,!1);else if(s.stmt===EJ&&(s.id==="[*]"?(s.id=u?i.id+"_start":i.id+"_end",s.start=u):s.id=s.id.trim()),s.doc){const d=[];let p=[],v;for(v=0;v0&&p.length>0){const b={stmt:EJ,id:bje(),type:"divider",doc:SJ(p)};d.push(SJ(b)),s.doc=d}s.doc.forEach(b=>_J(s,b,!0))}},usn=()=>(_J({id:"root"},{id:"root",doc:TJ},!0),{id:"root",doc:TJ}),lsn=i=>{let s;i.doc?s=i.doc:s=i,Xe.info(s),vKe(!0),Xe.info("Extract",s),s.forEach(u=>{switch(u.stmt){case EJ:rS(u.id.trim(),u.type,u.doc,u.description,u.note,u.classes,u.styles,u.textStyles);break;case Pve:wKe(u.state1,u.state2,u.description);break;case tsn:yKe(u.id.trim(),u.classes);break;case nsn:$ve(u.id.trim(),u.styleClass);break}})},rS=function(i,s=XR,u=null,d=null,p=null,v=null,b=null,y=null){const T=i==null?void 0:i.trim();jg.states[T]===void 0?(Xe.info("Adding state ",T,d),jg.states[T]={id:T,descriptions:[],type:s,doc:u,note:p,classes:[],styles:[],textStyles:[]}):(jg.states[T].doc||(jg.states[T].doc=u),jg.states[T].type||(jg.states[T].type=s)),d&&(Xe.info("Setting state description",T,d),typeof d=="string"&&jve(T,d.trim()),typeof d=="object"&&d.forEach(_=>jve(T,_.trim()))),p&&(jg.states[T].note=p,jg.states[T].note.text=li.sanitizeText(jg.states[T].note.text,qt())),v&&(Xe.info("Setting state classes",T,v),(typeof v=="string"?[v]:v).forEach(A=>$ve(T,A.trim()))),b&&(Xe.info("Setting state styles",T,b),(typeof b=="string"?[b]:b).forEach(A=>ysn(T,A.trim()))),y&&(Xe.info("Setting state styles",T,b),(typeof y=="string"?[y]:y).forEach(A=>xsn(T,A.trim())))},vKe=function(i){CJ={root:bKe()},jg=CJ.root,JR=0,QR=gKe(),i||Pg()},ZR=function(i){return jg.states[i]},hsn=function(){return jg.states},fsn=function(){Xe.info("Documents = ",CJ)},dsn=function(){return jg.relations};function Fve(i=""){let s=i;return i===Bve&&(JR++,s=`${uKe}${JR}`),s}function Rve(i="",s=XR){return i===Bve?uKe:s}function gsn(i=""){let s=i;return i===lKe&&(JR++,s=`${hKe}${JR}`),s}function psn(i="",s=XR){return i===lKe?hKe:s}function bsn(i,s,u){let d=Fve(i.id.trim()),p=Rve(i.id.trim(),i.type),v=Fve(s.id.trim()),b=Rve(s.id.trim(),s.type);rS(d,p,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),rS(v,b,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),jg.relations.push({id1:d,id2:v,relationTitle:li.sanitizeText(u,qt())})}const wKe=function(i,s,u){if(typeof i=="object")bsn(i,s,u);else{const d=Fve(i.trim()),p=Rve(i),v=gsn(s.trim()),b=psn(s);rS(d,p),rS(v,b),jg.relations.push({id1:d,id2:v,title:li.sanitizeText(u,qt())})}},jve=function(i,s){const u=jg.states[i],d=s.startsWith(":")?s.replace(":","").trim():s;u.descriptions.push(li.sanitizeText(d,qt()))},msn=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},vsn=()=>(mKe++,"divider-id-"+mKe),yKe=function(i,s=""){QR[i]===void 0&&(QR[i]={id:i,styles:[],textStyles:[]});const u=QR[i];s!=null&&s.split(isn).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(fKe)){const b=p.replace(dKe,rsn).replace(fKe,dKe);u.textStyles.push(b)}u.styles.push(p)})},wsn=function(){return QR},$ve=function(i,s){i.split(",").forEach(function(u){let d=ZR(u);if(d===void 0){const p=u.trim();rS(p),d=ZR(p)}d.classes.push(s)})},ysn=function(i,s){const u=ZR(i);u!==void 0&&u.textStyles.push(s)},xsn=function(i,s){const u=ZR(i);u!==void 0&&u.textStyles.push(s)},G7={getConfig:()=>qt().state,addState:rS,clear:vKe,getState:ZR,getStates:hsn,getRelations:dsn,getClasses:wsn,getDirection:()=>pKe,addRelation:wKe,getDividerId:vsn,setDirection:i=>{pKe=i},cleanupLabel:msn,lineType:ssn,relationType:asn,logDocuments:fsn,getRootDoc:csn,setRootDoc:osn,getRootDocV2:usn,extract:lsn,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:Cp,setAccTitle:Bg,getAccDescription:_p,setAccDescription:Sp,addStyleClass:yKe,setCssClass:$ve,addDescription:jve,setDiagramTitle:cm,getDiagramTitle:Ap},xKe=i=>` +defs #statediagram-barbEnd { + fill: ${i.transitionColor}; + stroke: ${i.transitionColor}; + } +g.stateGroup text { + fill: ${i.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${i.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${i.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.stateGroup line { + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${i.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${i.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + + text { + fill: ${i.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${i.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${i.transitionLabelColor||i.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${i.transitionLabelColor||i.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${i.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node .fork-join { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node circle.state-end { + fill: ${i.innerEndBackground}; + stroke: ${i.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${i.compositeBackground||i.background}; + // stroke: ${i.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${i.stateBkg||i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${i.lineColor}; +} + +.statediagram-cluster rect { + fill: ${i.compositeTitleBackground}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${i.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${i.stateBorder||i.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${i.compositeBackground||i.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${i.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${i.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${i.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`,zve={},ksn=(i,s)=>{zve[i]=s},Esn=i=>zve[i],kKe=()=>Object.keys(zve),Tsn={get:Esn,set:ksn,keys:kKe,size:()=>kKe().length},Csn=i=>i.append("circle").attr("class","start-state").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit).attr("cy",qt().state.padding+qt().state.sizeUnit),Ssn=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",qt().state.textHeight).attr("class","divider").attr("x2",qt().state.textHeight*2).attr("y1",0).attr("y2",0),_sn=(i,s)=>{const u=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+2*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.id),d=u.node().getBBox();return i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",d.width+2*qt().state.padding).attr("height",d.height+2*qt().state.padding).attr("rx",qt().state.radius),u},Asn=(i,s)=>{const u=function(R,F,j){const K=R.append("tspan").attr("x",2*qt().state.padding).text(F);j||K.attr("dy",qt().state.textHeight)},p=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+1.3*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.descriptions[0]).node().getBBox(),v=p.height,b=i.append("text").attr("x",qt().state.padding).attr("y",v+qt().state.padding*.4+qt().state.dividerMargin+qt().state.textHeight).attr("class","state-description");let y=!0,T=!0;s.descriptions.forEach(function(R){y||(u(b,R,T),T=!1),y=!1});const _=i.append("line").attr("x1",qt().state.padding).attr("y1",qt().state.padding+v+qt().state.dividerMargin/2).attr("y2",qt().state.padding+v+qt().state.dividerMargin/2).attr("class","descr-divider"),A=b.node().getBBox(),P=Math.max(A.width,p.width);return _.attr("x2",P+3*qt().state.padding),i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",P+2*qt().state.padding).attr("height",A.height+v+2*qt().state.padding).attr("rx",qt().state.radius),i},Lsn=(i,s,u)=>{const d=qt().state.padding,p=2*qt().state.padding,v=i.node().getBBox(),b=v.width,y=v.x,T=i.append("text").attr("x",0).attr("y",qt().state.titleShift).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.id),A=T.node().getBBox().width+p;let P=Math.max(A,b);P===b&&(P=P+p);let R;const F=i.node().getBBox();s.doc,R=y-d,A>b&&(R=(b-P)/2+d),Math.abs(y-F.x)b&&(R=y-(A-b)/2);const j=1-qt().state.textHeight;return i.insert("rect",":first-child").attr("x",R).attr("y",j).attr("class",u?"alt-composit":"composit").attr("width",P).attr("height",F.height+qt().state.textHeight+qt().state.titleShift+1).attr("rx","0"),T.attr("x",R+d),A<=b&&T.attr("x",y+(P-p)/2-A/2+d),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",qt().state.textHeight*3).attr("rx",qt().state.radius),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",F.height+3+2*qt().state.textHeight).attr("rx",qt().state.radius),i},Msn=i=>(i.append("circle").attr("class","end-state-outer").attr("r",qt().state.sizeUnit+qt().state.miniPadding).attr("cx",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding).attr("cy",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit+2).attr("cy",qt().state.padding+qt().state.sizeUnit+2)),Dsn=(i,s)=>{let u=qt().state.forkWidth,d=qt().state.forkHeight;if(s.parentId){let p=u;u=d,d=p}return i.append("rect").style("stroke","black").style("fill","black").attr("width",u).attr("height",d).attr("x",qt().state.padding).attr("y",qt().state.padding)},Isn=(i,s,u,d)=>{let p=0;const v=d.append("text");v.style("text-anchor","start"),v.attr("class","noteText");let b=i.replace(/\r\n/g,"
    ");b=b.replace(/\n/g,"
    ");const y=b.split(li.lineBreakRegex);let T=1.25*qt().state.noteMargin;for(const _ of y){const A=_.trim();if(A.length>0){const P=v.append("tspan");if(P.text(A),T===0){const R=P.node().getBBox();T+=R.height}p+=T,P.attr("x",s+qt().state.noteMargin),P.attr("y",u+p+1.25*qt().state.noteMargin)}}return{textWidth:v.node().getBBox().width,textHeight:p}},Osn=(i,s)=>{s.attr("class","state-note");const u=s.append("rect").attr("x",0).attr("y",qt().state.padding),d=s.append("g"),{textWidth:p,textHeight:v}=Isn(i,0,0,d);return u.attr("height",v+2*qt().state.noteMargin),u.attr("width",p+qt().state.noteMargin*2),u},EKe=function(i,s){const u=s.id,d={id:u,label:s.id,width:0,height:0},p=i.append("g").attr("id",u).attr("class","stateGroup");s.type==="start"&&Csn(p),s.type==="end"&&Msn(p),(s.type==="fork"||s.type==="join")&&Dsn(p,s),s.type==="note"&&Osn(s.note.text,p),s.type==="divider"&&Ssn(p),s.type==="default"&&s.descriptions.length===0&&_sn(p,s),s.type==="default"&&s.descriptions.length>0&&Asn(p,s);const v=p.node().getBBox();return d.width=v.width+2*qt().state.padding,d.height=v.height+2*qt().state.padding,Tsn.set(u,d),d};let TKe=0;const Nsn=function(i,s,u){const d=function(T){switch(T){case G7.relationType.AGGREGATION:return"aggregation";case G7.relationType.EXTENSION:return"extension";case G7.relationType.COMPOSITION:return"composition";case G7.relationType.DEPENDENCY:return"dependency"}};s.points=s.points.filter(T=>!Number.isNaN(T.y));const p=s.points,v=k7().x(function(T){return T.x}).y(function(T){return T.y}).curve(FF),b=i.append("path").attr("d",v(p)).attr("id","edge"+TKe).attr("class","transition");let y="";if(qt().state.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),b.attr("marker-end","url("+y+"#"+d(G7.relationType.DEPENDENCY)+"End)"),u.title!==void 0){const T=i.append("g").attr("class","stateLabel"),{x:_,y:A}=Ao.calcLabelPosition(s.points),P=li.getRows(u.title);let R=0;const F=[];let j=0,K=0;for(let oe=0;oe<=P.length;oe++){const pe=T.append("text").attr("text-anchor","middle").text(P[oe]).attr("x",_).attr("y",A+R),be=pe.node().getBBox();j=Math.max(j,be.width),K=Math.min(K,be.x),Xe.info(be.x,_,A+R),R===0&&(R=pe.node().getBBox().height,Xe.info("Title height",R,A)),F.push(pe)}let ee=R*P.length;if(P.length>1){const oe=(P.length-1)*R*.5;F.forEach((pe,be)=>pe.attr("y",A+be*R-oe)),ee=R*P.length}const ie=T.node().getBBox();T.insert("rect",":first-child").attr("class","box").attr("x",_-j/2-qt().state.padding/2).attr("y",A-ee/2-qt().state.padding/2-3.5).attr("width",j+qt().state.padding).attr("height",ee+qt().state.padding),Xe.info(ie)}TKe++};let gm;const qve={},Psn=function(){},Bsn=function(i){i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Fsn=function(i,s,u,d){gm=qt().state;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const b=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body"),y=p==="sandbox"?v.nodes()[0].contentDocument:document;Xe.debug("Rendering diagram "+i);const T=b.select(`[id='${s}']`);Bsn(T);const _=d.db.getRootDoc();CKe(_,T,void 0,!1,b,y,d);const A=gm.padding,P=T.node().getBBox(),R=P.width+A*2,F=P.height+A*2,j=R*1.75;Ng(T,F,j,gm.useMaxWidth),T.attr("viewBox",`${P.x-gm.padding} ${P.y-gm.padding} `+R+" "+F)},Rsn=i=>i?i.length*gm.fontSizeFactor:1,CKe=(i,s,u,d,p,v,b)=>{const y=new B0({compound:!0,multigraph:!0});let T,_=!0;for(T=0;T{const be=pe.parentElement;let ae=0,ne=0;be&&(be.parentElement&&(ae=be.parentElement.getBBox().width),ne=parseInt(be.getAttribute("data-x-shift"),10),Number.isNaN(ne)&&(ne=0)),pe.setAttribute("x1",0-ne+8),pe.setAttribute("x2",ae-ne-8)})):Xe.debug("No Node "+ie+": "+JSON.stringify(y.node(ie)))});let K=j.getBBox();y.edges().forEach(function(ie){ie!==void 0&&y.edge(ie)!==void 0&&(Xe.debug("Edge "+ie.v+" -> "+ie.w+": "+JSON.stringify(y.edge(ie))),Nsn(s,y.edge(ie),y.edge(ie).relation))}),K=j.getBBox();const ee={id:u||"root",label:u||"root",width:0,height:0};return ee.width=K.width+2*gm.padding,ee.height=K.height+2*gm.padding,Xe.debug("Doc rendered",ee,y),ee},jsn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:oKe,db:G7,renderer:{setConf:Psn,draw:Fsn},styles:xKe,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,G7.clear()}}},Symbol.toStringTag,{value:"Module"})),AJ="rect",Hve="rectWithTitle",$sn="start",zsn="end",qsn="divider",Hsn="roundedWithTitle",Vsn="note",Usn="noteGroup",QD="statediagram",Gsn=`${QD}-state`,SKe="transition",Ksn="note",Wsn=`${SKe} note-edge`,Ysn=`${QD}-${Ksn}`,Xsn=`${QD}-cluster`,Qsn=`${QD}-cluster-alt`,_Ke="parent",AKe="note",Jsn="state",Vve="----",Zsn=`${Vve}${AKe}`,LKe=`${Vve}${_Ke}`,MKe="fill:none",DKe="fill: #333",IKe="c",OKe="text",NKe="normal";let LJ={},j9=0;const ean=function(i){const s=Object.keys(i);for(const u of s)i[u]},tan=function(i,s){return s.db.extract(s.db.getRootDocV2()),s.db.getClasses()};function nan(i){return i==null?"":i.classes?i.classes.join(" "):""}function Uve(i="",s=0,u="",d=Vve){const p=u!==null&&u.length>0?`${d}${u}`:"";return`${Jsn}-${i}${p}-${s}`}const ej=(i,s,u,d,p,v)=>{const b=u.id,y=nan(d[b]);if(b!=="root"){let T=AJ;u.start===!0&&(T=$sn),u.start===!1&&(T=zsn),u.type!==XR&&(T=u.type),LJ[b]||(LJ[b]={id:b,shape:T,description:li.sanitizeText(b,qt()),classes:`${y} ${Gsn}`});const _=LJ[b];u.description&&(Array.isArray(_.description)?(_.shape=Hve,_.description.push(u.description)):_.description.length>0?(_.shape=Hve,_.description===b?_.description=[u.description]:_.description=[_.description,u.description]):(_.shape=AJ,_.description=u.description),_.description=li.sanitizeTextOrArray(_.description,qt())),_.description.length===1&&_.shape===Hve&&(_.shape=AJ),!_.type&&u.doc&&(Xe.info("Setting cluster for ",b,Gve(u)),_.type="group",_.dir=Gve(u),_.shape=u.type===cKe?qsn:Hsn,_.classes=_.classes+" "+Xsn+" "+(v?Qsn:""));const A={labelStyle:"",shape:_.shape,labelText:_.description,classes:_.classes,style:"",id:b,dir:_.dir,domId:Uve(b,j9),type:_.type,padding:15};if(A.centerLabel=!0,u.note){const P={labelStyle:"",shape:Vsn,labelText:u.note.text,classes:Ysn,style:"",id:b+Zsn+"-"+j9,domId:Uve(b,j9,AKe),type:_.type,padding:15},R={labelStyle:"",shape:Usn,labelText:u.note.text,classes:_.classes,style:"",id:b+LKe,domId:Uve(b,j9,_Ke),type:"group",padding:0};j9++;const F=b+LKe;i.setNode(F,R),i.setNode(P.id,P),i.setNode(b,A),i.setParent(b,F),i.setParent(P.id,F);let j=b,K=P.id;u.note.position==="left of"&&(j=P.id,K=b),i.setEdge(j,K,{arrowhead:"none",arrowType:"",style:MKe,labelStyle:"",classes:Wsn,arrowheadStyle:DKe,labelpos:IKe,labelType:OKe,thickness:NKe})}else i.setNode(b,A)}s&&s.id!=="root"&&(Xe.trace("Setting node ",b," to be child of its parent ",s.id),i.setParent(b,s.id)),u.doc&&(Xe.trace("Adding nodes children "),ran(i,u,u.doc,d,p,!v))},ran=(i,s,u,d,p,v)=>{Xe.trace("items",u),u.forEach(b=>{switch(b.stmt){case EJ:ej(i,s,b,d,p,v);break;case XR:ej(i,s,b,d,p,v);break;case Pve:{ej(i,s,b.state1,d,p,v),ej(i,s,b.state2,d,p,v);const y={id:"edge"+j9,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:MKe,labelStyle:"",label:li.sanitizeText(b.description,qt()),arrowheadStyle:DKe,labelpos:IKe,labelType:OKe,thickness:NKe,classes:SKe};i.setEdge(b.state1.id,b.state2.id,y,j9),j9++}break}})},Gve=(i,s=esn)=>{let u=s;if(i.doc)for(let d=0;d{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,G7.clear()}}},Symbol.toStringTag,{value:"Module"}));var Kve=function(){var i=function(P,R,F,j){for(F=F||{},j=P.length;j--;F[P[j]]=R);return F},s=[6,8,10,11,12,14,16,17,18],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,14],T={trace:function(){},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:function(R,F,j,K,ee,ie,oe){var pe=ie.length-1;switch(ee){case 1:return ie[pe-1];case 2:this.$=[];break;case 3:ie[pe-1].push(ie[pe]),this.$=ie[pe-1];break;case 4:case 5:this.$=ie[pe];break;case 6:case 7:this.$=[];break;case 8:K.setDiagramTitle(ie[pe].substr(6)),this.$=ie[pe].substr(6);break;case 9:this.$=ie[pe].trim(),K.setAccTitle(this.$);break;case 10:case 11:this.$=ie[pe].trim(),K.setAccDescription(this.$);break;case 12:K.addSection(ie[pe].substr(8)),this.$=ie[pe].substr(8);break;case 13:K.addTask(ie[pe-1],ie[pe]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:y},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:15,11:u,12:d,14:p,16:v,17:b,18:y},i(s,[2,5]),i(s,[2,6]),i(s,[2,8]),{13:[1,16]},{15:[1,17]},i(s,[2,11]),i(s,[2,12]),{19:[1,18]},i(s,[2,4]),i(s,[2,9]),i(s,[2,10]),i(s,[2,13])],defaultActions:{},parseError:function(R,F){if(F.recoverable)this.trace(R);else{var j=new Error(R);throw j.hash=F,j}},parse:function(R){var F=this,j=[0],K=[],ee=[null],ie=[],oe=this.table,pe="",be=0,ae=0,ne=2,se=1,de=ie.slice.call(arguments,1),X=Object.create(this.lexer),ge={yy:{}};for(var W in this.yy)Object.prototype.hasOwnProperty.call(this.yy,W)&&(ge.yy[W]=this.yy[W]);X.setInput(R,ge.yy),ge.yy.lexer=X,ge.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var xe=X.yylloc;ie.push(xe);var U=X.options&&X.options.ranges;typeof ge.yy.parseError=="function"?this.parseError=ge.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fe(){var _t;return _t=K.pop()||X.lex()||se,typeof _t!="number"&&(_t instanceof Array&&(K=_t,_t=K.pop()),_t=F.symbols_[_t]||_t),_t}for(var Pe,je,Ie,Se,Ce={},ke,Ke,Ft,Ne;;){if(je=j[j.length-1],this.defaultActions[je]?Ie=this.defaultActions[je]:((Pe===null||typeof Pe>"u")&&(Pe=Fe()),Ie=oe[je]&&oe[je][Pe]),typeof Ie>"u"||!Ie.length||!Ie[0]){var gn="";Ne=[];for(ke in oe[je])this.terminals_[ke]&&ke>ne&&Ne.push("'"+this.terminals_[ke]+"'");X.showPosition?gn="Parse error on line "+(be+1)+`: +`+X.showPosition()+` +Expecting `+Ne.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":gn="Parse error on line "+(be+1)+": Unexpected "+(Pe==se?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(gn,{text:X.match,token:this.terminals_[Pe]||Pe,line:X.yylineno,loc:xe,expected:Ne})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+je+", token: "+Pe);switch(Ie[0]){case 1:j.push(Pe),ee.push(X.yytext),ie.push(X.yylloc),j.push(Ie[1]),Pe=null,ae=X.yyleng,pe=X.yytext,be=X.yylineno,xe=X.yylloc;break;case 2:if(Ke=this.productions_[Ie[1]][1],Ce.$=ee[ee.length-Ke],Ce._$={first_line:ie[ie.length-(Ke||1)].first_line,last_line:ie[ie.length-1].last_line,first_column:ie[ie.length-(Ke||1)].first_column,last_column:ie[ie.length-1].last_column},U&&(Ce._$.range=[ie[ie.length-(Ke||1)].range[0],ie[ie.length-1].range[1]]),Se=this.performAction.apply(Ce,[pe,ae,be,ge.yy,Ie[1],ee,ie].concat(de)),typeof Se<"u")return Se;Ke&&(j=j.slice(0,-1*Ke*2),ee=ee.slice(0,-1*Ke),ie=ie.slice(0,-1*Ke)),j.push(this.productions_[Ie[1]][0]),ee.push(Ce.$),ie.push(Ce._$),Ft=oe[j[j.length-2]][j[j.length-1]],j.push(Ft);break;case 3:return!0}}return!0}},_=function(){var P={EOF:1,parseError:function(F,j){if(this.yy.parser)this.yy.parser.parseError(F,j);else throw new Error(F)},setInput:function(R,F){return this.yy=F||this.yy||{},this._input=R,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},input:function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var F=R.match(/(?:\r\n?|\n).*/g);return F?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},unput:function(R){var F=R.length,j=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-F),this.offset-=F;var K=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),j.length-1&&(this.yylineno-=j.length-1);var ee=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:j?(j.length===K.length?this.yylloc.first_column:0)+K[K.length-j.length].length-j[0].length:this.yylloc.first_column-F},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-F]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var R=this.pastInput(),F=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+F+"^"},test_match:function(R,F){var j,K,ee;if(this.options.backtrack_lexer&&(ee={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&&(ee.yylloc.range=this.yylloc.range.slice(0))),K=R[0].match(/(?:\r\n?|\n).*/g),K&&(this.yylineno+=K.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:K?K[K.length-1].length-K[K.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,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(R[0].length),this.matched+=R[0],j=this.performAction.call(this,this.yy,this,F,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),j)return j;if(this._backtrack){for(var ie in ee)this[ie]=ee[ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,F,j,K;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),ie=0;ieF[0].length)){if(F=j,K=ie,this.options.backtrack_lexer){if(R=this.test_match(j,ee[ie]),R!==!1)return R;if(this._backtrack){F=!1;continue}else return!1}else if(!this.options.flex)break}return F?(R=this.test_match(F,ee[K]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var F=this.next();return F||this.lex()},begin:function(F){this.conditionStack.push(F)},popState:function(){var F=this.conditionStack.length-1;return F>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(F){return F=this.conditionStack.length-1-Math.abs(F||0),F>=0?this.conditionStack[F]:"INITIAL"},pushState:function(F){this.begin(F)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(F,j,K,ee){switch(K){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;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"}},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}}};return P}();T.lexer=_;function A(){this.yy={}}return A.prototype=T,T.Parser=A,new A}();Kve.parser=Kve;const san=Kve;let JD="";const Wve=[],tj=[],nj=[],aan=function(){Wve.length=0,tj.length=0,JD="",nj.length=0,Pg()},oan=function(i){JD=i,Wve.push(i)},can=function(){return Wve},uan=function(){let i=PKe();const s=100;let u=0;for(;!i&&u{u.people&&i.push(...u.people)}),[...new Set(i)].sort()},han=function(i,s){const u=s.substr(1).split(":");let d=0,p=[];u.length===1?(d=Number(u[0]),p=[]):(d=Number(u[0]),p=u[1].split(","));const v=p.map(y=>y.trim()),b={section:JD,type:JD,people:v,task:i,score:d};nj.push(b)},fan=function(i){const s={section:JD,type:JD,description:i,task:i,classes:[]};tj.push(s)},PKe=function(){const i=function(u){return nj[u].processed};let s=!0;for(const[u,d]of nj.entries())i(u),s=s&&d.processed;return s},BKe={getConfig:()=>qt().journey,clear:aan,setDiagramTitle:cm,getDiagramTitle:Ap,setAccTitle:Bg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,addSection:oan,getSections:can,getTasks:uan,addTask:han,addTaskOrg:fan,getActors:function(){return lan()}},dan=i=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${i.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${i.textColor} + } + + .legend { + fill: ${i.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${i.textColor} + } + + .face { + ${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${i.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${i.fillType0?`fill: ${i.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${i.fillType0?`fill: ${i.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${i.fillType0?`fill: ${i.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${i.fillType0?`fill: ${i.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${i.fillType0?`fill: ${i.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${i.fillType0?`fill: ${i.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${i.fillType0?`fill: ${i.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${i.fillType0?`fill: ${i.fillType7}`:""}; + } + + .actor-0 { + ${i.actor0?`fill: ${i.actor0}`:""}; + } + .actor-1 { + ${i.actor1?`fill: ${i.actor1}`:""}; + } + .actor-2 { + ${i.actor2?`fill: ${i.actor2}`:""}; + } + .actor-3 { + ${i.actor3?`fill: ${i.actor3}`:""}; + } + .actor-4 { + ${i.actor4?`fill: ${i.actor4}`:""}; + } + .actor-5 { + ${i.actor5?`fill: ${i.actor5}`:""}; + } +`,Yve=function(i,s){return AQ(i,s)},gan=function(i,s){const d=i.append("circle").attr("cx",s.cx).attr("cy",s.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",s.cx-15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",s.cx+15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(T){const _=lD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+2)+")")}function b(T){const _=lD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+7)+")")}function y(T){T.append("line").attr("class","mouth").attr("stroke",2).attr("x1",s.cx-5).attr("y1",s.cy+7).attr("x2",s.cx+5).attr("y2",s.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s.score>3?v(p):s.score<3?b(p):y(p),d},FKe=function(i,s){const u=i.append("circle");return u.attr("cx",s.cx),u.attr("cy",s.cy),u.attr("class","actor-"+s.pos),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("r",s.r),u.class!==void 0&&u.attr("class",u.class),s.title!==void 0&&u.append("title").text(s.title),u},RKe=function(i,s){return tUt(i,s)},pan=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(s.x,s.y,50,20,7)),d.attr("class","labelBox"),s.y=s.y+s.labelMargin,s.x=s.x+.5*s.labelMargin,RKe(i,s)},ban=function(i,s,u){const d=i.append("g"),p=qC();p.x=s.x,p.y=s.y,p.fill=s.fill,p.width=u.width*s.taskCount+u.diagramMarginX*(s.taskCount-1),p.height=u.height,p.class="journey-section section-type-"+s.num,p.rx=3,p.ry=3,Yve(d,p),$Ke(u)(s.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+s.num},u,s.colour)};let jKe=-1;const man=function(i,s,u){const d=s.x+u.width/2,p=i.append("g");jKe++;const v=300+5*30;p.append("line").attr("id","task"+jKe).attr("x1",d).attr("y1",s.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),gan(p,{cx:d,cy:300+(5-s.score)*30,score:s.score});const b=qC();b.x=s.x,b.y=s.y,b.fill=s.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+s.num,b.rx=3,b.ry=3,Yve(p,b);let y=s.x+14;s.people.forEach(T=>{const _=s.actors[T].color,A={cx:y,cy:s.y,r:7,fill:_,stroke:"#000",title:T,pos:s.actors[T].position};FKe(p,A),y+=10}),$Ke(u)(s.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,s.colour)},van=function(i,s){Tqe(i,s)},$Ke=function(){function i(p,v,b,y,T,_,A,P){const R=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function s(p,v,b,y,T,_,A,P,R){const{taskFontSize:F,taskFontFamily:j}=P,K=p.split(//gi);for(let ee=0;ee{const p=K7[d].color,v={cx:20,cy:u,r:7,fill:p,stroke:"#000",pos:K7[d].position};rj.drawCircle(i,v);const b={x:40,y:u+7,fill:"#666",text:d,textMargin:s.boxTextMargin|5};rj.drawText(i,b),u+=20})}const MJ=qt().journey,iS=MJ.leftMargin,xan=function(i,s,u,d){const p=qt().journey,v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body");qv.init();const T=y.select("#"+s);rj.initGraphics(T);const _=d.db.getTasks(),A=d.db.getDiagramTitle(),P=d.db.getActors();for(const ie in K7)delete K7[ie];let R=0;P.forEach(ie=>{K7[ie]={color:p.actorColours[R%p.actorColours.length],position:R},R++}),yan(T),qv.insert(0,0,iS,Object.keys(K7).length*50),kan(T,_,0);const F=qv.getBounds();A&&T.append("text").text(A).attr("x",iS).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const j=F.stopy-F.starty+2*p.diagramMarginY,K=iS+F.stopx+2*p.diagramMarginX;Ng(T,j,K,p.useMaxWidth),T.append("line").attr("x1",iS).attr("y1",p.height*4).attr("x2",K-iS-4).attr("y2",p.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const ee=A?70:0;T.attr("viewBox",`${F.startx} -25 ${K} ${j+ee}`),T.attr("preserveAspectRatio","xMinYMin meet"),T.attr("height",j+ee+25)},qv={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,s,u,d){i[s]===void 0?i[s]=u:i[s]=d(u,i[s])},updateBounds:function(i,s,u,d){const p=qt().journey,v=this;let b=0;function y(T){return function(A){b++;const P=v.sequenceItems.length-b+1;v.updateVal(A,"starty",s-P*p.boxMargin,Math.min),v.updateVal(A,"stopy",d+P*p.boxMargin,Math.max),v.updateVal(qv.data,"startx",i-P*p.boxMargin,Math.min),v.updateVal(qv.data,"stopx",u+P*p.boxMargin,Math.max),T!=="activation"&&(v.updateVal(A,"startx",i-P*p.boxMargin,Math.min),v.updateVal(A,"stopx",u+P*p.boxMargin,Math.max),v.updateVal(qv.data,"starty",s-P*p.boxMargin,Math.min),v.updateVal(qv.data,"stopy",d+P*p.boxMargin,Math.max))}}this.sequenceItems.forEach(y())},insert:function(i,s,u,d){const p=Math.min(i,u),v=Math.max(i,u),b=Math.min(s,d),y=Math.max(s,d);this.updateVal(qv.data,"startx",p,Math.min),this.updateVal(qv.data,"starty",b,Math.min),this.updateVal(qv.data,"stopx",v,Math.max),this.updateVal(qv.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Xve=MJ.sectionFills,zKe=MJ.sectionColours,kan=function(i,s,u){const d=qt().journey;let p="";const v=d.height*2+d.diagramMarginY,b=u+v;let y=0,T="#CCC",_="black",A=0;for(const[P,R]of s.entries()){if(p!==R.section){T=Xve[y%Xve.length],A=y%Xve.length,_=zKe[y%zKe.length];let j=0;const K=R.section;for(let ie=P;ie(K7[K]&&(j[K]=K7[K]),j),{});R.x=P*d.taskMargin+P*d.width+iS,R.y=b,R.width=d.diagramMarginX,R.height=d.diagramMarginY,R.colour=_,R.fill=T,R.num=A,R.actors=F,rj.drawTask(i,R,d),qv.insert(R.x,R.y,R.x+R.width+d.taskMargin,300+5*30)}},qKe={setConf:wan,draw:xan},Ean=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:san,db:BKe,renderer:qKe,styles:dan,init:i=>{qKe.setConf(i.journey),BKe.clear()}}},Symbol.toStringTag,{value:"Module"})),Tan=(i,s,u)=>{const{parentById:d}=u,p=new Set;let v=i;for(;v;){if(p.add(v),v===s)return v;v=d[v]}for(v=s;v;){if(p.has(v))return v;v=d[v]}return"root"};function DJ(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var HKe={exports:{}};(function(i,s){(function(u){i.exports=u()})(function(){return function(){function u(d,p,v){function b(_,A){if(!p[_]){if(!d[_]){var P=typeof DJ=="function"&&DJ;if(!A&&P)return P(_,!0);if(y)return y(_,!0);var R=new Error("Cannot find module '"+_+"'");throw R.code="MODULE_NOT_FOUND",R}var F=p[_]={exports:{}};d[_][0].call(F.exports,function(j){var K=d[_][1][j];return b(K||j)},F,F.exports,u,d,p,v)}return p[_].exports}for(var y=typeof DJ=="function"&&DJ,T=0;T0&&arguments[0]!==void 0?arguments[0]:{},R=P.defaultLayoutOptions,F=R===void 0?{}:R,j=P.algorithms,K=j===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:j,ee=P.workerFactory,ie=P.workerUrl;if(b(this,_),this.defaultLayoutOptions=F,this.initialized=!1,typeof ie>"u"&&typeof ee>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var oe=ee;typeof ie<"u"&&typeof ee>"u"&&(oe=function(ae){return new Worker(ae)});var pe=oe(ie);if(typeof pe.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new T(pe),this.worker.postMessage({cmd:"register",algorithms:K}).then(function(be){return A.initialized=!0}).catch(console.err)}return v(_,[{key:"layout",value:function(P){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},F=R.layoutOptions,j=F===void 0?this.defaultLayoutOptions:F,K=R.logging,ee=K===void 0?!1:K,ie=R.measureExecutionTime,oe=ie===void 0?!1:ie;return P?this.worker.postMessage({cmd:"layout",graph:P,layoutOptions:j,options:{logging:ee,measureExecutionTime:oe}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),_}();p.default=y;var T=function(){function _(A){var P=this;if(b(this,_),A===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=A,this.worker.onmessage=function(R){setTimeout(function(){P.receive(P,R)},0)}}return v(_,[{key:"postMessage",value:function(P){var R=this.id||0;this.id=R+1,P.id=R;var F=this;return new Promise(function(j,K){F.resolvers[R]=function(ee,ie){ee?(F.convertGwtStyleError(ee),K(ee)):j(ie)},F.worker.postMessage(P)})}},{key:"receive",value:function(P,R){var F=R.data,j=P.resolvers[F.id];j&&(delete P.resolvers[F.id],F.error?j(F.error):j(null,F.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(P){if(P){var R=P.__java$exception;R&&(R.cause&&R.cause.backingJsObject&&(P.cause=R.cause.backingJsObject,this.convertGwtStyleError(P.cause)),delete P.__java$exception)}}}]),_}()},{}],2:[function(u,d,p){(function(v){(function(){var b;typeof window<"u"?b=window:typeof v<"u"?b=v:typeof self<"u"&&(b=self);var y;function T(){}function _(){}function A(){}function P(){}function R(){}function F(){}function j(){}function K(){}function ee(){}function ie(){}function oe(){}function pe(){}function be(){}function ae(){}function ne(){}function se(){}function de(){}function X(){}function ge(){}function W(){}function xe(){}function U(){}function Fe(){}function Pe(){}function je(){}function Ie(){}function Se(){}function Ce(){}function ke(){}function Ke(){}function Ft(){}function Ne(){}function gn(){}function _t(){}function Et(){}function Gt(){}function ln(){}function xt(){}function Pt(){}function Qe(){}function Dt(){}function kt(){}function On(){}function ht(){}function zr(){}function yt(){}function ji(){}function xi(){}function Ma(){}function zs(){}function ao(){}function Tr(){}function Fn(){}function qn(){}function Un(){}function At(){}function wt(){}function on(){}function fn(){}function An(){}function oo(){}function jo(){}function $o(){}function Pa(){}function wo(){}function _s(){}function tl(){}function da(){}function j0(){}function pm(){}function Ml(){}function Xc(){}function Bc(){}function ja(){}function Ou(){}function Sa(){}function Po(){}function Fc(){}function xa(){}function Ba(){}function ga(){}function kh(){}function lu(){}function o5(){}function Wh(){}function od(){}function Gd(){}function cd(){}function Kd(){}function $g(){}function as(){}function wn(){}function Zr(){}function Zi(){}function nu(){}function vu(){}function Dl(){}function Yh(){}function w1(){}function $0(){}function Wi(){}function Bs(){}function Qa(){}function Bi(){}function Nu(){}function Ot(){}function W3(){}function Kt(){}function z0(){}function Bp(){}function Y3(){}function $9(){}function c5(){}function Eh(){}function zg(){}function bm(){}function z9(){}function mm(){}function u5(){}function y1(){}function ud(){}function ld(){}function q9(){}function Vv(){}function Y7(){}function G2(){}function X7(){}function l5(){}function X3(){}function Fp(){}function nI(){}function ch(){}function oS(){}function hu(){}function $J(){}function vm(){}function zJ(){}function oj(){}function qJ(){}function cj(){}function q0(){}function Q3(){}function cS(){}function uj(){}function K2(){}function J3(){}function HJ(){}function wm(){}function VJ(){}function UJ(){}function Q7(){}function uS(){}function lj(){}function H9(){}function GJ(){}function V9(){}function KJ(){}function WJ(){}function YJ(){}function XJ(){}function QJ(){}function JJ(){}function ZJ(){}function eZ(){}function tZ(){}function nZ(){}function rZ(){}function rI(){}function iZ(){}function sZ(){}function lS(){}function hj(){}function J7(){}function aZ(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function hS(){}function iI(){}function fj(){}function h5(){}function f5(){}function hZ(){}function t0(){}function Z7(){}function fZ(){}function U9(){}function Wd(){}function dZ(){}function gZ(){}function pZ(){}function dj(){}function bZ(){}function fS(){}function dS(){}function gj(){}function sI(){}function e8(){}function mZ(){}function pj(){}function bj(){}function vZ(){}function wZ(){}function yZ(){}function xZ(){}function kZ(){}function EZ(){}function Yd(){}function Uv(){}function TZ(){}function gS(){}function pS(){}function CZ(){}function d5(){}function G9(){}function aI(){}function Z3(){}function K9(){}function SZ(){}function bS(){}function hd(){}function mj(){}function oI(){}function W9(){}function cI(){}function vj(){}function _Z(){}function uI(){}function AZ(){}function LZ(){}function wj(){}function t8(){}function yj(){}function n8(){}function MZ(){}function lI(){}function DZ(){}function IZ(){}function OZ(){}function NZ(){}function xj(){}function PZ(){}function BZ(){}function kj(){}function FZ(){}function RZ(){}function jZ(){}function $Z(){}function Ej(){}function zZ(){}function qZ(){}function Tj(){}function Cj(){}function Sj(){}function HZ(){}function VZ(){}function Y9(){}function r8(){}function mS(){}function UZ(){}function hI(){}function vS(){}function fI(){}function _j(){}function Aj(){}function GZ(){}function KZ(){}function WZ(){}function Lj(){}function Mj(){}function YZ(){}function XZ(){}function QZ(){}function JZ(){}function ZZ(){}function Dj(){}function eee(){}function tee(){}function nee(){}function ree(){}function Ij(){}function wS(){}function iee(){}function see(){}function Oj(){}function aee(){}function oee(){}function cee(){}function uee(){}function lee(){}function hee(){}function Nj(){}function fee(){}function Pj(){}function dee(){}function gee(){}function pee(){}function yS(){}function bee(){}function xS(){}function mee(){}function Bj(){}function Fj(){}function Rj(){}function jj(){}function Gv(){}function $j(){}function zj(){}function qj(){}function Hj(){}function vee(){}function i8(){}function dI(){}function g5(){}function wee(){}function yee(){}function kS(){}function Vj(){}function xee(){}function kee(){}function Eee(){}function Tee(){}function Cee(){}function See(){}function _ee(){}function Aee(){}function Lee(){}function Mee(){}function ES(){}function Uj(){}function Dee(){}function Iee(){}function Oee(){}function Nee(){}function Pee(){}function Gj(){}function Kj(){}function Bee(){}function Wj(){}function Yj(){}function Fee(){}function Ree(){}function jee(){}function $ee(){}function zee(){}function qee(){}function Hee(){}function Vee(){}function gI(){}function Uee(){}function X9(){}function Xj(){}function Gee(){}function Kee(){}function Wee(){}function Yee(){}function Xee(){}function Qee(){}function Jee(){}function Zee(){}function ete(){}function tte(){}function nte(){}function rte(){}function ite(){}function ste(){}function ate(){}function s8(){}function Qj(){}function ote(){}function cte(){}function ute(){}function Jj(){}function lte(){}function TS(){}function hte(){}function fte(){}function dte(){}function gte(){}function pte(){}function bte(){}function mte(){}function vte(){}function wte(){}function yte(){}function a8(){}function xte(){}function kte(){}function Ete(){}function Tte(){}function Cte(){}function Ste(){}function _te(){}function Ate(){}function CS(){}function Lte(){}function Mte(){}function Dte(){}function Ite(){}function Ote(){}function Nte(){}function Pte(){}function Bte(){}function o8(){}function Zj(){}function Fte(){}function pI(){}function Rte(){}function jte(){}function $te(){}function zte(){}function qte(){}function Hte(){}function Vte(){}function e$(){}function Ute(){}function t$(){}function Gte(){}function n$(){}function r$(){}function i$(){}function Kte(){}function Wte(){}function s$(){}function Yte(){}function a$(){}function Xte(){}function Qte(){}function bI(){}function Jte(){}function Zte(){}function ene(){}function tne(){}function nne(){}function o$(){}function rne(){}function ine(){}function sne(){}function pwe(){}function ane(){}function one(){}function cne(){}function une(){}function lne(){}function hne(){}function fne(){}function dne(){}function gne(){}function pne(){}function bne(){}function mne(){}function vne(){}function wne(){}function yne(){}function xne(){}function fu(){}function kne(){}function SS(){}function Rc(){}function Pu(){}function hs(){}function mI(){}function Ene(){}function Tne(){}function Cne(){}function c8(){}function ym(){}function Q9(){}function Sne(){}function vI(){}function _ne(){}function Ane(){}function Lne(){}function c$(){}function Mne(){}function Dne(){}function wI(){}function Ine(){}function uh(){}function gl(){}function u$(){}function One(){}function Nne(){}function ey(){}function p5(){}function ty(){}function Rp(){}function u8(){}function yI(){}function l$(){}function h$(){}function Pne(){}function x1(){}function f$(){}function ny(){}function J9(){}function xI(){}function l8(){}function W2(){}function d$(){}function g$(){}function p$(){}function Bne(){}function h8(){}function ry(){}function jp(){}function Y2(){}function b5(){}function Z9(){}function _S(){}function kI(){}function Fne(){}function Rne(){}function b$(){}function m$(){}function Ut(){}function ek(){}function v$(){}function w$(){}function jne(){}function tk(){}function nk(){}function y$(){}function $ne(){}function zne(){}function qne(){}function Hne(){}function Vne(){}function Une(){}function EI(){}function Gne(){}function Kne(){}function x$(){}function AS(){}function Wne(){}function TI(){}function rk(){}function ik(){}function sk(){}function k$(){}function Yne(){}function E$(){}function T$(){}function Xne(){}function LS(){}function X2(){}function C$(){}function S$(){}function MS(){}function Qne(){}function m5(){}function _$(){}function CI(){}function Qc(){}function SI(){}function _I(){}function DS(){}function Jne(){}function Zne(){}function IS(){}function ere(){}function OS(){}function NS(){}function H0(){}function AI(){}function LI(){}function f8(){}function tre(){}function nre(){}function rre(){}function ire(){}function Xd(){}function PS(){}function d8(){}function k1(){}function A$(){}function L$(){}function M$(){}function D$(){}function I$(){}function O$(){}function V0(){}function nl(){}function sre(){}function are(){}function ore(){}function rl(){}function BS(){}function N$(){}function P$(){}function g8(){}function cre(){}function ak(){}function ure(){}function B$(){}function lre(){}function hre(){}function FS(){}function F$(){}function MI(){}function RS(){}function fre(){}function dre(){}function DI(){}function jS(){}function E1(){}function ok(){}function gre(){}function ck(){}function II(){}function xm(){}function $S(){}function OI(){}function U0(){}function zS(){}function T1(){}function C1(){}function pre(){}function bre(){}function v5(){}function uk(){}function lk(){}function qS(){}function mre(){}function vre(){}function p8(){}function R$(){}function j$(){}function wre(){}function $$(){}function yre(){}function z$(){}function NI(){}function xre(){}function HS(){}function kre(){}function Ere(){}function Tre(){}function Cre(){}function Sre(){}function q$(){}function _re(){}function Are(){}function Lre(){}function H$(){}function Mre(){}function Dre(){}function VS(){}function Ire(){}function Ore(){}function Nre(){}function Pre(){}function Bre(){}function Fre(){}function V$(){}function Rre(){}function U$(){}function jre(){}function PI(){}function $re(){}function G$(){}function zre(){}function K$(){}function qre(){}function W$(){}function Y$(){}function X$(){}function BI(){}function w5(){}function US(){}function S1(){}function Q$(){}function hk(){}function FI(){}function J$(){}function km(){}function Z$(){}function GS(){o_()}function Hre(){iO()}function ez(){dU()}function tz(){Lce()}function nz(){IA()}function KS(){Xxe()}function WS(){b0()}function rz(){axe()}function iz(){VN()}function b8(){sO()}function Kv(){OO()}function fk(){het()}function sz(){lx()}function Vre(){$ut()}function az(){s7e()}function m8(){Aot()}function RI(){a7e()}function oz(){mlt()}function Ure(){_ot()}function cz(){TE()}function YS(){eft()}function XS(){Zht()}function jI(){Ect()}function Gre(){tft()}function Kre(){Cb()}function Wre(){eq()}function Yre(){Yke()}function Xre(){Nt()}function Qre(){nft()}function Jre(){Lft()}function Zre(){Lot()}function eie(){egt()}function tie(){Mot()}function nie(){gmt()}function rie(){_9e()}function iie(){tp()}function sie(){p1t()}function v8(){Hc()}function aie(){jot()}function dk(){ux()}function Cf(){uke()}function oie(){Sb()}function gk(){lke()}function QS(){z1()}function cie(){YN()}function uie(){tle()}function lie(){lue()}function Sf(){pit()}function hie(){ZH()}function fie(){wU()}function uz(){pi()}function die(){PV()}function lz(){B8e()}function hz(){lce()}function fz(){zU()}function dz(){xke()}function n0(e){nr(e)}function gz(e){this.a=e}function JS(e){this.a=e}function pz(e){this.a=e}function bz(e){this.a=e}function gie(e){this.a=e}function pie(e){this.a=e}function mz(e){this.a=e}function bie(e){this.a=e}function vz(e){this.a=e}function Q2(e){this.a=e}function mie(e){this.a=e}function vie(e){this.a=e}function $I(e){this.a=e}function wie(e){this.a=e}function yie(e){this.a=e}function pk(e){this.a=e}function J2(e){this.a=e}function wz(e){this.a=e}function bk(e){this.a=e}function y5(e){this.a=e}function zI(e){this.a=e}function w8(e){this.a=e}function qI(e){this.b=e}function qg(e){this.c=e}function xie(e){this.a=e}function iy(e){this.a=e}function yz(e){this.a=e}function xz(e){this.a=e}function HI(e){this.a=e}function VI(e){this.a=e}function kz(e){this.a=e}function y8(e){this.a=e}function mk(e){this.a=e}function kie(e){this.a=e}function Ez(e){this.a=e}function Tz(e){this.a=e}function Cz(e){this.a=e}function Sz(e){this.a=e}function jc(e){this.a=e}function vk(e){this.a=e}function wk(e){this.a=e}function $p(){this.a=[]}function Eie(e,t){e.a=t}function Tie(e,t){e.a=t}function Cie(e,t){e.b=t}function Sie(e,t){e.b=t}function _ie(e,t){e.b=t}function _z(e,t){e.j=t}function bwe(e,t){e.g=t}function Az(e,t){e.i=t}function Aie(e,t){e.c=t}function x8(e,t){e.c=t}function mwe(e,t){e.d=t}function k8(e,t){e.d=t}function x(e,t){e.k=t}function m(e,t){e.c=t}function k(e,t){e.c=t}function S(e,t){e.a=t}function M(e,t){e.a=t}function O(e,t){e.f=t}function N(e,t){e.a=t}function $(e,t){e.b=t}function H(e,t){e.d=t}function q(e,t){e.i=t}function Y(e,t){e.o=t}function Z(e,t){e.r=t}function ce(e,t){e.a=t}function ve(e,t){e.b=t}function me(e,t){e.e=t}function Le(e,t){e.f=t}function _e(e,t){e.g=t}function Ee(e,t){e.e=t}function Be(e,t){e.f=t}function Re(e,t){e.f=t}function Ve(e,t){e.a=t}function ct(e,t){e.b=t}function st(e,t){e.n=t}function Ye(e,t){e.a=t}function mt(e,t){e.c=t}function Je(e,t){e.c=t}function Lt(e,t){e.c=t}function Mt(e,t){e.a=t}function ut(e,t){e.a=t}function Wt(e,t){e.d=t}function Tt(e,t){e.d=t}function _n(e,t){e.e=t}function hn(e,t){e.e=t}function Yt(e,t){e.g=t}function Dn(e,t){e.f=t}function ir(e,t){e.j=t}function vr(e,t){e.a=t}function Nn(e,t){e.a=t}function pr(e,t){e.b=t}function Er(e){e.b=e.a}function Mr(e){e.c=e.d.d}function Cr(e){this.a=e}function Or(e){this.a=e}function Wn(e){this.a=e}function br(e){this.a=e}function Sr(e){this.a=e}function Nr(e){this.a=e}function Si(e){this.a=e}function ys(e){this.a=e}function pa(e){this.a=e}function Mi(e){this.a=e}function gi(e){this.a=e}function fs(e){this.a=e}function Fs(e){this.a=e}function xs(e){this.a=e}function Rs(e){this.b=e}function yo(e){this.b=e}function $a(e){this.b=e}function Da(e){this.a=e}function Bo(e){this.a=e}function tr(e){this.c=e}function G(e){this.c=e}function Jn(e){this.c=e}function kr(e){this.d=e}function lr(e){this.a=e}function Vt(e){this.a=e}function Hs(e){this.a=e}function wr(e){this.a=e}function Es(e){this.a=e}function go(e){this.a=e}function $c(e){this.a=e}function za(e){this.a=e}function Sc(e){this.a=e}function ba(e){this.a=e}function xo(e){this.a=e}function lh(e){this.a=e}function Wl(e){this.a=e}function Z2(e){this.a=e}function eb(e){this.a=e}function G0(e){this.a=e}function zp(e){this.a=e}function fd(e){this.a=e}function Wv(e){this.a=e}function sy(e){this.a=e}function E8(e){this.a=e}function x5(e){this.a=e}function T8(e){this.a=e}function ZS(e){this.a=e}function k5(e){this.a=e}function Qd(e){this.a=e}function _1(e){this.a=e}function Jd(e){this.a=e}function Yv(e){this.a=e}function Em(e){this.a=e}function Lz(e){this.a=e}function Lie(e){this.a=e}function Mie(e){this.a=e}function e_(e){this.a=e}function Die(e){this.a=e}function Iie(e){this.a=e}function E5(e){this.a=e}function Mz(e){this.a=e}function yk(e){this.a=e}function UI(e){this.a=e}function t_(e){this.a=e}function Dz(e){this.a=e}function Iz(e){this.a=e}function Oie(e){this.a=e}function qp(e){this.a=e}function n_(e){this.a=e}function GI(e){this.a=e}function Tm(e){this.a=e}function Zd(e){this.e=e}function T5(e){this.a=e}function jWe(e){this.a=e}function C8(e){this.a=e}function vwe(e){this.a=e}function $We(e){this.a=e}function zWe(e){this.a=e}function qWe(e){this.a=e}function HWe(e){this.a=e}function VWe(e){this.a=e}function UWe(e){this.a=e}function GWe(e){this.a=e}function KWe(e){this.a=e}function WWe(e){this.a=e}function YWe(e){this.a=e}function XWe(e){this.a=e}function wwe(e){this.a=e}function QWe(e){this.a=e}function JWe(e){this.a=e}function ZWe(e){this.a=e}function eYe(e){this.a=e}function tYe(e){this.a=e}function nYe(e){this.a=e}function rYe(e){this.a=e}function iYe(e){this.a=e}function sYe(e){this.a=e}function aYe(e){this.a=e}function oYe(e){this.a=e}function cYe(e){this.a=e}function uYe(e){this.a=e}function lYe(e){this.a=e}function hYe(e){this.a=e}function fYe(e){this.a=e}function dYe(e){this.a=e}function gYe(e){this.a=e}function pYe(e){this.a=e}function bYe(e){this.a=e}function mYe(e){this.a=e}function vYe(e){this.a=e}function wYe(e){this.a=e}function yYe(e){this.a=e}function xYe(e){this.a=e}function kYe(e){this.a=e}function EYe(e){this.a=e}function TYe(e){this.a=e}function CYe(e){this.a=e}function SYe(e){this.a=e}function _Ye(e){this.a=e}function AYe(e){this.a=e}function LYe(e){this.a=e}function MYe(e){this.a=e}function DYe(e){this.a=e}function IYe(e){this.a=e}function OYe(e){this.a=e}function NYe(e){this.a=e}function PYe(e){this.c=e}function BYe(e){this.b=e}function FYe(e){this.a=e}function RYe(e){this.a=e}function jYe(e){this.a=e}function $Ye(e){this.a=e}function zYe(e){this.a=e}function qYe(e){this.a=e}function HYe(e){this.a=e}function VYe(e){this.a=e}function UYe(e){this.a=e}function GYe(e){this.a=e}function KYe(e){this.a=e}function WYe(e){this.a=e}function YYe(e){this.a=e}function XYe(e){this.a=e}function QYe(e){this.a=e}function JYe(e){this.a=e}function ZYe(e){this.a=e}function eXe(e){this.a=e}function tXe(e){this.a=e}function nXe(e){this.a=e}function rXe(e){this.a=e}function iXe(e){this.a=e}function sXe(e){this.a=e}function aXe(e){this.a=e}function oXe(e){this.a=e}function cXe(e){this.a=e}function uXe(e){this.a=e}function Hg(e){this.a=e}function C5(e){this.a=e}function lXe(e){this.a=e}function hXe(e){this.a=e}function fXe(e){this.a=e}function dXe(e){this.a=e}function gXe(e){this.a=e}function pXe(e){this.a=e}function bXe(e){this.a=e}function mXe(e){this.a=e}function vXe(e){this.a=e}function wXe(e){this.a=e}function yXe(e){this.a=e}function xXe(e){this.a=e}function kXe(e){this.a=e}function EXe(e){this.a=e}function TXe(e){this.a=e}function CXe(e){this.a=e}function SXe(e){this.a=e}function _Xe(e){this.a=e}function AXe(e){this.a=e}function LXe(e){this.a=e}function MXe(e){this.a=e}function DXe(e){this.a=e}function IXe(e){this.a=e}function OXe(e){this.a=e}function NXe(e){this.a=e}function PXe(e){this.a=e}function Oz(e){this.a=e}function BXe(e){this.f=e}function FXe(e){this.a=e}function RXe(e){this.a=e}function jXe(e){this.a=e}function $Xe(e){this.a=e}function zXe(e){this.a=e}function qXe(e){this.a=e}function HXe(e){this.a=e}function VXe(e){this.a=e}function UXe(e){this.a=e}function GXe(e){this.a=e}function KXe(e){this.a=e}function WXe(e){this.a=e}function YXe(e){this.a=e}function XXe(e){this.a=e}function QXe(e){this.a=e}function JXe(e){this.a=e}function ZXe(e){this.a=e}function eQe(e){this.a=e}function tQe(e){this.a=e}function nQe(e){this.a=e}function rQe(e){this.a=e}function iQe(e){this.a=e}function sQe(e){this.a=e}function aQe(e){this.a=e}function oQe(e){this.a=e}function cQe(e){this.a=e}function uQe(e){this.a=e}function lQe(e){this.a=e}function Nie(e){this.a=e}function ywe(e){this.a=e}function Ui(e){this.b=e}function hQe(e){this.a=e}function fQe(e){this.a=e}function dQe(e){this.a=e}function gQe(e){this.a=e}function pQe(e){this.a=e}function bQe(e){this.a=e}function mQe(e){this.a=e}function vQe(e){this.b=e}function wQe(e){this.a=e}function KI(e){this.a=e}function yQe(e){this.a=e}function xQe(e){this.a=e}function xwe(e){this.c=e}function Nz(e){this.e=e}function Pz(e){this.a=e}function Bz(e){this.a=e}function Pie(e){this.a=e}function kQe(e){this.d=e}function EQe(e){this.a=e}function kwe(e){this.a=e}function Ewe(e){this.a=e}function Xv(e){this.e=e}function Lcn(){this.a=0}function Pr(){Nl(this)}function bt(){Yse(this)}function Bie(){cat(this)}function TQe(){}function Qv(){this.c=LPe}function CQe(e,t){e.b+=t}function Mcn(e,t){t.Wb(e)}function Dcn(e){return e.a}function Icn(e){return e.a}function Ocn(e){return e.a}function Ncn(e){return e.a}function Pcn(e){return e.a}function ue(e){return e.e}function Bcn(){return null}function Fcn(){return null}function Rcn(){c3e(),mIn()}function jcn(e){e.b.Of(e.e)}function SQe(e){e.b=new nse}function r_(e,t){e.b=t-e.b}function i_(e,t){e.a=t-e.a}function $n(e,t){e.push(t)}function _Qe(e,t){e.sort(t)}function AQe(e,t){t.jd(e.a)}function $cn(e,t){la(t,e)}function zcn(e,t,n){e.Yd(n,t)}function WI(e,t){e.e=t,t.b=e}function Twe(e){wd(),this.a=e}function LQe(e){wd(),this.a=e}function MQe(e){wd(),this.a=e}function Fie(e){ww(),this.a=e}function DQe(e){Xk(),S0e.le(e)}function Cwe(){Cwe=U,new Pr}function Cm(){Jnt.call(this)}function Swe(){Jnt.call(this)}function _we(){Cm.call(this)}function Rie(){Cm.call(this)}function IQe(){Cm.call(this)}function YI(){Cm.call(this)}function pl(){Cm.call(this)}function S8(){Cm.call(this)}function Qr(){Cm.call(this)}function Xh(){Cm.call(this)}function OQe(){Cm.call(this)}function _c(){Cm.call(this)}function NQe(){Cm.call(this)}function PQe(){this.a=this}function Fz(){this.Bb|=256}function BQe(){this.b=new Utt}function ay(e,t){e.length=t}function Rz(e,t){vt(e.a,t)}function qcn(e,t){Jxe(e.c,t)}function Hcn(e,t){na(e.b,t)}function Vcn(e,t){oU(e.a,t)}function Ucn(e,t){Fce(e.a,t)}function xk(e,t){Ni(e.e,t)}function _8(e){EU(e.c,e.b)}function Gcn(e,t){e.kc().Nb(t)}function Awe(e){this.a=R4n(e)}function Ks(){this.a=new Pr}function FQe(){this.a=new Pr}function Lwe(){this.a=new net}function jz(){this.a=new bt}function jie(){this.a=new bt}function Mwe(){this.a=new bt}function _f(){this.a=new pm}function Sm(){this.a=new Nut}function Dwe(){this.a=new bm}function Iwe(){this.a=new Sot}function Owe(){this.a=new Rrt}function RQe(){this.a=new bt}function jQe(){this.a=new bt}function $Qe(){this.a=new bt}function Nwe(){this.a=new bt}function zQe(){this.d=new bt}function qQe(){this.a=new Got}function HQe(){this.a=new Ks}function VQe(){this.a=new Pr}function UQe(){this.b=new Pr}function GQe(){this.b=new bt}function Pwe(){this.e=new bt}function KQe(){this.a=new Kre}function WQe(){this.d=new bt}function YQe(){Qat.call(this)}function XQe(){Qat.call(this)}function QQe(){bt.call(this)}function Bwe(){_we.call(this)}function Fwe(){jz.call(this)}function JQe(){Vq.call(this)}function ZQe(){Nwe.call(this)}function s_(){TQe.call(this)}function $ie(){s_.call(this)}function A8(){TQe.call(this)}function Rwe(){A8.call(this)}function eJe(){qwe.call(this)}function tJe(){qwe.call(this)}function nJe(){qwe.call(this)}function rJe(){Hwe.call(this)}function a_(){Wne.call(this)}function jwe(){Wne.call(this)}function bl(){os.call(this)}function iJe(){wJe.call(this)}function sJe(){wJe.call(this)}function aJe(){Pr.call(this)}function oJe(){Pr.call(this)}function cJe(){Pr.call(this)}function zie(){sft.call(this)}function uJe(){Ks.call(this)}function lJe(){Fz.call(this)}function qie(){kye.call(this)}function $we(){Pr.call(this)}function Hie(){kye.call(this)}function Vie(){Pr.call(this)}function hJe(){Pr.call(this)}function zwe(){m5.call(this)}function fJe(){zwe.call(this)}function dJe(){m5.call(this)}function gJe(){J$.call(this)}function qwe(){this.a=new Ks}function pJe(){this.a=new Pr}function bJe(){this.a=new bt}function Hwe(){this.a=new Pr}function L8(){this.a=new os}function mJe(){this.j=new bt}function vJe(){this.a=new bZe}function wJe(){this.a=new Qne}function Vwe(){this.a=new hs}function o_(){o_=U,v0e=new _}function Uie(){Uie=U,w0e=new xJe}function Gie(){Gie=U,y0e=new yJe}function yJe(){pk.call(this,"")}function xJe(){pk.call(this,"")}function kJe(e){Aht.call(this,e)}function EJe(e){Aht.call(this,e)}function Uwe(e){vz.call(this,e)}function Gwe(e){UZe.call(this,e)}function Kcn(e){UZe.call(this,e)}function Wcn(e){Gwe.call(this,e)}function Ycn(e){Gwe.call(this,e)}function Xcn(e){Gwe.call(this,e)}function TJe(e){Toe.call(this,e)}function CJe(e){Toe.call(this,e)}function SJe(e){ait.call(this,e)}function _Je(e){p3e.call(this,e)}function c_(e){Xz.call(this,e)}function Kwe(e){Xz.call(this,e)}function AJe(e){Xz.call(this,e)}function Wwe(e){v9n.call(this,e)}function Ywe(e){Wwe.call(this,e)}function Ac(e){_st.call(this,e)}function LJe(e){Ac.call(this,e)}function M8(){wk.call(this,{})}function MJe(){MJe=U,d6t=new W}function $z(){$z=U,E0e=new Ant}function DJe(){DJe=U,USe=new T}function Xwe(){Xwe=U,GSe=new ae}function zz(){zz=U,NL=new de}function Kie(e){Ok(),this.a=e}function Wie(e){E7e(),this.a=e}function Jv(e){Iae(),this.f=e}function Yie(e){Iae(),this.f=e}function IJe(e){git(),this.a=e}function OJe(e){e.b=null,e.c=0}function Qcn(e,t){e.e=t,gbt(e,t)}function Jcn(e,t){e.a=t,skn(e)}function Xie(e,t,n){e.a[t.g]=n}function Zcn(e,t,n){y8n(n,e,t)}function eun(e,t){Yfn(t.i,e.n)}function NJe(e,t){wyn(e).Cd(t)}function tun(e,t){e.a.ec().Mc(t)}function PJe(e,t){return e.g-t.g}function nun(e,t){return e*e/t}function Rt(e){return nr(e),e}function ze(e){return nr(e),e}function XI(e){return nr(e),e}function run(e){return new vk(e)}function iun(e){return new yy(e)}function Qwe(e){return nr(e),e}function sun(e){return nr(e),e}function qz(e){Ac.call(this,e)}function tc(e){Ac.call(this,e)}function BJe(e){Ac.call(this,e)}function Qie(e){_st.call(this,e)}function kk(e){Ac.call(this,e)}function Yn(e){Ac.call(this,e)}function nc(e){Ac.call(this,e)}function FJe(e){Ac.call(this,e)}function D8(e){Ac.call(this,e)}function Hp(e){Ac.call(this,e)}function Vp(e){Ac.call(this,e)}function I8(e){Ac.call(this,e)}function dd(e){Ac.call(this,e)}function Jie(e){Ac.call(this,e)}function ri(e){Ac.call(this,e)}function Il(e){nr(e),this.a=e}function Jwe(e){return Um(e),e}function u_(e){l5e(e,e.length)}function l_(e){return e.b==e.c}function oy(e){return!!e&&e.b}function aun(e){return!!e&&e.k}function oun(e){return!!e&&e.j}function cun(e,t,n){e.c.Ef(t,n)}function RJe(e,t){e.be(t),t.ae(e)}function O8(e){wd(),this.a=Xr(e)}function Zie(){this.a=ei(Xr(Co))}function jJe(){throw ue(new Qr)}function uun(){throw ue(new Qr)}function Zwe(){throw ue(new Qr)}function $Je(){throw ue(new Qr)}function lun(){throw ue(new Qr)}function hun(){throw ue(new Qr)}function Hz(){Hz=U,Xk()}function Up(){Nr.call(this,"")}function h_(){Nr.call(this,"")}function tb(){Nr.call(this,"")}function S5(){Nr.call(this,"")}function e3e(e){tc.call(this,e)}function t3e(e){tc.call(this,e)}function gd(e){Yn.call(this,e)}function Ek(e){$a.call(this,e)}function zJe(e){Ek.call(this,e)}function ese(e){jq.call(this,e)}function tse(e){Nye.call(this,e,0)}function nse(){G5e.call(this,12,3)}function le(e,t){return yot(e,t)}function Vz(e,t){return joe(e,t)}function fun(e,t){return e.a-t.a}function dun(e,t){return e.a-t.a}function gun(e,t){return e.a-t.a}function pun(e,t){return t in e.a}function qJe(e){return e.a?e.b:0}function bun(e){return e.a?e.b:0}function mun(e,t,n){t.Cd(e.a[n])}function vun(e,t,n){t.Pe(e.a[n])}function wun(e,t){e.b=new Eo(t)}function yun(e,t){return e.b=t,e}function HJe(e,t){return e.c=t,e}function VJe(e,t){return e.f=t,e}function xun(e,t){return e.g=t,e}function n3e(e,t){return e.a=t,e}function r3e(e,t){return e.f=t,e}function kun(e,t){return e.k=t,e}function i3e(e,t){return e.a=t,e}function Eun(e,t){return e.e=t,e}function s3e(e,t){return e.e=t,e}function Tun(e,t){return e.f=t,e}function Cun(e,t){e.b=!0,e.d=t}function Sun(e,t){return e.b-t.b}function _un(e,t){return e.g-t.g}function Aun(e,t){return e?0:t-1}function UJe(e,t){return e?0:t-1}function Lun(e,t){return e?t-1:0}function Mun(e,t){return e.s-t.s}function Dun(e,t){return t.rg(e)}function Zv(e,t){return e.b=t,e}function Uz(e,t){return e.a=t,e}function ew(e,t){return e.c=t,e}function tw(e,t){return e.d=t,e}function nw(e,t){return e.e=t,e}function a3e(e,t){return e.f=t,e}function f_(e,t){return e.a=t,e}function Tk(e,t){return e.b=t,e}function Ck(e,t){return e.c=t,e}function Qt(e,t){return e.c=t,e}function yn(e,t){return e.b=t,e}function Jt(e,t){return e.d=t,e}function Zt(e,t){return e.e=t,e}function Iun(e,t){return e.f=t,e}function en(e,t){return e.g=t,e}function tn(e,t){return e.a=t,e}function nn(e,t){return e.i=t,e}function rn(e,t){return e.j=t,e}function Oun(e,t){Cb(),Mc(t,e)}function Nun(e,t,n){Xdn(e.a,t,n)}function Gz(e){dae.call(this,e)}function GJe(e){Z4n.call(this,e)}function KJe(e){Aat.call(this,e)}function o3e(e){Aat.call(this,e)}function nb(e){Lw.call(this,e)}function WJe(e){noe.call(this,e)}function YJe(e){noe.call(this,e)}function XJe(){bye.call(this,"")}function qa(){this.a=0,this.b=0}function QJe(){this.b=0,this.a=0}function JJe(e,t){e.b=0,My(e,t)}function ZJe(e,t){return e.k=t,e}function Pun(e,t){return e.j=t,e}function Bun(e,t){e.c=t,e.b=!0}function eZe(){eZe=U,S6t=K8n()}function rb(){rb=U,w_t=i8n()}function tZe(){tZe=U,La=bxn()}function c3e(){c3e=U,Qb=hE()}function Sk(){Sk=U,APe=s8n()}function nZe(){nZe=U,rAt=a8n()}function u3e(){u3e=U,tu=nkn()}function K0(e){return e.e&&e.e()}function rZe(e){return e.l|e.m<<22}function iZe(e,t){return e.c._b(t)}function sZe(e,t){return i1t(e.b,t)}function rse(e){return e?e.d:null}function Fun(e){return e?e.g:null}function Run(e){return e?e.i:null}function _m(e){return Gg(e),e.o}function _5(e,t){return e.a+=t,e}function ise(e,t){return e.a+=t,e}function Gp(e,t){return e.a+=t,e}function rw(e,t){return e.a+=t,e}function l3e(e,t){for(;e.Bd(t););}function Kz(e){this.a=new N8(e)}function aZe(){throw ue(new Qr)}function oZe(){throw ue(new Qr)}function cZe(){throw ue(new Qr)}function uZe(){throw ue(new Qr)}function lZe(){throw ue(new Qr)}function hZe(){throw ue(new Qr)}function Kp(e){this.a=new Pae(e)}function fZe(){this.a=new UA(EIe)}function dZe(){this.b=new UA(qDe)}function gZe(){this.a=new UA(KIe)}function pZe(){this.b=new UA(pge)}function bZe(){this.b=new UA(pge)}function Wz(e){this.a=0,this.b=e}function h3e(e){Gvt(),MIn(this,e)}function _k(e){return fb(e),e.a}function QI(e){return e.b!=e.d.c}function f3e(e,t){return e.d[t.p]}function mZe(e,t){return KCn(e,t)}function d3e(e,t,n){e.splice(t,n)}function A5(e,t){for(;e.Re(t););}function vZe(e){e.c?Ibt(e):Obt(e)}function wZe(){throw ue(new Qr)}function yZe(){throw ue(new Qr)}function xZe(){throw ue(new Qr)}function kZe(){throw ue(new Qr)}function EZe(){throw ue(new Qr)}function TZe(){throw ue(new Qr)}function CZe(){throw ue(new Qr)}function SZe(){throw ue(new Qr)}function _Ze(){throw ue(new Qr)}function AZe(){throw ue(new Qr)}function jun(){throw ue(new _c)}function $un(){throw ue(new _c)}function JI(e){this.a=new LZe(e)}function LZe(e){Vwn(this,e,k9n())}function ZI(e){return!e||oat(e)}function eO(e){return nd[e]!=-1}function zun(){aK!=0&&(aK=0),oK=-1}function MZe(){m0e==null&&(m0e=[])}function tO(e,t){q5.call(this,e,t)}function Ak(e,t){tO.call(this,e,t)}function DZe(e,t){this.a=e,this.b=t}function IZe(e,t){this.a=e,this.b=t}function OZe(e,t){this.a=e,this.b=t}function NZe(e,t){this.a=e,this.b=t}function PZe(e,t){this.a=e,this.b=t}function BZe(e,t){this.a=e,this.b=t}function FZe(e,t){this.a=e,this.b=t}function Lk(e,t){this.e=e,this.d=t}function g3e(e,t){this.b=e,this.c=t}function RZe(e,t){this.b=e,this.a=t}function jZe(e,t){this.b=e,this.a=t}function $Ze(e,t){this.b=e,this.a=t}function zZe(e,t){this.b=e,this.a=t}function qZe(e,t){this.a=e,this.b=t}function sse(e,t){this.a=e,this.b=t}function HZe(e,t){this.a=e,this.f=t}function iw(e,t){this.g=e,this.i=t}function Ur(e,t){this.f=e,this.g=t}function VZe(e,t){this.b=e,this.c=t}function UZe(e){Tye(e.dc()),this.c=e}function qun(e,t){this.a=e,this.b=t}function GZe(e,t){this.a=e,this.b=t}function KZe(e){this.a=l(Xr(e),15)}function p3e(e){this.a=l(Xr(e),15)}function WZe(e){this.a=l(Xr(e),85)}function Yz(e){this.b=l(Xr(e),85)}function Xz(e){this.b=l(Xr(e),51)}function Qz(){this.q=new b.Date}function ase(e,t){this.a=e,this.b=t}function YZe(e,t){return Hu(e.b,t)}function nO(e,t){return e.b.Hc(t)}function XZe(e,t){return e.b.Ic(t)}function QZe(e,t){return e.b.Qc(t)}function JZe(e,t){return e.b.Hc(t)}function ZZe(e,t){return e.c.uc(t)}function eet(e,t){return Pi(e.c,t)}function W0(e,t){return e.a._b(t)}function tet(e,t){return e>t&&t0}function fse(e,t){return iu(e,t)<0}function vet(e,t){return Aae(e.a,t)}function oln(e,t){xot.call(this,e,t)}function k3e(e){Kae(),ait.call(this,e)}function E3e(e,t){gst(e,e.length,t)}function aO(e,t){qst(e,e.length,t)}function y_(e,t){return e.a.get(t)}function wet(e,t){return Hu(e.e,t)}function T3e(e){return nr(e),!1}function C3e(e){this.a=l(Xr(e),229)}function aq(e){kn.call(this,e,21)}function oq(e,t){Ur.call(this,e,t)}function dse(e,t){Ur.call(this,e,t)}function yet(e,t){this.b=e,this.a=t}function cq(e,t){this.d=e,this.e=t}function xet(e,t){this.a=e,this.b=t}function ket(e,t){this.a=e,this.b=t}function Eet(e,t){this.a=e,this.b=t}function Tet(e,t){this.a=e,this.b=t}function B8(e,t){this.a=e,this.b=t}function Cet(e,t){this.b=e,this.a=t}function S3e(e,t){this.b=e,this.a=t}function _3e(e,t){Ur.call(this,e,t)}function A3e(e,t){Ur.call(this,e,t)}function L5(e,t){Ur.call(this,e,t)}function gse(e,t){Ur.call(this,e,t)}function pse(e,t){Ur.call(this,e,t)}function bse(e,t){Ur.call(this,e,t)}function uq(e,t){Ur.call(this,e,t)}function L3e(e,t){this.b=e,this.a=t}function lq(e,t){Ur.call(this,e,t)}function M3e(e,t){this.b=e,this.a=t}function hq(e,t){Ur.call(this,e,t)}function _et(e,t){this.b=e,this.a=t}function D3e(e,t){Ur.call(this,e,t)}function mse(e,t){Ur.call(this,e,t)}function oO(e,t){Ur.call(this,e,t)}function x_(e,t,n){e.splice(t,0,n)}function cln(e,t,n){e.Mb(n)&&t.Cd(n)}function uln(e,t,n){t.Pe(e.a.Ye(n))}function lln(e,t,n){t.Dd(e.a.Ze(n))}function hln(e,t,n){t.Cd(e.a.Kb(n))}function fln(e,t){return vl(e.c,t)}function dln(e,t){return vl(e.e,t)}function fq(e,t){Ur.call(this,e,t)}function dq(e,t){Ur.call(this,e,t)}function k_(e,t){Ur.call(this,e,t)}function I3e(e,t){Ur.call(this,e,t)}function Ws(e,t){Ur.call(this,e,t)}function gq(e,t){Ur.call(this,e,t)}function Aet(e,t){this.a=e,this.b=t}function Let(e,t){this.a=e,this.b=t}function Met(e,t){this.a=e,this.b=t}function Det(e,t){this.a=e,this.b=t}function Iet(e,t){this.a=e,this.b=t}function Oet(e,t){this.a=e,this.b=t}function Net(e,t){this.b=e,this.a=t}function Pet(e,t){this.b=e,this.a=t}function O3e(e,t){this.b=e,this.a=t}function Ik(e,t){this.c=e,this.d=t}function Bet(e,t){this.e=e,this.d=t}function Fet(e,t){this.a=e,this.b=t}function Ret(e,t){this.a=e,this.b=t}function jet(e,t){this.a=e,this.b=t}function $et(e,t){this.b=e,this.a=t}function zet(e,t){this.b=t,this.c=e}function pq(e,t){Ur.call(this,e,t)}function cO(e,t){Ur.call(this,e,t)}function vse(e,t){Ur.call(this,e,t)}function N3e(e,t){Ur.call(this,e,t)}function E_(e,t){Ur.call(this,e,t)}function wse(e,t){Ur.call(this,e,t)}function yse(e,t){Ur.call(this,e,t)}function uO(e,t){Ur.call(this,e,t)}function P3e(e,t){Ur.call(this,e,t)}function xse(e,t){Ur.call(this,e,t)}function T_(e,t){Ur.call(this,e,t)}function B3e(e,t){Ur.call(this,e,t)}function C_(e,t){Ur.call(this,e,t)}function S_(e,t){Ur.call(this,e,t)}function uy(e,t){Ur.call(this,e,t)}function kse(e,t){Ur.call(this,e,t)}function Ese(e,t){Ur.call(this,e,t)}function F3e(e,t){Ur.call(this,e,t)}function lO(e,t){Ur.call(this,e,t)}function M5(e,t){Ur.call(this,e,t)}function Tse(e,t){Ur.call(this,e,t)}function bq(e,t){Ur.call(this,e,t)}function hO(e,t){Ur.call(this,e,t)}function ly(e,t){Ur.call(this,e,t)}function mq(e,t){Ur.call(this,e,t)}function R3e(e,t){Ur.call(this,e,t)}function Cse(e,t){Ur.call(this,e,t)}function Sse(e,t){Ur.call(this,e,t)}function _se(e,t){Ur.call(this,e,t)}function Ase(e,t){Ur.call(this,e,t)}function Lse(e,t){Ur.call(this,e,t)}function Mse(e,t){Ur.call(this,e,t)}function Dse(e,t){Ur.call(this,e,t)}function qet(e,t){this.b=e,this.a=t}function j3e(e,t){Ur.call(this,e,t)}function Het(e,t){this.a=e,this.b=t}function Vet(e,t){this.a=e,this.b=t}function Uet(e,t){this.a=e,this.b=t}function $3e(e,t){Ur.call(this,e,t)}function z3e(e,t){Ur.call(this,e,t)}function Get(e,t){this.a=e,this.b=t}function gln(e,t){return jk(),t!=e}function fO(e){return mr(e.a),e.b}function Ise(e){return xEn(e,e.c),e}function Ket(){return eZe(),new S6t}function Wet(){Yq(),this.a=new i4e}function Yet(){IU(),this.a=new Ks}function Xet(){foe(),this.b=new Ks}function Qet(e,t){this.b=e,this.d=t}function Jet(e,t){this.a=e,this.b=t}function Zet(e,t){this.a=e,this.b=t}function ett(e,t){this.a=e,this.b=t}function ttt(e,t){this.b=e,this.a=t}function q3e(e,t){Ur.call(this,e,t)}function H3e(e,t){Ur.call(this,e,t)}function vq(e,t){Ur.call(this,e,t)}function ow(e,t){Ur.call(this,e,t)}function Ose(e,t){Ur.call(this,e,t)}function wq(e,t){Ur.call(this,e,t)}function V3e(e,t){Ur.call(this,e,t)}function U3e(e,t){Ur.call(this,e,t)}function dO(e,t){Ur.call(this,e,t)}function G3e(e,t){Ur.call(this,e,t)}function Nse(e,t){Ur.call(this,e,t)}function yq(e,t){Ur.call(this,e,t)}function Pse(e,t){Ur.call(this,e,t)}function Bse(e,t){Ur.call(this,e,t)}function Fse(e,t){Ur.call(this,e,t)}function Rse(e,t){Ur.call(this,e,t)}function K3e(e,t){Ur.call(this,e,t)}function jse(e,t){Ur.call(this,e,t)}function W3e(e,t){Ur.call(this,e,t)}function gO(e,t){Ur.call(this,e,t)}function $se(e,t){Ur.call(this,e,t)}function Y3e(e,t){Ur.call(this,e,t)}function pO(e,t){Ur.call(this,e,t)}function X3e(e,t){Ur.call(this,e,t)}function ntt(e,t){this.b=e,this.a=t}function rtt(e,t){this.b=e,this.a=t}function itt(e,t){this.b=e,this.a=t}function stt(e,t){this.b=e,this.a=t}function Q3e(e,t){this.a=e,this.b=t}function att(e,t){this.a=e,this.b=t}function ott(e,t){this.a=e,this.b=t}function lt(e,t){this.a=e,this.b=t}function __(e,t){Ur.call(this,e,t)}function bO(e,t){Ur.call(this,e,t)}function F8(e,t){Ur.call(this,e,t)}function A_(e,t){Ur.call(this,e,t)}function mO(e,t){Ur.call(this,e,t)}function zse(e,t){Ur.call(this,e,t)}function xq(e,t){Ur.call(this,e,t)}function L_(e,t){Ur.call(this,e,t)}function qse(e,t){Ur.call(this,e,t)}function kq(e,t){Ur.call(this,e,t)}function D5(e,t){Ur.call(this,e,t)}function vO(e,t){Ur.call(this,e,t)}function M_(e,t){Ur.call(this,e,t)}function D_(e,t){Ur.call(this,e,t)}function wO(e,t){Ur.call(this,e,t)}function Eq(e,t){Ur.call(this,e,t)}function I5(e,t){Ur.call(this,e,t)}function Hse(e,t){Ur.call(this,e,t)}function ctt(e,t){Ur.call(this,e,t)}function Tq(e,t){Ur.call(this,e,t)}function utt(e,t){this.a=e,this.b=t}function ltt(e,t){this.a=e,this.b=t}function htt(e,t){this.a=e,this.b=t}function ftt(e,t){this.a=e,this.b=t}function dtt(e,t){this.a=e,this.b=t}function gtt(e,t){this.a=e,this.b=t}function ca(e,t){this.a=e,this.b=t}function ptt(e,t){this.a=e,this.b=t}function btt(e,t){this.a=e,this.b=t}function mtt(e,t){this.a=e,this.b=t}function vtt(e,t){this.a=e,this.b=t}function wtt(e,t){this.a=e,this.b=t}function ytt(e,t){this.a=e,this.b=t}function xtt(e,t){this.b=e,this.a=t}function ktt(e,t){this.b=e,this.a=t}function Ett(e,t){this.b=e,this.a=t}function Ttt(e,t){this.b=e,this.a=t}function Ctt(e,t){this.a=e,this.b=t}function Stt(e,t){this.a=e,this.b=t}function Cq(e,t){Ur.call(this,e,t)}function _tt(e,t){this.a=e,this.b=t}function Att(e,t){this.a=e,this.b=t}function R8(e,t){Ur.call(this,e,t)}function Ltt(e,t){this.f=e,this.c=t}function J3e(e,t){return vl(e.g,t)}function pln(e,t){return vl(t.b,e)}function Mtt(e,t){return Kce(e.a,t)}function bln(e,t){return-e.b.af(t)}function mln(e,t){e&&ki(lF,e,t)}function Z3e(e,t){e.i=null,xV(e,t)}function vln(e,t,n){xgt(t,jue(e,n))}function wln(e,t,n){xgt(t,jue(e,n))}function yln(e,t){WTn(e.a,l(t,58))}function Dtt(e,t){Vvn(e.a,l(t,12))}function Sq(e,t){this.a=e,this.b=t}function Itt(e,t){this.a=e,this.b=t}function Ott(e,t){this.a=e,this.b=t}function Ntt(e,t){this.a=e,this.b=t}function Ptt(e,t){this.a=e,this.b=t}function Btt(e,t){this.d=e,this.b=t}function Ftt(e,t){this.e=e,this.a=t}function yO(e,t){this.b=e,this.c=t}function eye(e,t){this.i=e,this.g=t}function tye(e,t){this.d=e,this.e=t}function xln(e,t){swn(new or(e),t)}function _q(e){return FN(e.c,e.b)}function hc(e){return e?e.md():null}function qe(e){return e??null}function Ia(e){return typeof e===Ile}function hy(e){return typeof e===Cx}function fy(e){return typeof e===Qke}function cw(e,t){return iu(e,t)==0}function Aq(e,t){return iu(e,t)>=0}function I_(e,t){return iu(e,t)!=0}function Lq(e,t){return k3n(e.Kc(),t)}function ab(e,t){return e.Rd().Xb(t)}function Rtt(e){return Ql(e),e.d.gc()}function Mq(e){return V_(e==null),e}function O_(e,t){return e.a+=""+t,e}function Xo(e,t){return e.a+=""+t,e}function N_(e,t){return e.a+=""+t,e}function wu(e,t){return e.a+=""+t,e}function hi(e,t){return e.a+=""+t,e}function nye(e,t){return e.a+=""+t,e}function kln(e){return""+(nr(e),e)}function jtt(e){Nl(this),bA(this,e)}function $tt(){U5e(),Q4e.call(this)}function ztt(e,t){n5e.call(this,e,t)}function qtt(e,t){n5e.call(this,e,t)}function Dq(e,t){n5e.call(this,e,t)}function ko(e,t){Cs(e,t,e.c.b,e.c)}function O5(e,t){Cs(e,t,e.a,e.a.a)}function rye(e){return Sn(e,0),null}function Htt(){this.b=0,this.a=!1}function Vtt(){this.b=0,this.a=!1}function Utt(){this.b=new N8(Ay(12))}function Gtt(){Gtt=U,y7t=Kr(eue())}function Ktt(){Ktt=U,q8t=Kr(rbt())}function Wtt(){Wtt=U,hTt=Kr(Bft())}function iye(){iye=U,Cwe(),KSe=new Pr}function Y0(e){return e.a=0,e.b=0,e}function Ytt(e,t){return e.a=t.g+1,e}function Vse(e,t){my.call(this,e,t)}function pn(e,t){vs.call(this,e,t)}function N5(e,t){eye.call(this,e,t)}function Xtt(e,t){TO.call(this,e,t)}function Use(e,t){mE.call(this,e,t)}function wi(e,t){iq(),ki(kY,e,t)}function Qtt(e,t){e.q.setTime(Fm(t))}function Eln(e){b.clearTimeout(e)}function Tln(e){return Xr(e),new P_(e)}function Jtt(e,t){return qe(e)===qe(t)}function Ztt(e,t){return e.a.a.a.cc(t)}function Gse(e,t){return tf(e.a,0,t)}function sye(e){return _gn(l(e,74))}function j8(e){return ua((nr(e),e))}function Cln(e){return ua((nr(e),e))}function ent(e){return qu(e.l,e.m,e.h)}function aye(e,t){return ru(e.a,t.a)}function Sln(e,t){return $st(e.a,t.a)}function _ln(e,t){return Yi(e.a,t.a)}function pd(e,t){return e.indexOf(t)}function Aln(e,t){return e.j[t.p]==2}function uw(e,t){return e==t?0:e?1:-1}function Iq(e){return e<10?"0"+e:""+e}function wc(e){return typeof e===Qke}function Lln(e){return e==s3||e==o4}function Mln(e){return e==s3||e==a4}function tnt(e,t){return ru(e.g,t.g)}function oye(e){return gc(e.b.b,e,0)}function nnt(){sH.call(this,0,0,0,0)}function bd(){wr.call(this,new e2)}function cye(e,t){nE(e,0,e.length,t)}function Dln(e,t){return vt(e.a,t),t}function Iln(e,t){return u0(),t.a+=e}function Oln(e,t){return u0(),t.a+=e}function Nln(e,t){return u0(),t.c+=e}function Pln(e,t){return vt(e.c,t),e}function uye(e,t){return Dh(e.a,t),e}function rnt(e){this.a=Ket(),this.b=e}function int(e){this.a=Ket(),this.b=e}function Eo(e){this.a=e.a,this.b=e.b}function P_(e){this.a=e,GS.call(this)}function snt(e){this.a=e,GS.call(this)}function $8(){ef.call(this,0,0,0,0)}function Oq(e){return Dh(new Xs,e)}function ant(e){return EH(l(e,123))}function hh(e){return e.vh()&&e.wh()}function P5(e){return e!=Z1&&e!=Wb}function Ug(e){return e==uc||e==vc}function B5(e){return e==wf||e==Q1}function ont(e){return e==G6||e==U6}function Bln(e,t){return ru(e.g,t.g)}function cnt(e,t){return new mE(t,e)}function Fln(e,t){return new mE(t,e)}function lye(e){return idn(e.b.Kc(),e.a)}function Kse(e,t){CE(e,t),lE(e,e.D)}function Wse(e,t,n){dV(e,t),fV(e,n)}function F5(e,t,n){Dw(e,t),Mw(e,n)}function Qh(e,t,n){Uu(e,t),Gu(e,n)}function xO(e,t,n){aE(e,t),cE(e,n)}function kO(e,t,n){oE(e,t),uE(e,n)}function unt(e,t,n){Gye.call(this,e,t,n)}function hye(e){Ltt.call(this,e,!0)}function lnt(){oq.call(this,"Tail",3)}function hnt(){oq.call(this,"Head",1)}function ob(e){Cd(),v3n.call(this,e)}function lw(e){sH.call(this,e,e,e,e)}function Yse(e){e.c=We(wa,Rn,1,0,5,1)}function fye(e){return e.b&&gle(e),e.a}function dye(e){return e.b&&gle(e),e.c}function Rln(e,t){G1||(e.b=t)}function jln(e,t){return e[e.length]=t}function $ln(e,t){return e[e.length]=t}function zln(e,t){return Ly(t,M1(e))}function qln(e,t){return Ly(t,M1(e))}function Hln(e,t){return vV(Uae(e.d),t)}function Vln(e,t){return vV(Uae(e.g),t)}function Uln(e,t){return vV(Uae(e.j),t)}function Ha(e,t){vs.call(this,e.b,t)}function Gln(e,t){qr(du(e.a),Iot(t))}function Kln(e,t){qr(Xl(e.a),Oot(t))}function Wln(e,t,n){Qh(n,n.i+e,n.j+t)}function fnt(e,t,n){Ts(e.c[t.g],t.g,n)}function Yln(e,t,n){l(e.c,71).Gi(t,n)}function Xse(e,t,n){return Ts(e,t,n),n}function dnt(e){Vu(e.Sf(),new Mie(e))}function R5(e){return e!=null?es(e):0}function Xln(e){return e==null?0:es(e)}function B_(e){Di(),Xv.call(this,e)}function gnt(e){this.a=e,_4e.call(this,e)}function A1(){A1=U,b.Math.log(2)}function Jh(){Jh=U,Sg=(bet(),C_t)}function pnt(){pnt=U,Mde=new LA(Vge)}function Jr(){Jr=U,new bnt,new bt}function bnt(){new Pr,new Pr,new Pr}function Qln(){throw ue(new Hp(Q5t))}function Jln(){throw ue(new Hp(Q5t))}function Zln(){throw ue(new Hp(J5t))}function ehn(){throw ue(new Hp(J5t))}function Qse(e){this.a=e,Yz.call(this,e)}function Jse(e){this.a=e,Yz.call(this,e)}function mnt(e,t){ww(),this.a=e,this.b=t}function thn(e,t){Xr(t),V5(e).Jc(new ie)}function Vs(e,t){Lae(e.c,e.c.length,t)}function Lc(e){return e.at?1:0}function pye(e,t){return iu(e,t)>0?e:t}function qu(e,t,n){return{l:e,m:t,h:n}}function nhn(e,t){e.a!=null&&Dtt(t,e.a)}function rhn(e){po(e,null),Fa(e,null)}function ihn(e,t,n){return ki(e.g,n,t)}function j5(e,t,n){return R8e(t,n,e.c)}function shn(e,t,n){return ki(e.k,n,t)}function ahn(e,t,n){return UMn(e,t,n),n}function ohn(e,t){return Sh(),t.n.b+=e}function wnt(e){R5e.call(this),this.b=e}function bye(e){r4e.call(this),this.a=e}function ynt(){oq.call(this,"Range",2)}function Nq(e){this.b=e,this.a=new bt}function xnt(e){this.b=new Nu,this.a=e}function knt(e){e.a=new _t,e.c=new _t}function Ent(e){e.a=new Pr,e.d=new Pr}function Tnt(e){doe(e,null),goe(e,null)}function Cnt(e,t){return KMn(e.a,t,null)}function chn(e,t){return ki(e.a,t.a,t)}function Ja(e){return new lt(e.a,e.b)}function mye(e){return new lt(e.c,e.d)}function uhn(e){return new lt(e.c,e.d)}function F_(e,t){return sMn(e.c,e.b,t)}function De(e,t){return e!=null&&iue(e,t)}function Zse(e,t){return J3n(e.Kc(),t)!=-1}function Pq(e){return e.Ob()?e.Pb():null}function lhn(e){this.b=(Cn(),new tr(e))}function vye(e){this.a=e,Pr.call(this)}function Snt(){TO.call(this,null,null)}function _nt(){qq.call(this,null,null)}function Ant(){Ur.call(this,"INSTANCE",0)}function Lnt(){mxe(),this.a=new UA(gAe)}function Mnt(e){return If(e,0,e.length)}function hhn(e,t){return new Wnt(e.Kc(),t)}function wye(e,t){return e.a.Bc(t)!=null}function Dnt(e,t){$r(e),e.Gc(l(t,15))}function fhn(e,t,n){e.c.bd(t,l(n,136))}function dhn(e,t,n){e.c.Ui(t,l(n,136))}function Int(e,t){e.c&&($4e(t),iot(t))}function ghn(e,t){e.q.setHours(t),XA(e,t)}function phn(e,t){dw(t,e.a.a.a,e.a.a.b)}function bhn(e,t,n,r){Ts(e.a[t.g],n.g,r)}function eae(e,t,n){return e.a[t.g][n.g]}function mhn(e,t){return e.e[t.c.p][t.p]}function vhn(e,t){return e.c[t.c.p][t.p]}function L1(e,t){return e.a[t.c.p][t.p]}function whn(e,t){return e.j[t.p]=MTn(t)}function tae(e,t){return e.a.Bc(t)!=null}function yhn(e,t){return ze(Ge(t.a))<=e}function xhn(e,t){return ze(Ge(t.a))>=e}function khn(e,t){return E6e(e.f,t.Pg())}function z8(e,t){return e.a*t.a+e.b*t.b}function Ehn(e,t){return e.a0?t/(e*e):t*100}function Whn(e,t){return e>0?t*t/e:t*t*100}function dy(e,t){return l(B1(e.a,t),34)}function Yhn(e,t){return Cb(),xn(e,t.e,t)}function Xhn(e,t,n){return tq(),n.Mg(e,t)}function Qhn(e){return tp(),e.e.a+e.f.a/2}function Jhn(e,t,n){return tp(),n.e.a-e*t}function Zhn(e){return tp(),e.e.b+e.f.b/2}function efn(e,t,n){return tp(),n.e.b-e*t}function crt(e){e.d=new srt(e),e.e=new Pr}function urt(){this.a=new Cw,this.b=new Cw}function lrt(e){this.c=e,this.a=1,this.b=1}function hrt(e){Mle(),SQe(this),this.Ff(e)}function tfn(e,t,n){ZH(),e.pf(t)&&n.Cd(e)}function nfn(e,t,n){return vt(t,k1t(e,n))}function dw(e,t,n){return e.a+=t,e.b+=n,e}function rfn(e,t,n){return e.a*=t,e.b*=n,e}function Fye(e,t){return e.a=t.a,e.b=t.b,e}function Hq(e){return e.a=-e.a,e.b=-e.b,e}function z_(e,t,n){return e.a-=t,e.b-=n,e}function frt(e){os.call(this),fA(this,e)}function drt(){Ur.call(this,"GROW_TREE",0)}function grt(){Ur.call(this,"POLYOMINO",0)}function dh(e,t,n){xl.call(this,e,t,n,2)}function ifn(e,t,n){_A(du(e.a),t,Iot(n))}function prt(e,t){w_(),TO.call(this,e,t)}function Rye(e,t){Wp(),qq.call(this,e,t)}function brt(e,t){Wp(),Rye.call(this,e,t)}function mrt(e,t){Wp(),qq.call(this,e,t)}function sfn(e,t){return e.c.Fc(l(t,136))}function afn(e,t,n){_A(Xl(e.a),t,Oot(n))}function vrt(e){this.c=e,Uu(e,0),Gu(e,0)}function oae(e,t){Jh(),cH.call(this,e,t)}function wrt(e,t){Jh(),oae.call(this,e,t)}function jye(e,t){Jh(),oae.call(this,e,t)}function $ye(e,t){Jh(),cH.call(this,e,t)}function yrt(e,t){Jh(),jye.call(this,e,t)}function xrt(e,t){Jh(),$ye.call(this,e,t)}function krt(e,t){Jh(),cH.call(this,e,t)}function ofn(e,t,n){return t.zl(e.e,e.c,n)}function cfn(e,t,n){return t.Al(e.e,e.c,n)}function zye(e,t,n){return VU(lN(e,t),n)}function cae(e,t){return yb(e.e,l(t,54))}function ufn(e){return e==null?null:NDn(e)}function lfn(e){return e==null?null:_9n(e)}function hfn(e){return e==null?null:xc(e)}function ffn(e){return e==null?null:xc(e)}function Bt(e){return V_(e==null||hy(e)),e}function Ge(e){return V_(e==null||fy(e)),e}function ei(e){return V_(e==null||Ia(e)),e}function Gg(e){e.o==null&&sTn(e)}function qye(e){if(!e)throw ue(new YI)}function dfn(e){if(!e)throw ue(new Rie)}function mr(e){if(!e)throw ue(new _c)}function gy(e){if(!e)throw ue(new pl)}function Ert(e){if(!e)throw ue(new Xh)}function Fk(){Fk=U,fF=new iJe,new sJe}function H5(){H5=U,Y6=new Ui("root")}function Hye(){sft.call(this),this.Bb|=Io}function gfn(e,t){this.d=e,Mr(this),this.b=t}function Vye(e,t){Poe.call(this,e),this.a=t}function Uye(e,t){Poe.call(this,e),this.a=t}function Gye(e,t,n){YH.call(this,e,t,n,null)}function Trt(e,t,n){YH.call(this,e,t,n,null)}function _O(e,t){this.c=e,Lk.call(this,e,t)}function q_(e,t){this.a=e,_O.call(this,e,t)}function Kye(e){this.q=new b.Date(Fm(e))}function Crt(e){return e>8?0:e+1}function Srt(e,t){G1||vt(e.a,t)}function pfn(e,t){return sO(),bE(t.d.i,e)}function bfn(e,t){return lx(),new nmt(t,e)}function mfn(e,t,n){return e.Ne(t,n)<=0?n:t}function vfn(e,t,n){return e.Ne(t,n)<=0?t:n}function wfn(e,t){return l(B1(e.b,t),143)}function yfn(e,t){return l(B1(e.c,t),233)}function uae(e){return l(jt(e.a,e.b),294)}function _rt(e){return new lt(e.c,e.d+e.a)}function Art(e){return nr(e),e?1231:1237}function Lrt(e){return Sh(),ont(l(e,203))}function py(){py=U,q_e=un((mh(),Cv))}function xfn(e,t){t.a?CEn(e,t):tae(e.a,t.b)}function AO(e,t,n){++e.j,e.tj(),Noe(e,t,n)}function Mrt(e,t,n){++e.j,e.qj(t,e.Zi(t,n))}function Drt(e,t,n){var r;r=e.fd(t),r.Rb(n)}function Wye(e,t,n){return n=Nh(e,t,6,n),n}function Yye(e,t,n){return n=Nh(e,t,3,n),n}function Xye(e,t,n){return n=Nh(e,t,9,n),n}function vd(e,t){return UO(t,yEe),e.f=t,e}function Qye(e,t){return(t&Ii)%e.d.length}function Irt(e,t,n){return Mke(e.c,e.b,t,n)}function Ort(e,t){this.c=e,Lw.call(this,t)}function Nrt(e,t){this.a=e,vQe.call(this,t)}function LO(e,t){this.a=e,vQe.call(this,t)}function vs(e,t){Ui.call(this,e),this.a=t}function Jye(e,t){xwe.call(this,e),this.a=t}function lae(e,t){xwe.call(this,e),this.a=t}function kfn(e){I8e.call(this,0,0),this.f=e}function Prt(e,t,n){return e.a+=If(t,0,n),e}function MO(e){return!e.a&&(e.a=new ge),e.a}function Zye(e,t){var n;return n=e.e,e.e=t,n}function e4e(e,t){var n;return n=t,!!e.Fe(n)}function Efn(e,t){return Hn(),e==t?0:e?1:-1}function by(e,t){e.a.bd(e.b,t),++e.b,e.c=-1}function DO(e){e.b?DO(e.b):e.f.c.zc(e.e,e.d)}function Brt(e){Nl(e.e),e.d.b=e.d,e.d.a=e.d}function Tfn(e,t,n){Am(),Eie(e,t.Ve(e.a,n))}function t4e(e,t,n){return Q8(e,l(t,22),n)}function c0(e,t){return Vz(new Array(t),e)}function Cfn(e){return Yr(ub(e,32))^Yr(e)}function hae(e){return String.fromCharCode(e)}function Sfn(e){return e==null?null:e.message}function _fn(e,t,n){return e.apply(t,n)}function Afn(e,t){var n;n=e[lhe],n.call(e,t)}function Lfn(e,t){var n;n=e[lhe],n.call(e,t)}function Mfn(e,t){return sO(),!bE(t.d.i,e)}function n4e(e,t,n,r){sH.call(this,e,t,n,r)}function Frt(){Vq.call(this),this.a=new qa}function r4e(){this.n=new qa,this.o=new qa}function Rrt(){this.b=new qa,this.c=new bt}function jrt(){this.a=new bt,this.b=new bt}function $rt(){this.a=new bm,this.b=new BQe}function i4e(){this.b=new e2,this.a=new e2}function zrt(){this.b=new Ks,this.a=new Ks}function qrt(){this.b=new Pr,this.a=new Pr}function Hrt(){this.b=new dZe,this.a=new CS}function Vrt(){this.a=new Wre,this.b=new Aee}function Urt(){this.a=new bt,this.d=new bt}function Vq(){this.n=new A8,this.i=new $8}function Grt(e){this.a=(Mh(e,Yy),new Bu(e))}function Krt(e){this.a=(Mh(e,Yy),new Bu(e))}function Dfn(e){return e<100?null:new nb(e)}function Ifn(e,t){return e.n.a=(nr(t),t+10)}function Ofn(e,t){return e.n.a=(nr(t),t+10)}function Nfn(e,t){return t==e||jE(_U(t),e)}function Wrt(e,t){return ki(e.a,t,"")==null}function Pfn(e,t){var n;return n=t.qi(e.a),n}function Oi(e,t){return e.a+=t.a,e.b+=t.b,e}function ma(e,t){return e.a-=t.a,e.b-=t.b,e}function Bfn(e){return ay(e.j.c,0),e.a=-1,e}function s4e(e,t,n){return n=Nh(e,t,11,n),n}function Ffn(e,t,n){n!=null&&wV(t,pue(e,n))}function Rfn(e,t,n){n!=null&&yV(t,pue(e,n))}function V8(e,t,n,r){nt.call(this,e,t,n,r)}function a4e(e,t,n,r){nt.call(this,e,t,n,r)}function Yrt(e,t,n,r){a4e.call(this,e,t,n,r)}function Xrt(e,t,n,r){pH.call(this,e,t,n,r)}function fae(e,t,n,r){pH.call(this,e,t,n,r)}function o4e(e,t,n,r){pH.call(this,e,t,n,r)}function Qrt(e,t,n,r){fae.call(this,e,t,n,r)}function c4e(e,t,n,r){fae.call(this,e,t,n,r)}function Ln(e,t,n,r){o4e.call(this,e,t,n,r)}function Jrt(e,t,n,r){c4e.call(this,e,t,n,r)}function Zrt(e,t,n,r){a5e.call(this,e,t,n,r)}function my(e,t){tc.call(this,CL+e+av+t)}function u4e(e,t){return e.jk().wi().ri(e,t)}function l4e(e,t){return e.jk().wi().ti(e,t)}function eit(e,t){return nr(e),qe(e)===qe(t)}function vn(e,t){return nr(e),qe(e)===qe(t)}function jfn(e,t){return e.b.Bd(new ket(e,t))}function $fn(e,t){return e.b.Bd(new Eet(e,t))}function tit(e,t){return e.b.Bd(new Tet(e,t))}function zfn(e,t){return e.e=l(e.d.Kb(t),159)}function h4e(e,t,n){return e.lastIndexOf(t,n)}function qfn(e,t,n){return Yi(e[t.a],e[n.a])}function Hfn(e,t){return rt(t,(Nt(),TB),e)}function Vfn(e,t){return ru(t.a.d.p,e.a.d.p)}function Ufn(e,t){return ru(e.a.d.p,t.a.d.p)}function Gfn(e,t){return Yi(e.c-e.s,t.c-t.s)}function Kfn(e,t){return Yi(e.b.e.a,t.b.e.a)}function Wfn(e,t){return Yi(e.c.e.a,t.c.e.a)}function nit(e){return e.c?gc(e.c.a,e,0):-1}function U8(e){return e==Tv||e==Tg||e==Mu}function f4e(e,t){this.c=e,jae.call(this,e,t)}function rit(e,t,n){this.a=e,Nye.call(this,t,n)}function iit(e){this.c=e,Dq.call(this,EP,0)}function sit(e,t,n){this.c=t,this.b=n,this.a=e}function IO(e){jk(),this.d=e,this.a=new z5}function ait(e){wd(),this.a=(Cn(),new Ek(e))}function Yfn(e,t){Ug(e.f)?QEn(e,t):Axn(e,t)}function oit(e,t){cdn.call(this,e,e.length,t)}function Xfn(e,t){G1||t&&(e.d=t)}function cit(e,t){return De(t,15)&&Bbt(e.c,t)}function Qfn(e,t,n){return l(e.c,71).Wk(t,n)}function Uq(e,t,n){return l(e.c,71).Xk(t,n)}function Jfn(e,t,n){return ofn(e,l(t,343),n)}function d4e(e,t,n){return cfn(e,l(t,343),n)}function Zfn(e,t,n){return Lgt(e,l(t,343),n)}function uit(e,t,n){return zxn(e,l(t,343),n)}function H_(e,t){return t==null?null:Oy(e.b,t)}function g4e(e){return fy(e)?(nr(e),e):e.ue()}function Gq(e){return!isNaN(e)&&!isFinite(e)}function dae(e){knt(this),Ch(this),Ka(this,e)}function Ol(e){Yse(this),M4e(this.c,0,e.Pc())}function Zh(e,t,n){this.a=e,this.b=t,this.c=n}function lit(e,t,n){this.a=e,this.b=t,this.c=n}function hit(e,t,n){this.d=e,this.b=n,this.a=t}function fit(e){this.a=e,Vg(),Zc(Date.now())}function dit(e){ph(e.a),L6e(e.c,e.b),e.b=null}function gae(){gae=U,p_e=new Et,_6t=new Gt}function git(){git=U,M_t=We(wa,Rn,1,0,5,1)}function pit(){pit=U,W_t=We(wa,Rn,1,0,5,1)}function p4e(){p4e=U,Y_t=We(wa,Rn,1,0,5,1)}function wd(){wd=U,new Twe((Cn(),Cn(),_o))}function e0n(e){return rE(),Gr((xlt(),M6t),e)}function t0n(e){return Fl(),Gr((hlt(),B6t),e)}function n0n(e){return ZV(),Gr((Xct(),q6t),e)}function r0n(e){return aV(),Gr((Qct(),H6t),e)}function i0n(e){return PU(),Gr((Xft(),V6t),e)}function s0n(e){return t1(),Gr((ult(),K6t),e)}function a0n(e){return Bl(),Gr((clt(),Y6t),e)}function o0n(e){return ol(),Gr((llt(),Q6t),e)}function c0n(e){return YU(),Gr((Gtt(),y7t),e)}function u0n(e){return Pw(),Gr((Elt(),k7t),e)}function l0n(e){return bx(),Gr((Clt(),T7t),e)}function h0n(e){return NA(),Gr((Tlt(),_7t),e)}function f0n(e){return Zz(),Gr((kct(),A7t),e)}function d0n(e){return oV(),Gr((Jct(),U7t),e)}function g0n(e){return lA(),Gr((flt(),m8t),e)}function p0n(e){return uo(),Gr((aht(),x8t),e)}function b0n(e){return wE(),Gr((_lt(),S8t),e)}function m0n(e){return Km(),Gr((Slt(),I8t),e)}function b4e(e,t){if(!e)throw ue(new Yn(t))}function Rk(e){if(!e)throw ue(new nc(Jke))}function pae(e,t){if(e!=t)throw ue(new Xh)}function bit(e,t,n){this.a=e,this.b=t,this.c=n}function m4e(e,t,n){this.a=e,this.b=t,this.c=n}function mit(e,t,n){this.a=e,this.b=t,this.c=n}function Kq(e,t,n){this.b=e,this.a=t,this.c=n}function v4e(e,t,n){this.b=e,this.c=t,this.a=n}function w4e(e,t,n){this.a=e,this.b=t,this.c=n}function Wq(e,t,n){this.e=t,this.b=e,this.d=n}function vit(e,t,n){this.b=e,this.a=t,this.c=n}function v0n(e,t,n){return Am(),e.a.Yd(t,n),t}function bae(e){var t;return t=new Ml,t.e=e,t}function y4e(e){var t;return t=new zQe,t.b=e,t}function OO(){OO=U,CK=new pZ,SK=new dj}function Yq(){Yq=U,K8t=new SZ,G8t=new bS}function u0(){u0=U,J8t=new iee,Z8t=new see}function w0n(e){return Ow(),Gr((Hut(),uxt),e)}function y0n(e){return vo(),Gr((Ktt(),q8t),e)}function x0n(e){return IV(),Gr((Llt(),U8t),e)}function k0n(e){return R1(),Gr((Alt(),nxt),e)}function E0n(e){return Ry(),Gr((oht(),ixt),e)}function T0n(e){return OU(),Gr((Pft(),lxt),e)}function C0n(e){return yx(),Gr((Iht(),hxt),e)}function S0n(e){return JH(),Gr((sut(),fxt),e)}function _0n(e){return dA(),Gr((zut(),dxt),e)}function A0n(e){return pV(),Gr((qut(),gxt),e)}function L0n(e){return l2(),Gr((cht(),pxt),e)}function M0n(e){return pN(),Gr((tut(),bxt),e)}function D0n(e){return zE(),Gr((Pht(),kxt),e)}function I0n(e){return Ho(),Gr((f0t(),Ext),e)}function O0n(e){return vE(),Gr((Uut(),Txt),e)}function N0n(e){return ep(),Gr((Gut(),Sxt),e)}function P0n(e){return zH(),Gr((eut(),_xt),e)}function B0n(e){return WN(),Gr((Nht(),xxt),e)}function F0n(e){return Vm(),Gr((Vut(),vxt),e)}function R0n(e){return yU(),Gr((Oht(),wxt),e)}function j0n(e){return cN(),Gr((nut(),yxt),e)}function $0n(e){return hf(),Gr((lht(),Axt),e)}function z0n(e){return p2(),Gr((Kft(),Jkt),e)}function q0n(e){return EA(),Gr((Kut(),Zkt),e)}function H0n(e){return By(),Gr((Mlt(),eEt),e)}function V0n(e){return OA(),Gr((uht(),tEt),e)}function U0n(e){return Nf(),Gr((d0t(),nEt),e)}function G0n(e){return Ed(),Gr((Dlt(),rEt),e)}function K0n(e){return dN(),Gr((rut(),iEt),e)}function W0n(e){return qo(),Gr((Xut(),aEt),e)}function Y0n(e){return LV(),Gr((Wut(),oEt),e)}function X0n(e){return yA(),Gr((Yut(),cEt),e)}function Q0n(e){return SE(),Gr((Qut(),uEt),e)}function J0n(e){return gV(),Gr((Jut(),lEt),e)}function Z0n(e){return OV(),Gr((Zut(),hEt),e)}function e1n(e){return Iw(),Gr((olt(),_Et),e)}function t1n(e){return oA(),Gr((iut(),IEt),e)}function n1n(e){return xd(),Gr((cut(),jEt),e)}function r1n(e){return D1(),Gr((uut(),zEt),e)}function i1n(e){return J0(),Gr((lut(),nTt),e)}function s1n(e){return Sw(),Gr((hut(),uTt),e)}function a1n(e){return wx(),Gr((Rlt(),lTt),e)}function o1n(e){return WA(),Gr((Wtt(),hTt),e)}function c1n(e){return xA(),Gr((elt(),fTt),e)}function u1n(e){return kA(),Gr((Flt(),PTt),e)}function l1n(e){return RH(),Gr((aut(),BTt),e)}function h1n(e){return kV(),Gr((out(),zTt),e)}function f1n(e){return bU(),Gr((hht(),HTt),e)}function d1n(e){return LN(),Gr((tlt(),UTt),e)}function g1n(e){return eV(),Gr((fut(),VTt),e)}function p1n(e){return uU(),Gr((Blt(),hCt),e)}function b1n(e){return AV(),Gr((nlt(),fCt),e)}function m1n(e){return WV(),Gr((rlt(),dCt),e)}function v1n(e){return sU(),Gr((ilt(),pCt),e)}function w1n(e){return qV(),Gr((slt(),vCt),e)}function y1n(e){return GH(),Gr((dut(),jCt),e)}function x1n(e){return dE(),Gr((Zct(),z8t),e)}function k1n(e){return Zn(),Gr((Bht(),B8t),e)}function E1n(e){return tV(),Gr((alt(),$Ct),e)}function T1n(e){return fce(),Gr((gut(),zCt),e)}function C1n(e){return VA(),Gr((fht(),HCt),e)}function S1n(e){return nq(),Gr((Mct(),UCt),e)}function _1n(e){return PN(),Gr((glt(),VCt),e)}function A1n(e){return rq(),Gr((Dct(),KCt),e)}function L1n(e){return rN(),Gr((put(),WCt),e)}function M1n(e){return XN(),Gr((dht(),YCt),e)}function D1n(e){return b_(),Gr((Ict(),hSt),e)}function I1n(e){return CN(),Gr((but(),fSt),e)}function O1n(e){return r1(),Gr((pht(),vSt),e)}function N1n(e){return g2(),Gr((Oft(),ySt),e)}function P1n(e){return og(),Gr((Fht(),xSt),e)}function B1n(e){return Ym(),Gr((Rht(),_St),e)}function F1n(e){return Js(),Gr((ght(),GSt),e)}function R1n(e){return F1(),Gr((plt(),KSt),e)}function j1n(e){return ip(),Gr((jlt(),WSt),e)}function $1n(e){return vU(),Gr((jht(),YSt),e)}function z1n(e){return rp(),Gr((dlt(),QSt),e)}function q1n(e){return Ih(),Gr(($lt(),ZSt),e)}function H1n(e){return qy(),Gr((Yft(),e_t),e)}function V1n(e){return t6(),Gr((bht(),t_t),e)}function U1n(e){return Ra(),Gr(($ht(),n_t),e)}function G1n(e){return Rl(),Gr((zht(),r_t),e)}function K1n(e){return Ct(),Gr((mht(),i_t),e)}function W1n(e){return mh(),Gr((zlt(),u_t),e)}function Y1n(e){return Zl(),Gr((Wft(),l_t),e)}function X1n(e){return dx(),Gr((blt(),h_t),e)}function Q1n(e,t){return nr(e),e+(nr(t),t)}function J1n(e){return mae(),Gr((mut(),f_t),e)}function Z1n(e){return VV(),Gr((qlt(),d_t),e)}function edn(e){return NV(),Gr((Hlt(),b_t),e)}function jk(){jk=U,$De=(Ct(),er),DW=ar}function mae(){mae=U,rPe=new Wit,iPe=new Ost}function tdn(e){return!e.e&&(e.e=new bt),e.e}function vae(e,t){this.c=e,this.a=t,this.b=t-e}function wit(e,t,n){this.a=e,this.b=t,this.c=n}function wae(e,t,n){this.a=e,this.b=t,this.c=n}function x4e(e,t,n){this.a=e,this.b=t,this.c=n}function k4e(e,t,n){this.a=e,this.b=t,this.c=n}function yit(e,t,n){this.a=e,this.b=t,this.c=n}function xit(e,t,n){this.a=e,this.b=t,this.c=n}function Xp(e,t,n){this.e=e,this.a=t,this.c=n}function kit(e,t,n){Jh(),$5e.call(this,e,t,n)}function yae(e,t,n){Jh(),E5e.call(this,e,t,n)}function E4e(e,t,n){Jh(),E5e.call(this,e,t,n)}function T4e(e,t,n){Jh(),E5e.call(this,e,t,n)}function Eit(e,t,n){Jh(),yae.call(this,e,t,n)}function C4e(e,t,n){Jh(),yae.call(this,e,t,n)}function Tit(e,t,n){Jh(),C4e.call(this,e,t,n)}function Cit(e,t,n){Jh(),E4e.call(this,e,t,n)}function Sit(e,t,n){Jh(),T4e.call(this,e,t,n)}function xae(e){sH.call(this,e.d,e.c,e.a,e.b)}function S4e(e){sH.call(this,e.d,e.c,e.a,e.b)}function _4e(e){this.d=e,Mr(this),this.b=egn(e.d)}function ndn(e){return HE(),Gr((Nft(),L_t),e)}function NO(e,t){return Xr(e),Xr(t),new IZe(e,t)}function G8(e,t){return Xr(e),Xr(t),new jit(e,t)}function rdn(e,t){return Xr(e),Xr(t),new $it(e,t)}function idn(e,t){return Xr(e),Xr(t),new zZe(e,t)}function kae(e){return mr(e.b!=0),af(e,e.a.a)}function sdn(e){return mr(e.b!=0),af(e,e.c.b)}function adn(e){return!e.c&&(e.c=new Xd),e.c}function $k(e){var t;return t=new bt,Goe(t,e),t}function odn(e){var t;return t=new Ks,Goe(t,e),t}function _it(e){var t;return t=new Lwe,sce(t,e),t}function PO(e){var t;return t=new os,sce(t,e),t}function l(e,t){return V_(e==null||iue(e,t)),e}function cdn(e,t,n){Sst.call(this,t,n),this.a=e}function Ait(e,t){this.c=e,this.b=t,this.a=!1}function Lit(){this.a=";,;",this.b="",this.c=""}function Mit(e,t,n){this.b=e,ztt.call(this,t,n)}function A4e(e,t,n){this.c=e,cq.call(this,t,n)}function L4e(e,t,n){Ik.call(this,e,t),this.b=n}function M4e(e,t,n){k9e(n,0,e,t,n.length,!1)}function tg(e,t,n,r,a){e.b=t,e.c=n,e.d=r,e.a=a}function D4e(e,t,n,r,a){e.d=t,e.c=n,e.a=r,e.b=a}function udn(e,t){t&&(e.b=t,e.a=(fb(t),t.a))}function BO(e,t){if(!e)throw ue(new Yn(t))}function K8(e,t){if(!e)throw ue(new nc(t))}function I4e(e,t){if(!e)throw ue(new BJe(t))}function ldn(e,t){return eq(),ru(e.d.p,t.d.p)}function hdn(e,t){return tp(),Yi(e.e.b,t.e.b)}function fdn(e,t){return tp(),Yi(e.e.a,t.e.a)}function ddn(e,t){return ru(Uit(e.d),Uit(t.d))}function Xq(e,t){return t&&yH(e,t.d)?t:null}function gdn(e,t){return t==(Ct(),er)?e.c:e.d}function O4e(e){return mb(dgn(wc(e)?Mf(e):e))}function pdn(e){return new lt(e.c+e.b,e.d+e.a)}function Dit(e){return e!=null&&!Hce(e,$M,zM)}function bdn(e,t){return(u1t(e)<<4|u1t(t))&Zs}function Iit(e,t,n,r,a){e.c=t,e.d=n,e.b=r,e.a=a}function N4e(e){var t,n;t=e.b,n=e.c,e.b=n,e.c=t}function P4e(e){var t,n;n=e.d,t=e.a,e.d=t,e.a=n}function mdn(e,t){var n;return n=e.c,d7e(e,t),n}function B4e(e,t){return t<0?e.g=-1:e.g=t,e}function Qq(e,t){return Cwn(e),e.a*=t,e.b*=t,e}function Oit(e,t,n){_ht.call(this,t,n),this.d=e}function FO(e,t,n){tye.call(this,e,t),this.c=n}function Jq(e,t,n){tye.call(this,e,t),this.c=n}function F4e(e){p4e(),m5.call(this),this.ci(e)}function Nit(){eE(),Rgn.call(this,(ib(),Gf))}function Pit(e){return Di(),new ng(0,e)}function Bit(){Bit=U,spe=(Cn(),new Da(c0e))}function Zq(){Zq=U,new W8e((Gie(),y0e),(Uie(),w0e))}function Fit(){Fit=U,t_e=We(ro,dt,17,256,0,1)}function Rit(){this.b=ze(Ge(It((b0(),Z0e))))}function Eae(e){this.b=e,this.a=Mm(this.b.a).Od()}function jit(e,t){this.b=e,this.a=t,GS.call(this)}function $it(e,t){this.a=e,this.b=t,GS.call(this)}function zit(e,t,n){this.a=e,N5.call(this,t,n)}function qit(e,t,n){this.a=e,N5.call(this,t,n)}function zk(e,t,n){var r;r=new yy(n),e1(e,t,r)}function R4e(e,t,n){var r;return r=e[t],e[t]=n,r}function eH(e){var t;return t=e.slice(),joe(t,e)}function tH(e){var t;return t=e.n,e.a.b+t.d+t.a}function Hit(e){var t;return t=e.n,e.e.b+t.d+t.a}function j4e(e){var t;return t=e.n,e.e.a+t.b+t.c}function $4e(e){e.a.b=e.b,e.b.a=e.a,e.a=e.b=null}function ci(e,t){return Cs(e,t,e.c.b,e.c),!0}function vdn(e){return e.a?e.a:Qae(e)}function wdn(e){return tx(),cg(e)==ds(Eb(e))}function ydn(e){return tx(),Eb(e)==ds(cg(e))}function gw(e,t){return RA(e,new Ik(t.a,t.b))}function xdn(e,t){return kH(),fue(e,t),new hat(e,t)}function kdn(e,t){return e.c=t)throw ue(new Bwe)}function vy(e,t){return ON(e,(nr(t),new xo(t)))}function Y8(e,t){return ON(e,(nr(t),new lh(t)))}function Ast(e,t,n){return WIn(e,l(t,12),l(n,12))}function Lst(e){return kl(),l(e,12).g.c.length!=0}function Mst(e){return kl(),l(e,12).e.c.length!=0}function agn(e,t){return lx(),Yi(t.a.o.a,e.a.o.a)}function ogn(e,t){t.Bb&eu&&!e.a.o&&(e.a.o=t)}function cgn(e,t){t.Ug("General 'Rotator",1),kDn(e)}function ugn(e,t,n){t.qf(n,ze(Ge(cr(e.b,n)))*e.a)}function Dst(e,t,n){return h6(),gE(e,t)&&gE(e,n)}function W_(e){return Rl(),!e.Hc(vp)&&!e.Hc(Yb)}function lgn(e){return e.e?_6e(e.e):null}function Y_(e){return wc(e)?""+e:Pbt(e)}function s5e(e){var t;for(t=e;t.f;)t=t.f;return t}function hgn(e,t,n){return Ts(t,0,U4e(t[0],n[0])),t}function Qp(e,t,n,r){var a;a=e.i,a.i=t,a.a=n,a.b=r}function nt(e,t,n,r){Ys.call(this,e,t,n),this.b=r}function _a(e,t,n,r,a){Foe.call(this,e,t,n,r,a,-1)}function X_(e,t,n,r,a){sN.call(this,e,t,n,r,a,-1)}function pH(e,t,n,r){FO.call(this,e,t,n),this.b=r}function Ist(e){Ltt.call(this,e,!1),this.a=!1}function Ost(){ctt.call(this,"LOOKAHEAD_LAYOUT",1)}function Nst(e){this.b=e,q8.call(this,e),jnt(this)}function Pst(e){this.b=e,CO.call(this,e),$nt(this)}function wy(e,t,n){this.a=e,V8.call(this,t,n,5,6)}function a5e(e,t,n,r){this.b=e,Ys.call(this,t,n,r)}function Bst(e,t){this.b=e,qg.call(this,e.b),this.a=t}function Fst(e){this.a=ydt(e.a),this.b=new Ol(e.b)}function o5e(e,t){ww(),qun.call(this,e,RV(new Il(t)))}function bH(e,t){return Di(),new k5e(e,t,0)}function Bae(e,t){return Di(),new k5e(6,e,t)}function Za(e,t){for(nr(t);e.Ob();)t.Cd(e.Pb())}function Hu(e,t){return Ia(t)?soe(e,t):!!zo(e.f,t)}function Fae(e,t){return t.Vh()?yb(e.b,l(t,54)):t}function fgn(e,t){return vn(e.substr(0,t.length),t)}function rg(e){return new hr(new Aye(e.a.length,e.a))}function mH(e){return new lt(e.c+e.b/2,e.d+e.a/2)}function dgn(e){return qu(~e.l&eh,~e.m&eh,~e.h&hp)}function Rae(e){return typeof e===wP||typeof e===Ole}function Nl(e){e.f=new rnt(e),e.i=new int(e),++e.g}function Rst(e){if(!e)throw ue(new _c);return e.d}function X8(e){var t;return t=wA(e),mr(t!=null),t}function ggn(e){var t;return t=M4n(e),mr(t!=null),t}function Hk(e,t){var n;return n=e.a.gc(),k6e(t,n),n-t}function na(e,t){var n;return n=e.a.zc(t,e),n==null}function jO(e,t){return e.a.zc(t,(Hn(),Pb))==null}function c5e(e){return new bn(null,wgn(e,e.length))}function u5e(e,t,n){return svt(e,l(t,42),l(n,176))}function Q8(e,t,n){return d0(e.a,t),R4e(e.b,t.g,n)}function pgn(e,t,n){qk(n,e.a.c.length),rf(e.a,n,t)}function He(e,t,n,r){B0t(t,n,e.length),bgn(e,t,n,r)}function bgn(e,t,n,r){var a;for(a=t;a0?b.Math.log(e/t):-100}function $st(e,t){return iu(e,t)<0?-1:iu(e,t)>0?1:0}function $O(e,t){Dnt(e,De(t,160)?t:l(t,2036).Rl())}function d5e(e,t){if(e==null)throw ue(new D8(t))}function wgn(e,t){return xwn(t,e.length),new Kit(e,t)}function g5e(e,t){return t?Ka(e,t):!1}function ygn(){return $z(),he(le(a6t,1),it,549,0,[E0e])}function J_(e){return e.e==0?e:new Im(-e.e,e.d,e.a)}function xgn(e,t){return Yi(e.c.c+e.c.b,t.c.c+t.c.b)}function zO(e,t){Cs(e.d,t,e.b.b,e.b),++e.a,e.c=null}function zst(e,t){return e.c?zst(e.c,t):vt(e.b,t),e}function kgn(e,t,n){var r;return r=_y(e,t),xoe(e,t,n),r}function qst(e,t,n){var r;for(r=0;r=e.g}function Ts(e,t,n){return dfn(n==null||cAn(e,n)),e[t]=n}function w5e(e,t){return Xn(t,e.length+1),e.substr(t)}function Wae(e,t){for(nr(t);e.c=e?new b3e:Uwn(e-1)}function eo(e){return!e.a&&e.c?e.c.b:e.a}function T5e(e){return De(e,616)?e:new oot(e)}function fb(e){e.c?fb(e.c):(xb(e),e.d=!0)}function tA(e){e.c?e.c.$e():(e.d=!0,uCn(e))}function cat(e){e.b=!1,e.c=!1,e.d=!1,e.a=!1}function uat(e){var t,n;return t=e.c.i.c,n=e.d.i.c,t==n}function zgn(e,t){var n;n=e.Ih(t),n>=0?e.ki(n):d9e(e,t)}function lat(e,t){e.c<0||e.b.b0;)e=e<<1|(e<0?1:0);return e}function vat(e,t){var n;return n=new yu(e),$n(t.c,n),n}function wat(e,t){e.u.Hc((Rl(),vp))&&Gkn(e,t),lvn(e,t)}function Jc(e,t){return qe(e)===qe(t)||e!=null&&Pi(e,t)}function Qo(e,t){return Aae(e.a,t)?e.b[l(t,22).g]:null}function epn(){return Zz(),he(le(U_e,1),it,489,0,[G0e])}function tpn(){return nq(),he(le(wOe,1),it,490,0,[bge])}function npn(){return rq(),he(le(GCt,1),it,558,0,[mge])}function rpn(){return b_(),he(le($Oe,1),it,539,0,[qB])}function EH(e){return!e.n&&(e.n=new nt(ec,e,1,7)),e.n}function Xae(e){return!e.c&&(e.c=new nt(Hl,e,9,9)),e.c}function A5e(e){return!e.c&&(e.c=new Ln(_r,e,5,8)),e.c}function ipn(e){return!e.b&&(e.b=new Ln(_r,e,4,7)),e.b}function qO(e){return e.j.c.length=0,M5e(e.c),Bfn(e.a),e}function Wk(e){return e.e==ET&&hn(e,J5n(e.g,e.b)),e.e}function HO(e){return e.f==ET&&Dn(e,H7n(e.g,e.b)),e.f}function Ei(e,t,n,r){return qft(e,t,n,!1),jV(e,r),e}function yat(e,t){this.b=e,jae.call(this,e,t),jnt(this)}function xat(e,t){this.b=e,f4e.call(this,e,t),$nt(this)}function nA(e){this.d=e,this.a=this.d.b,this.b=this.d.c}function L5e(e,t){this.b=e,this.c=t,this.a=new P8(this.b)}function co(e,t){return Xn(t,e.length),e.charCodeAt(t)}function spn(e,t){b8e(e,ze(np(t,"x")),ze(np(t,"y")))}function apn(e,t){b8e(e,ze(np(t,"x")),ze(np(t,"y")))}function Fi(e,t){return xb(e),new bn(e,new $6e(t,e.a))}function fc(e,t){return xb(e),new bn(e,new C6e(t,e.a))}function xy(e,t){return xb(e),new Vye(e,new Mut(t,e.a))}function TH(e,t){return xb(e),new Uye(e,new Dut(t,e.a))}function opn(e,t){return new Uat(l(Xr(e),50),l(Xr(t),50))}function cpn(e,t){return Yi(e.d.c+e.d.b/2,t.d.c+t.d.b/2)}function kat(e,t,n){n.a?Gu(e,t.b-e.f/2):Uu(e,t.a-e.g/2)}function upn(e,t){return Yi(e.g.c+e.g.b/2,t.g.c+t.g.b/2)}function lpn(e,t){return w3e(),Yi((nr(e),e),(nr(t),t))}function hpn(e){return e!=null&&nO(EY,e.toLowerCase())}function M5e(e){var t;for(t=e.Kc();t.Ob();)t.Pb(),t.Qb()}function V5(e){var t;return t=e.b,!t&&(e.b=t=new mie(e)),t}function Qae(e){var t;return t=Ywn(e),t||null}function Eat(e,t){var n,r;return n=e/t,r=ua(n),n>r&&++r,r}function fpn(e,t,n){var r;r=l(e.d.Kb(n),159),r&&r.Nb(t)}function dpn(e,t,n){pLn(e.a,n),G3n(n),BEn(e.b,n),BLn(t,n)}function CH(e,t,n,r){this.a=e,this.c=t,this.b=n,this.d=r}function D5e(e,t,n,r){this.c=e,this.b=t,this.a=n,this.d=r}function Tat(e,t,n,r){this.c=e,this.b=t,this.d=n,this.a=r}function ef(e,t,n,r){this.c=e,this.d=t,this.b=n,this.a=r}function Cat(e,t,n,r){this.a=e,this.d=t,this.c=n,this.b=r}function Jae(e,t,n,r){this.a=e,this.e=t,this.d=n,this.c=r}function Sat(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function Zae(e,t,n){this.a=iEe,this.d=e,this.b=t,this.c=n}function Z8(e,t,n,r){Ur.call(this,e,t),this.a=n,this.b=r}function _at(e,t){this.d=(nr(e),e),this.a=16449,this.c=t}function Aat(e){this.a=new bt,this.e=We(Vr,dt,53,e,0,2)}function gpn(e){e.Ug("No crossing minimization",1),e.Vg()}function Lat(){Ac.call(this,"There is no more element.")}function Mat(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function Dat(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function Om(e,t,n,r){this.e=e,this.a=t,this.c=n,this.d=r}function Iat(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function Oat(e,t,n,r){Jh(),Iut.call(this,t,n,r),this.a=e}function Nat(e,t,n,r){Jh(),Iut.call(this,t,n,r),this.a=e}function eoe(e,t,n){var r,a;return r=Vke(e),a=t.ti(n,r),a}function Kg(e){var t,n;return n=(t=new Qv,t),sE(n,e),n}function toe(e){var t,n;return n=(t=new Qv,t),Kxe(n,e),n}function ppn(e,t){var n;return n=cr(e.f,t),S7e(t,n),null}function Pat(e){return!e.b&&(e.b=new nt(js,e,12,3)),e.b}function Bat(e){return V_(e==null||Rae(e)&&e.Tm!==xe),e}function SH(e){return e.n&&(e.e!==Fwt&&e.je(),e.j=null),e}function Yk(e){if(Ql(e.d),e.d.d!=e.c)throw ue(new Xh)}function I5e(e){return mr(e.b0&&ggt(this)}function Fat(e,t){this.a=e,gfn.call(this,e,l(e.d,15).fd(t))}function bpn(e,t){return Yi(wl(e)*gh(e),wl(t)*gh(t))}function mpn(e,t){return Yi(wl(e)*gh(e),wl(t)*gh(t))}function vpn(e){return qw(e)&&Rt(Bt(at(e,(Nt(),gv))))}function wpn(e,t){return xn(e,l(Q(t,(Nt(),HT)),17),t)}function ypn(e,t){return l(Q(e,(ft(),Wx)),15).Fc(t),t}function O5e(e,t){return e.b=t.b,e.c=t.c,e.d=t.d,e.a=t.a,e}function Rat(e,t,n,r){this.b=e,this.c=r,Dq.call(this,t,n)}function xpn(e,t,n){e.i=0,e.e=0,t!=n&&x0t(e,t,n)}function kpn(e,t,n){e.i=0,e.e=0,t!=n&&k0t(e,t,n)}function Epn(e,t,n){return p_(),X4n(l(cr(e.e,t),529),n)}function ex(e){var t;return t=e.f,t||(e.f=new Lk(e,e.c))}function jat(e,t){return e6(e.j,t.s,t.c)+e6(t.e,e.s,e.c)}function $at(e,t){e.e&&!e.e.a&&(CQe(e.e,t),$at(e.e,t))}function zat(e,t){e.d&&!e.d.a&&(CQe(e.d,t),zat(e.d,t))}function Tpn(e,t){return-Yi(wl(e)*gh(e),wl(t)*gh(t))}function Cpn(e){return l(e.ld(),149).Pg()+":"+xc(e.md())}function qat(){Nue(this,new fz),this.wb=(lb(),Vn),Sk()}function Hat(e){this.b=new bt,ra(this.b,this.b),this.a=e}function N5e(e,t){new os,this.a=new bl,this.b=e,this.c=t}function Ew(){Ew=U,d_e=new Ke,D0e=new Ke,g_e=new Ft}function Cn(){Cn=U,_o=new je,mg=new Se,hK=new Ce}function P5e(){P5e=U,j6t=new wo,z6t=new X4e,$6t=new _s}function tx(){tx=U,wK=new bt,X0e=new Pr,Y0e=new bt}function _H(e,t){if(e==null)throw ue(new D8(t));return e}function AH(e){return!e.a&&(e.a=new nt(Ai,e,10,11)),e.a}function qi(e){return!e.q&&(e.q=new nt(Uf,e,11,10)),e.q}function tt(e){return!e.s&&(e.s=new nt(dl,e,21,17)),e.s}function Spn(e){return Xr(e),Mdt(new hr(dr(e.a.Kc(),new j)))}function _pn(e,t){return bh(e),bh(t),PJe(l(e,22),l(t,22))}function Nm(e,t,n){var r,a;r=g4e(n),a=new vk(r),e1(e,t,a)}function roe(e,t,n,r,a,o){sN.call(this,e,t,n,r,a,o?-2:-1)}function Vat(e,t,n,r){tye.call(this,t,n),this.b=e,this.a=r}function Uat(e,t){Wcn.call(this,new Pae(e)),this.a=e,this.b=t}function B5e(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function Apn(e){u0();var t;t=l(e.g,10),t.n.a=e.d.c+t.d.b}function Xk(){Xk=U;var e,t;t=!P5n(),e=new se,S0e=t?new ne:e}function ioe(e){return Cn(),De(e,59)?new ese(e):new jq(e)}function LH(e){return De(e,16)?new U_(l(e,16)):odn(e.Kc())}function Lpn(e){return new qnt(e,e.e.Rd().gc()*e.c.Rd().gc())}function Mpn(e){return new Hnt(e,e.e.Rd().gc()*e.c.Rd().gc())}function F5e(e){return e&&e.hashCode?e.hashCode():fw(e)}function soe(e,t){return t==null?!!zo(e.f,null):Gdn(e.i,t)}function Dpn(e,t){var n;return n=wye(e.a,t),n&&(t.d=null),n}function Gat(e,t,n){return e.f?e.f.ef(t,n):!1}function VO(e,t,n,r){Ts(e.c[t.g],n.g,r),Ts(e.c[n.g],t.g,r)}function aoe(e,t,n,r){Ts(e.c[t.g],t.g,n),Ts(e.b[t.g],t.g,r)}function Ipn(e,t,n){return ze(Ge(n.a))<=e&&ze(Ge(n.b))>=t}function Kat(e,t){this.g=e,this.d=he(le(wg,1),m2,10,0,[t])}function Wat(e){this.c=e,this.b=new Kp(l(Xr(new tl),50))}function Yat(e){this.c=e,this.b=new Kp(l(Xr(new l5),50))}function Xat(e){this.b=e,this.a=new Kp(l(Xr(new Bi),50))}function Qat(){this.b=new Ks,this.d=new os,this.e=new Fwe}function R5e(){this.c=new qa,this.d=new qa,this.e=new qa}function Tw(){this.a=new bl,this.b=(Mh(3,Yy),new Bu(3))}function Jp(e,t){this.e=e,this.a=wa,this.b=Qbt(t),this.c=t}function MH(e){this.c=e.c,this.d=e.d,this.b=e.b,this.a=e.a}function Jat(e,t,n,r,a,o){this.a=e,Joe.call(this,t,n,r,a,o)}function Zat(e,t,n,r,a,o){this.a=e,Joe.call(this,t,n,r,a,o)}function db(e,t,n,r,a,o,f){return new Eoe(e.e,t,n,r,a,o,f)}function Opn(e,t,n){return n>=0&&vn(e.substr(n,t.length),t)}function eot(e,t){return De(t,149)&&vn(e.b,l(t,149).Pg())}function Npn(e,t){return e.a?t.Gh().Kc():l(t.Gh(),71).Ii()}function tot(e,t){var n;return n=e.b.Qc(t),Yct(n,e.b.gc()),n}function UO(e,t){if(e==null)throw ue(new D8(t));return e}function dc(e){return e.u||(Yl(e),e.u=new Nrt(e,e)),e.u}function ooe(e){this.a=(Cn(),De(e,59)?new ese(e):new jq(e))}function sl(e){var t;return t=l(Kn(e,16),29),t||e.ii()}function DH(e,t){var n;return n=_m(e.Rm),t==null?n:n+": "+t}function tf(e,t,n){return Ga(t,n,e.length),e.substr(t,n-t)}function not(e,t){Vq.call(this),Y6e(this),this.a=e,this.c=t}function Ppn(e){e&&DH(e,e.ie())}function Bpn(e){Hz(),b.setTimeout(function(){throw e},0)}function Fpn(){return ZV(),he(le(k_e,1),it,436,0,[j0e,x_e])}function Rpn(){return aV(),he(le(T_e,1),it,435,0,[E_e,$0e])}function jpn(){return oV(),he(le(J_e,1),it,432,0,[Q0e,yK])}function $pn(){return dE(),he(le($8t,1),it,517,0,[dB,h1e])}function zpn(){return zH(),he(le(PLe,1),it,429,0,[z1e,NLe])}function qpn(){return pN(),he(le(wLe,1),it,428,0,[XK,vLe])}function Hpn(){return JH(),he(le(hLe,1),it,431,0,[lLe,S1e])}function Vpn(){return dN(),he(le(_De,1),it,430,0,[kde,Ede])}function Upn(){return oA(),he(le(DEt,1),it,531,0,[uM,cM])}function Gpn(){return kV(),he(le(EIe,1),it,501,0,[$W,X6])}function Kpn(){return xd(),he(le(REt,1),it,523,0,[w3,T2])}function Wpn(){return D1(),he(le($Et,1),it,522,0,[wv,Y1])}function Ypn(){return J0(),he(le(tTt,1),it,528,0,[E4,qb])}function Xpn(){return cN(),he(le(kLe,1),it,488,0,[xLe,JK])}function Qpn(){return GH(),he(le(fOe,1),it,491,0,[dge,hOe])}function Jpn(){return fce(),he(le(vOe,1),it,492,0,[bOe,mOe])}function Zpn(){return RH(),he(le(kIe,1),it,433,0,[Ude,xIe])}function e2n(){return eV(),he(le(CIe,1),it,434,0,[TIe,Qde])}function t2n(){return Sw(),he(le(cTt,1),it,465,0,[Hb,K6])}function n2n(){return rN(),he(le(yOe,1),it,438,0,[vge,QW])}function r2n(){return CN(),he(le(qOe,1),it,437,0,[ZW,zOe])}function i2n(){return mae(),he(le(gY,1),it,347,0,[rPe,iPe])}function IH(e,t,n,r){return n>=0?e.Uh(t,n,r):e.Ch(null,n,r)}function GO(e){return e.b.b==0?e.a.sf():kae(e.b)}function s2n(e){if(e.p!=5)throw ue(new pl);return Yr(e.f)}function a2n(e){if(e.p!=5)throw ue(new pl);return Yr(e.k)}function j5e(e){return qe(e.a)===qe((lce(),npe))&&iMn(e),e.a}function o2n(e,t){e.b=t,e.c>0&&e.b>0&&(e.g=aH(e.c,e.b,e.a))}function c2n(e,t){e.c=t,e.c>0&&e.b>0&&(e.g=aH(e.c,e.b,e.a))}function rot(e,t){ce(this,new lt(e.a,e.b)),ve(this,PO(t))}function Cw(){Ycn.call(this,new N8(Ay(12))),Tye(!0),this.a=2}function coe(e,t,n){Di(),Xv.call(this,e),this.b=t,this.a=n}function $5e(e,t,n){Jh(),Nz.call(this,t),this.a=e,this.b=n}function iot(e){var t;t=e.c.d.b,e.b=t,e.a=e.c.d,t.a=e.c.d.b=e}function u2n(e){return e.b==0?null:(mr(e.b!=0),af(e,e.a.a))}function xu(e,t){return t==null?hc(zo(e.f,null)):y_(e.i,t)}function sot(e,t,n,r,a){return new Bue(e,(rE(),P0e),t,n,r,a)}function OH(e,t){return Gct(t),Own(e,We(Vr,di,28,t,15,1),t)}function NH(e,t){return _H(e,"set1"),_H(t,"set2"),new GZe(e,t)}function l2n(e,t){var n=C0e[e.charCodeAt(0)];return n??e}function aot(e,t){var n,r;return n=t,r=new xt,Ovt(e,n,r),r.d}function uoe(e,t,n,r){var a;a=new Frt,t.a[n.g]=a,Q8(e.b,r,a)}function h2n(e,t){var n;return n=Mwn(e.f,t),Oi(Hq(n),e.f.d)}function KO(e){var t;zwn(e.a),dnt(e.a),t=new e_(e.a),S8e(t)}function f2n(e,t){zbt(e,!0),Vu(e.e.Rf(),new v4e(e,!0,t))}function d2n(e,t){return tx(),e==ds(cg(t))||e==ds(Eb(t))}function g2n(e,t){return tp(),l(Q(t,(Hc(),$d)),17).a==e}function ua(e){return Math.max(Math.min(e,Ii),-2147483648)|0}function oot(e){this.a=l(Xr(e),277),this.b=(Cn(),new Dye(e))}function cot(e,t,n){this.i=new bt,this.b=e,this.g=t,this.a=n}function z5e(e,t,n){this.a=new bt,this.e=e,this.f=t,this.c=n}function PH(e,t,n){this.c=new bt,this.e=e,this.f=t,this.b=n}function uot(e){Vq.call(this),Y6e(this),this.a=e,this.c=!0}function p2n(e){function t(){}return t.prototype=e||{},new t}function b2n(e){if(e.Ae())return null;var t=e.n;return sK[t]}function WO(e){return e.Db>>16!=3?null:l(e.Cb,27)}function M1(e){return e.Db>>16!=9?null:l(e.Cb,27)}function lot(e){return e.Db>>16!=6?null:l(e.Cb,74)}function Sw(){Sw=U,Hb=new H3e(Mx,0),K6=new H3e(Dx,1)}function xd(){xd=U,w3=new $3e(Dx,0),T2=new $3e(Mx,1)}function D1(){D1=U,wv=new z3e(whe,0),Y1=new z3e("UP",1)}function hot(){hot=U,o6t=Kr(($z(),he(le(a6t,1),it,549,0,[E0e])))}function fot(e){var t;return t=new Kz(Ay(e.length)),j7e(t,e),t}function dot(e,t){return e.b+=t.b,e.c+=t.c,e.d+=t.d,e.a+=t.a,e}function m2n(e,t){return Zft(e,t)?(Yht(e),!0):!1}function Wg(e,t){if(t==null)throw ue(new S8);return F5n(e,t)}function YO(e,t){var n;n=e.q.getHours(),e.q.setDate(t),XA(e,n)}function q5e(e,t,n){var r;r=e.Ih(t),r>=0?e.bi(r,n):$9e(e,t,n)}function got(e,t){var n;return n=e.Ih(t),n>=0?e.Wh(n):que(e,t)}function pot(e,t){var n;for(Xr(t),n=e.a;n;n=n.c)t.Yd(n.g,n.i)}function loe(e,t,n){var r;r=w0t(e,t,n),e.b=new TV(r.c.length)}function U5(e,t,n){BH(),e&&ki(Zge,e,t),e&&ki(lF,e,n)}function v2n(e,t){return Yq(),Hn(),l(t.a,17).a0}function H5e(e){var t;return t=e.d,t=e.bj(e.f),qr(e,t),t.Ob()}function bot(e,t){var n;return n=new K4e(t),zgt(n,e),new Ol(n)}function x2n(e){if(e.p!=0)throw ue(new pl);return I_(e.f,0)}function k2n(e){if(e.p!=0)throw ue(new pl);return I_(e.k,0)}function mot(e){return e.Db>>16!=7?null:l(e.Cb,241)}function Qk(e){return e.Db>>16!=6?null:l(e.Cb,241)}function vot(e){return e.Db>>16!=7?null:l(e.Cb,167)}function ds(e){return e.Db>>16!=11?null:l(e.Cb,27)}function ky(e){return e.Db>>16!=17?null:l(e.Cb,29)}function wot(e){return e.Db>>16!=3?null:l(e.Cb,155)}function V5e(e){var t;return xb(e),t=new Ks,Fi(e,new k5(t))}function yot(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.ve(t))}function E2n(e,t){var n;n=e.q.getHours(),e.q.setMonth(t),XA(e,n)}function xot(e,t){Fq(this),this.f=t,this.g=e,SH(this),this.je()}function kot(e,t){this.a=e,this.c=Ja(this.a),this.b=new MH(t)}function Eot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ol(n))}function Tot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ol(n))}function Cot(e){this.a=e,this.b=We(AEt,dt,2043,e.e.length,0,2)}function Sot(){this.a=new bd,this.e=new Ks,this.g=0,this.i=0}function BH(){BH=U,Zge=new Pr,lF=new Pr,mln(C6t,new LS)}function _ot(){_ot=U,fEt=yl(new Xs,(uo(),mc),(vo(),gB))}function U5e(){U5e=U,dEt=yl(new Xs,(uo(),mc),(vo(),gB))}function Aot(){Aot=U,pEt=yl(new Xs,(uo(),mc),(vo(),gB))}function Lot(){Lot=U,OEt=fi(new Xs,(uo(),mc),(vo(),zL))}function Sh(){Sh=U,BEt=fi(new Xs,(uo(),mc),(vo(),zL))}function Mot(){Mot=U,FEt=fi(new Xs,(uo(),mc),(vo(),zL))}function foe(){foe=U,qEt=fi(new Xs,(uo(),mc),(vo(),zL))}function rA(e,t,n,r,a,o){return new Zg(e.e,t,e.Lj(),n,r,a,o)}function rc(e,t,n){return t==null?ju(e.f,null,n):Bw(e.i,t,n)}function po(e,t){e.c&&al(e.c.g,e),e.c=t,e.c&&vt(e.c.g,e)}function Va(e,t){e.c&&al(e.c.a,e),e.c=t,e.c&&vt(e.c.a,e)}function Mc(e,t){e.i&&al(e.i.j,e),e.i=t,e.i&&vt(e.i.j,e)}function Fa(e,t){e.d&&al(e.d.e,e),e.d=t,e.d&&vt(e.d.e,e)}function doe(e,t){e.a&&al(e.a.k,e),e.a=t,e.a&&vt(e.a.k,e)}function goe(e,t){e.b&&al(e.b.f,e),e.b=t,e.b&&vt(e.b.f,e)}function Dot(e,t){Pgn(e,e.b,e.c),l(e.b.b,68),t&&l(t.b,68).b}function T2n(e,t){return Yi(l(e.c,65).c.e.b,l(t.c,65).c.e.b)}function C2n(e,t){return Yi(l(e.c,65).c.e.a,l(t.c,65).c.e.a)}function S2n(e){return Mce(),Hn(),l(e.a,86).d.e!=0}function FH(e,t){De(e.Cb,184)&&(l(e.Cb,184).tb=null),Fu(e,t)}function poe(e,t){De(e.Cb,90)&&zy(Yl(l(e.Cb,90)),4),Fu(e,t)}function _2n(e,t){m8e(e,t),De(e.Cb,90)&&zy(Yl(l(e.Cb,90)),2)}function A2n(e,t){var n,r;n=t.c,r=n!=null,r&&J8(e,new yy(t.c))}function Iot(e){var t,n;return n=(Sk(),t=new Qv,t),sE(n,e),n}function Oot(e){var t,n;return n=(Sk(),t=new Qv,t),sE(n,e),n}function Not(e){for(var t;;)if(t=e.Pb(),!e.Ob())return t}function L2n(e,t,n){return vt(e.a,(kH(),fue(t,n),new iw(t,n))),e}function ku(e,t){return Fo(),Voe(t)?new nH(t,e):new yO(t,e)}function XO(e){return Cd(),iu(e,0)>=0?kb(e):J_(kb(r2(e)))}function M2n(e){var t;return t=l(eH(e.b),9),new Zh(e.a,t,e.c)}function Pot(e,t){var n;return n=l(Oy(ex(e.a),t),16),n?n.gc():0}function Bot(e,t,n){var r;o1t(t,n,e.c.length),r=n-t,d3e(e.c,t,r)}function Zp(e,t,n){o1t(t,n,e.gc()),this.c=e,this.a=t,this.b=n-t}function nx(e){this.c=new os,this.b=e.b,this.d=e.c,this.a=e.a}function boe(e){this.a=b.Math.cos(e),this.b=b.Math.sin(e)}function Pm(e,t,n,r){this.c=e,this.d=r,doe(this,t),goe(this,n)}function G5e(e,t){Kcn.call(this,new N8(Ay(e))),Mh(t,Dwt),this.a=t}function Fot(e,t,n){return new Bue(e,(rE(),N0e),null,!1,t,n)}function Rot(e,t,n){return new Bue(e,(rE(),B0e),t,n,null,!1)}function D2n(){return Fl(),he(le(oc,1),it,108,0,[y_e,Ec,i4])}function I2n(){return ol(),he(le(X6t,1),it,472,0,[a1,Fb,w0])}function O2n(){return Bl(),he(le(W6t,1),it,471,0,[Fd,Bb,v0])}function N2n(){return t1(),he(le(s4,1),it,237,0,[Gc,$u,Kc])}function P2n(){return lA(),he(le(dAe,1),it,391,0,[t1e,e1e,n1e])}function B2n(){return Ow(),he(le(m1e,1),it,372,0,[o3,Rb,a3])}function F2n(){return dA(),he(le(dLe,1),it,322,0,[HL,mB,fLe])}function R2n(){return pV(),he(le(pLe,1),it,351,0,[gLe,YK,_1e])}function j2n(){return Vm(),he(le(mxt,1),it,460,0,[M1e,FT,P6])}function $2n(){return vE(),he(le($1e,1),it,299,0,[R1e,j1e,vB])}function z2n(){return ep(),he(le(Cxt,1),it,311,0,[wB,F6,Ux])}function q2n(){return EA(),he(le(mDe,1),it,390,0,[pde,bDe,SW])}function H2n(){return qo(),he(le(sEt,1),it,463,0,[sM,$l,zu])}function V2n(){return LV(),he(le(MDe,1),it,387,0,[ADe,Tde,LDe])}function U2n(){return yA(),he(le(DDe,1),it,349,0,[Sde,Cde,MB])}function G2n(){return SE(),he(le(ODe,1),it,350,0,[_de,IDe,aM])}function K2n(){return gV(),he(le(BDe,1),it,352,0,[PDe,Ade,NDe])}function W2n(){return OV(),he(le(FDe,1),it,388,0,[Lde,XT,k4])}function Y2n(){return Iw(),he(le(SEt,1),it,464,0,[DB,oM,MW])}function I1(e){return Ic(he(le(Ea,1),dt,8,0,[e.i.n,e.n,e.a]))}function X2n(){return xA(),he(le(eIe,1),it,392,0,[ZDe,Ide,OB])}function jot(){jot=U,FTt=yl(new Xs,(wx(),hM),(WA(),VDe))}function RH(){RH=U,Ude=new V3e("DFS",0),xIe=new V3e("BFS",1)}function $ot(e,t,n){var r;r=new hte,r.b=t,r.a=n,++t.b,vt(e.d,r)}function Q2n(e,t,n){var r;r=new Eo(n.d),Oi(r,e),b8e(t,r.a,r.b)}function J2n(e,t){Ont(e,Yr(va(bw(t,24),ZU)),Yr(va(t,ZU)))}function Ey(e,t){if(e<0||e>t)throw ue(new tc(dEe+e+gEe+t))}function Sn(e,t){if(e<0||e>=t)throw ue(new tc(dEe+e+gEe+t))}function Xn(e,t){if(e<0||e>=t)throw ue(new e3e(dEe+e+gEe+t))}function kn(e,t){this.b=(nr(e),e),this.a=t&Xy?t:t|64|_d}function K5e(e){var t;return xb(e),t=(Ew(),Ew(),D0e),lV(e,t)}function Z2n(e,t,n){var r;return r=ZA(e,t,!1),r.b<=t&&r.a<=n}function ebn(){return tV(),he(le(pOe,1),it,439,0,[gge,gOe,dOe])}function tbn(){return qV(),he(le(XIe,1),it,394,0,[YIe,uge,WIe])}function nbn(){return WV(),he(le(KIe,1),it,445,0,[RB,VW,rge])}function rbn(){return sU(),he(le(gCt,1),it,456,0,[ige,age,sge])}function ibn(){return LN(),he(le(AIe,1),it,393,0,[zW,SIe,_Ie])}function sbn(){return AV(),he(le(GIe,1),it,300,0,[nge,UIe,VIe])}function abn(){return rp(),he(le(YNe,1),it,346,0,[oY,A2,DM])}function obn(){return PN(),he(le(pge,1),it,444,0,[WW,YW,XW])}function cbn(){return F1(),he(le(FNe,1),it,278,0,[nC,_4,rC])}function ubn(){return dx(),he(le(nPe,1),it,280,0,[tPe,L4,dY])}function _w(e){return Xr(e),De(e,16)?new Ol(l(e,16)):$k(e.Kc())}function W5e(e,t){return e&&e.equals?e.equals(t):qe(e)===qe(t)}function va(e,t){return mb(tgn(wc(e)?Mf(e):e,wc(t)?Mf(t):t))}function Q0(e,t){return mb(ngn(wc(e)?Mf(e):e,wc(t)?Mf(t):t))}function moe(e,t){return mb(rgn(wc(e)?Mf(e):e,wc(t)?Mf(t):t))}function lbn(e,t){var n;return n=(nr(e),e).g,qye(!!n),nr(t),n(t)}function zot(e,t){var n,r;return r=Hk(e,t),n=e.a.fd(r),new VZe(e,n)}function hbn(e){return e.Db>>16!=6?null:l(Uue(e),241)}function fbn(e){if(e.p!=2)throw ue(new pl);return Yr(e.f)&Zs}function dbn(e){if(e.p!=2)throw ue(new pl);return Yr(e.k)&Zs}function re(e){return mr(e.ar?1:0}function Uot(e,t){var n,r;return n=$oe(t),r=n,l(cr(e.c,r),17).a}function voe(e,t,n){var r;r=e.d[t.p],e.d[t.p]=e.d[n.p],e.d[n.p]=r}function Tbn(e,t,n){var r;e.n&&t&&n&&(r=new Kne,vt(e.e,r))}function woe(e,t){if(na(e.a,t),t.d)throw ue(new Ac(e3t));t.d=e}function Q5e(e,t){this.a=new bt,this.d=new bt,this.f=e,this.c=t}function Got(){this.c=new Lnt,this.a=new Put,this.b=new UQe,uet()}function Kot(){hx(),this.b=new Pr,this.a=new Pr,this.c=new bt}function Wot(e,t,n){this.d=e,this.j=t,this.e=n,this.o=-1,this.p=3}function Yot(e,t,n){this.d=e,this.k=t,this.f=n,this.o=-1,this.p=5}function Xot(e,t,n,r,a,o){Q6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function Qot(e,t,n,r,a,o){J6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function Jot(e,t,n,r,a,o){p6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function Zot(e,t,n,r,a,o){t7e.call(this,e,t,n,r,a),o&&(this.o=-2)}function ect(e,t,n,r,a,o){b6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function tct(e,t,n,r,a,o){Z6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function nct(e,t,n,r,a,o){e7e.call(this,e,t,n,r,a),o&&(this.o=-2)}function rct(e,t,n,r,a,o){m6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function ict(e,t,n,r){Nz.call(this,n),this.b=e,this.c=t,this.d=r}function sct(e,t){this.f=e,this.a=(eE(),SY),this.c=SY,this.b=t}function act(e,t){this.g=e,this.d=(eE(),_Y),this.a=_Y,this.b=t}function J5e(e,t){!e.c&&(e.c=new Ls(e,0)),HU(e.c,(Gi(),HM),t)}function Cbn(e,t){return oTn(e,t,De(t,102)&&(l(t,19).Bb&Io)!=0)}function Sbn(e,t){return $st(Zc(e.q.getTime()),Zc(t.q.getTime()))}function oct(e){return Cae(e.e.Rd().gc()*e.c.Rd().gc(),16,new pie(e))}function _bn(e){return!!e.u&&du(e.u.a).i!=0&&!(e.n&&cue(e.n))}function Abn(e){return!!e.a&&Xl(e.a.a).i!=0&&!(e.b&&uue(e.b))}function Z5e(e,t){return t==0?!!e.o&&e.o.f!=0:nue(e,t)}function Lbn(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Hc(n)}function cct(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Mc(n)}function uct(e,t){var n;return n=1-t,e.a[n]=EV(e.a[n],n),EV(e,t)}function lct(e,t){var n,r;return r=va(e,Vo),n=l0(t,32),Q0(n,r)}function hct(e,t,n){var r;r=(Xr(e),new Ol(e)),D7n(new Eot(r,t,n))}function QO(e,t,n){var r;r=(Xr(e),new Ol(e)),I7n(new Tot(r,t,n))}function zc(e,t,n,r,a,o){return qft(e,t,n,o),c8e(e,r),u8e(e,a),e}function fct(e,t,n,r){return e.a+=""+tf(t==null?ul:xc(t),n,r),e}function Ua(e,t){this.a=e,kr.call(this,e),Ey(t,e.gc()),this.b=t}function dct(e){this.a=We(wa,Rn,1,P7e(b.Math.max(8,e))<<1,5,1)}function JO(e){return l(j1(e,We(wg,m2,10,e.c.length,0,1)),199)}function kd(e){return l(j1(e,We(u1e,Bhe,18,e.c.length,0,1)),483)}function gct(e){return e.a?e.e.length==0?e.a.a:e.a.a+(""+e.e):e.c}function iA(e){for(;e.d>0&&e.a[--e.d]==0;);e.a[e.d++]==0&&(e.e=0)}function pct(e){return mr(e.b.b!=e.d.a),e.c=e.b=e.b.b,--e.a,e.c.c}function Mbn(e,t,n){e.a=t,e.c=n,e.b.a.$b(),Ch(e.d),ay(e.e.a.c,0)}function bct(e,t){var n;e.e=new Vwe,n=Hy(t),Vs(n,e.c),Mbt(e,n,0)}function Qs(e,t,n,r){var a;a=new J9,a.a=t,a.b=n,a.c=r,ci(e.a,a)}function gt(e,t,n,r){var a;a=new J9,a.a=t,a.b=n,a.c=r,ci(e.b,a)}function mct(e,t,n){if(e<0||tn)throw ue(new tc(H9n(e,t,n)))}function ZO(e,t){if(e<0||e>=t)throw ue(new tc(ykn(e,t)));return e}function Dbn(e){if(!("stack"in e))try{throw e}catch{}return e}function G5(e){return p_(),De(e.g,10)?l(e.g,10):null}function Ibn(e){return V5(e).dc()?!1:(thn(e,new oe),!0)}function Fm(e){var t;return wc(e)?(t=e,t==-0?0:t):Kvn(e)}function vct(e,t){return De(t,44)?gue(e.a,l(t,44)):!1}function wct(e,t){return De(t,44)?gue(e.a,l(t,44)):!1}function yct(e,t){return De(t,44)?gue(e.a,l(t,44)):!1}function e6e(e){var t;return fb(e),t=new Ne,A5(e.a,new x5(t)),t}function t6e(){var e,t,n;return t=(n=(e=new Qv,e),n),vt(RPe,t),t}function jH(e){var t;return fb(e),t=new gn,A5(e.a,new T8(t)),t}function Obn(e,t){return e.a<=e.b?(t.Dd(e.a++),!0):!1}function xct(e){oce.call(this,e,(rE(),O0e),null,!1,null,!1)}function kct(){kct=U,A7t=Kr((Zz(),he(le(U_e,1),it,489,0,[G0e])))}function Ect(){Ect=U,jDe=pat(pt(1),pt(4)),RDe=pat(pt(1),pt(2))}function Nbn(e,t){return new wae(t,z_(Ja(t.e),e,e),(Hn(),!0))}function $H(e){return new Bu((Mh(e,Fle),cV(bo(bo(5,e),e/10|0))))}function Pbn(e){return Cae(e.e.Rd().gc()*e.c.Rd().gc(),273,new gie(e))}function Tct(e){return l(j1(e,We(F8t,I3t,12,e.c.length,0,1)),2042)}function Bbn(e){return Sh(),!Do(e)&&!(!Do(e)&&e.c.i.c==e.d.i.c)}function Fbn(e,t){return ux(),l(Q(t,(Hc(),W6)),17).a>=e.gc()}function sA(e,t){wIn(t,e),N4e(e.d),N4e(l(Q(e,(Nt(),wW)),214))}function yoe(e,t){yIn(t,e),P4e(e.d),P4e(l(Q(e,(Nt(),wW)),214))}function Rbn(e,t,n){e.d&&al(e.d.e,e),e.d=t,e.d&&pw(e.d.e,n,e)}function jbn(e,t,n){return n.f.c.length>0?u5e(e.a,t,n):u5e(e.b,t,n)}function $bn(e,t,n){var r;r=r6n();try{return _fn(e,t,n)}finally{Imn(r)}}function Aw(e,t){var n,r;return n=Wg(e,t),r=null,n&&(r=n.pe()),r}function aA(e,t){var n,r;return n=Wg(e,t),r=null,n&&(r=n.se()),r}function Jk(e,t){var n,r;return n=_y(e,t),r=null,n&&(r=n.se()),r}function Yg(e,t){var n,r;return n=Wg(e,t),r=null,n&&(r=e9e(n)),r}function zbn(e,t,n){var r;return r=NE(n),RU(e.g,r,t),RU(e.i,t,n),t}function n6e(e,t,n){this.d=new OYe(this),this.e=e,this.i=t,this.f=n}function Cct(e,t,n,r){this.e=null,this.c=e,this.d=t,this.a=n,this.b=r}function Sct(e,t,n,r){Ent(this),this.c=e,this.e=t,this.f=n,this.b=r}function r6e(e,t,n,r){this.d=e,this.n=t,this.g=n,this.o=r,this.p=-1}function _ct(e,t,n,r){return De(n,59)?new rrt(e,t,n,r):new r5e(e,t,n,r)}function Zk(e){return De(e,16)?l(e,16).dc():!e.Kc().Ob()}function Act(e){if(e.e.g!=e.b)throw ue(new Xh);return!!e.c&&e.d>0}function Br(e){return mr(e.b!=e.d.c),e.c=e.b,e.b=e.b.a,++e.a,e.c.c}function i6e(e,t){nr(t),Ts(e.a,e.c,t),e.c=e.c+1&e.a.length-1,Xdt(e)}function gb(e,t){nr(t),e.b=e.b-1&e.a.length-1,Ts(e.a,e.b,t),Xdt(e)}function Lct(e){var t;t=e.Gh(),this.a=De(t,71)?l(t,71).Ii():t.Kc()}function qbn(e){return new kn(_wn(l(e.a.md(),16).gc(),e.a.ld()),16)}function Mct(){Mct=U,UCt=Kr((nq(),he(le(wOe,1),it,490,0,[bge])))}function Dct(){Dct=U,KCt=Kr((rq(),he(le(GCt,1),it,558,0,[mge])))}function Ict(){Ict=U,hSt=Kr((b_(),he(le($Oe,1),it,539,0,[qB])))}function Hbn(){return Km(),he(le(mAe,1),it,389,0,[c4,bAe,o1e,c1e])}function Vbn(){return rE(),he(le(fK,1),it,304,0,[O0e,N0e,P0e,B0e])}function Ubn(){return bx(),he(le(E7t,1),it,332,0,[aB,sB,oB,cB])}function Gbn(){return NA(),he(le(S7t,1),it,406,0,[uB,bK,mK,lB])}function Kbn(){return Pw(),he(le(x7t,1),it,417,0,[iB,rB,V0e,U0e])}function Wbn(){return wE(),he(le(C8t,1),it,416,0,[s3,o4,a4,M6])}function Ybn(){return R1(),he(le(txt,1),it,421,0,[Vx,MT,DT,b1e])}function Xbn(){return IV(),he(le(V8t,1),it,371,0,[p1e,HK,VK,pB])}function Qbn(){return By(),he(le(mde,1),it,203,0,[_W,bde,G6,U6])}function Jbn(){return Ed(),he(le(SDe,1),it,284,0,[E2,CDe,yde,xde])}function Zbn(e){var t;return e.j==(Ct(),Dr)&&(t=v2t(e),vl(t,ar))}function emn(e,t){var n;n=t.a,po(n,t.c.d),Fa(n,t.d.d),Dy(n.a,e.n)}function s6e(e,t){var n;return n=l(B1(e.b,t),67),!n&&(n=new os),n}function ix(e){return p_(),De(e.g,154)?l(e.g,154):null}function tmn(e){e.a=null,e.e=null,ay(e.b.c,0),ay(e.f.c,0),e.c=null}function zH(){zH=U,z1e=new F3e(cT,0),NLe=new F3e("TOP_LEFT",1)}function oA(){oA=U,uM=new j3e("UPPER",0),cM=new j3e("LOWER",1)}function nmn(e,t){return z8(new lt(t.e.a+t.f.a/2,t.e.b+t.f.b/2),e)}function Oct(e,t){return l(fh(vy(l($i(e.k,t),15).Oc(),I6)),113)}function Nct(e,t){return l(fh(Y8(l($i(e.k,t),15).Oc(),I6)),113)}function rmn(){return wx(),he(le(qDe,1),it,405,0,[NW,lM,hM,fM])}function imn(){return kA(),he(le(yIe,1),it,353,0,[Vde,jW,Hde,qde])}function smn(){return uU(),he(le(HIe,1),it,354,0,[tge,zIe,qIe,$Ie])}function amn(){return mh(),he(le(BM,1),it,386,0,[iF,Cv,rF,A4])}function omn(){return Ih(),he(le(JSt,1),it,291,0,[eF,kg,Gb,ZB])}function cmn(){return ip(),he(le(Vge,1),it,223,0,[Hge,JB,iC,s9])}function umn(){return VV(),he(le(cPe,1),it,320,0,[Kge,sPe,oPe,aPe])}function lmn(){return NV(),he(le(p_t,1),it,415,0,[Wge,lPe,uPe,hPe])}function hmn(e){return BH(),Hu(Zge,e)?l(cr(Zge,e),341).Qg():null}function nf(e,t,n){return t<0?que(e,n):l(n,69).wk().Bk(e,e.hi(),t)}function fmn(e,t,n){var r;return r=NE(n),RU(e.j,r,t),ki(e.k,t,n),t}function dmn(e,t,n){var r;return r=NE(n),RU(e.d,r,t),ki(e.e,t,n),t}function Pct(e){var t,n;return t=(rb(),n=new TI,n),e&&AU(t,e),t}function a6e(e){var t;return t=e.aj(e.i),e.i>0&&pu(e.g,0,t,0,e.i),t}function Bct(e,t){var n;for(n=e.j.c.length;n>24}function pmn(e){if(e.p!=1)throw ue(new pl);return Yr(e.k)<<24>>24}function bmn(e){if(e.p!=7)throw ue(new pl);return Yr(e.k)<<16>>16}function mmn(e){if(e.p!=7)throw ue(new pl);return Yr(e.f)<<16>>16}function K5(e,t){return t.e==0||e.e==0?BL:(GE(),Que(e,t))}function jct(e,t){return qe(t)===qe(e)?"(this Map)":t==null?ul:xc(t)}function vmn(e,t,n){return Nae(Ge(hc(zo(e.f,t))),Ge(hc(zo(e.f,n))))}function wmn(e,t,n){var r;r=l(cr(e.g,n),60),vt(e.a.c,new ca(t,r))}function $ct(e,t,n){e.i=0,e.e=0,t!=n&&(k0t(e,t,n),x0t(e,t,n))}function ymn(e,t,n,r,a){var o;o=xTn(a,n,r),vt(t,dkn(a,o)),i9n(e,a,t)}function o6e(e,t,n,r,a){this.i=e,this.a=t,this.e=n,this.j=r,this.f=a}function zct(e,t){R5e.call(this),this.a=e,this.b=t,vt(this.a.b,this)}function qct(e){this.b=new Pr,this.c=new Pr,this.d=new Pr,this.a=e}function Hct(e,t){var n;return n=new S5,e.Gd(n),n.a+="..",t.Hd(n),n.a}function Vct(e,t){var n;for(n=t;n;)dw(e,n.i,n.j),n=ds(n);return e}function Uct(e,t,n){var r;return r=NE(n),ki(e.b,r,t),ki(e.c,t,n),t}function Xg(e){var t;for(t=0;e.Ob();)e.Pb(),t=bo(t,1);return cV(t)}function sg(e,t){Fo();var n;return n=l(e,69).vk(),y9n(n,t),n.xl(t)}function xmn(e,t,n){if(n){var r=n.oe();e.a[t]=r(n)}else delete e.a[t]}function c6e(e,t){var n;n=e.q.getHours(),e.q.setFullYear(t+Lb),XA(e,n)}function kmn(e,t){return l(t==null?hc(zo(e.f,null)):y_(e.i,t),288)}function u6e(e,t){return e==(Zn(),Ps)&&t==Ps?4:e==Ps||t==Ps?8:32}function qH(e,t,n){return $U(e,t,n,De(t,102)&&(l(t,19).Bb&Io)!=0)}function Emn(e,t,n){return XE(e,t,n,De(t,102)&&(l(t,19).Bb&Io)!=0)}function Tmn(e,t,n){return gTn(e,t,n,De(t,102)&&(l(t,19).Bb&Io)!=0)}function l6e(e){e.b!=e.c&&(e.a=We(wa,Rn,1,8,5,1),e.b=0,e.c=0)}function cA(e){return mr(e.a=0&&e.a[n]===t[n];n--);return n<0}function HH(e){var t;return e?new K4e(e):(t=new bd,sce(t,e),t)}function Dmn(e,t){var n,r;r=!1;do n=h0t(e,t),r=r|n;while(n);return r}function Imn(e){e&&iwn((Xwe(),GSe)),--aK,e&&oK!=-1&&(Eln(oK),oK=-1)}function VH(e){Rxe(),Ont(this,Yr(va(bw(e,24),ZU)),Yr(va(e,ZU)))}function Xct(){Xct=U,q6t=Kr((ZV(),he(le(k_e,1),it,436,0,[j0e,x_e])))}function Qct(){Qct=U,H6t=Kr((aV(),he(le(T_e,1),it,435,0,[E_e,$0e])))}function Jct(){Jct=U,U7t=Kr((oV(),he(le(J_e,1),it,432,0,[Q0e,yK])))}function Zct(){Zct=U,z8t=Kr((dE(),he(le($8t,1),it,517,0,[dB,h1e])))}function eut(){eut=U,_xt=Kr((zH(),he(le(PLe,1),it,429,0,[z1e,NLe])))}function tut(){tut=U,bxt=Kr((pN(),he(le(wLe,1),it,428,0,[XK,vLe])))}function nut(){nut=U,yxt=Kr((cN(),he(le(kLe,1),it,488,0,[xLe,JK])))}function rut(){rut=U,iEt=Kr((dN(),he(le(_De,1),it,430,0,[kde,Ede])))}function iut(){iut=U,IEt=Kr((oA(),he(le(DEt,1),it,531,0,[uM,cM])))}function sut(){sut=U,fxt=Kr((JH(),he(le(hLe,1),it,431,0,[lLe,S1e])))}function aut(){aut=U,BTt=Kr((RH(),he(le(kIe,1),it,433,0,[Ude,xIe])))}function out(){out=U,zTt=Kr((kV(),he(le(EIe,1),it,501,0,[$W,X6])))}function cut(){cut=U,jEt=Kr((xd(),he(le(REt,1),it,523,0,[w3,T2])))}function uut(){uut=U,zEt=Kr((D1(),he(le($Et,1),it,522,0,[wv,Y1])))}function lut(){lut=U,nTt=Kr((J0(),he(le(tTt,1),it,528,0,[E4,qb])))}function hut(){hut=U,uTt=Kr((Sw(),he(le(cTt,1),it,465,0,[Hb,K6])))}function fut(){fut=U,VTt=Kr((eV(),he(le(CIe,1),it,434,0,[TIe,Qde])))}function dut(){dut=U,jCt=Kr((GH(),he(le(fOe,1),it,491,0,[dge,hOe])))}function gut(){gut=U,zCt=Kr((fce(),he(le(vOe,1),it,492,0,[bOe,mOe])))}function put(){put=U,WCt=Kr((rN(),he(le(yOe,1),it,438,0,[vge,QW])))}function but(){but=U,fSt=Kr((CN(),he(le(qOe,1),it,437,0,[ZW,zOe])))}function mut(){mut=U,f_t=Kr((mae(),he(le(gY,1),it,347,0,[rPe,iPe])))}function Omn(){return Js(),he(le(LM,1),it,88,0,[J1,vc,uc,Q1,wf])}function Nmn(){return Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])}function Pmn(e,t,n){return l(t==null?ju(e.f,null,n):Bw(e.i,t,n),288)}function Bmn(e){return(e.k==(Zn(),Ps)||e.k==Us)&&ns(e,(ft(),KL))}function Coe(e){return e.c&&e.d?X5e(e.c)+"->"+X5e(e.d):"e_"+fw(e)}function to(e,t){var n,r;for(nr(t),r=e.Kc();r.Ob();)n=r.Pb(),t.Cd(n)}function Fmn(e,t){var n;n=new M8,Nm(n,"x",t.a),Nm(n,"y",t.b),J8(e,n)}function Rmn(e,t){var n;n=new M8,Nm(n,"x",t.a),Nm(n,"y",t.b),J8(e,n)}function vut(e,t){var n;for(n=t;n;)dw(e,-n.i,-n.j),n=ds(n);return e}function f6e(e,t){var n,r;for(n=t,r=0;n>0;)r+=e.a[n],n-=n&-n;return r}function rf(e,t,n){var r;return r=(Sn(t,e.c.length),e.c[t]),e.c[t]=n,r}function d6e(e,t,n){e.a.c.length=0,uMn(e,t,n),e.a.c.length==0||F_n(e,t)}function eN(e){e.i=0,aO(e.b,null),aO(e.c,null),e.a=null,e.e=null,++e.g}function UH(){UH=U,G1=!0,I6t=!1,O6t=!1,P6t=!1,N6t=!1}function Soe(e){UH(),!G1&&(this.c=e,this.e=!0,this.a=new bt)}function wut(e,t){this.c=0,this.b=t,qtt.call(this,e,17493),this.a=this.c}function yut(e){kwt(),SQe(this),this.a=new os,G7e(this,e),ci(this.a,e)}function xut(){Yse(this),this.b=new lt(gs,gs),this.a=new lt(ia,ia)}function GH(){GH=U,dge=new K3e(HEe,0),hOe=new K3e("TARGET_WIDTH",1)}function W5(e,t){return(xb(e),_k(new bn(e,new $6e(t,e.a)))).Bd(zx)}function jmn(){return uo(),he(le(gAe,1),it,367,0,[y0,vg,bu,_u,mc])}function $mn(){return Ry(),he(le(rxt,1),it,375,0,[bB,KK,WK,GK,UK])}function zmn(){return l2(),he(le(mLe,1),it,348,0,[A1e,bLe,L1e,BT,PT])}function qmn(){return OA(),he(le(wDe,1),it,323,0,[vDe,vde,wde,rM,iM])}function Hmn(){return hf(),he(le(WLe,1),it,171,0,[EB,YL,$b,XL,d4])}function Vmn(){return bU(),he(le(qTt,1),it,368,0,[Yde,Gde,Xde,Kde,Wde])}function Umn(){return VA(),he(le(qCt,1),it,373,0,[Q6,e9,xM,yM,zB])}function Gmn(){return XN(),he(le(TOe,1),it,324,0,[xOe,wge,EOe,yge,kOe])}function Kmn(){return r1(),he(le(xg,1),it,170,0,[Pn,ha,zd,yv,S2])}function Wmn(){return t6(),he(le(OM,1),it,256,0,[Kb,tF,XNe,IM,QNe])}function Ymn(e){return Hz(),function(){return $bn(e,this,arguments)}}function Do(e){return!e.c||!e.d?!1:!!e.c.i&&e.c.i==e.d.i}function g6e(e,t){return De(t,143)?vn(e.c,l(t,143).c):!1}function Yl(e){return e.t||(e.t=new bQe(e),_A(new IJe(e),0,e.t)),e.t}function kut(e){this.b=e,or.call(this,e),this.a=l(Kn(this.b.a,4),129)}function Eut(e){this.b=e,H8.call(this,e),this.a=l(Kn(this.b.a,4),129)}function h0(e,t,n,r,a){Out.call(this,t,r,a),this.c=e,this.b=n}function p6e(e,t,n,r,a){Wot.call(this,t,r,a),this.c=e,this.a=n}function b6e(e,t,n,r,a){Yot.call(this,t,r,a),this.c=e,this.a=n}function m6e(e,t,n,r,a){Out.call(this,t,r,a),this.c=e,this.a=n}function _oe(e,t){var n;return n=l(B1(e.d,t),23),n||l(B1(e.e,t),23)}function Tut(e,t){var n,r;return n=t.ld(),r=e.Fe(n),!!r&&Jc(r.e,t.md())}function Cut(e,t){var n;return n=t.ld(),new iw(n,e.e.pc(n,l(t.md(),16)))}function Xmn(e,t){var n;return n=e.a.get(t),n??We(wa,Rn,1,0,5,1)}function Sut(e){var t;return t=e.length,vn(sr.substr(sr.length-t,t),e)}function xr(e){if(jr(e))return e.c=e.a,e.a.Pb();throw ue(new _c)}function v6e(e,t){return t==0||e.e==0?e:t>0?pbt(e,t):j1t(e,-t)}function sx(e,t){return t==0||e.e==0?e:t>0?j1t(e,t):pbt(e,-t)}function w6e(e){oln.call(this,e==null?ul:xc(e),De(e,82)?l(e,82):null)}function _ut(e){var t;return e.c||(t=e.r,De(t,90)&&(e.c=l(t,29))),e.c}function Aoe(e){var t;return t=new Tw,pc(t,e),rt(t,(Nt(),cc),null),t}function Aut(e){var t,n;return t=e.c.i,n=e.d.i,t.k==(Zn(),Us)&&n.k==Us}function Loe(e){var t,n,r;return t=e&eh,n=e>>22&eh,r=e<0?hp:0,qu(t,n,r)}function Qmn(e){var t,n,r,a;for(n=e,r=0,a=n.length;r=0?e.Lh(r,n,!0):Hw(e,t,n)}function Zmn(e,t,n){return Yi(z8(BE(e),Ja(t.b)),z8(BE(e),Ja(n.b)))}function evn(e,t,n){return Yi(z8(BE(e),Ja(t.e)),z8(BE(e),Ja(n.e)))}function tvn(e,t){return b.Math.min(pb(t.a,e.d.d.c),pb(t.b,e.d.d.c))}function tN(e,t){e._i(e.i+1),R_(e,e.i,e.Zi(e.i,t)),e.Mi(e.i++,t),e.Ni()}function uA(e){var t,n;++e.j,t=e.g,n=e.i,e.g=null,e.i=0,e.Oi(n,t),e.Ni()}function Lut(e,t,n){var r;r=new vye(e.a),bA(r,e.a.a),ju(r.f,t,n),e.a.a=r}function y6e(e,t,n,r){var a;for(a=0;at)throw ue(new tc(u9e(e,t,"index")));return e}function t2(e,t){var n;return n=(Sn(t,e.c.length),e.c[t]),d3e(e.c,t,1),n}function E6e(e,t){var n,r;return n=(nr(e),e),r=(nr(t),t),n==r?0:nt.p?-1:0}function Fut(e){var t;return e.a||(t=e.r,De(t,156)&&(e.a=l(t,156))),e.a}function ovn(e,t,n){var r;return++e.e,--e.f,r=l(e.d[t].gd(n),136),r.md()}function cvn(e){var t,n;return t=e.ld(),n=l(e.md(),16),NO(n.Nc(),new bie(t))}function Rut(e,t){return Hu(e.a,t)?(ax(e.a,t),!0):!1}function ox(e,t,n){return ZO(t,e.e.Rd().gc()),ZO(n,e.c.Rd().gc()),e.a[t][n]}function WH(e,t,n){this.a=e,this.b=t,this.c=n,vt(e.t,this),vt(t.i,this)}function YH(e,t,n,r){this.f=e,this.e=t,this.d=n,this.b=r,this.c=r?r.d:null}function nN(){this.b=new os,this.a=new os,this.b=new os,this.a=new os}function eE(){eE=U;var e,t;SY=(Sk(),t=new Fz,t),_Y=(e=new zie,e)}function uvn(e){var t;return xb(e),t=new Mit(e,e.a.e,e.a.d|4),new Vye(e,t)}function jut(e){var t;for(fb(e),t=0;e.a.Bd(new An);)t=bo(t,1);return t}function XH(e,t){return nr(t),e.c=0,"Initial capacity must not be negative")}function QH(){QH=U,kM=new Ui("org.eclipse.elk.labels.labelManager")}function $ut(){$ut=U,sLe=new vs("separateLayerConnections",(IV(),p1e))}function J0(){J0=U,E4=new q3e("REGULAR",0),qb=new q3e("CRITICAL",1)}function rN(){rN=U,vge=new Y3e("FIXED",0),QW=new Y3e("CENTER_NODE",1)}function JH(){JH=U,lLe=new N3e("QUADRATIC",0),S1e=new N3e("SCANLINE",1)}function zut(){zut=U,dxt=Kr((dA(),he(le(dLe,1),it,322,0,[HL,mB,fLe])))}function qut(){qut=U,gxt=Kr((pV(),he(le(pLe,1),it,351,0,[gLe,YK,_1e])))}function Hut(){Hut=U,uxt=Kr((Ow(),he(le(m1e,1),it,372,0,[o3,Rb,a3])))}function Vut(){Vut=U,vxt=Kr((Vm(),he(le(mxt,1),it,460,0,[M1e,FT,P6])))}function Uut(){Uut=U,Txt=Kr((vE(),he(le($1e,1),it,299,0,[R1e,j1e,vB])))}function Gut(){Gut=U,Sxt=Kr((ep(),he(le(Cxt,1),it,311,0,[wB,F6,Ux])))}function Kut(){Kut=U,Zkt=Kr((EA(),he(le(mDe,1),it,390,0,[pde,bDe,SW])))}function Wut(){Wut=U,oEt=Kr((LV(),he(le(MDe,1),it,387,0,[ADe,Tde,LDe])))}function Yut(){Yut=U,cEt=Kr((yA(),he(le(DDe,1),it,349,0,[Sde,Cde,MB])))}function Xut(){Xut=U,aEt=Kr((qo(),he(le(sEt,1),it,463,0,[sM,$l,zu])))}function Qut(){Qut=U,uEt=Kr((SE(),he(le(ODe,1),it,350,0,[_de,IDe,aM])))}function Jut(){Jut=U,lEt=Kr((gV(),he(le(BDe,1),it,352,0,[PDe,Ade,NDe])))}function Zut(){Zut=U,hEt=Kr((OV(),he(le(FDe,1),it,388,0,[Lde,XT,k4])))}function elt(){elt=U,fTt=Kr((xA(),he(le(eIe,1),it,392,0,[ZDe,Ide,OB])))}function tlt(){tlt=U,UTt=Kr((LN(),he(le(AIe,1),it,393,0,[zW,SIe,_Ie])))}function nlt(){nlt=U,fCt=Kr((AV(),he(le(GIe,1),it,300,0,[nge,UIe,VIe])))}function rlt(){rlt=U,dCt=Kr((WV(),he(le(KIe,1),it,445,0,[RB,VW,rge])))}function ilt(){ilt=U,pCt=Kr((sU(),he(le(gCt,1),it,456,0,[ige,age,sge])))}function slt(){slt=U,vCt=Kr((qV(),he(le(XIe,1),it,394,0,[YIe,uge,WIe])))}function alt(){alt=U,$Ct=Kr((tV(),he(le(pOe,1),it,439,0,[gge,gOe,dOe])))}function olt(){olt=U,_Et=Kr((Iw(),he(le(SEt,1),it,464,0,[DB,oM,MW])))}function clt(){clt=U,Y6t=Kr((Bl(),he(le(W6t,1),it,471,0,[Fd,Bb,v0])))}function ult(){ult=U,K6t=Kr((t1(),he(le(s4,1),it,237,0,[Gc,$u,Kc])))}function llt(){llt=U,Q6t=Kr((ol(),he(le(X6t,1),it,472,0,[a1,Fb,w0])))}function hlt(){hlt=U,B6t=Kr((Fl(),he(le(oc,1),it,108,0,[y_e,Ec,i4])))}function flt(){flt=U,m8t=Kr((lA(),he(le(dAe,1),it,391,0,[t1e,e1e,n1e])))}function dlt(){dlt=U,QSt=Kr((rp(),he(le(YNe,1),it,346,0,[oY,A2,DM])))}function glt(){glt=U,VCt=Kr((PN(),he(le(pge,1),it,444,0,[WW,YW,XW])))}function plt(){plt=U,KSt=Kr((F1(),he(le(FNe,1),it,278,0,[nC,_4,rC])))}function blt(){blt=U,h_t=Kr((dx(),he(le(nPe,1),it,280,0,[tPe,L4,dY])))}function P1(e,t){return!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),Kce(e.o,t)}function lvn(e,t){var n;e.C&&(n=l(Qo(e.b,t),127).n,n.d=e.C.d,n.a=e.C.a)}function A6e(e){var t,n,r,a;a=e.d,t=e.a,n=e.b,r=e.c,e.d=n,e.a=r,e.b=a,e.c=t}function hvn(e){return!e.g&&(e.g=new MS),!e.g.b&&(e.g.b=new fQe(e)),e.g.b}function iN(e){return!e.g&&(e.g=new MS),!e.g.c&&(e.g.c=new pQe(e)),e.g.c}function fvn(e){return!e.g&&(e.g=new MS),!e.g.d&&(e.g.d=new dQe(e)),e.g.d}function dvn(e){return!e.g&&(e.g=new MS),!e.g.a&&(e.g.a=new gQe(e)),e.g.a}function gvn(e,t,n,r){return n&&(r=n.Rh(t,ms(n.Dh(),e.c.uk()),null,r)),r}function pvn(e,t,n,r){return n&&(r=n.Th(t,ms(n.Dh(),e.c.uk()),null,r)),r}function Ooe(e,t,n,r){var a;return a=We(Vr,di,28,t+1,15,1),wAn(a,e,t,n,r),a}function We(e,t,n,r,a,o){var f;return f=zdt(a,r),a!=10&&he(le(e,o),t,n,a,f),f}function bvn(e,t,n){var r,a;for(a=new mE(t,e),r=0;rn||t=0?e.Lh(n,!0,!0):Hw(e,t,!0)}function Ovn(e,t,n){var r;return r=w0t(e,t,n),e.b=new TV(r.c.length),Q9e(e,r)}function Nvn(e){if(e.b<=0)throw ue(new _c);return--e.b,e.a-=e.c.c,pt(e.a)}function Pvn(e){var t;if(!e.a)throw ue(new Lat);return t=e.a,e.a=ds(e.a),t}function Bvn(e){for(;!e.a;)if(!tit(e.c,new ZS(e)))return!1;return!0}function cx(e){var t;return Xr(e),De(e,204)?(t=l(e,204),t):new w8(e)}function Fvn(e){ZH(),l(e.of((pi(),S4)),181).Fc((Rl(),nF)),e.qf($ge,null)}function ZH(){ZH=U,pSt=new l$,mSt=new h$,bSt=Cyn((pi(),$ge),pSt,Ub,mSt)}function eV(){eV=U,TIe=new G3e("LEAF_NUMBER",0),Qde=new G3e("NODE_SIZE",1)}function Roe(e){e.a=We(Vr,di,28,e.b+1,15,1),e.c=We(Vr,di,28,e.b,15,1),e.d=0}function Rvn(e,t){e.a.Ne(t.d,e.b)>0&&(vt(e.c,new L4e(t.c,t.d,e.d)),e.b=t.d)}function R6e(e,t){if(e.g==null||t>=e.i)throw ue(new Vse(t,e.i));return e.g[t]}function ylt(e,t,n){if(EE(e,n),n!=null&&!e.fk(n))throw ue(new Rie);return n}function joe(e,t){return gN(t)!=10&&he(bh(t),t.Sm,t.__elementTypeId$,gN(t),e),e}function nE(e,t,n,r){var a;r=(Ew(),r||d_e),a=e.slice(t,n),l9e(a,e,t,n,-t,r)}function sf(e,t,n,r,a){return t<0?Hw(e,n,r):l(n,69).wk().yk(e,e.hi(),t,r,a)}function jvn(e,t){return Yi(ze(Ge(Q(e,(ft(),l3)))),ze(Ge(Q(t,l3))))}function xlt(){xlt=U,M6t=Kr((rE(),he(le(fK,1),it,304,0,[O0e,N0e,P0e,B0e])))}function rE(){rE=U,O0e=new oq("All",0),N0e=new hnt,P0e=new ynt,B0e=new lnt}function Bl(){Bl=U,Fd=new pse(Mx,0),Bb=new pse(cT,1),v0=new pse(Dx,2)}function klt(){klt=U,zU(),GPe=gs,vAt=ia,KPe=new pa(gs),wAt=new pa(ia)}function Elt(){Elt=U,k7t=Kr((Pw(),he(le(x7t,1),it,417,0,[iB,rB,V0e,U0e])))}function Tlt(){Tlt=U,_7t=Kr((NA(),he(le(S7t,1),it,406,0,[uB,bK,mK,lB])))}function Clt(){Clt=U,T7t=Kr((bx(),he(le(E7t,1),it,332,0,[aB,sB,oB,cB])))}function Slt(){Slt=U,I8t=Kr((Km(),he(le(mAe,1),it,389,0,[c4,bAe,o1e,c1e])))}function _lt(){_lt=U,S8t=Kr((wE(),he(le(C8t,1),it,416,0,[s3,o4,a4,M6])))}function Alt(){Alt=U,nxt=Kr((R1(),he(le(txt,1),it,421,0,[Vx,MT,DT,b1e])))}function Llt(){Llt=U,U8t=Kr((IV(),he(le(V8t,1),it,371,0,[p1e,HK,VK,pB])))}function Mlt(){Mlt=U,eEt=Kr((By(),he(le(mde,1),it,203,0,[_W,bde,G6,U6])))}function Dlt(){Dlt=U,rEt=Kr((Ed(),he(le(SDe,1),it,284,0,[E2,CDe,yde,xde])))}function cN(){cN=U,xLe=new B3e(Id,0),JK=new B3e("IMPROVE_STRAIGHTNESS",1)}function Ilt(e,t){var n,r;return r=t/e.c.Rd().gc()|0,n=t%e.c.Rd().gc(),ox(e,r,n)}function Olt(e){var t;if(e.nl())for(t=e.i-1;t>=0;--t)Oe(e,t);return a6e(e)}function j6e(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[0];)n=t;return n}function Nlt(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[1];)n=t;return n}function $vn(e){return De(e,180)?""+l(e,180).a:e==null?null:xc(e)}function zvn(e){return De(e,180)?""+l(e,180).a:e==null?null:xc(e)}function Plt(e,t){if(t.a)throw ue(new Ac(e3t));na(e.a,t),t.a=e,!e.j&&(e.j=t)}function $6e(e,t){Dq.call(this,t.zd(),t.yd()&-16449),nr(e),this.a=e,this.c=t}function qvn(e,t){return new wae(t,dw(Ja(t.e),t.f.a+e,t.f.b+e),(Hn(),!1))}function Hvn(e,t){return jk(),vt(e,new ca(t,pt(t.e.c.length+t.g.c.length)))}function Vvn(e,t){return jk(),vt(e,new ca(t,pt(t.e.c.length+t.g.c.length)))}function Blt(){Blt=U,hCt=Kr((uU(),he(le(HIe,1),it,354,0,[tge,zIe,qIe,$Ie])))}function Flt(){Flt=U,PTt=Kr((kA(),he(le(yIe,1),it,353,0,[Vde,jW,Hde,qde])))}function Rlt(){Rlt=U,lTt=Kr((wx(),he(le(qDe,1),it,405,0,[NW,lM,hM,fM])))}function jlt(){jlt=U,WSt=Kr((ip(),he(le(Vge,1),it,223,0,[Hge,JB,iC,s9])))}function $lt(){$lt=U,ZSt=Kr((Ih(),he(le(JSt,1),it,291,0,[eF,kg,Gb,ZB])))}function zlt(){zlt=U,u_t=Kr((mh(),he(le(BM,1),it,386,0,[iF,Cv,rF,A4])))}function qlt(){qlt=U,d_t=Kr((VV(),he(le(cPe,1),it,320,0,[Kge,sPe,oPe,aPe])))}function Hlt(){Hlt=U,b_t=Kr((NV(),he(le(p_t,1),it,415,0,[Wge,lPe,uPe,hPe])))}function tV(){tV=U,gge=new jse(vyt,0),gOe=new jse(cCe,1),dOe=new jse(Id,2)}function Sy(e,t,n,r,a){return nr(e),nr(t),nr(n),nr(r),nr(a),new h5e(e,t,r)}function Vlt(e,t){var n;return n=l(ax(e.e,t),400),n?($4e(n),n.e):null}function al(e,t){var n;return n=gc(e,t,0),n==-1?!1:(t2(e,n),!0)}function Ult(e,t,n){var r;return fb(e),r=new on,r.a=t,e.a.Nb(new Cet(r,n)),r.a}function Uvn(e){var t;return fb(e),t=We(Na,Zo,28,0,15,1),A5(e.a,new E8(t)),t}function z6e(e){var t;if(!tce(e))throw ue(new _c);return e.e=1,t=e.d,e.d=null,t}function r2(e){var t;return wc(e)&&(t=0-e,!isNaN(t))?t:mb(xE(e))}function gc(e,t,n){for(;n=0?rU(e,n,!0,!0):Hw(e,t,!0)}function H6e(e){var t;return t=jm(Kn(e,32)),t==null&&(Ku(e),t=jm(Kn(e,32))),t}function V6e(e){var t;return e.Oh()||(t=yr(e.Dh())-e.ji(),e.$h().Mk(t)),e.zh()}function Qlt(e,t){H_e=new Ot,C7t=t,RL=e,l(RL.b,68),D6e(RL,H_e,null),fvt(RL)}function lA(){lA=U,t1e=new mse("XY",0),e1e=new mse("X",1),n1e=new mse("Y",2)}function ol(){ol=U,a1=new bse("TOP",0),Fb=new bse(cT,1),w0=new bse(xEe,2)}function ep(){ep=U,wB=new Ese(Id,0),F6=new Ese("TOP",1),Ux=new Ese(xEe,2)}function dN(){dN=U,kde=new R3e("INPUT_ORDER",0),Ede=new R3e("PORT_DEGREE",1)}function iE(){iE=U,WSe=qu(eh,eh,524287),g6t=qu(0,0,SP),YSe=Loe(1),Loe(2),XSe=Loe(0)}function Voe(e){var t;return e.d!=e.r&&(t=Of(e),e.e=!!t&&t.lk()==g5t,e.d=t),e.e}function Uoe(e,t,n){var r;return r=e.g[t],R_(e,t,e.Zi(t,n)),e.Ri(t,n,r),e.Ni(),r}function sV(e,t){var n;return n=e.dd(t),n>=0?(e.gd(n),!0):!1}function Goe(e,t){var n;for(Xr(e),Xr(t),n=!1;t.Ob();)n=n|e.Fc(t.Pb());return n}function B1(e,t){var n;return n=l(cr(e.e,t),400),n?(Int(e,n),n.e):null}function Jlt(e){var t,n;return t=e/60|0,n=e%60,n==0?""+t:""+t+":"+(""+n)}function _y(e,t){var n=e.a[t],r=(vce(),_0e)[typeof n];return r?r(n):Z7e(typeof n)}function Dc(e,t){var n,r;return xb(e),r=new C6e(t,e.a),n=new iit(r),new bn(e,n)}function Koe(e){var t;return t=e.b.c.length==0?null:jt(e.b,0),t!=null&&rce(e,0),t}function Yvn(e,t){var n,r,a;a=t.c.i,n=l(cr(e.f,a),60),r=n.d.c-n.e.c,k7e(t.a,r,0)}function U6e(e,t){var n;for(++e.d,++e.c[t],n=t+1;n=0;)++t[0]}function Xvn(e,t){Uu(e,t==null||Gq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function Qvn(e,t){Gu(e,t==null||Gq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function Jvn(e,t){Dw(e,t==null||Gq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function Zvn(e,t){Mw(e,t==null||Gq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function ewn(e,t,n){return z8(new lt(n.e.a+n.f.a/2,n.e.b+n.f.b/2),e)==(nr(t),t)}function twn(e,t){return De(t,102)&&l(t,19).Bb&Io?new Use(t,e):new mE(t,e)}function nwn(e,t){return De(t,102)&&l(t,19).Bb&Io?new Use(t,e):new mE(t,e)}function gN(e){return e.__elementTypeCategory$==null?10:e.__elementTypeCategory$}function tht(e,t){return t==(gae(),gae(),_6t)?e.toLocaleLowerCase():e.toLowerCase()}function nht(e){if(!e.e)throw ue(new _c);return e.c=e.a=e.e,e.e=e.e.e,--e.d,e.a.f}function G6e(e){if(!e.c)throw ue(new _c);return e.e=e.a=e.c,e.c=e.c.c,++e.d,e.a.f}function rht(e){var t;for(++e.a,t=e.c.a.length;e.ae.a[r]&&(r=n);return r}function iht(e){var t;return t=l(Q(e,(ft(),c3)),313),t?t.a==e:!1}function sht(e){var t;return t=l(Q(e,(ft(),c3)),313),t?t.i==e:!1}function aht(){aht=U,x8t=Kr((uo(),he(le(gAe,1),it,367,0,[y0,vg,bu,_u,mc])))}function oht(){oht=U,ixt=Kr((Ry(),he(le(rxt,1),it,375,0,[bB,KK,WK,GK,UK])))}function cht(){cht=U,pxt=Kr((l2(),he(le(mLe,1),it,348,0,[A1e,bLe,L1e,BT,PT])))}function uht(){uht=U,tEt=Kr((OA(),he(le(wDe,1),it,323,0,[vDe,vde,wde,rM,iM])))}function lht(){lht=U,Axt=Kr((hf(),he(le(WLe,1),it,171,0,[EB,YL,$b,XL,d4])))}function hht(){hht=U,HTt=Kr((bU(),he(le(qTt,1),it,368,0,[Yde,Gde,Xde,Kde,Wde])))}function fht(){fht=U,HCt=Kr((VA(),he(le(qCt,1),it,373,0,[Q6,e9,xM,yM,zB])))}function dht(){dht=U,YCt=Kr((XN(),he(le(TOe,1),it,324,0,[xOe,wge,EOe,yge,kOe])))}function ght(){ght=U,GSt=Kr((Js(),he(le(LM,1),it,88,0,[J1,vc,uc,Q1,wf])))}function pht(){pht=U,vSt=Kr((r1(),he(le(xg,1),it,170,0,[Pn,ha,zd,yv,S2])))}function bht(){bht=U,t_t=Kr((t6(),he(le(OM,1),it,256,0,[Kb,tF,XNe,IM,QNe])))}function mht(){mht=U,i_t=Kr((Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])))}function aV(){aV=U,E_e=new A3e("BY_SIZE",0),$0e=new A3e("BY_SIZE_AND_SHAPE",1)}function oV(){oV=U,Q0e=new D3e("EADES",0),yK=new D3e("FRUCHTERMAN_REINGOLD",1)}function pN(){pN=U,XK=new P3e("READING_DIRECTION",0),vLe=new P3e("ROTATION",1)}function hA(){hA=U,L8t=new nI,M8t=new $J,_8t=new vm,A8t=new hu,D8t=new zJ}function vht(e){this.b=new bt,this.a=new bt,this.c=new bt,this.d=new bt,this.e=e}function wht(e){this.g=e,this.f=new bt,this.a=b.Math.min(this.g.c.c,this.g.d.c)}function yht(e,t,n){Vq.call(this),Y6e(this),this.a=e,this.c=n,this.b=t.d,this.f=t.e}function cwn(e,t,n){var r,a;for(a=new G(n);a.a=0&&t0?t-1:t,ZJe(Pun(Vht(B4e(new L8,n),e.n),e.j),e.k)}function sc(e){var t,n;n=(t=new qie,t),qr((!e.q&&(e.q=new nt(Uf,e,11,10)),e.q),n)}function K6e(e){return(e.i&2?"interface ":e.i&1?"":"class ")+(Gg(e),e.o)}function cV(e){return iu(e,Ii)>0?Ii:iu(e,lo)<0?lo:Yr(e)}function Ay(e){return e<3?(Mh(e,Pwt),e+1):e=-.01&&e.a<=H1&&(e.a=0),e.b>=-.01&&e.b<=H1&&(e.b=0),e}function Y5(e){h6();var t,n;for(n=hCe,t=0;tn&&(n=e[t]);return n}function Tht(e,t){var n;if(n=oP(e.Dh(),t),!n)throw ue(new Yn(Ob+t+$fe));return n}function Ly(e,t){var n;for(n=e;ds(n);)if(n=ds(n),n==t)return!0;return!1}function wwn(e,t){var n,r,a;for(r=t.a.ld(),n=l(t.a.md(),16).gc(),a=0;ae||e>t)throw ue(new t3e("fromIndex: 0, toIndex: "+e+uEe+t))}function Lw(e){if(e<0)throw ue(new Yn("Illegal Capacity: "+e));this.g=this.aj(e)}function W6e(e,t){return A1(),f0(Ab),b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)}function Xoe(e,t){var n,r,a,o;for(r=e.d,a=0,o=r.length;a0&&(e.a/=t,e.b/=t),e}function Ah(e){var t;return e.w?e.w:(t=hbn(e),t&&!t.Vh()&&(e.w=t),t)}function sE(e,t){var n,r;r=e.a,n=p4n(e,t,null),r!=t&&!e.e&&(n=ZE(e,t,n)),n&&n.oj()}function Lht(e,t,n){var r,a;r=t;do a=ze(e.p[r.p])+n,e.p[r.p]=a,r=e.a[r.p];while(r!=t)}function Mht(e,t,n){var r=function(){return e.apply(r,arguments)};return t.apply(r,n),r}function Swn(e){var t;return e==null?null:(t=l(e,195),Rxn(t,t.length))}function Oe(e,t){if(e.g==null||t>=e.i)throw ue(new Vse(t,e.i));return e.Wi(t,e.g[t])}function _wn(e,t){Cn();var n,r;for(r=new bt,n=0;n=14&&t<=16))),e}function Gr(e,t){var n;return nr(t),n=e[":"+t],BO(!!n,"Enum constant undefined: "+t),n}function Fr(e,t,n,r,a,o){var f;return f=Gae(e,t),Uht(n,f),f.i=a?8:0,f.f=r,f.e=a,f.g=o,f}function Q6e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=1,this.c=e,this.a=n}function J6e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=2,this.c=e,this.a=n}function Z6e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=6,this.c=e,this.a=n}function e7e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=7,this.c=e,this.a=n}function t7e(e,t,n,r,a){this.d=t,this.j=r,this.e=a,this.o=-1,this.p=4,this.c=e,this.a=n}function Ght(e,t){var n,r,a,o;for(r=t,a=0,o=r.length;a=0))throw ue(new Yn("tolerance ("+e+") must be >= 0"));return e}function Wht(e,t){var n;return De(t,44)?e.c.Mc(t):(n=Kce(e,t),YV(e,t),n)}function Jo(e,t,n){return Gm(e,t),Fu(e,n),i2(e,0),My(e,1),u2(e,!0),c2(e,!0),e}function mN(e,t){var n;if(n=e.gc(),t<0||t>n)throw ue(new my(t,n));return new f4e(e,t)}function bV(e,t){e.b=b.Math.max(e.b,t.d),e.e+=t.r+(e.a.c.length==0?0:e.c),vt(e.a,t)}function Yht(e){gy(e.c>=0),z5n(e.d,e.c)<0&&(e.a=e.a-1&e.d.a.length-1,e.b=e.d.c),e.c=-1}function mV(e){var t,n;for(n=e.c.Cc().Kc();n.Ob();)t=l(n.Pb(),16),t.$b();e.c.$b(),e.d=0}function Fwn(e){var t,n,r,a;for(n=e.a,r=0,a=n.length;r=0}function c7e(e,t){e.r>0&&e.c0&&e.g!=0&&c7e(e.i,t/e.r*e.i.d))}function u7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,1,n,e.c))}function Zoe(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,4,n,e.c))}function fE(e,t){var n;n=e.k,e.k=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,2,n,e.k))}function ece(e,t){var n;n=e.D,e.D=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,2,n,e.D))}function wV(e,t){var n;n=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,8,n,e.f))}function yV(e,t){var n;n=e.i,e.i=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,7,n,e.i))}function l7e(e,t){var n;n=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,8,n,e.a))}function h7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,0,n,e.b))}function f7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,0,n,e.b))}function d7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,1,n,e.c))}function g7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,1,n,e.d))}function Vwn(e,t,n){var r;e.b=t,e.a=n,r=(e.a&512)==512?new gJe:new J$,e.c=iSn(r,e.b,e.a)}function oft(e,t){return up(e.e,t)?(Fo(),Voe(t)?new nH(t,e):new yO(t,e)):new Ptt(t,e)}function Uwn(e){var t,n;return 0>e?new b3e:(t=e+1,n=new wut(t,e),new Uye(null,n))}function Gwn(e,t){Cn();var n;return n=new N8(1),Ia(e)?rc(n,e,t):ju(n.f,e,t),new tr(n)}function Kwn(e,t){var n,r;return n=e.c,r=t.e[e.p],r>0?l(jt(n.a,r-1),10):null}function Wwn(e,t){var n,r;return n=e.o+e.p,r=t.o+t.p,nt?(t<<=1,t>0?t:rL):t}function tce(e){switch(Cye(e.e!=3),e.e){case 2:return!1;case 0:return!0}return rvn(e)}function uft(e,t){var n;return De(t,8)?(n=l(t,8),e.a==n.a&&e.b==n.b):!1}function Xwn(e,t){var n;n=new Ot,l(t.b,68),l(t.b,68),l(t.b,68),Vu(t.a,new k4e(e,n,t))}function lft(e,t){var n,r;for(r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),GN(e,n.ld(),n.md())}function p7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,11,n,e.d))}function xV(e,t){var n;n=e.j,e.j=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,13,n,e.j))}function b7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,21,n,e.b))}function Qwn(e,t){(UH(),G1?null:t.c).length==0&&Srt(t,new Dt),rc(e.a,G1?null:t.c,t)}function Jwn(e,t){t.Ug("Hierarchical port constraint processing",1),b6n(e),BIn(e),t.Vg()}function Ow(){Ow=U,o3=new vse("START",0),Rb=new vse("MIDDLE",1),a3=new vse("END",2)}function kV(){kV=U,$W=new U3e("P1_NODE_PLACEMENT",0),X6=new U3e("P2_EDGE_ROUTING",1)}function bb(){bb=U,Hx=new Ui(NEe),EK=new Ui(C3t),$L=new Ui(S3t),hB=new Ui(_3t)}function Nw(e){var t;return pae(e.f.g,e.d),mr(e.b),e.c=e.a,t=l(e.a.Pb(),44),e.b=L7e(e),t}function m7e(e){var t;return e.b==null?(Wp(),Wp(),dF):(t=e.ul()?e.tl():e.sl(),t)}function hft(e,t){var n;return n=t==null?-1:gc(e.b,t,0),n<0?!1:(rce(e,n),!0)}function d0(e,t){var n;return nr(t),n=t.g,e.b[n]?!1:(Ts(e.b,n,t),++e.c,!0)}function EV(e,t){var n,r;return n=1-t,r=e.a[n],e.a[n]=r.a[t],r.a[t]=e,e.b=!0,r.b=!1,r}function Zwn(e,t){var n,r;for(r=t.Kc();r.Ob();)n=l(r.Pb(),272),e.b=!0,na(e.e,n),n.b=e}function e3n(e,t){var n,r;return n=l(Q(e,(Nt(),w4)),8),r=l(Q(t,w4),8),Yi(n.b,r.b)}function nce(e,t,n){var r,a,o;return o=t>>5,a=t&31,r=va(ub(e.n[n][o],Yr(l0(a,1))),3),r}function fft(e,t,n){var r,a,o;for(o=e.a.length-1,a=e.b,r=0;r0?1:0:(!e.c&&(e.c=XO(Zc(e.f))),e.c).e}function xft(e,t){t?e.B==null&&(e.B=e.D,e.D=null):e.B!=null&&(e.D=e.B,e.B=null)}function i3n(e,t){return wE(),e==s3&&t==o4||e==o4&&t==s3||e==M6&&t==a4||e==a4&&t==M6}function s3n(e,t){return wE(),e==s3&&t==a4||e==s3&&t==M6||e==o4&&t==M6||e==o4&&t==a4}function kft(e,t){return A1(),f0(H1),b.Math.abs(0-t)<=H1||t==0||isNaN(0)&&isNaN(t)?0:e/t}function Eft(e,t){return ze(Ge(fh(ON(fc(new bn(null,new kn(e.c.b,16)),new AYe(e)),t))))}function x7e(e,t){return ze(Ge(fh(ON(fc(new bn(null,new kn(e.c.b,16)),new _Ye(e)),t))))}function a3n(){return Ho(),he(le(F1e,1),it,259,0,[eW,vf,UL,tW,$T,B6,GL,RT,jT,nW])}function o3n(){return Nf(),he(le(TDe,1),it,243,0,[AW,AB,LB,xDe,kDe,yDe,EDe,LW,v3,x4])}function c3n(e,t){var n;t.Ug("General Compactor",1),n=d5n(l(at(e,(Sb(),Zde)),393)),n.Cg(e)}function u3n(e,t){var n,r;return n=l(at(e,(Sb(),qW)),17),r=l(at(t,qW),17),ru(n.a,r.a)}function k7e(e,t,n){var r,a;for(a=Rr(e,0);a.b!=a.d.c;)r=l(Br(a),8),r.a+=t,r.b+=n;return e}function gA(e,t,n){var r;for(r=e.b[n&e.f];r;r=r.b)if(n==r.a&&yd(t,r.g))return r;return null}function pA(e,t,n){var r;for(r=e.c[n&e.f];r;r=r.d)if(n==r.f&&yd(t,r.i))return r;return null}function l3n(e,t,n){var r,a,o;for(r=0,a=0;a>>31;r!=0&&(e[n]=r)}function oce(e,t,n,r,a,o){var f;this.c=e,f=new bt,txe(e,f,t,e.b,n,r,a,o),this.a=new Ua(f,0)}function Tft(){this.c=new Wz(0),this.b=new Wz(lCe),this.d=new Wz(hyt),this.a=new Wz(Lhe)}function of(e,t,n,r,a,o,f){Ur.call(this,e,t),this.d=n,this.e=r,this.c=a,this.b=o,this.a=O1(f)}function Os(e,t,n,r,a,o,f,g,w,E,C,L,B){return Lpt(e,t,n,r,a,o,f,g,w,E,C,L,B),$ce(e,!1),e}function h3n(e){return e.b.c.i.k==(Zn(),Us)?l(Q(e.b.c.i,(ft(),zi)),12):e.b.c}function Cft(e){return e.b.d.i.k==(Zn(),Us)?l(Q(e.b.d.i,(ft(),zi)),12):e.b.d}function f3n(e){var t;return t=jH(e),cw(t.a,0)?(Jz(),Jz(),A6t):(Jz(),new art(t.b))}function cce(e){var t;return t=e6e(e),cw(t.a,0)?(cy(),cy(),I0e):(cy(),new sae(t.b))}function uce(e){var t;return t=e6e(e),cw(t.a,0)?(cy(),cy(),I0e):(cy(),new sae(t.c))}function Sft(e){switch(e.g){case 2:return Ct(),er;case 4:return Ct(),ar;default:return e}}function _ft(e){switch(e.g){case 1:return Ct(),Dr;case 3:return Ct(),Qn;default:return e}}function Aft(e){switch(e.g){case 0:return new Mne;case 1:return new Dne;default:return null}}function lx(){lx=U,g1e=new vs("edgelabelcenterednessanalysis.includelabel",(Hn(),Pb))}function E7e(){E7e=U,CEt=Td(Ytt(fi(fi(new Xs,(uo(),bu),(vo(),PK)),_u,MK),mc),NK)}function Lft(){Lft=U,LEt=Td(Ytt(fi(fi(new Xs,(uo(),bu),(vo(),PK)),_u,MK),mc),NK)}function lce(){lce=U,qM=new uJe,npe=he(le(dl,1),S6,179,0,[]),X_t=he(le(Uf,1),LSe,62,0,[])}function dE(){dE=U,dB=new I3e("TO_INTERNAL_LTR",0),h1e=new I3e("TO_INPUT_DIRECTION",1)}function kl(){kl=U,EAe=new K2,xAe=new J3,kAe=new HJ,yAe=new wm,TAe=new VJ,CAe=new UJ}function d3n(e,t){t.Ug(q3t,1),S8e(Qun(new e_((g_(),new Jae(e,!1,!1,new cS))))),t.Vg()}function g3n(e,t,n){n.Ug("DFS Treeifying phase",1),D5n(e,t),LCn(e,t),e.a=null,e.b=null,n.Vg()}function vN(e,t){return Hn(),Ia(e)?E6e(e,ei(t)):fy(e)?Nae(e,Ge(t)):hy(e)?ign(e,Bt(t)):e.Fd(t)}function bA(e,t){var n,r;for(nr(t),r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),e.zc(n.ld(),n.md())}function p3n(e,t,n){var r;for(r=n.Kc();r.Ob();)if(!qH(e,t,r.Pb()))return!1;return!0}function b3n(e,t,n,r,a){var o;return n&&(o=ms(t.Dh(),e.c),a=n.Rh(t,-1-(o==-1?r:o),null,a)),a}function m3n(e,t,n,r,a){var o;return n&&(o=ms(t.Dh(),e.c),a=n.Th(t,-1-(o==-1?r:o),null,a)),a}function Mft(e){var t;if(e.b==-2){if(e.e==0)t=-1;else for(t=0;e.a[t]==0;t++);e.b=t}return e.b}function v3n(e){if(nr(e),e.length==0)throw ue(new gd("Zero length BigInteger"));T_n(this,e)}function T7e(e){this.i=e.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),e.Qc(this.g))}function Dft(e,t,n){this.g=e,this.d=t,this.e=n,this.a=new bt,Mkn(this),Cn(),Vs(this.a,null)}function C7e(e,t){t.q=e,e.d=b.Math.max(e.d,t.r),e.b+=t.d+(e.a.c.length==0?0:e.c),vt(e.a,t)}function gE(e,t){var n,r,a,o;return a=e.c,n=e.c+e.b,o=e.d,r=e.d+e.a,t.a>a&&t.ao&&t.ba?n=a:Xn(t,n+1),e.a=tf(e.a,0,t)+(""+r)+w5e(e.a,n)}function $ft(e,t){e.a=bo(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d=bo(e.d,t)}function C3n(e,t){return t1||e.Ob())return++e.a,e.g=0,t=e.i,e.Ob(),t;throw ue(new _c)}function Vft(e){switch(e.a.g){case 1:return new Yet;case 3:return new Ydt;default:return new nie}}function _7e(e,t){switch(t){case 1:return!!e.n&&e.n.i!=0;case 2:return e.k!=null}return Z5e(e,t)}function Zc(e){return _P>22),a=e.h+t.h+(r>>22),qu(n&eh,r&eh,a&hp)}function Jft(e,t){var n,r,a;return n=e.l-t.l,r=e.m-t.m+(n>>22),a=e.h-t.h+(r>>22),qu(n&eh,r&eh,a&hp)}function G3n(e){var t,n;for(jDn(e),n=new G(e.d);n.ar)throw ue(new my(t,r));return e.Si()&&(n=bot(e,n)),e.Ei(t,n)}function yE(e,t,n,r,a){var o,f;for(f=n;f<=a;f++)for(o=t;o<=r;o++)r6(e,o,f)||FU(e,o,f,!0,!1)}function ayn(e){h6();var t,n,r;for(n=We(Ea,dt,8,2,0,1),r=0,t=0;t<2;t++)r+=.5,n[t]=Z6n(r,e);return n}function xE(e){var t,n,r;return t=~e.l+1&eh,n=~e.m+(t==0?1:0)&eh,r=~e.h+(t==0&&n==0?1:0)&hp,qu(t,n,r)}function P7e(e){var t;if(e<0)return lo;if(e==0)return 0;for(t=rL;!(t&e);t>>=1);return t}function mce(e,t,n){return e>=128?!1:e<64?I_(va(l0(1,e),n),0):I_(va(l0(1,e-64),t),0)}function _N(e,t,n){return n==null?(!e.q&&(e.q=new Pr),ax(e.q,t)):(!e.q&&(e.q=new Pr),ki(e.q,t,n)),e}function rt(e,t,n){return n==null?(!e.q&&(e.q=new Pr),ax(e.q,t)):(!e.q&&(e.q=new Pr),ki(e.q,t,n)),e}function u0t(e){var t,n;return n=new KH,pc(n,e),rt(n,(bb(),Hx),e),t=new Pr,PAn(e,n,t),uDn(e,n,t),n}function l0t(e){var t,n;return t=e.t-e.k[e.o.p]*e.d+e.j[e.o.p]>e.f,n=e.u+e.e[e.o.p]*e.d>e.f*e.s*e.d,t||n}function h0t(e,t){var n,r,a,o;for(n=!1,r=e.a[t].length,o=0;o=0,"Negative initial capacity"),BO(t>=0,"Non-positive load factor"),Nl(this)}function cyn(e,t,n,r,a){var o,f;if(f=e.length,o=n.length,t<0||r<0||a<0||t+a>f||r+a>o)throw ue(new _we)}function j7e(e,t){Cn();var n,r,a,o,f;for(f=!1,r=t,a=0,o=r.length;a1||t>=0&&e.b<3)}function yce(e){var t,n,r;t=~e.l+1&eh,n=~e.m+(t==0?1:0)&eh,r=~e.h+(t==0&&n==0?1:0)&hp,e.l=t,e.m=n,e.h=r}function q7e(e){Cn();var t,n,r;for(r=1,n=e.Kc();n.Ob();)t=n.Pb(),r=31*r+(t!=null?es(t):0),r=r|0;return r}function dyn(e,t,n,r,a){var o;return o=D9e(e,t),n&&yce(o),a&&(e=a7n(e,t),r?Nb=xE(e):Nb=qu(e.l,e.m,e.h)),o}function x0t(e,t,n){e.g=Rue(e,t,(Ct(),ar),e.b),e.d=Rue(e,n,ar,e.b),!(e.g.c==0||e.d.c==0)&&Jgt(e)}function k0t(e,t,n){e.g=Rue(e,t,(Ct(),er),e.j),e.d=Rue(e,n,er,e.j),!(e.g.c==0||e.d.c==0)&&Jgt(e)}function H7e(e,t){switch(t){case 7:return!!e.e&&e.e.i!=0;case 8:return!!e.d&&e.d.i!=0}return _8e(e,t)}function gyn(e,t){switch(t.g){case 0:De(e.b,641)||(e.b=new jft);break;case 1:De(e.b,642)||(e.b=new Rit)}}function E0t(e){switch(e.g){case 0:return new One;default:throw ue(new Yn(FG+(e.f!=null?e.f:""+e.g)))}}function T0t(e){switch(e.g){case 0:return new gl;default:throw ue(new Yn(FG+(e.f!=null?e.f:""+e.g)))}}function pyn(e,t,n){return!_k(Fi(new bn(null,new kn(e.c,16)),new Wl(new ltt(t,n)))).Bd((Am(),zx))}function C0t(e,t){return z8(BE(l(Q(t,(Hc(),y3)),88)),new lt(e.c.e.a-e.b.e.a,e.c.e.b-e.b.e.b))<=0}function byn(e,t){for(;e.g==null&&!e.c?H5e(e):e.g==null||e.i!=0&&l(e.g[e.i-1],51).Ob();)yln(t,CU(e))}function Um(e){var t,n;for(n=new G(e.a.b);n.ar?1:0}function wyn(e){return vt(e.c,(hx(),gSt)),W6e(e.a,ze(Ge(It((Gce(),TW)))))?new Hne:new OXe(e)}function yyn(e){for(;!e.d||!e.d.Ob();)if(e.b&&!l_(e.b))e.d=l(X8(e.b),51);else return null;return e.d}function U7e(e){switch(e.g){case 1:return hyt;default:case 2:return 0;case 3:return Lhe;case 4:return lCe}}function xyn(){Di();var e;return cpe||(e=zhn(_b("M",!0)),e=oH(_b("M",!1),e),cpe=e,cpe)}function NV(){NV=U,Wge=new Cq("ELK",0),lPe=new Cq("JSON",1),uPe=new Cq("DOT",2),hPe=new Cq("SVG",3)}function yA(){yA=U,Sde=new _se("STACKED",0),Cde=new _se("REVERSE_STACKED",1),MB=new _se("SEQUENCED",2)}function xA(){xA=U,ZDe=new Ose(Id,0),Ide=new Ose("MIDDLE_TO_MIDDLE",1),OB=new Ose("AVOID_OVERLAP",2)}function TE(){TE=U,oLe=new MZ,cLe=new lI,X8t=new yj,Y8t=new DZ,W8t=new n8,aLe=(nr(W8t),new ke)}function PV(){PV=U,WNe=new lw(15),XSt=new Ha((pi(),_2),WNe),MM=n9,VNe=LSt,UNe=kv,KNe=i7,GNe=C4}function Q5(e,t){var n,r,a,o,f;for(r=t,a=0,o=r.length;a=e.b.c.length||(K7e(e,2*t+1),n=2*t+2,n0&&(t.Cd(n),n.i&&E4n(n))}function W7e(e,t,n){var r;for(r=n-1;r>=0&&e[r]===t[r];r--);return r<0?0:fse(va(e[r],Vo),va(t[r],Vo))?-1:1}function A0t(e,t,n){var r,a;this.g=e,this.c=t,this.a=this,this.d=this,a=cft(n),r=We(c6t,TP,227,a,0,1),this.b=r}function Cce(e,t,n,r,a){var o,f;for(f=n;f<=a;f++)for(o=t;o<=r;o++)if(r6(e,o,f))return!0;return!1}function _yn(e,t){var n,r;for(r=e.Zb().Cc().Kc();r.Ob();)if(n=l(r.Pb(),16),n.Hc(t))return!0;return!1}function L0t(e,t,n){var r,a,o,f;for(nr(n),f=!1,o=e.fd(t),a=n.Kc();a.Ob();)r=a.Pb(),o.Rb(r),f=!0;return f}function Sce(e,t){var n,r;return r=l(Kn(e.a,4),129),n=We(epe,r0e,424,t,0,1),r!=null&&pu(r,0,n,0,r.length),n}function M0t(e,t){var n;return n=new ele((e.f&256)!=0,e.i,e.a,e.d,(e.f&16)!=0,e.j,e.g,t),e.e!=null||(n.c=e),n}function Ayn(e,t){var n;return e===t?!0:De(t,85)?(n=l(t,85),Qxe(Mm(e),n.vc())):!1}function D0t(e,t,n){var r,a;for(a=n.Kc();a.Ob();)if(r=l(a.Pb(),44),e.Be(t,r.md()))return!0;return!1}function I0t(e,t,n){return e.d[t.p][n.p]||(D6n(e,t,n),e.d[t.p][n.p]=!0,e.d[n.p][t.p]=!0),e.a[t.p][n.p]}function Lyn(e,t){var n;return!e||e==t||!ns(t,(ft(),u3))?!1:(n=l(Q(t,(ft(),u3)),10),n!=e)}function _ce(e){switch(e.i){case 2:return!0;case 1:return!1;case-1:++e.c;default:return e.$l()}}function O0t(e){switch(e.i){case-2:return!0;case-1:return!1;case 1:--e.c;default:return e._l()}}function N0t(e){xot.call(this,"The given string does not match the expected format for individual spacings.",e)}function Myn(e,t){var n;t.Ug("Min Size Preprocessing",1),n=a9e(e),Hi(e,(ug(),mM),n.a),Hi(e,UW,n.b),t.Vg()}function Dyn(e){var t,n,r;for(t=0,r=We(Ea,dt,8,e.b,0,1),n=Rr(e,0);n.b!=n.d.c;)r[t++]=l(Br(n),8);return r}function Ace(e,t,n){var r,a,o;for(r=new os,o=Rr(n,0);o.b!=o.d.c;)a=l(Br(o),8),ci(r,new Eo(a));L0t(e,t,r)}function Iyn(e,t){var n;return n=bo(e,t),fse(moe(e,t),0)|Aq(moe(e,n),0)?n:bo(EP,moe(ub(n,63),1))}function Oyn(e,t){var n,r;return n=l(e.d.Bc(t),16),n?(r=e.e.hc(),r.Gc(n),e.e.d-=n.gc(),n.$b(),r):null}function P0t(e){var t;if(t=e.a.c.length,t>0)return qk(t-1,e.a.c.length),t2(e.a,t-1);throw ue(new OQe)}function B0t(e,t,n){if(e>t)throw ue(new Yn(eG+e+Qwt+t));if(e<0||t>n)throw ue(new t3e(eG+e+fEe+t+uEe+n))}function CE(e,t){e.D==null&&e.B!=null&&(e.D=e.B,e.B=null),ece(e,t==null?null:(nr(t),t)),e.C&&e.hl(null)}function Nyn(e,t){var n;n=It((Gce(),TW))!=null&&t.Sg()!=null?ze(Ge(t.Sg()))/ze(Ge(It(TW))):1,ki(e.b,t,n)}function Y7e(e,t){var n,r;if(r=e.c[t],r!=0)for(e.c[t]=0,e.d-=r,n=t+1;nMG?e-n>MG:n-e>MG}function K0t(e,t){var n;for(n=0;na&&(Egt(t.q,a),r=n!=t.q.d)),r}function W0t(e,t){var n,r,a,o,f,g,w,E;return w=t.i,E=t.j,r=e.f,a=r.i,o=r.j,f=w-a,g=E-o,n=b.Math.sqrt(f*f+g*g),n}function t8e(e,t){var n,r;return r=XV(e),r||(n=(kle(),P2t(t)),r=new kQe(n),qr(r.El(),e)),r}function DN(e,t){var n,r;return n=l(e.c.Bc(t),16),n?(r=e.hc(),r.Gc(n),e.d-=n.gc(),n.$b(),e.mc(r)):e.jc()}function Uyn(e,t){var n,r;for(r=Jl(e.d,1)!=0,n=!0;n;)n=!1,n=t.c.mg(t.e,r),n=n|cP(e,t,r,!1),r=!r;w7e(e)}function Y0t(e,t,n,r){var a,o;e.a=t,o=r?0:1,e.f=(a=new cpt(e.c,e.a,n,o),new $bt(n,e.a,a,e.e,e.b,e.c==(Iw(),oM)))}function FV(e){var t;return mr(e.a!=e.b),t=e.d.a[e.a],Ert(e.b==e.d.c&&t!=null),e.c=e.a,e.a=e.a+1&e.d.a.length-1,t}function X0t(e){var t;if(e.c!=0)return e.c;for(t=0;t=e.c.b:e.a<=e.c.b))throw ue(new _c);return t=e.a,e.a+=e.c.c,++e.b,pt(t)}function Oce(e){var t;return t=new bye(e.a),pc(t,e),rt(t,(ft(),zi),e),t.o.a=e.g,t.o.b=e.f,t.n.a=e.i,t.n.b=e.j,t}function Nce(e){return(Ct(),hl).Hc(e.j)?ze(Ge(Q(e,(ft(),zT)))):Ic(he(le(Ea,1),dt,8,0,[e.i.n,e.n,e.a])).b}function Kyn(e){var t;return t=Oq(TEt),l(Q(e,(ft(),Lu)),21).Hc((Ho(),$T))&&fi(t,(uo(),bu),(vo(),RK)),t}function Wyn(e){var t,n,r,a;for(a=new Ks,r=new G(e);r.a=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(a*=n,r-=1);return t<0?1/a:a}function Zyn(e,t){var n,r,a;for(a=1,n=e,r=t>=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(a*=n,r-=1);return t<0?1/a:a}function yb(e,t){var n,r,a,o;return o=(a=e?XV(e):null,Dpt((r=t,a&&a.Gl(),r))),o==t&&(n=XV(e),n&&n.Gl()),o}function Q0t(e,t,n){var r,a;return a=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,0,a,t),n?n.nj(r):n=r),n}function J0t(e,t,n){var r,a;return a=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,3,a,t),n?n.nj(r):n=r),n}function r8e(e,t,n){var r,a;return a=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,1,a,t),n?n.nj(r):n=r),n}function Z0t(e){var t,n;if(e!=null)for(n=0;n=r||t-129&&e<128?(Fit(),t=e+128,n=t_e[t],!n&&(n=t_e[t]=new Cr(e)),n):new Cr(e)}function _E(e){var t,n;return e>-129&&e<128?(est(),t=e+128,n=s_e[t],!n&&(n=s_e[t]=new Wn(e)),n):new Wn(e)}function n1t(e,t){var n;e.a.c.length>0&&(n=l(jt(e.a,e.a.c.length-1),579),G7e(n,t))||vt(e.a,new yut(t))}function s4n(e){u0();var t,n;t=e.d.c-e.e.c,n=l(e.g,154),Vu(n.b,new pYe(t)),Vu(n.c,new bYe(t)),to(n.i,new mYe(t))}function r1t(e){var t;return t=new tb,t.a+="VerticalSegment ",wu(t,e.e),t.a+=" ",hi(t,Eye(new Zie,new G(e.k))),t.a}function Pce(e,t){var n,r,a;for(n=0,a=Oc(e,t).Kc();a.Ob();)r=l(a.Pb(),12),n+=Q(r,(ft(),jl))!=null?1:0;return n}function e6(e,t,n){var r,a,o;for(r=0,o=Rr(e,0);o.b!=o.d.c&&(a=ze(Ge(Br(o))),!(a>n));)a>=t&&++r;return r}function i1t(e,t){Xr(e);try{return e._b(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function s8e(e,t){Xr(e);try{return e.Hc(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function a4n(e,t){Xr(e);try{return e.Mc(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function Oy(e,t){Xr(e);try{return e.xc(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return null;throw ue(n)}}function o4n(e,t){Xr(e);try{return e.Bc(t)}catch(n){if(n=bs(n),De(n,212)||De(n,169))return null;throw ue(n)}}function TA(e,t){switch(t.g){case 2:case 1:return Oc(e,t);case 3:case 4:return lf(Oc(e,t))}return Cn(),Cn(),_o}function CA(e){var t;return e.Db&64?g0(e):(t=new Af(g0(e)),t.a+=" (name: ",Xo(t,e.zb),t.a+=")",t.a)}function c4n(e){var t;return t=l(B1(e.c.c,""),233),t||(t=new nx(Ck(Tk(new ny,""),"Other")),h2(e.c.c,"",t)),t}function a8e(e,t,n){var r,a;return a=e.sb,e.sb=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,a,t),n?n.nj(r):n=r),n}function o8e(e,t,n){var r,a;return a=e.r,e.r=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,8,a,e.r),n?n.nj(r):n=r),n}function u4n(e,t,n){var r,a;return r=new Zg(e.e,4,13,(a=t.c,a||(Tn(),td)),null,f2(e,t),!1),n?n.nj(r):n=r,n}function l4n(e,t,n){var r,a;return r=new Zg(e.e,3,13,null,(a=t.c,a||(Tn(),td)),f2(e,t),!1),n?n.nj(r):n=r,n}function o2(e,t){var n,r;return n=l(t,691),r=n.el(),!r&&n.fl(r=De(t,90)?new Btt(e,l(t,29)):new sct(e,l(t,156))),r}function IN(e,t,n){var r;e._i(e.i+1),r=e.Zi(t,n),t!=e.i&&pu(e.g,t,e.g,t+1,e.i-t),Ts(e.g,t,r),++e.i,e.Mi(t,n),e.Ni()}function h4n(e,t){var n;return t.a&&(n=t.a.a.length,e.a?hi(e.a,e.b):e.a=new Th(e.d),fct(e.a,t.a,t.d.length,n)),e}function f4n(e,t){var n;e.c=t,e.a=m5n(t),e.a<54&&(e.f=(n=t.d>1?lct(t.a[0],t.a[1]):lct(t.a[0],0),Fm(t.e>0?n:r2(n))))}function ON(e,t){var n;return n=new on,e.a.Bd(n)?(Ok(),new Kie(nr(Ult(e,n.a,t)))):(fb(e),Ok(),Ok(),b_e)}function s1t(e,t){var n;e.c.length!=0&&(n=l(j1(e,We(wg,m2,10,e.c.length,0,1)),199),cye(n,new U9),Jpt(n,t))}function a1t(e,t){var n;e.c.length!=0&&(n=l(j1(e,We(wg,m2,10,e.c.length,0,1)),199),cye(n,new Wd),Jpt(n,t))}function Pi(e,t){return Ia(e)?vn(e,t):fy(e)?eit(e,t):hy(e)?(nr(e),qe(e)===qe(t)):t5e(e)?e.Fb(t):W4e(e)?Jtt(e,t):W5e(e,t)}function cf(e,t,n){if(t<0)d9e(e,n);else{if(!n.rk())throw ue(new Yn(Ob+n.xe()+kL));l(n,69).wk().Ek(e,e.hi(),t)}}function o1t(e,t,n){if(e<0||t>n)throw ue(new tc(eG+e+fEe+t+", size: "+n));if(e>t)throw ue(new Yn(eG+e+Qwt+t))}function c1t(e){var t;return e.Db&64?g0(e):(t=new Af(g0(e)),t.a+=" (source: ",Xo(t,e.d),t.a+=")",t.a)}function u1t(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e>=48&&e<=57?e-48:0}function d4n(e){YU();var t,n,r,a;for(n=eue(),r=0,a=n.length;r=0?kb(e):J_(kb(r2(e))))}function f1t(e,t,n,r,a,o){this.e=new bt,this.f=(qo(),sM),vt(this.e,e),this.d=t,this.a=n,this.b=r,this.f=a,this.c=o}function b4n(e,t,n){e.n=Lm(nm,[dt,ahe],[376,28],14,[n,ua(b.Math.ceil(t/32))],2),e.o=t,e.p=n,e.j=t-1>>1,e.k=n-1>>1}function d1t(e){return e-=e>>1&1431655765,e=(e>>2&858993459)+(e&858993459),e=(e>>4)+e&252645135,e+=e>>8,e+=e>>16,e&63}function g1t(e,t){var n,r;for(r=new or(e);r.e!=r.i.gc();)if(n=l(gr(r),142),qe(t)===qe(n))return!0;return!1}function m4n(e,t,n){var r,a,o;return o=(a=VE(e.b,t),a),o&&(r=l(VU(lN(e,o),""),29),r)?P9e(e,r,t,n):null}function Bce(e,t,n){var r,a,o;return o=(a=VE(e.b,t),a),o&&(r=l(VU(lN(e,o),""),29),r)?B9e(e,r,t,n):null}function v4n(e,t){var n;if(n=X5(e.i,t),n==null)throw ue(new dd("Node did not exist in input."));return S7e(t,n),null}function w4n(e,t){var n;if(n=oP(e,t),De(n,331))return l(n,35);throw ue(new Yn(Ob+t+"' is not a valid attribute"))}function _A(e,t,n){var r;if(r=e.gc(),t>r)throw ue(new my(t,r));if(e.Si()&&e.Hc(n))throw ue(new Yn(WP));e.Gi(t,n)}function y4n(e,t){t.Ug("Sort end labels",1),Is(Fi(Dc(new bn(null,new kn(e.b,16)),new hj),new J7),new aZ),t.Vg()}function Js(){Js=U,J1=new mO(cL,0),vc=new mO(Dx,1),uc=new mO(Mx,2),Q1=new mO(whe,3),wf=new mO("UP",4)}function PN(){PN=U,WW=new $se("P1_STRUCTURE",0),YW=new $se("P2_PROCESSING_ORDER",1),XW=new $se("P3_EXECUTION",2)}function p1t(){p1t=U,jTt=Td(Td(v_(Td(Td(v_(fi(new Xs,(wx(),lM),(WA(),Dde)),hM),YDe),QDe),fM),UDe),JDe)}function x4n(e){switch(l(Q(e,(ft(),hv)),311).g){case 1:rt(e,hv,(ep(),Ux));break;case 2:rt(e,hv,(ep(),F6))}}function k4n(e){switch(e){case 0:return new nJe;case 1:return new eJe;case 2:return new tJe;default:throw ue(new YI)}}function b1t(e){switch(e.g){case 2:return vc;case 1:return uc;case 4:return Q1;case 3:return wf;default:return J1}}function h8e(e,t){switch(e.b.g){case 0:case 1:return t;case 2:case 3:return new ef(t.d,0,t.a,t.b);default:return null}}function f8e(e){switch(e.g){case 1:return er;case 2:return Qn;case 3:return ar;case 4:return Dr;default:return Pc}}function BN(e){switch(e.g){case 1:return Dr;case 2:return er;case 3:return Qn;case 4:return ar;default:return Pc}}function $V(e){switch(e.g){case 1:return ar;case 2:return Dr;case 3:return er;case 4:return Qn;default:return Pc}}function d8e(e,t,n,r){switch(t){case 1:return!e.n&&(e.n=new nt(ec,e,1,7)),e.n;case 2:return e.k}return sxe(e,t,n,r)}function AA(e,t,n){var r,a;return e.Pj()?(a=e.Qj(),r=Hue(e,t,n),e.Jj(e.Ij(7,pt(n),r,t,a)),r):Hue(e,t,n)}function Fce(e,t){var n,r,a;e.d==null?(++e.e,--e.f):(a=t.ld(),n=t.Bi(),r=(n&Ii)%e.d.length,ovn(e,r,j2t(e,r,n,a)))}function AE(e,t){var n;n=(e.Bb&m0)!=0,t?e.Bb|=m0:e.Bb&=-1025,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,10,n,t))}function LE(e,t){var n;n=(e.Bb&Xy)!=0,t?e.Bb|=Xy:e.Bb&=-4097,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,12,n,t))}function ME(e,t){var n;n=(e.Bb&Sl)!=0,t?e.Bb|=Sl:e.Bb&=-8193,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,15,n,t))}function DE(e,t){var n;n=(e.Bb&r4)!=0,t?e.Bb|=r4:e.Bb&=-2049,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,11,n,t))}function E4n(e){var t;e.g&&(t=e.c.kg()?e.f:e.a,Y9e(t.a,e.o,!0),Y9e(t.a,e.o,!1),rt(e.o,(Nt(),Ms),(Ra(),Tv)))}function T4n(e){var t;if(!e.a)throw ue(new nc("Cannot offset an unassigned cut."));t=e.c-e.b,e.b+=t,zat(e,t),$at(e,t)}function C4n(e,t){var n;if(n=cr(e.k,t),n==null)throw ue(new dd("Port did not exist in input."));return S7e(t,n),null}function S4n(e){var t,n;for(n=B2t(Ah(e)).Kc();n.Ob();)if(t=ei(n.Pb()),YA(e,t))return _mn((met(),R_t),t);return null}function m1t(e){var t,n;for(n=e.p.a.ec().Kc();n.Ob();)if(t=l(n.Pb(),218),t.f&&e.b[t.c]<-1e-10)return t;return null}function _4n(e){var t,n;for(n=hb(new tb,91),t=!0;e.Ob();)t||(n.a+=Co),t=!1,wu(n,e.Pb());return(n.a+="]",n).a}function A4n(e){var t,n,r;for(t=new bt,r=new G(e.b);r.at?1:e==t?e==0?Yi(1/e,1/t):0:isNaN(e)?isNaN(t)?0:1:-1}function M4n(e){var t;return t=e.a[e.c-1&e.a.length-1],t==null?null:(e.c=e.c-1&e.a.length-1,Ts(e.a,e.c,null),t)}function D4n(e){var t,n,r;for(r=0,n=e.length,t=0;t=1?vc:Q1):n}function P4n(e){switch(l(Q(e,(Nt(),bp)),223).g){case 1:return new Tee;case 3:return new Lee;default:return new Eee}}function xb(e){if(e.c)xb(e.c);else if(e.d)throw ue(new nc("Stream already terminated, can't be modified or used"))}function Bw(e,t,n){var r;return r=e.a.get(t),e.a.set(t,n===void 0?null:n),r===void 0?(++e.c,++e.b.g):++e.d,r}function B4n(e,t,n){var r,a;for(a=e.a.ec().Kc();a.Ob();)if(r=l(a.Pb(),10),EN(n,l(jt(t,r.p),16)))return r;return null}function p8e(e,t,n){var r;return r=0,t&&(B5(e.a)?r+=t.f.a/2:r+=t.f.b/2),n&&(B5(e.a)?r+=n.f.a/2:r+=n.f.b/2),r}function F4n(e,t,n){var r;r=n,!r&&(r=B4e(new L8,0)),r.Ug(L3t,2),kdt(e.b,t,r.eh(1)),JLn(e,t,r.eh(1)),tIn(t,r.eh(1)),r.Vg()}function b8e(e,t,n){var r,a;return r=(rb(),a=new AS,a),dV(r,t),fV(r,n),e&&qr((!e.a&&(e.a=new Ys(qh,e,5)),e.a),r),r}function jce(e){var t;return e.Db&64?g0(e):(t=new Af(g0(e)),t.a+=" (identifier: ",Xo(t,e.k),t.a+=")",t.a)}function $ce(e,t){var n;n=(e.Bb&eu)!=0,t?e.Bb|=eu:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,18,n,t))}function m8e(e,t){var n;n=(e.Bb&eu)!=0,t?e.Bb|=eu:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,18,n,t))}function IE(e,t){var n;n=(e.Bb&_d)!=0,t?e.Bb|=_d:e.Bb&=-16385,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,16,n,t))}function v8e(e,t){var n;n=(e.Bb&Io)!=0,t?e.Bb|=Io:e.Bb&=-65537,e.Db&4&&!(e.Db&1)&&Ni(e,new h0(e,1,20,n,t))}function w8e(e){var t;return t=We(kf,Ad,28,2,15,1),e-=Io,t[0]=(e>>10)+AP&Zs,t[1]=(e&1023)+56320&Zs,If(t,0,t.length)}function R4n(e){var t;return t=jy(e),t>34028234663852886e22?gs:t<-34028234663852886e22?ia:t}function bo(e,t){var n;return wc(e)&&wc(t)&&(n=e+t,_P"+Bm(t.c):"e_"+es(t),e.b&&e.c?Bm(e.b)+"->"+Bm(e.c):"e_"+es(e))}function z4n(e,t){return vn(t.b&&t.c?Bm(t.b)+"->"+Bm(t.c):"e_"+es(t),e.b&&e.c?Bm(e.b)+"->"+Bm(e.c):"e_"+es(e))}function Fw(e,t){return A1(),f0(Ab),b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)?0:et?1:uw(isNaN(e),isNaN(t))}function ip(){ip=U,Hge=new xq(cL,0),JB=new xq("POLYLINE",1),iC=new xq("ORTHOGONAL",2),s9=new xq("SPLINES",3)}function qV(){qV=U,YIe=new Rse("ASPECT_RATIO_DRIVEN",0),uge=new Rse("MAX_SCALE_DRIVEN",1),WIe=new Rse("AREA_DRIVEN",2)}function q4n(e,t,n){var r;try{hyn(e,t,n)}catch(a){throw a=bs(a),De(a,606)?(r=a,ue(new w6e(r))):ue(a)}return t}function H4n(e){var t,n,r;for(n=0,r=e.length;nt&&r.Ne(e[o-1],e[o])>0;--o)f=e[o],Ts(e,o,e[o-1]),Ts(e,o-1,f)}function sn(e,t){var n,r,a,o,f;if(n=t.f,h2(e.c.d,n,t),t.g!=null)for(a=t.g,o=0,f=a.length;ot){pct(n);break}}zO(n,t)}function K4n(e,t){var n,r,a;r=G5(t),a=ze(Ge(Py(r,(Nt(),x0)))),n=b.Math.max(0,a/2-.5),FA(t,n,1),vt(e,new Net(t,n))}function W4n(e,t,n){var r;n.Ug("Straight Line Edge Routing",1),n.dh(t,yCe),r=l(at(t,(H5(),Y6)),27),rvt(e,r),n.dh(t,OG)}function y8e(e,t){e.n.c.length==0&&vt(e.n,new PH(e.s,e.t,e.i)),vt(e.b,t),exe(l(jt(e.n,e.n.c.length-1),209),t),jmt(e,t)}function LA(e){var t;this.a=(t=l(e.e&&e.e(),9),new Zh(t,l(c0(t,t.length),9),0)),this.b=We(wa,Rn,1,this.a.a.length,5,1)}function xc(e){var t;return Array.isArray(e)&&e.Tm===xe?_m(bh(e))+"@"+(t=es(e)>>>0,t.toString(16)):e.toString()}function Y4n(e,t){return e.h==SP&&e.m==0&&e.l==0?(t&&(Nb=qu(0,0,0)),ent((iE(),YSe))):(t&&(Nb=qu(e.l,e.m,e.h)),qu(0,0,0))}function X4n(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function x1t(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function x8e(e,t,n,r){switch(t){case 3:return e.f;case 4:return e.g;case 5:return e.i;case 6:return e.j}return d8e(e,t,n,r)}function HV(e,t){if(t==e.d)return e.e;if(t==e.e)return e.d;throw ue(new Yn("Node "+t+" not part of edge "+e))}function Q4n(e,t){var n;if(n=oP(e.Dh(),t),De(n,102))return l(n,19);throw ue(new Yn(Ob+t+"' is not a valid reference"))}function uf(e,t,n,r){if(t<0)$9e(e,n,r);else{if(!n.rk())throw ue(new Yn(Ob+n.xe()+kL));l(n,69).wk().Ck(e,e.hi(),t,r)}}function Ql(e){var t;if(e.b){if(Ql(e.b),e.b.d!=e.c)throw ue(new Xh)}else e.d.dc()&&(t=l(e.f.c.xc(e.e),16),t&&(e.d=t))}function J4n(e){py();var t,n,r,a;for(t=e.o.b,r=l(l($i(e.r,(Ct(),Dr)),21),87).Kc();r.Ob();)n=l(r.Pb(),117),a=n.e,a.b+=t}function Z4n(e){var t,n,r;for(this.a=new bd,r=new G(e);r.a=a)return t.c+n;return t.c+t.b.gc()}function t5n(e,t){Fk();var n,r,a,o;for(r=Olt(e),a=t,nE(r,0,r.length,a),n=0;n0&&(r+=a,++n);return n>1&&(r+=e.d*(n-1)),r}function r5n(e){var t,n,r,a,o;return o=jxe(e),n=ZI(e.c),r=!n,r&&(a=new $p,e1(o,"knownLayouters",a),t=new uQe(a),to(e.c,t)),o}function T8e(e){var t,n,r;for(r=new Up,r.a+="[",t=0,n=e.gc();t0&&(Xn(t-1,e.length),e.charCodeAt(t-1)==58)&&!Hce(e,$M,zM))}function C8e(e,t){var n;return qe(e)===qe(t)?!0:De(t,92)?(n=l(t,92),e.e==n.e&&e.d==n.d&&Mmn(e,n.a)):!1}function gx(e){switch(Ct(),e.g){case 4:return Qn;case 1:return ar;case 3:return Dr;case 2:return er;default:return Pc}}function o5n(e){var t,n;if(e.b)return e.b;for(n=G1?null:e.d;n;){if(t=G1?null:n.b,t)return t;n=G1?null:n.d}return Dk(),w_e}function S8e(e){var t,n,r;for(r=ze(Ge(e.a.of((pi(),iY)))),n=new G(e.a.Sf());n.a>5,t=e&31,r=We(Vr,di,28,n+1,15,1),r[n]=1<3;)a*=10,--o;e=(e+(a>>1))/a|0}return r.i=e,!0}function ms(e,t){var n,r,a;if(n=(e.i==null&&Sd(e),e.i),r=t.Lj(),r!=-1){for(a=n.length;r=0;--r)for(t=n[r],a=0;a>1,this.k=t-1>>1}function k5n(e){ZH(),l(e.of((pi(),Ub)),181).Hc((Zl(),hY))&&(l(e.of(S4),181).Fc((Rl(),a9)),l(e.of(Ub),181).Mc(hY))}function A1t(e){var t,n;t=e.d==(yx(),IT),n=Lxe(e),t&&!n||!t&&n?rt(e.a,(Nt(),Rd),(og(),VB)):rt(e.a,(Nt(),Rd),(og(),HB))}function Gce(){Gce=U,tq(),TW=(Nt(),m3),Qkt=O1(he(le(Cge,1),oCe,149,0,[SB,x0,H6,b3,y4,cde,GT,KT,ude,tM,q6,vv,V6]))}function E5n(e,t){var n;return n=l(yc(e,Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),n.Qc(Yit(n.gc()))}function L1t(e,t){var n,r;if(r=new ba(e.a.ad(t,!0)),r.a.gc()<=1)throw ue(new S8);return n=r.a.ec().Kc(),n.Pb(),l(n.Pb(),40)}function T5n(e,t,n){var r,a;return r=ze(e.p[t.i.p])+ze(e.d[t.i.p])+t.n.b+t.a.b,a=ze(e.p[n.i.p])+ze(e.d[n.i.p])+n.n.b+n.a.b,a-r}function O8e(e,t){var n;return e.i>0&&(t.lengthe.i&&Ts(t,e.i,null),t}function UV(e){var t;return e.Db&64?CA(e):(t=new Af(CA(e)),t.a+=" (instanceClassName: ",Xo(t,e.D),t.a+=")",t.a)}function GV(e){var t,n,r,a;for(a=0,n=0,r=e.length;n0?(e._j(),r=t==null?0:es(t),a=(r&Ii)%e.d.length,n=j2t(e,a,r,t),n!=-1):!1}function M1t(e,t){var n,r;e.a=bo(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d+=t,n=t-e.f,r=e.e+n,e.f=r-e.e-n,e.e=r}function N8e(e,t){switch(t){case 3:Mw(e,0);return;case 4:Dw(e,0);return;case 5:Uu(e,0);return;case 6:Gu(e,0);return}i8e(e,t)}function Rw(e,t){switch(t.g){case 1:return G8(e.j,(kl(),xAe));case 2:return G8(e.j,(kl(),EAe));default:return Cn(),Cn(),_o}}function P8e(e){ww();var t;switch(t=e.Pc(),t.length){case 0:return x0e;case 1:return new Sae(Xr(t[0]));default:return new ooe(H4n(t))}}function D1t(e,t){e.Xj();try{e.d.bd(e.e++,t),e.f=e.d.j,e.g=-1}catch(n){throw n=bs(n),De(n,77)?ue(new Xh):ue(n)}}function Wce(){Wce=U,ipe=new NS,MPe=new H0,DPe=new AI,IPe=new LI,OPe=new f8,NPe=new tre,PPe=new nre,BPe=new rre,FPe=new ire}function KV(e,t){iye();var n,r;return n=MO((zz(),zz(),NL)),r=null,t==n&&(r=l(xu(KSe,e),624)),r||(r=new Xst(e),t==n&&rc(KSe,e,r)),r}function I1t(e){By();var t;return(e.q?e.q:(Cn(),Cn(),mg))._b((Nt(),g3))?t=l(Q(e,g3),203):t=l(Q(eo(e),eM),203),t}function Py(e,t){var n,r;return r=null,ns(e,(Nt(),kW))&&(n=l(Q(e,kW),96),n.pf(t)&&(r=n.of(t))),r==null&&(r=Q(eo(e),t)),r}function O1t(e,t){var n,r,a;return De(t,44)?(n=l(t,44),r=n.ld(),a=Oy(e.Rc(),r),yd(a,n.md())&&(a!=null||e.Rc()._b(r))):!1}function n1(e,t){var n,r,a;return e.f>0&&(e._j(),r=t==null?0:es(t),a=(r&Ii)%e.d.length,n=y9e(e,a,r,t),n)?n.md():null}function Ru(e,t,n){var r,a,o;return e.Pj()?(r=e.i,o=e.Qj(),IN(e,r,t),a=e.Ij(3,null,t,r,o),n?n.nj(a):n=a):IN(e,e.i,t),n}function S5n(e,t,n){var r,a;return r=new Zg(e.e,4,10,(a=t.c,De(a,90)?l(a,29):(Tn(),Kf)),null,f2(e,t),!1),n?n.nj(r):n=r,n}function _5n(e,t,n){var r,a;return r=new Zg(e.e,3,10,null,(a=t.c,De(a,90)?l(a,29):(Tn(),Kf)),f2(e,t),!1),n?n.nj(r):n=r,n}function N1t(e){py();var t;return t=new Eo(l(e.e.of((pi(),i7)),8)),e.B.Hc((Zl(),aC))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function kb(e){Cd();var t,n;return n=Yr(e),t=Yr(ub(e,32)),t!=0?new qot(n,t):n>10||n<0?new Qg(1,n):y6t[n]}function RN(e,t){var n;return wc(e)&&wc(t)&&(n=e%t,_P=0?o=o.a[1]:(a=o,o=o.a[0])}return a}function $N(e,t,n){var r,a,o;for(a=null,o=e.b;o;){if(r=e.a.Ne(t,o.d),n&&r==0)return o;r<=0?o=o.a[0]:(a=o,o=o.a[1])}return a}function O5n(e,t,n,r){var a,o,f;return a=!1,BMn(e.f,n,r)&&(t6n(e.f,e.a[t][n],e.a[t][r]),o=e.a[t],f=o[r],o[r]=o[n],o[n]=f,a=!0),a}function R1t(e,t,n){var r,a,o,f;for(a=l(cr(e.b,n),183),r=0,f=new G(t.j);f.a>5,t&=31,a=e.d+n+(t==0?0:1),r=We(Vr,di,28,a,15,1),Dxn(r,e.a,n,t),o=new Im(e.e,a,r),iA(o),o}function N5n(e,t){var n,r,a;for(r=new hr(dr(qs(e).a.Kc(),new j));jr(r);)if(n=l(xr(r),18),a=n.d.i,a.c==t)return!1;return!0}function R8e(e,t,n){var r,a,o,f,g;return f=e.k,g=t.k,r=n[f.g][g.g],a=Ge(Py(e,r)),o=Ge(Py(t,r)),b.Math.max((nr(a),a),(nr(o),o))}function P5n(){return Error.stackTraceLimit>0?(b.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function B5n(e,t){return A1(),A1(),f0(Ab),(b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)?0:et?1:uw(isNaN(e),isNaN(t)))>0}function j8e(e,t){return A1(),A1(),f0(Ab),(b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)?0:et?1:uw(isNaN(e),isNaN(t)))<0}function $1t(e,t){return A1(),A1(),f0(Ab),(b.Math.abs(e-t)<=Ab||e==t||isNaN(e)&&isNaN(t)?0:et?1:uw(isNaN(e),isNaN(t)))<=0}function Xce(e,t){for(var n=0;!t[n]||t[n]=="";)n++;for(var r=t[n++];n0&&this.b>0&&(this.g=aH(this.c,this.b,this.a))}function F5n(e,t){var n=e.a,r;t=String(t),n.hasOwnProperty(t)&&(r=n[t]);var a=(vce(),_0e)[typeof r],o=a?a(r):Z7e(typeof r);return o}function NE(e){var t,n,r;if(r=null,t=Pd in e.a,n=!t,n)throw ue(new dd("Every element must have an id."));return r=xx(Wg(e,Pd)),r}function jw(e){var t,n;for(n=fpt(e),t=null;e.c==2;)Li(e),t||(t=(Di(),Di(),new B_(2)),Qm(t,n),n=t),n.Jm(fpt(e));return n}function YV(e,t){var n,r,a;return e._j(),r=t==null?0:es(t),a=(r&Ii)%e.d.length,n=y9e(e,a,r,t),n?(Wht(e,n),n.md()):null}function K1t(e,t){return e.e>t.e?1:e.et.d?e.e:e.d=48&&e<48+b.Math.min(10,10)?e-48:e>=97&&e<97?e-97+10:e>=65&&e<65?e-65+10:-1}function R5n(e,t){if(t.c==e)return t.d;if(t.d==e)return t.c;throw ue(new Yn("Input edge is not connected to the input port."))}function j5n(e){if(QV(wT,e))return Hn(),ST;if(QV(Ffe,e))return Hn(),Pb;throw ue(new Yn("Expecting true or false"))}function q8e(e){switch(typeof e){case Ile:return s2(e);case Qke:return j8(e);case Cx:return Art(e);default:return e==null?0:fw(e)}}function Td(e,t){if(e.a<0)throw ue(new nc("Did not call before(...) or after(...) before calling add(...)."));return Bye(e,e.a,t),e}function H8e(e){return BH(),De(e,162)?l(cr(lF,C6t),295).Rg(e):Hu(lF,bh(e))?l(cr(lF,bh(e)),295).Rg(e):null}function Ku(e){var t,n;return e.Db&32||(n=(t=l(Kn(e,16),29),yr(t||e.ii())-yr(e.ii())),n!=0&&px(e,32,We(wa,Rn,1,n,5,1))),e}function px(e,t,n){var r;e.Db&t?n==null?kEn(e,t):(r=mue(e,t),r==-1?e.Eb=n:Ts(jm(e.Eb),r,n)):n!=null&&UCn(e,t,n)}function $5n(e,t,n,r){var a,o;t.c.length!=0&&(a=PTn(n,r),o=Bkn(t),Is(lV(new bn(null,new kn(o,1)),new a8),new Cat(e,n,a,r)))}function z5n(e,t){var n,r,a,o;return r=e.a.length-1,n=t-e.b&r,o=e.c-t&r,a=e.c-e.b&r,Ert(n=o?(jyn(e,t),-1):(Ryn(e,t),1)}function XV(e){var t,n,r;if(r=e.Jh(),!r)for(t=0,n=e.Ph();n;n=n.Ph()){if(++t>ohe)return n.Qh();if(r=n.Jh(),r||n==e)break}return r}function Y1t(e,t){var n;return qe(t)===qe(e)?!0:!De(t,21)||(n=l(t,21),n.gc()!=e.gc())?!1:e.Ic(n)}function q5n(e,t){return e.et.e?1:e.ft.f?1:es(e)-es(t)}function QV(e,t){return nr(e),t==null?!1:vn(e,t)?!0:e.length==t.length&&vn(e.toLowerCase(),t.toLowerCase())}function ap(e){var t,n;return iu(e,-129)>0&&iu(e,128)<0?(Zit(),t=Yr(e)+128,n=n_e[t],!n&&(n=n_e[t]=new Or(e)),n):new Or(e)}function Km(){Km=U,c4=new dq(Id,0),bAe=new dq("INSIDE_PORT_SIDE_GROUPS",1),o1e=new dq("GROUP_MODEL_ORDER",2),c1e=new dq($Ee,3)}function H5n(e){var t;return e.b||Bun(e,(t=Pfn(e.e,e.a),!t||!vn(Ffe,n1((!t.b&&(t.b=new dh((Tn(),No),Yc,t)),t.b),"qualified")))),e.c}function V5n(e,t){var n,r;for(n=(Xn(t,e.length),e.charCodeAt(t)),r=t+1;r2e3&&(l6t=e,oK=b.setTimeout(zun,10))),aK++==0?(rwn((Xwe(),GSe)),!0):!1}function i6n(e,t,n){var r;(I6t?(o5n(e),!0):O6t||P6t?(Dk(),!0):N6t&&(Dk(),!1))&&(r=new fit(t),r.b=n,f9n(e,r))}function Jce(e,t){var n;n=!e.A.Hc((mh(),Cv))||e.q==(Ra(),Mu),e.u.Hc((Rl(),vp))?n?KDn(e,t):Vvt(e,t):e.u.Hc(Yb)&&(n?dDn(e,t):swt(e,t))}function tdt(e){var t;qe(at(e,(pi(),n7)))===qe((rp(),oY))&&(ds(e)?(t=l(at(ds(e),n7),346),Hi(e,n7,t)):Hi(e,n7,DM))}function s6n(e){var t,n;return ns(e.d.i,(Nt(),HT))?(t=l(Q(e.c.i,HT),17),n=l(Q(e.d.i,HT),17),ru(t.a,n.a)>0):!1}function ndt(e,t,n){return new ef(b.Math.min(e.a,t.a)-n/2,b.Math.min(e.b,t.b)-n/2,b.Math.abs(e.a-t.a)+n,b.Math.abs(e.b-t.b)+n)}function rdt(e){var t;this.d=new bt,this.j=new qa,this.g=new qa,t=e.g.b,this.f=l(Q(eo(t),(Nt(),Rh)),88),this.e=ze(Ge(tU(t,y4)))}function idt(e){this.d=new bt,this.e=new e2,this.c=We(Vr,di,28,(Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])).length,15,1),this.b=e}function G8e(e,t,n){var r;switch(r=n[e.g][t],e.g){case 1:case 3:return new lt(0,r);case 2:case 4:return new lt(r,0);default:return null}}function sdt(e,t,n){var r,a;a=l(GO(t.f),205);try{a.rf(e,n),lat(t.f,a)}catch(o){throw o=bs(o),De(o,103)?(r=o,ue(r)):ue(o)}}function adt(e,t,n){var r,a,o,f,g,w;return r=null,g=Fke(hE(),t),o=null,g&&(a=null,w=Pke(g,n),f=null,w!=null&&(f=e.qf(g,w)),a=f,o=a),r=o,r}function Zce(e,t,n,r){var a;if(a=e.length,t>=a)return a;for(t=t>0?t:0;tr&&Ts(t,r,null),t}function odt(e,t){var n,r;for(r=e.a.length,t.lengthr&&Ts(t,r,null),t}function PE(e,t){var n,r;if(++e.j,t!=null&&(n=(r=e.a.Cb,De(r,99)?l(r,99).th():null),lEn(t,n))){px(e.a,4,n);return}px(e.a,4,l(t,129))}function a6n(e){var t;if(e==null)return null;if(t=hTn(Tu(e,!0)),t==null)throw ue(new Jie("Invalid hexBinary value: '"+e+"'"));return t}function JV(e,t,n){var r;t.a.length>0&&(vt(e.b,new Ait(t.a,n)),r=t.a.length,0r&&(t.a+=Mnt(We(kf,Ad,28,-r,15,1))))}function cdt(e,t,n){var r,a,o;if(!n[t.d])for(n[t.d]=!0,a=new G(Z5(t));a.a=e.b>>1)for(r=e.c,n=e.b;n>t;--n)r=r.b;else for(r=e.a.a,n=0;n=0?e.Wh(a):que(e,r)):n<0?que(e,r):l(r,69).wk().Bk(e,e.hi(),n)}function fdt(e){var t,n,r;for(r=(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),e.o),n=r.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),44),t.md();return iN(r)}function It(e){var t;if(De(e.a,4)){if(t=H8e(e.a),t==null)throw ue(new nc(Nyt+e.b+"'. "+Oyt+(Gg(hF),hF.k)+JCe));return t}else return e.a}function g6n(e,t){var n,r;if(e.j.length!=t.j.length)return!1;for(n=0,r=e.j.length;n=64&&t<128&&(a=Q0(a,l0(1,t-64)));return a}function tU(e,t){var n,r;return r=null,ns(e,(pi(),r9))&&(n=l(Q(e,r9),96),n.pf(t)&&(r=n.of(t))),r==null&&eo(e)&&(r=Q(eo(e),t)),r}function p6n(e,t){var n;return n=l(Q(e,(Nt(),cc)),75),Zse(t,O8t)?n?Ch(n):(n=new bl,rt(e,cc,n)):n&&rt(e,cc,null),n}function IA(){IA=U,X_e=(pi(),_Ne),W0e=oNe,I7t=Z6,Y_e=_2,B7t=(dU(),A_e),P7t=S_e,F7t=M_e,N7t=C_e,O7t=(Lce(),G_e),K0e=L7t,W_e=M7t,vK=D7t}function nU(e){switch(w3e(),this.c=new bt,this.d=e,e.g){case 0:case 2:this.a=_5e(pAe),this.b=gs;break;case 3:case 1:this.a=pAe,this.b=ia}}function b6n(e){var t;U8(l(Q(e,(Nt(),Ms)),101))&&(t=e.b,e2t((Sn(0,t.c.length),l(t.c[0],30))),e2t(l(jt(t,t.c.length-1),30)))}function m6n(e,t){t.Ug("Self-Loop post-processing",1),Is(Fi(Fi(Dc(new bn(null,new kn(e.b,16)),new RZ),new jZ),new $Z),new Ej),t.Vg()}function ddt(e,t,n){var r,a;if(e.c)Uu(e.c,e.c.i+t),Gu(e.c,e.c.j+n);else for(a=new G(e.b);a.a=0&&(n.d=e.t);break;case 3:e.t>=0&&(n.a=e.t)}e.C&&(n.b=e.C.b,n.c=e.C.c)}function OA(){OA=U,vDe=new hO(cCe,0),vde=new hO($he,1),wde=new hO("LINEAR_SEGMENTS",2),rM=new hO("BRANDES_KOEPF",3),iM=new hO(cyt,4)}function NA(){NA=U,uB=new hq(nG,0),bK=new hq(yhe,1),mK=new hq(xhe,2),lB=new hq(khe,3),uB.a=!1,bK.a=!0,mK.a=!1,lB.a=!0}function bx(){bx=U,aB=new lq(nG,0),sB=new lq(yhe,1),oB=new lq(xhe,2),cB=new lq(khe,3),aB.a=!1,sB.a=!0,oB.a=!1,cB.a=!0}function mx(e,t,n,r){var a;return n>=0?e.Sh(t,n,r):(e.Ph()&&(r=(a=e.Fh(),a>=0?e.Ah(r):e.Ph().Th(e,-1-a,null,r))),e.Ch(t,n,r))}function K8e(e,t){switch(t){case 7:!e.e&&(e.e=new Ln(js,e,7,4)),$r(e.e);return;case 8:!e.d&&(e.d=new Ln(js,e,8,5)),$r(e.d);return}N8e(e,t)}function Hi(e,t,n){return n==null?(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),YV(e.o,t)):(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),GN(e.o,t,n)),e}function mdt(e,t){Cn();var n,r,a,o;for(n=e,o=t,De(e,21)&&!De(t,21)&&(n=t,o=e),a=n.Kc();a.Ob();)if(r=a.Pb(),o.Hc(r))return!1;return!0}function k6n(e,t,n,r){if(t.an.b)return!0}return!1}function iue(e,t){return Ia(e)?!!r6t[t]:e.Sm?!!e.Sm[t]:fy(e)?!!n6t[t]:hy(e)?!!t6t[t]:!1}function E6n(e){var t;t=e.a;do t=l(xr(new hr(dr(ka(t).a.Kc(),new j))),18).c.i,t.k==(Zn(),Aa)&&e.b.Fc(t);while(t.k==(Zn(),Aa));e.b=lf(e.b)}function vdt(e,t){var n,r,a;for(a=e,r=new hr(dr(ka(t).a.Kc(),new j));jr(r);)n=l(xr(r),18),n.c.i.c&&(a=b.Math.max(a,n.c.i.c.p));return a}function T6n(e,t){var n,r,a;for(a=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),a+=n.d.d+n.b.Mf().b+n.d.a,r.Ob()&&(a+=e.w);return a}function C6n(e,t){var n,r,a;for(a=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),a+=n.d.b+n.b.Mf().a+n.d.c,r.Ob()&&(a+=e.w);return a}function wdt(e){var t,n,r,a;if(r=0,a=Hy(e),a.c.length==0)return 1;for(n=new G(a);n.a=0?e.Lh(f,n,!0):Hw(e,o,n)):l(o,69).wk().yk(e,e.hi(),a,n,r)}function L6n(e,t,n,r){var a,o;o=t.pf((pi(),r7))?l(t.of(r7),21):e.j,a=d4n(o),a!=(YU(),H0e)&&(n&&!$8e(a)||Jxe(fTn(e,a,r),t))}function M6n(e){switch(e.g){case 1:return Pw(),iB;case 3:return Pw(),rB;case 2:return Pw(),U0e;case 4:return Pw(),V0e;default:return null}}function D6n(e,t,n){if(e.e)switch(e.b){case 1:xpn(e.c,t,n);break;case 0:kpn(e.c,t,n)}else $ct(e.c,t,n);e.a[t.p][n.p]=e.c.i,e.a[n.p][t.p]=e.c.e}function ydt(e){var t,n;if(e==null)return null;for(n=We(wg,dt,199,e.length,0,2),t=0;t=0)return a;if(e.ol()){for(r=0;r=a)throw ue(new my(t,a));if(e.Si()&&(r=e.dd(n),r>=0&&r!=t))throw ue(new Yn(WP));return e.Xi(t,n)}function W8e(e,t){if(this.a=l(Xr(e),253),this.b=l(Xr(t),253),e.Ed(t)>0||e==(Uie(),w0e)||t==(Gie(),y0e))throw ue(new Yn("Invalid range: "+Hct(e,t)))}function xdt(e){var t,n;for(this.b=new bt,this.c=e,this.a=!1,n=new G(e.a);n.a0),(t&-t)==t)return ua(t*Jl(e,31)*4656612873077393e-25);do n=Jl(e,31),r=n%t;while(n-r+(t-1)<0);return ua(r)}function F6n(e,t,n){switch(n.g){case 1:e.a=t.a/2,e.b=0;break;case 2:e.a=t.a,e.b=t.b/2;break;case 3:e.a=t.a/2,e.b=t.b;break;case 4:e.a=0,e.b=t.b/2}}function zN(e,t,n,r){var a,o;for(a=t;a1&&(o=O6n(e,t)),o}function Tdt(e){var t;return t=ze(Ge(at(e,(pi(),QB))))*b.Math.sqrt((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a).i),new lt(t,t/ze(Ge(at(e,sY))))}function aue(e){var t;return e.f&&e.f.Vh()&&(t=l(e.f,54),e.f=l(yb(e,t),84),e.f!=t&&e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,9,8,t,e.f))),e.f}function oue(e){var t;return e.i&&e.i.Vh()&&(t=l(e.i,54),e.i=l(yb(e,t),84),e.i!=t&&e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,9,7,t,e.i))),e.i}function Ro(e){var t;return e.b&&e.b.Db&64&&(t=e.b,e.b=l(yb(e,t),19),e.b!=t&&e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,9,21,t,e.b))),e.b}function oU(e,t){var n,r,a;e.d==null?(++e.e,++e.f):(r=t.Bi(),aCn(e,e.f+1),a=(r&Ii)%e.d.length,n=e.d[a],!n&&(n=e.d[a]=e.dk()),n.Fc(t),++e.f)}function Q8e(e,t,n){var r;return t.tk()?!1:t.Ik()!=-2?(r=t.ik(),r==null?n==null:Pi(r,n)):t.qk()==e.e.Dh()&&n==null}function cU(){var e;Mh(16,Pwt),e=cft(16),this.b=We(k0e,TP,303,e,0,1),this.c=We(k0e,TP,303,e,0,1),this.a=null,this.e=null,this.i=0,this.f=e-1,this.g=0}function op(e){r4e.call(this),this.k=(Zn(),Ps),this.j=(Mh(6,Yy),new Bu(6)),this.b=(Mh(2,Yy),new Bu(2)),this.d=new $ie,this.f=new Rwe,this.a=e}function j6n(e){var t,n;e.c.length<=1||(t=Abt(e,(Ct(),Dr)),ppt(e,l(t.a,17).a,l(t.b,17).a),n=Abt(e,er),ppt(e,l(n.a,17).a,l(n.b,17).a))}function $6n(e,t,n){var r,a;for(a=e.a.b,r=a.c.length;r102?-1:e<=57?e-48:e<65?-1:e<=70?e-65+10:e<97?-1:e-97+10}function fue(e,t){if(e==null)throw ue(new D8("null key in entry: null="+t));if(t==null)throw ue(new D8("null value in entry: "+e+"=null"))}function H6n(e,t){for(var n,r;e.Ob();)if(!t.Ob()||(n=e.Pb(),r=t.Pb(),!(qe(n)===qe(r)||n!=null&&Pi(n,r))))return!1;return!t.Ob()}function _dt(e,t){var n;return n=he(le(Na,1),Zo,28,15,[Dce(e.a[0],t),Dce(e.a[1],t),Dce(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function Adt(e,t){var n;return n=he(le(Na,1),Zo,28,15,[BV(e.a[0],t),BV(e.a[1],t),BV(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function Z8e(e,t,n){U8(l(Q(t,(Nt(),Ms)),101))||(d6e(e,t,d2(t,n)),d6e(e,t,d2(t,(Ct(),Dr))),d6e(e,t,d2(t,Qn)),Cn(),Vs(t.j,new IYe(e)))}function Ldt(e){var t,n;for(e.c||cMn(e),n=new bl,t=new G(e.a),re(t);t.a0&&(Xn(0,t.length),t.charCodeAt(0)==43)?(Xn(1,t.length+1),t.substr(1)):t))}function r7n(e){var t;return e==null?null:new ob((t=Tu(e,!0),t.length>0&&(Xn(0,t.length),t.charCodeAt(0)==43)?(Xn(1,t.length+1),t.substr(1)):t))}function txe(e,t,n,r,a,o,f,g){var w,E;r&&(w=r.a[0],w&&txe(e,t,n,w,a,o,f,g),xue(e,n,r.d,a,o,f,g)&&t.Fc(r),E=r.a[1],E&&txe(e,t,n,E,a,o,f,g))}function r6(e,t,n){try{return cw(nce(e,t,n),1)}catch(r){throw r=bs(r),De(r,333)?ue(new tc(Ehe+e.o+"*"+e.p+The+t+Co+n+Che)):ue(r)}}function Ndt(e,t,n){try{return cw(nce(e,t,n),0)}catch(r){throw r=bs(r),De(r,333)?ue(new tc(Ehe+e.o+"*"+e.p+The+t+Co+n+Che)):ue(r)}}function Pdt(e,t,n){try{return cw(nce(e,t,n),2)}catch(r){throw r=bs(r),De(r,333)?ue(new tc(Ehe+e.o+"*"+e.p+The+t+Co+n+Che)):ue(r)}}function Bdt(e,t){if(e.g==-1)throw ue(new pl);e.Xj();try{e.d.hd(e.g,t),e.f=e.d.j}catch(n){throw n=bs(n),De(n,77)?ue(new Xh):ue(n)}}function i7n(e){var t,n,r,a,o;for(r=new G(e.b);r.ao&&Ts(t,o,null),t}function s7n(e,t){var n,r;if(r=e.gc(),t==null){for(n=0;n0&&(w+=a),E[C]=f,f+=g*(w+r)}function Rdt(e){var t,n,r;for(r=e.f,e.n=We(Na,Zo,28,r,15,1),e.d=We(Na,Zo,28,r,15,1),t=0;t0?e.c:0),++a;e.b=r,e.d=o}function Hdt(e,t){var n;return n=he(le(Na,1),Zo,28,15,[X8e(e,(t1(),Gc),t),X8e(e,$u,t),X8e(e,Kc,t)]),e.f&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function d7n(e,t,n){var r;try{FU(e,t+e.j,n+e.k,!1,!0)}catch(a){throw a=bs(a),De(a,77)?(r=a,ue(new tc(r.g+iG+t+Co+n+")."))):ue(a)}}function g7n(e,t,n){var r;try{FU(e,t+e.j,n+e.k,!0,!1)}catch(a){throw a=bs(a),De(a,77)?(r=a,ue(new tc(r.g+iG+t+Co+n+")."))):ue(a)}}function Vdt(e){var t;ns(e,(Nt(),d3))&&(t=l(Q(e,d3),21),t.Hc((qy(),E0))?(t.Mc(E0),t.Fc(T0)):t.Hc(T0)&&(t.Mc(T0),t.Fc(E0)))}function Udt(e){var t;ns(e,(Nt(),d3))&&(t=l(Q(e,d3),21),t.Hc((qy(),S0))?(t.Mc(S0),t.Fc(qf)):t.Hc(qf)&&(t.Mc(qf),t.Fc(S0)))}function vue(e,t,n,r){var a,o,f,g;return e.a==null&&b9n(e,t),f=t.b.j.c.length,o=n.d.p,g=r.d.p,a=g-1,a<0&&(a=f-1),o<=a?e.a[a]-e.a[o]:e.a[f-1]-e.a[o]+e.a[a]}function p7n(e){var t,n;if(!e.b)for(e.b=$H(l(e.f,27).kh().i),n=new or(l(e.f,27).kh());n.e!=n.i.gc();)t=l(gr(n),135),vt(e.b,new Yie(t));return e.b}function b7n(e){var t,n;if(!e.e)for(e.e=$H(Xae(l(e.f,27)).i),n=new or(Xae(l(e.f,27)));n.e!=n.i.gc();)t=l(gr(n),123),vt(e.e,new BXe(t));return e.e}function Gdt(e){var t,n;if(!e.a)for(e.a=$H(AH(l(e.f,27)).i),n=new or(AH(l(e.f,27)));n.e!=n.i.gc();)t=l(gr(n),27),vt(e.a,new rae(e,t));return e.a}function zw(e){var t;if(!e.C&&(e.D!=null||e.B!=null))if(t=rDn(e),t)e.hl(t);else try{e.hl(null)}catch(n){if(n=bs(n),!De(n,63))throw ue(n)}return e.C}function m7n(e){switch(e.q.g){case 5:bgt(e,(Ct(),Qn)),bgt(e,Dr);break;case 4:vvt(e,(Ct(),Qn)),vvt(e,Dr);break;default:xpt(e,(Ct(),Qn)),xpt(e,Dr)}}function v7n(e){switch(e.q.g){case 5:mgt(e,(Ct(),ar)),mgt(e,er);break;case 4:wvt(e,(Ct(),ar)),wvt(e,er);break;default:kpt(e,(Ct(),ar)),kpt(e,er)}}function i6(e,t){var n,r,a;for(a=new qa,r=e.Kc();r.Ob();)n=l(r.Pb(),36),KE(n,a.a,0),a.a+=n.f.a+t,a.b=b.Math.max(a.b,n.f.b);return a.b>0&&(a.b+=t),a}function hU(e,t){var n,r,a;for(a=new qa,r=e.Kc();r.Ob();)n=l(r.Pb(),36),KE(n,0,a.b),a.b+=n.f.b+t,a.a=b.Math.max(a.a,n.f.a);return a.a>0&&(a.a+=t),a}function Kdt(e){var t,n,r;for(r=Ii,n=new G(e.a);n.a>16==6?e.Cb.Th(e,5,u1,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function w7n(e){Xk();var t=e.e;if(t&&t.stack){var n=t.stack,r=t+` +`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(` +`)}return[]}function y7n(e){var t;return t=(Qht(),p6t),t[e>>>28]|t[e>>24&15]<<4|t[e>>20&15]<<8|t[e>>16&15]<<12|t[e>>12&15]<<16|t[e>>8&15]<<20|t[e>>4&15]<<24|t[e&15]<<28}function Xdt(e){var t,n,r;e.b==e.c&&(r=e.a.length,n=P7e(b.Math.max(8,r))<<1,e.b!=0?(t=c0(e.a,n),fft(e,t,r),e.a=t,e.b=0):ay(e.a,n),e.c=r)}function x7n(e,t){var n;return n=e.b,n.pf((pi(),rh))?n.ag()==(Ct(),er)?-n.Mf().a-ze(Ge(n.of(rh))):t+ze(Ge(n.of(rh))):n.ag()==(Ct(),er)?-n.Mf().a:t}function HN(e){var t;return e.b.c.length!=0&&l(jt(e.b,0),72).a?l(jt(e.b,0),72).a:(t=Qae(e),t??""+(e.c?gc(e.c.a,e,0):-1))}function fU(e){var t;return e.f.c.length!=0&&l(jt(e.f,0),72).a?l(jt(e.f,0),72).a:(t=Qae(e),t??""+(e.i?gc(e.i.j,e,0):-1))}function k7n(e,t){var n,r;if(t<0||t>=e.gc())return null;for(n=t;n0?e.c:0),a=b.Math.max(a,t.d),++r;e.e=o,e.b=a}function T7n(e){var t,n;if(!e.b)for(e.b=$H(l(e.f,123).kh().i),n=new or(l(e.f,123).kh());n.e!=n.i.gc();)t=l(gr(n),135),vt(e.b,new Yie(t));return e.b}function C7n(e,t){var n,r,a;if(t.dc())return Fk(),Fk(),fF;for(n=new Ort(e,t.gc()),a=new or(e);a.e!=a.i.gc();)r=gr(a),t.Hc(r)&&qr(n,r);return n}function sxe(e,t,n,r){return t==0?r?(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),e.o):(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),iN(e.o)):rU(e,t,n,r)}function yue(e){var t,n;if(e.rb)for(t=0,n=e.rb.i;t>22),a+=r>>22,a<0)?!1:(e.l=n&eh,e.m=r&eh,e.h=a&hp,!0)}function xue(e,t,n,r,a,o,f){var g,w;return!(t.Te()&&(w=e.a.Ne(n,r),w<0||!a&&w==0)||t.Ue()&&(g=e.a.Ne(n,o),g>0||!f&&g==0))}function L7n(e,t){TE();var n;if(n=e.j.g-t.j.g,n!=0)return 0;switch(e.j.g){case 2:return zce(t,cLe)-zce(e,cLe);case 4:return zce(e,oLe)-zce(t,oLe)}return 0}function M7n(e){switch(e.g){case 0:return D1e;case 1:return I1e;case 2:return O1e;case 3:return N1e;case 4:return QK;case 5:return P1e;default:return null}}function ac(e,t,n){var r,a;return r=(a=new Hie,Gm(a,t),Fu(a,n),qr((!e.c&&(e.c=new nt(k3,e,12,10)),e.c),a),a),i2(r,0),My(r,1),u2(r,!0),c2(r,!0),r}function vx(e,t){var n,r;if(t>=e.i)throw ue(new Vse(t,e.i));return++e.j,n=e.g[t],r=e.i-t-1,r>0&&pu(e.g,t+1,e.g,t,r),Ts(e.g,--e.i,null),e.Qi(t,n),e.Ni(),n}function Qdt(e,t){var n,r;return e.Db>>16==17?e.Cb.Th(e,21,Vf,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function D7n(e){var t,n,r,a;for(Cn(),Vs(e.c,e.a),a=new G(e.c);a.an.a.c.length))throw ue(new Yn("index must be >= 0 and <= layer node count"));e.c&&al(e.c.a,e),e.c=n,n&&pw(n.a,t,e)}function ngt(e,t){var n,r,a;for(r=new hr(dr(sp(e).a.Kc(),new j));jr(r);)return n=l(xr(r),18),a=l(t.Kb(n),10),new JS(Xr(a.n.b+a.o.b/2));return o_(),o_(),v0e}function rgt(e,t){this.c=new Pr,this.a=e,this.b=t,this.d=l(Q(e,(ft(),$6)),312),qe(Q(e,(Nt(),GMe)))===qe((cN(),JK))?this.e=new XQe:this.e=new YQe}function BA(e,t){var n,r;return r=null,e.pf((pi(),r9))&&(n=l(e.of(r9),96),n.pf(t)&&(r=n.of(t))),r==null&&e.Tf()&&(r=e.Tf().of(t)),r==null&&(r=It(t)),r}function kue(e,t){var n,r;n=e.fd(t);try{return r=n.Pb(),n.Qb(),r}catch(a){throw a=bs(a),De(a,112)?ue(new tc("Can't remove element "+t)):ue(a)}}function j7n(e,t){var n,r,a;if(r=new Qz,a=new R7e(r.q.getFullYear()-Lb,r.q.getMonth(),r.q.getDate()),n=XAn(e,t,a),n==0||n0?t:0),++n;return new lt(r,a)}function lxe(e,t){var n,r;return e.Db>>16==6?e.Cb.Th(e,6,js,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),pY)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function hxe(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,1,oF,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),dPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function fxe(e,t){var n,r;return e.Db>>16==9?e.Cb.Th(e,9,Ai,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),pPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function agt(e,t){var n,r;return e.Db>>16==5?e.Cb.Th(e,9,TY,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),D2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function ogt(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,6,u1,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),O2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function dxe(e,t){var n,r;return e.Db>>16==3?e.Cb.Th(e,0,uF,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),M2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function cgt(){this.a=new T$,this.g=new cU,this.j=new cU,this.b=new Pr,this.d=new cU,this.i=new cU,this.k=new Pr,this.c=new Pr,this.e=new Pr,this.f=new Pr}function q7n(e,t,n){var r,a,o;for(n<0&&(n=0),o=e.i,a=n;aohe)return FE(e,r);if(r==e)return!0}}return!1}function V7n(e){switch(zq(),e.q.g){case 5:Vpt(e,(Ct(),Qn)),Vpt(e,Dr);break;case 4:U2t(e,(Ct(),Qn)),U2t(e,Dr);break;default:Wvt(e,(Ct(),Qn)),Wvt(e,Dr)}}function U7n(e){switch(zq(),e.q.g){case 5:u2t(e,(Ct(),ar)),u2t(e,er);break;case 4:gdt(e,(Ct(),ar)),gdt(e,er);break;default:Yvt(e,(Ct(),ar)),Yvt(e,er)}}function G7n(e){var t,n;t=l(Q(e,(b0(),e8t)),17),t?(n=t.a,n==0?rt(e,(bb(),EK),new Uce):rt(e,(bb(),EK),new VH(n))):rt(e,(bb(),EK),new VH(1))}function K7n(e,t){var n;switch(n=e.i,t.g){case 1:return-(e.n.b+e.o.b);case 2:return e.n.a-n.o.a;case 3:return e.n.b-n.o.b;case 4:return-(e.n.a+e.o.a)}return 0}function W7n(e,t){switch(e.g){case 0:return t==(hf(),$b)?HK:VK;case 1:return t==(hf(),$b)?HK:pB;case 2:return t==(hf(),$b)?pB:VK;default:return pB}}function UN(e,t){var n,r,a;for(al(e.a,t),e.e-=t.r+(e.a.c.length==0?0:e.c),a=xCe,r=new G(e.a);r.a>16==3?e.Cb.Th(e,12,Ai,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),fPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function pxe(e,t){var n,r;return e.Db>>16==11?e.Cb.Th(e,10,Ai,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(su(),gPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function ugt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,11,Vf,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),I2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function lgt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,12,Uf,t):(r=Ro(l(Mn((n=l(Kn(e,16),29),n||(Tn(),N4)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Of(e){var t;return!(e.Bb&1)&&e.r&&e.r.Vh()&&(t=l(e.r,54),e.r=l(yb(e,t),142),e.r!=t&&e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,9,8,t,e.r))),e.r}function Eue(e,t,n){var r;return r=he(le(Na,1),Zo,28,15,[zxe(e,(t1(),Gc),t,n),zxe(e,$u,t,n),zxe(e,Kc,t,n)]),e.f&&(r[0]=b.Math.max(r[0],r[2]),r[2]=r[0]),r}function Y7n(e,t){var n,r,a;if(a=w6n(e,t),a.c.length!=0)for(Vs(a,new pS),n=a.c.length,r=0;r>19,E=t.h>>19,w!=E?E-w:(a=e.h,g=t.h,a!=g?a-g:(r=e.m,f=t.m,r!=f?r-f:(n=e.l,o=t.l,n-o)))}function dU(){dU=U,D_e=(PU(),z0e),M_e=new pn(pEe,D_e),L_e=(aV(),$0e),A_e=new pn(bEe,L_e),__e=(ZV(),j0e),S_e=new pn(mEe,__e),C_e=new pn(vEe,(Hn(),!0))}function FA(e,t,n){var r,a;r=t*n,De(e.g,154)?(a=ix(e),a.f.d?a.f.a||(e.d.a+=r+H1):(e.d.d-=r+H1,e.d.a+=r+H1)):De(e.g,10)&&(e.d.d-=r,e.d.a+=2*r)}function hgt(e,t,n){var r,a,o,f,g;for(a=e[n.g],g=new G(t.d);g.a0?e.b:0),++n;t.b=r,t.e=a}function fgt(e){var t,n,r;if(r=e.b,tet(e.i,r.length)){for(n=r.length*2,e.b=We(k0e,TP,303,n,0,1),e.c=We(k0e,TP,303,n,0,1),e.f=n-1,e.i=0,t=e.a;t;t=t.c)eP(e,t,t);++e.g}}function n8n(e,t,n,r){var a,o,f,g;for(a=0;af&&(g=f/r),a>o&&(w=o/a),md(e,b.Math.min(g,w)),e}function i8n(){zU();var e,t;try{if(t=l(Sxe((ib(),Gf),xT),2113),t)return t}catch(n){if(n=bs(n),De(n,103))e=n,p5e((Jr(),e));else throw ue(n)}return new ik}function s8n(){zU();var e,t;try{if(t=l(Sxe((ib(),Gf),Ff),2040),t)return t}catch(n){if(n=bs(n),De(n,103))e=n,p5e((Jr(),e));else throw ue(n)}return new d8}function a8n(){klt();var e,t;try{if(t=l(Sxe((ib(),Gf),cv),2122),t)return t}catch(n){if(n=bs(n),De(n,103))e=n,p5e((Jr(),e));else throw ue(n)}return new uk}function o8n(e,t,n){var r,a;return a=e.e,e.e=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,a,t),n?n.nj(r):n=r),a!=t&&(t?n=ZE(e,SU(e,t),n):n=ZE(e,e.a,n)),n}function dgt(){Qz.call(this),this.e=-1,this.a=!1,this.p=lo,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=lo}function c8n(e,t){var n,r,a;if(r=e.b.d.d,e.a||(r+=e.b.d.a),a=t.b.d.d,t.a||(a+=t.b.d.a),n=Yi(r,a),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function u8n(e,t){var n,r,a;if(r=e.b.b.d,e.a||(r+=e.b.b.a),a=t.b.b.d,t.a||(a+=t.b.b.a),n=Yi(r,a),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function l8n(e,t){var n,r,a;if(r=e.b.g.d,e.a||(r+=e.b.g.a),a=t.b.g.d,t.a||(a+=t.b.g.a),n=Yi(r,a),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function mxe(){mxe=U,v8t=yl(fi(fi(fi(new Xs,(uo(),_u),(vo(),KAe)),_u,WAe),mc,YAe),mc,BAe),y8t=fi(fi(new Xs,_u,LAe),_u,FAe),w8t=yl(new Xs,mc,jAe)}function h8n(e){var t,n,r,a,o;for(t=l(Q(e,(ft(),KL)),85),o=e.n,r=t.Cc().Kc();r.Ob();)n=l(r.Pb(),314),a=n.i,a.c+=o.a,a.d+=o.b,n.c?Ibt(n):Obt(n);rt(e,KL,null)}function f8n(e,t,n){var r,a;switch(a=e.b,r=a.d,t.g){case 1:return-r.d-n;case 2:return a.o.a+r.c+n;case 3:return a.o.b+r.a+n;case 4:return-r.b-n;default:return-1}}function d8n(e,t,n){var r,a;for(n.Ug("Interactive node placement",1),e.a=l(Q(t,(ft(),$6)),312),a=new G(t.b);a.a0&&(f=(o&Ii)%e.d.length,a=y9e(e,f,o,t),a)?(g=a.nd(n),g):(r=e.ck(o,t,n),e.c.Fc(r),null)}function yxe(e,t){var n,r,a,o;switch(o2(e,t).Kl()){case 3:case 2:{for(n=d6(t),a=0,o=n.i;a=0;r--)if(vn(e[r].d,t)||vn(e[r].d,n)){e.length>=r+1&&e.splice(0,r+1);break}return e}function KN(e,t){var n;return wc(e)&&wc(t)&&(n=e/t,_P0&&(e.b+=2,e.a+=r):(e.b+=1,e.a+=b.Math.min(r,a))}function ygt(e){var t;t=l(Q(l(ff(e.b,0),40),(Hc(),gIe)),107),rt(e,(Qi(),QT),new lt(0,0)),hmt(new nN,e,t.b+t.c-ze(Ge(Q(e,Bde))),t.d+t.a-ze(Ge(Q(e,Fde))))}function xgt(e,t){var n,r;if(r=!1,Ia(t)&&(r=!0,J8(e,new yy(ei(t)))),r||De(t,242)&&(r=!0,J8(e,(n=g4e(l(t,242)),new vk(n)))),!r)throw ue(new Qie(mSe))}function M8n(e,t,n,r){var a,o,f;return a=new Zg(e.e,1,10,(f=t.c,De(f,90)?l(f,29):(Tn(),Kf)),(o=n.c,De(o,90)?l(o,29):(Tn(),Kf)),f2(e,t),!1),r?r.nj(a):r=a,r}function Exe(e){var t,n;switch(l(Q(eo(e),(Nt(),jMe)),429).g){case 0:return t=e.n,n=e.o,new lt(t.a+n.a/2,t.b+n.b/2);case 1:return new Eo(e.n);default:return null}}function WN(){WN=U,ZK=new C_(Id,0),TLe=new C_("LEFTUP",1),SLe=new C_("RIGHTUP",2),ELe=new C_("LEFTDOWN",3),CLe=new C_("RIGHTDOWN",4),B1e=new C_("BALANCED",5)}function D8n(e,t,n){var r,a,o;if(r=Yi(e.a[t.p],e.a[n.p]),r==0){if(a=l(Q(t,(ft(),Wx)),15),o=l(Q(n,Wx),15),a.Hc(n))return-1;if(o.Hc(t))return 1}return r}function I8n(e){switch(e.g){case 1:return new vne;case 2:return new wne;case 3:return new mne;case 0:return null;default:throw ue(new Yn(Efe+(e.f!=null?e.f:""+e.g)))}}function Txe(e,t,n){switch(t){case 1:!e.n&&(e.n=new nt(ec,e,1,7)),$r(e.n),!e.n&&(e.n=new nt(ec,e,1,7)),As(e.n,l(n,16));return;case 2:fE(e,ei(n));return}V7e(e,t,n)}function Cxe(e,t,n){switch(t){case 3:Mw(e,ze(Ge(n)));return;case 4:Dw(e,ze(Ge(n)));return;case 5:Uu(e,ze(Ge(n)));return;case 6:Gu(e,ze(Ge(n)));return}Txe(e,t,n)}function gU(e,t,n){var r,a,o;o=(r=new Hie,r),a=$1(o,t,null),a&&a.oj(),Fu(o,n),qr((!e.c&&(e.c=new nt(k3,e,12,10)),e.c),o),i2(o,0),My(o,1),u2(o,!0),c2(o,!0)}function Sxe(e,t){var n,r,a;return n=y_(e.i,t),De(n,241)?(a=l(n,241),a.zi()==null,a.wi()):De(n,507)?(r=l(n,2037),a=r.b,a):null}function O8n(e,t,n,r){var a,o;return Xr(t),Xr(n),o=l(H_(e.d,t),17),Wlt(!!o,"Row %s not in %s",t,e.e),a=l(H_(e.b,n),17),Wlt(!!a,"Column %s not in %s",n,e.c),s0t(e,o.a,a.a,r)}function kgt(e,t,n,r,a,o,f){var g,w,E,C,L;if(C=a[o],E=o==f-1,g=E?r:0,L=zdt(g,C),r!=10&&he(le(e,f-o),t[o],n[o],g,L),!E)for(++o,w=0;w1||g==-1?(o=l(w,15),a.Wb(b5n(e,o))):a.Wb(cle(e,l(w,58)))))}function $8n(e,t,n,r){MZe();var a=m0e;function o(){for(var f=0;f0)return!1;return!0}function H8n(e){var t,n,r,a,o;for(r=new qm(new Sr(e.b).a);r.b;)n=Nw(r),t=l(n.ld(),10),o=l(l(n.md(),42).a,10),a=l(l(n.md(),42).b,8),Oi(Y0(t.n),Oi(Ja(o.n),a))}function V8n(e){switch(l(Q(e.b,(Nt(),IMe)),387).g){case 1:Is(fc(Dc(new bn(null,new kn(e.d,16)),new dI),new g5),new wee);break;case 2:jSn(e);break;case 0:mkn(e)}}function U8n(e,t,n){var r,a,o;for(r=n,!r&&(r=new L8),r.Ug("Layout",e.a.c.length),o=new G(e.a);o.awfe)return n;a>-1e-6&&++n}return n}function Axe(e,t){var n;t!=e.b?(n=null,e.b&&(n=IH(e.b,e,-4,n)),t&&(n=mx(t,e,-4,n)),n=J0t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,3,t,t))}function Cgt(e,t){var n;t!=e.f?(n=null,e.f&&(n=IH(e.f,e,-1,n)),t&&(n=mx(t,e,-1,n)),n=Q0t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,0,t,t))}function Y8n(e,t,n,r){var a,o,f,g;return hh(e.e)&&(a=t.Lk(),g=t.md(),o=n.md(),f=db(e,1,a,g,o,a.Jk()?XE(e,a,o,De(a,102)&&(l(a,19).Bb&Io)!=0):-1,!0),r?r.nj(f):r=f),r}function Sgt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new Up,t=n.Kc();t.Ob();)Xo(r,(Gi(),ei(t.Pb()))),r.a+=" ";return Gse(r,r.a.length-1)}function _gt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new Up,t=n.Kc();t.Ob();)Xo(r,(Gi(),ei(t.Pb()))),r.a+=" ";return Gse(r,r.a.length-1)}function X8n(e,t,n){var r,a;return r=e.c[t.c.p][t.p],a=e.c[n.c.p][n.p],r.a!=null&&a.a!=null?Nae(r.a,a.a):r.a!=null?-1:a.a!=null?1:0}function Q8n(e,t,n){return n.Ug("Tree layout",1),qO(e.b),X0(e.b,(wx(),NW),NW),X0(e.b,lM,lM),X0(e.b,hM,hM),X0(e.b,fM,fM),e.a=bP(e.b,t),U8n(e,t,n.eh(1)),n.Vg(),t}function J8n(e,t){var n,r,a,o,f,g;if(t)for(o=t.a.length,n=new Dm(o),g=(n.b-n.a)*n.c<0?(sb(),tm):new cb(n);g.Ob();)f=l(g.Pb(),17),a=Jk(t,f.a),r=new GXe(e),apn(r.a,a)}function Z8n(e,t){var n,r,a,o,f,g;if(t)for(o=t.a.length,n=new Dm(o),g=(n.b-n.a)*n.c<0?(sb(),tm):new cb(n);g.Ob();)f=l(g.Pb(),17),a=Jk(t,f.a),r=new FXe(e),spn(r.a,a)}function exn(e){var t;if(e!=null&&e.length>0&&co(e,e.length-1)==33)try{return t=P2t(tf(e,0,e.length-1)),t.e==null}catch(n){if(n=bs(n),!De(n,33))throw ue(n)}return!1}function txn(e,t,n){var r,a,o;switch(r=eo(t),a=zV(r),o=new gu,Mc(o,t),n.g){case 1:la(o,BN(gx(a)));break;case 2:la(o,gx(a))}return rt(o,(Nt(),m4),Ge(Q(e,m4))),o}function Lxe(e){var t,n;return t=l(xr(new hr(dr(ka(e.a).a.Kc(),new j))),18),n=l(xr(new hr(dr(qs(e.a).a.Kc(),new j))),18),Rt(Bt(Q(t,(ft(),W1))))||Rt(Bt(Q(n,W1)))}function Ry(){Ry=U,bB=new cO("ONE_SIDE",0),KK=new cO("TWO_SIDES_CORNER",1),WK=new cO("TWO_SIDES_OPPOSING",2),GK=new cO("THREE_SIDES",3),UK=new cO("FOUR_SIDES",4)}function Agt(e,t){var n,r,a,o;for(o=new bt,a=0,r=t.Kc();r.Ob();){for(n=pt(l(r.Pb(),17).a+a);n.a=e.f)break;$n(o.c,n)}return o}function nxn(e,t){var n,r,a,o,f;for(o=new G(t.a);o.a0&&Jdt(this,this.c-1,(Ct(),ar)),this.c0&&e[0].length>0&&(this.c=Rt(Bt(Q(eo(e[0][0]),(ft(),zLe))))),this.a=We(kEt,dt,2117,e.length,0,2),this.b=We(EEt,dt,2118,e.length,0,2),this.d=new G0t}function oxn(e){return e.c.length==0?!1:(Sn(0,e.c.length),l(e.c[0],18)).c.i.k==(Zn(),Aa)?!0:W5(fc(new bn(null,new kn(e,16)),new Wee),new Yee)}function Dgt(e,t){var n,r,a,o,f,g,w;for(g=Hy(t),o=t.f,w=t.g,f=b.Math.sqrt(o*o+w*w),a=0,r=new G(g);r.a=0?(n=KN(e,JU),r=RN(e,JU)):(t=ub(e,1),n=KN(t,5e8),r=RN(t,5e8),r=bo(l0(r,1),va(e,1))),Q0(l0(r,32),va(n,Vo))}function Ngt(e,t,n){var r,a;switch(r=(mr(t.b!=0),l(af(t,t.a.a),8)),n.g){case 0:r.b=0;break;case 2:r.b=e.f;break;case 3:r.a=0;break;default:r.a=e.g}return a=Rr(t,0),zO(a,r),t}function Pgt(e,t,n,r){var a,o,f,g,w;switch(w=e.b,o=t.d,f=o.j,g=G8e(f,w.d[f.g],n),a=Oi(Ja(o.n),o.a),o.j.g){case 1:case 3:g.a+=a.a;break;case 2:case 4:g.b+=a.b}Cs(r,g,r.c.b,r.c)}function wxn(e,t,n){var r,a,o,f;for(f=gc(e.e,t,0),o=new Pwe,o.b=n,r=new Ua(e.e,f);r.b1;t>>=1)t&1&&(r=K5(r,n)),n.d==1?n=K5(n,n):n=new Q1t(mmt(n.a,n.d,We(Vr,di,28,n.d<<1,15,1)));return r=K5(r,n),r}function Rxe(){Rxe=U;var e,t,n,r;for(m_e=We(Na,Zo,28,25,15,1),v_e=We(Na,Zo,28,33,15,1),r=152587890625e-16,t=32;t>=0;t--)v_e[t]=r,r*=.5;for(n=1,e=24;e>=0;e--)m_e[e]=n,n*=.5}function Cxn(e){var t,n;if(Rt(Bt(at(e,(Nt(),b4))))){for(n=new hr(dr(cp(e).a.Kc(),new j));jr(n);)if(t=l(xr(n),74),qw(t)&&Rt(Bt(at(t,gv))))return!0}return!1}function Bgt(e,t){var n,r,a;na(e.f,t)&&(t.b=e,r=t.c,gc(e.j,r,0)!=-1||vt(e.j,r),a=t.d,gc(e.j,a,0)!=-1||vt(e.j,a),n=t.a.b,n.c.length!=0&&(!e.i&&(e.i=new rdt(e)),M3n(e.i,n)))}function Sxn(e){var t,n,r,a,o;return n=e.c.d,r=n.j,a=e.d.d,o=a.j,r==o?n.p=0&&vn(e.substr(t,3),"GMT")||t>=0&&vn(e.substr(t,3),"UTC"))&&(n[0]=t+3),mke(e,n,r)}function Axn(e,t){var n,r,a,o,f;for(o=e.g.a,f=e.g.b,r=new G(e.d);r.an;o--)e[o]|=t[o-n-1]>>>f,e[o-1]=t[o-n-1]<0&&pu(e.g,t,e.g,t+r,g),f=n.Kc(),e.i+=r,a=0;a>4&15,o=e[r]&15,f[a++]=bPe[n],f[a++]=bPe[o];return If(f,0,f.length)}function cl(e){var t,n;return e>=Io?(t=AP+(e-Io>>10&1023)&Zs,n=56320+(e-Io&1023)&Zs,String.fromCharCode(t)+(""+String.fromCharCode(n))):String.fromCharCode(e&Zs)}function jxn(e,t){py();var n,r,a,o;return a=l(l($i(e.r,t),21),87),a.gc()>=2?(r=l(a.Kc().Pb(),117),n=e.u.Hc((Rl(),PM)),o=e.u.Hc(a9),!r.a&&!n&&(a.gc()==2||o)):!1}function jgt(e,t,n,r,a){var o,f,g;for(o=Tbt(e,t,n,r,a),g=!1;!o;)TU(e,a,!0),g=!0,o=Tbt(e,t,n,r,a);g&&TU(e,a,!1),f=bce(a),f.c.length!=0&&(e.d&&e.d.Gg(f),jgt(e,a,n,r,f))}function vU(){vU=U,Uge=new L_(Id,0),$Ne=new L_("DIRECTED",1),qNe=new L_("UNDIRECTED",2),RNe=new L_("ASSOCIATION",3),zNe=new L_("GENERALIZATION",4),jNe=new L_("DEPENDENCY",5)}function $xn(e,t){var n;if(!M1(e))throw ue(new nc(t4t));switch(n=M1(e),t.g){case 1:return-(e.j+e.f);case 2:return e.i-n.g;case 3:return e.j-n.f;case 4:return-(e.i+e.g)}return 0}function zxn(e,t,n){var r,a,o;return r=t.Lk(),o=t.md(),a=r.Jk()?db(e,4,r,o,null,XE(e,r,o,De(r,102)&&(l(r,19).Bb&Io)!=0),!0):db(e,r.tk()?2:1,r,o,r.ik(),-1,!0),n?n.nj(a):n=a,n}function $E(e,t){var n,r;for(nr(t),r=e.b.c.length,vt(e.b,t);r>0;){if(n=r,r=(r-1)/2|0,e.a.Ne(jt(e.b,r),t)<=0)return rf(e.b,n,t),!0;rf(e.b,n,jt(e.b,r))}return rf(e.b,r,t),!0}function zxe(e,t,n,r){var a,o;if(a=0,n)a=BV(e.a[n.g][t.g],r);else for(o=0;o=g)}function $gt(e){switch(e.g){case 0:return new Sne;case 1:return new _ne;default:throw ue(new Yn("No implementation is available for the width approximator "+(e.f!=null?e.f:""+e.g)))}}function qxe(e,t,n,r){var a;if(a=!1,Ia(r)&&(a=!0,zk(t,n,ei(r))),a||hy(r)&&(a=!0,qxe(e,t,n,r)),a||De(r,242)&&(a=!0,Nm(t,n,l(r,242))),!a)throw ue(new Qie(mSe))}function Hxn(e,t){var n,r,a;if(n=t.qi(e.a),n&&(a=n1((!n.b&&(n.b=new dh((Tn(),No),Yc,n)),n.b),Bf),a!=null)){for(r=1;r<(El(),$Pe).length;++r)if(vn($Pe[r],a))return r}return 0}function Vxn(e,t){var n,r,a;if(n=t.qi(e.a),n&&(a=n1((!n.b&&(n.b=new dh((Tn(),No),Yc,n)),n.b),Bf),a!=null)){for(r=1;r<(El(),zPe).length;++r)if(vn(zPe[r],a))return r}return 0}function zgt(e,t){var n,r,a,o;if(nr(t),o=e.a.gc(),o0?1:0;o.a[a]!=n;)o=o.a[a],a=e.a.Ne(n.d,o.d)>0?1:0;o.a[a]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function Kxn(e){var t,n,r,a;for(t=new bt,n=We(ih,pg,28,e.a.c.length,16,1),l5e(n,n.length),a=new G(e.a);a.a0&&dmt((Sn(0,n.c.length),l(n.c[0],30)),e),n.c.length>1&&dmt(l(jt(n,n.c.length-1),30),e),t.Vg()}function Yxn(e){Rl();var t,n;return t=rs(vp,he(le(cY,1),it,279,0,[Yb])),!(yN(NH(t,e))>1||(n=rs(PM,he(le(cY,1),it,279,0,[NM,a9])),yN(NH(n,e))>1))}function Vxe(e,t){var n;n=xu((ib(),Gf),e),De(n,507)?rc(Gf,e,new Ott(this,t)):rc(Gf,e,this),Nue(this,t),t==(Sk(),APe)?(this.wb=l(this,2038),l(t,2040)):this.wb=(lb(),Vn)}function Xxn(e){var t,n,r;if(e==null)return null;for(t=null,n=0;n=b2?"error":r>=900?"warn":r>=800?"info":"log"),eat(n,e.a),e.b&&G9e(t,n,e.b,"Exception: ",!0))}function Q(e,t){var n,r;return r=(!e.q&&(e.q=new Pr),cr(e.q,t)),r??(n=t.Sg(),De(n,4)&&(n==null?(!e.q&&(e.q=new Pr),ax(e.q,t)):(!e.q&&(e.q=new Pr),ki(e.q,t,n))),n)}function uo(){uo=U,y0=new oO("P1_CYCLE_BREAKING",0),vg=new oO("P2_LAYERING",1),bu=new oO("P3_NODE_ORDERING",2),_u=new oO("P4_NODE_PLACEMENT",3),mc=new oO("P5_EDGE_ROUTING",4)}function Qxn(e,t){hA();var n;if(e.c==t.c){if(e.b==t.b||i3n(e.b,t.b)){if(n=Lln(e.b)?1:-1,e.a&&!t.a)return n;if(!e.a&&t.a)return-n}return ru(e.b.g,t.b.g)}else return Yi(e.c,t.c)}function Ggt(e,t){var n,r,a;if(Gxe(e,t))return!0;for(r=new G(t);r.a=a||t<0)throw ue(new tc(Qfe+t+av+a));if(n>=a||n<0)throw ue(new tc(Jfe+n+av+a));return t!=n?r=(o=e.Cj(n),e.qj(t,o),o):r=e.xj(n),r}function Ygt(e){var t,n,r;if(r=e,e)for(t=0,n=e.Eh();n;n=n.Eh()){if(++t>ohe)return Ygt(n);if(r=n,n==e)throw ue(new nc("There is a cycle in the containment hierarchy of "+e))}return r}function Tb(e){var t,n,r;for(r=new Hm(Co,"[","]"),n=e.Kc();n.Ob();)t=n.Pb(),Jg(r,qe(t)===qe(e)?"(this Collection)":t==null?ul:xc(t));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function Gxe(e,t){var n,r;if(r=!1,t.gc()<2)return!1;for(n=0;n1&&(e.j.b+=e.e)):(e.j.a+=n.a,e.j.b=b.Math.max(e.j.b,n.b),e.d.c.length>1&&(e.j.a+=e.e))}function Cb(){Cb=U,axt=he(le(Oo,1),au,64,0,[(Ct(),Qn),ar,Dr]),sxt=he(le(Oo,1),au,64,0,[ar,Dr,er]),oxt=he(le(Oo,1),au,64,0,[Dr,er,Qn]),cxt=he(le(Oo,1),au,64,0,[er,Qn,ar])}function Zxn(e,t,n,r){var a,o,f,g,w,E,C;if(f=e.c.d,g=e.d.d,f.j!=g.j)for(C=e.b,a=f.j,w=null;a!=g.j;)w=t==0?$V(a):f8e(a),o=G8e(a,C.d[a.g],n),E=G8e(w,C.d[w.g],n),ci(r,Oi(o,E)),a=w}function e9n(e,t,n,r){var a,o,f,g,w;return f=Zdt(e.a,t,n),g=l(f.a,17).a,o=l(f.b,17).a,r&&(w=l(Q(t,(ft(),jl)),10),a=l(Q(n,jl),10),w&&a&&($ct(e.b,w,a),g+=e.b.i,o+=e.b.e)),g>o}function Qgt(e){var t,n,r,a,o,f,g,w,E;for(this.a=ydt(e),this.b=new bt,n=e,r=0,a=n.length;ruae(e.d).c?(e.i+=e.g.c,Yce(e.d)):uae(e.d).c>uae(e.g).c?(e.e+=e.d.c,Yce(e.g)):(e.i+=cst(e.g),e.e+=cst(e.d),Yce(e.g),Yce(e.d))}function i9n(e,t,n){var r,a,o,f;for(o=t.q,f=t.r,new Pm((J0(),qb),t,o,1),new Pm(qb,o,f,1),a=new G(n);a.ag&&(w=g/r),a>o&&(E=o/a),f=b.Math.min(w,E),e.a+=f*(t.a-e.a),e.b+=f*(t.b-e.b)}function c9n(e,t,n,r,a){var o,f;for(f=!1,o=l(jt(n.b,0),27);FAn(e,t,o,r,a)&&(f=!0,R8n(n,o),n.b.c.length!=0);)o=l(jt(n.b,0),27);return n.b.c.length==0&&UN(n.j,n),f&&lU(t.q),f}function u9n(e,t){h6();var n,r,a,o;if(t.b<2)return!1;for(o=Rr(t,0),n=l(Br(o),8),r=n;o.b!=o.d.c;){if(a=l(Br(o),8),Xue(e,r,a))return!0;r=a}return!!Xue(e,r,n)}function Wxe(e,t,n,r){var a,o;return n==0?(!e.o&&(e.o=new xl((su(),Cg),L2,e,0)),Uq(e.o,t,r)):(o=l(Mn((a=l(Kn(e,16),29),a||e.ii()),n),69),o.wk().Ak(e,Ku(e),n-yr(e.ii()),t,r))}function Nue(e,t){var n;t!=e.sb?(n=null,e.sb&&(n=l(e.sb,54).Th(e,1,RM,n)),t&&(n=l(t,54).Rh(e,1,RM,n)),n=a8e(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,4,t,t))}function l9n(e,t){var n,r,a,o;if(t)a=np(t,"x"),n=new HXe(e),aE(n.a,(nr(a),a)),o=np(t,"y"),r=new VXe(e),cE(r.a,(nr(o),o));else throw ue(new dd("All edge sections need an end point."))}function h9n(e,t){var n,r,a,o;if(t)a=np(t,"x"),n=new $Xe(e),oE(n.a,(nr(a),a)),o=np(t,"y"),r=new zXe(e),uE(r.a,(nr(o),o));else throw ue(new dd("All edge sections need a start point."))}function f9n(e,t){var n,r,a,o,f,g,w;for(r=_0t(e),o=0,g=r.length;o>22-t,a=e.h<>22-t):t<44?(n=0,r=e.l<>44-t):(n=0,r=0,a=e.l<e)throw ue(new Yn("k must be smaller than n"));return t==0||t==e?1:e==0?0:xxe(e)/(xxe(t)*xxe(e-t))}function Yxe(e,t){var n,r,a,o;for(n=new hye(e);n.g==null&&!n.c?H5e(n):n.g==null||n.i!=0&&l(n.g[n.i-1],51).Ob();)if(o=l(CU(n),58),De(o,167))for(r=l(o,167),a=0;a>4],t[n*2+1]=LY[o&15];return If(t,0,t.length)}function A9n(e){kH();var t,n,r;switch(r=e.c.length,r){case 0:return i6t;case 1:return t=l(Rpt(new G(e)),44),xdn(t.ld(),t.md());default:return n=l(j1(e,We(uv,XU,44,e.c.length,0,1)),173),new Wwe(n)}}function L9n(e){var t,n,r,a,o,f;for(t=new z5,n=new z5,gb(t,e),gb(n,e);n.b!=n.c;)for(a=l(X8(n),36),f=new G(a.a);f.a0&&lP(e,n,t),a):mEn(e,t,n)}function Sb(){Sb=U,uCt=(pi(),n9),lCt=Ev,sCt=kv,aCt=i7,oCt=Ub,iCt=r7,NIe=YB,cCt=S4,Jde=(uke(),KTt),Zde=WTt,BIe=JTt,ege=tCt,FIe=ZTt,RIe=eCt,PIe=YTt,qW=XTt,HW=QTt,FB=nCt,jIe=rCt,OIe=GTt}function spt(e,t){var n,r,a,o,f;if(e.e<=t||Z2n(e,e.g,t))return e.g;for(o=e.r,r=e.g,f=e.r,a=(o-r)/2+r;r+11&&(e.e.b+=e.a)):(e.e.a+=n.a,e.e.b=b.Math.max(e.e.b,n.b),e.d.c.length>1&&(e.e.a+=e.a))}function N9n(e){var t,n,r,a;switch(a=e.i,t=a.b,r=a.j,n=a.g,a.a.g){case 0:n.a=(e.g.b.o.a-r.a)/2;break;case 1:n.a=t.d.n.a+t.d.a.a;break;case 2:n.a=t.d.n.a+t.d.a.a-r.a;break;case 3:n.b=t.d.n.b+t.d.a.b}}function P9n(e,t,n){var r,a,o;for(a=new hr(dr(sp(n).a.Kc(),new j));jr(a);)r=l(xr(a),18),!Do(r)&&!(!Do(r)&&r.c.i.c==r.d.i.c)&&(o=Y2t(e,r,n,new QQe),o.c.length>1&&$n(t.c,o))}function opt(e,t,n,r,a){if(rr&&(e.a=r),e.ba&&(e.b=a),e}function B9n(e){if(De(e,143))return dCn(l(e,143));if(De(e,233))return r5n(l(e,233));if(De(e,23))return g9n(l(e,23));throw ue(new Yn(vSe+Tb(new Il(he(le(wa,1),Rn,1,5,[e])))))}function F9n(e,t,n,r,a){var o,f,g;for(o=!0,f=0;f>>a|n[f+r+1]<>>a,++f}return o}function Zxe(e,t,n,r){var a,o,f;if(t.k==(Zn(),Aa)){for(o=new hr(dr(ka(t).a.Kc(),new j));jr(o);)if(a=l(xr(o),18),f=a.c.i.k,f==Aa&&e.c.a[a.c.i.c.p]==r&&e.c.a[t.c.p]==n)return!0}return!1}function R9n(e,t){var n,r,a,o;return t&=63,n=e.h&hp,t<22?(o=n>>>t,a=e.m>>t|n<<22-t,r=e.l>>t|e.m<<22-t):t<44?(o=0,a=n>>>t-22,r=e.m>>t-22|e.h<<44-t):(o=0,a=0,r=n>>>t-44),qu(r&eh,a&eh,o&hp)}function cpt(e,t,n,r){var a;this.b=r,this.e=e==(Iw(),oM),a=t[n],this.d=Lm(ih,[dt,pg],[183,28],16,[a.length,a.length],2),this.a=Lm(Vr,[dt,di],[53,28],15,[a.length,a.length],2),this.c=new Nxe(t,n)}function j9n(e){var t,n,r;for(e.k=new G5e((Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])).length,e.j.c.length),r=new G(e.j);r.a=n)return qE(e,t,r.p),!0;return!1}function o6(e,t,n,r){var a,o,f,g,w,E;for(f=n.length,o=0,a=-1,E=tht((Xn(t,e.length+1),e.substr(t)),(gae(),p_e)),g=0;go&&fgn(E,tht(n[g],p_e))&&(a=g,o=w);return a>=0&&(r[0]=t+o),a}function lpt(e){var t;return e.Db&64?Pue(e):(t=new Th(oSe),!e.a||hi(hi((t.a+=' "',t),e.a),'"'),hi(rw(hi(rw(hi(rw(hi(rw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function hpt(e,t,n){var r,a,o,f,g;for(g=Wu(e.e.Dh(),t),a=l(e.g,124),r=0,f=0;fn?u9e(e,n,"start index"):t<0||t>n?u9e(t,n,"end index"):KA("end index (%s) must not be less than start index (%s)",he(le(wa,1),Rn,1,5,[pt(t),pt(e)]))}function dpt(e,t){var n,r,a,o;for(r=0,a=e.length;r0&&gpt(e,o,n));t.p=0}function Xt(e){var t;this.c=new os,this.f=e.e,this.e=e.d,this.i=e.g,this.d=e.c,this.b=e.b,this.k=e.j,this.a=e.a,e.i?this.j=e.i:this.j=(t=l(K0(xg),9),new Zh(t,l(c0(t,t.length),9),0)),this.g=e.f}function U9n(e){var t,n,r,a;for(t=hb(hi(new Th("Predicates."),"and"),40),n=!0,a=new kr(e);a.b0?g[f-1]:We(wg,m2,10,0,0,1),a=g[f],E=f=0?e.ki(a):d9e(e,r);else throw ue(new Yn(Ob+r.xe()+kL));else throw ue(new Yn(f4t+t+d4t));else cf(e,n,r)}function e9e(e){var t,n;if(n=null,t=!1,De(e,211)&&(t=!0,n=l(e,211).a),t||De(e,263)&&(t=!0,n=""+l(e,263).a),t||De(e,493)&&(t=!0,n=""+l(e,493).a),!t)throw ue(new Qie(mSe));return n}function t9e(e,t,n){var r,a,o,f,g,w;for(w=Wu(e.e.Dh(),t),r=0,g=e.i,a=l(e.g,124),f=0;f=e.d.b.c.length&&(t=new yu(e.d),t.p=r.p-1,vt(e.d.b,t),n=new yu(e.d),n.p=r.p,vt(e.d.b,n)),Va(r,l(jt(e.d.b,r.p),30))}function i9e(e,t,n){var r,a,o;if(!e.b[t.g]){for(e.b[t.g]=!0,r=n,!r&&(r=new nN),ci(r.b,t),o=e.a[t.g].Kc();o.Ob();)a=l(o.Pb(),65),a.b!=t&&i9e(e,a.b,r),a.c!=t&&i9e(e,a.c,r),ci(r.a,a);return r}return null}function Y9n(e){switch(e.g){case 0:case 1:case 2:return Ct(),Qn;case 3:case 4:case 5:return Ct(),Dr;case 6:case 7:case 8:return Ct(),er;case 9:case 10:case 11:return Ct(),ar;default:return Ct(),Pc}}function X9n(e,t){var n;return e.c.length==0?!1:(n=I1t((Sn(0,e.c.length),l(e.c[0],18)).c.i),Sh(),n==(By(),G6)||n==U6?!0:W5(fc(new bn(null,new kn(e,16)),new Xee),new XYe(t)))}function jue(e,t){if(De(t,207))return Vln(e,l(t,27));if(De(t,193))return Uln(e,l(t,123));if(De(t,452))return Hln(e,l(t,166));throw ue(new Yn(vSe+Tb(new Il(he(le(wa,1),Rn,1,5,[t])))))}function ypt(e,t,n){var r,a;if(this.f=e,r=l(cr(e.b,t),260),a=r?r.a:0,k6e(n,a),n>=(a/2|0))for(this.e=r?r.c:null,this.d=a;n++0;)G6e(this);this.b=t,this.a=null}function Q9n(e,t){var n,r;t.a?DCn(e,t):(n=l(cse(e.b,t.b),60),n&&n==e.a[t.b.f]&&n.a&&n.a!=t.b.a&&n.c.Fc(t.b),r=l(ose(e.b,t.b),60),r&&e.a[r.f]==t.b&&r.a&&r.a!=t.b.a&&t.b.c.Fc(r),tae(e.b,t.b))}function xpt(e,t){var n,r;if(n=l(Qo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.b=0,n.n.c=0;return}n.n.b=e.C.b,n.n.c=e.C.c,e.A.Hc((mh(),Cv))&&Kbt(e,t),r=C6n(e,t),Jue(e,t)==(t6(),Kb)&&(r+=2*e.w),n.a.a=r}function kpt(e,t){var n,r;if(n=l(Qo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.d=0,n.n.a=0;return}n.n.d=e.C.d,n.n.a=e.C.a,e.A.Hc((mh(),Cv))&&Wbt(e,t),r=T6n(e,t),Jue(e,t)==(t6(),Kb)&&(r+=2*e.w),n.a.b=r}function J9n(e,t){var n,r,a,o;for(o=new bt,r=new G(t);r.ar&&(Xn(t-1,e.length),e.charCodeAt(t-1)<=32);)--t;return r>0||tn.a&&(r.Hc((Ym(),EM))?a=(t.a-n.a)/2:r.Hc(TM)&&(a=t.a-n.a)),t.b>n.b&&(r.Hc((Ym(),SM))?o=(t.b-n.b)/2:r.Hc(CM)&&(o=t.b-n.b)),Hxe(e,a,o)}function Lpt(e,t,n,r,a,o,f,g,w,E,C,L,B){De(e.Cb,90)&&zy(Yl(l(e.Cb,90)),4),Fu(e,n),e.f=f,LE(e,g),DE(e,w),AE(e,E),ME(e,C),u2(e,L),IE(e,B),c2(e,!0),i2(e,a),e.Zk(o),Gm(e,t),r!=null&&(e.i=null,xV(e,r))}function u9e(e,t,n){if(e<0)return KA(Swt,he(le(wa,1),Rn,1,5,[n,pt(e)]));if(t<0)throw ue(new Yn(_wt+t));return KA("%s (%s) must not be greater than size (%s)",he(le(wa,1),Rn,1,5,[n,pt(e),pt(t)]))}function l9e(e,t,n,r,a,o){var f,g,w,E;if(f=r-n,f<7){G4n(t,n,r,o);return}if(w=n+a,g=r+a,E=w+(g-w>>1),l9e(t,e,w,E,-a,o),l9e(t,e,E,g,-a,o),o.Ne(e[E-1],e[E])<=0){for(;n=0?e.bi(o,n):$9e(e,a,n);else throw ue(new Yn(Ob+a.xe()+kL));else throw ue(new Yn(f4t+t+d4t));else uf(e,r,a,n)}function Mpt(e){var t,n;if(e.f){for(;e.n>0;){if(t=l(e.k.Xb(e.n-1),76),n=t.Lk(),De(n,102)&&l(n,19).Bb&eu&&(!e.e||n.pk()!=oC||n.Lj()!=0)&&t.md()!=null)return!0;--e.n}return!1}else return e.n>0}function Dpt(e){var t,n,r,a;if(n=l(e,54)._h(),n)try{if(r=null,t=VE((ib(),Gf),bmt(i5n(n))),t&&(a=t.ai(),a&&(r=a.Fl(sun(n.e)))),r&&r!=e)return Dpt(r)}catch(o){if(o=bs(o),!De(o,63))throw ue(o)}return e}function gkn(e,t,n){var r,a,o;n.Ug("Remove overlaps",1),n.dh(t,yCe),r=l(at(t,(H5(),Y6)),27),e.f=r,e.a=sue(l(at(t,(Sb(),FB)),300)),a=Ge(at(t,(pi(),Ev))),_e(e,(nr(a),a)),o=Hy(r),Rvt(e,t,o,n),n.dh(t,OG)}function pkn(e){var t,n,r;if(Rt(Bt(at(e,(pi(),KB))))){for(r=new bt,n=new hr(dr(cp(e).a.Kc(),new j));jr(n);)t=l(xr(n),74),qw(t)&&Rt(Bt(at(t,Oge)))&&$n(r.c,t);return r}else return Cn(),Cn(),_o}function Ipt(e){if(!e)return MJe(),d6t;var t=e.valueOf?e.valueOf():e;if(t!==e){var n=_0e[typeof t];return n?n(t):Z7e(typeof t)}else return e instanceof Array||e instanceof b.Array?new Sz(e):new wk(e)}function Opt(e,t,n){var r,a,o;switch(o=e.o,r=l(Qo(e.p,n),252),a=r.i,a.b=nP(r),a.a=tP(r),a.b=b.Math.max(a.b,o.a),a.b>o.a&&!t&&(a.b=o.a),a.c=-(a.b-o.a)/2,n.g){case 1:a.d=-a.a;break;case 3:a.d=o.b}hle(r),fle(r)}function Npt(e,t,n){var r,a,o;switch(o=e.o,r=l(Qo(e.p,n),252),a=r.i,a.b=nP(r),a.a=tP(r),a.a=b.Math.max(a.a,o.b),a.a>o.b&&!t&&(a.a=o.b),a.d=-(a.a-o.b)/2,n.g){case 4:a.c=-a.b;break;case 2:a.c=o.a}hle(r),fle(r)}function bkn(e,t){var n,r,a,o,f;if(!t.dc()){if(a=l(t.Xb(0),131),t.gc()==1){hbt(e,a,a,1,0,t);return}for(n=1;n0)try{a=Oh(t,lo,Ii)}catch(o){throw o=bs(o),De(o,130)?(r=o,ue(new nV(r))):ue(o)}return n=(!e.a&&(e.a=new Pie(e)),e.a),a=0?l(Oe(n,a),58):null}function ykn(e,t){if(e<0)return KA(Swt,he(le(wa,1),Rn,1,5,["index",pt(e)]));if(t<0)throw ue(new Yn(_wt+t));return KA("%s (%s) must be less than size (%s)",he(le(wa,1),Rn,1,5,["index",pt(e),pt(t)]))}function xkn(e){var t,n,r,a,o;if(e==null)return ul;for(o=new Hm(Co,"[","]"),n=e,r=0,a=n.length;r=0?e.Lh(n,!0,!0):Hw(e,a,!0),160)),l(r,220).Zl(t);else throw ue(new Yn(Ob+t.xe()+kL))}function g9e(e){var t,n;return e>-0x800000000000&&e<0x800000000000?e==0?0:(t=e<0,t&&(e=-e),n=ua(b.Math.floor(b.Math.log(e)/.6931471805599453)),(!t||e!=b.Math.pow(2,n))&&++n,n):Qft(Zc(e))}function Bkn(e){var t,n,r,a,o,f,g;for(o=new bd,n=new G(e);n.a2&&g.e.b+g.j.b<=2&&(a=g,r=f),o.a.zc(a,o),a.q=r);return o}function Fkn(e,t,n){n.Ug("Eades radial",1),n.dh(t,OG),e.d=l(at(t,(H5(),Y6)),27),e.c=ze(Ge(at(t,(Sb(),HW)))),e.e=sue(l(at(t,FB),300)),e.a=f5n(l(at(t,jIe),434)),e.b=I8n(l(at(t,PIe),354)),g8n(e),n.dh(t,OG)}function Rkn(e,t){if(t.Ug("Target Width Setter",1),P1(e,(z1(),fge)))Hi(e,(ug(),T4),Ge(at(e,fge)));else throw ue(new Vp("A target width has to be set if the TargetWidthWidthApproximator should be used."));t.Vg()}function jpt(e,t){var n,r,a;return r=new op(e),pc(r,t),rt(r,(ft(),aW),t),rt(r,(Nt(),Ms),(Ra(),Mu)),rt(r,Rd,(og(),tY)),x(r,(Zn(),Us)),n=new gu,Mc(n,r),la(n,(Ct(),er)),a=new gu,Mc(a,r),la(a,ar),r}function $pt(e){switch(e.g){case 0:return new Wie((Iw(),DB));case 1:return new Qre;case 2:return new Jre;default:throw ue(new Yn("No implementation is available for the crossing minimizer "+(e.f!=null?e.f:""+e.g)))}}function zpt(e,t){var n,r,a,o,f;for(e.c[t.p]=!0,vt(e.a,t),f=new G(t.j);f.a=o)f.$b();else for(a=f.Kc(),r=0;r0?Zwe():f<0&&Upt(e,t,-f),!0):!1}function tP(e){var t,n,r,a,o,f,g;if(g=0,e.b==0){for(f=_dt(e,!0),t=0,r=f,a=0,o=r.length;a0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}else g=qJe(cce(xy(Fi(c5e(e.a),new ja),new Ou)));return g>0?g+e.n.d+e.n.a:0}function nP(e){var t,n,r,a,o,f,g;if(g=0,e.b==0)g=qJe(cce(xy(Fi(c5e(e.a),new Xc),new Bc)));else{for(f=Adt(e,!0),t=0,r=f,a=0,o=r.length;a0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}return g>0?g+e.n.b+e.n.c:0}function Ukn(e){var t,n;if(e.c.length!=2)throw ue(new nc("Order only allowed for two paths."));t=(Sn(0,e.c.length),l(e.c[0],18)),n=(Sn(1,e.c.length),l(e.c[1],18)),t.d.i!=n.c.i&&(e.c.length=0,$n(e.c,n),$n(e.c,t))}function Gpt(e,t,n){var r;for(F5(n,t.g,t.f),Qh(n,t.i,t.j),r=0;r<(!t.a&&(t.a=new nt(Ai,t,10,11)),t.a).i;r++)Gpt(e,l(Oe((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a),r),27),l(Oe((!n.a&&(n.a=new nt(Ai,n,10,11)),n.a),r),27))}function Gkn(e,t){var n,r,a,o;for(o=l(Qo(e.b,t),127),n=o.a,a=l(l($i(e.r,t),21),87).Kc();a.Ob();)r=l(a.Pb(),117),r.c&&(n.a=b.Math.max(n.a,j4e(r.c)));if(n.a>0)switch(t.g){case 2:o.n.c=e.s;break;case 4:o.n.b=e.s}}function Kkn(e,t){var n,r,a;return n=l(Q(t,(b0(),qx)),17).a-l(Q(e,qx),17).a,n==0?(r=ma(Ja(l(Q(e,(bb(),hB)),8)),l(Q(e,$L),8)),a=ma(Ja(l(Q(t,hB),8)),l(Q(t,$L),8)),Yi(r.a*r.b,a.a*a.b)):n}function Wkn(e,t){var n,r,a;return n=l(Q(t,(Hc(),RW)),17).a-l(Q(e,RW),17).a,n==0?(r=ma(Ja(l(Q(e,(Qi(),NB)),8)),l(Q(e,QT),8)),a=ma(Ja(l(Q(t,NB),8)),l(Q(t,QT),8)),Yi(r.a*r.b,a.a*a.b)):n}function Kpt(e){var t,n;return n=new tb,n.a+="e_",t=z3n(e),t!=null&&(n.a+=""+t),e.c&&e.d&&(hi((n.a+=" ",n),fU(e.c)),hi(wu((n.a+="[",n),e.c.i),"]"),hi((n.a+=Phe,n),fU(e.d)),hi(wu((n.a+="[",n),e.d.i),"]")),n.a}function Wpt(e){switch(e.g){case 0:return new aie;case 1:return new dk;case 2:return new sie;case 3:return new iie;default:throw ue(new Yn("No implementation is available for the layout phase "+(e.f!=null?e.f:""+e.g)))}}function m9e(e,t,n,r,a){var o;switch(o=0,a.g){case 1:o=b.Math.max(0,t.b+e.b-(n.b+r));break;case 3:o=b.Math.max(0,-e.b-r);break;case 2:o=b.Math.max(0,-e.a-r);break;case 4:o=b.Math.max(0,t.a+e.a-(n.a+r))}return o}function Ykn(e,t,n){var r,a,o,f,g;if(n)for(a=n.a.length,r=new Dm(a),g=(r.b-r.a)*r.c<0?(sb(),tm):new cb(r);g.Ob();)f=l(g.Pb(),17),o=Jk(n,f.a),hSe in o.a||Yfe in o.a?u_n(e,o,t):AIn(e,o,t),_hn(l(cr(e.b,NE(o)),74))}function v9e(e){var t,n;switch(e.b){case-1:return!0;case 0:return n=e.t,n>1||n==-1?(e.b=-1,!0):(t=Of(e),t&&(Fo(),t.lk()==g5t)?(e.b=-1,!0):(e.b=1,!1));default:case 1:return!1}}function w9e(e,t){var n,r,a,o;if(Li(e),e.c!=0||e.a!=123)throw ue(new ri(ai((Jr(),B4t))));if(o=t==112,r=e.d,n=Nk(e.i,125,r),n<0)throw ue(new ri(ai((Jr(),F4t))));return a=tf(e.i,r,n),e.d=n+1,vlt(a,o,(e.e&512)==512)}function Ypt(e){var t,n,r,a,o,f,g;if(r=e.a.c.length,r>0)for(f=e.c.d,g=e.d.d,a=md(ma(new lt(g.a,g.b),f),1/(r+1)),o=new lt(f.a,f.b),n=new G(e.a);n.a=0&&r=0?e.Lh(n,!0,!0):Hw(e,a,!0),160)),l(r,220).Wl(t);throw ue(new Yn(Ob+t.xe()+$fe))}function Zkn(){x3e();var e;return J_t?l(VE((ib(),Gf),Ff),2038):(wi(uv,new OI),WMn(),e=l(De(xu((ib(),Gf),Ff),560)?xu(Gf,Ff):new fat,560),J_t=!0,YIn(e),nOn(e),ki((y3e(),_Pe),e,new k1),rc(Gf,Ff,e),e)}function eEn(e,t){var n,r,a,o;e.j=-1,hh(e.e)?(n=e.i,o=e.i!=0,tN(e,t),r=new Zg(e.e,3,e.c,null,t,n,o),a=t.zl(e.e,e.c,null),a=Lgt(e,t,a),a?(a.nj(r),a.oj()):Ni(e.e,r)):(tN(e,t),a=t.zl(e.e,e.c,null),a&&a.oj())}function kU(e,t){var n,r,a;if(a=0,r=t[0],r>=e.length)return-1;for(n=(Xn(r,e.length),e.charCodeAt(r));n>=48&&n<=57&&(a=a*10+(n-48),++r,!(r>=e.length));)n=(Xn(r,e.length),e.charCodeAt(r));return r>t[0]?t[0]=r:a=-1,a}function tEn(e){var t,n,r,a,o;return a=l(e.a,17).a,o=l(e.b,17).a,n=a,r=o,t=b.Math.max(b.Math.abs(a),b.Math.abs(o)),a<=0&&a==o?(n=0,r=o-1):a==-t&&o!=t?(n=o,r=a,o>=0&&++n):(n=-o,r=a),new ca(pt(n),pt(r))}function nEn(e,t,n,r){var a,o,f,g,w,E;for(a=0;a=0&&E>=0&&w=e.i)throw ue(new tc(Qfe+t+av+e.i));if(n>=e.i)throw ue(new tc(Jfe+n+av+e.i));return r=e.g[n],t!=n&&(t>16),t=r>>16&16,n=16-t,e=e>>t,r=e-256,t=r>>16&8,n+=t,e<<=t,r=e-Xy,t=r>>16&4,n+=t,e<<=t,r=e-_d,t=r>>16&2,n+=t,e<<=t,r=e>>14,t=r&~(r>>1),n+2-t)}function iEn(e){tx();var t,n,r,a;for(wK=new bt,X0e=new Pr,Y0e=new bt,t=(!e.a&&(e.a=new nt(Ai,e,10,11)),e.a),WDn(t),a=new or(t);a.e!=a.i.gc();)r=l(gr(a),27),gc(wK,r,0)==-1&&(n=new bt,vt(Y0e,n),Z1t(r,n));return Y0e}function sEn(e,t,n){var r,a,o,f;e.a=n.b.d,De(t,326)?(a=l6(l(t,74),!1,!1),o=QN(a),r=new t_(e),to(o,r),dP(o,a),t.of((pi(),x3))!=null&&to(l(t.of(x3),75),r)):(f=l(t,422),f.rh(f.nh()+e.a.a),f.sh(f.oh()+e.a.b))}function aEn(e,t){var n,r,a;for(a=new bt,r=Rr(t.a,0);r.b!=r.d.c;)n=l(Br(r),65),n.c.g==e.g&&qe(Q(n.b,(Hc(),$d)))!==qe(Q(n.c,$d))&&!W5(new bn(null,new kn(a,16)),new cXe(n))&&$n(a.c,n);return Vs(a,new Mte),a}function Qpt(e,t,n){var r,a,o,f;return De(t,153)&&De(n,153)?(o=l(t,153),f=l(n,153),e.a[o.a][f.a]+e.a[f.a][o.a]):De(t,250)&&De(n,250)&&(r=l(t,250),a=l(n,250),r.a==a.a)?l(Q(a.a,(b0(),qx)),17).a:0}function Jpt(e,t){var n,r,a,o,f,g,w,E;for(E=ze(Ge(Q(t,(Nt(),tM)))),w=e[0].n.a+e[0].o.a+e[0].d.c+E,g=1;g=0?n:(g=eA(ma(new lt(f.c+f.b/2,f.d+f.a/2),new lt(o.c+o.b/2,o.d+o.a/2))),-(Tmt(o,f)-1)*g)}function cEn(e,t,n){var r;Is(new bn(null,(!n.a&&(n.a=new nt(cs,n,6,6)),new kn(n.a,16))),new dtt(e,t)),Is(new bn(null,(!n.n&&(n.n=new nt(ec,n,1,7)),new kn(n.n,16))),new gtt(e,t)),r=l(at(n,(pi(),x3)),75),r&&k7e(r,e,t)}function Hw(e,t,n){var r,a,o;if(o=g6((El(),io),e.Dh(),t),o)return Fo(),l(o,69).xk()||(o=rx(ic(io,o))),a=(r=e.Ih(o),l(r>=0?e.Lh(r,!0,!0):Hw(e,o,!0),160)),l(a,220).Sl(t,n);throw ue(new Yn(Ob+t.xe()+$fe))}function y9e(e,t,n,r){var a,o,f,g,w;if(a=e.d[t],a){if(o=a.g,w=a.i,r!=null){for(g=0;g=n&&(r=t,E=(w.c+w.a)/2,f=E-n,w.c<=E-n&&(a=new vae(w.c,f),pw(e,r++,a)),g=E+n,g<=w.a&&(o=new vae(g,w.a),Ey(r,e.c.length),x_(e.c,r,o)))}function t2t(e,t,n){var r,a,o,f,g,w;if(!t.dc()){for(a=new os,w=t.Kc();w.Ob();)for(g=l(w.Pb(),40),ki(e.a,pt(g.g),pt(n)),f=(r=Rr(new Hg(g).a.d,0),new C5(r));QI(f.a);)o=l(Br(f.a),65).c,Cs(a,o,a.c.b,a.c);t2t(e,a,n+1)}}function x9e(e){var t;if(!e.c&&e.g==null)e.d=e.bj(e.f),qr(e,e.d),t=e.d;else{if(e.g==null)return!0;if(e.i==0)return!1;t=l(e.g[e.i-1],51)}return t==e.b&&null.Vm>=null.Um()?(CU(e),x9e(e)):t.Ob()}function n2t(e){if(this.a=e,e.c.i.k==(Zn(),Us))this.c=e.c,this.d=l(Q(e.c.i,(ft(),Wc)),64);else if(e.d.i.k==Us)this.c=e.d,this.d=l(Q(e.d.i,(ft(),Wc)),64);else throw ue(new Yn("Edge "+e+" is not an external edge."))}function r2t(e,t){var n,r,a;a=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,3,a,e.b)),t?t!=e&&(Fu(e,t.zb),Qoe(e,t.d),n=(r=t.c,r??t.zb),Zoe(e,n==null||vn(n,t.zb)?null:n)):(Fu(e,null),Qoe(e,0),Zoe(e,null))}function i2t(e,t){var n;this.e=(ww(),Xr(e),ww(),P8e(e)),this.c=(Xr(t),P8e(t)),Tye(this.e.Rd().dc()==this.c.Rd().dc()),this.d=w1t(this.e),this.b=w1t(this.c),n=Lm(wa,[dt,Rn],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=n,Fwn(this)}function s2t(e){!C0e&&(C0e=aIn());var t=e.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){return l2n(n)});return'"'+t+'"'}function k9e(e,t,n,r,a,o){var f,g,w,E,C;if(a!=0)for(qe(e)===qe(n)&&(e=e.slice(t,t+a),t=0),w=n,g=t,E=t+a;g=f)throw ue(new my(t,f));return a=n[t],f==1?r=null:(r=We(epe,r0e,424,f-1,0,1),pu(n,0,r,0,t),o=f-t-1,o>0&&pu(n,t+1,r,t,o)),PE(e,r),Apt(e,t,a),a}function o2t(e){var t,n;if(e.f){for(;e.n0?o=gx(n):o=BN(gx(n))),Hi(t,VT,o)}function pEn(e,t){var n;t.Ug("Partition preprocessing",1),n=l(yc(Fi(Dc(Fi(new bn(null,new kn(e.a,16)),new AZ),new LZ),new wj),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),Is(n.Oc(),new t8),t.Vg()}function bEn(e,t){var n,r,a,o,f;for(f=e.j,t.a!=t.b&&Vs(f,new kS),a=f.c.length/2|0,r=0;r0&&lP(e,n,t),o):r.a!=null?(lP(e,t,n),-1):a.a!=null?(lP(e,n,t),1):0}function vEn(e,t){var n,r,a,o,f;for(a=t.b.b,e.a=We(mf,Qy,15,a,0,1),e.b=We(ih,pg,28,a,16,1),f=Rr(t.b,0);f.b!=f.d.c;)o=l(Br(f),40),e.a[o.g]=new os;for(r=Rr(t.a,0);r.b!=r.d.c;)n=l(Br(r),65),e.a[n.b.g].Fc(n),e.a[n.c.g].Fc(n)}function h2t(e,t){var n,r,a,o;e.Pj()?(n=e.Ej(),o=e.Qj(),++e.j,e.qj(n,e.Zi(n,t)),r=e.Ij(3,null,t,n,o),e.Mj()?(a=e.Nj(t,null),a?(a.nj(r),a.oj()):e.Jj(r)):e.Jj(r)):(tat(e,t),e.Mj()&&(a=e.Nj(t,null),a&&a.oj()))}function E9e(e,t,n){var r,a,o;e.Pj()?(o=e.Qj(),IN(e,t,n),r=e.Ij(3,null,n,t,o),e.Mj()?(a=e.Nj(n,null),e.Tj()&&(a=e.Uj(n,a)),a?(a.nj(r),a.oj()):e.Jj(r)):e.Jj(r)):(IN(e,t,n),e.Mj()&&(a=e.Nj(n,null),a&&a.oj()))}function EU(e,t){var n,r,a,o,f;for(f=Wu(e.e.Dh(),t),a=new X2,n=l(e.g,124),o=e.i;--o>=0;)r=n[o],f.am(r.Lk())&&qr(a,r);!awt(e,a)&&hh(e.e)&&xk(e,t.Jk()?db(e,6,t,(Cn(),_o),null,-1,!1):db(e,t.tk()?2:1,t,null,null,-1,!1))}function wEn(e,t){var n,r,a,o,f;return e.a==(zE(),VL)?!0:(o=t.a.c,n=t.a.c+t.a.b,!(t.j&&(r=t.A,f=r.c.c.a-r.o.a/2,a=o-(r.n.a+r.o.a),a>f)||t.q&&(r=t.C,f=r.c.c.a-r.o.a/2,a=r.n.a-n,a>f)))}function f2t(e){foe();var t,n,r,a,o,f,g;for(n=new e2,a=new G(e.e.b);a.a1?e.e*=ze(e.a):e.f/=ze(e.a),zyn(e),K5n(e),VSn(e),rt(e.b,(IA(),vK),e.g)}function b2t(e,t,n){var r,a,o,f,g,w;for(r=0,w=n,t||(r=n*(e.c.length-1),w*=-1),o=new G(e);o.a=0?e.Ah(null):e.Ph().Th(e,-1-t,null,null)),e.Bh(l(a,54),n),r&&r.oj(),e.vh()&&e.wh()&&n>-1&&Ni(e,new _a(e,9,n,o,a)),a):o}function S9e(e,t){var n,r,a,o,f;for(o=e.b.Ce(t),r=(n=e.a.get(o),n??We(wa,Rn,1,0,5,1)),f=0;f>5,a>=e.d)return e.e<0;if(n=e.a[a],t=1<<(t&31),e.e<0){if(r=Mft(e),a>16)),15).dd(o),g0&&(!(Ug(e.a.c)&&t.n.d)&&!(B5(e.a.c)&&t.n.b)&&(t.g.d+=b.Math.max(0,r/2-.5)),!(Ug(e.a.c)&&t.n.a)&&!(B5(e.a.c)&&t.n.c)&&(t.g.a-=r-1))}function C2t(e){var t,n,r,a,o;if(a=new bt,o=ymt(e,a),t=l(Q(e,(ft(),jl)),10),t)for(r=new G(t.j);r.a>t,o=e.m>>t|n<<22-t,a=e.l>>t|e.m<<22-t):t<44?(f=r?hp:0,o=n>>t-22,a=e.m>>t-22|n<<44-t):(f=r?hp:0,o=r?eh:0,a=n>>t-44),qu(a&eh,o&eh,f&hp)}function Gue(e){var t,n,r,a,o,f;for(this.c=new bt,this.d=e,r=gs,a=gs,t=ia,n=ia,f=Rr(e,0);f.b!=f.d.c;)o=l(Br(f),8),r=b.Math.min(r,o.a),a=b.Math.min(a,o.b),t=b.Math.max(t,o.a),n=b.Math.max(n,o.b);this.a=new ef(r,a,t-r,n-a)}function _2t(e,t){var n,r,a,o,f,g;for(o=new G(e.b);o.a0&&De(t,44)&&(e.a._j(),E=l(t,44),w=E.ld(),o=w==null?0:es(w),f=Qye(e.a,o),n=e.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g=2)for(n=a.Kc(),t=Ge(n.Pb());n.Ob();)o=t,t=Ge(n.Pb()),r=b.Math.min(r,(nr(t),t-(nr(o),o)));return r}function zEn(e,t){var n,r,a;for(a=new bt,r=Rr(t.a,0);r.b!=r.d.c;)n=l(Br(r),65),n.b.g==e.g&&!vn(n.b.c,DG)&&qe(Q(n.b,(Hc(),$d)))!==qe(Q(n.c,$d))&&!W5(new bn(null,new kn(a,16)),new uXe(n))&&$n(a.c,n);return Vs(a,new Nte),a}function qEn(e,t){var n,r,a;if(qe(t)===qe(Xr(e)))return!0;if(!De(t,15)||(r=l(t,15),a=e.gc(),a!=r.gc()))return!1;if(De(r,59)){for(n=0;n0&&(a=n),f=new G(e.f.e);f.a0?(t-=1,n-=1):r>=0&&a<0?(t+=1,n+=1):r>0&&a>=0?(t-=1,n+=1):(t+=1,n-=1),new ca(pt(t),pt(n))}function nTn(e,t){return e.ct.c?1:e.bt.b?1:e.a!=t.a?es(e.a)-es(t.a):e.d==(oA(),uM)&&t.d==cM?-1:e.d==cM&&t.d==uM?1:0}function N2t(e,t){var n,r,a,o,f;return o=t.a,o.c.i==t.b?f=o.d:f=o.c,o.c.i==t.b?r=o.c:r=o.d,a=T5n(e.a,f,r),a>0&&a0):a<0&&-a0):!1}function rTn(e,t,n,r){var a,o,f,g,w,E,C,L;for(a=(t-e.d)/e.c.c.length,o=0,e.a+=n,e.d=t,L=new G(e.c);L.a>24;return f}function sTn(e){if(e.ze()){var t=e.c;t.Ae()?e.o="["+t.n:t.ze()?e.o="["+t.xe():e.o="[L"+t.xe()+";",e.b=t.we()+"[]",e.k=t.ye()+"[]";return}var n=e.j,r=e.d;r=r.split("/"),e.o=Xce(".",[n,Xce("$",r)]),e.b=Xce(".",[n,Xce(".",r)]),e.k=r[r.length-1]}function aTn(e,t){var n,r,a,o,f;for(f=null,o=new G(e.e.a);o.a=0;t-=2)for(n=0;n<=t;n+=2)(e.b[n]>e.b[n+2]||e.b[n]===e.b[n+2]&&e.b[n+1]>e.b[n+3])&&(r=e.b[n+2],e.b[n+2]=e.b[n],e.b[n]=r,r=e.b[n+3],e.b[n+3]=e.b[n+1],e.b[n+1]=r);e.c=!0}}function uTn(e,t){var n,r,a,o,f,g,w,E,C;for(E=-1,C=0,f=e,g=0,w=f.length;g0&&++C;++E}return C}function g0(e){var t,n;return n=new Th(_m(e.Rm)),n.a+="@",hi(n,(t=es(e)>>>0,t.toString(16))),e.Vh()?(n.a+=" (eProxyURI: ",wu(n,e._h()),e.Kh()&&(n.a+=" eClass: ",wu(n,e.Kh())),n.a+=")"):e.Kh()&&(n.a+=" (eClass: ",wu(n,e.Kh()),n.a+=")"),n.a}function HA(e){var t,n,r,a;if(e.e)throw ue(new nc((Gg(R0e),phe+R0e.k+bhe)));for(e.d==(Js(),J1)&&UU(e,uc),n=new G(e.a.a);n.a>24}return n}function fTn(e,t,n){var r,a,o;if(a=l(Qo(e.i,t),314),!a)if(a=new yht(e.d,t,n),Q8(e.i,t,a),$8e(t))bhn(e.a,t.c,t.b,a);else switch(o=Y9n(t),r=l(Qo(e.p,o),252),o.g){case 1:case 3:a.j=!0,Xie(r,t.b,a);break;case 4:case 2:a.k=!0,Xie(r,t.c,a)}return a}function dTn(e,t){var n,r,a,o,f,g,w,E,C;for(w=eg(e.c-e.b&e.a.length-1),E=null,C=null,o=new nA(e);o.a!=o.b;)a=l(FV(o),10),n=(g=l(Q(a,(ft(),o1)),12),g?g.i:null),r=(f=l(Q(a,$f),12),f?f.i:null),(E!=n||C!=r)&&(m2t(w,t),E=n,C=r),$n(w.c,a);m2t(w,t)}function gTn(e,t,n,r){var a,o,f,g,w,E;if(g=new X2,w=Wu(e.e.Dh(),t),a=l(e.g,124),Fo(),l(t,69).xk())for(f=0;f=0)return a;for(o=1,g=new G(t.j);g.a=0)return a;for(o=1,g=new G(t.j);g.a0&&t.Ne((Sn(a-1,e.c.length),l(e.c[a-1],10)),o)>0;)rf(e,a,(Sn(a-1,e.c.length),l(e.c[a-1],10))),--a;Sn(a,e.c.length),e.c[a]=o}n.a=new Pr,n.b=new Pr}function pTn(e,t,n){var r,a,o,f,g,w,E,C;for(C=(r=l(t.e&&t.e(),9),new Zh(r,l(c0(r,r.length),9),0)),w=Gy(n,"[\\[\\]\\s,]+"),o=w,f=0,g=o.length;f=0?(t||(t=new h_,r>0&&Xo(t,(Ga(0,r,e.length),e.substr(0,r)))),t.a+="\\",Uk(t,n&Zs)):t&&Uk(t,n&Zs);return t?t.a:e}function mTn(e){var t,n,r;for(n=new G(e.a.a.b);n.a0&&(!(Ug(e.a.c)&&t.n.d)&&!(B5(e.a.c)&&t.n.b)&&(t.g.d-=b.Math.max(0,r/2-.5)),!(Ug(e.a.c)&&t.n.a)&&!(B5(e.a.c)&&t.n.c)&&(t.g.a+=b.Math.max(0,r-1)))}function H2t(e,t,n){var r,a;if((e.c-e.b&e.a.length-1)==2)t==(Ct(),Qn)||t==ar?(uV(l(wA(e),15),(Ih(),kg)),uV(l(wA(e),15),Gb)):(uV(l(wA(e),15),(Ih(),Gb)),uV(l(wA(e),15),kg));else for(a=new nA(e);a.a!=a.b;)r=l(FV(a),15),uV(r,n)}function vTn(e,t){var n,r,a,o,f,g,w;for(a=$k(new ywe(e)),g=new Ua(a,a.c.length),o=$k(new ywe(t)),w=new Ua(o,o.c.length),f=null;g.b>0&&w.b>0&&(n=(mr(g.b>0),l(g.a.Xb(g.c=--g.b),27)),r=(mr(w.b>0),l(w.a.Xb(w.c=--w.b),27)),n==r);)f=n;return f}function V2t(e,t,n){var r,a,o,f;Uot(e,t)>Uot(e,n)?(r=Oc(n,(Ct(),ar)),e.d=r.dc()?0:Tae(l(r.Xb(0),12)),f=Oc(t,er),e.b=f.dc()?0:Tae(l(f.Xb(0),12))):(a=Oc(n,(Ct(),er)),e.d=a.dc()?0:Tae(l(a.Xb(0),12)),o=Oc(t,ar),e.b=o.dc()?0:Tae(l(o.Xb(0),12)))}function U2t(e,t){var n,r,a,o;for(n=e.o.a,o=l(l($i(e.r,t),21),87).Kc();o.Ob();)a=l(o.Pb(),117),a.e.a=n*ze(Ge(a.b.of(pK))),a.e.b=(r=a.b,r.pf((pi(),rh))?r.ag()==(Ct(),Qn)?-r.Mf().b-ze(Ge(r.of(rh))):ze(Ge(r.of(rh))):r.ag()==(Ct(),Qn)?-r.Mf().b:0)}function wTn(e,t){var n,r,a,o;for(t.Ug("Self-Loop pre-processing",1),r=new G(e.a);r.ae.c));f++)a.a>=e.s&&(o<0&&(o=f),g=f);return w=(e.s+e.c)/2,o>=0&&(r=o_n(e,t,o,g),w=sln((Sn(r,t.c.length),l(t.c[r],339))),fEn(t,r,n)),w}function Wr(e,t,n){var r,a,o,f,g,w,E;for(f=(o=new CI,o),g7e(f,(nr(t),t)),E=(!f.b&&(f.b=new dh((Tn(),No),Yc,f)),f.b),w=1;w0&&rMn(this,a)}function F9e(e,t,n,r,a,o){var f,g,w;if(!a[t.a]){for(a[t.a]=!0,f=r,!f&&(f=new KH),vt(f.e,t),w=o[t.a].Kc();w.Ob();)g=l(w.Pb(),290),!(g.d==n||g.c==n)&&(g.c!=t&&F9e(e,g.c,t,f,a,o),g.d!=t&&F9e(e,g.d,t,f,a,o),vt(f.c,g),ra(f.d,g.b));return f}return null}function kTn(e){var t,n,r,a,o,f,g;for(t=0,a=new G(e.e);a.a=2}function ETn(e,t,n,r,a){var o,f,g,w,E,C;for(o=e.c.d.j,f=l(ff(n,0),8),C=1;C1||(t=rs(E0,he(le(Ko,1),it,95,0,[mp,T0])),yN(NH(t,e))>1)||(r=rs(S0,he(le(Ko,1),it,95,0,[Eg,qf])),yN(NH(r,e))>1))}function R9e(e,t,n){var r,a,o;for(o=new G(e.t);o.a0&&(r.b.n-=r.c,r.b.n<=0&&r.b.u>0&&ci(t,r.b));for(a=new G(e.i);a.a0&&(r.a.u-=r.c,r.a.u<=0&&r.a.n>0&&ci(n,r.a))}function CU(e){var t,n,r,a,o;if(e.g==null&&(e.d=e.bj(e.f),qr(e,e.d),e.c))return o=e.f,o;if(t=l(e.g[e.i-1],51),a=t.Pb(),e.e=t,n=e.bj(a),n.Ob())e.d=n,qr(e,n);else for(e.d=null;!t.Ob()&&(Ts(e.g,--e.i,null),e.i!=0);)r=l(e.g[e.i-1],51),t=r;return a}function CTn(e,t){var n,r,a,o,f,g;if(r=t,a=r.Lk(),up(e.e,a)){if(a.Si()&&qH(e,a,r.md()))return!1}else for(g=Wu(e.e.Dh(),a),n=l(e.g,124),o=0;o1||n>1)return 2;return t+n==1?2:0}function Jl(e,t){var n,r,a,o,f,g;return o=e.a*hhe+e.b*1502,g=e.b*hhe+11,n=b.Math.floor(g*MP),o+=n,g-=n*cEe,o%=cEe,e.a=o,e.b=g,t<=24?b.Math.floor(e.a*m_e[t]):(a=e.a*(1<=2147483648&&(r-=4294967296),r)}function X2t(e,t,n){var r,a,o,f,g,w,E;for(o=new bt,E=new os,f=new os,KAn(e,E,f,t),CMn(e,E,f,t,n),w=new G(e);w.ar.b.g&&$n(o.c,r);return o}function DTn(e,t,n){var r,a,o,f,g,w;for(g=e.c,f=(n.q?n.q:(Cn(),Cn(),mg)).vc().Kc();f.Ob();)o=l(f.Pb(),44),r=!_k(Fi(new bn(null,new kn(g,16)),new Wl(new att(t,o)))).Bd((Am(),zx)),r&&(w=o.md(),De(w,4)&&(a=H8e(w),a!=null&&(w=a)),t.qf(l(o.ld(),149),w))}function ITn(e,t,n){var r,a;if(qO(e.b),X0(e.b,(PN(),WW),(b_(),qB)),X0(e.b,YW,t.g),X0(e.b,XW,t.a),e.a=bP(e.b,t),n.Ug("Compaction by shrinking a tree",e.a.c.length),t.i.c.length>1)for(a=new G(e.a);a.a=0?e.Lh(r,!0,!0):Hw(e,o,!0),160)),l(a,220).Xl(t,n)}else throw ue(new Yn(Ob+t.xe()+kL))}function SU(e,t){var n,r,a,o,f;if(t){for(o=De(e.Cb,90)||De(e.Cb,102),f=!o&&De(e.Cb,331),r=new or((!t.a&&(t.a=new G_(t,Wo,t)),t.a));r.e!=r.i.gc();)if(n=l(gr(r),89),a=jU(n),o?De(a,90):f?De(a,156):a)return a;return o?(Tn(),Kf):(Tn(),td)}else return null}function OTn(e,t){var n,r,a,o;for(t.Ug("Resize child graph to fit parent.",1),r=new G(e.b);r.a=2*t&&vt(n,new vae(f[r-1]+t,f[r]-t));return n}function BTn(e,t,n){var r,a,o,f,g,w,E,C;if(n)for(o=n.a.length,r=new Dm(o),g=(r.b-r.a)*r.c<0?(sb(),tm):new cb(r);g.Ob();)f=l(g.Pb(),17),a=Jk(n,f.a),a&&(w=fmn(e,(E=(rb(),C=new jwe,C),t&&z9e(E,t),E),a),fE(w,Yg(a,Pd)),mU(a,w),h9e(a,w),wce(e,a,w))}function _U(e){var t,n,r,a,o,f;if(!e.j){if(f=new IS,t=qM,o=t.a.zc(e,t),o==null){for(r=new or(dc(e));r.e!=r.i.gc();)n=l(gr(r),29),a=_U(n),As(f,a),qr(f,n);t.a.Bc(e)!=null}Iy(f),e.j=new N5((l(Oe(tt((lb(),Vn).o),11),19),f.i),f.g),Yl(e).b&=-33}return e.j}function FTn(e){var t,n,r,a;if(e==null)return null;if(r=Tu(e,!0),a=eB.length,vn(r.substr(r.length-a,a),eB)){if(n=r.length,n==4){if(t=(Xn(0,r.length),r.charCodeAt(0)),t==43)return KPe;if(t==45)return wAt}else if(n==3)return KPe}return new Awe(r)}function RTn(e){var t,n,r;return n=e.l,n&n-1||(r=e.m,r&r-1)||(t=e.h,t&t-1)||t==0&&r==0&&n==0?-1:t==0&&r==0&&n!=0?i7e(n):t==0&&r!=0&&n==0?i7e(r)+22:t!=0&&r==0&&n==0?i7e(t)+44:-1}function u6(e,t){var n,r,a,o,f;for(a=t.a&e.f,o=null,r=e.b[a];;r=r.b){if(r==t){o?o.b=t.b:e.b[a]=t.b;break}o=r}for(f=t.f&e.f,o=null,n=e.c[f];;n=n.d){if(n==t){o?o.d=t.d:e.c[f]=t.d;break}o=n}t.e?t.e.c=t.c:e.a=t.c,t.c?t.c.e=t.e:e.e=t.e,--e.i,++e.g}function jTn(e,t){var n;t.d?t.d.b=t.b:e.a=t.b,t.b?t.b.d=t.d:e.e=t.d,!t.e&&!t.c?(n=l(Lf(l(ax(e.b,t.a),260)),260),n.a=0,++e.c):(n=l(Lf(l(cr(e.b,t.a),260)),260),--n.a,t.e?t.e.c=t.c:n.b=l(Lf(t.c),511),t.c?t.c.e=t.e:n.c=l(Lf(t.e),511)),--e.d}function $Tn(e){var t,n,r,a,o,f,g,w,E,C;for(n=e.o,t=e.p,f=Ii,a=lo,g=Ii,o=lo,E=0;E0),o.a.Xb(o.c=--o.b),by(o,a),mr(o.b3&&ag(e,0,t-3))}function qTn(e){var t,n,r,a;return qe(Q(e,(Nt(),p4)))===qe((rp(),A2))?!e.e&&qe(Q(e,TB))!==qe((vE(),vB)):(r=l(Q(e,Z1e),299),a=Rt(Bt(Q(e,ede)))||qe(Q(e,JL))===qe((dA(),mB)),t=l(Q(e,SMe),17).a,n=e.a.c.length,!a&&r!=(vE(),vB)&&(t==0||t>n))}function HTn(e){var t,n;for(n=0;n0);n++);if(n>0&&n0);t++);return t>0&&n>16!=6&&t){if(FE(e,t))throw ue(new Yn(EL+d2t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?lxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,6,r)),r=Wye(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,6,t,t))}function AU(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(FE(e,t))throw ue(new Yn(EL+evt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?gxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,12,r)),r=Yye(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,3,t,t))}function z9e(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=9&&t){if(FE(e,t))throw ue(new Yn(EL+Jbt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?fxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,9,r)),r=Xye(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,9,t,t))}function UE(e){var t,n,r,a,o;if(r=Of(e),o=e.j,o==null&&r)return e.Jk()?null:r.ik();if(De(r,156)){if(n=r.jk(),n&&(a=n.wi(),a!=e.i)){if(t=l(r,156),t.nk())try{e.g=a.ti(t,o)}catch(f){if(f=bs(f),De(f,82))e.g=null;else throw ue(f)}e.i=a}return e.g}return null}function ebt(e){var t;return t=new bt,vt(t,new B8(new lt(e.c,e.d),new lt(e.c+e.b,e.d))),vt(t,new B8(new lt(e.c,e.d),new lt(e.c,e.d+e.a))),vt(t,new B8(new lt(e.c+e.b,e.d+e.a),new lt(e.c+e.b,e.d))),vt(t,new B8(new lt(e.c+e.b,e.d+e.a),new lt(e.c,e.d+e.a))),t}function VTn(e){var t,n,r;if(e==null)return ul;try{return xc(e)}catch(a){if(a=bs(a),De(a,103))return t=a,r=_m(bh(e))+"@"+(n=(Vg(),q8e(e)>>>0),n.toString(16)),i6n(H3n(),(Dk(),"Exception during lenientFormat for "+r),t),"<"+r+" threw "+_m(t.Rm)+">";throw ue(a)}}function UTn(e,t,n){var r,a,o;for(o=t.a.ec().Kc();o.Ob();)a=l(o.Pb(),74),r=l(cr(e.b,a),272),!r&&(ds(cg(a))==ds(Eb(a))?ICn(e,a,n):cg(a)==ds(Eb(a))?cr(e.c,a)==null&&cr(e.b,Eb(a))!=null&&Ivt(e,a,n,!1):cr(e.d,a)==null&&cr(e.b,cg(a))!=null&&Ivt(e,a,n,!0))}function GTn(e,t){var n,r,a,o,f,g,w;for(a=e.Kc();a.Ob();)for(r=l(a.Pb(),10),g=new gu,Mc(g,r),la(g,(Ct(),ar)),rt(g,(ft(),oW),(Hn(),!0)),f=t.Kc();f.Ob();)o=l(f.Pb(),10),w=new gu,Mc(w,o),la(w,er),rt(w,oW,!0),n=new Tw,rt(n,oW,!0),po(n,g),Fa(n,w)}function KTn(e,t,n,r){var a,o,f,g;a=R1t(e,t,n),o=R1t(e,n,t),f=l(cr(e.c,t),118),g=l(cr(e.c,n),118),a1)for(t=hw((n=new Sm,++e.b,n),e.d),g=Rr(o,0);g.b!=g.d.c;)f=l(Br(g),125),p0(s0(i0(a0(r0(new _f,1),0),t),f))}function XTn(e,t,n){var r,a,o,f,g;for(n.Ug("Breaking Point Removing",1),e.a=l(Q(t,(Nt(),bp)),223),o=new G(t.b);o.a>16!=11&&t){if(FE(e,t))throw ue(new Yn(EL+oke(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?pxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,10,r)),r=s4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,11,t,t))}function QTn(e){var t,n,r,a;for(r=new qm(new Sr(e.b).a);r.b;)n=Nw(r),a=l(n.ld(),12),t=l(n.md(),10),rt(t,(ft(),zi),a),rt(a,jl,t),rt(a,xB,(Hn(),!0)),la(a,l(Q(t,Wc),64)),Q(t,Wc),rt(a.i,(Nt(),Ms),(Ra(),sC)),l(Q(eo(a.i),Lu),21).Fc((Ho(),$T))}function JTn(e,t,n){var r,a,o,f,g,w;if(o=0,f=0,e.c)for(w=new G(e.d.i.j);w.ao.a?-1:a.aw){for(C=e.d,e.d=We(vPe,_Se,66,2*w+4,0,1),o=0;o=9223372036854776e3?(iE(),WSe):(a=!1,e<0&&(a=!0,e=-e),r=0,e>=Zm&&(r=ua(e/Zm),e-=r*Zm),n=0,e>=Lx&&(n=ua(e/Lx),e-=n*Lx),t=ua(e),o=qu(t,n,r),a&&yce(o),o)}function uCn(e){var t,n,r,a,o;if(o=new bt,Vu(e.b,new Jd(o)),e.b.c.length=0,o.c.length!=0){for(t=(Sn(0,o.c.length),l(o.c[0],82)),n=1,r=o.c.length;n=-t&&r==t?new ca(pt(n-1),pt(r)):new ca(pt(n),pt(r-1))}function rbt(){return vo(),he(le(xOn,1),it,81,0,[PAe,IAe,D6,f1e,eLe,DK,zK,l4,JAe,HAe,XAe,u4,ZAe,$Ae,tLe,SAe,PK,d1e,LK,RK,rLe,FK,_Ae,QAe,iLe,jK,nLe,MK,FAe,WAe,KAe,qK,MAe,AK,OK,LAe,LT,UAe,zAe,YAe,zL,OAe,DAe,GAe,qAe,NK,$K,AAe,BK,VAe,IK,RAe,BAe,gB,_K,jAe,NAe])}function fCn(e,t,n){e.d=0,e.b=0,t.k==(Zn(),Au)&&n.k==Au&&l(Q(t,(ft(),zi)),10)==l(Q(n,zi),10)&&($oe(t).j==(Ct(),Qn)?V2t(e,t,n):V2t(e,n,t)),t.k==Au&&n.k==Aa?$oe(t).j==(Ct(),Qn)?e.d=1:e.b=1:n.k==Au&&t.k==Aa&&($oe(n).j==(Ct(),Qn)?e.b=1:e.d=1),X6n(e,t,n)}function dCn(e){var t,n,r,a,o,f,g,w,E,C,L;return L=jxe(e),t=e.a,w=t!=null,w&&zk(L,"category",e.a),a=ZI(new br(e.d)),f=!a,f&&(E=new $p,e1(L,"knownOptions",E),n=new oQe(E),to(new br(e.d),n)),o=ZI(e.g),g=!o,g&&(C=new $p,e1(L,"supportedFeatures",C),r=new cQe(C),to(e.g,r)),L}function gCn(e){var t,n,r,a,o,f,g,w,E;for(r=!1,t=336,n=0,o=new Grt(e.length),g=e,w=0,E=g.length;w>16!=7&&t){if(FE(e,t))throw ue(new Yn(EL+lpt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?hxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,1,oF,r)),r=J4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,7,t,t))}function ibt(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(FE(e,t))throw ue(new Yn(EL+c1t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?dxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,0,uF,r)),r=Z4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,3,t,t))}function Que(e,t){GE();var n,r,a,o,f,g,w,E,C;return t.d>e.d&&(g=e,e=t,t=g),t.d<63?nSn(e,t):(f=(e.d&-2)<<4,E=v6e(e,f),C=v6e(t,f),r=mle(e,sx(E,f)),a=mle(t,sx(C,f)),w=Que(E,C),n=Que(r,a),o=Que(mle(E,r),mle(a,C)),o=Tle(Tle(o,w),n),o=sx(o,f),w=sx(w,f<<1),Tle(Tle(w,o),n))}function p2(){p2=U,gde=new M5(cyt,0),fDe=new M5("LONGEST_PATH",1),dDe=new M5("LONGEST_PATH_SOURCE",2),dde=new M5("COFFMAN_GRAHAM",3),hDe=new M5($he,4),gDe=new M5("STRETCH_WIDTH",5),CW=new M5("MIN_WIDTH",6),WT=new M5("BF_MODEL_ORDER",7),YT=new M5("DF_MODEL_ORDER",8)}function bCn(e,t,n){var r,a,o,f,g;for(f=TA(e,n),g=We(wg,m2,10,t.length,0,1),r=0,o=f.Kc();o.Ob();)a=l(o.Pb(),12),Rt(Bt(Q(a,(ft(),xB))))&&(g[r++]=l(Q(a,jl),10));if(r=0;o+=n?1:-1)f=f|t.c.lg(w,o,n,r&&!Rt(Bt(Q(t.j,(ft(),jb))))&&!Rt(Bt(Q(t.j,(ft(),j6))))),f=f|t.q.ug(w,o,n),f=f|Ubt(e,w[o],n,r);return na(e.c,t),f}function DU(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(C=Tct(e.j),L=0,B=C.length;L1&&(e.a=!0),Ydn(l(n.b,68),Oi(Ja(l(t.b,68).c),md(ma(Ja(l(n.b,68).a),l(t.b,68).a),a))),Dot(e,t),sbt(e,n)}function abt(e){var t,n,r,a,o,f,g;for(o=new G(e.a.a);o.a0&&o>0?f.p=t++:r>0?f.p=n++:o>0?f.p=a++:f.p=n++}Cn(),Vs(e.j,new W9)}function xCn(e){var t,n;n=null,t=l(jt(e.g,0),18);do{if(n=t.d.i,ns(n,(ft(),$f)))return l(Q(n,$f),12).i;if(n.k!=(Zn(),Ps)&&jr(new hr(dr(qs(n).a.Kc(),new j))))t=l(xr(new hr(dr(qs(n).a.Kc(),new j))),18);else if(n.k!=Ps)return null}while(n&&n.k!=(Zn(),Ps));return n}function kCn(e,t){var n,r,a,o,f,g,w,E,C;for(g=t.j,f=t.g,w=l(jt(g,g.c.length-1),113),C=(Sn(0,g.c.length),l(g.c[0],113)),E=vue(e,f,w,C),o=1;oE&&(w=n,C=a,E=r);t.a=C,t.c=w}function ECn(e,t,n){var r,a,o,f,g,w,E;for(E=new Kp(new UYe(e)),f=he(le(F8t,1),I3t,12,0,[t,n]),g=0,w=f.length;gw-e.b&&gw-e.a&&g0?o.a?(g=o.b.Mf().a,n>g&&(a=(n-g)/2,o.d.b=a,o.d.c=a)):o.d.c=e.s+n:W_(e.u)&&(r=$xe(o.b),r.c<0&&(o.d.b=-r.c),r.c+r.b>o.b.Mf().a&&(o.d.c=r.c+r.b-o.b.Mf().a))}function $Cn(e,t){var n,r,a,o,f;f=new bt,n=t;do o=l(cr(e.b,n),131),o.B=n.c,o.D=n.d,$n(f.c,o),n=l(cr(e.k,n),18);while(n);return r=(Sn(0,f.c.length),l(f.c[0],131)),r.j=!0,r.A=l(r.d.a.ec().Kc().Pb(),18).c.i,a=l(jt(f,f.c.length-1),131),a.q=!0,a.C=l(a.d.a.ec().Kc().Pb(),18).d.i,f}function zCn(e){var t,n;if(t=l(e.a,17).a,n=l(e.b,17).a,t>=0){if(t==n)return new ca(pt(-t-1),pt(-t-1));if(t==-n)return new ca(pt(-t),pt(n+1))}return b.Math.abs(t)>b.Math.abs(n)?t<0?new ca(pt(-t),pt(n)):new ca(pt(-t),pt(n+1)):new ca(pt(t+1),pt(n))}function qCn(e){var t,n;n=l(Q(e,(Nt(),Qu)),171),t=l(Q(e,(ft(),hv)),311),n==(hf(),$b)?(rt(e,Qu,EB),rt(e,hv,(ep(),F6))):n==d4?(rt(e,Qu,EB),rt(e,hv,(ep(),Ux))):t==(ep(),F6)?(rt(e,Qu,$b),rt(e,hv,wB)):t==Ux&&(rt(e,Qu,d4),rt(e,hv,wB))}function IU(){IU=U,IB=new pte,XEt=fi(new Xs,(uo(),bu),(vo(),LK)),ZEt=yl(fi(new Xs,bu,FK),mc,BK),eTt=Td(Td(v_(yl(fi(new Xs,y0,zK),mc,$K),_u),jK),qK),QEt=yl(fi(fi(fi(new Xs,vg,DK),_u,OK),_u,LT),mc,IK),JEt=yl(fi(fi(new Xs,_u,LT),_u,AK),mc,_K)}function GA(){GA=U,rTt=fi(yl(new Xs,(uo(),mc),(vo(),RAe)),bu,LK),oTt=Td(Td(v_(yl(fi(new Xs,y0,zK),mc,$K),_u),jK),qK),iTt=yl(fi(fi(fi(new Xs,vg,DK),_u,OK),_u,LT),mc,IK),aTt=fi(fi(new Xs,bu,FK),mc,BK),sTt=yl(fi(fi(new Xs,_u,LT),_u,AK),mc,_K)}function HCn(e,t,n,r,a){var o,f;(!Do(t)&&t.c.i.c==t.d.i.c||!uft(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])),n))&&!Do(t)&&(t.c==a?Pk(t.a,0,new Eo(n)):ci(t.a,new Eo(n)),r&&!W0(e.a,n)&&(f=l(Q(t,(Nt(),cc)),75),f||(f=new bl,rt(t,cc,f)),o=new Eo(n),Cs(f,o,f.c.b,f.c),na(e.a,o)))}function ubt(e,t){var n,r,a,o;for(o=Yr(mo(fg,ig(Yr(mo(t==null?0:es(t),dg)),15))),n=o&e.b.length-1,a=null,r=e.b[n];r;a=r,r=r.a)if(r.d==o&&yd(r.i,t))return a?a.a=r.a:e.b[n]=r.a,RJe(l(Lf(r.c),604),l(Lf(r.f),604)),WI(l(Lf(r.b),227),l(Lf(r.e),227)),--e.f,++e.e,!0;return!1}function VCn(e){var t,n;for(n=new hr(dr(ka(e).a.Kc(),new j));jr(n);)if(t=l(xr(n),18),t.c.i.k!=(Zn(),cu))throw ue(new Vp(jhe+HN(e)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function UCn(e,t,n){var r,a,o,f,g,w,E;if(a=d1t(e.Db&254),a==0)e.Eb=n;else{if(a==1)g=We(wa,Rn,1,2,5,1),o=mue(e,t),o==0?(g[0]=n,g[1]=e.Eb):(g[0]=e.Eb,g[1]=n);else for(g=We(wa,Rn,1,a+1,5,1),f=jm(e.Eb),r=2,w=0,E=0;r<=128;r<<=1)r==t?g[E++]=n:e.Db&r&&(g[E++]=f[w++]);e.Eb=g}e.Db|=t}function lbt(e,t,n){var r,a,o,f;for(this.b=new bt,a=0,r=0,f=new G(e);f.a0&&(o=l(jt(this.b,0),176),a+=o.o,r+=o.p),a*=2,r*=2,t>1?a=ua(b.Math.ceil(a*t)):r=ua(b.Math.ceil(r/t)),this.a=new I8e(a,r)}function hbt(e,t,n,r,a,o){var f,g,w,E,C,L,B,z,V,J,te,fe;for(C=r,t.j&&t.o?(z=l(cr(e.f,t.A),60),J=z.d.c+z.d.b,--C):J=t.a.c+t.a.b,L=a,n.q&&n.o?(z=l(cr(e.f,n.C),60),E=z.d.c,++L):E=n.a.c,te=E-J,w=b.Math.max(2,L-C),g=te/w,V=J+g,B=C;B=0;f+=a?1:-1){for(g=t[f],w=r==(Ct(),ar)?a?Oc(g,r):lf(Oc(g,r)):a?lf(Oc(g,r)):Oc(g,r),o&&(e.c[g.p]=w.gc()),L=w.Kc();L.Ob();)C=l(L.Pb(),12),e.d[C.p]=E++;ra(n,w)}}function dbt(e,t,n){var r,a,o,f,g,w,E,C;for(o=ze(Ge(e.b.Kc().Pb())),E=ze(Ge(q3n(t.b))),r=md(Ja(e.a),E-n),a=md(Ja(t.a),n-o),C=Oi(r,a),md(C,1/(E-o)),this.a=C,this.b=new bt,g=!0,f=e.b.Kc(),f.Pb();f.Ob();)w=ze(Ge(f.Pb())),g&&w-n>wfe&&(this.b.Fc(n),g=!1),this.b.Fc(w);g&&this.b.Fc(n)}function GCn(e){var t,n,r,a;if(l_n(e,e.n),e.d.c.length>0){for(u_(e.c);L9e(e,l(re(new G(e.e.a)),125))>5,t&=31,r>=e.d)return e.e<0?(Cd(),w6t):(Cd(),BL);if(o=e.d-r,a=We(Vr,di,28,o+1,15,1),F9n(a,o,e.a,r,t),e.e<0){for(n=0;n0&&e.a[n]<<32-t){for(n=0;n=0?!1:(n=g6((El(),io),a,t),n?(r=n.Ik(),(r>1||r==-1)&&kw(ic(io,n))!=3):!0)):!1}function XCn(e,t,n,r){var a,o,f,g,w;return g=bc(l(Oe((!t.b&&(t.b=new Ln(_r,t,4,7)),t.b),0),84)),w=bc(l(Oe((!t.c&&(t.c=new Ln(_r,t,5,8)),t.c),0),84)),ds(g)==ds(w)||Ly(w,g)?null:(f=WO(t),f==n?r:(o=l(cr(e.a,f),10),o&&(a=o.e,a)?a:null))}function QCn(e,t,n){var r,a,o,f,g;for(n.Ug("Longest path to source layering",1),e.a=t,g=e.a.a,e.b=We(Vr,di,28,g.c.length,15,1),r=0,f=new G(g);f.a0&&(n[0]+=e.d,f-=n[0]),n[2]>0&&(n[2]+=e.d,f-=n[2]),o=b.Math.max(0,f),n[1]=b.Math.max(n[1],f),y6e(e,$u,a.c+r.b+n[0]-(n[1]-f)/2,n),t==$u&&(e.c.b=o,e.c.c=a.c+r.b+(o-f)/2)}function Ebt(){this.c=We(Na,Zo,28,(Ct(),he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er])).length,15,1),this.b=We(Na,Zo,28,he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er]).length,15,1),this.a=We(Na,Zo,28,he(le(Oo,1),au,64,0,[Pc,Qn,ar,Dr,er]).length,15,1),E3e(this.c,gs),E3e(this.b,ia),E3e(this.a,ia)}function Eu(e,t,n){var r,a,o,f;if(t<=n?(a=t,o=n):(a=n,o=t),r=0,e.b==null)e.b=We(Vr,di,28,2,15,1),e.b[0]=a,e.b[1]=o,e.c=!0;else{if(r=e.b.length,e.b[r-1]+1==a){e.b[r-1]=o;return}f=We(Vr,di,28,r+2,15,1),pu(e.b,0,f,0,r),e.b=f,e.b[r-1]>=a&&(e.c=!1,e.a=!1),e.b[r++]=a,e.b[r]=o,e.c||c6(e)}}function rSn(e,t,n){var r,a,o,f,g,w,E;for(E=t.d,e.a=new Bu(E.c.length),e.c=new Pr,g=new G(E);g.a=0?e.Lh(E,!1,!0):Hw(e,n,!1),61));e:for(o=L.Kc();o.Ob();){for(a=l(o.Pb(),58),C=0;C1;)Vy(a,a.i-1);return r}function Cbt(e,t){var n,r,a,o,f,g,w;for(n=new z5,o=new G(e.b);o.ae.d[f.p]&&(n+=f6e(e.b,o),gb(e.a,pt(o)));for(;!l_(e.a);)U6e(e.b,l(X8(e.a),17).a)}return n}function uSn(e){var t,n,r,a,o,f,g,w,E;for(e.a=new i4e,E=0,a=0,r=new G(e.i.b);r.ag.d&&(C=g.d+g.a+E));n.c.d=C,t.a.zc(n,t),w=b.Math.max(w,n.c.d+n.c.a)}return w}function Ho(){Ho=U,eW=new uy("COMMENTS",0),vf=new uy("EXTERNAL_PORTS",1),UL=new uy("HYPEREDGES",2),tW=new uy("HYPERNODES",3),$T=new uy("NON_FREE_PORTS",4),B6=new uy("NORTH_SOUTH_PORTS",5),GL=new uy(X3t,6),RT=new uy("CENTER_LABELS",7),jT=new uy("END_LABELS",8),nW=new uy("PARTITIONS",9)}function hSn(e,t,n,r,a){return r<0?(r=o6(e,a,he(le(zt,1),dt,2,6,[$le,zle,qle,Hle,_x,Vle,Ule,Gle,Kle,Wle,Yle,Xle]),t),r<0&&(r=o6(e,a,he(le(zt,1),dt,2,6,["Jan","Feb","Mar","Apr",_x,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function fSn(e,t,n,r,a){return r<0?(r=o6(e,a,he(le(zt,1),dt,2,6,[$le,zle,qle,Hle,_x,Vle,Ule,Gle,Kle,Wle,Yle,Xle]),t),r<0&&(r=o6(e,a,he(le(zt,1),dt,2,6,["Jan","Feb","Mar","Apr",_x,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function dSn(e,t,n,r,a,o){var f,g,w,E;if(g=32,r<0){if(t[0]>=e.length||(g=co(e,t[0]),g!=43&&g!=45)||(++t[0],r=kU(e,t),r<0))return!1;g==45&&(r=-r)}return g==32&&t[0]-n==2&&a.b==2&&(w=new Qz,E=w.q.getFullYear()-Lb+Lb-80,f=E%100,o.a=r==f,r+=(E/100|0)*100+(r=0?kb(e):J_(kb(r2(e)))),FL[t]=Aq(l0(e,t),0)?kb(l0(e,t)):J_(kb(r2(l0(e,t)))),e=mo(e,5);for(;t=E&&(w=r);w&&(C=b.Math.max(C,w.a.o.a)),C>B&&(L=E,B=C)}return L}function wSn(e){var t,n,r,a,o,f,g;for(o=new Kp(l(Xr(new Wh),50)),g=ia,n=new G(e.d);n.akyt?Vs(w,e.b):r<=kyt&&r>Eyt?Vs(w,e.d):r<=Eyt&&r>Tyt?Vs(w,e.c):r<=Tyt&&Vs(w,e.a),o=Mbt(e,w,o);return a}function Dbt(e,t,n,r){var a,o,f,g,w,E;for(a=(r.c+r.a)/2,Ch(t.j),ci(t.j,a),Ch(n.e),ci(n.e,a),E=new QJe,g=new G(e.f);g.a1,g&&(r=new lt(a,n.b),ci(t.a,r)),fA(t.a,he(le(Ea,1),dt,8,0,[B,L]))}function J9e(e,t,n){var r,a;for(t=48;n--)GM[n]=n-48<<24>>24;for(r=70;r>=65;r--)GM[r]=r-65+10<<24>>24;for(a=102;a>=97;a--)GM[a]=a-97+10<<24>>24;for(o=0;o<10;o++)LY[o]=48+o&Zs;for(e=10;e<=15;e++)LY[e]=65+e-10&Zs}function ESn(e,t){t.Ug("Process graph bounds",1),rt(e,(Qi(),Bde),fO(uce(xy(new bn(null,new kn(e.b,16)),new zte)))),rt(e,Fde,fO(uce(xy(new bn(null,new kn(e.b,16)),new qte)))),rt(e,rIe,fO(cce(xy(new bn(null,new kn(e.b,16)),new Hte)))),rt(e,iIe,fO(cce(xy(new bn(null,new kn(e.b,16)),new Vte)))),t.Vg()}function TSn(e){var t,n,r,a,o;a=l(Q(e,(Nt(),bv)),21),o=l(Q(e,xW),21),n=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),t=new Eo(n),a.Hc((mh(),A4))&&(r=l(Q(e,qT),8),o.Hc((Zl(),aC))&&(r.a<=0&&(r.a=20),r.b<=0&&(r.b=20)),t.a=b.Math.max(n.a,r.a),t.b=b.Math.max(n.b,r.b)),Rt(Bt(Q(e,ade)))||eLn(e,n,t)}function CSn(e,t){var n,r,a,o;for(o=Oc(t,(Ct(),Dr)).Kc();o.Ob();)r=l(o.Pb(),12),n=l(Q(r,(ft(),jl)),10),n&&p0(s0(i0(a0(r0(new _f,0),.1),e.i[t.p].d),e.i[n.p].a));for(a=Oc(t,Qn).Kc();a.Ob();)r=l(a.Pb(),12),n=l(Q(r,(ft(),jl)),10),n&&p0(s0(i0(a0(r0(new _f,0),.1),e.i[n.p].d),e.i[t.p].a))}function Zue(e){var t,n,r,a,o,f;if(!e.c){if(f=new Qc,t=qM,o=t.a.zc(e,t),o==null){for(r=new or(du(e));r.e!=r.i.gc();)n=l(gr(r),89),a=jU(n),De(a,90)&&As(f,Zue(l(a,29))),qr(f,n);t.a.Bc(e)!=null,t.a.gc()==0}y5n(f),Iy(f),e.c=new N5((l(Oe(tt((lb(),Vn).o),15),19),f.i),f.g),Yl(e).b&=-33}return e.c}function eke(e){var t;if(e.c!=10)throw ue(new ri(ai((Jr(),VG))));switch(t=e.a,t){case 110:t=10;break;case 114:t=13;break;case 116:t=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw ue(new ri(ai((Jr(),bf))))}return t}function Pbt(e){var t,n,r,a,o;if(e.l==0&&e.m==0&&e.h==0)return"0";if(e.h==SP&&e.m==0&&e.l==0)return"-9223372036854775808";if(e.h>>19)return"-"+Pbt(xE(e));for(n=e,r="";!(n.l==0&&n.m==0&&n.h==0);){if(a=Loe(JU),n=Nke(n,a,!0),t=""+rZe(Nb),!(n.l==0&&n.m==0&&n.h==0))for(o=9-t.length;o>0;o--)t="0"+t;r=t+r}return r}function SSn(e){var t,n,r,a,o,f,g;for(t=!1,n=0,a=new G(e.d.b);a.a=e.a||!Bxe(t,n))return-1;if(Zk(l(r.Kb(t),20)))return 1;for(a=0,f=l(r.Kb(t),20).Kc();f.Ob();)if(o=l(f.Pb(),18),w=o.c.i==t?o.d.i:o.c.i,g=tke(e,w,n,r),g==-1||(a=b.Math.max(a,g),a>e.c-1))return-1;return a+1}function Bbt(e,t){var n,r,a,o,f,g;if(qe(t)===qe(e))return!0;if(!De(t,15)||(r=l(t,15),g=e.gc(),r.gc()!=g))return!1;if(f=r.Kc(),e.Yi()){for(n=0;n0){if(e._j(),t!=null){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return e-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return e-65+10<<24>>24;default:throw ue(new gd("Invalid hexadecimal"))}}function PU(){PU=U,j_e=new L5("SPIRAL",0),P_e=new L5("LINE_BY_LINE",1),B_e=new L5("MANHATTAN",2),N_e=new L5("JITTER",3),z0e=new L5("QUADRANTS_LINE_BY_LINE",4),R_e=new L5("QUADRANTS_MANHATTAN",5),F_e=new L5("QUADRANTS_JITTER",6),O_e=new L5("COMBINE_LINE_BY_LINE_MANHATTAN",7),I_e=new L5("COMBINE_JITTER_MANHATTAN",8)}function Rbt(e,t,n,r){var a,o,f,g,w,E;for(w=Tue(e,n),E=Tue(t,n),a=!1;w&&E&&(r||E7n(w,E,n));)f=Tue(w,n),g=Tue(E,n),uN(t),uN(e),o=w.c,Cle(w,!1),Cle(E,!1),n?(Fy(t,E.p,o),t.p=E.p,Fy(e,w.p+1,o),e.p=w.p):(Fy(e,w.p,o),e.p=w.p,Fy(t,E.p+1,o),t.p=E.p),Va(w,null),Va(E,null),w=f,E=g,a=!0;return a}function jbt(e){switch(e.g){case 0:return new Gre;case 1:return new XS;case 3:return new fet;case 4:return new zee;case 5:return new zrt;case 6:return new jI;case 2:return new YS;case 7:return new az;case 8:return new RI;default:throw ue(new Yn("No implementation is available for the layerer "+(e.f!=null?e.f:""+e.g)))}}function ISn(e,t,n,r){var a,o,f,g,w;for(a=!1,o=!1,g=new G(r.j);g.a=t.length)throw ue(new tc("Greedy SwitchDecider: Free layer not in graph."));this.c=t[e],this.e=new IO(r),ice(this.e,this.c,(Ct(),er)),this.i=new IO(r),ice(this.i,this.c,ar),this.f=new ist(this.c),this.a=!o&&a.i&&!a.s&&this.c[0].k==(Zn(),Us),this.a&&G9n(this,e,t.length)}function zbt(e,t){var n,r,a,o,f,g;o=!e.B.Hc((Zl(),sF)),f=e.B.Hc(Gge),e.a=new _1t(f,o,e.c),e.n&&O5e(e.a.n,e.n),Xie(e.g,(t1(),$u),e.a),t||(r=new DA(1,o,e.c),r.n.a=e.k,Q8(e.p,(Ct(),Qn),r),a=new DA(1,o,e.c),a.n.d=e.k,Q8(e.p,Dr,a),g=new DA(0,o,e.c),g.n.c=e.k,Q8(e.p,er,g),n=new DA(0,o,e.c),n.n.b=e.k,Q8(e.p,ar,n))}function NSn(e){var t,n,r;switch(t=l(Q(e.d,(Nt(),bp)),223),t.g){case 2:n=kIn(e);break;case 3:n=(r=new bt,Is(Fi(fc(Dc(Dc(new bn(null,new kn(e.d.b,16)),new dee),new gee),new pee),new wS),new xYe(r)),r);break;default:throw ue(new nc("Compaction not supported for "+t+" edges."))}VLn(e,n),to(new br(e.g),new wYe(e))}function PSn(e,t){var n,r,a,o,f,g,w;if(t.Ug("Process directions",1),n=l(Q(e,(Hc(),y3)),88),n!=(Js(),Q1))for(a=Rr(e.b,0);a.b!=a.d.c;){switch(r=l(Br(a),40),g=l(Q(r,(Qi(),PB)),17).a,w=l(Q(r,BB),17).a,n.g){case 4:w*=-1;break;case 1:o=g,g=w,w=o;break;case 2:f=g,g=-w,w=f}rt(r,PB,pt(g)),rt(r,BB,pt(w))}t.Vg()}function BSn(e,t){var n;return n=new Bs,t&&pc(n,l(cr(e.a,oF),96)),De(t,422)&&pc(n,l(cr(e.a,cF),96)),De(t,366)?(pc(n,l(cr(e.a,ec),96)),n):(De(t,84)&&pc(n,l(cr(e.a,_r),96)),De(t,207)?(pc(n,l(cr(e.a,Ai),96)),n):De(t,193)?(pc(n,l(cr(e.a,Hl),96)),n):(De(t,326)&&pc(n,l(cr(e.a,js),96)),n))}function FSn(e){var t,n,r,a,o,f,g,w;for(w=new xut,g=new G(e.a);g.a0&&t=0)return!1;if(t.p=n.b,vt(n.e,t),a==(Zn(),Aa)||a==Au){for(f=new G(t.j);f.ae.d[g.p]&&(n+=f6e(e.b,o),gb(e.a,pt(o)))):++f;for(n+=e.b.d*f;!l_(e.a);)U6e(e.b,l(X8(e.a),17).a)}return n}function Qbt(e){var t,n,r,a,o,f;return o=0,t=Of(e),t.kk()&&(o|=4),e.Bb&Sl&&(o|=2),De(e,102)?(n=l(e,19),a=Ro(n),n.Bb&eu&&(o|=32),a&&(yr(ky(a)),o|=8,f=a.t,(f>1||f==-1)&&(o|=16),a.Bb&eu&&(o|=64)),n.Bb&Io&&(o|=r4),o|=m0):De(t,469)?o|=512:(r=t.kk(),r&&r.i&1&&(o|=256)),e.Bb&512&&(o|=128),o}function YSn(e,t){var n;return e.f==spe?(n=kw(ic((El(),io),t)),e.e?n==4&&t!=(kx(),u9)&&t!=(kx(),c9)&&t!=(kx(),ape)&&t!=(kx(),ope):n==2):e.d&&(e.d.Hc(t)||e.d.Hc(rx(ic((El(),io),t)))||e.d.Hc(g6((El(),io),e.b,t)))?!0:e.f&&q9e((El(),e.f),HO(ic(io,t)))?(n=kw(ic(io,t)),e.e?n==4:n==2):!1}function XSn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z;for(B=-1,z=0,E=e,C=0,L=E.length;C0&&++z;++B}return z}function QSn(e,t,n,r){var a,o,f,g,w,E,C,L;return f=l(at(n,(pi(),n9)),8),w=f.a,C=f.b+e,a=b.Math.atan2(C,w),a<0&&(a+=iv),a+=t,a>iv&&(a-=iv),g=l(at(r,n9),8),E=g.a,L=g.b+e,o=b.Math.atan2(L,E),o<0&&(o+=iv),o+=t,o>iv&&(o-=iv),A1(),f0(1e-10),b.Math.abs(a-o)<=1e-10||a==o||isNaN(a)&&isNaN(o)?0:ao?1:uw(isNaN(a),isNaN(o))}function nle(e){var t,n,r,a,o,f,g;for(g=new Pr,r=new G(e.a.b);r.a=e.o)throw ue(new Bwe);g=t>>5,f=t&31,o=l0(1,Yr(l0(f,1))),a?e.n[n][g]=Q0(e.n[n][g],o):e.n[n][g]=va(e.n[n][g],O4e(o)),o=l0(o,1),r?e.n[n][g]=Q0(e.n[n][g],o):e.n[n][g]=va(e.n[n][g],O4e(o))}catch(w){throw w=bs(w),De(w,333)?ue(new tc(Ehe+e.o+"*"+e.p+The+t+Co+n+Che)):ue(w)}}function e_n(e,t,n,r){var a,o,f,g,w,E,C,L,B;for(B=new Kp(new VYe(e)),g=he(le(wg,1),m2,10,0,[t,n]),w=0,E=g.length;w0&&(r=(!e.n&&(e.n=new nt(ec,e,1,7)),l(Oe(e.n,0),135)).a,!r||hi(hi((t.a+=' "',t),r),'"'))),hi(rw(hi(rw(hi(rw(hi(rw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function Jbt(e){var t,n,r;return e.Db&64?Pue(e):(t=new Th(uSe),n=e.k,n?hi(hi((t.a+=' "',t),n),'"'):(!e.n&&(e.n=new nt(ec,e,1,7)),e.n.i>0&&(r=(!e.n&&(e.n=new nt(ec,e,1,7)),l(Oe(e.n,0),135)).a,!r||hi(hi((t.a+=' "',t),r),'"'))),hi(rw(hi(rw(hi(rw(hi(rw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function r_n(e,t){var n,r,a,o,f;for(t==(yA(),Cde)&&JN(l($i(e.a,(Ry(),bB)),15)),a=l($i(e.a,(Ry(),bB)),15).Kc();a.Ob();)switch(r=l(a.Pb(),105),n=l(jt(r.j,0),113).d.j,o=new Ol(r.j),Vs(o,new Rj),t.g){case 2:Lue(e,o,n,(Ow(),Rb),1);break;case 1:case 0:f=HTn(o),Lue(e,new Zp(o,0,f),n,(Ow(),Rb),0),Lue(e,new Zp(o,f,o.c.length),n,Rb,1)}}function ile(e,t){var n,r,a,o,f,g,w;if(t==null||t.length==0)return null;if(a=l(xu(e.a,t),143),!a){for(r=(g=new gi(e.b).a.vc().Kc(),new fs(g));r.a.Ob();)if(n=(o=l(r.a.Pb(),44),l(o.md(),143)),f=n.c,w=t.length,vn(f.substr(f.length-w,w),t)&&(t.length==f.length||co(f,f.length-t.length-1)==46)){if(a)return null;a=n}a&&rc(e.a,t,a)}return a}function i_n(e,t){var n,r,a,o;return n=new as,r=l(yc(fc(new bn(null,new kn(e.f,16)),n),Sy(new yt,new ji,new qn,new Un,he(le(oc,1),it,108,0,[(Fl(),i4),Ec]))),21),a=r.gc(),r=l(yc(fc(new bn(null,new kn(t.f,16)),n),Sy(new yt,new ji,new qn,new Un,he(le(oc,1),it,108,0,[i4,Ec]))),21),o=r.gc(),aa.p?(la(o,Dr),o.d&&(g=o.o.b,t=o.a.b,o.a.b=g-t)):o.j==Dr&&a.p>e.p&&(la(o,Qn),o.d&&(g=o.o.b,t=o.a.b,o.a.b=-(g-t)));break}return a}function uP(e,t,n,r,a){var o,f,g,w,E,C,L;if(!(De(t,207)||De(t,366)||De(t,193)))throw ue(new Yn("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return f=e.a/2,w=t.i+r-f,C=t.j+a-f,E=w+t.g+e.a,L=C+t.f+e.a,o=new bl,ci(o,new lt(w,C)),ci(o,new lt(w,L)),ci(o,new lt(E,L)),ci(o,new lt(E,C)),g=new Gue(o),pc(g,t),n&&ki(e.b,t,g),g}function KE(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(o=new lt(t,n),C=new G(e.a);C.a1,g&&(r=new lt(a,n.b),ci(t.a,r)),fA(t.a,he(le(Ea,1),dt,8,0,[B,L]))}function Nf(){Nf=U,AW=new ly(Id,0),AB=new ly("NIKOLOV",1),LB=new ly("NIKOLOV_PIXEL",2),xDe=new ly("NIKOLOV_IMPROVED",3),kDe=new ly("NIKOLOV_IMPROVED_PIXEL",4),yDe=new ly("DUMMYNODE_PERCENTAGE",5),EDe=new ly("NODECOUNT_PERCENTAGE",6),LW=new ly("NO_BOUNDARY",7),v3=new ly("MODEL_ORDER_LEFT_TO_RIGHT",8),x4=new ly("MODEL_ORDER_RIGHT_TO_LEFT",9)}function g_n(e){var t,n,r,a,o;for(r=e.length,t=new h_,o=0;o=40,f&&pAn(e),TLn(e),GCn(e),n=m1t(e),r=0;n&&r0&&ci(e.f,o)):(e.c[f]-=E+1,e.c[f]<=0&&e.a[f]>0&&ci(e.e,o))))}function hmt(e,t,n,r){var a,o,f,g,w,E,C;for(w=new lt(n,r),ma(w,l(Q(t,(Qi(),QT)),8)),C=Rr(t.b,0);C.b!=C.d.c;)E=l(Br(C),40),Oi(E.e,w),ci(e.b,E);for(g=l(yc(V5e(new bn(null,new kn(t.a,16))),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15).Kc();g.Ob();){for(f=l(g.Pb(),65),o=Rr(f.a,0);o.b!=o.d.c;)a=l(Br(o),8),a.a+=w.a,a.b+=w.b;ci(e.a,f)}}function bke(e,t){var n,r,a,o;if(0<(De(e,16)?l(e,16).gc():Xg(e.Kc()))){if(a=t,1=0&&wo*2?(C=new hV(L),E=wl(f)/gh(f),w=Lle(C,t,new A8,n,r,a,E),Oi(Y0(C.e),w),L.c.length=0,o=0,$n(L.c,C),$n(L.c,f),o=wl(C)*gh(C)+wl(f)*gh(f)):($n(L.c,f),o+=wl(f)*gh(f));return L}function dmt(e,t){var n,r,a,o,f,g;if(g=l(Q(t,(Nt(),Ms)),101),g==(Ra(),Tg)||g==Mu)for(a=new lt(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a).b,f=new G(e.a);f.an?t:n;E<=L;++E)E==n?g=r++:(o=a[E],C=V.am(o.Lk()),E==t&&(w=E==L&&!C?r-1:r),C&&++r);return B=l(AA(e,t,n),76),g!=w&&xk(e,new sN(e.e,7,f,pt(g),z.md(),w)),B}}else return l(Hue(e,t,n),76);return l(AA(e,t,n),76)}function N_n(e,t){var n,r,a,o,f,g,w;for(t.Ug("Port order processing",1),w=l(Q(e,(Nt(),ZMe)),430),r=new G(e.b);r.a=0&&(g=A7n(e,f),!(g&&(E<22?w.l|=1<>>1,f.m=C>>>1|(L&1)<<21,f.l=B>>>1|(C&1)<<21,--E;return n&&yce(w),o&&(r?(Nb=xE(e),a&&(Nb=Jft(Nb,(iE(),YSe)))):Nb=qu(e.l,e.m,e.h)),w}function F_n(e,t){var n,r,a,o,f,g,w,E,C,L;for(E=e.e[t.c.p][t.p]+1,w=t.c.a.c.length+1,g=new G(e.a);g.a0&&(Xn(0,e.length),e.charCodeAt(0)==45||(Xn(0,e.length),e.charCodeAt(0)==43))?1:0,r=f;rn)throw ue(new gd(Yw+e+'"'));return g}function R_n(e){var t,n,r,a,o,f,g;for(f=new os,o=new G(e.a);o.a1)&&t==1&&l(e.a[e.b],10).k==(Zn(),cu)?Tx(l(e.a[e.b],10),(Ih(),kg)):r&&(!n||(e.c-e.b&e.a.length-1)>1)&&t==1&&l(e.a[e.c-1&e.a.length-1],10).k==(Zn(),cu)?Tx(l(e.a[e.c-1&e.a.length-1],10),(Ih(),Gb)):(e.c-e.b&e.a.length-1)==2?(Tx(l(wA(e),10),(Ih(),kg)),Tx(l(wA(e),10),Gb)):dTn(e,a),l6e(e)}function z_n(e,t,n){var r,a,o,f,g;for(o=0,a=new or((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a));a.e!=a.i.gc();)r=l(gr(a),27),f="",(!r.n&&(r.n=new nt(ec,r,1,7)),r.n).i==0||(f=l(Oe((!r.n&&(r.n=new nt(ec,r,1,7)),r.n),0),135).a),g=new xce(o++,t,f),pc(g,r),rt(g,(Qi(),gM),r),g.e.b=r.j+r.f/2,g.f.a=b.Math.max(r.g,1),g.e.a=r.i+r.g/2,g.f.b=b.Math.max(r.f,1),ci(t.b,g),ju(n.f,r,g)}function q_n(e){var t,n,r,a,o;r=l(Q(e,(ft(),zi)),27),o=l(at(r,(Nt(),bv)),181).Hc((mh(),Cv)),e.e||(a=l(Q(e,Lu),21),t=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),a.Hc((Ho(),vf))?(Hi(r,Ms,(Ra(),Mu)),Gw(r,t.a,t.b,!1,!0)):Rt(Bt(at(r,ade)))||Gw(r,t.a,t.b,!0,!0)),o?Hi(r,bv,un(Cv)):Hi(r,bv,(n=l(K0(BM),9),new Zh(n,l(c0(n,n.length),9),0)))}function mke(e,t,n){var r,a,o,f;if(t[0]>=e.length)return n.o=0,!0;switch(co(e,t[0])){case 43:a=1;break;case 45:a=-1;break;default:return n.o=0,!0}if(++t[0],o=t[0],f=kU(e,t),f==0&&t[0]==o)return!1;if(t[0]g&&(g=a,C.c.length=0),a==g&&vt(C,new ca(n.c.i,n)));Cn(),Vs(C,e.c),pw(e.b,w.p,C)}}function G_n(e,t){var n,r,a,o,f,g,w,E,C;for(f=new G(t.b);f.ag&&(g=a,C.c.length=0),a==g&&vt(C,new ca(n.d.i,n)));Cn(),Vs(C,e.c),pw(e.f,w.p,C)}}function K_n(e,t){var n,r,a,o,f,g,w,E;if(E=Bt(Q(t,(Hc(),MTt))),E==null||(nr(E),E)){for(vEn(e,t),a=new bt,w=Rr(t.b,0);w.b!=w.d.c;)f=l(Br(w),40),n=i9e(e,f,null),n&&(pc(n,t),$n(a.c,n));if(e.a=null,e.b=null,a.c.length>1)for(r=new G(a);r.a=0&&g!=n&&(o=new _a(e,1,g,f,null),r?r.nj(o):r=o),n>=0&&(o=new _a(e,1,n,g==n?f:null,t),r?r.nj(o):r=o)),r}function bmt(e){var t,n,r;if(e.b==null){if(r=new Up,e.i!=null&&(Xo(r,e.i),r.a+=":"),e.f&256){for(e.f&256&&e.a!=null&&(hpn(e.i)||(r.a+="//"),Xo(r,e.a)),e.d!=null&&(r.a+="/",Xo(r,e.d)),e.f&16&&(r.a+="/"),t=0,n=e.j.length;tB?!1:(L=(w=ZA(r,B,!1),w.a),C+g+L<=t.b&&(aN(n,o-n.s),n.c=!0,aN(r,o-n.s),qN(r,n.s,n.t+n.d+g),r.k=!0,C7e(n.q,r),z=!0,a&&(bV(t,r),r.j=t,e.c.length>f&&(UN((Sn(f,e.c.length),l(e.c[f],186)),r),(Sn(f,e.c.length),l(e.c[f],186)).a.c.length==0&&t2(e,f)))),z)}function eAn(e,t){var n,r,a,o,f,g;if(t.Ug("Partition midprocessing",1),a=new Cw,Is(Fi(new bn(null,new kn(e.a,16)),new vj),new cYe(a)),a.d!=0){for(g=l(yc(K5e((o=a.i,new bn(null,(o||(a.i=new q5(a,a.c))).Nc()))),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),r=g.Kc(),n=l(r.Pb(),17);r.Ob();)f=l(r.Pb(),17),GTn(l($i(a,n),21),l($i(a,f),21)),n=f;t.Vg()}}function wmt(e,t,n){var r,a,o,f,g,w,E,C;if(t.p==0){for(t.p=1,f=n,f||(a=new bt,o=(r=l(K0(Oo),9),new Zh(r,l(c0(r,r.length),9),0)),f=new ca(a,o)),l(f.a,15).Fc(t),t.k==(Zn(),Us)&&l(f.b,21).Fc(l(Q(t,(ft(),Wc)),64)),w=new G(t.j);w.a0){if(a=l(e.Ab.g,2033),t==null){for(o=0;on.s&&gf)return Ct(),ar;break;case 4:case 3:if(C<0)return Ct(),Qn;if(C+n>o)return Ct(),Dr}return w=(E+g/2)/f,r=(C+n/2)/o,w+r<=1&&w-r<=0?(Ct(),er):w+r>=1&&w-r>=0?(Ct(),ar):r<.5?(Ct(),Qn):(Ct(),Dr)}function sAn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(n=!1,C=ze(Ge(Q(t,(Nt(),m3)))),V=Ab*C,a=new G(t.b);a.aw+V&&(J=L.g+B.g,B.a=(B.g*B.a+L.g*L.a)/J,B.g=J,L.f=B,n=!0)),o=g,L=B;return n}function Emt(e,t,n,r,a,o,f){var g,w,E,C,L,B;for(B=new $8,E=t.Kc();E.Ob();)for(g=l(E.Pb(),853),L=new G(g.Rf());L.a0?g.a?(E=g.b.Mf().b,a>E&&(e.v||g.c.d.c.length==1?(f=(a-E)/2,g.d.d=f,g.d.a=f):(n=l(jt(g.c.d,0),187).Mf().b,r=(n-E)/2,g.d.d=b.Math.max(0,r),g.d.a=a-r-E))):g.d.a=e.t+a:W_(e.u)&&(o=$xe(g.b),o.d<0&&(g.d.d=-o.d),o.d+o.a>g.b.Mf().b&&(g.d.a=o.d+o.a-g.b.Mf().b))}function b0(){b0=U,qx=new Ha((pi(),XB),pt(1)),kK=new Ha(Ev,80),n8t=new Ha(ANe,5),G7t=new Ha(Z6,lT),e8t=new Ha(zge,pt(1)),t8t=new Ha(qge,(Hn(),!0)),nAe=new lw(50),J7t=new Ha(_2,nAe),Z_e=WB,rAe=_M,K7t=new Ha(Dge,!1),tAe=YB,X7t=C4,Q7t=Ub,Y7t=kv,W7t=r7,Z7t=S4,eAe=(Xxe(),j7t),Z0e=H7t,xK=R7t,J0e=$7t,iAe=q7t,s8t=AM,a8t=aY,i8t=QB,r8t=sY,sAe=(dx(),L4),new Ha(i9,sAe)}function cAn(e,t){var n;switch(gN(e)){case 6:return Ia(t);case 7:return fy(t);case 8:return hy(t);case 3:return Array.isArray(t)&&(n=gN(t),!(n>=14&&n<=16));case 11:return t!=null&&typeof t===Ole;case 12:return t!=null&&(typeof t===wP||typeof t==Ole);case 0:return iue(t,e.__elementTypeId$);case 2:return Rae(t)&&t.Tm!==xe;case 1:return Rae(t)&&t.Tm!==xe||iue(t,e.__elementTypeId$);default:return!0}}function Tmt(e,t){var n,r,a,o;return r=b.Math.min(b.Math.abs(e.c-(t.c+t.b)),b.Math.abs(e.c+e.b-t.c)),o=b.Math.min(b.Math.abs(e.d-(t.d+t.a)),b.Math.abs(e.d+e.a-t.d)),n=b.Math.abs(e.c+e.b/2-(t.c+t.b/2)),n>e.b/2+t.b/2||(a=b.Math.abs(e.d+e.a/2-(t.d+t.a/2)),a>e.a/2+t.a/2)?1:n==0&&a==0?0:n==0?o/a+1:a==0?r/n+1:b.Math.min(r/n,o/a)+1}function uAn(e,t){var n,r,a,o,f,g,w;for(o=0,g=0,w=0,a=new G(e.f.e);a.a0&&e.d!=(lA(),n1e)&&(g+=f*(r.d.a+e.a[t.a][r.a]*(t.d.a-r.d.a)/n)),n>0&&e.d!=(lA(),e1e)&&(w+=f*(r.d.b+e.a[t.a][r.a]*(t.d.b-r.d.b)/n)));switch(e.d.g){case 1:return new lt(g/o,t.d.b);case 2:return new lt(t.d.a,w/o);default:return new lt(g/o,w/o)}}function Cmt(e){var t,n,r,a,o,f;for(n=(!e.a&&(e.a=new Ys(qh,e,5)),e.a).i+2,f=new Bu(n),vt(f,new lt(e.j,e.k)),Is(new bn(null,(!e.a&&(e.a=new Ys(qh,e,5)),new kn(e.a,16))),new NXe(f)),vt(f,new lt(e.b,e.c)),t=1;t0&&(SN(w,!1,(Js(),uc)),SN(w,!0,vc)),Vu(t.g,new jet(e,n)),ki(e.g,t,n)}function Amt(){Amt=U;var e;for(r_e=he(le(Vr,1),di,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),A0e=We(Vr,di,28,37,15,1),b6t=he(le(Vr,1),di,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),i_e=We(nm,ahe,28,37,14,1),e=2;e<=36;e++)A0e[e]=ua(b.Math.pow(e,r_e[e])),i_e[e]=KN(EP,A0e[e])}function lAn(e){var t;if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i!=1)throw ue(new Yn(n4t+(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i));return t=new bl,TN(l(Oe((!e.b&&(e.b=new Ln(_r,e,4,7)),e.b),0),84))&&Ka(t,bwt(e,TN(l(Oe((!e.b&&(e.b=new Ln(_r,e,4,7)),e.b),0),84)),!1)),TN(l(Oe((!e.c&&(e.c=new Ln(_r,e,5,8)),e.c),0),84))&&Ka(t,bwt(e,TN(l(Oe((!e.c&&(e.c=new Ln(_r,e,5,8)),e.c),0),84)),!0)),t}function Lmt(e,t){var n,r,a,o,f;for(t.d?a=e.a.c==(xd(),w3)?ka(t.b):qs(t.b):a=e.a.c==(xd(),T2)?ka(t.b):qs(t.b),o=!1,r=new hr(dr(a.a.Kc(),new j));jr(r);)if(n=l(xr(r),18),f=Rt(e.a.f[e.a.g[t.b.p].p]),!(!f&&!Do(n)&&n.c.i.c==n.d.i.c)&&!(Rt(e.a.n[e.a.g[t.b.p].p])||Rt(e.a.n[e.a.g[t.b.p].p]))&&(o=!0,W0(e.b,e.a.g[l7n(n,t.b).p])))return t.c=!0,t.a=n,t;return t.c=o,t.a=null,t}function wke(e,t,n){var r,a,o,f,g,w,E;if(r=n.gc(),r==0)return!1;if(e.Pj())if(w=e.Qj(),A8e(e,t,n),f=r==1?e.Ij(3,null,n.Kc().Pb(),t,w):e.Ij(5,null,n,t,w),e.Mj()){for(g=r<100?null:new nb(r),o=t+r,a=t;a0){for(f=0;f>16==-15&&e.Cb.Yh()&&qoe(new Foe(e.Cb,9,13,n,e.c,f2(Xl(l(e.Cb,62)),e))):De(e.Cb,90)&&e.Db>>16==-23&&e.Cb.Yh()&&(t=e.c,De(t,90)||(t=(Tn(),Kf)),De(n,90)||(n=(Tn(),Kf)),qoe(new Foe(e.Cb,9,10,n,t,f2(du(l(e.Cb,29)),e)))))),e.c}function dAn(e,t,n){var r,a,o,f,g,w,E,C,L;for(n.Ug("Hyperedge merging",1),FEn(e,t),w=new Ua(t.b,0);w.b0,g=HV(t,o),Iye(n?g.b:g.g,t),Z5(g).c.length==1&&Cs(r,g,r.c.b,r.c),a=new ca(o,t),gb(e.o,a),al(e.e.a,o))}function Bmt(e,t){var n,r,a,o,f,g,w;return r=b.Math.abs(mH(e.b).a-mH(t.b).a),g=b.Math.abs(mH(e.b).b-mH(t.b).b),a=0,w=0,n=1,f=1,r>e.b.b/2+t.b.b/2&&(a=b.Math.min(b.Math.abs(e.b.c-(t.b.c+t.b.b)),b.Math.abs(e.b.c+e.b.b-t.b.c)),n=1-a/r),g>e.b.a/2+t.b.a/2&&(w=b.Math.min(b.Math.abs(e.b.d-(t.b.d+t.b.a)),b.Math.abs(e.b.d+e.b.a-t.b.d)),f=1-w/g),o=b.Math.min(n,f),(1-o)*b.Math.sqrt(r*r+g*g)}function bAn(e){var t,n,r,a;for(Ale(e,e.e,e.f,(Sw(),Hb),!0,e.c,e.i),Ale(e,e.e,e.f,Hb,!1,e.c,e.i),Ale(e,e.e,e.f,K6,!0,e.c,e.i),Ale(e,e.e,e.f,K6,!1,e.c,e.i),fAn(e,e.c,e.e,e.f,e.i),r=new Ua(e.i,0);r.b=65;n--)nd[n]=n-65<<24>>24;for(r=122;r>=97;r--)nd[r]=r-97+26<<24>>24;for(a=57;a>=48;a--)nd[a]=a-48+52<<24>>24;for(nd[43]=62,nd[47]=63,o=0;o<=25;o++)N2[o]=65+o&Zs;for(f=26,w=0;f<=51;++f,w++)N2[f]=97+w&Zs;for(e=52,g=0;e<=61;++e,g++)N2[e]=48+g&Zs;N2[62]=43,N2[63]=47}function Fmt(e,t){var n,r,a,o,f,g;return a=y7e(e),g=y7e(t),a==g?e.e==t.e&&e.a<54&&t.a<54?e.ft.f?1:0:(r=e.e-t.e,n=(e.d>0?e.d:b.Math.floor((e.a-1)*Vwt)+1)-(t.d>0?t.d:b.Math.floor((t.a-1)*Vwt)+1),n>r+1?a:n0&&(f=K5(f,Wmt(r))),K1t(o,f))):aE&&(B=0,z+=w+t,w=0),KE(f,B,z),n=b.Math.max(n,B+C.a),w=b.Math.max(w,C.b),B+=C.a+t;return new lt(n+t,z+w+t)}function Eke(e,t){var n,r,a,o,f,g,w;if(!M1(e))throw ue(new nc(t4t));if(r=M1(e),o=r.g,a=r.f,o<=0&&a<=0)return Ct(),Pc;switch(g=e.i,w=e.j,t.g){case 2:case 1:if(g<0)return Ct(),er;if(g+e.g>o)return Ct(),ar;break;case 4:case 3:if(w<0)return Ct(),Qn;if(w+e.f>a)return Ct(),Dr}return f=(g+e.g/2)/o,n=(w+e.f/2)/a,f+n<=1&&f-n<=0?(Ct(),er):f+n>=1&&f-n>=0?(Ct(),ar):n<.5?(Ct(),Qn):(Ct(),Dr)}function wAn(e,t,n,r,a){var o,f;if(o=bo(va(t[0],Vo),va(r[0],Vo)),e[0]=Yr(o),o=bw(o,32),n>=a){for(f=1;f0&&(a.b[f++]=0,a.b[f++]=o.b[0]-1),t=1;t0&&(H(w,w.d-a.d),a.c==(J0(),qb)&&N(w,w.a-a.d),w.d<=0&&w.i>0&&Cs(t,w,t.c.b,t.c)));for(o=new G(e.f);o.a0&&(q(g,g.i-a.d),a.c==(J0(),qb)&&$(g,g.b-a.d),g.i<=0&&g.d>0&&Cs(n,g,n.c.b,n.c)))}function kAn(e,t,n,r,a){var o,f,g,w,E,C,L,B,z;for(Cn(),Vs(e,new tk),f=PO(e),z=new bt,B=new bt,g=null,w=0;f.b!=0;)o=l(f.b==0?null:(mr(f.b!=0),af(f,f.a.a)),163),!g||wl(g)*gh(g)/21&&(w>wl(g)*gh(g)/2||f.b==0)&&(L=new hV(B),C=wl(g)/gh(g),E=Lle(L,t,new A8,n,r,a,C),Oi(Y0(L.e),E),g=L,$n(z.c,L),w=0,B.c.length=0));return ra(z,B),z}function pu(e,t,n,r,a){Vg();var o,f,g,w,E,C,L;if(d5e(e,"src"),d5e(n,"dest"),L=bh(e),w=bh(n),I4e((L.i&4)!=0,"srcType is not an array"),I4e((w.i&4)!=0,"destType is not an array"),C=L.c,f=w.c,I4e(C.i&1?C==f:(f.i&1)==0,"Array types don't match"),cyn(e,t,n,r,a),!(C.i&1)&&L!=w)if(E=jm(e),o=jm(n),qe(e)===qe(n)&&tr;)Ts(o,g,E[--t]);else for(g=r+a;r0),r.a.Xb(r.c=--r.b),L>B+w&&ph(r);for(f=new G(z);f.a0),r.a.Xb(r.c=--r.b)}}function TAn(){Di();var e,t,n,r,a,o;if(upe)return upe;for(e=new _h(4),Ky(e,_b(p0e,!0)),nL(e,_b("M",!0)),nL(e,_b("C",!0)),o=new _h(4),r=0;r<11;r++)Eu(o,r,r);return t=new _h(4),Ky(t,_b("M",!0)),Eu(t,4448,4607),Eu(t,65438,65439),a=new B_(2),Qm(a,e),Qm(a,WM),n=new B_(2),n.Jm(oH(o,_b("L",!0))),n.Jm(t),n=new Ty(3,n),n=new f5e(a,n),upe=n,upe}function Gy(e,t){var n,r,a,o,f,g,w,E;for(n=new RegExp(t,"g"),w=We(zt,dt,2,0,6,1),r=0,E=e,o=null;;)if(g=n.exec(E),g==null||E==""){w[r]=E;break}else f=g.index,w[r]=(Ga(0,f,E.length),E.substr(0,f)),E=tf(E,f+g[0].length,E.length),n.lastIndex=0,o==E&&(w[r]=(Ga(0,1,E.length),E.substr(0,1)),E=(Xn(1,E.length+1),E.substr(1))),o=E,++r;if(e.length>0){for(a=w.length;a>0&&w[a-1]=="";)--a;a0&&(L-=r[0]+e.c,r[0]+=e.c),r[2]>0&&(L-=r[2]+e.c),r[1]=b.Math.max(r[1],L),hH(e.a[1],n.c+t.b+r[0]-(r[1]-L)/2,r[1]);for(o=e.a,g=0,E=o.length;g0?(e.n.c.length-1)*e.i:0,r=new G(e.n);r.a1)for(r=Rr(a,0);r.b!=r.d.c;)for(n=l(Br(r),235),o=0,w=new G(n.e);w.a0&&(t[0]+=e.c,L-=t[0]),t[2]>0&&(L-=t[2]+e.c),t[1]=b.Math.max(t[1],L),fH(e.a[1],r.d+n.d+t[0]-(t[1]-L)/2,t[1]);else for(V=r.d+n.d,z=r.a-n.d-n.a,f=e.a,w=0,C=f.length;w0||Fw(a.b.d,e.b.d+e.b.a)==0&&r.b<0||Fw(a.b.d+a.b.a,e.b.d)==0&&r.b>0){g=0;break}}else g=b.Math.min(g,Bpt(e,a,r));g=b.Math.min(g,zmt(e,o,g,r))}return g}function dP(e,t){var n,r,a,o,f,g,w;if(e.b<2)throw ue(new Yn("The vector chain must contain at least a source and a target point."));for(a=(mr(e.b!=0),l(e.a.a.c,8)),kO(t,a.a,a.b),w=new q8((!t.a&&(t.a=new Ys(qh,t,5)),t.a)),f=Rr(e,1);f.a=0&&o!=n))throw ue(new Yn(WP));for(a=0,w=0;wze(L1(f.g,f.d[0]).a)?(mr(w.b>0),w.a.Xb(w.c=--w.b),by(w,f),a=!0):g.e&&g.e.gc()>0&&(o=(!g.e&&(g.e=new bt),g.e).Mc(t),E=(!g.e&&(g.e=new bt),g.e).Mc(n),(o||E)&&((!g.e&&(g.e=new bt),g.e).Fc(f),++f.c));a||$n(r.c,f)}function DAn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;return L=e.a.i+e.a.g/2,B=e.a.i+e.a.g/2,V=t.i+t.g/2,te=t.j+t.f/2,g=new lt(V,te),E=l(at(t,(pi(),n9)),8),E.a=E.a+L,E.b=E.b+B,o=(g.b-E.b)/(g.a-E.a),r=g.b-o*g.a,J=n.i+n.g/2,fe=n.j+n.f/2,w=new lt(J,fe),C=l(at(n,n9),8),C.a=C.a+L,C.b=C.b+B,f=(w.b-C.b)/(w.a-C.a),a=w.b-f*w.a,z=(r-a)/(f-o),E.a>>0,"0"+t.toString(16)),r="\\x"+tf(n,n.length-2,n.length)):e>=Io?(n=(t=e>>>0,"0"+t.toString(16)),r="\\v"+tf(n,n.length-6,n.length)):r=""+String.fromCharCode(e&Zs)}return r}function Umt(e){var t,n,r;if(P5(l(Q(e,(Nt(),Ms)),101)))for(n=new G(e.j);n.a=t.o&&n.f<=t.f||t.a*.5<=n.f&&t.a*1.5>=n.f){if(f=l(jt(t.n,t.n.c.length-1),209),f.e+f.d+n.g+a<=r&&(o=l(jt(t.n,t.n.c.length-1),209),o.f-e.f+n.f<=e.b||e.a.c.length==1))return y8e(t,n),!0;if(t.s+n.g<=r&&(t.t+t.d+n.f+a<=e.b||e.a.c.length==1))return vt(t.b,n),g=l(jt(t.n,t.n.c.length-1),209),vt(t.n,new PH(t.s,g.f+g.a+t.i,t.i)),exe(l(jt(t.n,t.n.c.length-1),209),n),jmt(t,n),!0}return!1}function Kmt(e,t,n){var r,a,o,f;return e.Pj()?(a=null,o=e.Qj(),r=e.Ij(1,f=Uoe(e,t,n),n,t,o),e.Mj()&&!(e.Yi()&&f!=null?Pi(f,n):qe(f)===qe(n))?(f!=null&&(a=e.Oj(f,a)),a=e.Nj(n,a),e.Tj()&&(a=e.Wj(f,n,a)),a?(a.nj(r),a.oj()):e.Jj(r)):(e.Tj()&&(a=e.Wj(f,n,a)),a?(a.nj(r),a.oj()):e.Jj(r)),f):(f=Uoe(e,t,n),e.Mj()&&!(e.Yi()&&f!=null?Pi(f,n):qe(f)===qe(n))&&(a=null,f!=null&&(a=e.Oj(f,null)),a=e.Nj(n,a),a&&a.oj()),f)}function RAn(e,t){var n,r,a,o,f;if(t.Ug("Path-Like Graph Wrapping",1),e.b.c.length==0){t.Vg();return}if(a=new M9e(e),f=(a.i==null&&(a.i=x7e(a,new Gj)),ze(a.i)*a.f),n=f/(a.i==null&&(a.i=x7e(a,new Gj)),ze(a.i)),a.b>n){t.Vg();return}switch(l(Q(e,(Nt(),hde)),351).g){case 2:o=new Wj;break;case 0:o=new ES;break;default:o=new Yj}if(r=o.og(e,a),!o.pg())switch(l(Q(e,EW),352).g){case 2:r=Fpt(a,r);break;case 1:r=Agt(a,r)}NLn(e,a,r),t.Vg()}function XA(e,t){var n,r,a,o,f,g,w,E;t%=24,e.q.getHours()!=t&&(r=new b.Date(e.q.getTime()),r.setDate(r.getDate()+1),g=e.q.getTimezoneOffset()-r.getTimezoneOffset(),g>0&&(w=g/60|0,E=g%60,a=e.q.getDate(),n=e.q.getHours(),n+w>=24&&++a,o=new b.Date(e.q.getFullYear(),e.q.getMonth(),a,t+w,e.q.getMinutes()+E,e.q.getSeconds(),e.q.getMilliseconds()),e.q.setTime(o.getTime()))),f=e.q.getTime(),e.q.setTime(f+36e5),e.q.getHours()!=t&&e.q.setTime(f)}function jAn(e,t){var n,r,a,o;if(J2n(e.d,e.e),e.c.a.$b(),ze(Ge(Q(t.j,(Nt(),hW))))!=0||ze(Ge(Q(t.j,hW)))!=0)for(n=y6,qe(Q(t.j,yg))!==qe((Ed(),E2))&&rt(t.j,(ft(),jb),(Hn(),!0)),o=l(Q(t.j,nM),17).a,a=0;aa&&++E,vt(f,(Sn(g+E,t.c.length),l(t.c[g+E],17))),w+=(Sn(g+E,t.c.length),l(t.c[g+E],17)).a-r,++n;n=te&&e.e[w.p]>V*e.b||Me>=n*te)&&($n(B.c,g),g=new bt,Ka(f,o),o.a.$b(),E-=C,z=b.Math.max(z,E*e.b+J),E+=Me,Te=Me,Me=0,C=0,J=0);return new ca(z,B)}function dle(e){var t,n,r,a,o,f,g;if(!e.d){if(g=new Jne,t=qM,o=t.a.zc(e,t),o==null){for(r=new or(dc(e));r.e!=r.i.gc();)n=l(gr(r),29),As(g,dle(n));t.a.Bc(e)!=null,t.a.gc()==0}for(f=g.i,a=(!e.q&&(e.q=new nt(Uf,e,11,10)),new or(e.q));a.e!=a.i.gc();++f)l(gr(a),411);As(g,(!e.q&&(e.q=new nt(Uf,e,11,10)),e.q)),Iy(g),e.d=new N5((l(Oe(tt((lb(),Vn).o),9),19),g.i),g.g),e.e=l(g.g,688),e.e==null&&(e.e=X_t),Yl(e).b&=-17}return e.d}function XE(e,t,n,r){var a,o,f,g,w,E;if(E=Wu(e.e.Dh(),t),w=0,a=l(e.g,124),Fo(),l(t,69).xk()){for(f=0;f1||V==-1)if(L=l(J,71),B=l(C,71),L.dc())B.$b();else for(f=!!Ro(t),o=0,g=e.a?L.Kc():L.Ii();g.Ob();)E=l(g.Pb(),58),a=l(B1(e,E),58),a?(f?(w=B.dd(a),w==-1?B.Gi(o,a):o!=w&&B.Ui(o,a)):B.Gi(o,a),++o):e.b&&!f&&(B.Gi(o,E),++o);else J==null?C.Wb(null):(a=B1(e,J),a==null?e.b&&!Ro(t)&&C.Wb(J):C.Wb(a))}function VAn(e,t){var n,r,a,o,f,g,w,E;for(n=new gZ,a=new hr(dr(ka(t).a.Kc(),new j));jr(a);)if(r=l(xr(a),18),!Do(r)&&(g=r.c.i,Bxe(g,SK))){if(E=tke(e,g,SK,CK),E==-1)continue;n.b=b.Math.max(n.b,E),!n.a&&(n.a=new bt),vt(n.a,g)}for(f=new hr(dr(qs(t).a.Kc(),new j));jr(f);)if(o=l(xr(f),18),!Do(o)&&(w=o.d.i,Bxe(w,CK))){if(E=tke(e,w,CK,SK),E==-1)continue;n.d=b.Math.max(n.d,E),!n.c&&(n.c=new bt),vt(n.c,w)}return n}function UAn(e,t,n,r){var a,o,f,g,w,E,C;if(n.d.i!=t.i){for(a=new op(e),x(a,(Zn(),Aa)),rt(a,(ft(),zi),n),rt(a,(Nt(),Ms),(Ra(),Mu)),$n(r.c,a),f=new gu,Mc(f,a),la(f,(Ct(),er)),g=new gu,Mc(g,a),la(g,ar),C=n.d,Fa(n,f),o=new Tw,pc(o,n),rt(o,cc,null),po(o,g),Fa(o,C),E=new Ua(n.b,0);E.b1e6)throw ue(new qz("power of ten too big"));if(e<=Ii)return sx(iP($x[1],t),t);for(r=iP($x[1],Ii),a=r,n=Zc(e-Ii),t=ua(e%Ii);iu(n,Ii)>0;)a=K5(a,r),n=Df(n,Ii);for(a=K5(a,iP($x[1],t)),a=sx(a,Ii),n=Zc(e-Ii);iu(n,Ii)>0;)a=sx(a,Ii),n=Df(n,Ii);return a=sx(a,t),a}function Ymt(e){var t,n,r,a,o,f,g,w,E,C;for(w=new G(e.a);w.aE&&r>E)C=g,E=ze(t.p[g.p])+ze(t.d[g.p])+g.o.b+g.d.a;else{a=!1,n._g()&&n.bh("bk node placement breaks on "+g+" which should have been after "+C);break}if(!a)break}return n._g()&&n.bh(t+" is feasible: "+a),a}function _ke(e,t,n,r){var a,o,f,g,w,E,C,L,B;if(o=new op(e),x(o,(Zn(),Au)),rt(o,(Nt(),Ms),(Ra(),Mu)),a=0,t){for(f=new gu,rt(f,(ft(),zi),t),rt(o,zi,t.i),la(f,(Ct(),er)),Mc(f,o),B=kd(t.e),E=B,C=0,L=E.length;C0){if(a<0&&C.a&&(a=w,o=E[0],r=0),a>=0){if(g=C.b,w==a&&(g-=r++,g==0))return 0;if(!Zvt(t,E,C,g,f)){w=a-1,E[0]=o;continue}}else if(a=-1,!Zvt(t,E,C,0,f))return 0}else{if(a=-1,co(C.c,0)==32){if(L=E[0],eht(t,E),E[0]>L)continue}else if(Opn(t,C.c,E[0])){E[0]+=C.c.length;continue}return 0}return PDn(f,n)?E[0]:0}function QAn(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(C=new gH(new Dz(n)),g=We(ih,pg,28,e.f.e.c.length,16,1),l5e(g,g.length),n[t.a]=0,E=new G(e.f.e);E.a=0&&!r6(e,C,L);)--L;a[C]=L}for(z=0;z=0&&!r6(e,g,V);)--g;o[V]=g}for(w=0;wt[B]&&Br[w]&&FU(e,w,B,!1,!0)}function Ake(e){var t,n,r,a,o,f,g,w;n=Rt(Bt(Q(e,(b0(),K7t)))),o=e.a.c.d,g=e.a.d.d,n?(f=md(ma(new lt(g.a,g.b),o),.5),w=md(Ja(e.e),.5),t=ma(Oi(new lt(o.a,o.b),f),w),Fye(e.d,t)):(a=ze(Ge(Q(e.a,n8t))),r=e.d,o.a>=g.a?o.b>=g.b?(r.a=g.a+(o.a-g.a)/2+a,r.b=g.b+(o.b-g.b)/2-a-e.e.b):(r.a=g.a+(o.a-g.a)/2+a,r.b=o.b+(g.b-o.b)/2+a):o.b>=g.b?(r.a=o.a+(g.a-o.a)/2+a,r.b=g.b+(o.b-g.b)/2+a):(r.a=o.a+(g.a-o.a)/2+a,r.b=o.b+(g.b-o.b)/2-a-e.e.b))}function JA(e){var t,n,r,a,o,f,g,w;if(!e.f){if(w=new _I,g=new _I,t=qM,f=t.a.zc(e,t),f==null){for(o=new or(dc(e));o.e!=o.i.gc();)a=l(gr(o),29),As(w,JA(a));t.a.Bc(e)!=null,t.a.gc()==0}for(r=(!e.s&&(e.s=new nt(dl,e,21,17)),new or(e.s));r.e!=r.i.gc();)n=l(gr(r),179),De(n,102)&&qr(g,l(n,19));Iy(g),e.r=new zit(e,(l(Oe(tt((lb(),Vn).o),6),19),g.i),g.g),As(w,e.r),Iy(w),e.f=new N5((l(Oe(tt(Vn.o),5),19),w.i),w.g),Yl(e).b&=-3}return e.f}function Qmt(e){sw(e,new Xm(nw(Zv(tw(ew(new x1,nv),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new z0))),gt(e,nv,_he,It(X_e)),gt(e,nv,Ahe,It(W0e)),gt(e,nv,Ox,It(I7t)),gt(e,nv,Xw,It(Y_e)),gt(e,nv,bEe,It(B7t)),gt(e,nv,mEe,It(P7t)),gt(e,nv,pEe,It(F7t)),gt(e,nv,vEe,It(N7t)),gt(e,nv,CEe,It(O7t)),gt(e,nv,SEe,It(K0e)),gt(e,nv,_Ee,It(W_e)),gt(e,nv,AEe,It(vK))}function zU(){zU=U,bPe=he(le(kf,1),Ad,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),S_t=new RegExp(`[ +\r\f]+`);try{jM=he(le(OOn,1),Rn,2114,0,[new KI((iye(),KV("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",MO((zz(),zz(),NL))))),new KI(KV("yyyy-MM-dd'T'HH:mm:ss'.'SSS",MO(NL))),new KI(KV("yyyy-MM-dd'T'HH:mm:ss",MO(NL))),new KI(KV("yyyy-MM-dd'T'HH:mm",MO(NL))),new KI(KV("yyyy-MM-dd",MO(NL)))])}catch(e){if(e=bs(e),!De(e,82))throw ue(e)}}function ZAn(e,t){var n,r,a,o;if(a=Jl(e.d,1)!=0,r=cke(e,t),r==0&&Rt(Bt(Q(t.j,(ft(),jb)))))return 0;!Rt(Bt(Q(t.j,(ft(),jb))))&&!Rt(Bt(Q(t.j,j6)))||qe(Q(t.j,(Nt(),yg)))===qe((Ed(),E2))?t.c.mg(t.e,a):a=Rt(Bt(Q(t.j,jb))),cP(e,t,a,!0),Rt(Bt(Q(t.j,j6)))&&rt(t.j,j6,(Hn(),!1)),Rt(Bt(Q(t.j,jb)))&&(rt(t.j,jb,(Hn(),!1)),rt(t.j,j6,!0)),n=cke(e,t);do{if(w7e(e),n==0)return 0;a=!a,o=n,cP(e,t,a,!1),n=cke(e,t)}while(o>n);return o}function Jmt(e,t){var n,r,a,o;if(a=Jl(e.d,1)!=0,r=xU(e,t),r==0&&Rt(Bt(Q(t.j,(ft(),jb)))))return 0;!Rt(Bt(Q(t.j,(ft(),jb))))&&!Rt(Bt(Q(t.j,j6)))||qe(Q(t.j,(Nt(),yg)))===qe((Ed(),E2))?t.c.mg(t.e,a):a=Rt(Bt(Q(t.j,jb))),cP(e,t,a,!0),Rt(Bt(Q(t.j,j6)))&&rt(t.j,j6,(Hn(),!1)),Rt(Bt(Q(t.j,jb)))&&(rt(t.j,jb,(Hn(),!1)),rt(t.j,j6,!0)),n=xU(e,t);do{if(w7e(e),n==0)return 0;a=!a,o=n,cP(e,t,a,!1),n=xU(e,t)}while(o>n);return o}function Lke(e,t,n,r){var a,o,f,g,w,E,C,L,B;return w=ma(new lt(n.a,n.b),e),E=w.a*t.b-w.b*t.a,C=t.a*r.b-t.b*r.a,L=(w.a*r.b-w.b*r.a)/C,B=E/C,C==0?E==0?(a=Oi(new lt(n.a,n.b),md(new lt(r.a,r.b),.5)),o=pb(e,a),f=pb(Oi(new lt(e.a,e.b),t),a),g=b.Math.sqrt(r.a*r.a+r.b*r.b)*.5,o=0&&L<=1&&B>=0&&B<=1?Oi(new lt(e.a,e.b),md(new lt(t.a,t.b),L)):null}function eLn(e,t,n){var r,a,o,f,g;if(r=l(Q(e,(Nt(),J1e)),21),n.a>t.a&&(r.Hc((Ym(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(TM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((Ym(),SM))?e.c.b+=(n.b-t.b)/2:r.Hc(CM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),Lu)),21).Hc((Ho(),vf))&&(n.a>t.a||n.b>t.b))for(g=new G(e.a);g.at.a&&(r.Hc((Ym(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(TM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((Ym(),SM))?e.c.b+=(n.b-t.b)/2:r.Hc(CM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),Lu)),21).Hc((Ho(),vf))&&(n.a>t.a||n.b>t.b))for(f=new G(e.a);f.a0?e.i:0)>t&&w>0&&(o=0,f+=w+e.i,a=b.Math.max(a,B),r+=w+e.i,w=0,B=0,n&&(++L,vt(e.n,new PH(e.s,f,e.i))),g=0),B+=E.g+(g>0?e.i:0),w=b.Math.max(w,E.f),n&&exe(l(jt(e.n,L),209),E),o+=E.g+(g>0?e.i:0),++g;return a=b.Math.max(a,B),r+=w,n&&(e.r=a,e.d=r,ixe(e.j)),new ef(e.s,e.t,a,r)}function gle(e){var t,n,r,a,o,f,g,w,E,C,L,B;for(e.b=!1,L=gs,w=ia,B=gs,E=ia,r=e.e.a.ec().Kc();r.Ob();)for(n=l(r.Pb(),272),a=n.a,L=b.Math.min(L,a.c),w=b.Math.max(w,a.c+a.b),B=b.Math.min(B,a.d),E=b.Math.max(E,a.d+a.a),f=new G(n.c);f.ae.o.a&&(C=(w-e.o.a)/2,g.b=b.Math.max(g.b,C),g.c=b.Math.max(g.c,C))}}function iLn(e){var t,n,r,a,o,f,g,w;for(o=new Kot,Pln(o,(hx(),dSt)),r=(a=ace(e,We(zt,dt,2,0,6,1)),new kr(new Il(new ase(e,a).b)));r.bg?1:-1:W7e(e.a,t.a,o),a==-1)L=-w,C=f==w?Doe(t.a,g,e.a,o):Ooe(t.a,g,e.a,o);else if(L=f,f==w){if(a==0)return Cd(),BL;C=Doe(e.a,o,t.a,g)}else C=Ooe(e.a,o,t.a,g);return E=new Im(L,C.length,C),iA(E),E}function sLn(e,t){var n,r,a,o;if(o=Pmt(t),!t.c&&(t.c=new nt(Hl,t,9,9)),Is(new bn(null,(!t.c&&(t.c=new nt(Hl,t,9,9)),new kn(t.c,16))),new $We(o)),a=l(Q(o,(ft(),Lu)),21),QMn(t,a),a.Hc((Ho(),vf)))for(r=new or((!t.c&&(t.c=new nt(Hl,t,9,9)),t.c));r.e!=r.i.gc();)n=l(gr(r),123),SDn(e,t,o,n);return l(at(t,(Nt(),bv)),181).gc()!=0&&_bt(t,o),Rt(Bt(Q(o,XMe)))&&a.Fc(nW),ns(o,CB)&&NJe(new D8e(ze(Ge(Q(o,CB)))),o),qe(at(t,p4))===qe((rp(),A2))?XIn(e,t,o):NIn(e,t,o),o}function aLn(e){var t,n,r,a,o,f,g,w;for(a=new G(e.b);a.a0?tf(n.a,0,o-1):""):(Ga(0,o-1,e.length),e.substr(0,o-1)):n?n.a:e}function oLn(e,t){var n,r,a,o,f,g,w;for(t.Ug("Sort By Input Model "+Q(e,(Nt(),yg)),1),a=0,r=new G(e.b);r.a=e.b.length?(o[a++]=f.b[r++],o[a++]=f.b[r++]):r>=f.b.length?(o[a++]=e.b[n++],o[a++]=e.b[n++]):f.b[r]0?e.i:0)),++t;for(g8e(e.n,w),e.d=n,e.r=r,e.g=0,e.f=0,e.e=0,e.o=gs,e.p=gs,o=new G(e.b);o.a0&&(a=(!e.n&&(e.n=new nt(ec,e,1,7)),l(Oe(e.n,0),135)).a,!a||hi(hi((t.a+=' "',t),a),'"'))),n=(!e.b&&(e.b=new Ln(_r,e,4,7)),!(e.b.i<=1&&(!e.c&&(e.c=new Ln(_r,e,5,8)),e.c.i<=1))),n?t.a+=" [":t.a+=" ",hi(t,Eye(new Zie,new or(e.b))),n&&(t.a+="]"),t.a+=Phe,n&&(t.a+="["),hi(t,Eye(new Zie,new or(e.c))),n&&(t.a+="]"),t.a)}function uLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn;for(Ze=e.c,ot=t.c,n=gc(Ze.a,e,0),r=gc(ot.a,t,0),Me=l(Rw(e,(qo(),$l)).Kc().Pb(),12),an=l(Rw(e,zu).Kc().Pb(),12),$e=l(Rw(t,$l).Kc().Pb(),12),Bn=l(Rw(t,zu).Kc().Pb(),12),fe=kd(Me.e),St=kd(an.g),Te=kd($e.e),cn=kd(Bn.g),Fy(e,r,ot),f=Te,C=0,V=f.length;CC?new Pm((J0(),E4),n,t,E-C):E>0&&C>0&&(new Pm((J0(),E4),t,n,0),new Pm(E4,n,t,0))),f)}function fLn(e,t,n){var r,a,o;for(e.a=new bt,o=Rr(t.b,0);o.b!=o.d.c;){for(a=l(Br(o),40);l(Q(a,(Hc(),$d)),17).a>e.a.c.length-1;)vt(e.a,new ca(y6,hCe));r=l(Q(a,$d),17).a,n==(Js(),uc)||n==vc?(a.e.aze(Ge(l(jt(e.a,r),42).b))&&ct(l(jt(e.a,r),42),a.e.a+a.f.a)):(a.e.bze(Ge(l(jt(e.a,r),42).b))&&ct(l(jt(e.a,r),42),a.e.b+a.f.b))}}function tvt(e,t,n,r){var a,o,f,g,w,E,C;if(o=zV(r),g=Rt(Bt(Q(r,(Nt(),VMe)))),(g||Rt(Bt(Q(e,bW))))&&!P5(l(Q(e,Ms),101)))a=gx(o),w=vke(e,n,n==(qo(),zu)?a:BN(a));else switch(w=new gu,Mc(w,e),t?(C=w.n,C.a=t.a-e.n.a,C.b=t.b-e.n.b,opt(C,0,0,e.o.a,e.o.b),la(w,kmt(w,o))):(a=gx(o),la(w,n==(qo(),zu)?a:BN(a))),f=l(Q(r,(ft(),Lu)),21),E=w.j,o.g){case 2:case 1:(E==(Ct(),Qn)||E==Dr)&&f.Fc((Ho(),B6));break;case 4:case 3:(E==(Ct(),ar)||E==er)&&f.Fc((Ho(),B6))}return w}function nvt(e,t){var n,r,a,o,f,g;for(f=new qm(new Sr(e.f.b).a);f.b;){if(o=Nw(f),a=l(o.ld(),602),t==1){if(a.Af()!=(Js(),wf)&&a.Af()!=Q1)continue}else if(a.Af()!=(Js(),uc)&&a.Af()!=vc)continue;switch(r=l(l(o.md(),42).b,86),g=l(l(o.md(),42).a,194),n=g.c,a.Af().g){case 2:r.g.c=e.e.a,r.g.b=b.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=b.Math.max(1,r.g.b-n);break;case 4:r.g.d=e.e.b,r.g.a=b.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=b.Math.max(1,r.g.a-n)}}}function dLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(g=We(Vr,di,28,t.b.c.length,15,1),E=We(l1e,it,273,t.b.c.length,0,1),w=We(wg,m2,10,t.b.c.length,0,1),L=e.a,B=0,z=L.length;B0&&w[r]&&(V=j5(e.b,w[r],a)),J=b.Math.max(J,a.c.c.b+V);for(o=new G(C.e);o.a1)throw ue(new Yn(ZP));w||(o=sg(t,r.Kc().Pb()),f.Fc(o))}return N7e(e,t9e(e,t,n),f)}function HU(e,t,n){var r,a,o,f,g,w,E,C;if(up(e.e,t))w=(Fo(),l(t,69).xk()?new nH(t,e):new yO(t,e)),EU(w.c,w.b),F_(w,l(n,16));else{for(C=Wu(e.e.Dh(),t),r=l(e.g,124),f=0;f"}w!=null&&(t.a+=""+w)}else e.e?(g=e.e.zb,g!=null&&(t.a+=""+g)):(t.a+="?",e.b?(t.a+=" super ",wle(e.b,t)):e.f&&(t.a+=" extends ",wle(e.f,t)))}function wLn(e){e.b=null,e.a=null,e.o=null,e.q=null,e.v=null,e.w=null,e.B=null,e.p=null,e.Q=null,e.R=null,e.S=null,e.T=null,e.U=null,e.V=null,e.W=null,e.bb=null,e.eb=null,e.ab=null,e.H=null,e.db=null,e.c=null,e.d=null,e.f=null,e.n=null,e.r=null,e.s=null,e.u=null,e.G=null,e.J=null,e.e=null,e.j=null,e.i=null,e.g=null,e.k=null,e.t=null,e.F=null,e.I=null,e.L=null,e.M=null,e.O=null,e.P=null,e.$=null,e.N=null,e.Z=null,e.cb=null,e.K=null,e.D=null,e.A=null,e.C=null,e._=null,e.fb=null,e.X=null,e.Y=null,e.gb=!1,e.hb=!1}function yLn(e){var t,n,r,a;if(r=Dle((!e.c&&(e.c=XO(Zc(e.f))),e.c),0),e.e==0||e.a==0&&e.f!=-1&&e.e<0)return r;if(t=y7e(e)<0?1:0,n=e.e,a=(r.length+1+b.Math.abs(ua(e.e)),new S5),t==1&&(a.a+="-"),e.e>0)if(n-=r.length-t,n>=0){for(a.a+="0.";n>lv.length;n-=lv.length)Qit(a,lv);Prt(a,lv,ua(n)),hi(a,(Xn(t,r.length+1),r.substr(t)))}else n=t-n,hi(a,tf(r,t,ua(n))),a.a+=".",hi(a,w5e(r,ua(n)));else{for(hi(a,(Xn(t,r.length+1),r.substr(t)));n<-lv.length;n+=lv.length)Qit(a,lv);Prt(a,lv,ua(-n))}return a.a}function yle(e){var t,n,r,a,o,f,g,w,E;return!(e.k!=(Zn(),Ps)||e.j.c.length<=1||(o=l(Q(e,(Nt(),Ms)),101),o==(Ra(),Mu))||(a=(By(),(e.q?e.q:(Cn(),Cn(),mg))._b(g3)?r=l(Q(e,g3),203):r=l(Q(eo(e),eM),203),r),a==_W)||!(a==G6||a==U6)&&(f=ze(Ge(Py(e,tM))),t=l(Q(e,_B),140),!t&&(t=new n4e(f,f,f,f)),E=Oc(e,(Ct(),er)),w=t.d+t.a+(E.gc()-1)*f,w>e.o.b||(n=Oc(e,ar),g=t.d+t.a+(n.gc()-1)*f,g>e.o.b)))}function xLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;t.Ug("Orthogonal edge routing",1),E=ze(Ge(Q(e,(Nt(),V6)))),n=ze(Ge(Q(e,q6))),r=ze(Ge(Q(e,vv))),B=new Hae(0,n),te=0,f=new Ua(e.b,0),g=null,C=null,w=null,L=null;do C=f.b0?(z=(V-1)*n,g&&(z+=r),C&&(z+=r),zt||Rt(Bt(at(w,(z1(),$B)))))&&(a=0,o+=C.b+n,$n(L.c,C),C=new Q5e(o,n),r=new kce(0,C.f,C,n),bV(C,r),a=0),r.b.c.length==0||!Rt(Bt(at(ds(w),(z1(),hge))))&&(w.f>=r.o&&w.f<=r.f||r.a*.5<=w.f&&r.a*1.5>=w.f)?y8e(r,w):(f=new kce(r.s+r.r+n,C.f,C,n),bV(C,f),y8e(f,w)),a=w.i+w.g;return $n(L.c,C),L}function eL(e){var t,n,r,a;if(!(e.b==null||e.b.length<=2)&&!e.a){for(t=0,a=0;a=e.b[a+1])a+=2;else if(n0)for(r=new Ol(l($i(e.a,o),21)),Cn(),Vs(r,new GI(t)),a=new Ua(o.b,0);a.b0&&r>=-6?r>=0?EO(o,n-ua(e.e),String.fromCharCode(46)):(hce(o,t-1,t-1,"0."),EO(o,t+1,If(lv,0,-ua(r)-1))):(n-t>=1&&(EO(o,t,String.fromCharCode(46)),++n),EO(o,n,String.fromCharCode(69)),r>0&&EO(o,++n,String.fromCharCode(43)),EO(o,++n,""+Y_(Zc(r)))),e.g=o.a,e.g))}function DLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St;r=ze(Ge(Q(t,(Nt(),KMe)))),Ze=l(Q(t,nM),17).a,B=4,a=3,ot=20/Ze,z=!1,w=0,f=Ii;do{for(o=w!=1,L=w!=0,St=0,te=e.a,Te=0,$e=te.length;Te<$e;++Te)V=te[Te],V.f=null,vDn(e,V,o,L,r),St+=b.Math.abs(V.a);do g=sAn(e,t);while(g);for(J=e.a,fe=0,Me=J.length;feZe)?(w=2,f=Ii):w==0?(w=1,f=St):(w=0,f=St)):(z=St>=f||f-St0?1:uw(isNaN(r),isNaN(0)))>=0^(f0(Nd),(b.Math.abs(g)<=Nd||g==0||isNaN(g)&&isNaN(0)?0:g<0?-1:g>0?1:uw(isNaN(g),isNaN(0)))>=0)?b.Math.max(g,r):(f0(Nd),(b.Math.abs(r)<=Nd||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:uw(isNaN(r),isNaN(0)))>0?b.Math.sqrt(g*g+r*r):-b.Math.sqrt(g*g+r*r))}function Qm(e,t){var n,r,a,o,f,g;if(t){if(!e.a&&(e.a=new jz),e.e==2){Rz(e.a,t);return}if(t.e==1){for(a=0;a=Io?Xo(n,w8e(r)):Uk(n,r&Zs),f=new coe(10,null,0),pgn(e.a,f,g-1)):(n=(f.Mm().length+o,new h_),Xo(n,f.Mm())),t.e==0?(r=t.Km(),r>=Io?Xo(n,w8e(r)):Uk(n,r&Zs)):Xo(n,t.Mm()),l(f,530).b=n.a}}function NLn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(!n.dc()){for(g=0,B=0,r=n.Kc(),V=l(r.Pb(),17).a;g1&&(w=E.Hg(w,e.a,g));return w.c.length==1?l(jt(w,w.c.length-1),238):w.c.length==2?ELn((Sn(0,w.c.length),l(w.c[0],238)),(Sn(1,w.c.length),l(w.c[1],238)),f,o):null}function RLn(e,t,n){var r,a,o,f,g,w,E;for(n.Ug("Find roots",1),e.a.c.length=0,a=Rr(t.b,0);a.b!=a.d.c;)r=l(Br(a),40),r.b.b==0&&(rt(r,(Qi(),Vb),(Hn(),!0)),vt(e.a,r));switch(e.a.c.length){case 0:o=new xce(0,t,"DUMMY_ROOT"),rt(o,(Qi(),Vb),(Hn(),!0)),rt(o,Nde,!0),ci(t.b,o);break;case 1:break;default:for(f=new xce(0,t,DG),w=new G(e.a);w.a=b.Math.abs(r.b)?(r.b=0,o.d+o.a>f.d&&o.df.c&&o.c0){if(t=new eye(e.i,e.g),n=e.i,o=n<100?null:new nb(n),e.Tj())for(r=0;r0){for(g=e.g,E=e.i,uA(e),o=E<100?null:new nb(E),r=0;r>13|(e.m&15)<<9,a=e.m>>4&8191,o=e.m>>17|(e.h&255)<<5,f=(e.h&1048320)>>8,g=t.l&8191,w=t.l>>13|(t.m&15)<<9,E=t.m>>4&8191,C=t.m>>17|(t.h&255)<<5,L=(t.h&1048320)>>8,cn=n*g,an=r*g,Bn=a*g,jn=o*g,ur=f*g,w!=0&&(an+=n*w,Bn+=r*w,jn+=a*w,ur+=o*w),E!=0&&(Bn+=n*E,jn+=r*E,ur+=a*E),C!=0&&(jn+=n*C,ur+=r*C),L!=0&&(ur+=n*L),z=cn&eh,V=(an&511)<<13,B=z+V,te=cn>>22,fe=an>>9,Te=(Bn&262143)<<4,Me=(jn&31)<<17,J=te+fe+Te+Me,Ze=Bn>>18,ot=jn>>5,St=(ur&4095)<<8,$e=Ze+ot+St,J+=B>>22,B&=eh,$e+=J>>22,J&=eh,$e&=hp,qu(B,J,$e)}function dvt(e){var t,n,r,a,o,f,g;if(g=l(jt(e.j,0),12),g.g.c.length!=0&&g.e.c.length!=0)throw ue(new nc("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(g.g.c.length!=0){for(o=gs,n=new G(g.g);n.a4)if(e.fk(t)){if(e.al()){if(a=l(t,54),r=a.Eh(),w=r==e.e&&(e.ml()?a.yh(a.Fh(),e.il())==e.jl():-1-a.Fh()==e.Lj()),e.nl()&&!w&&!r&&a.Jh()){for(o=0;o0&&gpt(e,g,L);for(a=new G(L);a.ae.d[f.p]&&(n+=f6e(e.b,o)*l(w.b,17).a,gb(e.a,pt(o)));for(;!l_(e.a);)U6e(e.b,l(X8(e.a),17).a)}return n}function HLn(e,t){var n,r,a,o,f,g,w,E,C,L;if(C=l(Q(e,(ft(),Wc)),64),r=l(jt(e.j,0),12),C==(Ct(),Qn)?la(r,Dr):C==Dr&&la(r,Qn),l(Q(t,(Nt(),bv)),181).Hc((mh(),Cv))){if(w=ze(Ge(Q(e,GT))),E=ze(Ge(Q(e,KT))),f=ze(Ge(Q(e,y4))),g=l(Q(t,v4),21),g.Hc((Rl(),vp)))for(n=E,L=e.o.a/2-r.n.a,o=new G(r.f);o.a0&&(E=e.n.a/o);break;case 2:case 4:a=e.i.o.b,a>0&&(E=e.n.b/a)}rt(e,(ft(),l3),E)}if(w=e.o,f=e.a,r)f.a=r.a,f.b=r.b,e.d=!0;else if(t!=Z1&&t!=Wb&&g!=Pc)switch(g.g){case 1:f.a=w.a/2;break;case 2:f.a=w.a,f.b=w.b/2;break;case 3:f.a=w.a/2,f.b=w.b;break;case 4:f.b=w.b/2}else f.a=w.a/2,f.b=w.b/2}function tL(e){var t,n,r,a,o,f,g,w,E,C;if(e.Pj())if(C=e.Ej(),w=e.Qj(),C>0)if(t=new T7e(e.pj()),n=C,o=n<100?null:new nb(n),AO(e,n,t.g),a=n==1?e.Ij(4,Oe(t,0),null,0,w):e.Ij(6,t,null,-1,w),e.Mj()){for(r=new or(t);r.e!=r.i.gc();)o=e.Oj(gr(r),o);o?(o.nj(a),o.oj()):e.Jj(a)}else o?(o.nj(a),o.oj()):e.Jj(a);else AO(e,e.Ej(),e.Fj()),e.Jj(e.Ij(6,(Cn(),_o),null,-1,w));else if(e.Mj())if(C=e.Ej(),C>0){for(g=e.Fj(),E=C,AO(e,C,g),o=E<100?null:new nb(E),r=0;r1&&wl(f)*gh(f)/2>g[0]){for(o=0;og[o];)++o;V=new Zp(J,0,o+1),L=new hV(V),C=wl(f)/gh(f),w=Lle(L,t,new A8,n,r,a,C),Oi(Y0(L.e),w),K8($E(B,L),aT),z=new Zp(J,o+1,J.c.length),cxe(B,z),J.c.length=0,E=0,gst(g,g.length,0)}else te=B.b.c.length==0?null:jt(B.b,0),te!=null&&rce(B,0),E>0&&(g[E]=g[E-1]),g[E]+=wl(f)*gh(f),++E,$n(J.c,f);return J}function YLn(e,t){var n,r,a,o;n=t.b,o=new Ol(n.j),a=0,r=n.j,r.c.length=0,mw(l(zm(e.b,(Ct(),Qn),(Ow(),o3)),15),n),a=zN(o,a,new Gv,r),mw(l(zm(e.b,Qn,Rb),15),n),a=zN(o,a,new bee,r),mw(l(zm(e.b,Qn,a3),15),n),mw(l(zm(e.b,ar,o3),15),n),mw(l(zm(e.b,ar,Rb),15),n),a=zN(o,a,new $j,r),mw(l(zm(e.b,ar,a3),15),n),mw(l(zm(e.b,Dr,o3),15),n),a=zN(o,a,new zj,r),mw(l(zm(e.b,Dr,Rb),15),n),a=zN(o,a,new qj,r),mw(l(zm(e.b,Dr,a3),15),n),mw(l(zm(e.b,er,o3),15),n),a=zN(o,a,new Bj,r),mw(l(zm(e.b,er,Rb),15),n),mw(l(zm(e.b,er,a3),15),n)}function XLn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z;for(g=new G(t);g.a.5?fe-=f*2*(V-.5):V<.5&&(fe+=o*2*(.5-V)),a=g.d.b,fete.a-J-C&&(fe=te.a-J-C),g.n.a=t+fe}}function eMn(e){var t,n,r,a,o;if(r=l(Q(e,(Nt(),Qu)),171),r==(hf(),$b)){for(n=new hr(dr(ka(e).a.Kc(),new j));jr(n);)if(t=l(xr(n),18),!Aut(t))throw ue(new Vp(jhe+HN(e)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(r==d4){for(o=new hr(dr(qs(e).a.Kc(),new j));jr(o);)if(a=l(xr(o),18),!Aut(a))throw ue(new Vp(jhe+HN(e)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function bP(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V;if(e.e&&e.c.c>19&&(t=xE(t),w=!w),f=RTn(t),o=!1,a=!1,r=!1,e.h==SP&&e.m==0&&e.l==0)if(a=!0,o=!0,f==-1)e=ent((iE(),WSe)),r=!0,w=!w;else return g=D9e(e,f),w&&yce(g),n&&(Nb=qu(0,0,0)),g;else e.h>>19&&(o=!0,e=xE(e),r=!0,w=!w);return f!=-1?dyn(e,f,w,o,n):bxe(e,t)<0?(n&&(o?Nb=xE(e):Nb=qu(e.l,e.m,e.h)),qu(0,0,0)):B_n(r?e:qu(e.l,e.m,e.h),t,w,o,a,n)}function Tle(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V;if(f=e.e,w=t.e,f==0)return t;if(w==0)return e;if(o=e.d,g=t.d,o+g==2)return n=va(e.a[0],Vo),r=va(t.a[0],Vo),f==w?(C=bo(n,r),V=Yr(C),z=Yr(ub(C,32)),z==0?new Qg(f,V):new Im(f,2,he(le(Vr,1),di,28,15,[V,z]))):(Cd(),Aq(f<0?Df(r,n):Df(n,r),0)?kb(f<0?Df(r,n):Df(n,r)):J_(kb(r2(f<0?Df(r,n):Df(n,r)))));if(f==w)B=f,L=o>=g?Ooe(e.a,o,t.a,g):Ooe(t.a,g,e.a,o);else{if(a=o!=g?o>g?1:-1:W7e(e.a,t.a,o),a==0)return Cd(),BL;a==1?(B=f,L=Doe(e.a,o,t.a,g)):(B=w,L=Doe(t.a,g,e.a,o))}return E=new Im(B,L.length,L),iA(E),E}function nMn(e,t){var n,r,a,o,f,g,w;if(!(e.g>t.f||t.g>e.f)){for(n=0,r=0,f=e.w.a.ec().Kc();f.Ob();)a=l(f.Pb(),12),Ice(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,t.g,t.f)&&++n;for(g=e.r.a.ec().Kc();g.Ob();)a=l(g.Pb(),12),Ice(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,t.g,t.f)&&--n;for(w=t.w.a.ec().Kc();w.Ob();)a=l(w.Pb(),12),Ice(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,e.g,e.f)&&++r;for(o=t.r.a.ec().Kc();o.Ob();)a=l(o.Pb(),12),Ice(Ic(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,e.g,e.f)&&--r;n=0)return n;switch(kw(ic(e,n))){case 2:{if(vn("",o2(e,n.qk()).xe())){if(w=HO(ic(e,n)),g=Wk(ic(e,n)),C=P9e(e,t,w,g),C)return C;for(a=hke(e,t),f=0,L=a.gc();f1)throw ue(new Yn(ZP));for(C=Wu(e.e.Dh(),t),r=l(e.g,124),f=0;f1,E=new N1(B.b);Lc(E.a)||Lc(E.b);)w=l(Lc(E.a)?re(E.a):re(E.b),18),L=w.c==B?w.d:w.c,b.Math.abs(Ic(he(le(Ea,1),dt,8,0,[L.i.n,L.n,L.a])).b-f.b)>1&&HCn(e,w,f,o,B)}}function cMn(e){var t,n,r,a,o,f;if(a=new Ua(e.e,0),r=new Ua(e.a,0),e.d)for(n=0;nwfe;){for(o=t,f=0;b.Math.abs(t-o)0),a.a.Xb(a.c=--a.b),EAn(e,e.b-f,o,r,a),mr(a.b0),r.a.Xb(r.c=--r.b)}if(!e.d)for(n=0;n0?(e.f[C.p]=z/(C.e.c.length+C.g.c.length),e.c=b.Math.min(e.c,e.f[C.p]),e.b=b.Math.max(e.b,e.f[C.p])):g&&(e.f[C.p]=z)}}function lMn(e){e.b=null,e.bb=null,e.fb=null,e.qb=null,e.a=null,e.c=null,e.d=null,e.e=null,e.f=null,e.n=null,e.M=null,e.L=null,e.Q=null,e.R=null,e.K=null,e.db=null,e.eb=null,e.g=null,e.i=null,e.j=null,e.k=null,e.gb=null,e.o=null,e.p=null,e.q=null,e.r=null,e.$=null,e.ib=null,e.S=null,e.T=null,e.t=null,e.s=null,e.u=null,e.v=null,e.w=null,e.B=null,e.A=null,e.C=null,e.D=null,e.F=null,e.G=null,e.H=null,e.I=null,e.J=null,e.P=null,e.Z=null,e.U=null,e.V=null,e.W=null,e.X=null,e.Y=null,e._=null,e.ab=null,e.cb=null,e.hb=null,e.nb=null,e.lb=null,e.mb=null,e.ob=null,e.pb=null,e.jb=null,e.kb=null,e.N=!1,e.O=!1}function hMn(e,t,n){var r,a,o,f;for(n.Ug("Graph transformation ("+e.a+")",1),f=_w(t.a),o=new G(t.b);o.a=g.b.c)&&(g.b=t),(!g.c||t.c<=g.c.c)&&(g.d=g.c,g.c=t),(!g.e||t.d>=g.e.d)&&(g.e=t),(!g.f||t.d<=g.f.d)&&(g.f=t);return r=new nU((wE(),s3)),QO(e,M8t,new Il(he(le(fB,1),Rn,382,0,[r]))),f=new nU(o4),QO(e,L8t,new Il(he(le(fB,1),Rn,382,0,[f]))),a=new nU(a4),QO(e,A8t,new Il(he(le(fB,1),Rn,382,0,[a]))),o=new nU(M6),QO(e,_8t,new Il(he(le(fB,1),Rn,382,0,[o]))),Yue(r.c,s3),Yue(a.c,a4),Yue(o.c,M6),Yue(f.c,o4),g.a.c.length=0,ra(g.a,r.c),ra(g.a,lf(a.c)),ra(g.a,o.c),ra(g.a,lf(f.c)),g}function gMn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V;for(t.Ug(Ayt,1),z=ze(Ge(at(e,(ug(),T4)))),f=ze(Ge(at(e,(z1(),wM)))),g=l(at(e,vM),107),v7e((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a)),C=uvt((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a),z,f),!e.a&&(e.a=new nt(Ai,e,10,11)),E=new G(C);E.a0&&(e.a=w+(z-1)*o,t.c.b+=e.a,t.f.b+=e.a)),V.a.gc()!=0&&(B=new Hae(1,o),z=Rke(B,t,V,J,t.f.b+w-t.c.b),z>0&&(t.f.b+=w+(z-1)*o))}function bvt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(C=ze(Ge(Q(e,(Nt(),b3)))),r=ze(Ge(Q(e,rDe))),B=new EI,rt(B,b3,C+r),E=t,fe=E.d,J=E.c.i,Te=E.d.i,te=oye(J.c),Me=oye(Te.c),a=new bt,L=te;L<=Me;L++)g=new op(e),x(g,(Zn(),Aa)),rt(g,(ft(),zi),E),rt(g,Ms,(Ra(),Mu)),rt(g,kW,B),z=l(jt(e.b,L),30),L==te?Fy(g,z.a.c.length-n,z):Va(g,z),$e=ze(Ge(Q(E,x2))),$e<0&&($e=0,rt(E,x2,$e)),g.o.b=$e,V=b.Math.floor($e/2),f=new gu,la(f,(Ct(),er)),Mc(f,g),f.n.b=V,w=new gu,la(w,ar),Mc(w,g),w.n.b=V,Fa(E,f),o=new Tw,pc(o,E),rt(o,cc,null),po(o,w),Fa(o,fe),r8n(g,E,o),$n(a.c,o),E=o;return a}function Cle(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;for(w=l(d2(e,(Ct(),er)).Kc().Pb(),12).e,z=l(d2(e,ar).Kc().Pb(),12).g,g=w.c.length,Me=I1(l(jt(e.j,0),12));g-- >0;){for(J=(Sn(0,w.c.length),l(w.c[0],18)),a=(Sn(0,z.c.length),l(z.c[0],18)),Te=a.d.e,o=gc(Te,a,0),Rbn(J,a.d,o),po(a,null),Fa(a,null),V=J.a,t&&ci(V,new Eo(Me)),r=Rr(a.a,0);r.b!=r.d.c;)n=l(Br(r),8),ci(V,new Eo(n));for(fe=J.b,B=new G(a.b);B.af)&&na(e.b,l(te.b,18));++g}o=f}}}function Pke(e,t){var n;if(t==null||vn(t,ul)||t.length==0&&e.k!=(g2(),t9))return null;switch(e.k.g){case 1:return QV(t,wT)?(Hn(),ST):QV(t,Ffe)?(Hn(),Pb):null;case 2:try{return pt(Oh(t,lo,Ii))}catch(r){if(r=bs(r),De(r,130))return null;throw ue(r)}case 4:try{return jy(t)}catch(r){if(r=bs(r),De(r,130))return null;throw ue(r)}case 3:return t;case 5:return F0t(e),Xpt(e,t);case 6:return F0t(e),pTn(e,e.a,t);case 7:try{return n=SEn(e),n.cg(t),n}catch(r){if(r=bs(r),De(r,33))return null;throw ue(r)}default:throw ue(new nc("Invalid type set for this layout option."))}}function Bke(e){var t;switch(e.d){case 1:{if(e.Sj())return e.o!=-2;break}case 2:{if(e.Sj())return e.o==-2;break}case 3:case 5:case 4:case 6:case 7:return e.o>-2;default:return!1}switch(t=e.Rj(),e.p){case 0:return t!=null&&Rt(Bt(t))!=I_(e.k,0);case 1:return t!=null&&l(t,222).a!=Yr(e.k)<<24>>24;case 2:return t!=null&&l(t,180).a!=(Yr(e.k)&Zs);case 6:return t!=null&&I_(l(t,168).a,e.k);case 5:return t!=null&&l(t,17).a!=Yr(e.k);case 7:return t!=null&&l(t,191).a!=Yr(e.k)<<16>>16;case 3:return t!=null&&ze(Ge(t))!=e.j;case 4:return t!=null&&l(t,161).a!=e.j;default:return t==null?e.n!=null:!Pi(t,e.n)}}function mP(e,t,n){var r,a,o,f;return e.ol()&&e.nl()&&(f=Fae(e,l(n,58)),qe(f)!==qe(n))?(e.xj(t),e.Dj(t,ylt(e,t,f)),e.al()&&(o=(a=l(n,54),e.ml()?e.kl()?a.Th(e.b,Ro(l(Mn(sl(e.b),e.Lj()),19)).n,l(Mn(sl(e.b),e.Lj()).Hk(),29).kk(),null):a.Th(e.b,ms(a.Dh(),Ro(l(Mn(sl(e.b),e.Lj()),19))),null,null):a.Th(e.b,-1-e.Lj(),null,null)),!l(f,54).Ph()&&(o=(r=l(f,54),e.ml()?e.kl()?r.Rh(e.b,Ro(l(Mn(sl(e.b),e.Lj()),19)).n,l(Mn(sl(e.b),e.Lj()).Hk(),29).kk(),o):r.Rh(e.b,ms(r.Dh(),Ro(l(Mn(sl(e.b),e.Lj()),19))),null,o):r.Rh(e.b,-1-e.Lj(),null,o))),o&&o.oj()),hh(e.b)&&e.Jj(e.Ij(9,n,f,t,!1)),f):n}function mvt(e){var t,n,r,a,o,f,g,w,E,C;for(r=new bt,f=new G(e.e.a);f.a0&&(f=b.Math.max(f,kft(e.C.b+r.d.b,a))),C=r,L=a,B=o;e.C&&e.C.c>0&&(z=B+e.C.c,E&&(z+=C.d.c),f=b.Math.max(f,(A1(),f0(H1),b.Math.abs(L-1)<=H1||L==1||isNaN(L)&&isNaN(1)?0:z/(1-L)))),n.n.b=0,n.a.a=f}function wvt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z;if(n=l(Qo(e.b,t),127),w=l(l($i(e.r,t),21),87),w.dc()){n.n.d=0,n.n.a=0;return}for(E=e.u.Hc((Rl(),vp)),f=0,e.A.Hc((mh(),Cv))&&Wbt(e,t),g=w.Kc(),C=null,B=0,L=0;g.Ob();)r=l(g.Pb(),117),o=ze(Ge(r.b.of((zq(),pK)))),a=r.b.Mf().b,C?(z=L+C.d.a+e.w+r.d.d,f=b.Math.max(f,(A1(),f0(H1),b.Math.abs(B-o)<=H1||B==o||isNaN(B)&&isNaN(o)?0:z/(o-B)))):e.C&&e.C.d>0&&(f=b.Math.max(f,kft(e.C.d+r.d.d,o))),C=r,B=o,L=a;e.C&&e.C.a>0&&(z=L+e.C.a,E&&(z+=C.d.a),f=b.Math.max(f,(A1(),f0(H1),b.Math.abs(B-1)<=H1||B==1||isNaN(B)&&isNaN(1)?0:z/(1-B)))),n.n.d=0,n.a.b=f}function mMn(e,t,n,r,a,o,f,g){var w,E,C,L,B,z,V,J,te,fe;if(V=!1,E=H9e(n.q,t.f+t.b-n.q.f),z=r.f>t.b&&g,fe=a-(n.q.e+E-f),L=(w=ZA(r,fe,!1),w.a),z&&L>r.f)return!1;if(z){for(B=0,te=new G(t.d);te.a=(Sn(o,e.c.length),l(e.c[o],186)).e,!z&&L>t.b&&!C)?!1:((C||z||L<=t.b)&&(C&&L>t.b?(n.d=L,aN(n,spt(n,L))):(Egt(n.q,E),n.c=!0),aN(r,a-(n.s+n.r)),qN(r,n.q.e+n.q.d,t.f),bV(t,r),e.c.length>o&&(UN((Sn(o,e.c.length),l(e.c[o],186)),r),(Sn(o,e.c.length),l(e.c[o],186)).a.c.length==0&&t2(e,o)),V=!0),V)}function yvt(e,t,n){var r,a,o,f,g,w;for(this.g=e,g=t.d.length,w=n.d.length,this.d=We(wg,m2,10,g+w,0,1),f=0;f0?Xoe(this,this.f/this.a):L1(t.g,t.d[0]).a!=null&&L1(n.g,n.d[0]).a!=null?Xoe(this,(ze(L1(t.g,t.d[0]).a)+ze(L1(n.g,n.d[0]).a))/2):L1(t.g,t.d[0]).a!=null?Xoe(this,L1(t.g,t.d[0]).a):L1(n.g,n.d[0]).a!=null&&Xoe(this,L1(n.g,n.d[0]).a)}function vMn(e,t){var n,r,a,o,f,g,w,E,C,L;for(e.a=new Zst(eyn(LM)),r=new G(t.a);r.a=1&&(te-f>0&&L>=0?(w.n.a+=J,w.n.b+=o*f):te-f<0&&C>=0&&(w.n.a+=J*te,w.n.b+=o));e.o.a=t.a,e.o.b=t.b,rt(e,(Nt(),bv),(mh(),r=l(K0(BM),9),new Zh(r,l(c0(r,r.length),9),0)))}function xMn(e,t,n,r,a,o){var f;if(!(t==null||!Hce(t,TPe,CPe)))throw ue(new Yn("invalid scheme: "+t));if(!e&&!(n!=null&&pd(n,cl(35))==-1&&n.length>0&&(Xn(0,n.length),n.charCodeAt(0)!=47)))throw ue(new Yn("invalid opaquePart: "+n));if(e&&!(t!=null&&nO(EY,t.toLowerCase()))&&!(n==null||!Hce(n,$M,zM)))throw ue(new Yn(n5t+n));if(e&&t!=null&&nO(EY,t.toLowerCase())&&!exn(n))throw ue(new Yn(n5t+n));if(!a5n(r))throw ue(new Yn("invalid device: "+r));if(!Vyn(a))throw f=a==null?"invalid segments: null":"invalid segment: "+$yn(a),ue(new Yn(f));if(!(o==null||pd(o,cl(35))==-1))throw ue(new Yn("invalid query: "+o))}function kMn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;if(n.Ug("Network simplex layering",1),e.b=t,fe=l(Q(t,(Nt(),nM)),17).a*4,te=e.b.a,te.c.length<1){n.Vg();return}for(o=y_n(e,te),J=null,a=Rr(o,0);a.b!=a.d.c;){for(r=l(Br(a),15),g=fe*ua(b.Math.sqrt(r.gc())),f=P_n(r),ole(n3e(kun(r3e(bae(f),g),J),!0),n.eh(1)),B=e.b.b,V=new G(f.a);V.a1)for(J=We(Vr,di,28,e.b.b.c.length,15,1),L=0,E=new G(e.b.b);E.a0){JV(e,n,0),n.a+=String.fromCharCode(r),a=V5n(t,o),JV(e,n,a),o+=a-1;continue}r==39?o+10&&V.a<=0){w.c.length=0,$n(w.c,V);break}z=V.i-V.d,z>=g&&(z>g&&(w.c.length=0,g=z),$n(w.c,V))}w.c.length!=0&&(f=l(jt(w,aU(a,w.c.length)),118),Me.a.Bc(f)!=null,f.g=C++,Tke(f,t,n,r),w.c.length=0)}for(te=e.c.length+1,B=new G(e);B.aia||t.o==wv&&C=g&&a<=w)g<=a&&o<=w?(n[C++]=a,n[C++]=o,r+=2):g<=a?(n[C++]=a,n[C++]=w,e.b[r]=w+1,f+=2):o<=w?(n[C++]=g,n[C++]=o,r+=2):(n[C++]=g,n[C++]=w,e.b[r]=w+1);else if(wAb)&&g<10);s3e(e.c,new Y7),Tvt(e),mgn(e.c),fMn(e.f)}function DMn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(n=l(Q(e,(Nt(),Ms)),101),f=e.f,o=e.d,g=f.a+o.b+o.c,w=0-o.d-e.c.b,C=f.b+o.d+o.a-e.c.b,E=new bt,L=new bt,a=new G(t);a.a=2){for(w=Rr(n,0),f=l(Br(w),8),g=l(Br(w),8);g.a0&&SN(E,!0,(Js(),vc)),g.k==(Zn(),Us)&&cat(E),ki(e.f,g,t)}}function NMn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(a=l(Q(e,(Qi(),gM)),27),E=Ii,C=Ii,g=lo,w=lo,Me=Rr(e.b,0);Me.b!=Me.d.c;)fe=l(Br(Me),40),z=fe.e,V=fe.f,E=b.Math.min(E,z.a-V.a/2),C=b.Math.min(C,z.b-V.b/2),g=b.Math.max(g,z.a+V.a/2),w=b.Math.max(w,z.b+V.b/2);for(B=l(at(a,(Hc(),gIe)),107),Te=Rr(e.b,0);Te.b!=Te.d.c;)fe=l(Br(Te),40),L=Q(fe,gM),De(L,207)&&(o=l(L,27),Qh(o,fe.e.a,fe.e.b),aP(o,fe));for(te=Rr(e.a,0);te.b!=te.d.c;)J=l(Br(te),65),r=l(Q(J,gM),74),r&&(t=J.a,n=l6(r,!0,!0),dP(t,n));$e=g-E+(B.b+B.c),f=w-C+(B.d+B.a),Rt(Bt(at(a,(pi(),C4))))||Gw(a,$e,f,!1,!1),Hi(a,t7,$e-(B.b+B.c)),Hi(a,e7,f-(B.d+B.a))}function Svt(e,t){var n,r,a,o,f,g,w,E,C,L;for(w=!0,a=0,E=e.g[t.p],C=t.o.b+e.o,n=e.d[t.p][2],rf(e.b,E,pt(l(jt(e.b,E),17).a-1+n)),rf(e.c,E,ze(Ge(jt(e.c,E)))-C+n*e.f),++E,E>=e.j?(++e.j,vt(e.b,pt(1)),vt(e.c,C)):(r=e.d[t.p][1],rf(e.b,E,pt(l(jt(e.b,E),17).a+1-r)),rf(e.c,E,ze(Ge(jt(e.c,E)))+C-r*e.f)),(e.r==(Nf(),AB)&&(l(jt(e.b,E),17).a>e.k||l(jt(e.b,E-1),17).a>e.k)||e.r==LB&&(ze(Ge(jt(e.c,E)))>e.n||ze(Ge(jt(e.c,E-1)))>e.n))&&(w=!1),f=new hr(dr(ka(t).a.Kc(),new j));jr(f);)o=l(xr(f),18),g=o.c.i,e.g[g.p]==E&&(L=Svt(e,g),a=a+l(L.a,17).a,w=w&&Rt(Bt(L.b)));return e.g[t.p]=E,a=a+e.d[t.p][0],new ca(pt(a),(Hn(),!!w))}function _vt(e,t){var n,r,a,o,f;n=ze(Ge(Q(t,(Nt(),x0)))),n<2&&rt(t,x0,2),r=l(Q(t,Rh),88),r==(Js(),J1)&&rt(t,Rh,zV(t)),a=l(Q(t,Vkt),17),a.a==0?rt(t,(ft(),Xx),new Uce):rt(t,(ft(),Xx),new VH(a.a)),o=Bt(Q(t,ZL)),o==null&&rt(t,ZL,(Hn(),qe(Q(t,bp))===qe((ip(),iC)))),Is(new bn(null,new kn(t.a,16)),new qp(e)),Is(Dc(new bn(null,new kn(t.b,16)),new u5),new n_(e)),f=new xvt(t),rt(t,(ft(),$6),f),qO(e.a),X0(e.a,(uo(),y0),l(Q(t,dv),188)),X0(e.a,vg,l(Q(t,pv),188)),X0(e.a,bu,l(Q(t,JL),188)),X0(e.a,_u,l(Q(t,yW),188)),X0(e.a,mc,N3n(l(Q(t,bp),223))),uye(e.a,LIn(t)),rt(t,K1e,bP(e.a,t))}function Rke(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe;for(L=new Pr,f=new bt,Spt(e,n,e.d.Ag(),f,L),Spt(e,r,e.d.Bg(),f,L),e.b=.2*(J=D2t(Dc(new bn(null,new kn(f,16)),new Tte)),te=D2t(Dc(new bn(null,new kn(f,16)),new Cte)),b.Math.min(J,te)),o=0,g=0;g=2&&(fe=X2t(f,!0,B),!e.e&&(e.e=new sXe(e)),$5n(e.e,fe,f,e.b)),Ogt(f,B),$Mn(f),z=-1,C=new G(f);C.ag)}function Avt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;for(E=gs,C=gs,g=ia,w=ia,B=new G(t.i);B.a-1){for(a=Rr(g,0);a.b!=a.d.c;)r=l(Br(a),131),r.v=f;for(;g.b!=0;)for(r=l(kue(g,0),131),n=new G(r.i);n.a-1){for(o=new G(g);o.a0)&&(Y(w,b.Math.min(w.o,a.o-1)),q(w,w.i-1),w.i==0&&$n(g.c,w))}}function Mvt(e,t,n,r,a){var o,f,g,w;return w=gs,f=!1,g=Lke(e,ma(new lt(t.a,t.b),e),Oi(new lt(n.a,n.b),a),ma(new lt(r.a,r.b),n)),o=!!g&&!(b.Math.abs(g.a-e.a)<=Zw&&b.Math.abs(g.b-e.b)<=Zw||b.Math.abs(g.a-t.a)<=Zw&&b.Math.abs(g.b-t.b)<=Zw),g=Lke(e,ma(new lt(t.a,t.b),e),n,a),g&&((b.Math.abs(g.a-e.a)<=Zw&&b.Math.abs(g.b-e.b)<=Zw)==(b.Math.abs(g.a-t.a)<=Zw&&b.Math.abs(g.b-t.b)<=Zw)||o?w=b.Math.min(w,eA(ma(g,n))):f=!0),g=Lke(e,ma(new lt(t.a,t.b),e),r,a),g&&(f||(b.Math.abs(g.a-e.a)<=Zw&&b.Math.abs(g.b-e.b)<=Zw)==(b.Math.abs(g.a-t.a)<=Zw&&b.Math.abs(g.b-t.b)<=Zw)||o)&&(w=b.Math.min(w,eA(ma(g,r)))),w}function Dvt(e){sw(e,new Xm(Uz(nw(Zv(tw(ew(new x1,Mb),A3t),"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."),new y1),Yu))),gt(e,Mb,hL,It(lAe)),gt(e,Mb,cG,(Hn(),!0)),gt(e,Mb,x6,It(d8t)),gt(e,Mb,Px,It(g8t)),gt(e,Mb,Nx,It(p8t)),gt(e,Mb,fT,It(f8t)),gt(e,Mb,fL,It(fAe)),gt(e,Mb,dT,It(b8t)),gt(e,Mb,PEe,It(uAe)),gt(e,Mb,FEe,It(oAe)),gt(e,Mb,REe,It(cAe)),gt(e,Mb,jEe,It(hAe)),gt(e,Mb,BEe,It(TK))}function zMn(e){var t,n,r,a,o,f,g,w;for(t=null,r=new G(e);r.a0&&n.c==0&&(!t&&(t=new bt),$n(t.c,n));if(t)for(;t.c.length!=0;){if(n=l(t2(t,0),239),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new bt),new G(n.b));o.agc(e,n,0))return new ca(a,n)}else if(ze(L1(a.g,a.d[0]).a)>ze(L1(n.g,n.d[0]).a))return new ca(a,n)}for(g=(!n.e&&(n.e=new bt),n.e).Kc();g.Ob();)f=l(g.Pb(),239),w=(!f.b&&(f.b=new bt),f.b),Ey(0,w.c.length),x_(w.c,0,n),f.c==w.c.length&&$n(t.c,f)}return null}function qMn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;for(t.Ug("Interactive crossing minimization",1),f=0,o=new G(e.b);o.a0&&(n+=w.n.a+w.o.a/2,++L),V=new G(w.j);V.a0&&(n/=L),fe=We(Na,Zo,28,r.a.c.length,15,1),g=0,E=new G(r.a);E.a=g&&a<=w)g<=a&&o<=w?r+=2:g<=a?(e.b[r]=w+1,f+=2):o<=w?(n[C++]=a,n[C++]=g-1,r+=2):(n[C++]=a,n[C++]=g-1,e.b[r]=w+1,f+=2);else if(w2?(C=new bt,ra(C,new Zp(fe,1,fe.b)),o=vwt(C,Me+e.a),Te=new Gue(o),pc(Te,t),$n(n.c,Te)):r?Te=l(cr(e.b,cg(t)),272):Te=l(cr(e.b,Eb(t)),272),w=cg(t),r&&(w=Eb(t)),f=z9n(te,w),E=Me+e.a,f.a?(E+=b.Math.abs(te.b-L.b),J=new lt(L.a,(L.b+te.b)/2)):(E+=b.Math.abs(te.a-L.a),J=new lt((L.a+te.a)/2,L.b)),r?ki(e.d,t,new nxe(Te,f,J,E)):ki(e.c,t,new nxe(Te,f,J,E)),ki(e.b,t,Te),V=(!t.n&&(t.n=new nt(ec,t,1,7)),t.n),z=new or(V);z.e!=z.i.gc();)B=l(gr(z),135),a=uP(e,B,!0,0,0),$n(n.c,a)}function HMn(e){var t,n,r,a,o,f,g;if(!e.A.dc()){if(e.A.Hc((mh(),iF))&&(l(Qo(e.b,(Ct(),Qn)),127).k=!0,l(Qo(e.b,Dr),127).k=!0,t=e.q!=(Ra(),Tg)&&e.q!=Mu,_z(l(Qo(e.b,ar),127),t),_z(l(Qo(e.b,er),127),t),_z(e.g,t),e.A.Hc(Cv)&&(l(Qo(e.b,Qn),127).j=!0,l(Qo(e.b,Dr),127).j=!0,l(Qo(e.b,ar),127).k=!0,l(Qo(e.b,er),127).k=!0,e.g.k=!0)),e.A.Hc(rF))for(e.a.j=!0,e.a.k=!0,e.g.j=!0,e.g.k=!0,g=e.B.Hc((Zl(),FM)),a=eue(),o=0,f=a.length;o0),l(C.a.Xb(C.c=--C.b),18));o!=r&&C.b>0;)e.a[o.p]=!0,e.a[r.p]=!0,o=(mr(C.b>0),l(C.a.Xb(C.c=--C.b),18));C.b>0&&ph(C)}}function Ovt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z;if(!e.b)return!1;for(f=null,B=null,w=new Boe(null,null),a=1,w.a[1]=e.b,L=w;L.a[a];)E=a,g=B,B=L,L=L.a[a],r=e.a.Ne(t,L.d),a=r<0?0:1,r==0&&(!n.c||Jc(L.e,n.d))&&(f=L),!(L&&L.b)&&!oy(L.a[a])&&(oy(L.a[1-a])?B=B.a[E]=EV(L,a):oy(L.a[1-a])||(z=B.a[1-E],z&&(!oy(z.a[1-E])&&!oy(z.a[E])?(B.b=!1,z.b=!0,L.b=!0):(o=g.a[1]==B?1:0,oy(z.a[E])?g.a[o]=uct(B,E):oy(z.a[1-E])&&(g.a[o]=EV(B,E)),L.b=g.a[o].b=!0,g.a[o].a[0].b=!1,g.a[o].a[1].b=!1))));return f&&(n.b=!0,n.d=f.e,L!=f&&(C=new Boe(L.d,L.e),Gxn(e,w,f,C),B==f&&(B=C)),B.a[B.a[1]==L?1:0]=L.a[L.a[0]?0:1],--e.c),e.b=w.a[1],e.b&&(e.b.b=!1),n.b}function GMn(e){var t,n,r,a,o,f,g,w,E,C,L,B;for(a=new G(e.a.a.b);a.a0?a-=864e5:a+=864e5,w=new Kye(bo(Zc(t.q.getTime()),a))),C=new S5,E=e.a.length,o=0;o=97&&r<=122||r>=65&&r<=90){for(f=o+1;f=E)throw ue(new Yn("Missing trailing '"));f+1=14&&C<=16))?t.a._b(r)?(n.a?hi(n.a,n.b):n.a=new Th(n.d),N_(n.a,"[...]")):(g=jm(r),E=new U_(t),Jg(n,Pvt(g,E))):De(r,183)?Jg(n,Tkn(l(r,183))):De(r,195)?Jg(n,uxn(l(r,195))):De(r,201)?Jg(n,w9n(l(r,201))):De(r,2111)?Jg(n,lxn(l(r,2111))):De(r,53)?Jg(n,Ekn(l(r,53))):De(r,376)?Jg(n,zkn(l(r,376))):De(r,846)?Jg(n,kkn(l(r,846))):De(r,109)&&Jg(n,xkn(l(r,109))):Jg(n,r==null?ul:xc(r));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function JE(e,t){var n,r,a,o;o=e.F,t==null?(e.F=null,CE(e,null)):(e.F=(nr(t),t),r=pd(t,cl(60)),r!=-1?(a=(Ga(0,r,t.length),t.substr(0,r)),pd(t,cl(46))==-1&&!vn(a,Cx)&&!vn(a,SL)&&!vn(a,GG)&&!vn(a,_L)&&!vn(a,AL)&&!vn(a,LL)&&!vn(a,ML)&&!vn(a,DL)&&(a=p5t),n=Rq(t,cl(62)),n!=-1&&(a+=""+(Xn(n+1,t.length+1),t.substr(n+1))),CE(e,a)):(a=t,pd(t,cl(46))==-1&&(r=pd(t,cl(91)),r!=-1&&(a=(Ga(0,r,t.length),t.substr(0,r))),!vn(a,Cx)&&!vn(a,SL)&&!vn(a,GG)&&!vn(a,_L)&&!vn(a,AL)&&!vn(a,LL)&&!vn(a,ML)&&!vn(a,DL)?(a=p5t,r!=-1&&(a+=""+(Xn(r,t.length+1),t.substr(r)))):a=t),CE(e,a),a==t&&(e.F=e.D))),e.Db&4&&!(e.Db&1)&&Ni(e,new _a(e,1,5,o,t))}function Bvt(e,t){var n,r,a,o,f,g,w,E,C,L;if(w=t.length-1,g=(Xn(w,t.length),t.charCodeAt(w)),g==93){if(f=pd(t,cl(91)),f>=0)return a=Q4n(e,(Ga(1,f,t.length),t.substr(1,f-1))),C=(Ga(f+1,w,t.length),t.substr(f+1,w-(f+1))),EIn(e,C,a)}else{if(n=-1,ZSe==null&&(ZSe=new RegExp("\\d")),ZSe.test(String.fromCharCode(g))&&(n=h4e(t,cl(46),w-1),n>=0)){r=l(Moe(e,Tht(e,(Ga(1,n,t.length),t.substr(1,n-1))),!1),61),E=0;try{E=Oh((Xn(n+1,t.length+1),t.substr(n+1)),lo,Ii)}catch(B){throw B=bs(B),De(B,130)?(o=B,ue(new nV(o))):ue(B)}if(E>16==-10?n=l(e.Cb,292).Yk(t,n):e.Db>>16==-15&&(!t&&(t=(Tn(),td)),!E&&(E=(Tn(),td)),e.Cb.Yh()&&(w=new Zg(e.Cb,1,13,E,t,f2(Xl(l(e.Cb,62)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,90))e.Db>>16==-23&&(De(t,90)||(t=(Tn(),Kf)),De(E,90)||(E=(Tn(),Kf)),e.Cb.Yh()&&(w=new Zg(e.Cb,1,10,E,t,f2(du(l(e.Cb,29)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,457))for(g=l(e.Cb,850),f=(!g.b&&(g.b=new Pz(new Vie)),g.b),o=(r=new qm(new Sr(f.a).a),new Bz(r));o.a.b;)a=l(Nw(o.a).ld(),89),n=ZE(a,SU(a,g),n)}return n}function QMn(e,t){var n,r,a,o,f,g,w,E,C,L,B;for(f=Rt(Bt(at(e,(Nt(),b4)))),B=l(at(e,v4),21),w=!1,E=!1,L=new or((!e.c&&(e.c=new nt(Hl,e,9,9)),e.c));L.e!=L.i.gc()&&(!w||!E);){for(o=l(gr(L),123),g=0,a=rg(Lh(he(le(Fh,1),Rn,20,0,[(!o.d&&(o.d=new Ln(js,o,8,5)),o.d),(!o.e&&(o.e=new Ln(js,o,7,4)),o.e)])));jr(a)&&(r=l(xr(a),74),C=f&&qw(r)&&Rt(Bt(at(r,gv))),n=gvt((!r.b&&(r.b=new Ln(_r,r,4,7)),r.b),o)?e==ds(bc(l(Oe((!r.c&&(r.c=new Ln(_r,r,5,8)),r.c),0),84))):e==ds(bc(l(Oe((!r.b&&(r.b=new Ln(_r,r,4,7)),r.b),0),84))),!((C||n)&&(++g,g>1))););(g>0||B.Hc((Rl(),vp))&&(!o.n&&(o.n=new nt(ec,o,1,7)),o.n).i>0)&&(w=!0),g>1&&(E=!0)}w&&t.Fc((Ho(),vf)),E&&t.Fc((Ho(),UL))}function Fvt(e){var t,n,r,a,o,f,g,w,E,C,L,B;if(B=l(at(e,(pi(),kv)),21),B.dc())return null;if(g=0,f=0,B.Hc((mh(),iF))){for(C=l(at(e,_M),101),r=2,n=2,a=2,o=2,t=ds(e)?l(at(ds(e),xv),88):l(at(e,xv),88),E=new or((!e.c&&(e.c=new nt(Hl,e,9,9)),e.c));E.e!=E.i.gc();)if(w=l(gr(E),123),L=l(at(w,s7),64),L==(Ct(),Pc)&&(L=Eke(w,t),Hi(w,s7,L)),C==(Ra(),Mu))switch(L.g){case 1:r=b.Math.max(r,w.i+w.g);break;case 2:n=b.Math.max(n,w.j+w.f);break;case 3:a=b.Math.max(a,w.i+w.g);break;case 4:o=b.Math.max(o,w.j+w.f)}else switch(L.g){case 1:r+=w.g+2;break;case 2:n+=w.f+2;break;case 3:a+=w.g+2;break;case 4:o+=w.f+2}g=b.Math.max(r,a),f=b.Math.max(n,o)}return Gw(e,g,f,!0,!0)}function Sle(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(Te=l(yc(lV(Fi(new bn(null,new kn(t.d,16)),new CYe(n)),new SYe(n)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),L=Ii,C=lo,w=new G(t.b.j);w.a0,E?E&&(B=fe.p,f?++B:--B,L=l(jt(fe.c.a,B),10),r=o0t(L),z=!(Xue(r,ot,n[0])||Dst(r,ot,n[0]))):z=!0),V=!1,Ze=t.D.i,Ze&&Ze.c&&g.e&&(C=f&&Ze.p>0||!f&&Ze.p=0){for(w=null,g=new Ua(C.a,E+1);g.bf?1:uw(isNaN(0),isNaN(f)))<0&&(f0(Nd),(b.Math.abs(f-1)<=Nd||f==1||isNaN(f)&&isNaN(1)?0:f<1?-1:f>1?1:uw(isNaN(f),isNaN(1)))<0)&&(f0(Nd),(b.Math.abs(0-g)<=Nd||g==0||isNaN(0)&&isNaN(g)?0:0g?1:uw(isNaN(0),isNaN(g)))<0)&&(f0(Nd),(b.Math.abs(g-1)<=Nd||g==1||isNaN(g)&&isNaN(1)?0:g<1?-1:g>1?1:uw(isNaN(g),isNaN(1)))<0)),o)}function rDn(e){var t,n,r,a;if(n=e.D!=null?e.D:e.B,t=pd(n,cl(91)),t!=-1){r=(Ga(0,t,n.length),n.substr(0,t)),a=new Up;do a.a+="[";while((t=Nk(n,91,++t))!=-1);vn(r,Cx)?a.a+="Z":vn(r,SL)?a.a+="B":vn(r,GG)?a.a+="C":vn(r,_L)?a.a+="D":vn(r,AL)?a.a+="F":vn(r,LL)?a.a+="I":vn(r,ML)?a.a+="J":vn(r,DL)?a.a+="S":(a.a+="L",a.a+=""+r,a.a+=";");try{return null}catch(o){if(o=bs(o),!De(o,63))throw ue(o)}}else if(pd(n,cl(46))==-1){if(vn(n,Cx))return ih;if(vn(n,SL))return Al;if(vn(n,GG))return kf;if(vn(n,_L))return Na;if(vn(n,AL))return B4;if(vn(n,LL))return Vr;if(vn(n,ML))return nm;if(vn(n,DL))return h7}return null}function iDn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St;for(e.e=t,g=iEn(t),ot=new bt,r=new G(g);r.a=0&&J=E.c.c.length?C=u6e((Zn(),Ps),Aa):C=u6e((Zn(),Aa),Aa),C*=2,o=n.a.g,n.a.g=b.Math.max(o,o+(C-o)),f=n.b.g,n.b.g=b.Math.max(f,f+(C-f)),a=t}}function cDn(e){var t,n,r,a;for(Is(Fi(new bn(null,new kn(e.a.b,16)),new Oj),new aee),H8n(e),Is(Fi(new bn(null,new kn(e.a.b,16)),new oee),new cee),e.c==(ip(),s9)&&(Is(Fi(Dc(new bn(null,new kn(new br(e.f),1)),new uee),new lee),new vYe(e)),Is(Fi(fc(Dc(Dc(new bn(null,new kn(e.d.b,16)),new hee),new Nj),new fee),new Pj),new yYe(e))),a=new lt(gs,gs),t=new lt(ia,ia),r=new G(e.a.b);r.a0&&(t.a+=Co),GU(l(gr(g),167),t);for(t.a+=Phe,w=new q8((!r.c&&(r.c=new Ln(_r,r,5,8)),r.c));w.e!=w.i.gc();)w.e>0&&(t.a+=Co),GU(l(gr(w),167),t);t.a+=")"}}function uDn(e,t,n){var r,a,o,f,g,w,E,C;for(w=new or((!e.a&&(e.a=new nt(Ai,e,10,11)),e.a));w.e!=w.i.gc();)for(g=l(gr(w),27),a=new hr(dr(cp(g).a.Kc(),new j));jr(a);){if(r=l(xr(a),74),!r.b&&(r.b=new Ln(_r,r,4,7)),!(r.b.i<=1&&(!r.c&&(r.c=new Ln(_r,r,5,8)),r.c.i<=1)))throw ue(new I8("Graph must not contain hyperedges."));if(!qA(r)&&g!=bc(l(Oe((!r.c&&(r.c=new Ln(_r,r,5,8)),r.c),0),84)))for(E=new jrt,pc(E,r),rt(E,(bb(),Hx),r),Aie(E,l(hc(zo(n.f,g)),153)),k8(E,l(cr(n,bc(l(Oe((!r.c&&(r.c=new Ln(_r,r,5,8)),r.c),0),84))),153)),vt(t.c,E),f=new or((!r.n&&(r.n=new nt(ec,r,1,7)),r.n));f.e!=f.i.gc();)o=l(gr(f),135),C=new zct(E,o.a),pc(C,o),rt(C,Hx,o),C.e.a=b.Math.max(o.g,1),C.e.b=b.Math.max(o.f,1),Ake(C),vt(t.d,C)}}function lDn(e,t,n){var r,a,o,f,g,w,E,C,L,B;switch(n.Ug("Node promotion heuristic",1),e.i=t,e.r=l(Q(t,(Nt(),zb)),243),e.r!=(Nf(),v3)&&e.r!=x4?FDn(e):uSn(e),C=l(Q(e.i,HMe),17).a,o=new hd,e.r.g){case 2:case 1:QE(e,o);break;case 3:for(e.r=LW,QE(e,o),w=0,g=new G(e.b);g.ae.k&&(e.r=AB,QE(e,o));break;case 4:for(e.r=LW,QE(e,o),E=0,a=new G(e.c);a.ae.n&&(e.r=LB,QE(e,o));break;case 6:B=ua(b.Math.ceil(e.g.length*C/100)),QE(e,new aYe(B));break;case 5:L=ua(b.Math.ceil(e.e*C/100)),QE(e,new oYe(L));break;case 8:xwt(e,!0);break;case 9:xwt(e,!1);break;default:QE(e,o)}e.r!=v3&&e.r!=x4?OCn(e,t):ZSn(e,t),n.Vg()}function hDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;for(L=e.b,C=new Ua(L,0),by(C,new yu(e)),Te=!1,f=1;C.b0&&(B.d+=C.n.d,B.d+=C.d),B.a>0&&(B.a+=C.n.a,B.a+=C.d),B.b>0&&(B.b+=C.n.b,B.b+=C.d),B.c>0&&(B.c+=C.n.c,B.c+=C.d),B}function jvt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V;for(B=n.d,L=n.c,o=new lt(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),f=o.b,E=new G(e.a);E.a0&&(e.c[t.c.p][t.p].d+=Jl(e.i,24)*MP*.07000000029802322-.03500000014901161,e.c[t.c.p][t.p].a=e.c[t.c.p][t.p].d/e.c[t.c.p][t.p].b)}}function gDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;for(V=new G(e);V.ar.d,r.d=b.Math.max(r.d,t),g&&n&&(r.d=b.Math.max(r.d,r.a),r.a=r.d+a);break;case 3:n=t>r.a,r.a=b.Math.max(r.a,t),g&&n&&(r.a=b.Math.max(r.a,r.d),r.d=r.a+a);break;case 2:n=t>r.c,r.c=b.Math.max(r.c,t),g&&n&&(r.c=b.Math.max(r.b,r.c),r.b=r.c+a);break;case 4:n=t>r.b,r.b=b.Math.max(r.b,t),g&&n&&(r.b=b.Math.max(r.b,r.c),r.c=r.b+a)}}}function zvt(e,t){var n,r,a,o,f,g,w,E,C;return E="",t.length==0?e.ne(iEe,Rle,-1,-1):(C=$y(t),vn(C.substr(0,3),"at ")&&(C=(Xn(3,C.length+1),C.substr(3))),C=C.replace(/\[.*?\]/g,""),f=C.indexOf("("),f==-1?(f=C.indexOf("@"),f==-1?(E=C,C=""):(E=$y((Xn(f+1,C.length+1),C.substr(f+1))),C=$y((Ga(0,f,C.length),C.substr(0,f))))):(n=C.indexOf(")",f),E=(Ga(f+1,n,C.length),C.substr(f+1,n-(f+1))),C=$y((Ga(0,f,C.length),C.substr(0,f)))),f=pd(C,cl(46)),f!=-1&&(C=(Xn(f+1,C.length+1),C.substr(f+1))),(C.length==0||vn(C,"Anonymous function"))&&(C=Rle),g=Rq(E,cl(58)),a=h4e(E,cl(58),g-1),w=-1,r=-1,o=iEe,g!=-1&&a!=-1&&(o=(Ga(0,a,E.length),E.substr(0,a)),w=irt((Ga(a+1,g,E.length),E.substr(a+1,g-(a+1)))),r=irt((Xn(g+1,E.length+1),E.substr(g+1)))),e.ne(o,C,w,r))}function mDn(e){var t,n,r,a,o,f,g,w,E,C,L;for(E=new G(e);E.a0||C.j==er&&C.e.c.length-C.g.c.length<0)){t=!1;break}for(a=new G(C.g);a.a=E&&Ze>=te&&(B+=V.n.b+J.n.b+J.a.b-$e,++g));if(n)for(f=new G(Te.e);f.a=E&&Ze>=te&&(B+=V.n.b+J.n.b+J.a.b-$e,++g))}g>0&&(ot+=B/g,++z)}z>0?(t.a=a*ot/z,t.g=z):(t.a=0,t.g=0)}function wDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St;for(o=e.f.b,B=o.a,C=o.b,V=e.e.g,z=e.e.f,F5(e.e,o.a,o.b),ot=B/V,St=C/z,E=new or(EH(e.e));E.e!=E.i.gc();)w=l(gr(E),135),Uu(w,w.i*ot),Gu(w,w.j*St);for(Te=new or(Xae(e.e));Te.e!=Te.i.gc();)fe=l(gr(Te),123),$e=fe.i,Ze=fe.j,$e>0&&Uu(fe,$e*ot),Ze>0&&Gu(fe,Ze*St);for(mA(e.b,new zg),t=new bt,g=new qm(new Sr(e.c).a);g.b;)f=Nw(g),r=l(f.ld(),74),n=l(f.md(),407).a,a=l6(r,!1,!1),L=Ngt(cg(r),QN(a),n),dP(L,a),Me=Kgt(r),Me&&gc(t,Me,0)==-1&&($n(t.c,Me),kat(Me,(mr(L.b!=0),l(L.a.a.c,8)),n));for(te=new qm(new Sr(e.d).a);te.b;)J=Nw(te),r=l(J.ld(),74),n=l(J.md(),407).a,a=l6(r,!1,!1),L=Ngt(Eb(r),AN(QN(a)),n),L=AN(L),dP(L,a),Me=Wgt(r),Me&&gc(t,Me,0)==-1&&($n(t.c,Me),kat(Me,(mr(L.b!=0),l(L.c.b.c,8)),n))}function qvt(e,t,n,r){var a,o,f,g,w;return g=new zke(t),lCn(g,r),a=!0,e&&e.pf((pi(),xv))&&(o=l(e.of((pi(),xv)),88),a=o==(Js(),J1)||o==uc||o==vc),zbt(g,!1),Vu(g.e.Rf(),new v4e(g,!1,a)),uoe(g,g.f,(t1(),Gc),(Ct(),Qn)),uoe(g,g.f,Kc,Dr),uoe(g,g.g,Gc,er),uoe(g,g.g,Kc,ar),bdt(g,Qn),bdt(g,Dr),wat(g,ar),wat(g,er),py(),f=g.A.Hc((mh(),A4))&&g.B.Hc((Zl(),aF))?N1t(g):null,f&&wun(g.a,f),bDn(g),m7n(g),v7n(g),HMn(g),m_n(g),V7n(g),Jce(g,Qn),Jce(g,Dr),WSn(g),mLn(g),n&&(J4n(g),U7n(g),Jce(g,ar),Jce(g,er),w=g.B.Hc((Zl(),FM)),Opt(g,w,Qn),Opt(g,w,Dr),Npt(g,w,ar),Npt(g,w,er),Is(new bn(null,new kn(new gi(g.i),0)),new Fc),Is(Fi(new bn(null,b5e(g.r).a.oc()),new xa),new Ba),sxn(g),g.e.Pf(g.o),Is(new bn(null,b5e(g.r).a.oc()),new ga)),g.o}function yDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(E=gs,r=new G(e.a.b);r.a1)for(z=new Ike(V,Me,r),to(Me,new Jet(e,z)),$n(f.c,z),L=Me.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),al(o,C.b);if(g.a.gc()>1)for(z=new Ike(V,g,r),to(g,new Zet(e,z)),$n(f.c,z),L=g.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),al(o,C.b)}}function TDn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;if(J=e.n,te=e.o,B=e.d,L=ze(Ge(Py(e,(Nt(),ode)))),t){for(C=L*(t.gc()-1),z=0,w=t.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b-B.d+z,r=te.a/(t.gc()+1),a=r,g=t.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o-f.o.b,fe+=f.o.a+L,E=Q2t(f),E.n.a=f.o.a/2-E.a.a,E.n.b=f.o.b,V=l(Q(f,(ft(),rW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=a-V.a.a,V.n.b=0,Mc(V,e)),a+=r}if(n){for(C=L*(n.gc()-1),z=0,w=n.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b+te.b+B.a-z,r=te.a/(n.gc()+1),a=r,g=n.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o,fe+=f.o.a+L,E=Q2t(f),E.n.a=f.o.a/2-E.a.a,E.n.b=0,V=l(Q(f,(ft(),rW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=a-V.a.a,V.n.b=te.b,Mc(V,e)),a+=r}}function CDn(e,t){var n,r,a,o,f,g;if(l(Q(t,(ft(),Lu)),21).Hc((Ho(),vf))){for(g=new G(t.a);g.a=0&&f0&&(l(Qo(e.b,t),127).a.b=n)}function MDn(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J;if(B=ze(Ge(Q(e,(Nt(),GT)))),z=ze(Ge(Q(e,KT))),L=ze(Ge(Q(e,y4))),g=e.o,o=l(jt(e.j,0),12),f=o.n,J=K9n(o,L),!!J){if(t.Hc((Rl(),vp)))switch(l(Q(e,(ft(),Wc)),64).g){case 1:J.c=(g.a-J.b)/2-f.a,J.d=z;break;case 3:J.c=(g.a-J.b)/2-f.a,J.d=-z-J.a;break;case 2:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(jt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=-B-J.b;break;case 4:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(jt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=B}else if(t.Hc(Yb))switch(l(Q(e,(ft(),Wc)),64).g){case 1:case 3:J.c=f.a+B;break;case 2:case 4:n&&!o.c?(C=r?J.a:l(jt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=f.b+z}for(a=J.d,E=new G(o.f);E.a=t.length)return{done:!0};var a=t[r++];return{value:[a,n.get(a)],done:!1}}}},_Sn()||(e.prototype.createObject=function(){return{}},e.prototype.get=function(t){return this.obj[":"+t]},e.prototype.set=function(t,n){this.obj[":"+t]=n},e.prototype[lhe]=function(t){delete this.obj[":"+t]},e.prototype.keys=function(){var t=[];for(var n in this.obj)n.charCodeAt(0)==58&&t.push(n.substring(1));return t}),e}function Qi(){Qi=U,gM=new Ui(NEe),new vs("DEPTH",pt(0)),Pde=new vs("FAN",pt(0)),nIe=new vs(gyt,pt(0)),Vb=new vs("ROOT",(Hn(),!1)),Rde=new vs("LEFTNEIGHBOR",null),dTt=new vs("RIGHTNEIGHBOR",null),BW=new vs("LEFTSIBLING",null),jde=new vs("RIGHTSIBLING",null),Nde=new vs("DUMMY",!1),new vs("LEVEL",pt(0)),sIe=new vs("REMOVABLE_EDGES",new os),PB=new vs("XCOOR",pt(0)),BB=new vs("YCOOR",pt(0)),FW=new vs("LEVELHEIGHT",0),c1=new vs("LEVELMIN",0),k0=new vs("LEVELMAX",0),Bde=new vs("GRAPH_XMIN",0),Fde=new vs("GRAPH_YMIN",0),rIe=new vs("GRAPH_XMAX",0),iIe=new vs("GRAPH_YMAX",0),tIe=new vs("COMPACT_LEVEL_ASCENSION",!1),Ode=new vs("COMPACT_CONSTRAINTS",new bt),dM=new vs("ID",""),pM=new vs("POSITION",pt(0)),C2=new vs("PRELIM",0),JT=new vs("MODIFIER",0),QT=new Ui(S3t),NB=new Ui(_3t)}function NDn(e){kke();var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(e==null)return null;if(L=e.length*8,L==0)return"";for(g=L%24,z=L/24|0,B=g!=0?z+1:z,o=null,o=We(kf,Ad,28,B*4,15,1),E=0,C=0,t=0,n=0,r=0,f=0,a=0,w=0;w>24,E=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,te=r&-128?(r>>6^252)<<24>>24:r>>6<<24>>24,o[f++]=N2[V],o[f++]=N2[J|E<<4],o[f++]=N2[C<<2|te],o[f++]=N2[r&63];return g==8?(t=e[a],E=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,o[f++]=N2[V],o[f++]=N2[E<<4],o[f++]=61,o[f++]=61):g==16&&(t=e[a],n=e[a+1],C=(n&15)<<24>>24,E=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[f++]=N2[V],o[f++]=N2[J|E<<4],o[f++]=N2[C<<2],o[f++]=61),If(o,0,o.length)}function PDn(e,t){var n,r,a,o,f,g,w;if(e.e==0&&e.p>0&&(e.p=-(e.p-1)),e.p>lo&&c6e(t,e.p-Lb),f=t.q.getDate(),YO(t,1),e.k>=0&&E2n(t,e.k),e.c>=0?YO(t,e.c):e.k>=0?(w=new R7e(t.q.getFullYear()-Lb,t.q.getMonth(),35),r=35-w.q.getDate(),YO(t,b.Math.min(r,f))):YO(t,f),e.f<0&&(e.f=t.q.getHours()),e.b>0&&e.f<12&&(e.f+=12),ghn(t,e.f==24&&e.g?0:e.f),e.j>=0&&svn(t,e.j),e.n>=0&&mvn(t,e.n),e.i>=0&&Qtt(t,bo(mo(KN(Zc(t.q.getTime()),b2),b2),e.i)),e.a&&(a=new Qz,c6e(a,a.q.getFullYear()-Lb-80),fse(Zc(t.q.getTime()),Zc(a.q.getTime()))&&c6e(t,a.q.getFullYear()-Lb+100)),e.d>=0){if(e.c==-1)n=(7+e.d-t.q.getDay())%7,n>3&&(n-=7),g=t.q.getMonth(),YO(t,t.q.getDate()+n),t.q.getMonth()!=g&&YO(t,t.q.getDate()+(n>0?-7:7));else if(t.q.getDay()!=e.d)return!1}return e.o>lo&&(o=t.q.getTimezoneOffset(),Qtt(t,bo(Zc(t.q.getTime()),(e.o-o)*60*b2))),!0}function Kvt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;if(a=Q(t,(ft(),zi)),!!De(a,207)){for(V=l(a,27),J=t.e,B=new Eo(t.c),o=t.d,B.a+=o.b,B.b+=o.d,$e=l(at(V,(Nt(),xW)),181),vl($e,(Zl(),uY))&&(z=l(at(V,WMe),107),Tie(z,o.a),mwe(z,o.d),Cie(z,o.b),x8(z,o.c)),n=new bt,C=new G(t.a);C.ar.c.length-1;)vt(r,new ca(y6,hCe));n=l(Q(a,$d),17).a,Ug(l(Q(e,y3),88))?(a.e.aze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),a.e.a+a.f.a)):(a.e.bze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),a.e.b+a.f.b))}for(o=Rr(e.b,0);o.b!=o.d.c;)a=l(Br(o),40),n=l(Q(a,(Hc(),$d)),17).a,rt(a,(Qi(),c1),Ge((Sn(n,r.c.length),l(r.c[n],42)).a)),rt(a,k0,Ge((Sn(n,r.c.length),l(r.c[n],42)).b));t.Vg()}function FDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(e.o=ze(Ge(Q(e.i,(Nt(),m3)))),e.f=ze(Ge(Q(e.i,vv))),e.j=e.i.b.c.length,g=e.j-1,B=0,e.k=0,e.n=0,e.b=O1(We(ro,dt,17,e.j,0,1)),e.c=O1(We(ta,dt,345,e.j,7,1)),f=new G(e.i.b);f.a0&&vt(e.q,C),vt(e.p,C);t-=r,z=w+t,E+=t*e.f,rf(e.b,g,pt(z)),rf(e.c,g,E),e.k=b.Math.max(e.k,z),e.n=b.Math.max(e.n,E),e.e+=t,t+=J}}function Ct(){Ct=U;var e;Pc=new wO(cL,0),Qn=new wO(nG,1),ar=new wO(yhe,2),Dr=new wO(xhe,3),er=new wO(khe,4),ed=(Cn(),new Ek((e=l(K0(Oo),9),new Zh(e,l(c0(e,e.length),9),0)))),_0=a2(rs(Qn,he(le(Oo,1),au,64,0,[]))),yf=a2(rs(ar,he(le(Oo,1),au,64,0,[]))),$h=a2(rs(Dr,he(le(Oo,1),au,64,0,[]))),Hf=a2(rs(er,he(le(Oo,1),au,64,0,[]))),hl=a2(rs(Qn,he(le(Oo,1),au,64,0,[Dr]))),Ju=a2(rs(ar,he(le(Oo,1),au,64,0,[er]))),A0=a2(rs(Qn,he(le(Oo,1),au,64,0,[er]))),zl=a2(rs(Qn,he(le(Oo,1),au,64,0,[ar]))),zh=a2(rs(Dr,he(le(Oo,1),au,64,0,[er]))),xf=a2(rs(ar,he(le(Oo,1),au,64,0,[Dr]))),ql=a2(rs(Qn,he(le(Oo,1),au,64,0,[ar,er]))),ll=a2(rs(ar,he(le(Oo,1),au,64,0,[Dr,er]))),fl=a2(rs(Qn,he(le(Oo,1),au,64,0,[Dr,er]))),_l=a2(rs(Qn,he(le(Oo,1),au,64,0,[ar,Dr]))),Du=a2(rs(Qn,he(le(Oo,1),au,64,0,[ar,Dr,er])))}function RDn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St;for(t.Ug(K3t,1),J=new bt,ot=new bt,E=new G(e.b);E.a0&&(Me-=z),Oke(f,Me),C=0,B=new G(f.a);B.a0),g.a.Xb(g.c=--g.b)),w=.4*r*C,!o&&g.b0&&(w=(Xn(0,t.length),t.charCodeAt(0)),w!=64)){if(w==37&&(L=t.lastIndexOf("%"),E=!1,L!=0&&(L==B-1||(E=(Xn(L+1,t.length),t.charCodeAt(L+1)==46))))){if(f=(Ga(1,L,t.length),t.substr(1,L-1)),Me=vn("%",f)?null:Vke(f),r=0,E)try{r=Oh((Xn(L+2,t.length+1),t.substr(L+2)),lo,Ii)}catch($e){throw $e=bs($e),De($e,130)?(g=$e,ue(new nV(g))):ue($e)}for(te=m7e(e.Gh());te.Ob();)if(V=MV(te),De(V,519)&&(a=l(V,598),Te=a.d,(Me==null?Te==null:vn(Me,Te))&&r--==0))return a;return null}if(C=t.lastIndexOf("."),z=C==-1?t:(Ga(0,C,t.length),t.substr(0,C)),n=0,C!=-1)try{n=Oh((Xn(C+1,t.length+1),t.substr(C+1)),lo,Ii)}catch($e){if($e=bs($e),De($e,130))z=t;else throw ue($e)}for(z=vn("%",z)?null:Vke(z),J=m7e(e.Gh());J.Ob();)if(V=MV(J),De(V,197)&&(o=l(V,197),fe=o.xe(),(z==null?fe==null:vn(z,fe))&&n--==0))return o;return null}return Bvt(e,t)}function GDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;for(C=new Pr,w=new Cw,r=new G(e.a.a.b);r.at.d.c){if(z=e.c[t.a.d],te=e.c[L.a.d],z==te)continue;p0(s0(i0(a0(r0(new _f,1),100),z),te))}}}}}function KDn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot;if(B=l(l($i(e.r,t),21),87),t==(Ct(),ar)||t==er){Vvt(e,t);return}for(o=t==Qn?(Pw(),rB):(Pw(),iB),$e=t==Qn?(ol(),a1):(ol(),w0),n=l(Qo(e.b,t),127),r=n.i,a=r.c+Y5(he(le(Na,1),Zo,28,15,[n.n.b,e.C.b,e.k])),fe=r.c+r.b-Y5(he(le(Na,1),Zo,28,15,[n.n.c,e.C.c,e.k])),f=i3e(y4e(o),e.t),Te=t==Qn?ia:gs,L=B.Kc();L.Ob();)E=l(L.Pb(),117),!(!E.c||E.c.d.c.length<=0)&&(te=E.b.Mf(),J=E.e,z=E.c,V=z.i,V.b=(w=z.n,z.e.a+w.b+w.c),V.a=(g=z.n,z.e.b+g.d+g.a),UO($e,yEe),z.f=$e,Z0(z,(Bl(),v0)),V.c=J.a-(V.b-te.a)/2,Ze=b.Math.min(a,J.a),ot=b.Math.max(fe,J.a+te.a),V.cot&&(V.c=ot-V.b),vt(f.d,new Dae(V,h8e(f,V))),Te=t==Qn?b.Math.max(Te,J.b+E.b.Mf().b):b.Math.min(Te,J.b));for(Te+=t==Qn?e.t:-e.t,Me=M8e((f.e=Te,f)),Me>0&&(l(Qo(e.b,t),127).a.b=Me),C=B.Kc();C.Ob();)E=l(C.Pb(),117),!(!E.c||E.c.d.c.length<=0)&&(V=E.c.i,V.c-=E.e.a,V.d-=E.e.b)}function WDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z;for(t=new Pr,w=new or(e);w.e!=w.i.gc();){for(g=l(gr(w),27),n=new Ks,ki(X0e,g,n),z=new Bp,a=l(yc(new bn(null,new vw(new hr(dr(sP(g).a.Kc(),new j)))),dst(z,Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)])))),85),Kht(n,l(a.xc((Hn(),!0)),16),new Y3),r=l(yc(Fi(l(a.xc(!1),15).Lc(),new $9),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),f=r.Kc();f.Ob();)o=l(f.Pb(),74),B=Kgt(o),B&&(E=l(hc(zo(t.f,B)),21),E||(E=bbt(B),ju(t.f,B,E)),Ka(n,E));for(a=l(yc(new bn(null,new vw(new hr(dr(cp(g).a.Kc(),new j)))),dst(z,Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec])))),85),Kht(n,l(a.xc(!0),16),new c5),r=l(yc(Fi(l(a.xc(!1),15).Lc(),new Eh),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),L=r.Kc();L.Ob();)C=l(L.Pb(),74),B=Wgt(C),B&&(E=l(hc(zo(t.f,B)),21),E||(E=bbt(B),ju(t.f,B,E)),Ka(n,E))}}function YDn(e,t){ble();var n,r,a,o,f,g,w,E,C,L,B,z,V,J;if(w=iu(e,0)<0,w&&(e=r2(e)),iu(e,0)==0)switch(t){case 0:return"0";case 1:return sT;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return z=new tb,t<0?z.a+="0E+":z.a+="0E",z.a+=t==lo?"2147483648":""+-t,z.a}C=18,L=We(kf,Ad,28,C+1,15,1),n=C,J=e;do E=J,J=KN(J,10),L[--n]=Yr(bo(48,Df(E,mo(J,10))))&Zs;while(iu(J,0)!=0);if(a=Df(Df(Df(C,n),t),1),t==0)return w&&(L[--n]=45),If(L,n,C-n);if(t>0&&iu(a,-6)>=0){if(iu(a,0)>=0){for(o=n+Yr(a),g=C-1;g>=o;g--)L[g+1]=L[g];return L[++o]=46,w&&(L[--n]=45),If(L,n,C-n+1)}for(f=2;fse(f,bo(r2(a),1));f++)L[--n]=48;return L[--n]=46,L[--n]=48,w&&(L[--n]=45),If(L,n,C-n)}return V=n+1,r=C,B=new S5,w&&(B.a+="-"),r-V>=1?(hb(B,L[n]),B.a+=".",B.a+=If(L,n+1,C-n-1)):B.a+=If(L,n,C-n),B.a+="E",iu(a,0)>0&&(B.a+="+"),B.a+=""+Y_(a),B.a}function Gw(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot;if(te=new lt(e.g,e.f),J=a9e(e),J.a=b.Math.max(J.a,t),J.b=b.Math.max(J.b,n),ot=J.a/te.a,C=J.b/te.b,$e=J.a-te.a,w=J.b-te.b,r)for(f=ds(e)?l(at(ds(e),(pi(),xv)),88):l(at(e,(pi(),xv)),88),g=qe(at(e,(pi(),_M)))===qe((Ra(),Mu)),Te=new or((!e.c&&(e.c=new nt(Hl,e,9,9)),e.c));Te.e!=Te.i.gc();)switch(fe=l(gr(Te),123),Me=l(at(fe,s7),64),Me==(Ct(),Pc)&&(Me=Eke(fe,f),Hi(fe,s7,Me)),Me.g){case 1:g||Uu(fe,fe.i*ot);break;case 2:Uu(fe,fe.i+$e),g||Gu(fe,fe.j*C);break;case 3:g||Uu(fe,fe.i*ot),Gu(fe,fe.j+w);break;case 4:g||Gu(fe,fe.j*C)}if(F5(e,J.a,J.b),a)for(B=new or((!e.n&&(e.n=new nt(ec,e,1,7)),e.n));B.e!=B.i.gc();)L=l(gr(B),135),z=L.i+L.g/2,V=L.j+L.f/2,Ze=z/te.a,E=V/te.b,Ze+E>=1&&(Ze-E>0&&V>=0?(Uu(L,L.i+$e),Gu(L,L.j+w*E)):Ze-E<0&&z>=0&&(Uu(L,L.i+$e*Ze),Gu(L,L.j+w)));return Hi(e,(pi(),kv),(mh(),o=l(K0(BM),9),new Zh(o,l(c0(o,o.length),9),0))),new lt(ot,C)}function Qvt(e){sw(e,new Xm(Uz(nw(Zv(tw(ew(new x1,gf),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new fu),gf))),gt(e,gf,_G,It(uCt)),gt(e,gf,Jy,It(lCt)),gt(e,gf,x6,It(sCt)),gt(e,gf,Px,It(aCt)),gt(e,gf,Nx,It(oCt)),gt(e,gf,fT,It(iCt)),gt(e,gf,fL,It(NIe)),gt(e,gf,dT,It(cCt)),gt(e,gf,Cfe,It(Jde)),gt(e,gf,Tfe,It(Zde)),gt(e,gf,NG,It(BIe)),gt(e,gf,Sfe,It(ege)),gt(e,gf,_fe,It(FIe)),gt(e,gf,MCe,It(RIe)),gt(e,gf,LCe,It(PIe)),gt(e,gf,CCe,It(qW)),gt(e,gf,SCe,It(HW)),gt(e,gf,_Ce,It(FB)),gt(e,gf,ACe,It(jIe)),gt(e,gf,TCe,It(OIe))}function KU(e){var t,n,r,a,o,f,g,w,E,C,L;if(e==null)throw ue(new gd(ul));if(E=e,o=e.length,w=!1,o>0&&(t=(Xn(0,e.length),e.charCodeAt(0)),(t==45||t==43)&&(e=(Xn(1,e.length+1),e.substr(1)),--o,w=t==45)),o==0)throw ue(new gd(Yw+E+'"'));for(;e.length>0&&(Xn(0,e.length),e.charCodeAt(0)==48);)e=(Xn(1,e.length+1),e.substr(1)),--o;if(o>(Amt(),b6t)[10])throw ue(new gd(Yw+E+'"'));for(a=0;a0&&(L=-parseInt((Ga(0,r,e.length),e.substr(0,r)),10),e=(Xn(r,e.length+1),e.substr(r)),o-=r,n=!1);o>=f;){if(r=parseInt((Ga(0,f,e.length),e.substr(0,f)),10),e=(Xn(f,e.length+1),e.substr(f)),o-=f,n)n=!1;else{if(iu(L,g)<0)throw ue(new gd(Yw+E+'"'));L=mo(L,C)}L=Df(L,r)}if(iu(L,0)>0)throw ue(new gd(Yw+E+'"'));if(!w&&(L=r2(L),iu(L,0)<0))throw ue(new gd(Yw+E+'"'));return L}function Vke(e){kle();var t,n,r,a,o,f,g,w;if(e==null)return null;if(a=pd(e,cl(37)),a<0)return e;for(w=new Th((Ga(0,a,e.length),e.substr(0,a))),t=We(Al,C6,28,4,15,1),g=0,r=0,f=e.length;aa+2&&mce((Xn(a+1,e.length),e.charCodeAt(a+1)),kPe,EPe)&&mce((Xn(a+2,e.length),e.charCodeAt(a+2)),kPe,EPe))if(n=bdn((Xn(a+1,e.length),e.charCodeAt(a+1)),(Xn(a+2,e.length),e.charCodeAt(a+2))),a+=2,r>0?(n&192)==128?t[g++]=n<<24>>24:r=0:n>=128&&((n&224)==192?(t[g++]=n<<24>>24,r=2):(n&240)==224?(t[g++]=n<<24>>24,r=3):(n&248)==240&&(t[g++]=n<<24>>24,r=4)),r>0){if(g==r){switch(g){case 2:{hb(w,((t[0]&31)<<6|t[1]&63)&Zs);break}case 3:{hb(w,((t[0]&15)<<12|(t[1]&63)<<6|t[2]&63)&Zs);break}}g=0,r=0}}else{for(o=0;o=2){if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i==0)n=(rb(),a=new rk,a),qr((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),n);else if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i>1)for(B=new q8((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));B.e!=B.i.gc();)jA(B);dP(t,l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166))}if(L)for(r=new or((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));r.e!=r.i.gc();)for(n=l(gr(r),166),E=new or((!n.a&&(n.a=new Ys(qh,n,5)),n.a));E.e!=E.i.gc();)w=l(gr(E),377),g.a=b.Math.max(g.a,w.a),g.b=b.Math.max(g.b,w.b);for(f=new or((!e.n&&(e.n=new nt(ec,e,1,7)),e.n));f.e!=f.i.gc();)o=l(gr(f),135),C=l(at(o,MM),8),C&&Qh(o,C.a,C.b),L&&(g.a=b.Math.max(g.a,o.i+o.g),g.b=b.Math.max(g.b,o.j+o.f));return g}function Zvt(e,t,n,r,a){var o,f,g;if(eht(e,t),f=t[0],o=co(n.c,0),g=-1,z7e(n))if(r>0){if(f+r>e.length)return!1;g=kU((Ga(0,f+r,e.length),e.substr(0,f+r)),t)}else g=kU(e,t);switch(o){case 71:return g=o6(e,f,he(le(zt,1),dt,2,6,[Rwt,jwt]),t),a.e=g,!0;case 77:return hSn(e,t,a,g,f);case 76:return fSn(e,t,a,g,f);case 69:return rkn(e,t,f,a);case 99:return ikn(e,t,f,a);case 97:return g=o6(e,f,he(le(zt,1),dt,2,6,["AM","PM"]),t),a.b=g,!0;case 121:return dSn(e,t,f,g,n,a);case 100:return g<=0?!1:(a.c=g,!0);case 83:return g<0?!1:w5n(g,f,t[0],a);case 104:g==12&&(g=0);case 75:case 72:return g<0?!1:(a.f=g,a.g=!1,!0);case 107:return g<0?!1:(a.f=g,a.g=!0,!0);case 109:return g<0?!1:(a.j=g,!0);case 115:return g<0?!1:(a.n=g,!0);case 90:if(fcn[w]&&(te=w),L=new G(e.a.b);L.a1;){if(a=iCn(t),L=o.g,V=l(at(t,vM),107),J=ze(Ge(at(t,KW))),(!t.a&&(t.a=new nt(Ai,t,10,11)),t.a).i>1&&ze(Ge(at(t,(ug(),cge))))!=gs&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))1&&ze(Ge(at(t,(ug(),oge))))!=gs&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))>J&&Hi(a,(ug(),T4),b.Math.max(ze(Ge(at(t,mM))),ze(Ge(at(a,T4)))-ze(Ge(at(t,oge))))),z=new Q3e(r,C),w=wwt(z,a,B),E=w.g,E>=L&&E==E){for(f=0;f<(!a.a&&(a.a=new nt(Ai,a,10,11)),a.a).i;f++)Gpt(e,l(Oe((!a.a&&(a.a=new nt(Ai,a,10,11)),a.a),f),27),l(Oe((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a),f),27));Sht(t,z),c2n(o,w.c),o2n(o,w.b)}--g}Hi(t,(ug(),ZT),o.b),Hi(t,Zx,o.c),n.Vg()}function ZDn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;for(t.Ug("Interactive node layering",1),n=new bt,B=new G(e.a);B.a=g){mr(Te.b>0),Te.a.Xb(Te.c=--Te.b);break}else te.a>w&&(r?(ra(r.b,te.b),r.a=b.Math.max(r.a,te.a),ph(Te)):(vt(te.b,C),te.c=b.Math.min(te.c,w),te.a=b.Math.max(te.a,g),r=te));r||(r=new GQe,r.c=w,r.a=g,by(Te,r),vt(r.b,C))}for(f=e.b,E=0,fe=new G(n);fe.az&&(o&&(ko(ot,B),ko(cn,pt(E.b-1))),oi=n.b,ws+=B+t,B=0,C=b.Math.max(C,n.b+n.c+ur)),Uu(g,oi),Gu(g,ws),C=b.Math.max(C,oi+ur+n.c),B=b.Math.max(B,L),oi+=ur+t;if(C=b.Math.max(C,r),jn=ws+B+n.a,jnDd,an=b.Math.abs(B.b-V.b)>Dd,(!n&&cn&&an||n&&(cn||an))&&ci(te.a,$e)),Ka(te.a,r),r.b==0?B=$e:B=(mr(r.b!=0),l(r.c.b.c,8)),j3n(z,L,J),Cft(a)==St&&(eo(St.i)!=a.a&&(J=new qa,n9e(J,eo(St.i),Te)),rt(te,Y1e,J)),x9n(z,te,Te),C.a.zc(z,C);po(te,Ze),Fa(te,St)}for(E=C.a.ec().Kc();E.Ob();)w=l(E.Pb(),18),po(w,null),Fa(w,null);t.Vg()}function nIn(e,t){var n,r,a,o,f,g,w,E,C,L,B;for(a=l(Q(e,(Hc(),y3)),88),C=a==(Js(),uc)||a==vc?Q1:vc,n=l(yc(Fi(new bn(null,new kn(e.b,16)),new pI),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),w=l(yc(fc(n.Oc(),new dXe(t)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),w.Gc(l(yc(fc(n.Oc(),new gXe(t)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),16)),w.jd(new pXe(C)),B=new Kp(new bXe(a)),r=new Pr,g=w.Kc();g.Ob();)f=l(g.Pb(),240),E=l(f.a,40),Rt(Bt(f.c))?(B.a.zc(E,(Hn(),Pb))==null,new ba(B.a.Zc(E,!1)).a.gc()>0&&ki(r,E,l(new ba(B.a.Zc(E,!1)).a.Vc(),40)),new ba(B.a.ad(E,!0)).a.gc()>1&&ki(r,L1t(B,E),E)):(new ba(B.a.Zc(E,!1)).a.gc()>0&&(o=l(new ba(B.a.Zc(E,!1)).a.Vc(),40),qe(o)===qe(hc(zo(r.f,E)))&&l(Q(E,(Qi(),Ode)),15).Fc(o)),new ba(B.a.ad(E,!0)).a.gc()>1&&(L=L1t(B,E),qe(hc(zo(r.f,L)))===qe(E)&&l(Q(L,(Qi(),Ode)),15).Fc(E)),B.a.Bc(E)!=null)}function ewt(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;if(e.gc()==1)return l(e.Xb(0),235);if(e.gc()<=0)return new KH;for(a=e.Kc();a.Ob();){for(n=l(a.Pb(),235),V=0,C=Ii,L=Ii,w=lo,E=lo,z=new G(n.e);z.ag&&(Me=0,$e+=f+fe,f=0),L_n(J,n,Me,$e),t=b.Math.max(t,Me+te.a),f=b.Math.max(f,te.b),Me+=te.a+fe;return J}function rIn(e){kke();var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(e==null||(o=iV(e),V=D4n(o),V%4!=0))return null;if(J=V/4|0,J==0)return We(Al,C6,28,0,15,1);for(L=null,t=0,n=0,r=0,a=0,f=0,g=0,w=0,E=0,z=0,B=0,C=0,L=We(Al,C6,28,J*3,15,1);z>4)<<24>>24,L[B++]=((n&15)<<4|r>>2&15)<<24>>24,L[B++]=(r<<6|a)<<24>>24}return!eO(f=o[C++])||!eO(g=o[C++])?null:(t=nd[f],n=nd[g],w=o[C++],E=o[C++],nd[w]==-1||nd[E]==-1?w==61&&E==61?n&15?null:(te=We(Al,C6,28,z*3+1,15,1),pu(L,0,te,0,z*3),te[B]=(t<<2|n>>4)<<24>>24,te):w!=61&&E==61?(r=nd[w],r&3?null:(te=We(Al,C6,28,z*3+2,15,1),pu(L,0,te,0,z*3),te[B++]=(t<<2|n>>4)<<24>>24,te[B]=((n&15)<<4|r>>2&15)<<24>>24,te)):null:(r=nd[w],a=nd[E],L[B++]=(t<<2|n>>4)<<24>>24,L[B++]=((n&15)<<4|r>>2&15)<<24>>24,L[B++]=(r<<6|a)<<24>>24,L))}function iIn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze;for(t.Ug(K3t,1),V=l(Q(e,(Nt(),bp)),223),a=new G(e.b);a.a=2){for(J=!0,B=new G(o.j),n=l(re(B),12),z=null;B.a0)if(r=L.gc(),E=ua(b.Math.floor((r+1)/2))-1,a=ua(b.Math.ceil((r+1)/2))-1,t.o==Y1)for(C=a;C>=E;C--)t.a[$e.p]==$e&&(J=l(L.Xb(C),42),V=l(J.a,10),!W0(n,J.b)&&z>e.b.e[V.p]&&(t.a[V.p]=$e,t.g[$e.p]=t.g[V.p],t.a[$e.p]=t.g[$e.p],t.f[t.g[$e.p].p]=(Hn(),!!(Rt(t.f[t.g[$e.p].p])&$e.k==(Zn(),Aa))),z=e.b.e[V.p]));else for(C=E;C<=a;C++)t.a[$e.p]==$e&&(fe=l(L.Xb(C),42),te=l(fe.a,10),!W0(n,fe.b)&&z0&&(a=l(jt(te.c.a,ot-1),10),f=e.i[a.p],cn=b.Math.ceil(j5(e.n,a,te)),o=Ze.a.e-te.d.d-(f.a.e+a.o.b+a.d.a)-cn),E=gs,ot0&&St.a.e.e-St.a.a-(St.b.e.e-St.b.a)<0,V=Me.a.e.e-Me.a.a-(Me.b.e.e-Me.b.a)<0&&St.a.e.e-St.a.a-(St.b.e.e-St.b.a)>0,z=Me.a.e.e+Me.b.aSt.b.e.e+St.a.a,$e=0,!J&&!V&&(B?o+L>0?$e=L:E-r>0&&($e=r):z&&(o+g>0?$e=g:E-Te>0&&($e=Te))),Ze.a.e+=$e,Ze.b&&(Ze.d.e+=$e),!1))}function nwt(e,t,n){var r,a,o,f,g,w,E,C,L,B;if(r=new ef(t.Lf().a,t.Lf().b,t.Mf().a,t.Mf().b),a=new $8,e.c)for(f=new G(t.Rf());f.aE&&(r.a+=Mnt(We(kf,Ad,28,-E,15,1))),r.a+="Is",pd(w,cl(32))>=0)for(a=0;a=r.o.b/2}else Te=!L;Te?(fe=l(Q(r,(ft(),Qx)),15),fe?B?o=fe:(a=l(Q(r,Gx),15),a?fe.gc()<=a.gc()?o=fe:o=a:(o=new bt,rt(r,Gx,o))):(o=new bt,rt(r,Qx,o))):(a=l(Q(r,(ft(),Gx)),15),a?L?o=a:(fe=l(Q(r,Qx),15),fe?a.gc()<=fe.gc()?o=a:o=fe:(o=new bt,rt(r,Qx,o))):(o=new bt,rt(r,Gx,o))),o.Fc(e),rt(e,(ft(),rW),n),t.d==n?(Fa(t,null),n.e.c.length+n.g.c.length==0&&Mc(n,null),kyn(n)):(po(t,null),n.e.c.length+n.g.c.length==0&&Mc(n,null)),Ch(t.a)}function cIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi,ws;for(n.Ug("MinWidth layering",1),z=t.b,St=t.a,ws=l(Q(t,(Nt(),zMe)),17).a,g=l(Q(t,qMe),17).a,e.b=ze(Ge(Q(t,x0))),e.d=gs,$e=new G(St);$e.a<$e.c.c.length;)Te=l(re($e),10),Te.k==(Zn(),Ps)&&(Bn=Te.o.b,e.d=b.Math.min(e.d,Bn));for(e.d=b.Math.max(1,e.d),cn=St.c.length,e.c=We(Vr,di,28,cn,15,1),e.f=We(Vr,di,28,cn,15,1),e.e=We(Na,Zo,28,cn,15,1),E=0,e.a=0,Ze=new G(St);Ze.a0?(E=0,te&&(E+=g),E+=(an-1)*f,Me&&(E+=g),cn&&Me&&(E=b.Math.max(E,ACn(Me,f,Te,St))),E=e.a&&(r=VAn(e,Te),C=b.Math.max(C,r.b),$e=b.Math.max($e,r.d),vt(g,new ca(Te,r)));for(cn=new bt,E=0;E0),te.a.Xb(te.c=--te.b),an=new yu(e.b),by(te,an),mr(te.b0){for(B=C<100?null:new nb(C),E=new T7e(t),V=E.g,fe=We(Vr,di,28,C,15,1),r=0,$e=new Lw(C),a=0;a=0;)if(z!=null?Pi(z,V[w]):qe(z)===qe(V[w])){fe.length<=r&&(te=fe,fe=We(Vr,di,28,2*fe.length,15,1),pu(te,0,fe,0,r)),fe[r++]=a,qr($e,V[w]);break e}if(z=z,qe(z)===qe(g))break}}if(E=$e,V=$e.g,C=r,r>fe.length&&(te=fe,fe=We(Vr,di,28,r,15,1),pu(te,0,fe,0,r)),r>0){for(Me=!0,o=0;o=0;)vx(e,fe[f]);if(r!=C){for(a=C;--a>=r;)vx(E,a);te=fe,fe=We(Vr,di,28,r,15,1),pu(te,0,fe,0,r)}t=E}}}else for(t=C7n(e,t),a=e.i;--a>=0;)t.Hc(e.g[a])&&(vx(e,a),Me=!0);if(Me){if(fe!=null){for(n=t.gc(),L=n==1?rA(e,4,t.Kc().Pb(),null,fe[0],J):rA(e,6,t,fe,fe[0],J),B=n<100?null:new nb(n),a=t.Kc();a.Ob();)z=a.Pb(),B=d4e(e,l(z,76),B);B?(B.nj(L),B.oj()):Ni(e.e,L)}else{for(B=Dfn(t.gc()),a=t.Kc();a.Ob();)z=a.Pb(),B=d4e(e,l(z,76),B);B&&B.oj()}return!0}else return!1}function hIn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;for(n=new xdt(t),n.a||$_n(t),E=FSn(t),w=new Cw,te=new Ebt,J=new G(t.a);J.a0||n.o==Y1&&a=n}function dIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur;for(Me=t,Te=new Cw,$e=new Cw,C=Aw(Me,fSe),r=new Mat(e,n,Te,$e),O9n(r.a,r.b,r.c,r.d,C),w=(St=Te.i,St||(Te.i=new q5(Te,Te.c))),an=w.Kc();an.Ob();)for(cn=l(an.Pb(),166),a=l($i(Te,cn),21),J=a.Kc();J.Ob();)if(V=J.Pb(),Ze=l(X5(e.d,V),166),Ze)g=(!cn.e&&(cn.e=new Ln(cs,cn,10,9)),cn.e),qr(g,Ze);else throw f=Yg(Me,Pd),B=y4t+V+x4t+f,z=B+kT,ue(new dd(z));for(E=(ot=$e.i,ot||($e.i=new q5($e,$e.c))),jn=E.Kc();jn.Ob();)for(Bn=l(jn.Pb(),166),o=l($i($e,Bn),21),fe=o.Kc();fe.Ob();)if(te=fe.Pb(),Ze=l(X5(e.d,te),166),Ze)L=(!Bn.g&&(Bn.g=new Ln(cs,Bn,9,10)),Bn.g),qr(L,Ze);else throw f=Yg(Me,Pd),B=y4t+te+x4t+f,z=B+kT,ue(new dd(z));!n.b&&(n.b=new Ln(_r,n,4,7)),n.b.i!=0&&(!n.c&&(n.c=new Ln(_r,n,5,8)),n.c.i!=0)&&(!n.b&&(n.b=new Ln(_r,n,4,7)),n.b.i<=1&&(!n.c&&(n.c=new Ln(_r,n,5,8)),n.c.i<=1))&&(!n.a&&(n.a=new nt(cs,n,6,6)),n.a).i==1&&(ur=l(Oe((!n.a&&(n.a=new nt(cs,n,6,6)),n.a),0),166),!aue(ur)&&!oue(ur)&&(wV(ur,l(Oe((!n.b&&(n.b=new Ln(_r,n,4,7)),n.b),0),84)),yV(ur,l(Oe((!n.c&&(n.c=new Ln(_r,n,5,8)),n.c),0),84))))}function gIn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn;for(Me=e.a,$e=0,Ze=Me.length;$e0?(L=l(jt(B.c.a,f-1),10),cn=j5(e.b,B,L),te=B.n.b-B.d.d-(L.n.b+L.o.b+L.d.a+cn)):te=B.n.b-B.d.d,E=b.Math.min(te,E),f1&&(f=b.Math.min(f,b.Math.abs(l(ff(g.a,1),8).b-C.b)))));else for(J=new G(t.j);J.aa&&(o=B.a-a,f=Ii,r.c.length=0,a=B.a),B.a>=a&&($n(r.c,g),g.a.b>1&&(f=b.Math.min(f,b.Math.abs(l(ff(g.a,g.a.b-2),8).b-B.b)))));if(r.c.length!=0&&o>t.o.a/2&&f>t.o.b/2){for(z=new gu,Mc(z,t),la(z,(Ct(),Qn)),z.n.a=t.o.a/2,fe=new gu,Mc(fe,t),la(fe,Dr),fe.n.a=t.o.a/2,fe.n.b=t.o.b,w=new G(r);w.a=E.b?po(g,fe):po(g,z)):(E=l(sdn(g.a),8),te=g.a.b==0?I1(g.c):l(o0(g.a),8),te.b>=E.b?Fa(g,fe):Fa(g,z)),L=l(Q(g,(Nt(),cc)),75),L&&Ny(L,E,!0);t.n.a=a-t.o.a/2}}function bIn(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(g=Rr(e.b,0);g.b!=g.d.c;)if(f=l(Br(g),40),!vn(f.c,DG))for(E=zEn(f,e),t==(Js(),uc)||t==vc?Vs(E,new ene):Vs(E,new tne),w=E.c.length,r=0;r=0?z=gx(g):z=BN(gx(g)),e.qf(VT,z)),E=new qa,B=!1,e.pf(p3)?(Fye(E,l(e.of(p3),8)),B=!0):Shn(E,f.a/2,f.b/2),z.g){case 4:rt(C,Qu,(hf(),$b)),rt(C,sW,(Vm(),P6)),C.o.b=f.b,J<0&&(C.o.a=-J),la(L,(Ct(),ar)),B||(E.a=f.a),E.a-=f.a;break;case 2:rt(C,Qu,(hf(),d4)),rt(C,sW,(Vm(),FT)),C.o.b=f.b,J<0&&(C.o.a=-J),la(L,(Ct(),er)),B||(E.a=0);break;case 1:rt(C,hv,(ep(),F6)),C.o.a=f.a,J<0&&(C.o.b=-J),la(L,(Ct(),Dr)),B||(E.b=f.b),E.b-=f.b;break;case 3:rt(C,hv,(ep(),Ux)),C.o.a=f.a,J<0&&(C.o.b=-J),la(L,(Ct(),Qn)),B||(E.b=0)}if(Fye(L.n,E),rt(C,p3,E),t==Tv||t==Tg||t==Mu){if(V=0,t==Tv&&e.pf(k2))switch(z.g){case 1:case 2:V=l(e.of(k2),17).a;break;case 3:case 4:V=-l(e.of(k2),17).a}else switch(z.g){case 4:case 2:V=o.b,t==Tg&&(V/=a.b);break;case 1:case 3:V=o.a,t==Tg&&(V/=a.a)}rt(C,l3,V)}return rt(C,Wc,z),C}function mIn(){c3e();function e(r){var a=this;this.dispatch=function(o){var f=o.data;switch(f.cmd){case"algorithms":var g=L8e((Cn(),new $a(new gi(Qb.b))));r.postMessage({id:f.id,data:g});break;case"categories":var w=L8e((Cn(),new $a(new gi(Qb.c))));r.postMessage({id:f.id,data:w});break;case"options":var E=L8e((Cn(),new $a(new gi(Qb.d))));r.postMessage({id:f.id,data:E});break;case"register":yMn(f.algorithms),r.postMessage({id:f.id});break;case"layout":YAn(f.graph,f.layoutOptions||{},f.options||{}),r.postMessage({id:f.id,data:f.graph});break}},this.saveDispatch=function(o){try{a.dispatch(o)}catch(f){r.postMessage({id:o.data.id,error:f})}}}function t(r){var a=this;this.dispatcher=new e({postMessage:function(o){a.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){a.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===ghe&&typeof self!==ghe){var n=new e(self);self.onmessage=n.saveDispatch}else typeof d!==ghe&&d.exports&&(Object.defineProperty(p,"__esModule",{value:!0}),d.exports={default:t,Worker:t})}function cwt(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(C=new op(n),pc(C,t),rt(C,(ft(),zi),t),C.o.a=t.g,C.o.b=t.f,C.n.a=t.i,C.n.b=t.j,vt(n.a,C),ki(e.a,t,C),((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a).i!=0||Rt(Bt(at(t,(Nt(),b4)))))&&rt(C,FLe,(Hn(),!0)),E=l(Q(n,Lu),21),L=l(Q(C,(Nt(),Ms)),101),L==(Ra(),Wb)?rt(C,Ms,Z1):L!=Z1&&E.Fc((Ho(),$T)),B=0,r=l(Q(n,Rh),88),w=new or((!t.c&&(t.c=new nt(Hl,t,9,9)),t.c));w.e!=w.i.gc();)g=l(gr(w),123),a=ds(t),(qe(at(a,yg))!==qe((Ed(),E2))||qe(at(a,dv))===qe((l2(),BT))||qe(at(a,dv))===qe((l2(),PT))||Rt(Bt(at(a,f3)))||qe(at(a,g4))!==qe((Km(),c4))||qe(at(a,zb))===qe((Nf(),v3))||qe(at(a,zb))===qe((Nf(),x4))||qe(at(a,pv))===qe((p2(),WT))||qe(at(a,pv))===qe((p2(),YT)))&&!Rt(Bt(at(t,fW)))&&Hi(g,Ki,pt(B++)),Rt(Bt(at(g,mv)))||_Dn(e,g,C,E,r,L);for(f=new or((!t.n&&(t.n=new nt(ec,t,1,7)),t.n));f.e!=f.i.gc();)o=l(gr(f),135),!Rt(Bt(at(o,mv)))&&o.a&&vt(C.b,Oce(o));return Rt(Bt(Q(C,QL)))&&E.Fc((Ho(),eW)),Rt(Bt(Q(C,bW)))&&(E.Fc((Ho(),tW)),E.Fc(UL),rt(C,Ms,Z1)),C}function Lle(e,t,n,r,a,o,f){var g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi,ws;for(J=0,Bn=0,E=new G(e.b);E.aJ&&(o&&(ko(ot,z),ko(cn,pt(C.b-1)),vt(e.d,V),g.c.length=0),oi=n.b,ws+=z+t,z=0,L=b.Math.max(L,n.b+n.c+ur)),$n(g.c,w),ddt(w,oi,ws),L=b.Math.max(L,oi+ur+n.c),z=b.Math.max(z,B),oi+=ur+t,V=w;if(ra(e.a,g),vt(e.d,l(jt(g,g.c.length-1),163)),L=b.Math.max(L,r),jn=ws+z+n.a,jna.d.d+a.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))),r.b!=r.d.c&&(t=n);C&&(o=l(cr(e.f,f.d.i),60),t.bo.d.d+o.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))}for(g=new hr(dr(ka(z).a.Kc(),new j));jr(g);)f=l(xr(g),18),f.a.b!=0&&(t=l(o0(f.a),8),f.d.j==(Ct(),Qn)&&(te=new QA(t,new lt(t.a,a.d.d),a,f),te.f.a=!0,te.a=f.d,$n(J.c,te)),f.d.j==Dr&&(te=new QA(t,new lt(t.a,a.d.d+a.d.a),a,f),te.f.d=!0,te.a=f.d,$n(J.c,te)))}return J}function EIn(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(w=new bt,L=t.length,f=$7e(n),E=0;E=V&&(Te>V&&(z.c.length=0,V=Te),$n(z.c,f));z.c.length!=0&&(B=l(jt(z,aU(t,z.c.length)),131),jn.a.Bc(B)!=null,B.s=J++,R9e(B,an,ot),z.c.length=0)}for($e=e.c.length+1,g=new G(e);g.aBn.s&&(ph(n),al(Bn.i,r),r.c>0&&(r.a=Bn,vt(Bn.t,r),r.b=St,vt(St.i,r)))}function uwt(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn;for(J=new Bu(t.b),$e=new Bu(t.b),B=new Bu(t.b),cn=new Bu(t.b),te=new Bu(t.b),St=Rr(t,0);St.b!=St.d.c;)for(Ze=l(Br(St),12),g=new G(Ze.g);g.a0,fe=Ze.g.c.length>0,E&&fe?$n(B.c,Ze):E?$n(J.c,Ze):fe&&$n($e.c,Ze);for(V=new G(J);V.aTe.nh()-E.b&&(B=Te.nh()-E.b),z>Te.oh()-E.d&&(z=Te.oh()-E.d),C0){for(Me=Rr(e.f,0);Me.b!=Me.d.c;)Te=l(Br(Me),10),Te.p+=B-e.e;r9e(e),Ch(e.f),J9e(e,r,z)}else{for(ci(e.f,z),z.p=r,e.e=b.Math.max(e.e,r),o=new hr(dr(ka(z).a.Kc(),new j));jr(o);)a=l(xr(o),18),!a.c.i.c&&a.c.i.k==(Zn(),cu)&&(ci(e.f,a.c.i),a.c.i.p=r-1);e.c=r}else r9e(e),Ch(e.f),r=0,jr(new hr(dr(ka(z).a.Kc(),new j)))?(B=0,B=vdt(B,z),r=B+2,J9e(e,r,z)):(ci(e.f,z),z.p=0,e.e=b.Math.max(e.e,0),e.b=l(jt(e.d.b,0),30),e.c=0);for(e.f.b==0||r9e(e),e.d.a.c.length=0,fe=new bt,E=new G(e.d.b);E.a=48&&t<=57){for(r=t-48;a=48&&t<=57;)if(r=r*10+t-48,r<0)throw ue(new ri(ai((Jr(),CSe))))}else throw ue(new ri(ai((Jr(),K4t))));if(n=r,t==44){if(a>=e.j)throw ue(new ri(ai((Jr(),Y4t))));if((t=co(e.i,a++))>=48&&t<=57){for(n=t-48;a=48&&t<=57;)if(n=n*10+t-48,n<0)throw ue(new ri(ai((Jr(),CSe))));if(r>n)throw ue(new ri(ai((Jr(),X4t))))}else n=-1}if(t!=125)throw ue(new ri(ai((Jr(),W4t))));e.bm(a)?(o=(Di(),Di(),new Ty(9,o)),e.d=a+1):(o=(Di(),Di(),new Ty(3,o)),e.d=a),o.Om(r),o.Nm(n),Li(e)}}return o}function LIn(e){var t,n,r,a,o;switch(n=l(Q(e,(ft(),Lu)),21),t=Oq(v8t),a=l(Q(e,(Nt(),p4)),346),a==(rp(),A2)&&Dh(t,w8t),Rt(Bt(Q(e,ide)))?fi(t,(uo(),y0),(vo(),d1e)):fi(t,(uo(),bu),(vo(),d1e)),Q(e,(QH(),kM))!=null&&Dh(t,y8t),(Rt(Bt(Q(e,RMe)))||Rt(Bt(Q(e,NMe))))&&yl(t,(uo(),mc),(vo(),OAe)),l(Q(e,Rh),88).g){case 2:case 3:case 4:yl(fi(t,(uo(),y0),(vo(),PAe)),mc,NAe)}switch(n.Hc((Ho(),eW))&&yl(fi(fi(t,(uo(),y0),(vo(),IAe)),_u,MAe),mc,DAe),qe(Q(e,zb))!==qe((Nf(),AW))&&fi(t,(uo(),bu),(vo(),XAe)),n.Hc(nW)&&(fi(t,(uo(),y0),(vo(),eLe)),fi(t,vg,JAe),fi(t,bu,ZAe)),qe(Q(e,lW))!==qe((zE(),VL))&&qe(Q(e,bp))!==qe((ip(),JB))&&yl(t,(uo(),mc),(vo(),VAe)),Rt(Bt(Q(e,BMe)))&&fi(t,(uo(),bu),(vo(),HAe)),Rt(Bt(Q(e,ede)))&&fi(t,(uo(),bu),(vo(),tLe)),qTn(e)&&(qe(Q(e,p4))===qe(A2)?r=l(Q(e,TB),299):r=l(Q(e,Z1e),299),o=r==(vE(),R1e)?(vo(),QAe):(vo(),iLe),fi(t,(uo(),_u),o)),l(Q(e,lDe),388).g){case 1:fi(t,(uo(),_u),(vo(),nLe));break;case 2:yl(fi(fi(t,(uo(),bu),(vo(),SAe)),_u,_Ae),mc,AAe)}return qe(Q(e,yg))!==qe((Ed(),E2))&&fi(t,(uo(),bu),(vo(),rLe)),t}function dwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;if(Hu(e.a,t)){if(W0(l(cr(e.a,t),49),n))return 1}else ki(e.a,t,new Ks);if(Hu(e.a,n)){if(W0(l(cr(e.a,n),49),t))return-1}else ki(e.a,n,new Ks);if(Hu(e.e,t)){if(W0(l(cr(e.e,t),49),n))return-1}else ki(e.e,t,new Ks);if(Hu(e.e,n)){if(W0(l(cr(e.a,n),49),t))return 1}else ki(e.e,n,new Ks);if(e.c==(Ed(),yde)||!ns(t,(ft(),Ki))||!ns(n,(ft(),Ki))){for(L=null,E=new G(t.j);E.af?WE(e,t,n):WE(e,n,t),af?1:0}return r=l(Q(t,(ft(),Ki)),17).a,o=l(Q(n,Ki),17).a,r>o?WE(e,t,n):WE(e,n,t),ro?1:0}function Kw(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(n==null)return null;if(e.a!=t.jk())throw ue(new Yn(yT+t.xe()+t3));if(De(t,469)){if(te=ySn(l(t,685),n),!te)throw ue(new Yn(zfe+n+"' is not a valid enumerator of '"+t.xe()+"'"));return te}switch(o2((El(),io),t).Nl()){case 2:{n=Tu(n,!1);break}case 3:{n=Tu(n,!0);break}}if(r=o2(io,t).Jl(),r)return r.jk().wi().ti(r,n);if(B=o2(io,t).Ll(),B){for(te=new bt,E=Tce(n),C=0,L=E.length;C1)for(V=new q8((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));V.e!=V.i.gc();)jA(V);for(f=l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166),te=oi,oi>Ze+$e?te=Ze+$e:oiot+J?fe=ot+J:wsZe-$e&&teot-J&&feoi+ur?cn=oi+ur:Zews+St?an=ws+St:otoi-ur&&cnws-St&&ann&&(B=n-1),z=P2+Jl(t,24)*MP*L-L/2,z<0?z=1:z>r&&(z=r-1),a=(rb(),w=new AS,w),dV(a,B),fV(a,z),qr((!f.a&&(f.a=new Ys(qh,f,5)),f.a),a)}function gwt(e){sw(e,new Xm(nw(Zv(tw(ew(new x1,th),"ELK Rectangle Packing"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."),new c8))),gt(e,th,Ox,1.3),gt(e,th,hT,(Hn(),!1)),gt(e,th,Xw,iOe),gt(e,th,Jy,15),gt(e,th,SG,It(DCt)),gt(e,th,x6,It(NCt)),gt(e,th,Px,It(BCt)),gt(e,th,Nx,It(FCt)),gt(e,th,fT,It(OCt)),gt(e,th,fL,It(lge)),gt(e,th,dT,It(RCt)),gt(e,th,jCe,It(cOe)),gt(e,th,$Ce,It(oOe)),gt(e,th,RCe,It(fge)),gt(e,th,FCe,It(uOe)),gt(e,th,zCe,It(rOe)),gt(e,th,qCe,It(hge)),gt(e,th,HCe,It(nOe)),gt(e,th,VCe,It(aOe)),gt(e,th,hL,It(tOe)),gt(e,th,AG,It(ICt)),gt(e,th,PCe,It(jB)),gt(e,th,NCe,It(eOe)),gt(e,th,BCe,It($B)),gt(e,th,OCe,It(sOe))}function Dle(e,t){ble();var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi;if(cn=e.e,V=e.d,a=e.a,cn==0)switch(t){case 0:return"0";case 1:return sT;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return ot=new tb,t<0?ot.a+="0E+":ot.a+="0E",ot.a+=-t,ot.a}if(Me=V*10+1+7,$e=We(kf,Ad,28,Me+1,15,1),n=Me,V==1)if(g=a[0],g<0){oi=va(g,Vo);do J=oi,oi=KN(oi,10),$e[--n]=48+Yr(Df(J,mo(oi,10)))&Zs;while(iu(oi,0)!=0)}else{oi=g;do J=oi,oi=oi/10|0,$e[--n]=48+(J-oi*10)&Zs;while(oi!=0)}else{Bn=We(Vr,di,28,V,15,1),ur=V,pu(a,0,Bn,0,ur);e:for(;;){for(St=0,E=ur-1;E>=0;E--)jn=bo(l0(St,32),va(Bn[E],Vo)),fe=vxn(jn),Bn[E]=Yr(fe),St=Yr(bw(fe,32));Te=Yr(St),te=n;do $e[--n]=48+Te%10&Zs;while((Te=Te/10|0)!=0&&n!=0);for(r=9-te+n,w=0;w0;w++)$e[--n]=48;for(L=ur-1;Bn[L]==0;L--)if(L==0)break e;ur=L+1}for(;$e[n]==48;)++n}if(z=cn<0,f=Me-n-t-1,t==0)return z&&($e[--n]=45),If($e,n,Me-n);if(t>0&&f>=-6){if(f>=0){for(C=n+f,B=Me-1;B>=C;B--)$e[B+1]=$e[B];return $e[++C]=46,z&&($e[--n]=45),If($e,n,Me-n+1)}for(L=2;L<-f+1;L++)$e[--n]=48;return $e[--n]=46,$e[--n]=48,z&&($e[--n]=45),If($e,n,Me-n)}return an=n+1,o=Me,Ze=new S5,z&&(Ze.a+="-"),o-an>=1?(hb(Ze,$e[n]),Ze.a+=".",Ze.a+=If($e,n+1,Me-n-1)):Ze.a+=If($e,n,Me-n),Ze.a+="E",f>0&&(Ze.a+="+"),Ze.a+=""+f,Ze.a}function pwt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot;switch(e.c=t,e.g=new Pr,n=(aw(),new Jv(e.c)),r=new e_(n),S8e(r),Me=ei(at(e.c,(YN(),AOe))),w=l(at(e.c,kge),324),Ze=l(at(e.c,Ege),437),f=l(at(e.c,COe),490),$e=l(at(e.c,xge),438),e.j=ze(Ge(at(e.c,JCt))),g=e.a,w.g){case 0:g=e.a;break;case 1:g=e.b;break;case 2:g=e.i;break;case 3:g=e.e;break;case 4:g=e.f;break;default:throw ue(new Yn(FG+(w.f!=null?w.f:""+w.g)))}if(e.d=new cot(g,Ze,f),rt(e.d,(pE(),jL),Bt(at(e.c,XCt))),e.d.c=Rt(Bt(at(e.c,SOe))),AH(e.c).i==0)return e.d;for(L=new or(AH(e.c));L.e!=L.i.gc();){for(C=l(gr(L),27),z=C.g/2,B=C.f/2,ot=new lt(C.i+z,C.j+B);Hu(e.g,ot);)dw(ot,(b.Math.random()-.5)*Dd,(b.Math.random()-.5)*Dd);J=l(at(C,(pi(),tC)),140),te=new kot(ot,new ef(ot.a-z-e.j/2-J.b,ot.b-B-e.j/2-J.d,C.g+e.j+(J.b+J.c),C.f+e.j+(J.d+J.a))),vt(e.d.i,te),ki(e.g,ot,new ca(te,C))}switch($e.g){case 0:if(Me==null)e.d.d=l(jt(e.d.i,0),68);else for(Te=new G(e.d.i);Te.a0?ur+1:1);for(f=new G(ot.g);f.a0?ur+1:1)}e.c[E]==0?ci(e.e,J):e.a[E]==0&&ci(e.f,J),++E}for(V=-1,z=1,L=new bt,e.d=l(Q(t,(ft(),Xx)),234);Hh>0;){for(;e.e.b!=0;)ws=l(kae(e.e),10),e.b[ws.p]=V--,pke(e,ws),--Hh;for(;e.f.b!=0;)Vl=l(kae(e.f),10),e.b[Vl.p]=z++,pke(e,Vl),--Hh;if(Hh>0){for(B=lo,Te=new G(Me);Te.a=B&&($e>B&&(L.c.length=0,B=$e),$n(L.c,J)));C=e.sg(L),e.b[C.p]=z++,pke(e,C),--Hh}}for(oi=Me.c.length+1,E=0;Ee.b[lc]&&(Uw(r,!0),rt(t,yB,(Hn(),!0)));e.a=null,e.c=null,e.b=null,Ch(e.f),Ch(e.e),n.Vg()}function bwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot;for(Ze=l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166),C=new bl,$e=new Pr,ot=Cmt(Ze),ju($e.f,Ze,ot),B=new Pr,r=new os,V=rg(Lh(he(le(Fh,1),Rn,20,0,[(!t.d&&(t.d=new Ln(js,t,8,5)),t.d),(!t.e&&(t.e=new Ln(js,t,7,4)),t.e)])));jr(V);){if(z=l(xr(V),74),(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i!=1)throw ue(new Yn(n4t+(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i));z!=e&&(te=l(Oe((!z.a&&(z.a=new nt(cs,z,6,6)),z.a),0),166),Cs(r,te,r.c.b,r.c),J=l(hc(zo($e.f,te)),13),J||(J=Cmt(te),ju($e.f,te,J)),L=n?ma(new Eo(l(jt(ot,ot.c.length-1),8)),l(jt(J,J.c.length-1),8)):ma(new Eo((Sn(0,ot.c.length),l(ot.c[0],8))),(Sn(0,J.c.length),l(J.c[0],8))),ju(B.f,te,L))}if(r.b!=0)for(fe=l(jt(ot,n?ot.c.length-1:0),8),E=1;E1&&Cs(C,fe,C.c.b,C.c),Yoe(a)));fe=Te}return C}function mwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn;for(n.Ug(myt,1),Bn=l(yc(Fi(new bn(null,new kn(t,16)),new one),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),C=l(yc(Fi(new bn(null,new kn(t,16)),new vXe(t)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),V=l(yc(Fi(new bn(null,new kn(t,16)),new mXe(t)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[Ec]))),15),J=We(PW,IG,40,t.gc(),0,1),f=0;f=0&&an=0&&!J[z]){J[z]=a,C.gd(g),--g;break}if(z=an-B,z=0&&!J[z]){J[z]=a,C.gd(g),--g;break}}for(V.jd(new cne),w=J.length-1;w>=0;w--)!J[w]&&!V.dc()&&(J[w]=l(V.Xb(0),40),V.gd(0));for(E=0;E=0;w--)ci(n,(Sn(w,f.c.length),l(f.c[w],8)));return n}function wwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(Me=ze(Ge(at(t,(ug(),T4)))),z=ze(Ge(at(t,mM))),B=ze(Ge(at(t,UW))),v7e((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a)),fe=uvt((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a),Me,e.b),te=0;teB&&UN((Sn(B,t.c.length),l(t.c[B],186)),C),C=null;t.c.length>B&&(Sn(B,t.c.length),l(t.c[B],186)).a.c.length==0;)al(t,(Sn(B,t.c.length),t.c[B]));if(!C){--f;continue}if(!Rt(Bt(l(jt(C.b,0),27).of((z1(),$B))))&&Z_n(t,V,o,C,te,n,B,r)){J=!0;continue}if(te){if(z=V.b,L=C.f,!Rt(Bt(l(jt(C.b,0),27).of($B)))&&mMn(t,V,o,C,n,B,r,a)){if(J=!0,z=e.j){e.a=-1,e.c=1;return}if(t=co(e.i,e.d++),e.a=t,e.b==1){switch(t){case 92:if(r=10,e.d>=e.j)throw ue(new ri(ai((Jr(),VG))));e.a=co(e.i,e.d++);break;case 45:(e.e&512)==512&&e.d=e.j||co(e.i,e.d)!=63)break;if(++e.d>=e.j)throw ue(new ri(ai((Jr(),e0e))));switch(t=co(e.i,e.d++),t){case 58:r=13;break;case 61:r=14;break;case 33:r=15;break;case 91:r=19;break;case 62:r=18;break;case 60:if(e.d>=e.j)throw ue(new ri(ai((Jr(),e0e))));if(t=co(e.i,e.d++),t==61)r=16;else if(t==33)r=17;else throw ue(new ri(ai((Jr(),L4t))));break;case 35:for(;e.d=e.j)throw ue(new ri(ai((Jr(),VG))));e.a=co(e.i,e.d++);break;default:r=0}e.c=r}function jIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(n.Ug("Process compaction",1),!!Rt(Bt(Q(t,(Hc(),uIe))))){for(a=l(Q(t,y3),88),z=ze(Ge(Q(t,zde))),fLn(e,t,a),nIn(t,z/2/2),V=t.b,$m(V,new lXe(a)),E=Rr(V,0);E.b!=E.d.c;)if(w=l(Br(E),40),!Rt(Bt(Q(w,(Qi(),Vb))))){if(r=RSn(w,a),J=OAn(w,t),L=0,B=0,r)switch(te=r.e,a.g){case 2:L=te.a-z-w.f.a,J.e.a-z-w.f.aL&&(L=J.e.a+J.f.a+z),B=L+w.f.a;break;case 4:L=te.b-z-w.f.b,J.e.b-z-w.f.bL&&(L=J.e.b+J.f.b+z),B=L+w.f.b}else if(J)switch(a.g){case 2:L=J.e.a-z-w.f.a,B=L+w.f.a;break;case 1:L=J.e.a+J.f.a+z,B=L+w.f.a;break;case 4:L=J.e.b-z-w.f.b,B=L+w.f.b;break;case 3:L=J.e.b+J.f.b+z,B=L+w.f.b}qe(Q(t,$de))===qe((xA(),OB))?(o=L,f=B,g=kE(Fi(new bn(null,new kn(e.a,16)),new ttt(o,f))),g.a!=null?a==(Js(),uc)||a==vc?w.e.a=L:w.e.b=L:(a==(Js(),uc)||a==wf?g=kE(Fi(Dht(new bn(null,new kn(e.a,16))),new hXe(o))):g=kE(Fi(Dht(new bn(null,new kn(e.a,16))),new fXe(o))),g.a!=null&&(a==uc||a==vc?w.e.a=ze(Ge((mr(g.a!=null),l(g.a,42)).a)):w.e.b=ze(Ge((mr(g.a!=null),l(g.a,42)).a)))),g.a!=null&&(C=gc(e.a,(mr(g.a!=null),g.a),0),C>0&&C!=l(Q(w,$d),17).a&&(rt(w,tIe,(Hn(),!0)),rt(w,$d,pt(C))))):a==(Js(),uc)||a==vc?w.e.a=L:w.e.b=L}n.Vg()}}function ywt(e){var t,n,r,a,o,f,g,w,E;for(e.b=1,Li(e),t=null,e.c==0&&e.a==94?(Li(e),t=(Di(),Di(),new _h(4)),Eu(t,0,TT),g=new _h(4)):g=(Di(),Di(),new _h(4)),a=!0;(E=e.c)!=1;){if(E==0&&e.a==93&&!a){t&&(nL(t,g),g=t);break}if(n=e.a,r=!1,E==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:Ky(g,YE(n)),r=!0;break;case 105:case 73:case 99:case 67:n=(Ky(g,YE(n)),-1),n<0&&(r=!0);break;case 112:case 80:if(w=w9e(e,n),!w)throw ue(new ri(ai((Jr(),t0e))));Ky(g,w),r=!0;break;default:n=eke(e)}else if(E==24&&!a){if(t&&(nL(t,g),g=t),o=ywt(e),nL(g,o),e.c!=0||e.a!=93)throw ue(new ri(ai((Jr(),j4t))));break}if(Li(e),!r){if(E==0){if(n==91)throw ue(new ri(ai((Jr(),ESe))));if(n==93)throw ue(new ri(ai((Jr(),TSe))));if(n==45&&!a&&e.a!=93)throw ue(new ri(ai((Jr(),n0e))))}if(e.c!=0||e.a!=45||n==45&&a)Eu(g,n,n);else{if(Li(e),(E=e.c)==1)throw ue(new ri(ai((Jr(),UG))));if(E==0&&e.a==93)Eu(g,n,n),Eu(g,45,45);else{if(E==0&&e.a==93||E==24)throw ue(new ri(ai((Jr(),n0e))));if(f=e.a,E==0){if(f==91)throw ue(new ri(ai((Jr(),ESe))));if(f==93)throw ue(new ri(ai((Jr(),TSe))));if(f==45)throw ue(new ri(ai((Jr(),n0e))))}else E==10&&(f=eke(e));if(Li(e),n>f)throw ue(new ri(ai((Jr(),q4t))));Eu(g,n,f)}}}a=!1}if(e.c==1)throw ue(new ri(ai((Jr(),UG))));return c6(g),eL(g),e.b=0,Li(e),g}function $In(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze;if(n.Ug("Coffman-Graham Layering",1),t.a.c.length==0){n.Vg();return}for(Ze=l(Q(t,(Nt(),$Me)),17).a,w=0,f=0,B=new G(t.a);B.a=Ze||!N5n(fe,r))&&(r=vat(t,C)),Va(fe,r),o=new hr(dr(ka(fe).a.Kc(),new j));jr(o);)a=l(xr(o),18),!e.a[a.p]&&(J=a.c.i,--e.e[J.p],e.e[J.p]==0&&K8($E(z,J),aT));for(E=C.c.length-1;E>=0;--E)vt(t.b,(Sn(E,C.c.length),l(C.c[E],30)));t.a.c.length=0,n.Vg()}function xwt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;$e=!1;do for($e=!1,o=t?new br(e.a.b).a.gc()-2:1;t?o>=0:ol(Q(te,Ki),17).a)&&(Me=!1);if(Me){for(w=t?o+1:o-1,g=s6e(e.a,pt(w)),f=!1,Te=!0,r=!1,C=Rr(g,0);C.b!=C.d.c;)E=l(Br(C),10),ns(E,Ki)?E.p!=L.p&&(f=f|(t?l(Q(E,Ki),17).al(Q(L,Ki),17).a),Te=!1):!f&&Te&&E.k==(Zn(),cu)&&(r=!0,t?B=l(xr(new hr(dr(ka(E).a.Kc(),new j))),18).c.i:B=l(xr(new hr(dr(qs(E).a.Kc(),new j))),18).d.i,B==L&&(t?n=l(xr(new hr(dr(qs(E).a.Kc(),new j))),18).d.i:n=l(xr(new hr(dr(ka(E).a.Kc(),new j))),18).c.i,(t?l(dy(e.a,n),17).a-l(dy(e.a,B),17).a:l(dy(e.a,B),17).a-l(dy(e.a,n),17).a)<=2&&(Te=!1)));if(r&&Te&&(t?n=l(xr(new hr(dr(qs(L).a.Kc(),new j))),18).d.i:n=l(xr(new hr(dr(ka(L).a.Kc(),new j))),18).c.i,(t?l(dy(e.a,n),17).a-l(dy(e.a,L),17).a:l(dy(e.a,L),17).a-l(dy(e.a,n),17).a)<=2&&n.k==(Zn(),Ps)&&(Te=!1)),f||Te){for(J=J2t(e,L,t);J.a.gc()!=0;)V=l(J.a.ec().Kc().Pb(),10),J.a.Bc(V)!=null,Ka(J,J2t(e,V,t));--z,$e=!0}}}while($e)}function zIn(e){Wr(e.c,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#decimal"])),Wr(e.d,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#integer"])),Wr(e.e,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#boolean"])),Wr(e.f,ui,he(le(zt,1),dt,2,6,[ho,"EBoolean",_i,"EBoolean:Object"])),Wr(e.i,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#byte"])),Wr(e.g,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Wr(e.j,ui,he(le(zt,1),dt,2,6,[ho,"EByte",_i,"EByte:Object"])),Wr(e.n,ui,he(le(zt,1),dt,2,6,[ho,"EChar",_i,"EChar:Object"])),Wr(e.t,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#double"])),Wr(e.u,ui,he(le(zt,1),dt,2,6,[ho,"EDouble",_i,"EDouble:Object"])),Wr(e.F,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#float"])),Wr(e.G,ui,he(le(zt,1),dt,2,6,[ho,"EFloat",_i,"EFloat:Object"])),Wr(e.I,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#int"])),Wr(e.J,ui,he(le(zt,1),dt,2,6,[ho,"EInt",_i,"EInt:Object"])),Wr(e.N,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#long"])),Wr(e.O,ui,he(le(zt,1),dt,2,6,[ho,"ELong",_i,"ELong:Object"])),Wr(e.Z,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#short"])),Wr(e.$,ui,he(le(zt,1),dt,2,6,[ho,"EShort",_i,"EShort:Object"])),Wr(e._,ui,he(le(zt,1),dt,2,6,[ho,"http://www.w3.org/2001/XMLSchema#string"]))}function qIn(e,t,n,r,a,o,f){var g,w,E,C,L,B,z,V;return B=l(r.a,17).a,z=l(r.b,17).a,L=e.b,V=e.c,g=0,C=0,t==(Js(),uc)||t==vc?(C=fO(h1t(xy(fc(new bn(null,new kn(n.b,16)),new lne),new Yte))),L.e.b+L.f.b/2>C?(E=++z,g=ze(Ge(fh(vy(fc(new bn(null,new kn(n.b,16)),new itt(a,E)),new a$))))):(w=++B,g=ze(Ge(fh(Y8(fc(new bn(null,new kn(n.b,16)),new stt(a,w)),new Xte)))))):(C=fO(h1t(xy(fc(new bn(null,new kn(n.b,16)),new Zte),new s$))),L.e.a+L.f.a/2>C?(E=++z,g=ze(Ge(fh(vy(fc(new bn(null,new kn(n.b,16)),new ntt(a,E)),new Qte))))):(w=++B,g=ze(Ge(fh(Y8(fc(new bn(null,new kn(n.b,16)),new rtt(a,w)),new bI)))))),t==uc?(ko(e.a,new lt(ze(Ge(Q(L,(Qi(),c1))))-a,g)),ko(e.a,new lt(V.e.a+V.f.a+a+o,g)),ko(e.a,new lt(V.e.a+V.f.a+a+o,V.e.b+V.f.b/2)),ko(e.a,new lt(V.e.a+V.f.a,V.e.b+V.f.b/2))):t==vc?(ko(e.a,new lt(ze(Ge(Q(L,(Qi(),k0))))+a,L.e.b+L.f.b/2)),ko(e.a,new lt(L.e.a+L.f.a+a,g)),ko(e.a,new lt(V.e.a-a-o,g)),ko(e.a,new lt(V.e.a-a-o,V.e.b+V.f.b/2)),ko(e.a,new lt(V.e.a,V.e.b+V.f.b/2))):t==wf?(ko(e.a,new lt(g,ze(Ge(Q(L,(Qi(),c1))))-a)),ko(e.a,new lt(g,V.e.b+V.f.b+a+o)),ko(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+a+o)),ko(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+a))):(e.a.b==0||(l(o0(e.a),8).b=ze(Ge(Q(L,(Qi(),k0))))+a*l(f.b,17).a),ko(e.a,new lt(g,ze(Ge(Q(L,(Qi(),k0))))+a*l(f.b,17).a)),ko(e.a,new lt(g,V.e.b-a*l(f.a,17).a-o))),new ca(pt(B),pt(z))}function HIn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z;if(f=!0,L=null,r=null,a=null,t=!1,z=P_t,E=null,o=null,g=0,w=Zce(e,g,TPe,CPe),w=0&&vn(e.substr(g,2),"//")?(g+=2,w=Zce(e,g,$M,zM),r=(Ga(g,w,e.length),e.substr(g,w-g)),g=w):L!=null&&(g==e.length||(Xn(g,e.length),e.charCodeAt(g)!=47))&&(f=!1,w=Lye(e,cl(35),g),w==-1&&(w=e.length),r=(Ga(g,w,e.length),e.substr(g,w-g)),g=w);if(!n&&g0&&co(C,C.length-1)==58&&(a=C,g=w)),gWue(o))&&(L=o);for(!L&&(L=(Sn(0,te.c.length),l(te.c[0],185))),J=new G(t.b);J.aL&&(jn=0,ur+=C+St,C=0),hmt(Ze,f,jn,ur),t=b.Math.max(t,jn+ot.a),C=b.Math.max(C,ot.b),jn+=ot.a+St;for($e=new Pr,n=new Pr,an=new G(e);an.a=-1900?1:0,n>=4?hi(e,he(le(zt,1),dt,2,6,[Rwt,jwt])[g]):hi(e,he(le(zt,1),dt,2,6,["BC","AD"])[g]);break;case 121:u6n(e,n,r);break;case 77:A_n(e,n,r);break;case 107:w=a.q.getHours(),w==0?ag(e,24,n):ag(e,w,n);break;case 83:zTn(e,n,a);break;case 69:C=r.q.getDay(),n==5?hi(e,he(le(zt,1),dt,2,6,["S","M","T","W","T","F","S"])[C]):n==4?hi(e,he(le(zt,1),dt,2,6,[Qle,Jle,Zle,ehe,the,nhe,rhe])[C]):hi(e,he(le(zt,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[C]);break;case 97:a.q.getHours()>=12&&a.q.getHours()<24?hi(e,he(le(zt,1),dt,2,6,["AM","PM"])[1]):hi(e,he(le(zt,1),dt,2,6,["AM","PM"])[0]);break;case 104:L=a.q.getHours()%12,L==0?ag(e,12,n):ag(e,L,n);break;case 75:B=a.q.getHours()%12,ag(e,B,n);break;case 72:z=a.q.getHours(),ag(e,z,n);break;case 99:V=r.q.getDay(),n==5?hi(e,he(le(zt,1),dt,2,6,["S","M","T","W","T","F","S"])[V]):n==4?hi(e,he(le(zt,1),dt,2,6,[Qle,Jle,Zle,ehe,the,nhe,rhe])[V]):n==3?hi(e,he(le(zt,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[V]):ag(e,V,1);break;case 76:J=r.q.getMonth(),n==5?hi(e,he(le(zt,1),dt,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[J]):n==4?hi(e,he(le(zt,1),dt,2,6,[$le,zle,qle,Hle,_x,Vle,Ule,Gle,Kle,Wle,Yle,Xle])[J]):n==3?hi(e,he(le(zt,1),dt,2,6,["Jan","Feb","Mar","Apr",_x,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[J]):ag(e,J+1,n);break;case 81:te=r.q.getMonth()/3|0,n<4?hi(e,he(le(zt,1),dt,2,6,["Q1","Q2","Q3","Q4"])[te]):hi(e,he(le(zt,1),dt,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[te]);break;case 100:fe=r.q.getDate(),ag(e,fe,n);break;case 109:E=a.q.getMinutes(),ag(e,E,n);break;case 115:f=a.q.getSeconds(),ag(e,f,n);break;case 122:n<4?hi(e,o.c[0]):hi(e,o.c[1]);break;case 118:hi(e,o.b);break;case 90:n<3?hi(e,Nkn(o)):n==3?hi(e,jkn(o)):hi(e,$kn(o.a));break;default:return!1}return!0}function Wke(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi;if(emt(t),w=l(Oe((!t.b&&(t.b=new Ln(_r,t,4,7)),t.b),0),84),C=l(Oe((!t.c&&(t.c=new Ln(_r,t,5,8)),t.c),0),84),g=bc(w),E=bc(C),f=(!t.a&&(t.a=new nt(cs,t,6,6)),t.a).i==0?null:l(Oe((!t.a&&(t.a=new nt(cs,t,6,6)),t.a),0),166),St=l(cr(e.a,g),10),jn=l(cr(e.a,E),10),cn=null,ur=null,De(w,193)&&(ot=l(cr(e.a,w),305),De(ot,12)?cn=l(ot,12):De(ot,10)&&(St=l(ot,10),cn=l(jt(St.j,0),12))),De(C,193)&&(Bn=l(cr(e.a,C),305),De(Bn,12)?ur=l(Bn,12):De(Bn,10)&&(jn=l(Bn,10),ur=l(jt(jn.j,0),12))),!St||!jn)throw ue(new I8("The source or the target of edge "+t+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(J=new Tw,pc(J,t),rt(J,(ft(),zi),t),rt(J,(Nt(),cc),null),z=l(Q(r,Lu),21),St==jn&&z.Fc((Ho(),GL)),cn||(Ze=(qo(),zu),an=null,f&&P5(l(Q(St,Ms),101))&&(an=new lt(f.j,f.k),Vct(an,WO(t)),vut(an,n),Ly(E,g)&&(Ze=$l,Oi(an,St.n))),cn=tvt(St,an,Ze,r)),ur||(Ze=(qo(),$l),oi=null,f&&P5(l(Q(jn,Ms),101))&&(oi=new lt(f.b,f.c),Vct(oi,WO(t)),vut(oi,n)),ur=tvt(jn,oi,Ze,eo(jn))),po(J,cn),Fa(J,ur),(cn.e.c.length>1||cn.g.c.length>1||ur.e.c.length>1||ur.g.c.length>1)&&z.Fc((Ho(),UL)),B=new or((!t.n&&(t.n=new nt(ec,t,1,7)),t.n));B.e!=B.i.gc();)if(L=l(gr(B),135),!Rt(Bt(at(L,mv)))&&L.a)switch(te=Oce(L),vt(J.b,te),l(Q(te,jd),278).g){case 1:case 2:z.Fc((Ho(),jT));break;case 0:z.Fc((Ho(),RT)),rt(te,jd,(F1(),nC))}if(o=l(Q(r,JL),322),fe=l(Q(r,yW),323),a=o==(dA(),mB)||fe==(OA(),vde),f&&(!f.a&&(f.a=new Ys(qh,f,5)),f.a).i!=0&&a){for(Te=QN(f),V=new bl,$e=Rr(Te,0);$e.b!=$e.d.c;)Me=l(Br($e),8),ci(V,new Eo(Me));rt(J,qLe,V)}return J}function KIn(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi,ws;for(an=0,Bn=0,St=new Pr,Ze=l(fh(vy(fc(new bn(null,new kn(e.b,16)),new Jte),new sne)),17).a+1,cn=We(Vr,di,28,Ze,15,1),te=We(Vr,di,28,Ze,15,1),J=0;J1)for(g=ur+1;gE.b.e.b*(1-fe)+E.c.e.b*fe));V++);if(ot.gc()>0&&(oi=E.a.b==0?Ja(E.b.e):l(o0(E.a),8),Me=Oi(Ja(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),B=Oi(Ja(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&oi.b>Me.b&&E.c.e.b>Me.b||V<=0&&oi.bE.b.e.a*(1-fe)+E.c.e.a*fe));V++);if(ot.gc()>0&&(oi=E.a.b==0?Ja(E.b.e):l(o0(E.a),8),Me=Oi(Ja(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),B=Oi(Ja(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&oi.a>Me.a&&E.c.e.a>Me.a||V<=0&&oi.a=ze(Ge(Q(e,(Qi(),iIe))))&&++Bn):(z.f&&z.d.e.a<=ze(Ge(Q(e,(Qi(),Bde))))&&++an,z.g&&z.c.e.a+z.c.f.a>=ze(Ge(Q(e,(Qi(),rIe))))&&++Bn)}else $e==0?b9e(E):$e<0&&(++cn[ur],++te[ws],jn=qIn(E,t,e,new ca(pt(an),pt(Bn)),n,r,new ca(pt(te[ws]),pt(cn[ur]))),an=l(jn.a,17).a,Bn=l(jn.b,17).a)}function WIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;if(r=t,w=n,e.b&&r.j==(Ct(),er)&&w.j==(Ct(),er)&&(Te=r,r=w,w=Te),Hu(e.a,r)){if(W0(l(cr(e.a,r),49),w))return 1}else ki(e.a,r,new Ks);if(Hu(e.a,w)){if(W0(l(cr(e.a,w),49),r))return-1}else ki(e.a,w,new Ks);if(Hu(e.d,r)){if(W0(l(cr(e.d,r),49),w))return-1}else ki(e.d,r,new Ks);if(Hu(e.d,w)){if(W0(l(cr(e.a,w),49),r))return 1}else ki(e.d,w,new Ks);if(r.j!=w.j)return fe=Bln(r.j,w.j),fe==-1?df(e,w,r):df(e,r,w),fe;if(r.e.c.length!=0&&w.e.c.length!=0){if(e.b&&(fe=j0t(r,w),fe!=0))return fe==-1?df(e,w,r):fe==1&&df(e,r,w),fe;if(o=l(jt(r.e,0),18).c.i,C=l(jt(w.e,0),18).c.i,o==C)return a=l(Q(l(jt(r.e,0),18),(ft(),Ki)),17).a,E=l(Q(l(jt(w.e,0),18),Ki),17).a,a>E?df(e,r,w):df(e,w,r),aE?1:0;for(V=e.c,J=0,te=V.length;JE?df(e,r,w):df(e,w,r),aE?1:0):e.b&&(fe=j0t(r,w),fe!=0)?(fe==-1?df(e,w,r):fe==1&&df(e,r,w),fe):(f=0,L=0,ns(l(jt(r.g,0),18),Ki)&&(f=l(Q(l(jt(r.g,0),18),Ki),17).a),ns(l(jt(w.g,0),18),Ki)&&(L=l(Q(l(jt(r.g,0),18),Ki),17).a),g&&g==B?Rt(Bt(Q(l(jt(r.g,0),18),W1)))&&!Rt(Bt(Q(l(jt(w.g,0),18),W1)))?(df(e,r,w),1):!Rt(Bt(Q(l(jt(r.g,0),18),W1)))&&Rt(Bt(Q(l(jt(w.g,0),18),W1)))?(df(e,w,r),-1):(f>L?df(e,r,w):df(e,w,r),fL?1:0):(e.f&&(e.f._b(g)&&(f=l(e.f.xc(g),17).a),e.f._b(B)&&(L=l(e.f.xc(B),17).a)),f>L?df(e,r,w):df(e,w,r),fL?1:0))):r.e.c.length!=0&&w.g.c.length!=0?(df(e,r,w),1):r.g.c.length!=0&&w.e.c.length!=0?(df(e,w,r),-1):ns(r,(ft(),Ki))&&ns(w,Ki)?(a=l(Q(r,Ki),17).a,E=l(Q(w,Ki),17).a,a>E?df(e,r,w):df(e,w,r),aE?1:0):(df(e,w,r),-1)}function YIn(e){e.gb||(e.gb=!0,e.b=qc(e,0),Ss(e.b,18),is(e.b,19),e.a=qc(e,1),Ss(e.a,1),is(e.a,2),is(e.a,3),is(e.a,4),is(e.a,5),e.o=qc(e,2),Ss(e.o,8),Ss(e.o,9),is(e.o,10),is(e.o,11),is(e.o,12),is(e.o,13),is(e.o,14),is(e.o,15),is(e.o,16),is(e.o,17),is(e.o,18),is(e.o,19),is(e.o,20),is(e.o,21),is(e.o,22),is(e.o,23),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),sc(e.o),e.p=qc(e,3),Ss(e.p,2),Ss(e.p,3),Ss(e.p,4),Ss(e.p,5),is(e.p,6),is(e.p,7),sc(e.p),sc(e.p),e.q=qc(e,4),Ss(e.q,8),e.v=qc(e,5),is(e.v,9),sc(e.v),sc(e.v),sc(e.v),e.w=qc(e,6),Ss(e.w,2),Ss(e.w,3),Ss(e.w,4),is(e.w,5),e.B=qc(e,7),is(e.B,1),sc(e.B),sc(e.B),sc(e.B),e.Q=qc(e,8),is(e.Q,0),sc(e.Q),e.R=qc(e,9),Ss(e.R,1),e.S=qc(e,10),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),sc(e.S),e.T=qc(e,11),is(e.T,10),is(e.T,11),is(e.T,12),is(e.T,13),is(e.T,14),sc(e.T),sc(e.T),e.U=qc(e,12),Ss(e.U,2),Ss(e.U,3),is(e.U,4),is(e.U,5),is(e.U,6),is(e.U,7),sc(e.U),e.V=qc(e,13),is(e.V,10),e.W=qc(e,14),Ss(e.W,18),Ss(e.W,19),Ss(e.W,20),is(e.W,21),is(e.W,22),is(e.W,23),e.bb=qc(e,15),Ss(e.bb,10),Ss(e.bb,11),Ss(e.bb,12),Ss(e.bb,13),Ss(e.bb,14),Ss(e.bb,15),Ss(e.bb,16),is(e.bb,17),sc(e.bb),sc(e.bb),e.eb=qc(e,16),Ss(e.eb,2),Ss(e.eb,3),Ss(e.eb,4),Ss(e.eb,5),Ss(e.eb,6),Ss(e.eb,7),is(e.eb,8),is(e.eb,9),e.ab=qc(e,17),Ss(e.ab,0),Ss(e.ab,1),e.H=qc(e,18),is(e.H,0),is(e.H,1),is(e.H,2),is(e.H,3),is(e.H,4),is(e.H,5),sc(e.H),e.db=qc(e,19),is(e.db,2),e.c=Ti(e,20),e.d=Ti(e,21),e.e=Ti(e,22),e.f=Ti(e,23),e.i=Ti(e,24),e.g=Ti(e,25),e.j=Ti(e,26),e.k=Ti(e,27),e.n=Ti(e,28),e.r=Ti(e,29),e.s=Ti(e,30),e.t=Ti(e,31),e.u=Ti(e,32),e.fb=Ti(e,33),e.A=Ti(e,34),e.C=Ti(e,35),e.D=Ti(e,36),e.F=Ti(e,37),e.G=Ti(e,38),e.I=Ti(e,39),e.J=Ti(e,40),e.L=Ti(e,41),e.M=Ti(e,42),e.N=Ti(e,43),e.O=Ti(e,44),e.P=Ti(e,45),e.X=Ti(e,46),e.Y=Ti(e,47),e.Z=Ti(e,48),e.$=Ti(e,49),e._=Ti(e,50),e.cb=Ti(e,51),e.K=Ti(e,52))}function XIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur;for(f=new os,ot=l(Q(n,(Nt(),Rh)),88),J=0,Ka(f,(!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));f.b!=0;)C=l(f.b==0?null:(mr(f.b!=0),af(f,f.a.a)),27),E=ds(C),(qe(at(E,yg))!==qe((Ed(),E2))||qe(at(E,dv))===qe((l2(),BT))||qe(at(E,dv))===qe((l2(),PT))||Rt(Bt(at(E,f3)))||qe(at(E,g4))!==qe((Km(),c4))||qe(at(E,zb))===qe((Nf(),v3))||qe(at(E,zb))===qe((Nf(),x4))||qe(at(E,pv))===qe((p2(),WT))||qe(at(E,pv))===qe((p2(),YT)))&&!Rt(Bt(at(C,fW)))&&Hi(C,(ft(),Ki),pt(J++)),fe=!Rt(Bt(at(C,mv))),fe&&(B=(!C.a&&(C.a=new nt(Ai,C,10,11)),C.a).i!=0,V=Cxn(C),z=qe(at(C,p4))===qe((rp(),A2)),ur=!P1(C,(pi(),eC))||Sut(ei(at(C,eC))),$e=null,ur&&z&&(B||V)&&($e=Pmt(C),rt($e,Rh,ot),ns($e,CB)&&NJe(new D8e(ze(Ge(Q($e,CB)))),$e),l(at(C,bv),181).gc()!=0&&(L=$e,Is(new bn(null,(!C.c&&(C.c=new nt(Hl,C,9,9)),new kn(C.c,16))),new zWe(L)),_bt(C,$e))),St=n,cn=l(cr(e.a,ds(C)),10),cn&&(St=cn.e),Me=cwt(e,C,St),$e&&(Me.e=$e,$e.e=Me,Ka(f,(!C.a&&(C.a=new nt(Ai,C,10,11)),C.a))));for(J=0,Cs(f,t,f.c.b,f.c);f.b!=0;){for(o=l(f.b==0?null:(mr(f.b!=0),af(f,f.a.a)),27),w=new or((!o.b&&(o.b=new nt(js,o,12,3)),o.b));w.e!=w.i.gc();)g=l(gr(w),74),emt(g),(qe(at(t,yg))!==qe((Ed(),E2))||qe(at(t,dv))===qe((l2(),BT))||qe(at(t,dv))===qe((l2(),PT))||Rt(Bt(at(t,f3)))||qe(at(t,g4))!==qe((Km(),c4))||qe(at(t,zb))===qe((Nf(),v3))||qe(at(t,zb))===qe((Nf(),x4))||qe(at(t,pv))===qe((p2(),WT))||qe(at(t,pv))===qe((p2(),YT)))&&Hi(g,(ft(),Ki),pt(J++)),Bn=bc(l(Oe((!g.b&&(g.b=new Ln(_r,g,4,7)),g.b),0),84)),jn=bc(l(Oe((!g.c&&(g.c=new Ln(_r,g,5,8)),g.c),0),84)),!(Rt(Bt(at(g,mv)))||Rt(Bt(at(Bn,mv)))||Rt(Bt(at(jn,mv))))&&(te=qw(g)&&Rt(Bt(at(Bn,b4)))&&Rt(Bt(at(g,gv))),Ze=o,te||Ly(jn,Bn)?Ze=Bn:Ly(Bn,jn)&&(Ze=jn),St=n,cn=l(cr(e.a,Ze),10),cn&&(St=cn.e),Te=Wke(e,g,Ze,St),rt(Te,(ft(),RLe),XCn(e,g,t,n)));if(z=qe(at(o,p4))===qe((rp(),A2)),z)for(a=new or((!o.a&&(o.a=new nt(Ai,o,10,11)),o.a));a.e!=a.i.gc();)r=l(gr(a),27),ur=!P1(r,(pi(),eC))||Sut(ei(at(r,eC))),an=qe(at(r,p4))===qe(A2),ur&&an&&Cs(f,r,f.c.b,f.c)}}function ft(){ft=U;var e,t;zi=new Ui(NEe),RLe=new Ui("coordinateOrigin"),K1e=new Ui("processors"),FLe=new vs("compoundNode",(Hn(),!1)),xB=new vs("insideConnections",!1),qLe=new Ui("originalBendpoints"),HLe=new Ui("originalDummyNodePosition"),VLe=new Ui("originalLabelEdge"),WL=new Ui("representedLabels"),KL=new Ui("endLabels"),Kx=new Ui("endLabel.origin"),Yx=new vs("labelSide",(Ih(),eF)),R6=new vs("maxEdgeThickness",0),W1=new vs("reversed",!1),Xx=new Ui(C3t),o1=new vs("longEdgeSource",null),$f=new vs("longEdgeTarget",null),f4=new vs("longEdgeHasLabelDummies",!1),kB=new vs("longEdgeBeforeLabelDummy",!1),sW=new vs("edgeConstraint",(Vm(),M1e)),u3=new Ui("inLayerLayoutUnit"),hv=new vs("inLayerConstraint",(ep(),wB)),Wx=new vs("inLayerSuccessorConstraint",new bt),zLe=new vs("inLayerSuccessorConstraintBetweenNonDummies",!1),jl=new Ui("portDummy"),iW=new vs("crossingHint",pt(0)),Lu=new vs("graphProperties",(t=l(K0(F1e),9),new Zh(t,l(c0(t,t.length),9),0))),Wc=new vs("externalPortSide",(Ct(),Pc)),$Le=new vs("externalPortSize",new qa),q1e=new Ui("externalPortReplacedDummies"),aW=new Ui("externalPortReplacedDummy"),pp=new vs("externalPortConnections",(e=l(K0(Oo),9),new Zh(e,l(c0(e,e.length),9),0))),l3=new vs(b3t,0),BLe=new Ui("barycenterAssociates"),Qx=new Ui("TopSideComments"),Gx=new Ui("BottomSideComments"),rW=new Ui("CommentConnectionPort"),V1e=new vs("inputCollect",!1),G1e=new vs("outputCollect",!1),yB=new vs("cyclic",!1),jLe=new Ui("crossHierarchyMap"),Y1e=new Ui("targetOffset"),new vs("splineLabelSize",new qa),$6=new Ui("spacings"),oW=new vs("partitionConstraint",!1),c3=new Ui("breakingPoint.info"),KLe=new Ui("splines.survivingEdge"),fv=new Ui("splines.route.start"),z6=new Ui("splines.edgeChain"),GLe=new Ui("originalPortConstraints"),h3=new Ui("selfLoopHolder"),zT=new Ui("splines.nsPortY"),Ki=new Ui("modelOrder"),U1e=new Ui("longEdgeTargetNode"),jb=new vs(Q3t,!1),j6=new vs(Q3t,!1),H1e=new Ui("layerConstraints.hiddenNodes"),ULe=new Ui("layerConstraints.opposidePort"),W1e=new Ui("targetNode.modelOrder")}function QIn(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V;for(L=Rr(e.b,0);L.b!=L.d.c;)if(C=l(Br(L),40),!vn(C.c,DG))for(o=l(yc(new bn(null,new kn(aEn(C,e),16)),Pl(new zr,new ht,new Fn,he(le(oc,1),it,108,0,[(Fl(),Ec)]))),15),t==(Js(),uc)||t==vc?o.jd(new nne):o.jd(new o$),V=o.gc(),a=0;a0&&(g=l(o0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(o0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-B)/40)>50&&(z>w?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f-r/2)):ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f+r/2)))),ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a,C.e.b+C.f.b*f))):t==vc?(E=ze(Ge(Q(C,(Qi(),c1)))),C.e.a-r>E?ko(l(o.Xb(a),65).a,new lt(E-n,C.e.b+C.f.b*f)):l(o.Xb(a),65).a.b>0&&(g=l(o0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(o0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-B)/40)>50&&(z>w?ko(l(o.Xb(a),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f-r/2)):ko(l(o.Xb(a),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f+r/2)))),ko(l(o.Xb(a),65).a,new lt(C.e.a,C.e.b+C.f.b*f))):t==wf?(E=ze(Ge(Q(C,(Qi(),k0)))),C.e.b+C.f.b+r0&&(g=l(o0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(o0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-B)/(b.Math.abs(w-z)/40)>50&&(B>g?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b+r/5.3+C.f.b)):ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b+r/5.3+C.f.b)))),ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,C.e.b+C.f.b))):(E=ze(Ge(Q(C,(Qi(),c1)))),C0t(l(o.Xb(a),65),e)?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,l(o0(l(o.Xb(a),65).a),8).b)):C.e.b-r>E?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,E-n)):l(o.Xb(a),65).a.b>0&&(g=l(o0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(o0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-B)/(b.Math.abs(w-z)/40)>50&&(B>g?ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b-r/5.3)):ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b-r/5.3)))),ko(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,C.e.b)))}function pi(){pi=U;var e,t;eC=new Ui(Byt),a7=new Ui(Fyt),eNe=(og(),Sge),ASt=new pn(qTe,eNe),Z6=new pn(Ox,null),LSt=new Ui(tSe),nNe=(Ym(),rs(Lge,he(le(Mge,1),it,298,0,[Age]))),UB=new pn(SG,nNe),GB=new pn(VP,(Hn(),!1)),rNe=(Js(),J1),xv=new pn(gfe,rNe),aNe=(ip(),Hge),sNe=new pn(HP,aNe),ISt=new pn(ZCe,!1),uNe=(rp(),oY),n7=new pn(CG,uNe),vNe=new lw(12),_2=new pn(Xw,vNe),WB=new pn(hL,!1),Nge=new pn(AG,!1),YB=new pn(fL,!1),ENe=(Ra(),Wb),_M=new pn(Nhe,ENe),n9=new Ui(_G),XB=new Ui(NP),zge=new Ui(oG),qge=new Ui(lL),lNe=new bl,x3=new pn(ZTe,lNe),DSt=new pn(nCe,!1),OSt=new pn(rCe,!1),hNe=new s_,tC=new pn(sCe,hNe),rY=new pn($Te,!1),FSt=new pn(Ryt,1),t7=new Ui(jyt),e7=new Ui($yt),AM=new pn(PP,!1),new pn(zyt,!0),pt(0),new pn(qyt,pt(100)),new pn(Hyt,!1),pt(0),new pn(Vyt,pt(4e3)),pt(0),new pn(Uyt,pt(400)),new pn(Gyt,!1),new pn(Kyt,!1),new pn(Wyt,!0),new pn(Yyt,!1),tNe=(VV(),Kge),MSt=new pn(eSe,tNe),RSt=new pn(LTe,10),jSt=new pn(MTe,10),_Ne=new pn(_he,20),$St=new pn(DTe,10),ANe=new pn(Ohe,2),LNe=new pn(dfe,10),MNe=new pn(ITe,0),iY=new pn(PTe,5),DNe=new pn(OTe,1),INe=new pn(NTe,1),Ev=new pn(Jy,20),zSt=new pn(BTe,10),PNe=new pn(FTe,10),r9=new Ui(RTe),NNe=new nnt,ONe=new pn(aCe,NNe),PSt=new Ui(bfe),wNe=!1,NSt=new pn(pfe,wNe),dNe=new lw(5),fNe=new pn(UTe,dNe),gNe=(qy(),t=l(K0(Ko),9),new Zh(t,l(c0(t,t.length),9),0)),r7=new pn(fT,gNe),xNe=(t6(),Kb),yNe=new pn(WTe,xNe),Bge=new Ui(YTe),Fge=new Ui(XTe),Rge=new Ui(QTe),Pge=new Ui(JTe),pNe=(e=l(K0(BM),9),new Zh(e,l(c0(e,e.length),9),0)),kv=new pn(x6,pNe),mNe=un((Zl(),aC)),Ub=new pn(Nx,mNe),bNe=new lt(0,0),i7=new pn(Px,bNe),C4=new pn(hT,!1),iNe=(F1(),nC),Ige=new pn(eCe,iNe),Dge=new pn(cG,!1),pt(1),new pn(Xyt,null),kNe=new Ui(iCe),jge=new Ui(tCe),SNe=(Ct(),Pc),s7=new pn(zTe,SNe),rh=new Ui(jTe),TNe=(Rl(),un(Yb)),S4=new pn(dT,TNe),$ge=new pn(GTe,!1),CNe=new pn(KTe,!0),aY=new pn(BP,1),BNe=new pn(nSe,null),QB=new pn(FP,150),sY=new pn(RP,1.414),i9=new pn(Qw,null),qSt=new pn(rSe,1),KB=new pn(HTe,!1),Oge=new pn(VTe,!1),oNe=new pn(Ahe,1),cNe=(vU(),Uge),new pn(Qyt,cNe),BSt=!0,VSt=(dx(),L4),USt=L4,HSt=L4}function vo(){vo=U,PAe=new Ws("DIRECTION_PREPROCESSOR",0),IAe=new Ws("COMMENT_PREPROCESSOR",1),D6=new Ws("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),f1e=new Ws("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),eLe=new Ws("PARTITION_PREPROCESSOR",4),DK=new Ws("LABEL_DUMMY_INSERTER",5),zK=new Ws("SELF_LOOP_PREPROCESSOR",6),l4=new Ws("LAYER_CONSTRAINT_PREPROCESSOR",7),JAe=new Ws("PARTITION_MIDPROCESSOR",8),HAe=new Ws("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),XAe=new Ws("NODE_PROMOTION",10),u4=new Ws("LAYER_CONSTRAINT_POSTPROCESSOR",11),ZAe=new Ws("PARTITION_POSTPROCESSOR",12),$Ae=new Ws("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),tLe=new Ws("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),SAe=new Ws("BREAKING_POINT_INSERTER",15),PK=new Ws("LONG_EDGE_SPLITTER",16),d1e=new Ws("PORT_SIDE_PROCESSOR",17),LK=new Ws("INVERTED_PORT_PROCESSOR",18),RK=new Ws("PORT_LIST_SORTER",19),rLe=new Ws("SORT_BY_INPUT_ORDER_OF_MODEL",20),FK=new Ws("NORTH_SOUTH_PORT_PREPROCESSOR",21),_Ae=new Ws("BREAKING_POINT_PROCESSOR",22),QAe=new Ws(H3t,23),iLe=new Ws(V3t,24),jK=new Ws("SELF_LOOP_PORT_RESTORER",25),nLe=new Ws("SINGLE_EDGE_GRAPH_WRAPPER",26),MK=new Ws("IN_LAYER_CONSTRAINT_PROCESSOR",27),FAe=new Ws("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),WAe=new Ws("LABEL_AND_NODE_SIZE_PROCESSOR",29),KAe=new Ws("INNERMOST_NODE_MARGIN_CALCULATOR",30),qK=new Ws("SELF_LOOP_ROUTER",31),MAe=new Ws("COMMENT_NODE_MARGIN_CALCULATOR",32),AK=new Ws("END_LABEL_PREPROCESSOR",33),OK=new Ws("LABEL_DUMMY_SWITCHER",34),LAe=new Ws("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),LT=new Ws("LABEL_SIDE_SELECTOR",36),UAe=new Ws("HYPEREDGE_DUMMY_MERGER",37),zAe=new Ws("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),YAe=new Ws("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),zL=new Ws("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),OAe=new Ws("CONSTRAINTS_POSTPROCESSOR",41),DAe=new Ws("COMMENT_POSTPROCESSOR",42),GAe=new Ws("HYPERNODE_PROCESSOR",43),qAe=new Ws("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),NK=new Ws("LONG_EDGE_JOINER",45),$K=new Ws("SELF_LOOP_POSTPROCESSOR",46),AAe=new Ws("BREAKING_POINT_REMOVER",47),BK=new Ws("NORTH_SOUTH_PORT_POSTPROCESSOR",48),VAe=new Ws("HORIZONTAL_COMPACTOR",49),IK=new Ws("LABEL_DUMMY_REMOVER",50),RAe=new Ws("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),BAe=new Ws("END_LABEL_SORTER",52),gB=new Ws("REVERSED_EDGE_RESTORER",53),_K=new Ws("END_LABEL_POSTPROCESSOR",54),jAe=new Ws("HIERARCHICAL_NODE_RESIZER",55),NAe=new Ws("DIRECTION_POSTPROCESSOR",56)}function Yke(){Yke=U,iMe=(pN(),XK),r9t=new pn(VEe,iMe),p9t=new pn(UEe,(Hn(),!1)),lMe=(zH(),z1e),y9t=new pn(fG,lMe),P9t=new pn(GEe,!1),B9t=new pn(KEe,!0),Lxt=new pn(WEe,!1),vMe=(dN(),kde),Q9t=new pn(YEe,vMe),pt(1),skt=new pn(XEe,pt(7)),akt=new pn(QEe,!1),b9t=new pn(JEe,!1),rMe=(l2(),A1e),n9t=new pn(zhe,rMe),dMe=(p2(),gde),N9t=new pn(qP,dMe),hMe=(hf(),EB),S9t=new pn(ZEe,hMe),pt(-1),C9t=new pn(eTe,null),pt(-1),_9t=new pn(tTe,pt(-1)),pt(-1),A9t=new pn(qhe,pt(4)),pt(-1),M9t=new pn(Hhe,pt(2)),fMe=(Nf(),AW),O9t=new pn(Vhe,fMe),pt(0),I9t=new pn(Uhe,pt(0)),E9t=new pn(Ghe,pt(Ii)),nMe=(dA(),HL),t9t=new pn(pL,nMe),$xt=new pn(nTe,!1),Kxt=new pn(Khe,.1),Zxt=new pn(Whe,!1),Yxt=new pn(rTe,null),Xxt=new pn(iTe,null),pt(-1),Qxt=new pn(sTe,null),pt(-1),Jxt=new pn(aTe,pt(-1)),pt(0),zxt=new pn(oTe,pt(40)),tMe=(vE(),j1e),Uxt=new pn(Yhe,tMe),eMe=vB,qxt=new pn(dG,eMe),mMe=(OA(),rM),X9t=new pn(k6,mMe),z9t=new Ui(gG),gMe=(cN(),JK),F9t=new pn(Xhe,gMe),pMe=(WN(),ZK),j9t=new pn(Qhe,pMe),V9t=new pn(Jhe,.3),G9t=new Ui(Zhe),bMe=(By(),_W),K9t=new pn(efe,bMe),oMe=(LV(),Tde),c9t=new pn(cTe,oMe),cMe=(yA(),Sde),u9t=new pn(uTe,cMe),uMe=(SE(),aM),l9t=new pn(pG,uMe),f9t=new pn(bG,.2),a9t=new pn(tfe,2),tkt=new pn(lTe,null),rkt=new pn(hTe,10),nkt=new pn(fTe,10),ikt=new pn(dTe,20),pt(0),J9t=new pn(gTe,pt(0)),pt(0),Z9t=new pn(pTe,pt(0)),pt(0),ekt=new pn(bTe,pt(0)),Mxt=new pn(nfe,!1),XLe=(zE(),VL),Ixt=new pn(mTe,XLe),YLe=(JH(),S1e),Dxt=new pn(vTe,YLe),v9t=new pn(mG,!1),pt(0),m9t=new pn(rfe,pt(16)),pt(0),w9t=new pn(ife,pt(5)),xMe=(OV(),Lde),Skt=new pn(fp,xMe),okt=new pn(vG,10),lkt=new pn(wG,1),yMe=(pV(),YK),mkt=new pn(bL,yMe),dkt=new Ui(sfe),wMe=pt(1),pt(0),pkt=new pn(afe,wMe),kMe=(gV(),Ade),Mkt=new pn(yG,kMe),_kt=new Ui(xG),kkt=new pn(kG,!0),ykt=new pn(EG,2),Tkt=new pn(ofe,!0),aMe=(yU(),QK),s9t=new pn(wTe,aMe),sMe=(yx(),OT),i9t=new pn(yTe,sMe),ZLe=(Ed(),E2),jxt=new pn(TG,ZLe),Rxt=new pn(xTe,!1),Fxt=new pn(kTe,!1),QLe=(Km(),c4),Oxt=new pn(cfe,QLe),JLe=(EA(),pde),Bxt=new pn(ETe,JLe),Nxt=new pn(ufe,0),Pxt=new pn(lfe,0),k9t=L1e,x9t=mB,L9t=CW,D9t=CW,T9t=dde,Wxt=(rp(),A2),e9t=HL,Gxt=HL,Hxt=HL,Vxt=A2,q9t=iM,H9t=rM,R9t=rM,$9t=rM,U9t=wde,Y9t=iM,W9t=iM,h9t=(ip(),s9),d9t=s9,g9t=aM,o9t=JB,ckt=XT,ukt=k4,hkt=XT,fkt=k4,vkt=XT,wkt=k4,gkt=_1e,bkt=YK,Dkt=XT,Ikt=k4,Akt=XT,Lkt=k4,Ekt=k4,xkt=k4,Ckt=k4}function JIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn,jn,ur,oi,ws,Vl,lc,Hh,f7,P2,L0,M0,_v,h9,rm,f9,qd,_g,S3,d9,d7,Hd,Av,yp,IAt,sBe,_3,YM,lpe,g9,XM,F4,QM,hpe,OAt;for(sBe=0,oi=t,lc=0,P2=oi.length;lc0&&(e.a[qd.p]=sBe++)}for(XM=0,ws=n,Hh=0,L0=ws.length;Hh0;){for(qd=(mr(d7.b>0),l(d7.a.Xb(d7.c=--d7.b),12)),d9=0,g=new G(qd.e);g.a0&&(qd.j==(Ct(),Qn)?(e.a[qd.p]=XM,++XM):(e.a[qd.p]=XM+M0+h9,++h9))}XM+=h9}for(S3=new Pr,V=new bd,ur=t,Vl=0,f7=ur.length;VlE.b&&(E.b=Hd)):qd.i.c==IAt&&(HdE.c&&(E.c=Hd));for(nE(J,0,J.length,null),g9=We(Vr,di,28,J.length,15,1),r=We(Vr,di,28,XM+1,15,1),fe=0;fe0;)St%2>0&&(a+=hpe[St+1]),St=(St-1)/2|0,++hpe[St];for(an=We(MEt,Rn,374,J.length*2,0,1),$e=0;$e0&&GO(Vl.f),at(fe,BNe)!=null&&(g=l(at(fe,BNe),347),S3=g.Tg(fe),F5(fe,b.Math.max(fe.g,S3.a),b.Math.max(fe.f,S3.b)));if(L0=l(at(t,_2),107),z=t.g-(L0.b+L0.c),B=t.f-(L0.d+L0.a),Hd.bh("Available Child Area: ("+z+"|"+B+")"),Hi(t,Z6,z/B),sdt(t,a,r.eh(f7)),l(at(t,i9),280)==dY&&(Uke(t),F5(t,L0.b+ze(Ge(at(t,t7)))+L0.c,L0.d+ze(Ge(at(t,e7)))+L0.a)),Hd.bh("Executed layout algorithm: "+ei(at(t,eC))+" on node "+t.k),l(at(t,i9),280)==L4){if(z<0||B<0)throw ue(new Vp("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+t.k));for(P1(t,t7)||P1(t,e7)||Uke(t),J=ze(Ge(at(t,t7))),V=ze(Ge(at(t,e7))),Hd.bh("Desired Child Area: ("+J+"|"+V+")"),_v=z/J,h9=B/V,M0=b.Math.min(_v,b.Math.min(h9,ze(Ge(at(t,qSt))))),Hi(t,aY,M0),Hd.bh(t.k+" -- Local Scale Factor (X|Y): ("+_v+"|"+h9+")"),$e=l(at(t,UB),21),o=0,f=0,M0<_v&&($e.Hc((Ym(),EM))?o=(z/2-J*M0/2)/M0:$e.Hc(TM)&&(o=(z-J*M0)/M0)),M0'?":vn(L4t,e)?"'(?<' or '(? toIndex: ",fEe=", toIndex: ",dEe="Index: ",gEe=", Size: ",oT="org.eclipse.elk.alg.common",ii={50:1},Jwt="org.eclipse.elk.alg.common.compaction",Zwt="Scanline/EventHandler",gg="org.eclipse.elk.alg.common.compaction.oned",e3t="CNode belongs to another CGroup.",t3t="ISpacingsHandler/1",phe="The ",bhe=" instance has been finished already.",n3t="The direction ",r3t=" is not supported by the CGraph instance.",i3t="OneDimensionalCompactor",s3t="OneDimensionalCompactor/lambda$0$Type",a3t="Quadruplet",o3t="ScanlineConstraintCalculator",c3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler",u3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",l3t="ScanlineConstraintCalculator/Timestamp",h3t="ScanlineConstraintCalculator/lambda$0$Type",Ld={178:1,46:1},mhe="org.eclipse.elk.alg.common.compaction.options",Nc="org.eclipse.elk.core.data",pEe="org.eclipse.elk.polyomino.traversalStrategy",bEe="org.eclipse.elk.polyomino.lowLevelSort",mEe="org.eclipse.elk.polyomino.highLevelSort",vEe="org.eclipse.elk.polyomino.fill",Pf={134:1},vhe="polyomino",oL="org.eclipse.elk.alg.common.networksimplex",pg={183:1,3:1,4:1},f3t="org.eclipse.elk.alg.common.nodespacing",ev="org.eclipse.elk.alg.common.nodespacing.cellsystem",cT="CENTER",d3t={217:1,336:1},wEe={3:1,4:1,5:1,603:1},Mx="LEFT",Dx="RIGHT",yEe="Vertical alignment cannot be null",xEe="BOTTOM",tG="org.eclipse.elk.alg.common.nodespacing.internal",cL="UNDEFINED",H1=.01,DP="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",g3t="LabelPlacer/lambda$0$Type",p3t="LabelPlacer/lambda$1$Type",b3t="portRatioOrPosition",uT="org.eclipse.elk.alg.common.overlaps",whe="DOWN",Md="org.eclipse.elk.alg.common.polyomino",nG="NORTH",yhe="EAST",xhe="SOUTH",khe="WEST",rG="org.eclipse.elk.alg.common.polyomino.structures",kEe="Direction",Ehe="Grid is only of size ",The=". Requested point (",Che=") is out of bounds.",iG=" Given center based coordinates were (",IP="org.eclipse.elk.graph.properties",m3t="IPropertyHolder",EEe={3:1,96:1,137:1},Ix="org.eclipse.elk.alg.common.spore",v3t="org.eclipse.elk.alg.common.utils",tv={205:1},v6="org.eclipse.elk.core",w3t="Connected Components Compaction",y3t="org.eclipse.elk.alg.disco",sG="org.eclipse.elk.alg.disco.graph",She="org.eclipse.elk.alg.disco.options",TEe="CompactionStrategy",CEe="org.eclipse.elk.disco.componentCompaction.strategy",SEe="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",_Ee="org.eclipse.elk.disco.debug.discoGraph",AEe="org.eclipse.elk.disco.debug.discoPolys",x3t="componentCompaction",nv="org.eclipse.elk.disco",_he="org.eclipse.elk.spacing.componentComponent",Ahe="org.eclipse.elk.edge.thickness",Ox="org.eclipse.elk.aspectRatio",Xw="org.eclipse.elk.padding",w6="org.eclipse.elk.alg.disco.transform",Lhe=1.5707963267948966,y6=17976931348623157e292,Qy={3:1,4:1,5:1,198:1},k3t={3:1,6:1,4:1,5:1,100:1,115:1},Mhe="org.eclipse.elk.alg.force",LEe="ComponentsProcessor",E3t="ComponentsProcessor/1",MEe="ElkGraphImporter/lambda$0$Type",OP="org.eclipse.elk.alg.force.graph",T3t="Component Layout",DEe="org.eclipse.elk.alg.force.model",aG="org.eclipse.elk.force.model",IEe="org.eclipse.elk.force.iterations",OEe="org.eclipse.elk.force.repulsivePower",Dhe="org.eclipse.elk.force.temperature",Dd=.001,Ihe="org.eclipse.elk.force.repulsion",uL="org.eclipse.elk.alg.force.options",lT=1.600000023841858,Yu="org.eclipse.elk.force",NP="org.eclipse.elk.priority",Jy="org.eclipse.elk.spacing.nodeNode",Ohe="org.eclipse.elk.spacing.edgeLabel",oG="org.eclipse.elk.randomSeed",lL="org.eclipse.elk.separateConnectedComponents",hL="org.eclipse.elk.interactive",Nhe="org.eclipse.elk.portConstraints",cG="org.eclipse.elk.edgeLabels.inline",fL="org.eclipse.elk.omitNodeMicroLayout",hT="org.eclipse.elk.nodeSize.fixedGraphSize",Nx="org.eclipse.elk.nodeSize.options",x6="org.eclipse.elk.nodeSize.constraints",fT="org.eclipse.elk.nodeLabels.placement",dT="org.eclipse.elk.portLabels.placement",PP="org.eclipse.elk.topdownLayout",BP="org.eclipse.elk.topdown.scaleFactor",FP="org.eclipse.elk.topdown.hierarchicalNodeWidth",RP="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",Qw="org.eclipse.elk.topdown.nodeType",NEe="origin",C3t="random",S3t="boundingBox.upLeft",_3t="boundingBox.lowRight",PEe="org.eclipse.elk.stress.fixed",BEe="org.eclipse.elk.stress.desiredEdgeLength",FEe="org.eclipse.elk.stress.dimension",REe="org.eclipse.elk.stress.epsilon",jEe="org.eclipse.elk.stress.iterationLimit",Mb="org.eclipse.elk.stress",A3t="ELK Stress",Px="org.eclipse.elk.nodeSize.minimum",uG="org.eclipse.elk.alg.force.stress",L3t="Layered layout",Bx="org.eclipse.elk.alg.layered",jP="org.eclipse.elk.alg.layered.compaction.components",dL="org.eclipse.elk.alg.layered.compaction.oned",lG="org.eclipse.elk.alg.layered.compaction.oned.algs",rv="org.eclipse.elk.alg.layered.compaction.recthull",V1="org.eclipse.elk.alg.layered.components",Id="NONE",$Ee="MODEL_ORDER",au={3:1,6:1,4:1,9:1,5:1,126:1},M3t={3:1,6:1,4:1,5:1,150:1,100:1,115:1},hG="org.eclipse.elk.alg.layered.compound",ts={47:1},Cu="org.eclipse.elk.alg.layered.graph",Phe=" -> ",D3t="Not supported by LGraph",zEe="Port side is undefined",Bhe={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},m2={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},I3t={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},O3t=`([{"' \r +`,N3t=`)]}"' \r +`,P3t="The given string contains parts that cannot be parsed as numbers.",$P="org.eclipse.elk.core.math",B3t={3:1,4:1,140:1,214:1,423:1},F3t={3:1,4:1,107:1,214:1,423:1},v2="org.eclipse.elk.alg.layered.graph.transform",R3t="ElkGraphImporter",j3t="ElkGraphImporter/lambda$1$Type",$3t="ElkGraphImporter/lambda$2$Type",z3t="ElkGraphImporter/lambda$4$Type",rr="org.eclipse.elk.alg.layered.intermediate",q3t="Node margin calculation",H3t="ONE_SIDED_GREEDY_SWITCH",V3t="TWO_SIDED_GREEDY_SWITCH",Fhe="No implementation is available for the layout processor ",Rhe="IntermediateProcessorStrategy",jhe="Node '",U3t="FIRST_SEPARATE",G3t="LAST_SEPARATE",K3t="Odd port side processing",aa="org.eclipse.elk.alg.layered.intermediate.compaction",gL="org.eclipse.elk.alg.layered.intermediate.greedyswitch",bg="org.eclipse.elk.alg.layered.p3order.counting",zP={230:1},Fx="org.eclipse.elk.alg.layered.intermediate.loops",Bh="org.eclipse.elk.alg.layered.intermediate.loops.ordering",Db="org.eclipse.elk.alg.layered.intermediate.loops.routing",qEe="org.eclipse.elk.alg.layered.intermediate.preserveorder",Od="org.eclipse.elk.alg.layered.intermediate.wrapping",ou="org.eclipse.elk.alg.layered.options",$he="INTERACTIVE",HEe="GREEDY",W3t="DEPTH_FIRST",Y3t="EDGE_LENGTH",X3t="SELF_LOOPS",Q3t="firstTryWithInitialOrder",VEe="org.eclipse.elk.layered.directionCongruency",UEe="org.eclipse.elk.layered.feedbackEdges",fG="org.eclipse.elk.layered.interactiveReferencePoint",GEe="org.eclipse.elk.layered.mergeEdges",KEe="org.eclipse.elk.layered.mergeHierarchyEdges",WEe="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",YEe="org.eclipse.elk.layered.portSortingStrategy",XEe="org.eclipse.elk.layered.thoroughness",QEe="org.eclipse.elk.layered.unnecessaryBendpoints",JEe="org.eclipse.elk.layered.generatePositionAndLayerIds",zhe="org.eclipse.elk.layered.cycleBreaking.strategy",qP="org.eclipse.elk.layered.layering.strategy",ZEe="org.eclipse.elk.layered.layering.layerConstraint",eTe="org.eclipse.elk.layered.layering.layerChoiceConstraint",tTe="org.eclipse.elk.layered.layering.layerId",qhe="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",Hhe="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",Vhe="org.eclipse.elk.layered.layering.nodePromotion.strategy",Uhe="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",Ghe="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",pL="org.eclipse.elk.layered.crossingMinimization.strategy",nTe="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",Khe="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",Whe="org.eclipse.elk.layered.crossingMinimization.semiInteractive",rTe="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",iTe="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",sTe="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",aTe="org.eclipse.elk.layered.crossingMinimization.positionId",oTe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",Yhe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",dG="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",k6="org.eclipse.elk.layered.nodePlacement.strategy",gG="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",Xhe="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",Qhe="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",Jhe="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",Zhe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",efe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",cTe="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",uTe="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",pG="org.eclipse.elk.layered.edgeRouting.splines.mode",bG="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",tfe="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",lTe="org.eclipse.elk.layered.spacing.baseValue",hTe="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",fTe="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",dTe="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",gTe="org.eclipse.elk.layered.priority.direction",pTe="org.eclipse.elk.layered.priority.shortness",bTe="org.eclipse.elk.layered.priority.straightness",nfe="org.eclipse.elk.layered.compaction.connectedComponents",mTe="org.eclipse.elk.layered.compaction.postCompaction.strategy",vTe="org.eclipse.elk.layered.compaction.postCompaction.constraints",mG="org.eclipse.elk.layered.highDegreeNodes.treatment",rfe="org.eclipse.elk.layered.highDegreeNodes.threshold",ife="org.eclipse.elk.layered.highDegreeNodes.treeHeight",fp="org.eclipse.elk.layered.wrapping.strategy",vG="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",wG="org.eclipse.elk.layered.wrapping.correctionFactor",bL="org.eclipse.elk.layered.wrapping.cutting.strategy",sfe="org.eclipse.elk.layered.wrapping.cutting.cuts",afe="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",yG="org.eclipse.elk.layered.wrapping.validify.strategy",xG="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",kG="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",EG="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",ofe="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",wTe="org.eclipse.elk.layered.edgeLabels.sideSelection",yTe="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",TG="org.eclipse.elk.layered.considerModelOrder.strategy",xTe="org.eclipse.elk.layered.considerModelOrder.portModelOrder",kTe="org.eclipse.elk.layered.considerModelOrder.noModelOrder",cfe="org.eclipse.elk.layered.considerModelOrder.components",ETe="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",ufe="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",lfe="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",hfe="layering",J3t="layering.minWidth",Z3t="layering.nodePromotion",gT="crossingMinimization",CG="org.eclipse.elk.hierarchyHandling",eyt="crossingMinimization.greedySwitch",tyt="nodePlacement",nyt="nodePlacement.bk",ryt="edgeRouting",HP="org.eclipse.elk.edgeRouting",U1="spacing",TTe="priority",CTe="compaction",iyt="compaction.postCompaction",syt="Specifies whether and how post-process compaction is applied.",STe="highDegreeNodes",_Te="wrapping",ayt="wrapping.cutting",oyt="wrapping.validify",ATe="wrapping.multiEdge",ffe="edgeLabels",mL="considerModelOrder",LTe="org.eclipse.elk.spacing.commentComment",MTe="org.eclipse.elk.spacing.commentNode",DTe="org.eclipse.elk.spacing.edgeEdge",dfe="org.eclipse.elk.spacing.edgeNode",ITe="org.eclipse.elk.spacing.labelLabel",OTe="org.eclipse.elk.spacing.labelPortHorizontal",NTe="org.eclipse.elk.spacing.labelPortVertical",PTe="org.eclipse.elk.spacing.labelNode",BTe="org.eclipse.elk.spacing.nodeSelfLoop",FTe="org.eclipse.elk.spacing.portPort",RTe="org.eclipse.elk.spacing.individual",jTe="org.eclipse.elk.port.borderOffset",$Te="org.eclipse.elk.noLayout",zTe="org.eclipse.elk.port.side",VP="org.eclipse.elk.debugMode",qTe="org.eclipse.elk.alignment",HTe="org.eclipse.elk.insideSelfLoops.activate",VTe="org.eclipse.elk.insideSelfLoops.yo",gfe="org.eclipse.elk.direction",UTe="org.eclipse.elk.nodeLabels.padding",GTe="org.eclipse.elk.portLabels.nextToPortIfPossible",KTe="org.eclipse.elk.portLabels.treatAsGroup",WTe="org.eclipse.elk.portAlignment.default",YTe="org.eclipse.elk.portAlignment.north",XTe="org.eclipse.elk.portAlignment.south",QTe="org.eclipse.elk.portAlignment.west",JTe="org.eclipse.elk.portAlignment.east",SG="org.eclipse.elk.contentAlignment",ZTe="org.eclipse.elk.junctionPoints",eCe="org.eclipse.elk.edgeLabels.placement",tCe="org.eclipse.elk.port.index",nCe="org.eclipse.elk.commentBox",rCe="org.eclipse.elk.hypernode",iCe="org.eclipse.elk.port.anchor",pfe="org.eclipse.elk.partitioning.activate",bfe="org.eclipse.elk.partitioning.partition",_G="org.eclipse.elk.position",sCe="org.eclipse.elk.margins",aCe="org.eclipse.elk.spacing.portsSurrounding",AG="org.eclipse.elk.interactiveLayout",Uc="org.eclipse.elk.core.util",oCe={3:1,4:1,5:1,601:1},cyt="NETWORK_SIMPLEX",cCe="SIMPLE",Uo={106:1,47:1},LG="org.eclipse.elk.alg.layered.p1cycles",dp="org.eclipse.elk.alg.layered.p2layers",uCe={413:1,230:1},uyt={846:1,3:1,4:1},Cl="org.eclipse.elk.alg.layered.p3order",Go="org.eclipse.elk.alg.layered.p4nodes",lyt={3:1,4:1,5:1,854:1},Nd=1e-5,Ib="org.eclipse.elk.alg.layered.p4nodes.bk",mfe="org.eclipse.elk.alg.layered.p5edges",i1="org.eclipse.elk.alg.layered.p5edges.orthogonal",vfe="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",wfe=1e-6,Zy="org.eclipse.elk.alg.layered.p5edges.splines",yfe=.09999999999999998,MG=1e-8,hyt=4.71238898038469,lCe=3.141592653589793,gp="org.eclipse.elk.alg.mrtree",xfe=.10000000149011612,DG="SUPER_ROOT",vL="org.eclipse.elk.alg.mrtree.graph",hCe=-17976931348623157e292,Su="org.eclipse.elk.alg.mrtree.intermediate",fyt="Processor compute fanout",IG={3:1,6:1,4:1,5:1,534:1,100:1,115:1},dyt="Set neighbors in level",UP="org.eclipse.elk.alg.mrtree.options",gyt="DESCENDANTS",fCe="org.eclipse.elk.mrtree.compaction",dCe="org.eclipse.elk.mrtree.edgeEndTextureLength",gCe="org.eclipse.elk.mrtree.treeLevel",pCe="org.eclipse.elk.mrtree.positionConstraint",bCe="org.eclipse.elk.mrtree.weighting",mCe="org.eclipse.elk.mrtree.edgeRoutingMode",vCe="org.eclipse.elk.mrtree.searchOrder",pyt="Position Constraint",Xu="org.eclipse.elk.mrtree",byt="org.eclipse.elk.tree",myt="Processor arrange level",pT="org.eclipse.elk.alg.mrtree.p2order",vh="org.eclipse.elk.alg.mrtree.p4route",wCe="org.eclipse.elk.alg.radial",iv=6.283185307179586,yCe="Before",xCe=5e-324,OG="After",kCe="org.eclipse.elk.alg.radial.intermediate",vyt="COMPACTION",kfe="org.eclipse.elk.alg.radial.intermediate.compaction",wyt={3:1,4:1,5:1,100:1},ECe="org.eclipse.elk.alg.radial.intermediate.optimization",Efe="No implementation is available for the layout option ",wL="org.eclipse.elk.alg.radial.options",TCe="org.eclipse.elk.radial.centerOnRoot",CCe="org.eclipse.elk.radial.orderId",SCe="org.eclipse.elk.radial.radius",NG="org.eclipse.elk.radial.rotate",Tfe="org.eclipse.elk.radial.compactor",Cfe="org.eclipse.elk.radial.compactionStepSize",_Ce="org.eclipse.elk.radial.sorter",ACe="org.eclipse.elk.radial.wedgeCriteria",LCe="org.eclipse.elk.radial.optimizationCriteria",Sfe="org.eclipse.elk.radial.rotation.targetAngle",_fe="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",MCe="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",yyt="Compaction",DCe="rotation",gf="org.eclipse.elk.radial",xyt="org.eclipse.elk.alg.radial.p1position.wedge",ICe="org.eclipse.elk.alg.radial.sorting",kyt=5.497787143782138,Eyt=3.9269908169872414,Tyt=2.356194490192345,Cyt="org.eclipse.elk.alg.rectpacking",PG="org.eclipse.elk.alg.rectpacking.intermediate",Afe="org.eclipse.elk.alg.rectpacking.options",OCe="org.eclipse.elk.rectpacking.trybox",NCe="org.eclipse.elk.rectpacking.currentPosition",PCe="org.eclipse.elk.rectpacking.desiredPosition",BCe="org.eclipse.elk.rectpacking.inNewRow",FCe="org.eclipse.elk.rectpacking.widthApproximation.strategy",RCe="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",jCe="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",$Ce="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",zCe="org.eclipse.elk.rectpacking.packing.strategy",qCe="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",HCe="org.eclipse.elk.rectpacking.packing.compaction.iterations",VCe="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",Lfe="widthApproximation",Syt="Compaction Strategy",_yt="packing.compaction",th="org.eclipse.elk.rectpacking",bT="org.eclipse.elk.alg.rectpacking.p1widthapproximation",BG="org.eclipse.elk.alg.rectpacking.p2packing",Ayt="No Compaction",UCe="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",GP="org.eclipse.elk.alg.rectpacking.util",FG="No implementation available for ",e4="org.eclipse.elk.alg.spore",t4="org.eclipse.elk.alg.spore.options",Jw="org.eclipse.elk.sporeCompaction",Mfe="org.eclipse.elk.underlyingLayoutAlgorithm",GCe="org.eclipse.elk.processingOrder.treeConstruction",KCe="org.eclipse.elk.processingOrder.spanningTreeCostFunction",Dfe="org.eclipse.elk.processingOrder.preferredRoot",Ife="org.eclipse.elk.processingOrder.rootSelection",Ofe="org.eclipse.elk.structure.structureExtractionStrategy",WCe="org.eclipse.elk.compaction.compactionStrategy",YCe="org.eclipse.elk.compaction.orthogonal",XCe="org.eclipse.elk.overlapRemoval.maxIterations",QCe="org.eclipse.elk.overlapRemoval.runScanline",Nfe="processingOrder",Lyt="overlapRemoval",mT="org.eclipse.elk.sporeOverlap",Myt="org.eclipse.elk.alg.spore.p1structure",Pfe="org.eclipse.elk.alg.spore.p2processingorder",Bfe="org.eclipse.elk.alg.spore.p3execution",Dyt="Topdown Layout",Iyt="Invalid index: ",vT="org.eclipse.elk.core.alg",E6={341:1},n4={295:1},Oyt="Make sure its type is registered with the ",JCe=" utility class.",wT="true",Ffe="false",Nyt="Couldn't clone property '",Zw=.05,nh="org.eclipse.elk.core.options",Pyt=1.2999999523162842,e3="org.eclipse.elk.box",ZCe="org.eclipse.elk.expandNodes",eSe="org.eclipse.elk.box.packingMode",Byt="org.eclipse.elk.algorithm",Fyt="org.eclipse.elk.resolvedAlgorithm",tSe="org.eclipse.elk.bendPoints",rOn="org.eclipse.elk.labelManager",Ryt="org.eclipse.elk.scaleFactor",jyt="org.eclipse.elk.childAreaWidth",$yt="org.eclipse.elk.childAreaHeight",zyt="org.eclipse.elk.animate",qyt="org.eclipse.elk.animTimeFactor",Hyt="org.eclipse.elk.layoutAncestors",Vyt="org.eclipse.elk.maxAnimTime",Uyt="org.eclipse.elk.minAnimTime",Gyt="org.eclipse.elk.progressBar",Kyt="org.eclipse.elk.validateGraph",Wyt="org.eclipse.elk.validateOptions",Yyt="org.eclipse.elk.zoomToFit",iOn="org.eclipse.elk.font.name",Xyt="org.eclipse.elk.font.size",nSe="org.eclipse.elk.topdown.sizeApproximator",rSe="org.eclipse.elk.topdown.scaleCap",Qyt="org.eclipse.elk.edge.type",Jyt="partitioning",Zyt="nodeLabels",RG="portAlignment",Rfe="nodeSize",jfe="port",iSe="portLabels",KP="topdown",e4t="insideSelfLoops",yL="org.eclipse.elk.fixed",jG="org.eclipse.elk.random",sSe={3:1,34:1,22:1,347:1},t4t="port must have a parent node to calculate the port side",n4t="The edge needs to have exactly one edge section. Found: ",xL="org.eclipse.elk.core.util.adapters",pf="org.eclipse.emf.ecore",T6="org.eclipse.elk.graph",r4t="EMapPropertyHolder",i4t="ElkBendPoint",s4t="ElkGraphElement",a4t="ElkConnectableShape",aSe="ElkEdge",o4t="ElkEdgeSection",c4t="EModelElement",u4t="ENamedElement",oSe="ElkLabel",cSe="ElkNode",uSe="ElkPort",l4t={94:1,93:1},Rx="org.eclipse.emf.common.notify.impl",Ob="The feature '",kL="' is not a valid changeable feature",h4t="Expecting null",$fe="' is not a valid feature",f4t="The feature ID",d4t=" is not a valid feature ID",eu=32768,g4t={110:1,94:1,93:1,58:1,54:1,99:1},Gn="org.eclipse.emf.ecore.impl",sv="org.eclipse.elk.graph.impl",EL="Recursive containment not allowed for ",yT="The datatype '",t3="' is not a valid classifier",zfe="The value '",C6={195:1,3:1,4:1},qfe="The class '",xT="http://www.eclipse.org/elk/ElkGraph",lSe="property",TL="value",Hfe="source",p4t="properties",b4t="identifier",Vfe="height",Ufe="width",Gfe="parent",Kfe="text",Wfe="children",m4t="hierarchical",hSe="sources",Yfe="targets",fSe="sections",$G="bendPoints",dSe="outgoingShape",gSe="incomingShape",pSe="outgoingSections",bSe="incomingSections",So="org.eclipse.emf.common.util",mSe="Severe implementation error in the Json to ElkGraph importer.",Pd="id",no="org.eclipse.elk.graph.json",vSe="Unhandled parameter types: ",v4t="startPoint",w4t="An edge must have at least one source and one target (edge id: '",kT="').",y4t="Referenced edge section does not exist: ",x4t=" (edge id: '",wSe="target",k4t="sourcePoint",E4t="targetPoint",zG="group",_i="name",T4t="connectableShape cannot be null",C4t="edge cannot be null",Xfe="Passed edge is not 'simple'.",qG="org.eclipse.elk.graph.util",WP="The 'no duplicates' constraint is violated",Qfe="targetIndex=",av=", size=",Jfe="sourceIndex=",Bd={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},Zfe={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},HG="logging",S4t="measureExecutionTime",_4t="parser.parse.1",A4t="parser.parse.2",VG="parser.next.1",e0e="parser.next.2",L4t="parser.next.3",M4t="parser.next.4",ov="parser.factor.1",ySe="parser.factor.2",D4t="parser.factor.3",I4t="parser.factor.4",O4t="parser.factor.5",N4t="parser.factor.6",P4t="parser.atom.1",B4t="parser.atom.2",F4t="parser.atom.3",xSe="parser.atom.4",t0e="parser.atom.5",kSe="parser.cc.1",UG="parser.cc.2",R4t="parser.cc.3",j4t="parser.cc.5",ESe="parser.cc.6",TSe="parser.cc.7",n0e="parser.cc.8",$4t="parser.ope.1",z4t="parser.ope.2",q4t="parser.ope.3",w2="parser.descape.1",H4t="parser.descape.2",V4t="parser.descape.3",U4t="parser.descape.4",G4t="parser.descape.5",bf="parser.process.1",K4t="parser.quantifier.1",W4t="parser.quantifier.2",Y4t="parser.quantifier.3",X4t="parser.quantifier.4",CSe="parser.quantifier.5",Q4t="org.eclipse.emf.common.notify",SSe={424:1,686:1},J4t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},YP={378:1,152:1},CL="index=",r0e={3:1,4:1,5:1,129:1},Z4t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},_Se={3:1,6:1,4:1,5:1,198:1},e5t={3:1,4:1,5:1,173:1,379:1},t5t=";/?:@&=+$,",n5t="invalid authority: ",r5t="EAnnotation",i5t="ETypedElement",s5t="EStructuralFeature",a5t="EAttribute",o5t="EClassifier",c5t="EEnumLiteral",u5t="EGenericType",l5t="EOperation",h5t="EParameter",f5t="EReference",d5t="ETypeParameter",us="org.eclipse.emf.ecore.util",i0e={79:1},ASe={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},g5t="org.eclipse.emf.ecore.util.FeatureMap$Entry",Sl=8192,r4=2048,SL="byte",GG="char",_L="double",AL="float",LL="int",ML="long",DL="short",p5t="java.lang.Object",S6={3:1,4:1,5:1,254:1},LSe={3:1,4:1,5:1,688:1},b5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},kc={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},XP="mixed",ui="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Bf="kind",m5t={3:1,4:1,5:1,689:1},MSe={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},KG={20:1,31:1,56:1,16:1,15:1,61:1,71:1},WG={51:1,128:1,287:1},YG={76:1,343:1},XG="The value of type '",QG="' must be of type '",_6=1352,Ff="http://www.eclipse.org/emf/2002/Ecore",JG=-32768,n3="constraints",ho="baseType",v5t="getEStructuralFeature",w5t="getFeatureID",IL="feature",y5t="getOperationID",DSe="operation",x5t="defaultValue",k5t="eTypeParameters",E5t="isInstance",T5t="getEEnumLiteral",C5t="eContainingClass",yi={57:1},S5t={3:1,4:1,5:1,124:1},_5t="org.eclipse.emf.ecore.resource",A5t={94:1,93:1,599:1,2034:1},s0e="org.eclipse.emf.ecore.resource.impl",ISe="unspecified",QP="simple",ZG="attribute",L5t="attributeWildcard",eK="element",a0e="elementWildcard",s1="collapse",o0e="itemType",tK="namespace",JP="##targetNamespace",Rf="whiteSpace",OSe="wildcards",cv="http://www.eclipse.org/emf/2003/XMLType",c0e="##any",ET="uninitialized",ZP="The multiplicity constraint is violated",nK="org.eclipse.emf.ecore.xml.type",M5t="ProcessingInstruction",D5t="SimpleAnyType",I5t="XMLTypeDocumentRoot",ea="org.eclipse.emf.ecore.xml.type.impl",eB="INF",O5t="processing",N5t="ENTITIES_._base",NSe="minLength",PSe="ENTITY",rK="NCName",P5t="IDREFS_._base",BSe="integer",u0e="token",l0e="pattern",B5t="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",FSe="\\i\\c*",F5t="[\\i-[:]][\\c-[:]]*",R5t="nonPositiveInteger",tB="maxInclusive",RSe="NMTOKEN",j5t="NMTOKENS_._base",jSe="nonNegativeInteger",nB="minInclusive",$5t="normalizedString",z5t="unsignedByte",q5t="unsignedInt",H5t="18446744073709551615",V5t="unsignedShort",U5t="processingInstruction",y2="org.eclipse.emf.ecore.xml.type.internal",TT=1114111,G5t="Internal Error: shorthands: \\u",OL="xml:isDigit",h0e="xml:isWord",f0e="xml:isSpace",d0e="xml:isNameChar",g0e="xml:isInitialNameChar",K5t="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",W5t="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",Y5t="Private Use",p0e="ASSIGNED",b0e="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",$Se="UNASSIGNED",CT={3:1,122:1},X5t="org.eclipse.emf.ecore.xml.type.util",iK={3:1,4:1,5:1,381:1},zSe="org.eclipse.xtext.xbase.lib",Q5t="Cannot add elements to a Range",J5t="Cannot set elements in a Range",Z5t="Cannot remove elements from a Range",e6t="user.agent",h,sK,m0e;b.goog=b.goog||{},b.goog.global=b.goog.global||b,sK={},D(1,null,{},T),h.Fb=function(t){return Jtt(this,t)},h.Gb=function(){return this.Rm},h.Hb=function(){return fw(this)},h.Ib=function(){var t;return _m(bh(this))+"@"+(t=es(this)>>>0,t.toString(16))},h.equals=function(e){return this.Fb(e)},h.hashCode=function(){return this.Hb()},h.toString=function(){return this.Ib()};var t6t,n6t,r6t;D(297,1,{297:1,2124:1},B7e),h.ve=function(t){var n;return n=new B7e,n.i=4,t>1?n.c=yot(this,t-1):n.c=this,n},h.we=function(){return Gg(this),this.b},h.xe=function(){return _m(this)},h.ye=function(){return Gg(this),this.k},h.ze=function(){return(this.i&4)!=0},h.Ae=function(){return(this.i&1)!=0},h.Ib=function(){return K6e(this)},h.i=0;var wa=I(Vc,"Object",1),qSe=I(Vc,"Class",297);D(2096,1,yP),I(xP,"Optional",2096),D(1191,2096,yP,_),h.Fb=function(t){return t===this},h.Hb=function(){return 2040732332},h.Ib=function(){return"Optional.absent()"},h.Jb=function(t){return Xr(t),o_(),v0e};var v0e;I(xP,"Absent",1191),D(636,1,{},Zie),I(xP,"Joiner",636);var sOn=ks(xP,"Predicate");D(589,1,{178:1,589:1,3:1,46:1},gz),h.Mb=function(t){return y0t(this,t)},h.Lb=function(t){return y0t(this,t)},h.Fb=function(t){var n;return De(t,589)?(n=l(t,589),O9e(this.a,n.a)):!1},h.Hb=function(){return q7e(this.a)+306654252},h.Ib=function(){return U9n(this.a)},I(xP,"Predicates/AndPredicate",589),D(419,2096,{419:1,3:1},JS),h.Fb=function(t){var n;return De(t,419)?(n=l(t,419),Pi(this.a,n.a)):!1},h.Hb=function(){return 1502476572+es(this.a)},h.Ib=function(){return Awt+this.a+")"},h.Jb=function(t){return new JS(_H(t.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},I(xP,"Present",419),D(204,1,eT),h.Nb=function(t){Za(this,t)},h.Qb=function(){jJe()},I(dn,"UnmodifiableIterator",204),D(2076,204,tT),h.Qb=function(){jJe()},h.Rb=function(t){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(dn,"UnmodifiableListIterator",2076),D(399,2076,tT),h.Ob=function(){return this.c0},h.Pb=function(){if(this.c>=this.d)throw ue(new _c);return this.Xb(this.c++)},h.Tb=function(){return this.c},h.Ub=function(){if(this.c<=0)throw ue(new _c);return this.Xb(--this.c)},h.Vb=function(){return this.c-1},h.c=0,h.d=0,I(dn,"AbstractIndexedListIterator",399),D(713,204,eT),h.Ob=function(){return tce(this)},h.Pb=function(){return z6e(this)},h.e=1,I(dn,"AbstractIterator",713),D(2084,1,{229:1}),h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.Fb=function(t){return Ece(this,t)},h.Hb=function(){return es(this.Zb())},h.dc=function(){return this.gc()==0},h.ec=function(){return W8(this)},h.Ib=function(){return xc(this.Zb())},I(dn,"AbstractMultimap",2084),D(742,2084,Jm),h.$b=function(){mV(this)},h._b=function(t){return iZe(this,t)},h.ac=function(){return new Lk(this,this.c)},h.ic=function(t){return this.hc()},h.bc=function(){return new q5(this,this.c)},h.jc=function(){return this.mc(this.hc())},h.kc=function(){return new EJe(this)},h.lc=function(){return Iue(this.c.vc().Nc(),new P,64,this.d)},h.cc=function(t){return $i(this,t)},h.fc=function(t){return DN(this,t)},h.gc=function(){return this.d},h.mc=function(t){return Cn(),new $a(t)},h.nc=function(){return new kJe(this)},h.oc=function(){return Iue(this.c.Cc().Nc(),new A,64,this.d)},h.pc=function(t,n){return new YH(this,t,n,null)},h.d=0,I(dn,"AbstractMapBasedMultimap",742),D(1696,742,Jm),h.hc=function(){return new Bu(this.a)},h.jc=function(){return Cn(),Cn(),_o},h.cc=function(t){return l($i(this,t),15)},h.fc=function(t){return l(DN(this,t),15)},h.Zb=function(){return ex(this)},h.Fb=function(t){return Ece(this,t)},h.qc=function(t){return l($i(this,t),15)},h.rc=function(t){return l(DN(this,t),15)},h.mc=function(t){return ioe(l(t,15))},h.pc=function(t,n){return _ct(this,t,l(n,15),null)},I(dn,"AbstractListMultimap",1696),D(748,1,Oa),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.c.Ob()||this.e.Ob()},h.Pb=function(){var t;return this.e.Ob()||(t=l(this.c.Pb(),44),this.b=t.ld(),this.a=l(t.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},h.Qb=function(){this.e.Qb(),l(Lf(this.a),16).dc()&&this.c.Qb(),--this.d.d},I(dn,"AbstractMapBasedMultimap/Itr",748),D(1129,748,Oa,kJe),h.sc=function(t,n){return n},I(dn,"AbstractMapBasedMultimap/1",1129),D(1130,1,{},A),h.Kb=function(t){return l(t,16).Nc()},I(dn,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),D(1131,748,Oa,EJe),h.sc=function(t,n){return new iw(t,n)},I(dn,"AbstractMapBasedMultimap/2",1131);var HSe=ks(Lr,"Map");D(2065,1,Ww),h.wc=function(t){mA(this,t)},h.yc=function(t,n,r){return qce(this,t,n,r)},h.$b=function(){this.vc().$b()},h.tc=function(t){return gue(this,t)},h._b=function(t){return!!Dxe(this,t,!1)},h.uc=function(t){var n,r,a;for(r=this.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),a=n.md(),qe(t)===qe(a)||t!=null&&Pi(t,a))return!0;return!1},h.Fb=function(t){var n,r,a;if(t===this)return!0;if(!De(t,85)||(a=l(t,85),this.gc()!=a.gc()))return!1;for(r=a.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),!this.tc(n))return!1;return!0},h.xc=function(t){return hc(Dxe(this,t,!1))},h.Hb=function(){return I7e(this.vc())},h.dc=function(){return this.gc()==0},h.ec=function(){return new br(this)},h.zc=function(t,n){throw ue(new Hp("Put not supported on this map"))},h.Ac=function(t){bA(this,t)},h.Bc=function(t){return hc(Dxe(this,t,!0))},h.gc=function(){return this.vc().gc()},h.Ib=function(){return Igt(this)},h.Cc=function(){return new gi(this)},I(Lr,"AbstractMap",2065),D(2085,2065,Ww),h.bc=function(){return new Yz(this)},h.vc=function(){return Est(this)},h.ec=function(){var t;return t=this.g,t||(this.g=this.bc())},h.Cc=function(){var t;return t=this.i,t||(this.i=new WZe(this))},I(dn,"Maps/ViewCachingAbstractMap",2085),D(402,2085,Ww,Lk),h.xc=function(t){return lwn(this,t)},h.Bc=function(t){return Oyn(this,t)},h.$b=function(){this.d==this.e.c?this.e.$b():iH(new V4e(this))},h._b=function(t){return i1t(this.d,t)},h.Ec=function(){return new pz(this)},h.Dc=function(){return this.Ec()},h.Fb=function(t){return this===t||Pi(this.d,t)},h.Hb=function(){return es(this.d)},h.ec=function(){return this.e.ec()},h.gc=function(){return this.d.gc()},h.Ib=function(){return xc(this.d)},I(dn,"AbstractMapBasedMultimap/AsMap",402);var Fh=ks(Vc,"Iterable");D(31,1,Wy),h.Jc=function(t){to(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new bn(null,this.Nc())},h.Fc=function(t){throw ue(new Hp("Add not supported on this collection"))},h.Gc=function(t){return Ka(this,t)},h.$b=function(){M5e(this)},h.Hc=function(t){return Ny(this,t,!1)},h.Ic=function(t){return EN(this,t)},h.dc=function(){return this.gc()==0},h.Mc=function(t){return Ny(this,t,!0)},h.Pc=function(){return e5e(this)},h.Qc=function(t){return PA(this,t)},h.Ib=function(){return Tb(this)},I(Lr,"AbstractCollection",31);var jf=ks(Lr,"Set");D(q1,31,Tl),h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return Y1t(this,t)},h.Hb=function(){return I7e(this)},I(Lr,"AbstractSet",q1),D(2068,q1,Tl),I(dn,"Sets/ImprovedAbstractSet",2068),D(2069,2068,Tl),h.$b=function(){this.Rc().$b()},h.Hc=function(t){return O1t(this,t)},h.dc=function(){return this.Rc().dc()},h.Mc=function(t){var n;return this.Hc(t)&&De(t,44)?(n=l(t,44),this.Rc().ec().Mc(n.ld())):!1},h.gc=function(){return this.Rc().gc()},I(dn,"Maps/EntrySet",2069),D(1127,2069,Tl,pz),h.Hc=function(t){return s8e(this.a.d.vc(),t)},h.Kc=function(){return new V4e(this.a)},h.Rc=function(){return this.a},h.Mc=function(t){var n;return s8e(this.a.d.vc(),t)?(n=l(Lf(l(t,44)),44),Jmn(this.a.e,n.ld()),!0):!1},h.Nc=function(){return NO(this.a.d.vc().Nc(),new bz(this.a))},I(dn,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),D(1128,1,{},bz),h.Kb=function(t){return Cut(this.a,l(t,44))},I(dn,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),D(746,1,Oa,V4e),h.Nb=function(t){Za(this,t)},h.Pb=function(){var t;return t=l(this.b.Pb(),44),this.a=l(t.md(),16),Cut(this.c,t)},h.Ob=function(){return this.b.Ob()},h.Qb=function(){Rk(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},I(dn,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),D(542,2068,Tl,Yz),h.$b=function(){this.b.$b()},h.Hc=function(t){return this.b._b(t)},h.Jc=function(t){Xr(t),this.b.wc(new xz(t))},h.dc=function(){return this.b.dc()},h.Kc=function(){return new c_(this.b.vc().Kc())},h.Mc=function(t){return this.b._b(t)?(this.b.Bc(t),!0):!1},h.gc=function(){return this.b.gc()},I(dn,"Maps/KeySet",542),D(327,542,Tl,q5),h.$b=function(){var t;iH((t=this.b.vc().Kc(),new g3e(this,t)))},h.Ic=function(t){return this.b.ec().Ic(t)},h.Fb=function(t){return this===t||Pi(this.b.ec(),t)},h.Hb=function(){return es(this.b.ec())},h.Kc=function(){var t;return t=this.b.vc().Kc(),new g3e(this,t)},h.Mc=function(t){var n,r;return r=0,n=l(this.b.Bc(t),16),n&&(r=n.gc(),n.$b(),this.a.d-=r),r>0},h.Nc=function(){return this.b.ec().Nc()},I(dn,"AbstractMapBasedMultimap/KeySet",327),D(747,1,Oa,g3e),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.c.Ob()},h.Pb=function(){return this.a=l(this.c.Pb(),44),this.a.ld()},h.Qb=function(){var t;Rk(!!this.a),t=l(this.a.md(),16),this.c.Qb(),this.b.a.d-=t.gc(),t.$b(),this.a=null},I(dn,"AbstractMapBasedMultimap/KeySet/1",747),D(503,402,{85:1,133:1},_O),h.bc=function(){return this.Sc()},h.ec=function(){return this.Uc()},h.Sc=function(){return new tO(this.c,this.Wc())},h.Tc=function(){return this.Wc().Tc()},h.Uc=function(){var t;return t=this.b,t||(this.b=this.Sc())},h.Vc=function(){return this.Wc().Vc()},h.Wc=function(){return l(this.d,133)},I(dn,"AbstractMapBasedMultimap/SortedAsMap",503),D(446,503,Zke,q_),h.bc=function(){return new Ak(this.a,l(l(this.d,133),139))},h.Sc=function(){return new Ak(this.a,l(l(this.d,133),139))},h.ec=function(){var t;return t=this.b,l(t||(this.b=new Ak(this.a,l(l(this.d,133),139))),277)},h.Uc=function(){var t;return t=this.b,l(t||(this.b=new Ak(this.a,l(l(this.d,133),139))),277)},h.Wc=function(){return l(l(this.d,133),139)},h.Xc=function(t){return l(l(this.d,133),139).Xc(t)},h.Yc=function(t){return l(l(this.d,133),139).Yc(t)},h.Zc=function(t,n){return new q_(this.a,l(l(this.d,133),139).Zc(t,n))},h.$c=function(t){return l(l(this.d,133),139).$c(t)},h._c=function(t){return l(l(this.d,133),139)._c(t)},h.ad=function(t,n){return new q_(this.a,l(l(this.d,133),139).ad(t,n))},I(dn,"AbstractMapBasedMultimap/NavigableAsMap",446),D(502,327,Lwt,tO),h.Nc=function(){return this.b.ec().Nc()},I(dn,"AbstractMapBasedMultimap/SortedKeySet",502),D(401,502,eEe,Ak),I(dn,"AbstractMapBasedMultimap/NavigableKeySet",401),D(551,31,Wy,YH),h.Fc=function(t){var n,r;return Ql(this),r=this.d.dc(),n=this.d.Fc(t),n&&(++this.f.d,r&&DO(this)),n},h.Gc=function(t){var n,r,a;return t.dc()?!1:(a=(Ql(this),this.d.gc()),n=this.d.Gc(t),n&&(r=this.d.gc(),this.f.d+=r-a,a==0&&DO(this)),n)},h.$b=function(){var t;t=(Ql(this),this.d.gc()),t!=0&&(this.d.$b(),this.f.d-=t,lH(this))},h.Hc=function(t){return Ql(this),this.d.Hc(t)},h.Ic=function(t){return Ql(this),this.d.Ic(t)},h.Fb=function(t){return t===this?!0:(Ql(this),Pi(this.d,t))},h.Hb=function(){return Ql(this),es(this.d)},h.Kc=function(){return Ql(this),new _4e(this)},h.Mc=function(t){var n;return Ql(this),n=this.d.Mc(t),n&&(--this.f.d,lH(this)),n},h.gc=function(){return Rtt(this)},h.Nc=function(){return Ql(this),this.d.Nc()},h.Ib=function(){return Ql(this),xc(this.d)},I(dn,"AbstractMapBasedMultimap/WrappedCollection",551);var mf=ks(Lr,"List");D(744,551,{20:1,31:1,16:1,15:1},r5e),h.jd=function(t){$m(this,t)},h.Nc=function(){return Ql(this),this.d.Nc()},h.bd=function(t,n){var r;Ql(this),r=this.d.dc(),l(this.d,15).bd(t,n),++this.a.d,r&&DO(this)},h.cd=function(t,n){var r,a,o;return n.dc()?!1:(o=(Ql(this),this.d.gc()),r=l(this.d,15).cd(t,n),r&&(a=this.d.gc(),this.a.d+=a-o,o==0&&DO(this)),r)},h.Xb=function(t){return Ql(this),l(this.d,15).Xb(t)},h.dd=function(t){return Ql(this),l(this.d,15).dd(t)},h.ed=function(){return Ql(this),new gnt(this)},h.fd=function(t){return Ql(this),new Fat(this,t)},h.gd=function(t){var n;return Ql(this),n=l(this.d,15).gd(t),--this.a.d,lH(this),n},h.hd=function(t,n){return Ql(this),l(this.d,15).hd(t,n)},h.kd=function(t,n){return Ql(this),_ct(this.a,this.e,l(this.d,15).kd(t,n),this.b?this.b:this)},I(dn,"AbstractMapBasedMultimap/WrappedList",744),D(1126,744,{20:1,31:1,16:1,15:1,59:1},rrt),I(dn,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),D(628,1,Oa,_4e),h.Nb=function(t){Za(this,t)},h.Ob=function(){return Yk(this),this.b.Ob()},h.Pb=function(){return Yk(this),this.b.Pb()},h.Qb=function(){znt(this)},I(dn,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),D(745,628,lg,gnt,Fat),h.Qb=function(){znt(this)},h.Rb=function(t){var n;n=Rtt(this.a)==0,(Yk(this),l(this.b,128)).Rb(t),++this.a.a.d,n&&DO(this.a)},h.Sb=function(){return(Yk(this),l(this.b,128)).Sb()},h.Tb=function(){return(Yk(this),l(this.b,128)).Tb()},h.Ub=function(){return(Yk(this),l(this.b,128)).Ub()},h.Vb=function(){return(Yk(this),l(this.b,128)).Vb()},h.Wb=function(t){(Yk(this),l(this.b,128)).Wb(t)},I(dn,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),D(743,551,Lwt,Gye),h.Nc=function(){return Ql(this),this.d.Nc()},I(dn,"AbstractMapBasedMultimap/WrappedSortedSet",743),D(1125,743,eEe,unt),I(dn,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),D(1124,551,Tl,Trt),h.Nc=function(){return Ql(this),this.d.Nc()},I(dn,"AbstractMapBasedMultimap/WrappedSet",1124),D(1133,1,{},P),h.Kb=function(t){return cvn(l(t,44))},I(dn,"AbstractMapBasedMultimap/lambda$1$Type",1133),D(1132,1,{},bie),h.Kb=function(t){return new iw(this.a,t)},I(dn,"AbstractMapBasedMultimap/lambda$2$Type",1132);var uv=ks(Lr,"Map/Entry");D(358,1,Nle),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),yd(this.ld(),n.ld())&&yd(this.md(),n.md())):!1},h.Hb=function(){var t,n;return t=this.ld(),n=this.md(),(t==null?0:es(t))^(n==null?0:es(n))},h.nd=function(t){throw ue(new Qr)},h.Ib=function(){return this.ld()+"="+this.md()},I(dn,Mwt,358),D(2086,31,Wy),h.$b=function(){this.od().$b()},h.Hc=function(t){var n;return De(t,44)?(n=l(t,44),Lbn(this.od(),n.ld(),n.md())):!1},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),cct(this.od(),n.ld(),n.md())):!1},h.gc=function(){return this.od().d},I(dn,"Multimaps/Entries",2086),D(749,2086,Wy,vz),h.Kc=function(){return this.a.kc()},h.od=function(){return this.a},h.Nc=function(){return this.a.lc()},I(dn,"AbstractMultimap/Entries",749),D(750,749,Tl,Uwe),h.Nc=function(){return this.a.lc()},h.Fb=function(t){return Qxe(this,t)},h.Hb=function(){return wft(this)},I(dn,"AbstractMultimap/EntrySet",750),D(751,31,Wy,Q2),h.$b=function(){this.a.$b()},h.Hc=function(t){return _yn(this.a,t)},h.Kc=function(){return this.a.nc()},h.gc=function(){return this.a.d},h.Nc=function(){return this.a.oc()},I(dn,"AbstractMultimap/Values",751),D(2087,31,{849:1,20:1,31:1,16:1}),h.Jc=function(t){Xr(t),V5(this).Jc(new kie(t))},h.Nc=function(){var t;return t=V5(this).Nc(),Iue(t,new pe,64|t.yd()&1296,this.a.d)},h.Fc=function(t){return Zwe(),!0},h.Gc=function(t){return Xr(this),Xr(t),De(t,552)?Ibn(l(t,849)):!t.dc()&&Goe(this,t.Kc())},h.Hc=function(t){var n;return n=l(Oy(ex(this.a),t),16),(n?n.gc():0)>0},h.Fb=function(t){return eTn(this,t)},h.Hb=function(){return es(V5(this))},h.dc=function(){return V5(this).dc()},h.Mc=function(t){return Upt(this,t,1)>0},h.Ib=function(){return xc(V5(this))},I(dn,"AbstractMultiset",2087),D(2089,2068,Tl),h.$b=function(){mV(this.a.a)},h.Hc=function(t){var n,r;return De(t,504)?(r=l(t,425),l(r.a.md(),16).gc()<=0?!1:(n=Pot(this.a,r.a.ld()),n==l(r.a.md(),16).gc())):!1},h.Mc=function(t){var n,r,a,o;return De(t,504)&&(r=l(t,425),n=r.a.ld(),a=l(r.a.md(),16).gc(),a!=0)?(o=this.a,Vkn(o,n,a)):!1},I(dn,"Multisets/EntrySet",2089),D(1139,2089,Tl,mie),h.Kc=function(){return new AJe(Est(ex(this.a.a)).Kc())},h.gc=function(){return ex(this.a.a).gc()},I(dn,"AbstractMultiset/EntrySet",1139),D(627,742,Jm),h.hc=function(){return this.pd()},h.jc=function(){return this.qd()},h.cc=function(t){return this.rd(t)},h.fc=function(t){return this.sd(t)},h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.qd=function(){return Cn(),Cn(),hK},h.Fb=function(t){return Ece(this,t)},h.rd=function(t){return l($i(this,t),21)},h.sd=function(t){return l(DN(this,t),21)},h.mc=function(t){return Cn(),new Ek(l(t,21))},h.pc=function(t,n){return new Trt(this,t,l(n,21))},I(dn,"AbstractSetMultimap",627),D(1723,627,Jm),h.hc=function(){return new Kp(this.b)},h.pd=function(){return new Kp(this.b)},h.jc=function(){return T5e(new Kp(this.b))},h.qd=function(){return T5e(new Kp(this.b))},h.cc=function(t){return l(l($i(this,t),21),87)},h.rd=function(t){return l(l($i(this,t),21),87)},h.fc=function(t){return l(l(DN(this,t),21),87)},h.sd=function(t){return l(l(DN(this,t),21),87)},h.mc=function(t){return De(t,277)?T5e(l(t,277)):(Cn(),new Dye(l(t,87)))},h.Zb=function(){var t;return t=this.f,t||(this.f=De(this.c,139)?new q_(this,l(this.c,139)):De(this.c,133)?new _O(this,l(this.c,133)):new Lk(this,this.c))},h.pc=function(t,n){return De(n,277)?new unt(this,t,l(n,277)):new Gye(this,t,l(n,87))},I(dn,"AbstractSortedSetMultimap",1723),D(1724,1723,Jm),h.Zb=function(){var t;return t=this.f,l(l(t||(this.f=De(this.c,139)?new q_(this,l(this.c,139)):De(this.c,133)?new _O(this,l(this.c,133)):new Lk(this,this.c)),133),139)},h.ec=function(){var t;return t=this.i,l(l(t||(this.i=De(this.c,139)?new Ak(this,l(this.c,139)):De(this.c,133)?new tO(this,l(this.c,133)):new q5(this,this.c)),87),277)},h.bc=function(){return De(this.c,139)?new Ak(this,l(this.c,139)):De(this.c,133)?new tO(this,l(this.c,133)):new q5(this,this.c)},I(dn,"AbstractSortedKeySortedSetMultimap",1724),D(2109,1,{2046:1}),h.Fb=function(t){return C8n(this,t)},h.Hb=function(){var t;return I7e((t=this.g,t||(this.g=new $I(this))))},h.Ib=function(){var t;return Igt((t=this.f,t||(this.f=new _ye(this))))},I(dn,"AbstractTable",2109),D(679,q1,Tl,$I),h.$b=function(){$Je()},h.Hc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(Oy(Kst(this.a),ab(n.c.e,n.b)),85),!!r&&s8e(r.vc(),new iw(ab(n.c.c,n.a),ox(n.c,n.b,n.a)))):!1},h.Kc=function(){return Lpn(this.a)},h.Mc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(Oy(Kst(this.a),ab(n.c.e,n.b)),85),!!r&&a4n(r.vc(),new iw(ab(n.c.c,n.a),ox(n.c,n.b,n.a)))):!1},h.gc=function(){return Xit(this.a)},h.Nc=function(){return Pbn(this.a)},I(dn,"AbstractTable/CellSet",679),D(2025,31,Wy,wie),h.$b=function(){$Je()},h.Hc=function(t){return mxn(this.a,t)},h.Kc=function(){return Mpn(this.a)},h.gc=function(){return Xit(this.a)},h.Nc=function(){return oct(this.a)},I(dn,"AbstractTable/Values",2025),D(1697,1696,Jm),I(dn,"ArrayListMultimapGwtSerializationDependencies",1697),D(520,1697,Jm,nse,G5e),h.hc=function(){return new Bu(this.a)},h.a=0,I(dn,"ArrayListMultimap",520),D(678,2109,{678:1,2046:1,3:1},i2t),I(dn,"ArrayTable",678),D(2021,399,tT,qnt),h.Xb=function(t){return new F7e(this.a,t)},I(dn,"ArrayTable/1",2021),D(2022,1,{},gie),h.td=function(t){return new F7e(this.a,t)},I(dn,"ArrayTable/1methodref$getCell$Type",2022),D(2110,1,{697:1}),h.Fb=function(t){var n;return t===this?!0:De(t,479)?(n=l(t,697),yd(ab(this.c.e,this.b),ab(n.c.e,n.b))&&yd(ab(this.c.c,this.a),ab(n.c.c,n.a))&&yd(ox(this.c,this.b,this.a),ox(n.c,n.b,n.a))):!1},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[ab(this.c.e,this.b),ab(this.c.c,this.a),ox(this.c,this.b,this.a)]))},h.Ib=function(){return"("+ab(this.c.e,this.b)+","+ab(this.c.c,this.a)+")="+ox(this.c,this.b,this.a)},I(dn,"Tables/AbstractCell",2110),D(479,2110,{479:1,697:1},F7e),h.a=0,h.b=0,h.d=0,I(dn,"ArrayTable/2",479),D(2024,1,{},pie),h.td=function(t){return Ilt(this.a,t)},I(dn,"ArrayTable/2methodref$getValue$Type",2024),D(2023,399,tT,Hnt),h.Xb=function(t){return Ilt(this.a,t)},I(dn,"ArrayTable/3",2023),D(2077,2065,Ww),h.$b=function(){iH(this.kc())},h.vc=function(){return new yz(this)},h.lc=function(){return new _at(this.kc(),this.gc())},I(dn,"Maps/IteratorBasedAbstractMap",2077),D(842,2077,Ww),h.$b=function(){throw ue(new Qr)},h._b=function(t){return sZe(this.c,t)},h.kc=function(){return new Vnt(this,this.c.b.c.gc())},h.lc=function(){return Cae(this.c.b.c.gc(),16,new mz(this))},h.xc=function(t){var n;return n=l(H_(this.c,t),17),n?this.vd(n.a):null},h.dc=function(){return this.c.b.c.dc()},h.ec=function(){return Oae(this.c)},h.zc=function(t,n){var r;if(r=l(H_(this.c,t),17),!r)throw ue(new Yn(this.ud()+" "+t+" not in "+Oae(this.c)));return this.wd(r.a,n)},h.Bc=function(t){throw ue(new Qr)},h.gc=function(){return this.c.b.c.gc()},I(dn,"ArrayTable/ArrayMap",842),D(2020,1,{},mz),h.td=function(t){return Yst(this.a,t)},I(dn,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),D(2018,358,Nle,DZe),h.ld=function(){return Hhn(this.a,this.b)},h.md=function(){return this.a.vd(this.b)},h.nd=function(t){return this.a.wd(this.b,t)},h.b=0,I(dn,"ArrayTable/ArrayMap/1",2018),D(2019,399,tT,Vnt),h.Xb=function(t){return Yst(this.a,t)},I(dn,"ArrayTable/ArrayMap/2",2019),D(2017,842,Ww,Bst),h.ud=function(){return"Column"},h.vd=function(t){return ox(this.b,this.a,t)},h.wd=function(t,n){return s0t(this.b,this.a,t,n)},h.a=0,I(dn,"ArrayTable/Row",2017),D(843,842,Ww,_ye),h.vd=function(t){return new Bst(this.a,t)},h.zc=function(t,n){return l(n,85),lun()},h.wd=function(t,n){return l(n,85),hun()},h.ud=function(){return"Row"},I(dn,"ArrayTable/RowMap",843),D(1157,1,Ph,IZe),h.Ad=function(t){return(this.a.yd()&-262&t)!=0},h.yd=function(){return this.a.yd()&-262},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Nb(new NZe(t,this.b))},h.Bd=function(t){return this.a.Bd(new OZe(t,this.b))},I(dn,"CollectSpliterators/1",1157),D(1158,1,fr,OZe),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(dn,"CollectSpliterators/1/lambda$0$Type",1158),D(1159,1,fr,NZe),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(dn,"CollectSpliterators/1/lambda$1$Type",1159),D(1154,1,Ph,sit),h.Ad=function(t){return((16464|this.b)&t)!=0},h.yd=function(){return 16464|this.b},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Qe(new BZe(t,this.c))},h.Bd=function(t){return this.a.Re(new PZe(t,this.c))},h.b=0,I(dn,"CollectSpliterators/1WithCharacteristics",1154),D(1155,1,kP,PZe),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(dn,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),D(1156,1,kP,BZe),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(dn,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),D(1150,1,Ph),h.Ad=function(t){return(this.a&t)!=0},h.yd=function(){return this.a},h.zd=function(){return this.e&&(this.b=pye(this.b,this.e.zd())),pye(this.b,0)},h.Nb=function(t){this.e&&(this.e.Nb(t),this.e=null),this.c.Nb(new FZe(this,t)),this.b=0},h.Bd=function(t){for(;;){if(this.e&&this.e.Bd(t))return I_(this.b,EP)&&(this.b=Df(this.b,1)),!0;if(this.e=null,!this.c.Bd(new yie(this)))return!1}},h.a=0,h.b=0,I(dn,"CollectSpliterators/FlatMapSpliterator",1150),D(1152,1,fr,yie),h.Cd=function(t){zfn(this.a,t)},I(dn,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),D(1153,1,fr,FZe),h.Cd=function(t){fpn(this.a,this.b,t)},I(dn,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),D(1151,1150,Ph,Cct),I(dn,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),D(253,1,Ple),h.Fd=function(t){return this.Ed(l(t,253))},h.Ed=function(t){var n;return t==(Gie(),y0e)?1:t==(Uie(),w0e)?-1:(n=(Zq(),vN(this.a,t.a)),n!=0?n:De(this,526)==De(t,526)?0:De(this,526)?1:-1)},h.Id=function(){return this.a},h.Fb=function(t){return rxe(this,t)},I(dn,"Cut",253),D(1823,253,Ple,xJe),h.Ed=function(t){return t==this?0:1},h.Gd=function(t){throw ue(new Swe)},h.Hd=function(t){t.a+="+∞)"},h.Id=function(){throw ue(new nc(Iwt))},h.Hb=function(){return Vg(),q8e(this)},h.Jd=function(t){return!1},h.Ib=function(){return"+∞"};var w0e;I(dn,"Cut/AboveAll",1823),D(526,253,{253:1,526:1,3:1,34:1},Xnt),h.Gd=function(t){wu((t.a+="(",t),this.a)},h.Hd=function(t){hb(wu(t,this.a),93)},h.Hb=function(){return~es(this.a)},h.Jd=function(t){return Zq(),vN(this.a,t)<0},h.Ib=function(){return"/"+this.a+"\\"},I(dn,"Cut/AboveValue",526),D(1822,253,Ple,yJe),h.Ed=function(t){return t==this?0:-1},h.Gd=function(t){t.a+="(-∞"},h.Hd=function(t){throw ue(new Swe)},h.Id=function(){throw ue(new nc(Iwt))},h.Hb=function(){return Vg(),q8e(this)},h.Jd=function(t){return!0},h.Ib=function(){return"-∞"};var y0e;I(dn,"Cut/BelowAll",1822),D(1824,253,Ple,Qnt),h.Gd=function(t){wu((t.a+="[",t),this.a)},h.Hd=function(t){hb(wu(t,this.a),41)},h.Hb=function(){return es(this.a)},h.Jd=function(t){return Zq(),vN(this.a,t)<=0},h.Ib=function(){return"\\"+this.a+"/"},I(dn,"Cut/BelowValue",1824),D(547,1,hg),h.Jc=function(t){to(this,t)},h.Ib=function(){return _4n(l(_H(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},I(dn,"FluentIterable",547),D(442,547,hg,P_),h.Kc=function(){return new hr(dr(this.a.Kc(),new j))},I(dn,"FluentIterable/2",442),D(1059,547,hg,snt),h.Kc=function(){return rg(this)},I(dn,"FluentIterable/3",1059),D(724,399,tT,Aye),h.Xb=function(t){return this.a[t].Kc()},I(dn,"FluentIterable/3/1",724),D(2070,1,{}),h.Ib=function(){return xc(this.Kd().b)},I(dn,"ForwardingObject",2070),D(2071,2070,Owt),h.Kd=function(){return this.Ld()},h.Jc=function(t){to(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new bn(null,this.Nc())},h.Fc=function(t){return this.Ld(),oZe()},h.Gc=function(t){return this.Ld(),cZe()},h.$b=function(){this.Ld(),uZe()},h.Hc=function(t){return this.Ld().Hc(t)},h.Ic=function(t){return this.Ld().Ic(t)},h.dc=function(){return this.Ld().b.dc()},h.Kc=function(){return this.Ld().Kc()},h.Mc=function(t){return this.Ld(),lZe()},h.gc=function(){return this.Ld().b.gc()},h.Pc=function(){return this.Ld().Pc()},h.Qc=function(t){return this.Ld().Qc(t)},I(dn,"ForwardingCollection",2071),D(2078,31,tEe),h.Kc=function(){return this.Od()},h.Fc=function(t){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.Md=function(){var t;return t=this.c,t||(this.c=this.Nd())},h.$b=function(){throw ue(new Qr)},h.Hc=function(t){return t!=null&&Ny(this,t,!1)},h.Nd=function(){switch(this.gc()){case 0:return ww(),ww(),x0e;case 1:return ww(),new Sae(Xr(this.Od().Pb()));default:return new o5e(this,this.Pc())}},h.Mc=function(t){throw ue(new Qr)},I(dn,"ImmutableCollection",2078),D(727,2078,tEe,Twe),h.Kc=function(){return cx(this.a.Kc())},h.Hc=function(t){return t!=null&&this.a.Hc(t)},h.Ic=function(t){return this.a.Ic(t)},h.dc=function(){return this.a.dc()},h.Od=function(){return cx(this.a.Kc())},h.gc=function(){return this.a.gc()},h.Pc=function(){return this.a.Pc()},h.Qc=function(t){return this.a.Qc(t)},h.Ib=function(){return xc(this.a)},I(dn,"ForwardingImmutableCollection",727),D(307,2078,nT),h.Kc=function(){return this.Od()},h.ed=function(){return this.Pd(0)},h.fd=function(t){return this.Pd(t)},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.kd=function(t,n){return this.Qd(t,n)},h.bd=function(t,n){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Md=function(){return this},h.Fb=function(t){return qEn(this,t)},h.Hb=function(){return B3n(this)},h.dd=function(t){return t==null?-1:s7n(this,t)},h.Od=function(){return this.Pd(0)},h.Pd=function(t){return iae(this,t)},h.gd=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},h.Qd=function(t,n){var r;return RV((r=new KZe(this),new Zp(r,t,n)))};var x0e;I(dn,"ImmutableList",307),D(2105,307,nT),h.Kc=function(){return cx(this.Rd().Kc())},h.kd=function(t,n){return RV(this.Rd().kd(t,n))},h.Hc=function(t){return t!=null&&this.Rd().Hc(t)},h.Ic=function(t){return this.Rd().Ic(t)},h.Fb=function(t){return Pi(this.Rd(),t)},h.Xb=function(t){return ab(this,t)},h.Hb=function(){return es(this.Rd())},h.dd=function(t){return this.Rd().dd(t)},h.dc=function(){return this.Rd().dc()},h.Od=function(){return cx(this.Rd().Kc())},h.gc=function(){return this.Rd().gc()},h.Qd=function(t,n){return RV(this.Rd().kd(t,n))},h.Pc=function(){return this.Rd().Qc(We(wa,Rn,1,this.Rd().gc(),5,1))},h.Qc=function(t){return this.Rd().Qc(t)},h.Ib=function(){return xc(this.Rd())},I(dn,"ForwardingImmutableList",2105),D(729,1,rT),h.vc=function(){return Mm(this)},h.wc=function(t){mA(this,t)},h.ec=function(){return Oae(this)},h.yc=function(t,n,r){return qce(this,t,n,r)},h.Cc=function(){return this.Vd()},h.$b=function(){throw ue(new Qr)},h._b=function(t){return this.xc(t)!=null},h.uc=function(t){return this.Vd().Hc(t)},h.Td=function(){return new LQe(this)},h.Ud=function(){return new MQe(this)},h.Fb=function(t){return Ayn(this,t)},h.Hb=function(){return Mm(this).Hb()},h.dc=function(){return this.gc()==0},h.zc=function(t,n){return uun()},h.Bc=function(t){throw ue(new Qr)},h.Ib=function(){return p9n(this)},h.Vd=function(){return this.e?this.e:this.e=this.Ud()},h.c=null,h.d=null,h.e=null;var i6t;I(dn,"ImmutableMap",729),D(730,729,rT),h._b=function(t){return sZe(this,t)},h.uc=function(t){return ZZe(this.b,t)},h.Sd=function(){return t1t(new vie(this))},h.Td=function(){return t1t(mat(this.b))},h.Ud=function(){return wd(),new Twe(bat(this.b))},h.Fb=function(t){return eet(this.b,t)},h.xc=function(t){return H_(this,t)},h.Hb=function(){return es(this.b.c)},h.dc=function(){return this.b.c.dc()},h.gc=function(){return this.b.c.gc()},h.Ib=function(){return xc(this.b.c)},I(dn,"ForwardingImmutableMap",730),D(2072,2071,Ble),h.Kd=function(){return this.Wd()},h.Ld=function(){return this.Wd()},h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return t===this||this.Wd().Fb(t)},h.Hb=function(){return this.Wd().Hb()},I(dn,"ForwardingSet",2072),D(1085,2072,Ble,vie),h.Kd=function(){return Kk(this.a.b)},h.Ld=function(){return Kk(this.a.b)},h.Hc=function(t){if(De(t,44)&&l(t,44).ld()==null)return!1;try{return JZe(Kk(this.a.b),t)}catch(n){if(n=bs(n),De(n,212))return!1;throw ue(n)}},h.Wd=function(){return Kk(this.a.b)},h.Qc=function(t){var n;return n=tot(Kk(this.a.b),t),Kk(this.a.b).b.gc()=0?"+":"")+(r/60|0),n=Iq(b.Math.abs(r)%60),(Vgt(),E6t)[this.q.getDay()]+" "+T6t[this.q.getMonth()]+" "+Iq(this.q.getDate())+" "+Iq(this.q.getHours())+":"+Iq(this.q.getMinutes())+":"+Iq(this.q.getSeconds())+" GMT"+t+n+" "+this.q.getFullYear()};var cK=I(Lr,"Date",206);D(2015,206,qwt,dgt),h.a=!1,h.b=0,h.c=0,h.d=0,h.e=0,h.f=0,h.g=!1,h.i=0,h.j=0,h.k=0,h.n=0,h.o=0,h.p=0,I("com.google.gwt.i18n.shared.impl","DateRecord",2015),D(2064,1,{}),h.pe=function(){return null},h.qe=function(){return null},h.re=function(){return null},h.se=function(){return null},h.te=function(){return null},I(Ax,"JSONValue",2064),D(221,2064,{221:1},$p,Sz),h.Fb=function(t){return De(t,221)?W5e(this.a,l(t,221).a):!1},h.oe=function(){return Ncn},h.Hb=function(){return F5e(this.a)},h.pe=function(){return this},h.Ib=function(){var t,n,r;for(r=new Th("["),n=0,t=this.a.length;n0&&(r.a+=","),wu(r,_y(this,n));return r.a+="]",r.a},I(Ax,"JSONArray",221),D(493,2064,{493:1},jc),h.oe=function(){return Pcn},h.qe=function(){return this},h.Ib=function(){return Hn(),""+this.a},h.a=!1;var h6t,f6t;I(Ax,"JSONBoolean",493),D(997,63,lp,LJe),I(Ax,"JSONException",997),D(1036,2064,{},W),h.oe=function(){return Bcn},h.Ib=function(){return ul};var d6t;I(Ax,"JSONNull",1036),D(263,2064,{263:1},vk),h.Fb=function(t){return De(t,263)?this.a==l(t,263).a:!1},h.oe=function(){return Icn},h.Hb=function(){return j8(this.a)},h.re=function(){return this},h.Ib=function(){return this.a+""},h.a=0,I(Ax,"JSONNumber",263),D(190,2064,{190:1},M8,wk),h.Fb=function(t){return De(t,190)?W5e(this.a,l(t,190).a):!1},h.oe=function(){return Ocn},h.Hb=function(){return F5e(this.a)},h.se=function(){return this},h.Ib=function(){var t,n,r,a,o,f,g;for(g=new Th("{"),t=!0,f=ace(this,We(zt,dt,2,0,6,1)),r=f,a=0,o=r.length;a=0?":"+this.c:"")+")"},h.c=0;var a_e=I(Vc,"StackTraceElement",319);r6t={3:1,484:1,34:1,2:1};var zt=I(Vc,nEe,2);D(111,427,{484:1},Up,h_,Af),I(Vc,"StringBuffer",111),D(104,427,{484:1},tb,S5,Th),I(Vc,"StringBuilder",104),D(702,77,she,e3e),I(Vc,"StringIndexOutOfBoundsException",702),D(2145,1,{});var m6t;D(48,63,{3:1,103:1,63:1,82:1,48:1},Qr,Hp),I(Vc,"UnsupportedOperationException",48),D(247,242,{3:1,34:1,242:1,247:1},NN,h3e),h.Fd=function(t){return Fmt(this,l(t,247))},h.ue=function(){return jy(hvt(this))},h.Fb=function(t){var n;return this===t?!0:De(t,247)?(n=l(t,247),this.e==n.e&&Fmt(this,n)==0):!1},h.Hb=function(){var t;return this.b!=0?this.b:this.a<54?(t=Zc(this.f),this.b=Yr(va(t,-1)),this.b=33*this.b+Yr(va(bw(t,32),-1)),this.b=17*this.b+ua(this.e),this.b):(this.b=17*X0t(this.c)+ua(this.e),this.b)},h.Ib=function(){return hvt(this)},h.a=0,h.b=0,h.d=0,h.e=0,h.f=0;var v6t,lv,o_e,c_e,u_e,l_e,h_e,f_e,L0e=I("java.math","BigDecimal",247);D(92,242,{3:1,34:1,242:1,92:1},Qg,qot,Im,Q1t,ob),h.Fd=function(t){return K1t(this,l(t,92))},h.ue=function(){return jy(Dle(this,0))},h.Fb=function(t){return C8e(this,t)},h.Hb=function(){return X0t(this)},h.Ib=function(){return Dle(this,0)},h.b=-2,h.c=0,h.d=0,h.e=0;var w6t,uK,y6t,M0e,lK,BL,A6=I("java.math","BigInteger",92),x6t,k6t,$x,FL;D(498,2065,Ww),h.$b=function(){Nl(this)},h._b=function(t){return Hu(this,t)},h.uc=function(t){return D0t(this,t,this.i)||D0t(this,t,this.f)},h.vc=function(){return new Sr(this)},h.xc=function(t){return cr(this,t)},h.zc=function(t,n){return ki(this,t,n)},h.Bc=function(t){return ax(this,t)},h.gc=function(){return d_(this)},h.g=0,I(Lr,"AbstractHashMap",498),D(267,q1,Tl,Sr),h.$b=function(){this.a.$b()},h.Hc=function(t){return vct(this,t)},h.Kc=function(){return new qm(this.a)},h.Mc=function(t){var n;return vct(this,t)?(n=l(t,44).ld(),this.a.Bc(n),!0):!1},h.gc=function(){return this.a.gc()},I(Lr,"AbstractHashMap/EntrySet",267),D(268,1,Oa,qm),h.Nb=function(t){Za(this,t)},h.Pb=function(){return Nw(this)},h.Ob=function(){return this.b},h.Qb=function(){Klt(this)},h.b=!1,h.d=0,I(Lr,"AbstractHashMap/EntrySetIterator",268),D(426,1,Oa,kr),h.Nb=function(t){Za(this,t)},h.Ob=function(){return lse(this)},h.Pb=function(){return I5e(this)},h.Qb=function(){ph(this)},h.b=0,h.c=-1,I(Lr,"AbstractList/IteratorImpl",426),D(98,426,lg,Ua),h.Qb=function(){ph(this)},h.Rb=function(t){by(this,t)},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Ub=function(){return mr(this.b>0),this.a.Xb(this.c=--this.b)},h.Vb=function(){return this.b-1},h.Wb=function(t){gy(this.c!=-1),this.a.hd(this.c,t)},I(Lr,"AbstractList/ListIteratorImpl",98),D(244,56,iT,Zp),h.bd=function(t,n){Ey(t,this.b),this.c.bd(this.a+t,n),++this.b},h.Xb=function(t){return Sn(t,this.b),this.c.Xb(this.a+t)},h.gd=function(t){var n;return Sn(t,this.b),n=this.c.gd(this.a+t),--this.b,n},h.hd=function(t,n){return Sn(t,this.b),this.c.hd(this.a+t,n)},h.gc=function(){return this.b},h.a=0,h.b=0,I(Lr,"AbstractList/SubList",244),D(266,q1,Tl,br),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new Mi(t)},h.Mc=function(t){return this.a._b(t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(Lr,"AbstractMap/1",266),D(541,1,Oa,Mi),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.ld()},h.Qb=function(){this.a.Qb()},I(Lr,"AbstractMap/1/1",541),D(231,31,Wy,gi),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a.uc(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new fs(t)},h.gc=function(){return this.a.gc()},I(Lr,"AbstractMap/2",231),D(301,1,Oa,fs),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.md()},h.Qb=function(){this.a.Qb()},I(Lr,"AbstractMap/2/1",301),D(494,1,{494:1,44:1}),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),Jc(this.d,n.ld())&&Jc(this.e,n.md())):!1},h.ld=function(){return this.d},h.md=function(){return this.e},h.Hb=function(){return R5(this.d)^R5(this.e)},h.nd=function(t){return Zye(this,t)},h.Ib=function(){return this.d+"="+this.e},I(Lr,"AbstractMap/AbstractEntry",494),D(397,494,{494:1,397:1,44:1},cq),I(Lr,"AbstractMap/SimpleEntry",397),D(2082,1,che),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),Jc(this.ld(),n.ld())&&Jc(this.md(),n.md())):!1},h.Hb=function(){return R5(this.ld())^R5(this.md())},h.Ib=function(){return this.ld()+"="+this.md()},I(Lr,Mwt,2082),D(2090,2065,Zke),h.Xc=function(t){return rse(this.Ee(t))},h.tc=function(t){return Tut(this,t)},h._b=function(t){return e4e(this,t)},h.vc=function(){return new Rs(this)},h.Tc=function(){return Rst(this.Ge())},h.Yc=function(t){return rse(this.He(t))},h.xc=function(t){var n;return n=t,hc(this.Fe(n))},h.$c=function(t){return rse(this.Ie(t))},h.ec=function(){return new Fs(this)},h.Vc=function(){return Rst(this.Je())},h._c=function(t){return rse(this.Ke(t))},I(Lr,"AbstractNavigableMap",2090),D(629,q1,Tl,Rs),h.Hc=function(t){return De(t,44)&&Tut(this.b,l(t,44))},h.Kc=function(){return this.b.De()},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),this.b.Le(n)):!1},h.gc=function(){return this.b.gc()},I(Lr,"AbstractNavigableMap/EntrySet",629),D(1146,q1,eEe,Fs),h.Nc=function(){return new aq(this)},h.$b=function(){this.a.$b()},h.Hc=function(t){return e4e(this.a,t)},h.Kc=function(){var t;return t=this.a.vc().b.De(),new xs(t)},h.Mc=function(t){return e4e(this.a,t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(Lr,"AbstractNavigableMap/NavigableKeySet",1146),D(1147,1,Oa,xs),h.Nb=function(t){Za(this,t)},h.Ob=function(){return lse(this.a.a)},h.Pb=function(){var t;return t=ort(this.a),t.ld()},h.Qb=function(){dit(this.a)},I(Lr,"AbstractNavigableMap/NavigableKeySet/1",1147),D(2103,31,Wy),h.Fc=function(t){return K8($E(this,t),aT),!0},h.Gc=function(t){return nr(t),BO(t!=this,"Can't add a queue to itself"),Ka(this,t)},h.$b=function(){for(;Koe(this)!=null;);},I(Lr,"AbstractQueue",2103),D(310,31,{4:1,20:1,31:1,16:1},z5,dct),h.Fc=function(t){return i6e(this,t),!0},h.$b=function(){l6e(this)},h.Hc=function(t){return Zft(new nA(this),t)},h.dc=function(){return l_(this)},h.Kc=function(){return new nA(this)},h.Mc=function(t){return m2n(new nA(this),t)},h.gc=function(){return this.c-this.b&this.a.length-1},h.Nc=function(){return new kn(this,272)},h.Qc=function(t){var n;return n=this.c-this.b&this.a.length-1,t.lengthn&&Ts(t,n,null),t},h.b=0,h.c=0,I(Lr,"ArrayDeque",310),D(459,1,Oa,nA),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.a!=this.b},h.Pb=function(){return FV(this)},h.Qb=function(){Yht(this)},h.a=0,h.b=0,h.c=-1,I(Lr,"ArrayDeque/IteratorImpl",459),D(13,56,Uwt,bt,Bu,Ol),h.bd=function(t,n){pw(this,t,n)},h.Fc=function(t){return vt(this,t)},h.cd=function(t,n){return Q7e(this,t,n)},h.Gc=function(t){return ra(this,t)},h.$b=function(){ay(this.c,0)},h.Hc=function(t){return gc(this,t,0)!=-1},h.Jc=function(t){Vu(this,t)},h.Xb=function(t){return jt(this,t)},h.dd=function(t){return gc(this,t,0)},h.dc=function(){return this.c.length==0},h.Kc=function(){return new G(this)},h.gd=function(t){return t2(this,t)},h.Mc=function(t){return al(this,t)},h.ce=function(t,n){Bot(this,t,n)},h.hd=function(t,n){return rf(this,t,n)},h.gc=function(){return this.c.length},h.jd=function(t){Vs(this,t)},h.Pc=function(){return eH(this.c)},h.Qc=function(t){return j1(this,t)};var aOn=I(Lr,"ArrayList",13);D(7,1,Oa,G),h.Nb=function(t){Za(this,t)},h.Ob=function(){return Lc(this)},h.Pb=function(){return re(this)},h.Qb=function(){Q_(this)},h.a=0,h.b=-1,I(Lr,"ArrayList/1",7),D(2112,b.Function,{},Pe),h.Me=function(t,n){return Yi(t,n)},D(151,56,Gwt,Il),h.Hc=function(t){return Xht(this,t)!=-1},h.Jc=function(t){var n,r,a,o;for(nr(t),r=this.a,a=0,o=r.length;a0)throw ue(new Yn(lEe+t+" greater than "+this.e));return this.f.Te()?sot(this.c,this.b,this.a,t,n):Fot(this.c,t,n)},h.zc=function(t,n){if(!xue(this.c,this.f,t,this.b,this.a,this.e,this.d))throw ue(new Yn(t+" outside the range "+this.b+" to "+this.e));return b0t(this.c,t,n)},h.Bc=function(t){var n;return n=t,xue(this.c,this.f,n,this.b,this.a,this.e,this.d)?aot(this.c,n):null},h.Le=function(t){return yH(this,t.ld())&&L6e(this.c,t)},h.gc=function(){var t,n,r;if(this.f.Te()?this.a?n=OE(this.c,this.b,!0):n=OE(this.c,this.b,!1):n=j6e(this.c),!(n&&yH(this,n.d)&&n))return 0;for(t=0,r=new oce(this.c,this.f,this.b,this.a,this.e,this.d);lse(r.a);r.b=l(I5e(r.a),44))++t;return t},h.ad=function(t,n){if(this.f.Te()&&this.c.a.Ne(t,this.b)<0)throw ue(new Yn(lEe+t+Ywt+this.b));return this.f.Ue()?sot(this.c,t,n,this.e,this.d):Rot(this.c,t,n)},h.a=!1,h.d=!1,I(Lr,"TreeMap/SubMap",631),D(304,22,fhe,oq),h.Te=function(){return!1},h.Ue=function(){return!1};var O0e,N0e,P0e,B0e,fK=Fr(Lr,"TreeMap/SubMapType",304,Hr,Vbn,e0n);D(1143,304,fhe,hnt),h.Ue=function(){return!0},Fr(Lr,"TreeMap/SubMapType/1",1143,fK,null,null),D(1144,304,fhe,ynt),h.Te=function(){return!0},h.Ue=function(){return!0},Fr(Lr,"TreeMap/SubMapType/2",1144,fK,null,null),D(1145,304,fhe,lnt),h.Te=function(){return!0},Fr(Lr,"TreeMap/SubMapType/3",1145,fK,null,null);var M6t;D(157,q1,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},Lwe,Kp,ba),h.Nc=function(){return new aq(this)},h.Fc=function(t){return jO(this,t)},h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){return this.a.ec().Kc()},h.Mc=function(t){return tae(this,t)},h.gc=function(){return this.a.gc()};var fOn=I(Lr,"TreeSet",157);D(1082,1,{},xo),h.Ve=function(t,n){return mfn(this.a,t,n)},I(dhe,"BinaryOperator/lambda$0$Type",1082),D(1083,1,{},lh),h.Ve=function(t,n){return vfn(this.a,t,n)},I(dhe,"BinaryOperator/lambda$1$Type",1083),D(952,1,{},Pt),h.Kb=function(t){return t},I(dhe,"Function/lambda$0$Type",952),D(395,1,ti,Wl),h.Mb=function(t){return!this.a.Mb(t)},I(dhe,"Predicate/lambda$2$Type",395),D(581,1,{581:1});var D6t=I(aL,"Handler",581);D(2107,1,yP),h.xe=function(){return"DUMMY"},h.Ib=function(){return this.xe()};var w_e;I(aL,"Level",2107),D(1706,2107,yP,Qe),h.xe=function(){return"INFO"},I(aL,"Level/LevelInfo",1706),D(1843,1,{},FQe);var F0e;I(aL,"LogManager",1843),D(1896,1,yP,fit),h.b=null,I(aL,"LogRecord",1896),D(525,1,{525:1},Soe),h.e=!1;var I6t=!1,O6t=!1,G1=!1,N6t=!1,P6t=!1;I(aL,"Logger",525),D(835,581,{581:1},Dt),I(aL,"SimpleConsoleLogHandler",835),D(108,22,{3:1,34:1,22:1,108:1},dse);var y_e,Ec,i4,oc=Fr(sa,"Collector/Characteristics",108,Hr,D2n,t0n),B6t;D(758,1,{},h5e),I(sa,"CollectorImpl",758),D(1074,1,{},kt),h.Ve=function(t,n){return h4n(l(t,213),l(n,213))},I(sa,"Collectors/10methodref$merge$Type",1074),D(1075,1,{},On),h.Kb=function(t){return gct(l(t,213))},I(sa,"Collectors/11methodref$toString$Type",1075),D(1076,1,{},Z2),h.Kb=function(t){return Hn(),!!sye(t)},I(sa,"Collectors/12methodref$test$Type",1076),D(144,1,{},ht),h.Yd=function(t,n){l(t,16).Fc(n)},I(sa,"Collectors/20methodref$add$Type",144),D(146,1,{},zr),h.Xe=function(){return new bt},I(sa,"Collectors/21methodref$ctor$Type",146),D(359,1,{},yt),h.Xe=function(){return new Ks},I(sa,"Collectors/23methodref$ctor$Type",359),D(360,1,{},ji),h.Yd=function(t,n){na(l(t,49),n)},I(sa,"Collectors/24methodref$add$Type",360),D(1069,1,{},xi),h.Ve=function(t,n){return ret(l(t,15),l(n,16))},I(sa,"Collectors/4methodref$addAll$Type",1069),D(1073,1,{},Ma),h.Yd=function(t,n){Jg(l(t,213),l(n,484))},I(sa,"Collectors/9methodref$add$Type",1073),D(1072,1,{},Lit),h.Xe=function(){return new Hm(this.a,this.b,this.c)},I(sa,"Collectors/lambda$15$Type",1072),D(1077,1,{},zs),h.Xe=function(){var t;return t=new e2,h2(t,(Hn(),!1),new bt),h2(t,!0,new bt),t},I(sa,"Collectors/lambda$22$Type",1077),D(1078,1,{},eb),h.Xe=function(){return he(le(wa,1),Rn,1,5,[this.a])},I(sa,"Collectors/lambda$25$Type",1078),D(1079,1,{},G0),h.Yd=function(t,n){Fdn(this.a,jm(t))},I(sa,"Collectors/lambda$26$Type",1079),D(1080,1,{},zp),h.Ve=function(t,n){return hgn(this.a,jm(t),jm(n))},I(sa,"Collectors/lambda$27$Type",1080),D(1081,1,{},ao),h.Kb=function(t){return jm(t)[0]},I(sa,"Collectors/lambda$28$Type",1081),D(728,1,{},Tr),h.Ve=function(t,n){return U4e(t,n)},I(sa,"Collectors/lambda$4$Type",728),D(145,1,{},Fn),h.Ve=function(t,n){return Gun(l(t,16),l(n,16))},I(sa,"Collectors/lambda$42$Type",145),D(361,1,{},qn),h.Ve=function(t,n){return Kun(l(t,49),l(n,49))},I(sa,"Collectors/lambda$50$Type",361),D(362,1,{},Un),h.Kb=function(t){return l(t,49)},I(sa,"Collectors/lambda$51$Type",362),D(1068,1,{},fd),h.Yd=function(t,n){myn(this.a,l(t,85),n)},I(sa,"Collectors/lambda$7$Type",1068),D(1070,1,{},At),h.Ve=function(t,n){return K3n(l(t,85),l(n,85),new xi)},I(sa,"Collectors/lambda$8$Type",1070),D(1071,1,{},Wv),h.Kb=function(t){return V4n(this.a,l(t,85))},I(sa,"Collectors/lambda$9$Type",1071),D(550,1,{}),h.$e=function(){tA(this)},h.d=!1,I(sa,"TerminatableStream",550),D(827,550,hEe,Vye),h.$e=function(){tA(this)},I(sa,"DoubleStreamImpl",827),D(1847,736,Ph,Mit),h.Re=function(t){return K6n(this,l(t,189))},h.a=null,I(sa,"DoubleStreamImpl/2",1847),D(1848,1,LP,sy),h.Pe=function(t){$ln(this.a,t)},I(sa,"DoubleStreamImpl/2/lambda$0$Type",1848),D(1845,1,LP,E8),h.Pe=function(t){jln(this.a,t)},I(sa,"DoubleStreamImpl/lambda$0$Type",1845),D(1846,1,LP,x5),h.Pe=function(t){M1t(this.a,t)},I(sa,"DoubleStreamImpl/lambda$2$Type",1846),D(1397,735,Ph,wut),h.Re=function(t){return Obn(this,l(t,202))},h.a=0,h.b=0,h.c=0,I(sa,"IntStream/5",1397),D(806,550,hEe,Uye),h.$e=function(){tA(this)},h._e=function(){return fb(this),this.a},I(sa,"IntStreamImpl",806),D(807,550,hEe,b3e),h.$e=function(){tA(this)},h._e=function(){return fb(this),Sye(),L6t},I(sa,"IntStreamImpl/Empty",807),D(1687,1,kP,T8),h.Dd=function(t){$ft(this.a,t)},I(sa,"IntStreamImpl/lambda$4$Type",1687);var dOn=ks(sa,"Stream");D(26,550,{533:1,687:1,848:1},bn),h.$e=function(){tA(this)};var zx;I(sa,"StreamImpl",26),D(1102,500,Ph,iit),h.Bd=function(t){for(;Bvn(this);){if(this.a.Bd(t))return!0;tA(this.b),this.b=null,this.a=null}return!1},I(sa,"StreamImpl/1",1102),D(1103,1,fr,ZS),h.Cd=function(t){udn(this.a,l(t,848))},I(sa,"StreamImpl/1/lambda$0$Type",1103),D(1104,1,ti,k5),h.Mb=function(t){return na(this.a,t)},I(sa,"StreamImpl/1methodref$add$Type",1104),D(1105,500,Ph,Rat),h.Bd=function(t){var n;return this.a||(n=new bt,this.b.a.Nb(new Qd(n)),Cn(),Vs(n,this.c),this.a=new kn(n,16)),xht(this.a,t)},h.a=null,I(sa,"StreamImpl/5",1105),D(1106,1,fr,Qd),h.Cd=function(t){vt(this.a,t)},I(sa,"StreamImpl/5/2methodref$add$Type",1106),D(737,500,Ph,$6e),h.Bd=function(t){for(this.b=!1;!this.b&&this.c.Bd(new xet(this,t)););return this.b},h.b=!1,I(sa,"StreamImpl/FilterSpliterator",737),D(1096,1,fr,xet),h.Cd=function(t){sgn(this.a,this.b,t)},I(sa,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),D(1091,736,Ph,Mut),h.Re=function(t){return jfn(this,l(t,189))},I(sa,"StreamImpl/MapToDoubleSpliterator",1091),D(1095,1,fr,ket),h.Cd=function(t){uln(this.a,this.b,t)},I(sa,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),D(1090,735,Ph,Dut),h.Re=function(t){return $fn(this,l(t,202))},I(sa,"StreamImpl/MapToIntSpliterator",1090),D(1094,1,fr,Eet),h.Cd=function(t){lln(this.a,this.b,t)},I(sa,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),D(734,500,Ph,C6e),h.Bd=function(t){return tit(this,t)},I(sa,"StreamImpl/MapToObjSpliterator",734),D(1093,1,fr,Tet),h.Cd=function(t){hln(this.a,this.b,t)},I(sa,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),D(1092,500,Ph,aft),h.Bd=function(t){for(;hse(this.b,0);){if(!this.a.Bd(new wt))return!1;this.b=Df(this.b,1)}return this.a.Bd(t)},h.b=0,I(sa,"StreamImpl/SkipSpliterator",1092),D(1097,1,fr,wt),h.Cd=function(t){},I(sa,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),D(626,1,fr,on),h.Cd=function(t){Eie(this,t)},I(sa,"StreamImpl/ValueConsumer",626),D(1098,1,fr,fn),h.Cd=function(t){Am()},I(sa,"StreamImpl/lambda$0$Type",1098),D(1099,1,fr,An),h.Cd=function(t){Am()},I(sa,"StreamImpl/lambda$1$Type",1099),D(1100,1,{},_1),h.Ve=function(t,n){return v0n(this.a,t,n)},I(sa,"StreamImpl/lambda$4$Type",1100),D(1101,1,fr,Cet),h.Cd=function(t){Tfn(this.b,this.a,t)},I(sa,"StreamImpl/lambda$5$Type",1101),D(1107,1,fr,Jd),h.Cd=function(t){P3n(this.a,l(t,380))},I(sa,"TerminatableStream/lambda$0$Type",1107),D(2142,1,{}),D(2014,1,{},oo),I("javaemul.internal","ConsoleLogger",2014);var gOn=0;D(2134,1,{}),D(1830,1,fr,jo),h.Cd=function(t){l(t,317)},I(oT,"BowyerWatsonTriangulation/lambda$0$Type",1830),D(1831,1,fr,Em),h.Cd=function(t){Ka(this.a,l(t,317).e)},I(oT,"BowyerWatsonTriangulation/lambda$1$Type",1831),D(1832,1,fr,$o),h.Cd=function(t){l(t,177)},I(oT,"BowyerWatsonTriangulation/lambda$2$Type",1832),D(1827,1,ii,Lz),h.Ne=function(t,n){return vmn(this.a,l(t,177),l(n,177))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(oT,"NaiveMinST/lambda$0$Type",1827),D(449,1,{},Yv),I(oT,"NodeMicroLayout",449),D(177,1,{177:1},B8),h.Fb=function(t){var n;return De(t,177)?(n=l(t,177),Jc(this.a,n.a)&&Jc(this.b,n.b)||Jc(this.a,n.b)&&Jc(this.b,n.a)):!1},h.Hb=function(){return R5(this.a)+R5(this.b)};var pOn=I(oT,"TEdge",177);D(317,1,{317:1},Cke),h.Fb=function(t){var n;return De(t,317)?(n=l(t,317),rV(this,n.a)&&rV(this,n.b)&&rV(this,n.c)):!1},h.Hb=function(){return R5(this.a)+R5(this.b)+R5(this.c)},I(oT,"TTriangle",317),D(225,1,{225:1},Nq),I(oT,"Tree",225),D(1218,1,{},Eot),I(Jwt,"Scanline",1218);var F6t=ks(Jwt,Zwt);D(1758,1,{},vht),I(gg,"CGraph",1758),D(316,1,{316:1},Sot),h.b=0,h.c=0,h.d=0,h.g=0,h.i=0,h.k=ia,I(gg,"CGroup",316),D(830,1,{},Iwe),I(gg,"CGroup/CGroupBuilder",830),D(60,1,{60:1},Rrt),h.Ib=function(){var t;return this.j?ei(this.j.Kb(this)):(Gg(dK),dK.o+"@"+(t=fw(this)>>>0,t.toString(16)))},h.f=0,h.i=ia;var dK=I(gg,"CNode",60);D(829,1,{},Owe),I(gg,"CNode/CNodeBuilder",829);var R6t;D(1590,1,{},Pa),h.ff=function(t,n){return 0},h.gf=function(t,n){return 0},I(gg,t3t,1590),D(1853,1,{},wo),h.cf=function(t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;for(C=gs,a=new G(t.a.b);a.aa.d.c||a.d.c==f.d.c&&a.d.b0?t+this.n.d+this.n.a:0},h.kf=function(){var t,n,r,a,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].kf());else if(this.g)o=E8e(this,Eue(this,null,!0));else for(n=(t1(),he(le(s4,1),it,237,0,[Gc,$u,Kc])),r=0,a=n.length;r0?o+this.n.b+this.n.c:0},h.lf=function(){var t,n,r,a,o;if(this.g)for(t=Eue(this,null,!1),r=(t1(),he(le(s4,1),it,237,0,[Gc,$u,Kc])),a=0,o=r.length;a0&&(a[0]+=this.d,r-=a[0]),a[2]>0&&(a[2]+=this.d,r-=a[2]),this.c.a=b.Math.max(0,r),this.c.d=n.d+t.d+(this.c.a-r)/2,a[1]=b.Math.max(a[1],r),x6e(this,$u,n.d+t.d+a[0]-(a[1]-r)/2,a)},h.b=null,h.d=0,h.e=!1,h.f=!1,h.g=!1;var q0e=0,gK=0;I(ev,"GridContainerCell",1538),D(471,22,{3:1,34:1,22:1,471:1},pse);var Bb,Fd,v0,W6t=Fr(ev,"HorizontalLabelAlignment",471,Hr,O2n,a0n),Y6t;D(314,217,{217:1,314:1},uot,yht,not),h.jf=function(){return Hit(this)},h.kf=function(){return j4e(this)},h.a=0,h.c=!1;var bOn=I(ev,"LabelCell",314);D(252,336,{217:1,336:1,252:1},DA),h.jf=function(){return tP(this)},h.kf=function(){return nP(this)},h.lf=function(){hle(this)},h.mf=function(){fle(this)},h.b=0,h.c=0,h.d=!1,I(ev,"StripContainerCell",252),D(1691,1,ti,Xc),h.Mb=function(t){return aun(l(t,217))},I(ev,"StripContainerCell/lambda$0$Type",1691),D(1692,1,{},Bc),h.Ye=function(t){return l(t,217).kf()},I(ev,"StripContainerCell/lambda$1$Type",1692),D(1693,1,ti,ja),h.Mb=function(t){return oun(l(t,217))},I(ev,"StripContainerCell/lambda$2$Type",1693),D(1694,1,{},Ou),h.Ye=function(t){return l(t,217).jf()},I(ev,"StripContainerCell/lambda$3$Type",1694),D(472,22,{3:1,34:1,22:1,472:1},bse);var w0,Fb,a1,X6t=Fr(ev,"VerticalLabelAlignment",472,Hr,I2n,o0n),Q6t;D(800,1,{},zke),h.c=0,h.d=0,h.k=0,h.s=0,h.t=0,h.v=!1,h.w=0,h.D=!1,I(tG,"NodeContext",800),D(1536,1,ii,Sa),h.Ne=function(t,n){return tnt(l(t,64),l(n,64))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(tG,"NodeContext/0methodref$comparePortSides$Type",1536),D(1537,1,ii,Po),h.Ne=function(t,n){return Bxn(l(t,117),l(n,117))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(tG,"NodeContext/1methodref$comparePortContexts$Type",1537),D(164,22,{3:1,34:1,22:1,164:1},of);var J6t,Z6t,e7t,t7t,n7t,r7t,i7t,s7t,a7t,o7t,c7t,u7t,l7t,h7t,f7t,d7t,g7t,p7t,b7t,m7t,v7t,H0e,w7t=Fr(tG,"NodeLabelLocation",164,Hr,eue,c0n),y7t;D(117,1,{117:1},c2t),h.a=!1,I(tG,"PortContext",117),D(1541,1,fr,Fc),h.Cd=function(t){vZe(l(t,314))},I(DP,g3t,1541),D(1542,1,ti,xa),h.Mb=function(t){return!!l(t,117).c},I(DP,p3t,1542),D(1543,1,fr,Ba),h.Cd=function(t){vZe(l(t,117).c)},I(DP,"LabelPlacer/lambda$2$Type",1543);var q_e;D(1540,1,fr,ga),h.Cd=function(t){py(),jcn(l(t,117))},I(DP,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),D(801,1,fr,v4e),h.Cd=function(t){Zun(this.b,this.c,this.a,l(t,187))},h.a=!1,h.c=!1,I(DP,"NodeLabelCellCreator/lambda$0$Type",801),D(1539,1,fr,Die),h.Cd=function(t){qcn(this.a,l(t,187))},I(DP,"PortContextCreator/lambda$0$Type",1539);var pK;D(1902,1,{},kh),I(uT,"GreedyRectangleStripOverlapRemover",1902),D(1903,1,ii,lu),h.Ne=function(t,n){return Dhn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uT,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),D(1849,1,{},zQe),h.a=5,h.e=0,I(uT,"RectangleStripOverlapRemover",1849),D(1850,1,ii,o5),h.Ne=function(t,n){return Ihn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uT,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),D(1852,1,ii,Wh),h.Ne=function(t,n){return xgn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uT,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),D(417,22,{3:1,34:1,22:1,417:1},uq);var rB,V0e,U0e,iB,x7t=Fr(uT,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,Hr,Kbn,u0n),k7t;D(226,1,{226:1},Dae),I(uT,"RectangleStripOverlapRemover/RectangleNode",226),D(1851,1,fr,Iie),h.Cd=function(t){c7n(this.a,l(t,226))},I(uT,"RectangleStripOverlapRemover/lambda$1$Type",1851),D(1323,1,ii,od),h.Ne=function(t,n){return ALn(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),D(1326,1,{},Gd),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),D(1327,1,ti,cd),h.Mb=function(t){return l(t,332).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),D(1328,1,ti,Kd),h.Mb=function(t){return l(t,332).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),D(1321,1,ii,$g),h.Ne=function(t,n){return i_n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),D(1324,1,{},as),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),D(781,1,ii,wn),h.Ne=function(t,n){return $3n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/MinNumOfExtensionsComparator",781),D(1319,1,ii,Zr),h.Ne=function(t,n){return Wwn(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/MinPerimeterComparator",1319),D(1320,1,ii,Zi),h.Ne=function(t,n){return I6n(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),D(1322,1,ii,nu),h.Ne=function(t,n){return C_n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Md,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),D(1325,1,{},vu),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),D(782,1,{},L3e),h.Ve=function(t,n){return jbn(this,l(t,42),l(n,176))},I(Md,"SuccessorCombination",782),D(649,1,{},Dl),h.Ve=function(t,n){var r;return tEn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorJitter",649),D(648,1,{},Yh),h.Ve=function(t,n){var r;return zCn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorLineByLine",648),D(573,1,{},w1),h.Ve=function(t,n){var r;return tTn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorManhattan",573),D(1344,1,{},$0),h.Ve=function(t,n){var r;return hCn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorMaxNormWindingInMathPosSense",1344),D(409,1,{},E5),h.Ve=function(t,n){return u5e(this,t,n)},h.c=!1,h.d=!1,h.e=!1,h.f=!1,I(Md,"SuccessorQuadrantsGeneric",409),D(1345,1,{},Wi),h.Kb=function(t){return l(t,334).a},I(Md,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),D(332,22,{3:1,34:1,22:1,332:1},lq),h.a=!1;var sB,aB,oB,cB,E7t=Fr(rG,kEe,332,Hr,Ubn,l0n),T7t;D(1317,1,{}),h.Ib=function(){var t,n,r,a,o,f;for(r=" ",t=pt(0),o=0;o=0?"b"+t+"["+Coe(this.a)+"]":"b["+Coe(this.a)+"]"):"b_"+fw(this)},I(OP,"FBendpoint",250),D(290,137,{3:1,290:1,96:1,137:1},jrt),h.Ib=function(){return Coe(this)},I(OP,"FEdge",290),D(235,137,{3:1,235:1,96:1,137:1},KH);var vOn=I(OP,"FGraph",235);D(454,309,{3:1,454:1,309:1,96:1,137:1},zct),h.Ib=function(){return this.b==null||this.b.length==0?"l["+Coe(this.a)+"]":"l_"+this.b},I(OP,"FLabel",454),D(153,309,{3:1,153:1,309:1,96:1,137:1},wnt),h.Ib=function(){return X5e(this)},h.a=0,I(OP,"FNode",153),D(2100,1,{}),h.vf=function(t){yke(this,t)},h.wf=function(){qdt(this)},h.d=0,I(DEe,"AbstractForceModel",2100),D(641,2100,{641:1},jft),h.uf=function(t,n){var r,a,o,f,g;return pvt(this.f,t,n),o=ma(Ja(n.d),t.d),g=b.Math.sqrt(o.a*o.a+o.b*o.b),a=b.Math.max(0,g-eA(t.e)/2-eA(n.e)/2),r=Qpt(this.e,t,n),r>0?f=-vgn(a,this.c)*r:f=Khn(a,this.b)*l(Q(t,(b0(),qx)),17).a,md(o,f/g),o},h.vf=function(t){yke(this,t),this.a=l(Q(t,(b0(),xK)),17).a,this.c=ze(Ge(Q(t,kK))),this.b=ze(Ge(Q(t,J0e)))},h.xf=function(t){return t0&&(f-=nun(a,this.a)*r),md(o,f*this.b/g),o},h.vf=function(t){var n,r,a,o,f,g,w;for(yke(this,t),this.b=ze(Ge(Q(t,(b0(),Z0e)))),this.c=this.b/l(Q(t,xK),17).a,a=t.e.c.length,f=0,o=0,w=new G(t.e);w.a0},h.a=0,h.b=0,h.c=0,I(DEe,"FruchtermanReingoldModel",642),D(860,1,Pf,KS),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,aG),""),"Force Model"),"Determines the model for force calculation."),Q_e),(g2(),ps)),J_e),un((r1(),Pn))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,IEe),""),"Iterations"),"The number of iterations on the force model."),pt(300)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,OEe),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),pt(0)),Tc),ro),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Dhe),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Dd),fo),ta),un(Pn)))),Qs(t,Dhe,aG,V7t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ihe),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),fo),ta),un(Pn)))),Qs(t,Ihe,aG,z7t),rwt((new WS,t))};var R7t,j7t,Q_e,$7t,z7t,q7t,H7t,V7t;I(uL,"ForceMetaDataProvider",860),D(432,22,{3:1,34:1,22:1,432:1},D3e);var Q0e,yK,J_e=Fr(uL,"ForceModelStrategy",432,Hr,jpn,d0n),U7t;D(b2,1,Pf,WS),h.hf=function(t){rwt(t)};var G7t,K7t,Z_e,xK,eAe,W7t,Y7t,X7t,Q7t,tAe,J7t,nAe,rAe,Z7t,qx,e8t,J0e,iAe,t8t,n8t,kK,Z0e,r8t,i8t,s8t,sAe,a8t;I(uL,"ForceOptions",b2),D(1001,1,{},ld),h.sf=function(){var t;return t=new Dwe,t},h.tf=function(t){},I(uL,"ForceOptions/ForceFactory",1001);var hB,$L,Hx,EK;D(861,1,Pf,rz),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,PEe),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(Hn(),!1)),(g2(),ya)),Ns),un((r1(),ha))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,BEe),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),fo),ta),rs(Pn,he(le(xg,1),it,170,0,[zd]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,FEe),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),aAe),ps),dAe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,REe),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Dd),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,jEe),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),pt(Ii)),Tc),ro),un(Pn)))),Dvt((new iz,t))};var o8t,c8t,aAe,u8t,l8t,h8t;I(uL,"StressMetaDataProvider",861),D(1004,1,Pf,iz),h.hf=function(t){Dvt(t)};var TK,oAe,cAe,uAe,lAe,hAe,f8t,d8t,g8t,p8t,fAe,b8t;I(uL,"StressOptions",1004),D(1005,1,{},y1),h.sf=function(){var t;return t=new $rt,t},h.tf=function(t){},I(uL,"StressOptions/StressFactory",1005),D(1110,205,tv,$rt),h.rf=function(t,n){var r,a,o,f,g;for(n.Ug(A3t,1),Rt(Bt(at(t,(VN(),lAe))))?Rt(Bt(at(t,fAe)))||KO((r=new Yv((aw(),new Jv(t))),r)):W2t(new Dwe,t,n.eh(1)),o=u0t(t),a=$mt(this.a,o),g=a.Kc();g.Ob();)f=l(g.Pb(),235),!(f.e.c.length<=1)&&(CLn(this.b,f),XEn(this.b),Vu(f.d,new ud));o=ewt(a),lwt(o),n.Vg()},I(uG,"StressLayoutProvider",1110),D(1111,1,fr,ud),h.Cd=function(t){Ake(l(t,454))},I(uG,"StressLayoutProvider/lambda$0$Type",1111),D(1002,1,{},BQe),h.c=0,h.e=0,h.g=0,I(uG,"StressMajorization",1002),D(391,22,{3:1,34:1,22:1,391:1},mse);var e1e,t1e,n1e,dAe=Fr(uG,"StressMajorization/Dimension",391,Hr,P2n,g0n),m8t;D(1003,1,ii,Dz),h.Ne=function(t,n){return qfn(this.a,l(t,153),l(n,153))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uG,"StressMajorization/lambda$0$Type",1003),D(1192,1,{},Got),I(Bx,"ElkLayered",1192),D(1193,1,fr,Iz),h.Cd=function(t){Ckn(this.a,l(t,36))},I(Bx,"ElkLayered/lambda$0$Type",1193),D(1194,1,fr,Oie),h.Cd=function(t){Hfn(this.a,l(t,36))},I(Bx,"ElkLayered/lambda$1$Type",1194),D(1281,1,{},Lnt);var v8t,w8t,y8t;I(Bx,"GraphConfigurator",1281),D(770,1,fr,qp),h.Cd=function(t){tpt(this.a,l(t,10))},I(Bx,"GraphConfigurator/lambda$0$Type",770),D(771,1,{},u5),h.Kb=function(t){return mxe(),new bn(null,new kn(l(t,30).a,16))},I(Bx,"GraphConfigurator/lambda$1$Type",771),D(772,1,fr,n_),h.Cd=function(t){tpt(this.a,l(t,10))},I(Bx,"GraphConfigurator/lambda$2$Type",772),D(1109,205,tv,qQe),h.rf=function(t,n){var r;r=sLn(new VQe,t),qe(at(t,(Nt(),p4)))===qe((rp(),A2))?F4n(this.a,r,n):GEn(this.a,r,n),n.$g()||Kvt(new b8,r)},I(Bx,"LayeredLayoutProvider",1109),D(367,22,{3:1,34:1,22:1,367:1},oO);var y0,vg,bu,_u,mc,gAe=Fr(Bx,"LayeredPhases",367,Hr,jmn,p0n),x8t;D(1717,1,{},rft),h.i=0;var k8t;I(jP,"ComponentsToCGraphTransformer",1717);var E8t;D(1718,1,{},mm),h.yf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(jP,"ComponentsToCGraphTransformer/1",1718),D(86,1,{86:1}),h.i=0,h.k=!0,h.o=ia;var r1e=I(dL,"CNode",86);D(470,86,{470:1,86:1},Pye,U8e),h.Ib=function(){return""},I(jP,"ComponentsToCGraphTransformer/CRectNode",470),D(1688,1,{},q9);var i1e,s1e;I(jP,"OneDimensionalComponentsCompaction",1688),D(1689,1,{},Vv),h.Kb=function(t){return S2n(l(t,42))},h.Fb=function(t){return this===t},I(jP,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),D(1690,1,{},Y7),h.Kb=function(t){return j4n(l(t,42))},h.Fb=function(t){return this===t},I(jP,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),D(1720,1,{},Zst),I(dL,"CGraph",1720),D(194,1,{194:1},Qce),h.b=0,h.c=0,h.e=0,h.g=!0,h.i=ia,I(dL,"CGroup",194),D(1719,1,{},G2),h.yf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(dL,t3t,1719),D(1721,1,{},Zpt),h.d=!1;var T8t,a1e=I(dL,i3t,1721);D(1722,1,{},X7),h.Kb=function(t){return v3e(),Hn(),l(l(t,42).a,86).d.e!=0},h.Fb=function(t){return this===t},I(dL,s3t,1722),D(833,1,{},G4e),h.a=!1,h.b=!1,h.c=!1,h.d=!1,I(dL,a3t,833),D(1898,1,{},pst),I(lG,o3t,1898);var fB=ks(rv,Zwt);D(1899,1,{382:1},Yat),h.bf=function(t){eSn(this,l(t,476))},I(lG,c3t,1899),D(Lb,1,ii,l5),h.Ne=function(t,n){return upn(l(t,86),l(n,86))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(lG,u3t,Lb),D(476,1,{476:1},O3e),h.a=!1,I(lG,l3t,476),D(1901,1,ii,X3),h.Ne=function(t,n){return l8n(l(t,476),l(n,476))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(lG,h3t,1901),D(148,1,{148:1},Ik,L4e),h.Fb=function(t){var n;return t==null||wOn!=bh(t)?!1:(n=l(t,148),Jc(this.c,n.c)&&Jc(this.d,n.d))},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[this.c,this.d]))},h.Ib=function(){return"("+this.c+Co+this.d+(this.a?"cx":"")+this.b+")"},h.a=!0,h.c=0,h.d=0;var wOn=I(rv,"Point",148);D(416,22,{3:1,34:1,22:1,416:1},fq);var s3,a4,M6,o4,C8t=Fr(rv,"Point/Quadrant",416,Hr,Wbn,b0n),S8t;D(1708,1,{},$Qe),h.b=null,h.c=null,h.d=null,h.e=null,h.f=null;var _8t,A8t,L8t,M8t,D8t;I(rv,"RectilinearConvexHull",1708),D(583,1,{382:1},nU),h.bf=function(t){Rvn(this,l(t,148))},h.b=0;var pAe;I(rv,"RectilinearConvexHull/MaximalElementsEventHandler",583),D(1710,1,ii,Fp),h.Ne=function(t,n){return lpn(Ge(t),Ge(n))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),D(1709,1,{382:1},wht),h.bf=function(t){pCn(this,l(t,148))},h.a=0,h.b=null,h.c=null,h.d=null,h.e=null,I(rv,"RectilinearConvexHull/RectangleEventHandler",1709),D(1711,1,ii,nI),h.Ne=function(t,n){return vbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$0$Type",1711),D(1712,1,ii,$J),h.Ne=function(t,n){return wbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$1$Type",1712),D(1713,1,ii,vm),h.Ne=function(t,n){return mbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$2$Type",1713),D(1714,1,ii,hu),h.Ne=function(t,n){return ybn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$3$Type",1714),D(1715,1,ii,zJ),h.Ne=function(t,n){return Qxn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$4$Type",1715),D(1716,1,{},Tot),I(rv,"Scanline",1716),D(2104,1,{}),I(V1,"AbstractGraphPlacer",2104),D(335,1,{335:1},hrt),h.Ff=function(t){return this.Gf(t)?(xn(this.b,l(Q(t,(ft(),pp)),21),t),!0):!1},h.Gf=function(t){var n,r,a,o;for(n=l(Q(t,(ft(),pp)),21),o=l($i(Xi,n),21),a=o.Kc();a.Ob();)if(r=l(a.Pb(),21),!l($i(this.b,r),15).dc())return!1;return!0};var Xi;I(V1,"ComponentGroup",335),D(779,2104,{},Nwe),h.Hf=function(t){var n,r;for(r=new G(this.a);r.ar&&(L=0,B+=w+a,w=0),E=f.c,KE(f,L+E.a,B+E.b),Y0(E),o=b.Math.max(o,L+C.a),w=b.Math.max(w,C.b),L+=C.a+a;n.f.a=o,n.f.b=B+w},h.Jf=function(t,n){var r,a,o,f,g;if(qe(Q(n,(Nt(),g4)))===qe((Km(),c4))){for(a=t.Kc();a.Ob();){for(r=l(a.Pb(),36),g=0,f=new G(r.a);f.ar&&!l(Q(f,(ft(),pp)),21).Hc((Ct(),Qn))||E&&l(Q(E,(ft(),pp)),21).Hc((Ct(),ar))||l(Q(f,(ft(),pp)),21).Hc((Ct(),er)))&&(z=B,V+=w+a,w=0),C=f.c,l(Q(f,(ft(),pp)),21).Hc((Ct(),Qn))&&(z=o+a),KE(f,z+C.a,V+C.b),o=b.Math.max(o,z+L.a),l(Q(f,pp),21).Hc(Dr)&&(B=b.Math.max(B,z+L.a+a)),Y0(C),w=b.Math.max(w,L.b),z+=L.a+a,E=f;n.f.a=o,n.f.b=V+w},h.Jf=function(t,n){},I(V1,"ModelOrderRowGraphPlacer",1313),D(1311,1,ii,cj),h.Ne=function(t,n){return F3n(l(t,36),l(n,36))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(V1,"SimpleRowGraphPlacer/1",1311);var O8t;D(1280,1,Ld,q0),h.Lb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),cc)),75),!!n&&n.b!=0},h.Fb=function(t){return this===t},h.Mb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),cc)),75),!!n&&n.b!=0},I(hG,"CompoundGraphPostprocessor/1",1280),D(1279,1,ts,UQe),h.Kf=function(t,n){kdt(this,l(t,36),n)},I(hG,"CompoundGraphPreprocessor",1279),D(453,1,{453:1},f1t),h.c=!1,I(hG,"CompoundGraphPreprocessor/ExternalPort",453),D(249,1,{249:1},Kq),h.Ib=function(){return aae(this.c)+":"+Kpt(this.b)},I(hG,"CrossHierarchyEdge",249),D(777,1,ii,GI),h.Ne=function(t,n){return R7n(this,l(t,249),l(n,249))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(hG,"CrossHierarchyEdgeComparator",777),D(305,137,{3:1,305:1,96:1,137:1}),h.p=0,I(Cu,"LGraphElement",305),D(18,305,{3:1,18:1,305:1,96:1,137:1},Tw),h.Ib=function(){return Kpt(this)};var u1e=I(Cu,"LEdge",18);D(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},o7e),h.Jc=function(t){to(this,t)},h.Kc=function(){return new G(this.b)},h.Ib=function(){return this.b.c.length==0?"G-unlayered"+Tb(this.a):this.a.c.length==0?"G-layered"+Tb(this.b):"G[layerless"+Tb(this.a)+", layers"+Tb(this.b)+"]"};var N8t=I(Cu,"LGraph",36),P8t;D(666,1,{}),h.Lf=function(){return this.e.n},h.of=function(t){return Q(this.e,t)},h.Mf=function(){return this.e.o},h.Nf=function(){return this.e.p},h.pf=function(t){return ns(this.e,t)},h.Of=function(t){this.e.n.a=t.a,this.e.n.b=t.b},h.Pf=function(t){this.e.o.a=t.a,this.e.o.b=t.b},h.Qf=function(t){this.e.p=t},I(Cu,"LGraphAdapters/AbstractLShapeAdapter",666),D(474,1,{853:1},Tm),h.Rf=function(){var t,n;if(!this.b)for(this.b=eg(this.a.b.c.length),n=new G(this.a.b);n.a0&&H0t((Xn(n-1,t.length),t.charCodeAt(n-1)),N3t);)--n;if(f> ",t),fU(r)),hi(wu((t.a+="[",t),r.i),"]")),t.a},h.c=!0,h.d=!1;var yAe,xAe,kAe,EAe,TAe,CAe,F8t=I(Cu,"LPort",12);D(408,1,hg,T5),h.Jc=function(t){to(this,t)},h.Kc=function(){var t;return t=new G(this.a.e),new jWe(t)},I(Cu,"LPort/1",408),D(1309,1,Oa,jWe),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(re(this.a),18).c},h.Ob=function(){return Lc(this.a)},h.Qb=function(){Q_(this.a)},I(Cu,"LPort/1/1",1309),D(369,1,hg,C8),h.Jc=function(t){to(this,t)},h.Kc=function(){var t;return t=new G(this.a.g),new vwe(t)},I(Cu,"LPort/2",369),D(776,1,Oa,vwe),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(re(this.a),18).d},h.Ob=function(){return Lc(this.a)},h.Qb=function(){Q_(this.a)},I(Cu,"LPort/2/1",776),D(1302,1,hg,Met),h.Jc=function(t){to(this,t)},h.Kc=function(){return new N1(this)},I(Cu,"LPort/CombineIter",1302),D(208,1,Oa,N1),h.Nb=function(t){Za(this,t)},h.Qb=function(){aZe()},h.Ob=function(){return $_(this)},h.Pb=function(){return Lc(this.a)?re(this.a):re(this.b)},I(Cu,"LPort/CombineIter/1",208),D(1303,1,Ld,K2),h.Lb=function(t){return Lst(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).g.c.length!=0},I(Cu,"LPort/lambda$0$Type",1303),D(1304,1,Ld,J3),h.Lb=function(t){return Mst(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).e.c.length!=0},I(Cu,"LPort/lambda$1$Type",1304),D(1305,1,Ld,HJ),h.Lb=function(t){return kl(),l(t,12).j==(Ct(),Qn)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).j==(Ct(),Qn)},I(Cu,"LPort/lambda$2$Type",1305),D(1306,1,Ld,wm),h.Lb=function(t){return kl(),l(t,12).j==(Ct(),ar)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).j==(Ct(),ar)},I(Cu,"LPort/lambda$3$Type",1306),D(1307,1,Ld,VJ),h.Lb=function(t){return kl(),l(t,12).j==(Ct(),Dr)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).j==(Ct(),Dr)},I(Cu,"LPort/lambda$4$Type",1307),D(1308,1,Ld,UJ),h.Lb=function(t){return kl(),l(t,12).j==(Ct(),er)},h.Fb=function(t){return this===t},h.Mb=function(t){return kl(),l(t,12).j==(Ct(),er)},I(Cu,"LPort/lambda$5$Type",1308),D(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},yu),h.Jc=function(t){to(this,t)},h.Kc=function(){return new G(this.a)},h.Ib=function(){return"L_"+gc(this.b.b,this,0)+Tb(this.a)},I(Cu,"Layer",30),D(1330,1,{},VQe),I(v2,R3t,1330),D(1334,1,{},Q7),h.Kb=function(t){return bc(l(t,84))},I(v2,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),D(1337,1,{},uS),h.Kb=function(t){return bc(l(t,84))},I(v2,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),D(1331,1,fr,$We),h.Cd=function(t){l2t(this.a,l(t,123))},I(v2,MEe,1331),D(1332,1,fr,zWe),h.Cd=function(t){l2t(this.a,l(t,123))},I(v2,j3t,1332),D(1333,1,{},lj),h.Kb=function(t){return new bn(null,new kn(A5e(l(t,74)),16))},I(v2,$3t,1333),D(1335,1,ti,qWe),h.Mb=function(t){return zln(this.a,l(t,27))},I(v2,z3t,1335),D(1336,1,{},H9),h.Kb=function(t){return new bn(null,new kn(ipn(l(t,74)),16))},I(v2,"ElkGraphImporter/lambda$5$Type",1336),D(1338,1,ti,HWe),h.Mb=function(t){return qln(this.a,l(t,27))},I(v2,"ElkGraphImporter/lambda$7$Type",1338),D(1339,1,ti,GJ),h.Mb=function(t){return vpn(l(t,74))},I(v2,"ElkGraphImporter/lambda$8$Type",1339),D(1297,1,{},b8);var R8t;I(v2,"ElkGraphLayoutTransferrer",1297),D(1298,1,ti,VWe),h.Mb=function(t){return Mfn(this.a,l(t,18))},I(v2,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),D(1299,1,fr,UWe),h.Cd=function(t){sO(),vt(this.a,l(t,18))},I(v2,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),D(1300,1,ti,GWe),h.Mb=function(t){return pfn(this.a,l(t,18))},I(v2,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),D(1301,1,fr,KWe),h.Cd=function(t){sO(),vt(this.a,l(t,18))},I(v2,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),D(819,1,{},i4e),I(rr,"BiLinkedHashMultiMap",819),D(1550,1,ts,V9),h.Kf=function(t,n){r3n(l(t,36),n)},I(rr,"CommentNodeMarginCalculator",1550),D(1551,1,{},KJ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"CommentNodeMarginCalculator/lambda$0$Type",1551),D(1552,1,fr,WJ),h.Cd=function(t){rLn(l(t,10))},I(rr,"CommentNodeMarginCalculator/lambda$1$Type",1552),D(1553,1,ts,YJ),h.Kf=function(t,n){oSn(l(t,36),n)},I(rr,"CommentPostprocessor",1553),D(1554,1,ts,XJ),h.Kf=function(t,n){LDn(l(t,36),n)},I(rr,"CommentPreprocessor",1554),D(1555,1,ts,QJ),h.Kf=function(t,n){TCn(l(t,36),n)},I(rr,"ConstraintsPostprocessor",1555),D(1556,1,ts,JJ),h.Kf=function(t,n){D3n(l(t,36),n)},I(rr,"EdgeAndLayerConstraintEdgeReverser",1556),D(1557,1,ts,ZJ),h.Kf=function(t,n){x5n(l(t,36),n)},I(rr,"EndLabelPostprocessor",1557),D(1558,1,{},eZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"EndLabelPostprocessor/lambda$0$Type",1558),D(1559,1,ti,tZ),h.Mb=function(t){return Bmn(l(t,10))},I(rr,"EndLabelPostprocessor/lambda$1$Type",1559),D(1560,1,fr,nZ),h.Cd=function(t){h8n(l(t,10))},I(rr,"EndLabelPostprocessor/lambda$2$Type",1560),D(1561,1,ts,rZ),h.Kf=function(t,n){Z9n(l(t,36),n)},I(rr,"EndLabelPreprocessor",1561),D(1562,1,{},rI),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"EndLabelPreprocessor/lambda$0$Type",1562),D(1563,1,fr,mit),h.Cd=function(t){eln(this.a,this.b,this.c,l(t,10))},h.a=0,h.b=0,h.c=!1,I(rr,"EndLabelPreprocessor/lambda$1$Type",1563),D(1564,1,ti,iZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),rC))},I(rr,"EndLabelPreprocessor/lambda$2$Type",1564),D(1565,1,fr,WWe),h.Cd=function(t){ci(this.a,l(t,72))},I(rr,"EndLabelPreprocessor/lambda$3$Type",1565),D(1566,1,ti,sZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),_4))},I(rr,"EndLabelPreprocessor/lambda$4$Type",1566),D(1567,1,fr,YWe),h.Cd=function(t){ci(this.a,l(t,72))},I(rr,"EndLabelPreprocessor/lambda$5$Type",1567),D(1615,1,ts,Hre),h.Kf=function(t,n){y4n(l(t,36),n)};var j8t;I(rr,"EndLabelSorter",1615),D(1616,1,ii,lS),h.Ne=function(t,n){return Z5n(l(t,466),l(n,466))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"EndLabelSorter/1",1616),D(466,1,{466:1},Hat),I(rr,"EndLabelSorter/LabelGroup",466),D(1617,1,{},hj),h.Kb=function(t){return iO(),new bn(null,new kn(l(t,30).a,16))},I(rr,"EndLabelSorter/lambda$0$Type",1617),D(1618,1,ti,J7),h.Mb=function(t){return iO(),l(t,10).k==(Zn(),Ps)},I(rr,"EndLabelSorter/lambda$1$Type",1618),D(1619,1,fr,aZ),h.Cd=function(t){d9n(l(t,10))},I(rr,"EndLabelSorter/lambda$2$Type",1619),D(1620,1,ti,oZ),h.Mb=function(t){return iO(),qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),_4))},I(rr,"EndLabelSorter/lambda$3$Type",1620),D(1621,1,ti,cZ),h.Mb=function(t){return iO(),qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),rC))},I(rr,"EndLabelSorter/lambda$4$Type",1621),D(1568,1,ts,uZ),h.Kf=function(t,n){vLn(this,l(t,36))},h.b=0,h.c=0,I(rr,"FinalSplineBendpointsCalculator",1568),D(1569,1,{},lZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),D(1570,1,{},hS),h.Kb=function(t){return new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(rr,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),D(1571,1,ti,iI),h.Mb=function(t){return!Do(l(t,18))},I(rr,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),D(1572,1,ti,fj),h.Mb=function(t){return ns(l(t,18),(ft(),fv))},I(rr,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),D(1573,1,fr,XWe),h.Cd=function(t){__n(this.a,l(t,131))},I(rr,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),D(1574,1,fr,h5),h.Cd=function(t){JN(l(t,18).a)},I(rr,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),D(803,1,ts,wwe),h.Kf=function(t,n){hMn(this,l(t,36),n)},I(rr,"GraphTransformer",803),D(517,22,{3:1,34:1,22:1,517:1},I3e);var h1e,dB,$8t=Fr(rr,"GraphTransformer/Mode",517,Hr,$pn,x1n),z8t;D(1575,1,ts,f5),h.Kf=function(t,n){OTn(l(t,36),n)},I(rr,"HierarchicalNodeResizingProcessor",1575),D(1576,1,ts,hZ),h.Kf=function(t,n){Jwn(l(t,36),n)},I(rr,"HierarchicalPortConstraintProcessor",1576),D(1577,1,ii,t0),h.Ne=function(t,n){return y6n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"HierarchicalPortConstraintProcessor/NodeComparator",1577),D(1578,1,ts,Z7),h.Kf=function(t,n){xAn(l(t,36),n)},I(rr,"HierarchicalPortDummySizeProcessor",1578),D(1579,1,ts,fZ),h.Kf=function(t,n){DSn(this,l(t,36),n)},h.a=0,I(rr,"HierarchicalPortOrthogonalEdgeRouter",1579),D(1580,1,ii,U9),h.Ne=function(t,n){return Ohn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"HierarchicalPortOrthogonalEdgeRouter/1",1580),D(1581,1,ii,Wd),h.Ne=function(t,n){return jvn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"HierarchicalPortOrthogonalEdgeRouter/2",1581),D(1582,1,ts,dZ),h.Kf=function(t,n){Wxn(l(t,36),n)},I(rr,"HierarchicalPortPositionProcessor",1582),D(1583,1,ts,Kv),h.Kf=function(t,n){lIn(this,l(t,36))},h.a=0,h.c=0;var CK,SK;I(rr,"HighDegreeNodeLayeringProcessor",1583),D(580,1,{580:1},gZ),h.b=-1,h.d=-1,I(rr,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),D(1584,1,{},pZ),h.Kb=function(t){return OO(),ka(l(t,10))},h.Fb=function(t){return this===t},I(rr,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),D(1585,1,{},dj),h.Kb=function(t){return OO(),qs(l(t,10))},h.Fb=function(t){return this===t},I(rr,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),D(1591,1,ts,bZ),h.Kf=function(t,n){dAn(this,l(t,36),n)},I(rr,"HyperedgeDummyMerger",1591),D(804,1,{},w4e),h.a=!1,h.b=!1,h.c=!1,I(rr,"HyperedgeDummyMerger/MergeState",804),D(1592,1,{},fS),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"HyperedgeDummyMerger/lambda$0$Type",1592),D(1593,1,{},dS),h.Kb=function(t){return new bn(null,new kn(l(t,10).j,16))},I(rr,"HyperedgeDummyMerger/lambda$1$Type",1593),D(1594,1,fr,gj),h.Cd=function(t){l(t,12).p=-1},I(rr,"HyperedgeDummyMerger/lambda$2$Type",1594),D(1595,1,ts,sI),h.Kf=function(t,n){hAn(l(t,36),n)},I(rr,"HypernodesProcessor",1595),D(1596,1,ts,e8),h.Kf=function(t,n){yAn(l(t,36),n)},I(rr,"InLayerConstraintProcessor",1596),D(1597,1,ts,mZ),h.Kf=function(t,n){d3n(l(t,36),n)},I(rr,"InnermostNodeMarginCalculator",1597),D(1598,1,ts,pj),h.Kf=function(t,n){CDn(this,l(t,36))},h.a=ia,h.b=ia,h.c=gs,h.d=gs;var yOn=I(rr,"InteractiveExternalPortPositioner",1598);D(1599,1,{},bj),h.Kb=function(t){return l(t,18).d.i},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$0$Type",1599),D(1600,1,{},QWe),h.Kb=function(t){return Nhn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$1$Type",1600),D(1601,1,{},vZ),h.Kb=function(t){return l(t,18).c.i},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$2$Type",1601),D(1602,1,{},JWe),h.Kb=function(t){return Phn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$3$Type",1602),D(1603,1,{},ZWe),h.Kb=function(t){return Ifn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$4$Type",1603),D(1604,1,{},eYe),h.Kb=function(t){return Ofn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$5$Type",1604),D(81,22,{3:1,34:1,22:1,81:1,196:1},Ws),h.dg=function(){switch(this.g){case 15:return new Uj;case 22:return new Dee;case 47:return new Nee;case 28:case 35:return new CZ;case 32:return new V9;case 42:return new YJ;case 1:return new XJ;case 41:return new QJ;case 56:return new wwe((dE(),dB));case 0:return new wwe((dE(),h1e));case 2:return new JJ;case 54:return new ZJ;case 33:return new rZ;case 51:return new uZ;case 55:return new f5;case 13:return new hZ;case 38:return new Z7;case 44:return new fZ;case 40:return new dZ;case 9:return new Kv;case 49:return new nrt;case 37:return new bZ;case 43:return new sI;case 27:return new e8;case 30:return new mZ;case 3:return new pj;case 18:return new yZ;case 29:return new xZ;case 5:return new fk;case 50:return new wZ;case 34:return new sz;case 36:return new d5;case 52:return new Hre;case 11:return new G9;case 7:return new Vre;case 39:return new aI;case 45:return new Z3;case 16:return new K9;case 10:return new Wet;case 48:return new mj;case 21:return new oI;case 23:return new Wie((Iw(),oM));case 8:return new cI;case 12:return new _Z;case 4:return new uI;case 19:return new cz;case 17:return new IZ;case 53:return new OZ;case 6:return new Tj;case 25:return new KQe;case 46:return new FZ;case 31:return new Vrt;case 14:return new UZ;case 26:return new Fee;case 20:return new Aj;case 24:return new Wie((Iw(),MW));default:throw ue(new Yn(Fhe+(this.f!=null?this.f:""+this.g)))}};var SAe,_Ae,AAe,LAe,MAe,DAe,IAe,OAe,NAe,PAe,D6,_K,AK,BAe,FAe,RAe,jAe,$Ae,zAe,qAe,zL,HAe,VAe,UAe,GAe,KAe,f1e,LK,MK,WAe,DK,IK,OK,LT,u4,l4,YAe,NK,PK,XAe,BK,FK,QAe,JAe,ZAe,eLe,RK,d1e,gB,jK,$K,zK,qK,tLe,nLe,rLe,iLe,xOn=Fr(rr,Rhe,81,Hr,rbt,y0n),q8t;D(1605,1,ts,yZ),h.Kf=function(t,n){EDn(l(t,36),n)},I(rr,"InvertedPortProcessor",1605),D(1606,1,ts,xZ),h.Kf=function(t,n){w_n(l(t,36),n)},I(rr,"LabelAndNodeSizeProcessor",1606),D(1607,1,ti,kZ),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),D(1608,1,ti,EZ),h.Mb=function(t){return l(t,10).k==(Zn(),Us)},I(rr,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),D(1609,1,fr,vit),h.Cd=function(t){tln(this.b,this.a,this.c,l(t,10))},h.a=!1,h.c=!1,I(rr,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),D(1610,1,ts,fk),h.Kf=function(t,n){YMn(l(t,36),n)};var H8t;I(rr,"LabelDummyInserter",1610),D(1611,1,Ld,Yd),h.Lb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),nC))},h.Fb=function(t){return this===t},h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),nC))},I(rr,"LabelDummyInserter/1",1611),D(1612,1,ts,wZ),h.Kf=function(t,n){FMn(l(t,36),n)},I(rr,"LabelDummyRemover",1612),D(1613,1,ti,Uv),h.Mb=function(t){return Rt(Bt(Q(l(t,72),(Nt(),tde))))},I(rr,"LabelDummyRemover/lambda$0$Type",1613),D(1378,1,ts,sz),h.Kf=function(t,n){LMn(this,l(t,36),n)},h.a=null;var g1e;I(rr,"LabelDummySwitcher",1378),D(293,1,{293:1},nmt),h.c=0,h.d=null,h.f=0,I(rr,"LabelDummySwitcher/LabelDummyInfo",293),D(1379,1,{},TZ),h.Kb=function(t){return lx(),new bn(null,new kn(l(t,30).a,16))},I(rr,"LabelDummySwitcher/lambda$0$Type",1379),D(1380,1,ti,gS),h.Mb=function(t){return lx(),l(t,10).k==(Zn(),cu)},I(rr,"LabelDummySwitcher/lambda$1$Type",1380),D(1381,1,{},tYe),h.Kb=function(t){return bfn(this.a,l(t,10))},I(rr,"LabelDummySwitcher/lambda$2$Type",1381),D(1382,1,fr,nYe),h.Cd=function(t){Bgn(this.a,l(t,293))},I(rr,"LabelDummySwitcher/lambda$3$Type",1382),D(1383,1,ii,pS),h.Ne=function(t,n){return agn(l(t,293),l(n,293))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"LabelDummySwitcher/lambda$4$Type",1383),D(802,1,ts,CZ),h.Kf=function(t,n){vvn(l(t,36),n)},I(rr,"LabelManagementProcessor",802),D(1614,1,ts,d5),h.Kf=function(t,n){YCn(l(t,36),n)},I(rr,"LabelSideSelector",1614),D(1622,1,ts,G9),h.Kf=function(t,n){BAn(l(t,36),n)},I(rr,"LayerConstraintPostprocessor",1622),D(1623,1,ts,Vre),h.Kf=function(t,n){DEn(l(t,36),n)};var sLe;I(rr,"LayerConstraintPreprocessor",1623),D(371,22,{3:1,34:1,22:1,371:1},gq);var pB,HK,VK,p1e,V8t=Fr(rr,"LayerConstraintPreprocessor/HiddenNodeConnections",371,Hr,Xbn,x0n),U8t;D(1624,1,ts,aI),h.Kf=function(t,n){ZLn(l(t,36),n)},I(rr,"LayerSizeAndGraphHeightCalculator",1624),D(1625,1,ts,Z3),h.Kf=function(t,n){NTn(l(t,36),n)},I(rr,"LongEdgeJoiner",1625),D(1626,1,ts,K9),h.Kf=function(t,n){LLn(l(t,36),n)},I(rr,"LongEdgeSplitter",1626),D(1627,1,ts,Wet),h.Kf=function(t,n){lDn(this,l(t,36),n)},h.e=0,h.f=0,h.j=0,h.k=0,h.n=0,h.o=0;var G8t,K8t;I(rr,"NodePromotion",1627),D(1628,1,ii,SZ),h.Ne=function(t,n){return Eyn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"NodePromotion/1",1628),D(1629,1,ii,bS),h.Ne=function(t,n){return Tyn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"NodePromotion/2",1629),D(1630,1,{},hd),h.Kb=function(t){return l(t,42),Yq(),Hn(),!0},h.Fb=function(t){return this===t},I(rr,"NodePromotion/lambda$0$Type",1630),D(1631,1,{},aYe),h.Kb=function(t){return w2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(rr,"NodePromotion/lambda$1$Type",1631),D(1632,1,{},oYe),h.Kb=function(t){return v2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(rr,"NodePromotion/lambda$2$Type",1632),D(1633,1,ts,mj),h.Kf=function(t,n){iIn(l(t,36),n)},I(rr,"NorthSouthPortPostprocessor",1633),D(1634,1,ts,oI),h.Kf=function(t,n){RDn(l(t,36),n)},I(rr,"NorthSouthPortPreprocessor",1634),D(1635,1,ii,W9),h.Ne=function(t,n){return R3n(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"NorthSouthPortPreprocessor/lambda$0$Type",1635),D(1636,1,ts,cI),h.Kf=function(t,n){eAn(l(t,36),n)},I(rr,"PartitionMidprocessor",1636),D(1637,1,ti,vj),h.Mb=function(t){return ns(l(t,10),(Nt(),HT))},I(rr,"PartitionMidprocessor/lambda$0$Type",1637),D(1638,1,fr,cYe),h.Cd=function(t){wpn(this.a,l(t,10))},I(rr,"PartitionMidprocessor/lambda$1$Type",1638),D(1639,1,ts,_Z),h.Kf=function(t,n){tCn(l(t,36),n)},I(rr,"PartitionPostprocessor",1639),D(1640,1,ts,uI),h.Kf=function(t,n){pEn(l(t,36),n)},I(rr,"PartitionPreprocessor",1640),D(1641,1,ti,AZ),h.Mb=function(t){return ns(l(t,10),(Nt(),HT))},I(rr,"PartitionPreprocessor/lambda$0$Type",1641),D(1642,1,{},LZ),h.Kb=function(t){return new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(rr,"PartitionPreprocessor/lambda$1$Type",1642),D(1643,1,ti,wj),h.Mb=function(t){return s6n(l(t,18))},I(rr,"PartitionPreprocessor/lambda$2$Type",1643),D(1644,1,fr,t8),h.Cd=function(t){tyn(l(t,18))},I(rr,"PartitionPreprocessor/lambda$3$Type",1644),D(1645,1,ts,cz),h.Kf=function(t,n){N_n(l(t,36),n)};var aLe,W8t,Y8t,X8t,oLe,cLe;I(rr,"PortListSorter",1645),D(1648,1,ii,yj),h.Ne=function(t,n){return Kct(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"PortListSorter/lambda$0$Type",1648),D(1650,1,ii,n8),h.Ne=function(t,n){return Smt(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"PortListSorter/lambda$1$Type",1650),D(1646,1,{},MZ),h.Kb=function(t){return TE(),l(t,12).e},I(rr,"PortListSorter/lambda$2$Type",1646),D(1647,1,{},lI),h.Kb=function(t){return TE(),l(t,12).g},I(rr,"PortListSorter/lambda$3$Type",1647),D(1649,1,ii,DZ),h.Ne=function(t,n){return L7n(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"PortListSorter/lambda$4$Type",1649),D(1651,1,ts,IZ),h.Kf=function(t,n){VEn(l(t,36),n)},I(rr,"PortSideProcessor",1651),D(1652,1,ts,OZ),h.Kf=function(t,n){USn(l(t,36),n)},I(rr,"ReversedEdgeRestorer",1652),D(1657,1,ts,KQe),h.Kf=function(t,n){h7n(this,l(t,36),n)},I(rr,"SelfLoopPortRestorer",1657),D(1658,1,{},NZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"SelfLoopPortRestorer/lambda$0$Type",1658),D(1659,1,ti,xj),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"SelfLoopPortRestorer/lambda$1$Type",1659),D(1660,1,ti,PZ),h.Mb=function(t){return ns(l(t,10),(ft(),h3))},I(rr,"SelfLoopPortRestorer/lambda$2$Type",1660),D(1661,1,{},BZ),h.Kb=function(t){return l(Q(l(t,10),(ft(),h3)),337)},I(rr,"SelfLoopPortRestorer/lambda$3$Type",1661),D(1662,1,fr,iYe),h.Cd=function(t){S9n(this.a,l(t,337))},I(rr,"SelfLoopPortRestorer/lambda$4$Type",1662),D(805,1,fr,kj),h.Cd=function(t){j9n(l(t,105))},I(rr,"SelfLoopPortRestorer/lambda$5$Type",805),D(1663,1,ts,FZ),h.Kf=function(t,n){m6n(l(t,36),n)},I(rr,"SelfLoopPostProcessor",1663),D(1664,1,{},RZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"SelfLoopPostProcessor/lambda$0$Type",1664),D(1665,1,ti,jZ),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"SelfLoopPostProcessor/lambda$1$Type",1665),D(1666,1,ti,$Z),h.Mb=function(t){return ns(l(t,10),(ft(),h3))},I(rr,"SelfLoopPostProcessor/lambda$2$Type",1666),D(1667,1,fr,Ej),h.Cd=function(t){A8n(l(t,10))},I(rr,"SelfLoopPostProcessor/lambda$3$Type",1667),D(1668,1,{},zZ),h.Kb=function(t){return new bn(null,new kn(l(t,105).f,1))},I(rr,"SelfLoopPostProcessor/lambda$4$Type",1668),D(1669,1,fr,rYe),h.Cd=function(t){emn(this.a,l(t,340))},I(rr,"SelfLoopPostProcessor/lambda$5$Type",1669),D(1670,1,ti,qZ),h.Mb=function(t){return!!l(t,105).i},I(rr,"SelfLoopPostProcessor/lambda$6$Type",1670),D(1671,1,fr,sYe),h.Cd=function(t){eun(this.a,l(t,105))},I(rr,"SelfLoopPostProcessor/lambda$7$Type",1671),D(1653,1,ts,Tj),h.Kf=function(t,n){wTn(l(t,36),n)},I(rr,"SelfLoopPreProcessor",1653),D(1654,1,{},Cj),h.Kb=function(t){return new bn(null,new kn(l(t,105).f,1))},I(rr,"SelfLoopPreProcessor/lambda$0$Type",1654),D(1655,1,{},Sj),h.Kb=function(t){return l(t,340).a},I(rr,"SelfLoopPreProcessor/lambda$1$Type",1655),D(1656,1,fr,HZ),h.Cd=function(t){rhn(l(t,18))},I(rr,"SelfLoopPreProcessor/lambda$2$Type",1656),D(1672,1,ts,Vrt),h.Kf=function(t,n){o9n(this,l(t,36),n)},I(rr,"SelfLoopRouter",1672),D(1673,1,{},VZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"SelfLoopRouter/lambda$0$Type",1673),D(1674,1,ti,Y9),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"SelfLoopRouter/lambda$1$Type",1674),D(1675,1,ti,r8),h.Mb=function(t){return ns(l(t,10),(ft(),h3))},I(rr,"SelfLoopRouter/lambda$2$Type",1675),D(1676,1,{},mS),h.Kb=function(t){return l(Q(l(t,10),(ft(),h3)),337)},I(rr,"SelfLoopRouter/lambda$3$Type",1676),D(1677,1,fr,Aet),h.Cd=function(t){dpn(this.a,this.b,l(t,337))},I(rr,"SelfLoopRouter/lambda$4$Type",1677),D(1678,1,ts,UZ),h.Kf=function(t,n){FCn(l(t,36),n)},I(rr,"SemiInteractiveCrossMinProcessor",1678),D(1679,1,ti,hI),h.Mb=function(t){return l(t,10).k==(Zn(),Ps)},I(rr,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),D(1680,1,ti,vS),h.Mb=function(t){return ost(l(t,10))._b((Nt(),w4))},I(rr,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),D(1681,1,ii,fI),h.Ne=function(t,n){return e3n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),D(1682,1,{},_j),h.Ve=function(t,n){return ypn(l(t,10),l(n,10))},I(rr,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),D(1684,1,ts,Aj),h.Kf=function(t,n){oLn(l(t,36),n)},I(rr,"SortByInputModelProcessor",1684),D(1685,1,ti,GZ),h.Mb=function(t){return l(t,12).g.c.length!=0},I(rr,"SortByInputModelProcessor/lambda$0$Type",1685),D(1686,1,fr,uYe),h.Cd=function(t){V9n(this.a,l(t,12))},I(rr,"SortByInputModelProcessor/lambda$1$Type",1686),D(1759,817,{},mft),h.df=function(t){var n,r,a,o;switch(this.c=t,this.a.g){case 2:n=new bt,Is(Fi(new bn(null,new kn(this.c.a.b,16)),new ree),new Fet(this,n)),ZN(this,new WZ),Vu(n,new Lj),n.c.length=0,Is(Fi(new bn(null,new kn(this.c.a.b,16)),new Mj),new hYe(n)),ZN(this,new YZ),Vu(n,new XZ),n.c.length=0,r=vnt(uce(xy(new bn(null,new kn(this.c.a.b,16)),new fYe(this))),new QZ),Is(new bn(null,new kn(this.c.a.a,16)),new Det(r,n)),ZN(this,new ZZ),Vu(n,new Dj),n.c.length=0;break;case 3:a=new bt,ZN(this,new KZ),o=vnt(uce(xy(new bn(null,new kn(this.c.a.b,16)),new lYe(this))),new JZ),Is(Fi(new bn(null,new kn(this.c.a.b,16)),new eee),new Oet(o,a)),ZN(this,new tee),Vu(a,new nee),a.c.length=0;break;default:throw ue(new NQe)}},h.b=0,I(aa,"EdgeAwareScanlineConstraintCalculation",1759),D(1760,1,Ld,KZ),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),D(1761,1,{},lYe),h.Ye=function(t){return _kn(this.a,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),D(1769,1,QU,Let),h.de=function(){FA(this.a,this.b,-1)},h.b=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),D(1771,1,Ld,WZ),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),D(1772,1,fr,Lj),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),D(1773,1,ti,Mj),h.Mb=function(t){return De(l(t,60).g,10)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),D(1775,1,fr,hYe),h.Cd=function(t){K4n(this.a,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),D(1774,1,QU,Net),h.de=function(){FA(this.b,this.a,-1)},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),D(1776,1,Ld,YZ),h.Lb=function(t){return De(l(t,60).g,10)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,10)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),D(1777,1,fr,XZ),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),D(1778,1,{},fYe),h.Ye=function(t){return Akn(this.a,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),D(1779,1,{},QZ),h.We=function(){return 0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),D(1762,1,{},JZ),h.We=function(){return 0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),D(1781,1,fr,Det),h.Cd=function(t){Jdn(this.a,this.b,l(t,316))},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),D(1780,1,QU,Iet),h.de=function(){I2t(this.a,this.b,-1)},h.b=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),D(1782,1,Ld,ZZ),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),D(1783,1,fr,Dj),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),D(1763,1,ti,eee),h.Mb=function(t){return De(l(t,60).g,10)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),D(1765,1,fr,Oet),h.Cd=function(t){Zdn(this.a,this.b,l(t,60))},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),D(1764,1,QU,Pet),h.de=function(){FA(this.b,this.a,-1)},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),D(1766,1,Ld,tee),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),D(1767,1,fr,nee),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),D(1768,1,ti,ree),h.Mb=function(t){return De(l(t,60).g,154)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),D(1770,1,fr,Fet),h.Cd=function(t){mwn(this.a,this.b,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),D(1586,1,ts,nrt),h.Kf=function(t,n){PLn(this,l(t,36),n)};var Q8t;I(aa,"HorizontalGraphCompactor",1586),D(1587,1,{},dYe),h.ff=function(t,n){var r,a,o;return q6e(t,n)||(r=G5(t),a=G5(n),r&&r.k==(Zn(),Us)||a&&a.k==(Zn(),Us))?0:(o=l(Q(this.a.a,(ft(),$6)),312),jhn(o,r?r.k:(Zn(),Aa),a?a.k:(Zn(),Aa)))},h.gf=function(t,n){var r,a,o;return q6e(t,n)?1:(r=G5(t),a=G5(n),o=l(Q(this.a.a,(ft(),$6)),312),Oye(o,r?r.k:(Zn(),Aa),a?a.k:(Zn(),Aa)))},I(aa,"HorizontalGraphCompactor/1",1587),D(1588,1,{},Ij),h.ef=function(t,n){return p_(),t.a.i==0},I(aa,"HorizontalGraphCompactor/lambda$0$Type",1588),D(1589,1,{},gYe),h.ef=function(t,n){return Epn(this.a,t,n)},I(aa,"HorizontalGraphCompactor/lambda$1$Type",1589),D(1730,1,{},Glt);var J8t,Z8t;I(aa,"LGraphToCGraphTransformer",1730),D(1738,1,ti,wS),h.Mb=function(t){return t!=null},I(aa,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),D(1731,1,{},iee),h.Kb=function(t){return u0(),xc(Q(l(l(t,60).g,10),(ft(),zi)))},I(aa,"LGraphToCGraphTransformer/lambda$0$Type",1731),D(1732,1,{},see),h.Kb=function(t){return u0(),r1t(l(l(t,60).g,154))},I(aa,"LGraphToCGraphTransformer/lambda$1$Type",1732),D(1741,1,ti,Oj),h.Mb=function(t){return u0(),De(l(t,60).g,10)},I(aa,"LGraphToCGraphTransformer/lambda$10$Type",1741),D(1742,1,fr,aee),h.Cd=function(t){Apn(l(t,60))},I(aa,"LGraphToCGraphTransformer/lambda$11$Type",1742),D(1743,1,ti,oee),h.Mb=function(t){return u0(),De(l(t,60).g,154)},I(aa,"LGraphToCGraphTransformer/lambda$12$Type",1743),D(1747,1,fr,cee),h.Cd=function(t){s4n(l(t,60))},I(aa,"LGraphToCGraphTransformer/lambda$13$Type",1747),D(1744,1,fr,pYe),h.Cd=function(t){Iln(this.a,l(t,8))},h.a=0,I(aa,"LGraphToCGraphTransformer/lambda$14$Type",1744),D(1745,1,fr,bYe),h.Cd=function(t){Nln(this.a,l(t,116))},h.a=0,I(aa,"LGraphToCGraphTransformer/lambda$15$Type",1745),D(1746,1,fr,mYe),h.Cd=function(t){Oln(this.a,l(t,8))},h.a=0,I(aa,"LGraphToCGraphTransformer/lambda$16$Type",1746),D(1748,1,{},uee),h.Kb=function(t){return u0(),new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(aa,"LGraphToCGraphTransformer/lambda$17$Type",1748),D(1749,1,ti,lee),h.Mb=function(t){return u0(),Do(l(t,18))},I(aa,"LGraphToCGraphTransformer/lambda$18$Type",1749),D(1750,1,fr,vYe),h.Cd=function(t){Yvn(this.a,l(t,18))},I(aa,"LGraphToCGraphTransformer/lambda$19$Type",1750),D(1734,1,fr,wYe),h.Cd=function(t){kbn(this.a,l(t,154))},I(aa,"LGraphToCGraphTransformer/lambda$2$Type",1734),D(1751,1,{},hee),h.Kb=function(t){return u0(),new bn(null,new kn(l(t,30).a,16))},I(aa,"LGraphToCGraphTransformer/lambda$20$Type",1751),D(1752,1,{},Nj),h.Kb=function(t){return u0(),new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(aa,"LGraphToCGraphTransformer/lambda$21$Type",1752),D(1753,1,{},fee),h.Kb=function(t){return u0(),l(Q(l(t,18),(ft(),fv)),15)},I(aa,"LGraphToCGraphTransformer/lambda$22$Type",1753),D(1754,1,ti,Pj),h.Mb=function(t){return $hn(l(t,15))},I(aa,"LGraphToCGraphTransformer/lambda$23$Type",1754),D(1755,1,fr,yYe),h.Cd=function(t){bkn(this.a,l(t,15))},I(aa,"LGraphToCGraphTransformer/lambda$24$Type",1755),D(1733,1,fr,Ret),h.Cd=function(t){wmn(this.a,this.b,l(t,154))},I(aa,"LGraphToCGraphTransformer/lambda$3$Type",1733),D(1735,1,{},dee),h.Kb=function(t){return u0(),new bn(null,new kn(l(t,30).a,16))},I(aa,"LGraphToCGraphTransformer/lambda$4$Type",1735),D(1736,1,{},gee),h.Kb=function(t){return u0(),new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(aa,"LGraphToCGraphTransformer/lambda$5$Type",1736),D(1737,1,{},pee),h.Kb=function(t){return u0(),l(Q(l(t,18),(ft(),fv)),15)},I(aa,"LGraphToCGraphTransformer/lambda$6$Type",1737),D(1739,1,fr,xYe),h.Cd=function(t){Lkn(this.a,l(t,15))},I(aa,"LGraphToCGraphTransformer/lambda$8$Type",1739),D(1740,1,fr,jet),h.Cd=function(t){ihn(this.a,this.b,l(t,154))},I(aa,"LGraphToCGraphTransformer/lambda$9$Type",1740),D(1729,1,{},yS),h.cf=function(t){var n,r,a,o,f;for(this.a=t,this.d=new jie,this.c=We(z_e,Rn,125,this.a.a.a.c.length,0,1),this.b=0,r=new G(this.a.a.a);r.a=te&&(vt(f,pt(L)),Me=b.Math.max(Me,$e[L-1]-B),w+=J,fe+=$e[L-1]-fe,B=$e[L-1],J=E[L]),J=b.Math.max(J,E[L]),++L;w+=J}V=b.Math.min(1/Me,1/n.b/w),V>a&&(a=V,r=f)}return r},h.pg=function(){return!1},I(Od,"MSDCutIndexHeuristic",816),D(1683,1,ts,Fee),h.Kf=function(t,n){RAn(l(t,36),n)},I(Od,"SingleEdgeGraphWrapper",1683),D(232,22,{3:1,34:1,22:1,232:1},E_);var O6,IT,OT,h4,qL,N6,NT=Fr(ou,"CenterEdgeLabelPlacementStrategy",232,Hr,Evn,C0n),hxt;D(431,22,{3:1,34:1,22:1,431:1},N3e);var lLe,S1e,hLe=Fr(ou,"ConstraintCalculationStrategy",431,Hr,Hpn,S0n),fxt;D(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},wse),h.dg=function(){return $pt(this)},h.qg=function(){return $pt(this)};var mB,HL,fLe,dLe=Fr(ou,"CrossingMinimizationStrategy",322,Hr,F2n,_0n),dxt;D(351,22,{3:1,34:1,22:1,351:1},yse);var gLe,_1e,YK,pLe=Fr(ou,"CuttingStrategy",351,Hr,R2n,A0n),gxt;D(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},uO),h.dg=function(){return M2t(this)},h.qg=function(){return M2t(this)};var bLe,A1e,PT,L1e,BT,mLe=Fr(ou,"CycleBreakingStrategy",348,Hr,zmn,L0n),pxt;D(428,22,{3:1,34:1,22:1,428:1},P3e);var XK,vLe,wLe=Fr(ou,"DirectionCongruency",428,Hr,qpn,M0n),bxt;D(460,22,{3:1,34:1,22:1,460:1},xse);var FT,M1e,P6,mxt=Fr(ou,"EdgeConstraint",460,Hr,j2n,F0n),vxt;D(283,22,{3:1,34:1,22:1,283:1},T_);var D1e,I1e,O1e,N1e,QK,P1e,yLe=Fr(ou,"EdgeLabelSideSelection",283,Hr,yvn,R0n),wxt;D(488,22,{3:1,34:1,22:1,488:1},B3e);var JK,xLe,kLe=Fr(ou,"EdgeStraighteningStrategy",488,Hr,Xpn,j0n),yxt;D(281,22,{3:1,34:1,22:1,281:1},C_);var B1e,ELe,TLe,ZK,CLe,SLe,_Le=Fr(ou,"FixedAlignment",281,Hr,xvn,B0n),xxt;D(282,22,{3:1,34:1,22:1,282:1},S_);var ALe,LLe,MLe,DLe,VL,ILe,OLe=Fr(ou,"GraphCompactionStrategy",282,Hr,kvn,D0n),kxt;D(259,22,{3:1,34:1,22:1,259:1},uy);var RT,eW,jT,vf,UL,tW,$T,B6,nW,GL,F1e=Fr(ou,"GraphProperties",259,Hr,a3n,I0n),Ext;D(299,22,{3:1,34:1,22:1,299:1},kse);var vB,R1e,j1e,$1e=Fr(ou,"GreedySwitchType",299,Hr,$2n,O0n),Txt;D(311,22,{3:1,34:1,22:1,311:1},Ese);var Ux,wB,F6,Cxt=Fr(ou,"InLayerConstraint",311,Hr,z2n,N0n),Sxt;D(429,22,{3:1,34:1,22:1,429:1},F3e);var z1e,NLe,PLe=Fr(ou,"InteractiveReferencePoint",429,Hr,zpn,P0n),_xt,BLe,Gx,c3,rW,FLe,RLe,iW,jLe,yB,sW,KL,Kx,pp,q1e,aW,Wc,$Le,jb,Lu,H1e,V1e,xB,hv,u3,Wx,zLe,Yx,kB,f4,o1,$f,U1e,R6,Ki,zi,qLe,HLe,VLe,ULe,GLe,G1e,oW,jl,l3,K1e,Xx,WL,W1,j6,h3,$6,z6,zT,fv,KLe,W1e,Y1e,Qx;D(171,22,{3:1,34:1,22:1,171:1},lO);var YL,$b,XL,d4,EB,WLe=Fr(ou,"LayerConstraint",171,Hr,Hmn,$0n),Axt;D(859,1,Pf,Yre),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,VEe),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),iMe),(g2(),ps)),wLe),un((r1(),Pn))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,UEe),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Hn(),!1)),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fG),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),lMe),ps),PLe),un(Pn)))),Qs(t,fG,zhe,k9t),Qs(t,fG,pL,x9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,GEe),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,KEe),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),ya),Ns),un(Pn)))),sn(t,new Xt(Iun(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,WEe),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),ya),Ns),un(yv)),he(le(zt,1),dt,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,YEe),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),vMe),ps),_De),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,XEe),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),pt(7)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,QEe),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,JEe),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,zhe),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),rMe),ps),mLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qP),hfe),"Node Layering Strategy"),"Strategy for node layering."),dMe),ps),pDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ZEe),hfe),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),hMe),ps),WLe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,eTe),hfe),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,tTe),hfe),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pt(-1)),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qhe),J3t),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),pt(4)),Tc),ro),un(Pn)))),Qs(t,qhe,qP,L9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Hhe),J3t),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),pt(2)),Tc),ro),un(Pn)))),Qs(t,Hhe,qP,D9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Vhe),Z3t),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),fMe),ps),TDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Uhe),Z3t),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),pt(0)),Tc),ro),un(Pn)))),Qs(t,Uhe,Vhe,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ghe),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),pt(Ii)),Tc),ro),un(Pn)))),Qs(t,Ghe,qP,T9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pL),gT),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),nMe),ps),dLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nTe),gT),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Khe),gT),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),fo),ta),un(Pn)))),Qs(t,Khe,CG,Wxt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Whe),gT),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),ya),Ns),un(Pn)))),Qs(t,Whe,pL,e9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rTe),gT),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),J6),zt),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,iTe),gT),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),J6),zt),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,sTe),gT),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,aTe),gT),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pt(-1)),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,oTe),eyt),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),pt(40)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Yhe),eyt),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),tMe),ps),$1e),un(Pn)))),Qs(t,Yhe,pL,Gxt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dG),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),eMe),ps),$1e),un(Pn)))),Qs(t,dG,pL,Hxt),Qs(t,dG,CG,Vxt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,k6),tyt),"Node Placement Strategy"),"Strategy for node placement."),mMe),ps),wDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,gG),tyt),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),ya),Ns),un(Pn)))),Qs(t,gG,k6,q9t),Qs(t,gG,k6,H9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Xhe),nyt),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),gMe),ps),kLe),un(Pn)))),Qs(t,Xhe,k6,R9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Qhe),nyt),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),pMe),ps),_Le),un(Pn)))),Qs(t,Qhe,k6,$9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Jhe),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),fo),ta),un(Pn)))),Qs(t,Jhe,k6,U9t),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Zhe),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),ps),mde),un(ha)))),Qs(t,Zhe,k6,Y9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,efe),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),bMe),ps),mde),un(Pn)))),Qs(t,efe,k6,W9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,cTe),ryt),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),oMe),ps),MDe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,uTe),ryt),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),cMe),ps),DDe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pG),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),uMe),ps),ODe),un(Pn)))),Qs(t,pG,HP,h9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bG),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),fo),ta),un(Pn)))),Qs(t,bG,HP,d9t),Qs(t,bG,pG,g9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,tfe),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),fo),ta),un(Pn)))),Qs(t,tfe,HP,o9t),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,lTe),U1),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hTe),U1),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fTe),U1),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dTe),U1),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gTe),TTe),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),pt(0)),Tc),ro),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pTe),TTe),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),pt(0)),Tc),ro),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bTe),TTe),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),pt(0)),Tc),ro),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nfe),CTe),w3t),"Tries to further compact components (disconnected sub-graphs)."),!1),ya),Ns),un(Pn)))),Qs(t,nfe,lL,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,mTe),iyt),"Post Compaction Strategy"),syt),XLe),ps),OLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,vTe),iyt),"Post Compaction Constraint Calculation"),syt),YLe),ps),hLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,mG),STe),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rfe),STe),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),pt(16)),Tc),ro),un(Pn)))),Qs(t,rfe,mG,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ife),STe),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),pt(5)),Tc),ro),un(Pn)))),Qs(t,ife,mG,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fp),_Te),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),xMe),ps),FDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,vG),_Te),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),fo),ta),un(Pn)))),Qs(t,vG,fp,ckt),Qs(t,vG,fp,ukt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,wG),_Te),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),fo),ta),un(Pn)))),Qs(t,wG,fp,hkt),Qs(t,wG,fp,fkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bL),ayt),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),yMe),ps),pLe),un(Pn)))),Qs(t,bL,fp,vkt),Qs(t,bL,fp,wkt),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,sfe),ayt),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),X1),mf),un(Pn)))),Qs(t,sfe,bL,gkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,afe),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),wMe),Tc),ro),un(Pn)))),Qs(t,afe,bL,bkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,yG),oyt),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),kMe),ps),BDe),un(Pn)))),Qs(t,yG,fp,Dkt),Qs(t,yG,fp,Ikt),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,xG),oyt),"Valid Indices for Wrapping"),null),X1),mf),un(Pn)))),Qs(t,xG,fp,Akt),Qs(t,xG,fp,Lkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,kG),ATe),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),ya),Ns),un(Pn)))),Qs(t,kG,fp,Ekt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,EG),ATe),"Distance Penalty When Improving Cuts"),null),2),fo),ta),un(Pn)))),Qs(t,EG,fp,xkt),Qs(t,EG,kG,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ofe),ATe),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),ya),Ns),un(Pn)))),Qs(t,ofe,fp,Ckt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,wTe),ffe),"Edge Label Side Selection"),"Method to decide on edge label sides."),aMe),ps),yLe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,yTe),ffe),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),sMe),ps),NT),rs(Pn,he(le(xg,1),it,170,0,[S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,TG),mL),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),ZLe),ps),SDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,xTe),mL),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,kTe),mL),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,cfe),mL),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),QLe),ps),mAe),un(Pn)))),Qs(t,cfe,lL,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ETe),mL),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),JLe),ps),mDe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ufe),mL),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),fo),ta),un(Pn)))),Qs(t,ufe,TG,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,lfe),mL),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),fo),ta),un(Pn)))),Qs(t,lfe,TG,null),Twt((new Xre,t))};var Lxt,Mxt,Dxt,YLe,Ixt,XLe,Oxt,QLe,Nxt,Pxt,Bxt,JLe,Fxt,Rxt,jxt,ZLe,$xt,zxt,qxt,eMe,Hxt,Vxt,Uxt,tMe,Gxt,Kxt,Wxt,Yxt,Xxt,Qxt,Jxt,Zxt,e9t,t9t,nMe,n9t,rMe,r9t,iMe,i9t,sMe,s9t,aMe,a9t,o9t,c9t,oMe,u9t,cMe,l9t,uMe,h9t,f9t,d9t,g9t,p9t,b9t,m9t,v9t,w9t,y9t,lMe,x9t,k9t,E9t,T9t,C9t,S9t,hMe,_9t,A9t,L9t,M9t,D9t,I9t,O9t,fMe,N9t,dMe,P9t,B9t,F9t,gMe,R9t,j9t,pMe,$9t,z9t,q9t,H9t,V9t,U9t,G9t,K9t,bMe,W9t,Y9t,X9t,mMe,Q9t,vMe,J9t,Z9t,ekt,tkt,nkt,rkt,ikt,skt,akt,okt,ckt,ukt,lkt,hkt,fkt,dkt,gkt,pkt,wMe,bkt,mkt,yMe,vkt,wkt,ykt,xkt,kkt,Ekt,Tkt,Ckt,Skt,xMe,_kt,Akt,Lkt,Mkt,kMe,Dkt,Ikt;I(ou,"LayeredMetaDataProvider",859),D(998,1,Pf,Xre),h.hf=function(t){Twt(t)};var Rd,X1e,cW,QL,uW,EMe,lW,g4,hW,TMe,CMe,fW,Q1e,yg,J1e,f3,SMe,TB,Z1e,_Me,Okt,Nkt,Pkt,dW,ede,JL,dv,Bkt,Rh,AMe,LMe,gW,tde,jd,pW,bp,MMe,DMe,IMe,nde,rde,OMe,x2,ide,NMe,p4,PMe,BMe,FMe,bW,b4,gv,RMe,jMe,cc,$Me,Fkt,Qu,mW,zMe,qMe,HMe,zb,pv,vW,VMe,UMe,wW,d3,GMe,sde,ZL,KMe,g3,eM,yW,bv,ade,qT,xW,mv,WMe,YMe,XMe,HT,QMe,Rkt,jkt,$kt,zkt,p3,m4,Ms,k2,qkt,v4,JMe,VT,ZMe,w4,Hkt,UT,eDe,Jx,Vkt,Ukt,CB,ode,tDe,SB,x0,q6,H6,b3,vv,kW,y4,cde,GT,KT,m3,V6,ude,_B,tM,nM,Gkt,Kkt,Wkt,nDe,Ykt,lde,rDe,iDe,sDe,aDe,hde,oDe,cDe,uDe,lDe,fde,EW;I(ou,"LayeredOptions",998),D(999,1,{},Ree),h.sf=function(){var t;return t=new qQe,t},h.tf=function(t){},I(ou,"LayeredOptions/LayeredFactory",999),D(1391,1,{}),h.a=0;var Xkt;I(Uc,"ElkSpacings/AbstractSpacingsBuilder",1391),D(792,1391,{},D8e);var TW,Qkt;I(ou,"LayeredSpacings/LayeredSpacingsBuilder",792),D(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},M5),h.dg=function(){return jbt(this)},h.qg=function(){return jbt(this)};var WT,dde,YT,hDe,fDe,dDe,CW,gde,gDe,pDe=Fr(ou,"LayeringStrategy",265,Hr,Bwn,z0n),Jkt;D(390,22,{3:1,34:1,22:1,390:1},Tse);var pde,bDe,SW,mDe=Fr(ou,"LongEdgeOrderingStrategy",390,Hr,q2n,q0n),Zkt;D(203,22,{3:1,34:1,22:1,203:1},bq);var U6,G6,_W,bde,mde=Fr(ou,"NodeFlexibility",203,Hr,Qbn,H0n),eEt;D(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},hO),h.dg=function(){return L2t(this)},h.qg=function(){return L2t(this)};var rM,vde,wde,iM,vDe,wDe=Fr(ou,"NodePlacementStrategy",323,Hr,qmn,V0n),tEt;D(243,22,{3:1,34:1,22:1,243:1},ly);var yDe,v3,x4,AB,xDe,kDe,LB,EDe,AW,LW,TDe=Fr(ou,"NodePromotionStrategy",243,Hr,o3n,U0n),nEt;D(284,22,{3:1,34:1,22:1,284:1},mq);var CDe,E2,yde,xde,SDe=Fr(ou,"OrderingStrategy",284,Hr,Jbn,G0n),rEt;D(430,22,{3:1,34:1,22:1,430:1},R3e);var kde,Ede,_De=Fr(ou,"PortSortingStrategy",430,Hr,Vpn,K0n),iEt;D(463,22,{3:1,34:1,22:1,463:1},Cse);var $l,zu,sM,sEt=Fr(ou,"PortType",463,Hr,H2n,W0n),aEt;D(387,22,{3:1,34:1,22:1,387:1},Sse);var ADe,Tde,LDe,MDe=Fr(ou,"SelfLoopDistributionStrategy",387,Hr,V2n,Y0n),oEt;D(349,22,{3:1,34:1,22:1,349:1},_se);var Cde,MB,Sde,DDe=Fr(ou,"SelfLoopOrderingStrategy",349,Hr,U2n,X0n),cEt;D(312,1,{312:1},xvt),I(ou,"Spacings",312),D(350,22,{3:1,34:1,22:1,350:1},Ase);var _de,IDe,aM,ODe=Fr(ou,"SplineRoutingMode",350,Hr,G2n,Q0n),uEt;D(352,22,{3:1,34:1,22:1,352:1},Lse);var Ade,NDe,PDe,BDe=Fr(ou,"ValidifyStrategy",352,Hr,K2n,J0n),lEt;D(388,22,{3:1,34:1,22:1,388:1},Mse);var k4,Lde,XT,FDe=Fr(ou,"WrappingStrategy",388,Hr,W2n,Z0n),hEt;D(1398,1,Uo,Ure),h.rg=function(t){return l(t,36),fEt},h.Kf=function(t,n){ILn(this,l(t,36),n)};var fEt;I(LG,"DepthFirstCycleBreaker",1398),D(793,1,Uo,Q4e),h.rg=function(t){return l(t,36),dEt},h.Kf=function(t,n){PIn(this,l(t,36),n)},h.sg=function(t){return l(jt(t,aU(this.d,t.c.length)),10)};var dEt;I(LG,"GreedyCycleBreaker",793),D(1401,793,Uo,$tt),h.sg=function(t){var n,r,a,o;for(o=null,n=Ii,a=new G(t);a.a1&&(Rt(Bt(Q(eo((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),f3))))?q2t(t,this.d,l(this,669)):(Cn(),Vs(t,this.d)),Hft(this.e,t))},h.lg=function(t,n,r,a){var o,f,g,w,E,C,L;for(n!=ast(r,t.length)&&(f=t[n-(r?1:-1)],S6e(this.f,f,r?(qo(),zu):(qo(),$l))),o=t[n][0],L=!a||o.k==(Zn(),Us),C=O1(t[n]),this.vg(C,L,!1,r),g=0,E=new G(C);E.a"),t0?loe(this.a,t[n-1],t[n]):!r&&n1&&(Rt(Bt(Q(eo((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),f3))))?q2t(t,this.d,this):(Cn(),Vs(t,this.d)),Rt(Bt(Q(eo((Sn(0,t.c.length),l(t.c[0],10))),f3)))||Hft(this.e,t))},I(Cl,"ModelOrderBarycenterHeuristic",669),D(1866,1,ii,zYe),h.Ne=function(t,n){return D9n(this.a,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Cl,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),D(1423,1,Uo,Jre),h.rg=function(t){var n;return l(t,36),n=Oq(LEt),fi(n,(uo(),bu),(vo(),RK)),n},h.Kf=function(t,n){gpn((l(t,36),n))};var LEt;I(Cl,"NoCrossingMinimizer",1423),D(809,413,uCe,o3e),h.tg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V;switch(B=this.g,r.g){case 1:{for(o=0,f=0,L=new G(t.j);L.a1&&(o.j==(Ct(),ar)?this.b[t]=!0:o.j==er&&t>0&&(this.b[t-1]=!0))},h.f=0,I(bg,"AllCrossingsCounter",1861),D(595,1,{},TV),h.b=0,h.d=0,I(bg,"BinaryIndexedTree",595),D(532,1,{},IO);var $De,DW;I(bg,"CrossingsCounter",532),D(1950,1,ii,qYe),h.Ne=function(t,n){return $dn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(bg,"CrossingsCounter/lambda$0$Type",1950),D(1951,1,ii,HYe),h.Ne=function(t,n){return zdn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(bg,"CrossingsCounter/lambda$1$Type",1951),D(1952,1,ii,VYe),h.Ne=function(t,n){return qdn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(bg,"CrossingsCounter/lambda$2$Type",1952),D(1953,1,ii,UYe),h.Ne=function(t,n){return Hdn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(bg,"CrossingsCounter/lambda$3$Type",1953),D(1954,1,fr,GYe),h.Cd=function(t){Hvn(this.a,l(t,12))},I(bg,"CrossingsCounter/lambda$4$Type",1954),D(1955,1,ti,KYe),h.Mb=function(t){return gln(this.a,l(t,12))},I(bg,"CrossingsCounter/lambda$5$Type",1955),D(1956,1,fr,WYe),h.Cd=function(t){Dtt(this,t)},I(bg,"CrossingsCounter/lambda$6$Type",1956),D(1957,1,fr,qet),h.Cd=function(t){var n;jk(),gb(this.b,(n=this.a,l(t,12),n))},I(bg,"CrossingsCounter/lambda$7$Type",1957),D(839,1,Ld,Xj),h.Lb=function(t){return jk(),ns(l(t,12),(ft(),jl))},h.Fb=function(t){return this===t},h.Mb=function(t){return jk(),ns(l(t,12),(ft(),jl))},I(bg,"CrossingsCounter/lambda$8$Type",839),D(1949,1,{},YYe),I(bg,"HyperedgeCrossingsCounter",1949),D(478,1,{34:1,478:1},Urt),h.Fd=function(t){return q5n(this,l(t,478))},h.b=0,h.c=0,h.e=0,h.f=0;var kOn=I(bg,"HyperedgeCrossingsCounter/Hyperedge",478);D(374,1,{34:1,374:1},CH),h.Fd=function(t){return nTn(this,l(t,374))},h.b=0,h.c=0;var MEt=I(bg,"HyperedgeCrossingsCounter/HyperedgeCorner",374);D(531,22,{3:1,34:1,22:1,531:1},j3e);var cM,uM,DEt=Fr(bg,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,Hr,Upn,t1n),IEt;D(1425,1,Uo,Zre),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?OEt:null},h.Kf=function(t,n){d8n(this,l(t,36),n)};var OEt;I(Go,"InteractiveNodePlacer",1425),D(1426,1,Uo,eie),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?NEt:null},h.Kf=function(t,n){Q6n(this,l(t,36),n)};var NEt,IW,OW;I(Go,"LinearSegmentsNodePlacer",1426),D(261,1,{34:1,261:1},Pwe),h.Fd=function(t){return Sun(this,l(t,261))},h.Fb=function(t){var n;return De(t,261)?(n=l(t,261),this.b==n.b):!1},h.Hb=function(){return this.b},h.Ib=function(){return"ls"+Tb(this.e)},h.a=0,h.b=0,h.c=-1,h.d=-1,h.g=0;var PEt=I(Go,"LinearSegmentsNodePlacer/LinearSegment",261);D(1428,1,Uo,bst),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?BEt:null},h.Kf=function(t,n){SIn(this,l(t,36),n)},h.b=0,h.g=0;var BEt;I(Go,"NetworkSimplexPlacer",1428),D(1447,1,ii,Gee),h.Ne=function(t,n){return ru(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Go,"NetworkSimplexPlacer/0methodref$compare$Type",1447),D(1449,1,ii,Kee),h.Ne=function(t,n){return ru(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Go,"NetworkSimplexPlacer/1methodref$compare$Type",1449),D(655,1,{655:1},Het);var EOn=I(Go,"NetworkSimplexPlacer/EdgeRep",655);D(412,1,{412:1},D5e),h.b=!1;var TOn=I(Go,"NetworkSimplexPlacer/NodeRep",412);D(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},QQe),I(Go,"NetworkSimplexPlacer/Path",515),D(1429,1,{},Wee),h.Kb=function(t){return l(t,18).d.i.k},I(Go,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),D(1430,1,ti,Yee),h.Mb=function(t){return l(t,273)==(Zn(),Aa)},I(Go,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),D(1431,1,{},Xee),h.Kb=function(t){return l(t,18).d.i},I(Go,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),D(1432,1,ti,XYe),h.Mb=function(t){return Lrt(I1t(l(t,10)))},I(Go,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),D(1433,1,ti,Qee),h.Mb=function(t){return Tdn(l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$0$Type",1433),D(1434,1,fr,Vet),h.Cd=function(t){shn(this.a,this.b,l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$1$Type",1434),D(1443,1,fr,QYe),h.Cd=function(t){Dkn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$10$Type",1443),D(1444,1,{},Jee),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$11$Type",1444),D(1445,1,fr,JYe),h.Cd=function(t){CSn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$12$Type",1445),D(1446,1,{},Zee),h.Kb=function(t){return Sh(),pt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$13$Type",1446),D(1448,1,{},ete),h.Kb=function(t){return Sh(),pt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$15$Type",1448),D(1450,1,ti,tte),h.Mb=function(t){return Sh(),l(t,412).c.k==(Zn(),Ps)},I(Go,"NetworkSimplexPlacer/lambda$17$Type",1450),D(1451,1,ti,nte),h.Mb=function(t){return Sh(),l(t,412).c.j.c.length>1},I(Go,"NetworkSimplexPlacer/lambda$18$Type",1451),D(1452,1,fr,Tat),h.Cd=function(t){l5n(this.c,this.b,this.d,this.a,l(t,412))},h.c=0,h.d=0,I(Go,"NetworkSimplexPlacer/lambda$19$Type",1452),D(1435,1,{},rte),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$2$Type",1435),D(1453,1,fr,ZYe),h.Cd=function(t){ohn(this.a,l(t,12))},h.a=0,I(Go,"NetworkSimplexPlacer/lambda$20$Type",1453),D(1454,1,{},ite),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$21$Type",1454),D(1455,1,fr,eXe),h.Cd=function(t){whn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$22$Type",1455),D(1456,1,ti,ste),h.Mb=function(t){return Lrt(t)},I(Go,"NetworkSimplexPlacer/lambda$23$Type",1456),D(1457,1,{},ate),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$24$Type",1457),D(1458,1,ti,tXe),h.Mb=function(t){return Aln(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$25$Type",1458),D(1459,1,fr,Uet),h.Cd=function(t){P9n(this.a,this.b,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$26$Type",1459),D(1460,1,ti,s8),h.Mb=function(t){return Sh(),!Do(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$27$Type",1460),D(1461,1,ti,Qj),h.Mb=function(t){return Sh(),!Do(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$28$Type",1461),D(1462,1,{},nXe),h.Ve=function(t,n){return ahn(this.a,l(t,30),l(n,30))},I(Go,"NetworkSimplexPlacer/lambda$29$Type",1462),D(1436,1,{},ote),h.Kb=function(t){return Sh(),new bn(null,new vw(new hr(dr(qs(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$3$Type",1436),D(1437,1,ti,cte),h.Mb=function(t){return Sh(),Bbn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$4$Type",1437),D(1438,1,fr,rXe),h.Cd=function(t){NAn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$5$Type",1438),D(1439,1,{},ute),h.Kb=function(t){return Sh(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$6$Type",1439),D(1440,1,ti,Jj),h.Mb=function(t){return Sh(),l(t,10).k==(Zn(),Ps)},I(Go,"NetworkSimplexPlacer/lambda$7$Type",1440),D(1441,1,{},lte),h.Kb=function(t){return Sh(),new bn(null,new vw(new hr(dr(sp(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$8$Type",1441),D(1442,1,ti,TS),h.Mb=function(t){return Sh(),Edn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$9$Type",1442),D(1424,1,Uo,tie),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?FEt:null},h.Kf=function(t,n){gLn(l(t,36),n)};var FEt;I(Go,"SimpleNodePlacer",1424),D(185,1,{185:1},f6),h.Ib=function(){var t;return t="",this.c==(xd(),w3)?t+=Dx:this.c==T2&&(t+=Mx),this.o==(D1(),wv)?t+=whe:this.o==Y1?t+="UP":t+="BALANCED",t},I(Ib,"BKAlignedLayout",185),D(523,22,{3:1,34:1,22:1,523:1},$3e);var T2,w3,REt=Fr(Ib,"BKAlignedLayout/HDirection",523,Hr,Kpn,n1n),jEt;D(522,22,{3:1,34:1,22:1,522:1},z3e);var wv,Y1,$Et=Fr(Ib,"BKAlignedLayout/VDirection",522,Hr,Wpn,r1n),zEt;D(1699,1,{},Get),I(Ib,"BKAligner",1699),D(1702,1,{},rgt),I(Ib,"BKCompactor",1702),D(663,1,{663:1},hte),h.a=0,I(Ib,"BKCompactor/ClassEdge",663),D(467,1,{467:1},WQe),h.a=null,h.b=0,I(Ib,"BKCompactor/ClassNode",467),D(1427,1,Uo,Xet),h.rg=function(t){return l(Q(l(t,36),(ft(),Lu)),21).Hc((Ho(),vf))?qEt:null},h.Kf=function(t,n){VIn(this,l(t,36),n)},h.d=!1;var qEt;I(Ib,"BKNodePlacer",1427),D(1700,1,{},fte),h.d=0,I(Ib,"NeighborhoodInformation",1700),D(1701,1,ii,iXe),h.Ne=function(t,n){return vwn(this,l(t,42),l(n,42))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Ib,"NeighborhoodInformation/NeighborComparator",1701),D(823,1,{}),I(Ib,"ThresholdStrategy",823),D(1825,823,{},YQe),h.wg=function(t,n,r){return this.a.o==(D1(),Y1)?gs:ia},h.xg=function(){},I(Ib,"ThresholdStrategy/NullThresholdStrategy",1825),D(587,1,{587:1},Qet),h.c=!1,h.d=!1,I(Ib,"ThresholdStrategy/Postprocessable",587),D(1826,823,{},XQe),h.wg=function(t,n,r){var a,o,f;return o=n==r,a=this.a.a[r.p]==n,o||a?(f=t,this.a.c==(xd(),w3)?(o&&(f=vle(this,n,!0)),!isNaN(f)&&!isFinite(f)&&a&&(f=vle(this,r,!1))):(o&&(f=vle(this,n,!0)),!isNaN(f)&&!isFinite(f)&&a&&(f=vle(this,r,!1))),f):t},h.xg=function(){for(var t,n,r,a,o;this.d.b!=0;)o=l(u2n(this.d),587),a=Lmt(this,o),a.a&&(t=a.a,r=Rt(this.a.f[this.a.g[o.b.p].p]),!(!r&&!Do(t)&&t.c.i.c==t.d.i.c)&&(n=N2t(this,o),n||Dln(this.e,o)));for(;this.e.a.c.length!=0;)N2t(this,l(P0t(this.e),587))},I(Ib,"ThresholdStrategy/SimpleThresholdStrategy",1826),D(645,1,{645:1,188:1,196:1},dte),h.dg=function(){return Vft(this)},h.qg=function(){return Vft(this)};var Mde;I(mfe,"EdgeRouterFactory",645),D(1485,1,Uo,nie),h.rg=function(t){return tSn(l(t,36))},h.Kf=function(t,n){xLn(l(t,36),n)};var HEt,VEt,UEt,GEt,KEt,zDe,WEt,YEt;I(mfe,"OrthogonalEdgeRouter",1485),D(1478,1,Uo,Yet),h.rg=function(t){return E8n(l(t,36))},h.Kf=function(t,n){VDn(this,l(t,36),n)};var XEt,QEt,JEt,ZEt,IB,eTt;I(mfe,"PolylineEdgeRouter",1478),D(1479,1,Ld,pte),h.Lb=function(t){return A7e(l(t,10))},h.Fb=function(t){return this===t},h.Mb=function(t){return A7e(l(t,10))},I(mfe,"PolylineEdgeRouter/1",1479),D(1872,1,ti,bte),h.Mb=function(t){return l(t,132).c==(J0(),qb)},I(i1,"HyperEdgeCycleDetector/lambda$0$Type",1872),D(1873,1,{},mte),h.Ze=function(t){return l(t,132).d},I(i1,"HyperEdgeCycleDetector/lambda$1$Type",1873),D(1874,1,ti,vte),h.Mb=function(t){return l(t,132).c==(J0(),qb)},I(i1,"HyperEdgeCycleDetector/lambda$2$Type",1874),D(1875,1,{},wte),h.Ze=function(t){return l(t,132).d},I(i1,"HyperEdgeCycleDetector/lambda$3$Type",1875),D(1876,1,{},yte),h.Ze=function(t){return l(t,132).d},I(i1,"HyperEdgeCycleDetector/lambda$4$Type",1876),D(1877,1,{},gte),h.Ze=function(t){return l(t,132).d},I(i1,"HyperEdgeCycleDetector/lambda$5$Type",1877),D(118,1,{34:1,118:1},xN),h.Fd=function(t){return _un(this,l(t,118))},h.Fb=function(t){var n;return De(t,118)?(n=l(t,118),this.g==n.g):!1},h.Hb=function(){return this.g},h.Ib=function(){var t,n,r,a;for(t=new Th("{"),a=new G(this.n);a.a"+this.b+" ("+Ghn(this.c)+")"},h.d=0,I(i1,"HyperEdgeSegmentDependency",132),D(528,22,{3:1,34:1,22:1,528:1},q3e);var qb,E4,tTt=Fr(i1,"HyperEdgeSegmentDependency/DependencyType",528,Hr,Ypn,i1n),nTt;D(1878,1,{},sXe),I(i1,"HyperEdgeSegmentSplitter",1878),D(1879,1,{},QJe),h.a=0,h.b=0,I(i1,"HyperEdgeSegmentSplitter/AreaRating",1879),D(339,1,{339:1},vae),h.a=0,h.b=0,h.c=0,I(i1,"HyperEdgeSegmentSplitter/FreeArea",339),D(1880,1,ii,a8),h.Ne=function(t,n){return Gfn(l(t,118),l(n,118))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(i1,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),D(1881,1,fr,Cat),h.Cd=function(t){ymn(this.a,this.d,this.c,this.b,l(t,118))},h.b=0,I(i1,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),D(1882,1,{},xte),h.Kb=function(t){return new bn(null,new kn(l(t,118).e,16))},I(i1,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),D(1883,1,{},kte),h.Kb=function(t){return new bn(null,new kn(l(t,118).j,16))},I(i1,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),D(1884,1,{},Ete),h.Ye=function(t){return ze(Ge(t))},I(i1,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),D(664,1,{},Hae),h.a=0,h.b=0,h.c=0,I(i1,"OrthogonalRoutingGenerator",664),D(1703,1,{},Tte),h.Kb=function(t){return new bn(null,new kn(l(t,118).e,16))},I(i1,"OrthogonalRoutingGenerator/lambda$0$Type",1703),D(1704,1,{},Cte),h.Kb=function(t){return new bn(null,new kn(l(t,118).j,16))},I(i1,"OrthogonalRoutingGenerator/lambda$1$Type",1704),D(670,1,{}),I(vfe,"BaseRoutingDirectionStrategy",670),D(1870,670,{},eJe),h.yg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new G(t.n);C.aDd&&(f=L,o=t,a=new lt(B,f),ci(g.a,a),Vw(this,g,o,a,!1),z=t.r,z&&(V=ze(Ge(ff(z.e,0))),a=new lt(V,f),ci(g.a,a),Vw(this,g,o,a,!1),f=n+z.o*r,o=z,a=new lt(V,f),ci(g.a,a),Vw(this,g,o,a,!1)),a=new lt(te,f),ci(g.a,a),Vw(this,g,o,a,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return Ct(),Dr},h.Bg=function(){return Ct(),Qn},I(vfe,"NorthToSouthRoutingStrategy",1870),D(1871,670,{},tJe),h.yg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te;if(!(t.r&&!t.q))for(L=n-t.o*r,C=new G(t.n);C.aDd&&(f=L,o=t,a=new lt(B,f),ci(g.a,a),Vw(this,g,o,a,!1),z=t.r,z&&(V=ze(Ge(ff(z.e,0))),a=new lt(V,f),ci(g.a,a),Vw(this,g,o,a,!1),f=n-z.o*r,o=z,a=new lt(V,f),ci(g.a,a),Vw(this,g,o,a,!1)),a=new lt(te,f),ci(g.a,a),Vw(this,g,o,a,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return Ct(),Qn},h.Bg=function(){return Ct(),Dr},I(vfe,"SouthToNorthRoutingStrategy",1871),D(1869,670,{},nJe),h.yg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new G(t.n);C.aDd&&(f=L,o=t,a=new lt(f,B),ci(g.a,a),Vw(this,g,o,a,!0),z=t.r,z&&(V=ze(Ge(ff(z.e,0))),a=new lt(f,V),ci(g.a,a),Vw(this,g,o,a,!0),f=n+z.o*r,o=z,a=new lt(f,V),ci(g.a,a),Vw(this,g,o,a,!0)),a=new lt(f,te),ci(g.a,a),Vw(this,g,o,a,!0)))},h.zg=function(t){return t.i.n.b+t.n.b+t.a.b},h.Ag=function(){return Ct(),ar},h.Bg=function(){return Ct(),er},I(vfe,"WestToEastRoutingStrategy",1869),D(828,1,{},Ske),h.Ib=function(){return Tb(this.a)},h.b=0,h.c=!1,h.d=!1,h.f=0,I(Zy,"NubSpline",828),D(418,1,{418:1},dbt,rot),I(Zy,"NubSpline/PolarCP",418),D(1480,1,Uo,Ydt),h.rg=function(t){return fxn(l(t,36))},h.Kf=function(t,n){uIn(this,l(t,36),n)};var rTt,iTt,sTt,aTt,oTt;I(Zy,"SplineEdgeRouter",1480),D(274,1,{274:1},WH),h.Ib=function(){return this.a+" ->("+this.c+") "+this.b},h.c=0,I(Zy,"SplineEdgeRouter/Dependency",274),D(465,22,{3:1,34:1,22:1,465:1},H3e);var Hb,K6,cTt=Fr(Zy,"SplineEdgeRouter/SideToProcess",465,Hr,t2n,s1n),uTt;D(1481,1,ti,Ste),h.Mb=function(t){return GA(),!l(t,131).o},I(Zy,"SplineEdgeRouter/lambda$0$Type",1481),D(1482,1,{},_te),h.Ze=function(t){return GA(),l(t,131).v+1},I(Zy,"SplineEdgeRouter/lambda$1$Type",1482),D(1483,1,fr,Jet),h.Cd=function(t){_dn(this.a,this.b,l(t,42))},I(Zy,"SplineEdgeRouter/lambda$2$Type",1483),D(1484,1,fr,Zet),h.Cd=function(t){Adn(this.a,this.b,l(t,42))},I(Zy,"SplineEdgeRouter/lambda$3$Type",1484),D(131,1,{34:1,131:1},_pt,Ike),h.Fd=function(t){return Mun(this,l(t,131))},h.b=0,h.e=!1,h.f=0,h.g=0,h.j=!1,h.k=!1,h.n=0,h.o=!1,h.p=!1,h.q=!1,h.s=0,h.u=0,h.v=0,h.F=0,I(Zy,"SplineSegment",131),D(468,1,{468:1},Ate),h.a=0,h.b=!1,h.c=!1,h.d=!1,h.e=!1,h.f=0,I(Zy,"SplineSegment/EdgeInformation",468),D(1198,1,{},CS),I(gp,LEe,1198),D(1199,1,ii,Lte),h.Ne=function(t,n){return Wkn(l(t,121),l(n,121))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(gp,E3t,1199),D(1197,1,{},dZe),I(gp,"MrTree",1197),D(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},vq),h.dg=function(){return Wpt(this)},h.qg=function(){return Wpt(this)};var NW,lM,hM,fM,qDe=Fr(gp,"TreeLayoutPhases",405,Hr,rmn,a1n),lTt;D(1112,205,tv,Hrt),h.rf=function(t,n){var r,a,o,f,g,w,E,C;for(Rt(Bt(at(t,(Hc(),dIe))))||KO((r=new Yv((aw(),new Jv(t))),r)),g=n.eh(xfe),g.Ug("build tGraph",1),w=(E=new nN,pc(E,t),rt(E,(Qi(),gM),t),C=new Pr,z_n(t,E,C),aAn(t,E,C),E),g.Vg(),g=n.eh(xfe),g.Ug("Split graph",1),f=K_n(this.a,w),g.Vg(),o=new G(f);o.a"+Bm(this.c):"e_"+es(this)},I(vL,"TEdge",65),D(121,137,{3:1,121:1,96:1,137:1},nN),h.Ib=function(){var t,n,r,a,o;for(o=null,a=Rr(this.b,0);a.b!=a.d.c;)r=l(Br(a),40),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+` +`;for(n=Rr(this.a,0);n.b!=n.d.c;)t=l(Br(n),65),o+=(t.b&&t.c?Bm(t.b)+"->"+Bm(t.c):"e_"+es(t))+` +`;return o};var COn=I(vL,"TGraph",121);D(643,508,{3:1,508:1,643:1,96:1,137:1}),I(vL,"TShape",643),D(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},xce),h.Ib=function(){return Bm(this)};var PW=I(vL,"TNode",40);D(236,1,hg,Hg),h.Jc=function(t){to(this,t)},h.Kc=function(){var t;return t=Rr(this.a.d,0),new C5(t)},I(vL,"TNode/2",236),D(329,1,Oa,C5),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(Br(this.a),65).c},h.Ob=function(){return QI(this.a)},h.Qb=function(){Yoe(this.a)},I(vL,"TNode/2/1",329),D(1923,1,ts,Bte),h.Kf=function(t,n){jIn(this,l(t,121),n)},I(Su,"CompactionProcessor",1923),D(1924,1,ii,lXe),h.Ne=function(t,n){return S3n(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$0$Type",1924),D(1925,1,ti,ttt),h.Mb=function(t){return Ipn(this.b,this.a,l(t,42))},h.a=0,h.b=0,I(Su,"CompactionProcessor/lambda$1$Type",1925),D(1934,1,ii,o8),h.Ne=function(t,n){return Egn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$10$Type",1934),D(1935,1,ii,Zj),h.Ne=function(t,n){return Fhn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$11$Type",1935),D(1936,1,ii,Fte),h.Ne=function(t,n){return Tgn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$12$Type",1936),D(1926,1,ti,hXe),h.Mb=function(t){return yhn(this.a,l(t,42))},h.a=0,I(Su,"CompactionProcessor/lambda$2$Type",1926),D(1927,1,ti,fXe),h.Mb=function(t){return xhn(this.a,l(t,42))},h.a=0,I(Su,"CompactionProcessor/lambda$3$Type",1927),D(1928,1,ti,pI),h.Mb=function(t){return l(t,40).c.indexOf(DG)==-1},I(Su,"CompactionProcessor/lambda$4$Type",1928),D(1929,1,{},dXe),h.Kb=function(t){return Nbn(this.a,l(t,40))},h.a=0,I(Su,"CompactionProcessor/lambda$5$Type",1929),D(1930,1,{},gXe),h.Kb=function(t){return qvn(this.a,l(t,40))},h.a=0,I(Su,"CompactionProcessor/lambda$6$Type",1930),D(1931,1,ii,pXe),h.Ne=function(t,n){return Zmn(this.a,l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$7$Type",1931),D(1932,1,ii,bXe),h.Ne=function(t,n){return evn(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$8$Type",1932),D(1933,1,ii,Rte),h.Ne=function(t,n){return Rhn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Su,"CompactionProcessor/lambda$9$Type",1933),D(1921,1,ts,jte),h.Kf=function(t,n){PSn(l(t,121),n)},I(Su,"DirectionProcessor",1921),D(1913,1,ts,qrt),h.Kf=function(t,n){iAn(this,l(t,121),n)},I(Su,"FanProcessor",1913),D(1937,1,ts,$te),h.Kf=function(t,n){ESn(l(t,121),n)},I(Su,"GraphBoundsProcessor",1937),D(1938,1,{},zte),h.Ye=function(t){return l(t,40).e.a},I(Su,"GraphBoundsProcessor/lambda$0$Type",1938),D(1939,1,{},qte),h.Ye=function(t){return l(t,40).e.b},I(Su,"GraphBoundsProcessor/lambda$1$Type",1939),D(1940,1,{},Hte),h.Ye=function(t){return rln(l(t,40))},I(Su,"GraphBoundsProcessor/lambda$2$Type",1940),D(1941,1,{},Vte),h.Ye=function(t){return nln(l(t,40))},I(Su,"GraphBoundsProcessor/lambda$3$Type",1941),D(262,22,{3:1,34:1,22:1,262:1,196:1},ow),h.dg=function(){switch(this.g){case 0:return new bJe;case 1:return new qrt;case 2:return new pJe;case 3:return new n$;case 4:return new Ute;case 8:return new e$;case 5:return new jte;case 6:return new i$;case 7:return new Bte;case 9:return new $te;case 10:return new Kte;default:throw ue(new Yn(Fhe+(this.f!=null?this.f:""+this.g)))}};var HDe,VDe,UDe,GDe,KDe,WDe,YDe,XDe,QDe,JDe,Dde,SOn=Fr(Su,Rhe,262,Hr,Bft,o1n),hTt;D(1920,1,ts,e$),h.Kf=function(t,n){BDn(l(t,121),n)},I(Su,"LevelCoordinatesProcessor",1920),D(1918,1,ts,Ute),h.Kf=function(t,n){rCn(this,l(t,121),n)},h.a=0,I(Su,"LevelHeightProcessor",1918),D(1919,1,hg,t$),h.Jc=function(t){to(this,t)},h.Kc=function(){return Cn(),Mk(),AT},I(Su,"LevelHeightProcessor/1",1919),D(1914,1,ts,pJe),h.Kf=function(t,n){mSn(this,l(t,121),n)},I(Su,"LevelProcessor",1914),D(1915,1,ti,Gte),h.Mb=function(t){return Rt(Bt(Q(l(t,40),(Qi(),Vb))))},I(Su,"LevelProcessor/lambda$0$Type",1915),D(1916,1,ts,n$),h.Kf=function(t,n){ekn(this,l(t,121),n)},h.a=0,I(Su,"NeighborsProcessor",1916),D(1917,1,hg,r$),h.Jc=function(t){to(this,t)},h.Kc=function(){return Cn(),Mk(),AT},I(Su,"NeighborsProcessor/1",1917),D(1922,1,ts,i$),h.Kf=function(t,n){rAn(this,l(t,121),n)},h.a=0,I(Su,"NodePositionProcessor",1922),D(1912,1,ts,bJe),h.Kf=function(t,n){RLn(this,l(t,121),n)},I(Su,"RootProcessor",1912),D(1942,1,ts,Kte),h.Kf=function(t,n){N6n(l(t,121),n)},I(Su,"Untreeifyer",1942),D(392,22,{3:1,34:1,22:1,392:1},Ose);var OB,Ide,ZDe,eIe=Fr(UP,"EdgeRoutingMode",392,Hr,X2n,c1n),fTt,NB,QT,Ode,tIe,nIe,Nde,Pde,rIe,Bde,iIe,Fde,dM,Rde,BW,FW,k0,c1,JT,gM,pM,C2,sIe,dTt,jde,Vb,PB,BB;D(862,1,Pf,rie),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fCe),""),pyt),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(Hn(),!1)),(g2(),ya)),Ns),un((r1(),Pn))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dCe),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gCe),""),"Tree Level"),"The index for the tree level the node is in"),pt(0)),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pCe),""),pyt),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),pt(-1)),Tc),ro),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bCe),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),cIe),ps),yIe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,mCe),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),aIe),ps),eIe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,vCe),""),"Search Order"),"Which search order to use when computing a spanning tree."),oIe),ps),kIe),un(Pn)))),iwt((new v8,t))};var gTt,pTt,bTt,aIe,mTt,vTt,oIe,wTt,yTt,cIe;I(UP,"MrTreeMetaDataProvider",862),D(1006,1,Pf,v8),h.hf=function(t){iwt(t)};var xTt,uIe,lIe,y3,hIe,fIe,$de,kTt,ETt,TTt,CTt,STt,_Tt,ATt,dIe,gIe,pIe,LTt,W6,RW,bIe,MTt,mIe,zde,DTt,ITt,OTt,vIe,NTt,$d,wIe;I(UP,"MrTreeOptions",1006),D(1007,1,{},Wte),h.sf=function(){var t;return t=new Hrt,t},h.tf=function(t){},I(UP,"MrTreeOptions/MrtreeFactory",1007),D(353,22,{3:1,34:1,22:1,353:1},wq);var qde,jW,Hde,Vde,yIe=Fr(UP,"OrderWeighting",353,Hr,imn,u1n),PTt;D(433,22,{3:1,34:1,22:1,433:1},V3e);var xIe,Ude,kIe=Fr(UP,"TreeifyingOrder",433,Hr,Zpn,l1n),BTt;D(1486,1,Uo,aie),h.rg=function(t){return l(t,121),FTt},h.Kf=function(t,n){g3n(this,l(t,121),n)};var FTt;I("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),D(1487,1,Uo,dk),h.rg=function(t){return l(t,121),RTt},h.Kf=function(t,n){xSn(this,l(t,121),n)};var RTt;I(pT,"NodeOrderer",1487),D(1494,1,{},pwe),h.td=function(t){return Yit(t)},I(pT,"NodeOrderer/0methodref$lambda$6$Type",1494),D(1488,1,ti,ane),h.Mb=function(t){return ux(),Rt(Bt(Q(l(t,40),(Qi(),Vb))))},I(pT,"NodeOrderer/lambda$0$Type",1488),D(1489,1,ti,one),h.Mb=function(t){return ux(),l(Q(l(t,40),(Hc(),W6)),17).a<0},I(pT,"NodeOrderer/lambda$1$Type",1489),D(1490,1,ti,vXe),h.Mb=function(t){return Hwn(this.a,l(t,40))},I(pT,"NodeOrderer/lambda$2$Type",1490),D(1491,1,ti,mXe),h.Mb=function(t){return Fbn(this.a,l(t,40))},I(pT,"NodeOrderer/lambda$3$Type",1491),D(1492,1,ii,cne),h.Ne=function(t,n){return fwn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(pT,"NodeOrderer/lambda$4$Type",1492),D(1493,1,ti,une),h.Mb=function(t){return ux(),l(Q(l(t,40),(Qi(),Pde)),17).a!=0},I(pT,"NodeOrderer/lambda$5$Type",1493),D(1495,1,Uo,sie),h.rg=function(t){return l(t,121),jTt},h.Kf=function(t,n){M_n(this,l(t,121),n)},h.b=0;var jTt;I("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),D(1496,1,Uo,iie),h.rg=function(t){return l(t,121),$Tt},h.Kf=function(t,n){h_n(l(t,121),n)};var $Tt,_On=I(vh,"EdgeRouter",1496);D(1498,1,ii,sne),h.Ne=function(t,n){return ru(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/0methodref$compare$Type",1498),D(1503,1,{},Yte),h.Ye=function(t){return ze(Ge(t))},I(vh,"EdgeRouter/1methodref$doubleValue$Type",1503),D(1505,1,ii,a$),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/2methodref$compare$Type",1505),D(1507,1,ii,Xte),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/3methodref$compare$Type",1507),D(1509,1,{},s$),h.Ye=function(t){return ze(Ge(t))},I(vh,"EdgeRouter/4methodref$doubleValue$Type",1509),D(1511,1,ii,Qte),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/5methodref$compare$Type",1511),D(1513,1,ii,bI),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/6methodref$compare$Type",1513),D(1497,1,{},Jte),h.Kb=function(t){return tp(),l(Q(l(t,40),(Hc(),$d)),17)},I(vh,"EdgeRouter/lambda$0$Type",1497),D(1508,1,{},Zte),h.Kb=function(t){return Qhn(l(t,40))},I(vh,"EdgeRouter/lambda$11$Type",1508),D(1510,1,{},ntt),h.Kb=function(t){return Cdn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(vh,"EdgeRouter/lambda$13$Type",1510),D(1512,1,{},rtt),h.Kb=function(t){return Jhn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(vh,"EdgeRouter/lambda$15$Type",1512),D(1514,1,ii,ene),h.Ne=function(t,n){return l6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$17$Type",1514),D(1515,1,ii,tne),h.Ne=function(t,n){return h6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$18$Type",1515),D(1516,1,ii,nne),h.Ne=function(t,n){return d6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$19$Type",1516),D(1499,1,ti,wXe),h.Mb=function(t){return g2n(this.a,l(t,40))},h.a=0,I(vh,"EdgeRouter/lambda$2$Type",1499),D(1517,1,ii,o$),h.Ne=function(t,n){return f6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$20$Type",1517),D(1500,1,ii,rne),h.Ne=function(t,n){return hdn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$3$Type",1500),D(1501,1,ii,ine),h.Ne=function(t,n){return fdn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"EdgeRouter/lambda$4$Type",1501),D(1502,1,{},lne),h.Kb=function(t){return Zhn(l(t,40))},I(vh,"EdgeRouter/lambda$5$Type",1502),D(1504,1,{},itt),h.Kb=function(t){return Sdn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(vh,"EdgeRouter/lambda$7$Type",1504),D(1506,1,{},stt),h.Kb=function(t){return efn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(vh,"EdgeRouter/lambda$9$Type",1506),D(675,1,{675:1},Fdt),h.e=0,h.f=!1,h.g=!1,I(vh,"MultiLevelEdgeNodeNodeGap",675),D(1943,1,ii,hne),h.Ne=function(t,n){return T2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),D(1944,1,ii,fne),h.Ne=function(t,n){return C2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(vh,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var Y6;D(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},U3e),h.dg=function(){return E1t(this)},h.qg=function(){return E1t(this)};var $W,X6,EIe=Fr(wCe,"RadialLayoutPhases",501,Hr,Gpn,h1n),zTt;D(1113,205,tv,fZe),h.rf=function(t,n){var r,a,o,f,g,w;if(r=cbt(this,t),n.Ug("Radial layout",r.c.length),Rt(Bt(at(t,(Sb(),NIe))))||KO((a=new Yv((aw(),new Jv(t))),a)),w=pxn(t),Hi(t,(H5(),Y6),w),!w)throw ue(new Yn("The given graph is not a tree!"));for(o=ze(Ge(at(t,HW))),o==0&&(o=qpt(t)),Hi(t,HW,o),g=new G(cbt(this,t));g.a=3)for(ot=l(Oe($e,0),27),St=l(Oe($e,1),27),f=0;f+2<$e.i;)if(Ze=ot,ot=St,St=l(Oe($e,f+2),27),Ze.f>=ot.f+St.f+L||St.f>=Ze.f+ot.f+L){cn=!0;break}else++f;else cn=!0;if(!cn){for(z=$e.i,w=new or($e);w.e!=w.i.gc();)g=l(gr(w),27),Hi(g,(pi(),XB),pt(z)),--z;Rmt(t,new L8),n.Vg();return}for(r=(qO(this.a),X0(this.a,(WV(),RB),l(at(t,uOe),188)),X0(this.a,VW,l(at(t,rOe),188)),X0(this.a,rge,l(at(t,aOe),188)),uye(this.a,(Bn=new Xs,fi(Bn,RB,(sU(),age)),fi(Bn,VW,sge),Rt(Bt(at(t,tOe)))&&fi(Bn,RB,ige),Bn)),bP(this.a,t)),C=1/r.c.length,J=new G(r);J.a0&&K0t((Xn(n-1,t.length),t.charCodeAt(n-1)),N3t);)--n;if(a>=n)throw ue(new Yn("The given string does not contain any numbers."));if(o=Gy((Ga(a,n,t.length),t.substr(a,n-a)),`,|;|\r| +`),o.length!=2)throw ue(new Yn("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=jy($y(o[0])),this.b=jy($y(o[1]))}catch(f){throw f=bs(f),De(f,130)?(r=f,ue(new Yn(P3t+r))):ue(f)}},h.Ib=function(){return"("+this.a+","+this.b+")"},h.a=0,h.b=0;var Ea=I($P,"KVector",8);D(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},bl,Gz,frt),h.Pc=function(){return Dyn(this)},h.cg=function(t){var n,r,a,o,f,g;a=Gy(t,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),Ch(this);try{for(r=0,f=0,o=0,g=0;r0&&(f%2==0?o=jy(a[r]):g=jy(a[r]),f>0&&f%2!=0&&ci(this,new lt(o,g)),++f),++r}catch(w){throw w=bs(w),De(w,130)?(n=w,ue(new Yn("The given string does not match the expected format for vectors."+n))):ue(w)}},h.Ib=function(){var t,n,r;for(t=new Th("("),n=Rr(this,0);n.b!=n.d.c;)r=l(Br(n),8),hi(t,r.a+","+r.b),n.b!=n.d.c&&(t.a+="; ");return(t.a+=")",t).a};var GOe=I($P,"KVectorChain",75);D(255,22,{3:1,34:1,22:1,255:1},__);var Sge,eY,tY,HB,VB,nY,KOe=Fr(nh,"Alignment",255,Hr,Avn,P1n),xSt;D(991,1,Pf,fie),h.hf=function(t){xmt(t)};var WOe,_ge,kSt,YOe,XOe,ESt,QOe,TSt,CSt,JOe,ZOe,SSt;I(nh,"BoxLayouterOptions",991),D(992,1,{},ek),h.sf=function(){var t;return t=new jne,t},h.tf=function(t){},I(nh,"BoxLayouterOptions/BoxFactory",992),D(298,22,{3:1,34:1,22:1,298:1},A_);var EM,Age,TM,CM,SM,Lge,Mge=Fr(nh,"ContentAlignment",298,Hr,Lvn,B1n),_St;D(699,1,Pf,uz),h.hf=function(t){sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Byt),""),"Layout Algorithm"),"Select a specific layout algorithm."),(g2(),J6)),zt),un((r1(),Pn))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Fyt),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),X1),MOn),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qTe),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),eNe),ps),KOe),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Ox),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,tSe),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),X1),GOe),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,SG),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),nNe),t9),Mge),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,VP),""),"Debug Mode"),"Whether additional debug information shall be generated."),(Hn(),!1)),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gfe),""),kEe),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),rNe),ps),LM),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,HP),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),aNe),ps),Vge),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ZCe),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,CG),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),uNe),ps),YNe),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Xw),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),vNe),X1),wAe),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hL),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,AG),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fL),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Nhe),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),ENe),ps),JNe),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,_G),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),X1),Ea),rs(ha,he(le(xg,1),it,170,0,[yv,S2]))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,NP),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),Tc),ro),rs(ha,he(le(xg,1),it,170,0,[zd]))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,oG),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,lL),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ZTe),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),lNe),X1),GOe),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nCe),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rCe),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,rOn),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),X1),POn),rs(Pn,he(le(xg,1),it,170,0,[S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,sCe),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),hNe),X1),vAe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,$Te),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),ya),Ns),rs(ha,he(le(xg,1),it,170,0,[zd,yv,S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ryt),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),fo),ta),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,jyt),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,$yt),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,PP),""),Dyt),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),ya),Ns),un(Pn)))),Qs(t,PP,Qw,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,zyt),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qyt),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),pt(100)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Hyt),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Vyt),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),pt(4e3)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Uyt),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),pt(400)),Tc),ro),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Gyt),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Kyt),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Wyt),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Yyt),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,eSe),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),tNe),ps),cPe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,LTe),U1),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,MTe),U1),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,_he),U1),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,DTe),U1),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ohe),U1),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dfe),U1),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ITe),U1),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,PTe),U1),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,OTe),U1),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,NTe),U1),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Jy),U1),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,BTe),U1),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),fo),ta),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,FTe),U1),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),fo),ta),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,RTe),U1),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),X1),g_t),rs(ha,he(le(xg,1),it,170,0,[zd,yv,S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,aCe),U1),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),NNe),X1),vAe),un(Pn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,bfe),Jyt),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),Tc),ro),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),Qs(t,bfe,pfe,BSt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pfe),Jyt),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),wNe),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,UTe),Zyt),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),dNe),X1),wAe),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fT),Zyt),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),gNe),t9),Ko),rs(ha,he(le(xg,1),it,170,0,[S2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,WTe),RG),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),xNe),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,YTe),RG),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,XTe),RG),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,QTe),RG),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,JTe),RG),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),ps),OM),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,x6),Rfe),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),pNe),t9),BM),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Nx),Rfe),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),mNe),t9),ePe),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Px),Rfe),"Node Size Minimum"),"The minimal size to which a node can be reduced."),bNe),X1),Ea),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hT),Rfe),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),ya),Ns),un(Pn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,eCe),ffe),"Edge Label Placement"),"Gives a hint on where to put edge labels."),iNe),ps),FNe),un(S2)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,cG),ffe),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),ya),Ns),un(S2)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,iOn),"font"),"Font Name"),"Font name used for a label."),J6),zt),un(S2)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Xyt),"font"),"Font Size"),"Font size used for a label."),Tc),ro),un(S2)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,iCe),jfe),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),X1),Ea),un(yv)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,tCe),jfe),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),Tc),ro),un(yv)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,zTe),jfe),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),SNe),ps),Oo),un(yv)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,jTe),jfe),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),fo),ta),un(yv)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dT),iSe),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),TNe),t9),cY),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,GTe),iSe),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,KTe),iSe),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,BP),KP),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),fo),ta),un(Pn)))),Qs(t,BP,Qw,VSt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nSe),KP),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),ps),gY),un(ha)))),Qs(t,nSe,Qw,USt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,FP),KP),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),fo),ta),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),Qs(t,FP,Qw,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,RP),KP),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),fo),ta),rs(Pn,he(le(xg,1),it,170,0,[ha]))))),Qs(t,RP,Qw,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Qw),KP),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),ps),nPe),un(ha)))),Qs(t,Qw,hT,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rSe),KP),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),fo),ta),un(Pn)))),Qs(t,rSe,Qw,HSt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,HTe),e4t),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),ya),Ns),un(ha)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,VTe),e4t),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),ya),Ns),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ahe),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),fo),ta),un(zd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Qyt),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),cNe),ps),HNe),un(zd)))),m_(t,new nx(f_(Ck(Tk(new ny,sr),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),m_(t,new nx(f_(Ck(Tk(new ny,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),m_(t,new nx(f_(Ck(Tk(new ny,Yu),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),m_(t,new nx(f_(Ck(Tk(new ny,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),m_(t,new nx(f_(Ck(Tk(new ny,byt),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),m_(t,new nx(f_(Ck(Tk(new ny,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),m_(t,new nx(f_(Ck(Tk(new ny,gf),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),amt((new die,t)),xmt((new fie,t)),Nbt((new lz,t))};var eC,ASt,eNe,Z6,LSt,MSt,tNe,e7,t7,DSt,UB,nNe,GB,xv,rNe,Dge,Ige,iNe,sNe,aNe,oNe,cNe,ISt,n7,uNe,OSt,KB,Oge,WB,Nge,x3,lNe,tC,hNe,fNe,dNe,r7,gNe,kv,pNe,C4,i7,bNe,Ub,mNe,rY,YB,_2,vNe,NSt,wNe,PSt,BSt,yNe,xNe,Pge,Bge,Fge,Rge,kNe,rh,_M,ENe,jge,$ge,S4,TNe,CNe,s7,SNe,n9,XB,zge,a7,FSt,qge,RSt,jSt,_Ne,$St,ANe,LNe,r9,MNe,iY,DNe,INe,Ev,zSt,ONe,NNe,PNe,sY,QB,AM,i9,qSt,HSt,aY,VSt,BNe,USt;I(nh,"CoreOptions",699),D(88,22,{3:1,34:1,22:1,88:1},mO);var Q1,uc,vc,J1,wf,LM=Fr(nh,kEe,88,Hr,Omn,F1n),GSt;D(278,22,{3:1,34:1,22:1,278:1},zse);var nC,_4,rC,FNe=Fr(nh,"EdgeLabelPlacement",278,Hr,cbn,R1n),KSt;D(223,22,{3:1,34:1,22:1,223:1},xq);var iC,JB,s9,Hge,Vge=Fr(nh,"EdgeRouting",223,Hr,cmn,j1n),WSt;D(321,22,{3:1,34:1,22:1,321:1},L_);var RNe,jNe,$Ne,zNe,Uge,qNe,HNe=Fr(nh,"EdgeType",321,Hr,_vn,$1n),YSt;D(989,1,Pf,die),h.hf=function(t){amt(t)};var VNe,UNe,GNe,KNe,XSt,WNe,MM;I(nh,"FixedLayouterOptions",989),D(990,1,{},v$),h.sf=function(){var t;return t=new Une,t},h.tf=function(t){},I(nh,"FixedLayouterOptions/FixedFactory",990),D(346,22,{3:1,34:1,22:1,346:1},qse);var A2,oY,DM,YNe=Fr(nh,"HierarchyHandling",346,Hr,abn,z1n),QSt;D(291,22,{3:1,34:1,22:1,291:1},kq);var kg,Gb,ZB,eF,JSt=Fr(nh,"LabelSide",291,Hr,omn,q1n),ZSt;D(95,22,{3:1,34:1,22:1,95:1},D5);var mp,E0,zf,T0,jh,C0,qf,Eg,S0,Ko=Fr(nh,"NodeLabelPlacement",95,Hr,Awn,H1n),e_t;D(256,22,{3:1,34:1,22:1,256:1},vO);var XNe,IM,Kb,QNe,tF,OM=Fr(nh,"PortAlignment",256,Hr,Wmn,V1n),t_t;D(101,22,{3:1,34:1,22:1,101:1},M_);var Tv,Mu,Tg,sC,Z1,Wb,JNe=Fr(nh,"PortConstraints",101,Hr,Svn,U1n),n_t;D(279,22,{3:1,34:1,22:1,279:1},D_);var NM,PM,vp,nF,Yb,a9,cY=Fr(nh,"PortLabelPlacement",279,Hr,Cvn,G1n),r_t;D(64,22,{3:1,34:1,22:1,64:1},wO);var ar,Qn,yf,xf,ll,Ju,ed,_0,zl,_l,Du,ql,hl,fl,A0,$h,zh,Hf,Dr,Pc,er,Oo=Fr(nh,"PortSide",64,Hr,Nmn,K1n),i_t;D(993,1,Pf,lz),h.hf=function(t){Nbt(t)};var s_t,a_t,ZNe,o_t,c_t;I(nh,"RandomLayouterOptions",993),D(994,1,{},w$),h.sf=function(){var t;return t=new qne,t},h.tf=function(t){},I(nh,"RandomLayouterOptions/RandomFactory",994),D(386,22,{3:1,34:1,22:1,386:1},Eq);var A4,rF,iF,Cv,BM=Fr(nh,"SizeConstraint",386,Hr,amn,W1n),u_t;D(264,22,{3:1,34:1,22:1,264:1},I5);var sF,uY,aC,Gge,aF,FM,lY,hY,fY,ePe=Fr(nh,"SizeOptions",264,Hr,$wn,Y1n),l_t;D(280,22,{3:1,34:1,22:1,280:1},Hse);var L4,tPe,dY,nPe=Fr(nh,"TopdownNodeTypes",280,Hr,ubn,X1n),h_t;D(347,22,sSe);var rPe,iPe,gY=Fr(nh,"TopdownSizeApproximator",347,Hr,i2n,J1n);D(987,347,sSe,Wit),h.Tg=function(t){return Tdt(t)},Fr(nh,"TopdownSizeApproximator/1",987,gY,null,null),D(988,347,sSe,Ost),h.Tg=function(t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an,Bn;for(n=l(at(t,(pi(),a7)),143),St=(rb(),V=new a_,V),aP(St,t),cn=new Pr,f=new or((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));f.e!=f.i.gc();)a=l(gr(f),27),Me=(z=new a_,z),LU(Me,St),aP(Me,a),Bn=Tdt(a),F5(Me,b.Math.max(a.g,Bn.a),b.Math.max(a.f,Bn.b)),ju(cn.f,a,Me);for(o=new or((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));o.e!=o.i.gc();)for(a=l(gr(o),27),L=new or((!a.e&&(a.e=new Ln(js,a,7,4)),a.e));L.e!=L.i.gc();)C=l(gr(L),74),Ze=l(hc(zo(cn.f,a)),27),ot=l(cr(cn,Oe((!C.c&&(C.c=new Ln(_r,C,5,8)),C.c),0)),27),$e=(B=new TI,B),qr((!$e.b&&($e.b=new Ln(_r,$e,4,7)),$e.b),Ze),qr((!$e.c&&($e.c=new Ln(_r,$e,5,8)),$e.c),ot),AU($e,ds(Ze)),aP($e,C);te=l(GO(n.f),205);try{te.rf(St,new x$),lat(n.f,te)}catch(jn){throw jn=bs(jn),De(jn,103)?(J=jn,ue(J)):ue(jn)}return P1(St,t7)||P1(St,e7)||Uke(St),E=ze(Ge(at(St,t7))),w=ze(Ge(at(St,e7))),g=E/w,r=ze(Ge(at(St,QB)))*b.Math.sqrt((!St.a&&(St.a=new nt(Ai,St,10,11)),St.a).i),an=l(at(St,_2),107),Te=an.b+an.c+1,fe=an.d+an.a+1,new lt(b.Math.max(Te,r),b.Math.max(fe,r/g))},Fr(nh,"TopdownSizeApproximator/2",988,gY,null,null);var f_t;D(344,1,{871:1},L8),h.Ug=function(t,n){return Fgt(this,t,n)},h.Vg=function(){apt(this)},h.Wg=function(){return this.q},h.Xg=function(){return this.f?ioe(this.f):null},h.Yg=function(){return ioe(this.a)},h.Zg=function(){return this.p},h.$g=function(){return!1},h._g=function(){return this.n},h.ah=function(){return this.p!=null&&!this.b},h.bh=function(t){var n;this.n&&(n=t,vt(this.f,n))},h.dh=function(t,n){var r,a;this.n&&t&&Tbn(this,(r=new Ust,a=cle(r,t),sDn(r),a),(NV(),Wge))},h.eh=function(t){var n;return this.b?null:(n=uwn(this,this.g),ci(this.a,n),n.i=this,this.d=t,n)},h.fh=function(t){t>0&&!this.b&&c7e(this,t)},h.b=!1,h.c=0,h.d=-1,h.e=null,h.f=null,h.g=-1,h.j=!1,h.k=!1,h.n=!1,h.o=0,h.q=0,h.r=0,I(Uc,"BasicProgressMonitor",344),D(717,205,tv,jne),h.rf=function(t,n){Rmt(t,n)},I(Uc,"BoxLayoutProvider",717),D(983,1,ii,DXe),h.Ne=function(t,n){return sCn(this,l(t,27),l(n,27))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},h.a=!1,I(Uc,"BoxLayoutProvider/1",983),D(163,1,{163:1},hV,vrt),h.Ib=function(){return this.c?oke(this.c):Tb(this.b)},I(Uc,"BoxLayoutProvider/Group",163),D(320,22,{3:1,34:1,22:1,320:1},Tq);var sPe,aPe,oPe,Kge,cPe=Fr(Uc,"BoxLayoutProvider/PackingMode",320,Hr,umn,Z1n),d_t;D(984,1,ii,tk),h.Ne=function(t,n){return Tpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Uc,"BoxLayoutProvider/lambda$0$Type",984),D(985,1,ii,nk),h.Ne=function(t,n){return bpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Uc,"BoxLayoutProvider/lambda$1$Type",985),D(986,1,ii,y$),h.Ne=function(t,n){return mpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Uc,"BoxLayoutProvider/lambda$2$Type",986),D(1384,1,{845:1},$ne),h.Mg=function(t,n){return tq(),!De(n,167)||mZe((hx(),l(t,167)),n)},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),D(1385,1,fr,IXe),h.Cd=function(t){Nyn(this.a,l(t,149))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),D(1386,1,fr,Hne),h.Cd=function(t){l(t,96),tq()},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),D(1390,1,fr,OXe),h.Cd=function(t){n3n(this.a,l(t,96))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),D(1388,1,ti,utt),h.Mb=function(t){return pyn(this.a,this.b,l(t,149))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),D(1387,1,ti,ltt),h.Mb=function(t){return Xhn(this.a,this.b,l(t,845))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),D(1389,1,fr,htt),h.Cd=function(t){ugn(this.a,this.b,l(t,149))},I(Uc,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),D(947,1,{},Vne),h.Kb=function(t){return ant(t)},h.Fb=function(t){return this===t},I(Uc,"ElkUtil/lambda$0$Type",947),D(948,1,fr,ftt),h.Cd=function(t){cEn(this.a,this.b,l(t,74))},h.a=0,h.b=0,I(Uc,"ElkUtil/lambda$1$Type",948),D(949,1,fr,dtt),h.Cd=function(t){Zcn(this.a,this.b,l(t,166))},h.a=0,h.b=0,I(Uc,"ElkUtil/lambda$2$Type",949),D(950,1,fr,gtt),h.Cd=function(t){Wln(this.a,this.b,l(t,135))},h.a=0,h.b=0,I(Uc,"ElkUtil/lambda$3$Type",950),D(951,1,fr,NXe),h.Cd=function(t){Mdn(this.a,l(t,377))},I(Uc,"ElkUtil/lambda$4$Type",951),D(325,1,{34:1,325:1},Lcn),h.Fd=function(t){return Ehn(this,l(t,242))},h.Fb=function(t){var n;return De(t,325)?(n=l(t,325),this.a==n.a):!1},h.Hb=function(){return ua(this.a)},h.Ib=function(){return this.a+" (exclusive)"},h.a=0,I(Uc,"ExclusiveBounds/ExclusiveLowerBound",325),D(1119,205,tv,Une),h.rf=function(t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Ze,ot,St,cn,an;for(n.Ug("Fixed Layout",1),f=l(at(t,(pi(),sNe)),223),B=0,z=0,Me=new or((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));Me.e!=Me.i.gc();){for(fe=l(gr(Me),27),an=l(at(fe,(PV(),MM)),8),an&&(Qh(fe,an.a,an.b),l(at(fe,UNe),181).Hc((mh(),A4))&&(V=l(at(fe,KNe),8),V.a>0&&V.b>0&&Gw(fe,V.a,V.b,!0,!0))),B=b.Math.max(B,fe.i+fe.g),z=b.Math.max(z,fe.j+fe.f),C=new or((!fe.n&&(fe.n=new nt(ec,fe,1,7)),fe.n));C.e!=C.i.gc();)w=l(gr(C),135),an=l(at(w,MM),8),an&&Qh(w,an.a,an.b),B=b.Math.max(B,fe.i+w.i+w.g),z=b.Math.max(z,fe.j+w.j+w.f);for(ot=new or((!fe.c&&(fe.c=new nt(Hl,fe,9,9)),fe.c));ot.e!=ot.i.gc();)for(Ze=l(gr(ot),123),an=l(at(Ze,MM),8),an&&Qh(Ze,an.a,an.b),St=fe.i+Ze.i,cn=fe.j+Ze.j,B=b.Math.max(B,St+Ze.g),z=b.Math.max(z,cn+Ze.f),E=new or((!Ze.n&&(Ze.n=new nt(ec,Ze,1,7)),Ze.n));E.e!=E.i.gc();)w=l(gr(E),135),an=l(at(w,MM),8),an&&Qh(w,an.a,an.b),B=b.Math.max(B,St+w.i+w.g),z=b.Math.max(z,cn+w.j+w.f);for(o=new hr(dr(cp(fe).a.Kc(),new j));jr(o);)r=l(xr(o),74),L=Jvt(r),B=b.Math.max(B,L.a),z=b.Math.max(z,L.b);for(a=new hr(dr(sP(fe).a.Kc(),new j));jr(a);)r=l(xr(a),74),ds(cg(r))!=t&&(L=Jvt(r),B=b.Math.max(B,L.a),z=b.Math.max(z,L.b))}if(f==(ip(),iC))for(Te=new or((!t.a&&(t.a=new nt(Ai,t,10,11)),t.a));Te.e!=Te.i.gc();)for(fe=l(gr(Te),27),a=new hr(dr(cp(fe).a.Kc(),new j));jr(a);)r=l(xr(a),74),g=lAn(r),g.b==0?Hi(r,x3,null):Hi(r,x3,g);Rt(Bt(at(t,(PV(),GNe))))||($e=l(at(t,XSt),107),te=B+$e.b+$e.c,J=z+$e.d+$e.a,Gw(t,te,J,!0,!0)),n.Vg()},I(Uc,"FixedLayoutProvider",1119),D(385,137,{3:1,423:1,385:1,96:1,137:1},EI,Xlt),h.cg=function(t){var n,r,a,o,f,g,w,E,C;if(t)try{for(E=Gy(t,";,;"),f=E,g=0,w=f.length;g>16&Zs|n^a<<16},h.Kc=function(){return new PXe(this)},h.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+xc(this.b)+")":this.b==null?"pair("+xc(this.a)+",null)":"pair("+xc(this.a)+","+xc(this.b)+")"},I(Uc,"Pair",42),D(995,1,Oa,PXe),h.Nb=function(t){Za(this,t)},h.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},h.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw ue(new _c)},h.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),ue(new pl)},h.b=!1,h.c=!1,I(Uc,"Pair/1",995),D(455,1,{455:1},Sat),h.Fb=function(t){return Jc(this.a,l(t,455).a)&&Jc(this.c,l(t,455).c)&&Jc(this.d,l(t,455).d)&&Jc(this.b,l(t,455).b)},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[this.a,this.c,this.d,this.b]))},h.Ib=function(){return"("+this.a+Co+this.c+Co+this.d+Co+this.b+")"},I(Uc,"Quadruple",455),D(1108,205,tv,qne),h.rf=function(t,n){var r,a,o,f,g;if(n.Ug("Random Layout",1),(!t.a&&(t.a=new nt(Ai,t,10,11)),t.a).i==0){n.Vg();return}f=l(at(t,(B8e(),o_t)),17),f&&f.a!=0?o=new VH(f.a):o=new Uce,r=XI(Ge(at(t,s_t))),g=XI(Ge(at(t,c_t))),a=l(at(t,a_t),107),ADn(t,o,r,g,a),n.Vg()},I(Uc,"RandomLayoutProvider",1108),D(240,1,{240:1},wae),h.Fb=function(t){return Jc(this.a,l(t,240).a)&&Jc(this.b,l(t,240).b)&&Jc(this.c,l(t,240).c)},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[this.a,this.b,this.c]))},h.Ib=function(){return"("+this.a+Co+this.b+Co+this.c+")"},I(Uc,"Triple",240);var m_t;D(562,1,{}),h.Lf=function(){return new lt(this.f.i,this.f.j)},h.of=function(t){return eot(t,(pi(),rh))?at(this.f,v_t):at(this.f,t)},h.Mf=function(){return new lt(this.f.g,this.f.f)},h.Nf=function(){return this.g},h.pf=function(t){return P1(this.f,t)},h.Of=function(t){Uu(this.f,t.a),Gu(this.f,t.b)},h.Pf=function(t){Dw(this.f,t.a),Mw(this.f,t.b)},h.Qf=function(t){this.g=t},h.g=0;var v_t;I(xL,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),D(563,1,{853:1},Oz),h.Rf=function(){var t,n;if(!this.b)for(this.b=$H(EH(this.a).i),n=new or(EH(this.a));n.e!=n.i.gc();)t=l(gr(n),135),vt(this.b,new Yie(t));return this.b},h.b=null,I(xL,"ElkGraphAdapters/ElkEdgeAdapter",563),D(289,562,{},Jv),h.Sf=function(){return Gdt(this)},h.a=null,I(xL,"ElkGraphAdapters/ElkGraphAdapter",289),D(640,562,{187:1},Yie),I(xL,"ElkGraphAdapters/ElkLabelAdapter",640),D(639,562,{695:1},rae),h.Rf=function(){return p7n(this)},h.Vf=function(){var t;return t=l(at(this.f,(pi(),tC)),140),!t&&(t=new s_),t},h.Xf=function(){return b7n(this)},h.Zf=function(t){var n;n=new xae(t),Hi(this.f,(pi(),tC),n)},h.$f=function(t){Hi(this.f,(pi(),_2),new S4e(t))},h.Tf=function(){return this.d},h.Uf=function(){var t,n;if(!this.a)for(this.a=new bt,n=new hr(dr(sP(l(this.f,27)).a.Kc(),new j));jr(n);)t=l(xr(n),74),vt(this.a,new Oz(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=new bt,n=new hr(dr(cp(l(this.f,27)).a.Kc(),new j));jr(n);)t=l(xr(n),74),vt(this.c,new Oz(t));return this.c},h.Yf=function(){return AH(l(this.f,27)).i!=0||Rt(Bt(l(this.f,27).of((pi(),KB))))},h._f=function(){Wvn(this,(aw(),m_t))},h.a=null,h.b=null,h.c=null,h.d=null,h.e=null,I(xL,"ElkGraphAdapters/ElkNodeAdapter",639),D(1284,562,{852:1},BXe),h.Rf=function(){return T7n(this)},h.Uf=function(){var t,n;if(!this.a)for(this.a=eg(l(this.f,123).hh().i),n=new or(l(this.f,123).hh());n.e!=n.i.gc();)t=l(gr(n),74),vt(this.a,new Oz(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=eg(l(this.f,123).ih().i),n=new or(l(this.f,123).ih());n.e!=n.i.gc();)t=l(gr(n),74),vt(this.c,new Oz(t));return this.c},h.ag=function(){return l(l(this.f,123).of((pi(),s7)),64)},h.bg=function(){var t,n,r,a,o,f,g,w;for(a=M1(l(this.f,123)),r=new or(l(this.f,123).ih());r.e!=r.i.gc();)for(t=l(gr(r),74),w=new or((!t.c&&(t.c=new Ln(_r,t,5,8)),t.c));w.e!=w.i.gc();){if(g=l(gr(w),84),Ly(bc(g),a))return!0;if(bc(g)==a&&Rt(Bt(at(t,(pi(),Oge)))))return!0}for(n=new or(l(this.f,123).hh());n.e!=n.i.gc();)for(t=l(gr(n),74),f=new or((!t.b&&(t.b=new Ln(_r,t,4,7)),t.b));f.e!=f.i.gc();)if(o=l(gr(f),84),Ly(bc(o),a))return!0;return!1},h.a=null,h.b=null,h.c=null,I(xL,"ElkGraphAdapters/ElkPortAdapter",1284),D(1285,1,ii,zne),h.Ne=function(t,n){return n_n(l(t,123),l(n,123))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(xL,"ElkGraphAdapters/PortComparator",1285);var Xb=ks(pf,"EObject"),oC=ks(T6,r4t),qh=ks(T6,i4t),oF=ks(T6,s4t),cF=ks(T6,"ElkShape"),_r=ks(T6,a4t),js=ks(T6,aSe),cs=ks(T6,o4t),uF=ks(pf,c4t),RM=ks(pf,"EFactory"),w_t,Yge=ks(pf,u4t),u1=ks(pf,"EPackage"),La,y_t,x_t,fPe,pY,k_t,dPe,gPe,pPe,Cg,E_t,T_t,ec=ks(T6,oSe),Ai=ks(T6,cSe),Hl=ks(T6,uSe);D(93,1,l4t),h.th=function(){return this.uh(),null},h.uh=function(){return null},h.vh=function(){return this.uh(),!1},h.wh=function(){return!1},h.xh=function(t){Ni(this,t)},I(Rx,"BasicNotifierImpl",93),D(99,93,g4t),h.Yh=function(){return hh(this)},h.yh=function(t,n){return t},h.zh=function(){throw ue(new Qr)},h.Ah=function(t){var n;return n=Ro(l(Mn(this.Dh(),this.Fh()),19)),this.Ph().Th(this,n.n,n.f,t)},h.Bh=function(t,n){throw ue(new Qr)},h.Ch=function(t,n,r){return Nh(this,t,n,r)},h.Dh=function(){var t;return this.zh()&&(t=this.zh().Nk(),t)?t:this.ii()},h.Eh=function(){return Uue(this)},h.Fh=function(){throw ue(new Qr)},h.Gh=function(){var t,n;return n=this.$h().Ok(),!n&&this.zh().Tk(n=(w_(),t=j5e(Sd(this.Dh())),t==null?rpe:new TO(this,t))),n},h.Hh=function(t,n){return t},h.Ih=function(t){var n;return n=t.pk(),n?t.Lj():ms(this.Dh(),t)},h.Jh=function(){var t;return t=this.zh(),t?t.Qk():null},h.Kh=function(){return this.zh()?this.zh().Nk():null},h.Lh=function(t,n,r){return rU(this,t,n,r)},h.Mh=function(t){return tE(this,t)},h.Nh=function(t,n){return Moe(this,t,n)},h.Oh=function(){var t;return t=this.zh(),!!t&&t.Rk()},h.Ph=function(){throw ue(new Qr)},h.Qh=function(){return XV(this)},h.Rh=function(t,n,r,a){return mx(this,t,n,a)},h.Sh=function(t,n,r){var a;return a=l(Mn(this.Dh(),n),69),a.wk().zk(this,this.hi(),n-this.ji(),t,r)},h.Th=function(t,n,r,a){return IH(this,t,n,a)},h.Uh=function(t,n,r){var a;return a=l(Mn(this.Dh(),n),69),a.wk().Ak(this,this.hi(),n-this.ji(),t,r)},h.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},h.Wh=function(t){return nue(this,t)},h.Xh=function(t){return got(this,t)},h.Zh=function(t){return Bvt(this,t)},h.$h=function(){throw ue(new Qr)},h._h=function(){return this.zh()?this.zh().Pk():null},h.ai=function(){return XV(this)},h.bi=function(t,n){$ue(this,t,n)},h.ci=function(t){this.$h().Sk(t)},h.di=function(t){this.$h().Vk(t)},h.ei=function(t){this.$h().Uk(t)},h.fi=function(t,n){var r,a,o,f;return f=this.Jh(),f&&t&&(n=To(f.El(),this,n),f.Il(this)),a=this.Ph(),a&&(sle(this,this.Ph(),this.Fh()).Bb&Io?(o=a.Qh(),o&&(t?!f&&o.Il(this):o.Hl(this))):(n=(r=this.Fh(),r>=0?this.Ah(n):this.Ph().Th(this,-1-r,null,n)),n=this.Ch(null,-1,n))),this.di(t),n},h.gi=function(t){var n,r,a,o,f,g,w,E;if(r=this.Dh(),f=ms(r,t),n=this.ji(),f>=n)return l(t,69).wk().Dk(this,this.hi(),f-n);if(f<=-1)if(g=g6((El(),io),r,t),g){if(Fo(),l(g,69).xk()||(g=rx(ic(io,g))),o=(a=this.Ih(g),l(a>=0?this.Lh(a,!0,!0):Hw(this,g,!0),160)),E=g.Ik(),E>1||E==-1)return l(l(o,220).Sl(t,!1),79)}else throw ue(new Yn(Ob+t.xe()+$fe));else if(t.Jk())return a=this.Ih(t),l(a>=0?this.Lh(a,!1,!0):Hw(this,t,!1),79);return w=new Itt(this,t),w},h.hi=function(){return V6e(this)},h.ii=function(){return(lb(),Vn).S},h.ji=function(){return yr(this.ii())},h.ki=function(t){Fue(this,t)},h.Ib=function(){return g0(this)},I(Gn,"BasicEObjectImpl",99);var C_t;D(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),h.li=function(t){var n;return n=H6e(this),n[t]},h.mi=function(t,n){var r;r=H6e(this),Ts(r,t,n)},h.ni=function(t){var n;n=H6e(this),Ts(n,t,null)},h.th=function(){return l(Kn(this,4),129)},h.uh=function(){throw ue(new Qr)},h.vh=function(){return(this.Db&4)!=0},h.zh=function(){throw ue(new Qr)},h.oi=function(t){px(this,2,t)},h.Bh=function(t,n){this.Db=n<<16|this.Db&255,this.oi(t)},h.Dh=function(){return sl(this)},h.Fh=function(){return this.Db>>16},h.Gh=function(){var t,n;return w_(),n=j5e(Sd((t=l(Kn(this,16),29),t||this.ii()))),n==null?rpe:new TO(this,n)},h.wh=function(){return(this.Db&1)==0},h.Jh=function(){return l(Kn(this,128),2034)},h.Kh=function(){return l(Kn(this,16),29)},h.Oh=function(){return(this.Db&32)!=0},h.Ph=function(){return l(Kn(this,2),54)},h.Vh=function(){return(this.Db&64)!=0},h.$h=function(){throw ue(new Qr)},h._h=function(){return l(Kn(this,64),288)},h.ci=function(t){px(this,16,t)},h.di=function(t){px(this,128,t)},h.ei=function(t){px(this,64,t)},h.hi=function(){return Ku(this)},h.Db=0,I(Gn,"MinimalEObjectImpl",119),D(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.oi=function(t){this.Cb=t},h.Ph=function(){return this.Cb},I(Gn,"MinimalEObjectImpl/Container",120),D(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return sxe(this,t,n,r)},h.Uh=function(t,n,r){return Wxe(this,t,n,r)},h.Wh=function(t){return Z5e(this,t)},h.bi=function(t,n){V7e(this,t,n)},h.ii=function(){return su(),T_t},h.ki=function(t){O7e(this,t)},h.nf=function(){return fdt(this)},h.gh=function(){return!this.o&&(this.o=new xl((su(),Cg),L2,this,0)),this.o},h.of=function(t){return at(this,t)},h.pf=function(t){return P1(this,t)},h.qf=function(t,n){return Hi(this,t,n)},I(sv,"EMapPropertyHolderImpl",2083),D(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},AS),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return rU(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=0;case 1:return this.b!=0}return nue(this,t)},h.bi=function(t,n){switch(t){case 0:dV(this,ze(Ge(n)));return;case 1:fV(this,ze(Ge(n)));return}$ue(this,t,n)},h.ii=function(){return su(),y_t},h.ki=function(t){switch(t){case 0:dV(this,0);return;case 1:fV(this,0);return}Fue(this,t)},h.Ib=function(){var t;return this.Db&64?g0(this):(t=new Af(g0(this)),t.a+=" (x: ",_5(t,this.a),t.a+=", y: ",_5(t,this.b),t.a+=")",t.a)},h.a=0,h.b=0,I(sv,"ElkBendPointImpl",572),D(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return d8e(this,t,n,r)},h.Sh=function(t,n,r){return Mue(this,t,n,r)},h.Uh=function(t,n,r){return dce(this,t,n,r)},h.Wh=function(t){return _7e(this,t)},h.bi=function(t,n){Txe(this,t,n)},h.ii=function(){return su(),k_t},h.ki=function(t){i8e(this,t)},h.jh=function(){return this.k},h.kh=function(){return EH(this)},h.Ib=function(){return jce(this)},h.k=null,I(sv,"ElkGraphElementImpl",739),D(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return x8e(this,t,n,r)},h.Wh=function(t){return _8e(this,t)},h.bi=function(t,n){Cxe(this,t,n)},h.ii=function(){return su(),E_t},h.ki=function(t){N8e(this,t)},h.lh=function(){return this.f},h.mh=function(){return this.g},h.nh=function(){return this.i},h.oh=function(){return this.j},h.ph=function(t,n){F5(this,t,n)},h.qh=function(t,n){Qh(this,t,n)},h.rh=function(t){Uu(this,t)},h.sh=function(t){Gu(this,t)},h.Ib=function(){return Pue(this)},h.f=0,h.g=0,h.i=0,h.j=0,I(sv,"ElkShapeImpl",740),D(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return J8e(this,t,n,r)},h.Sh=function(t,n,r){return vxe(this,t,n,r)},h.Uh=function(t,n,r){return wxe(this,t,n,r)},h.Wh=function(t){return H7e(this,t)},h.bi=function(t,n){I9e(this,t,n)},h.ii=function(){return su(),x_t},h.ki=function(t){K8e(this,t)},h.hh=function(){return!this.d&&(this.d=new Ln(js,this,8,5)),this.d},h.ih=function(){return!this.e&&(this.e=new Ln(js,this,7,4)),this.e},I(sv,"ElkConnectableShapeImpl",741),D(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},TI),h.Ah=function(t){return gxe(this,t)},h.Lh=function(t,n,r){switch(t){case 3:return WO(this);case 4:return!this.b&&(this.b=new Ln(_r,this,4,7)),this.b;case 5:return!this.c&&(this.c=new Ln(_r,this,5,8)),this.c;case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),this.a;case 7:return Hn(),!this.b&&(this.b=new Ln(_r,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Ln(_r,this,5,8)),this.c.i<=1));case 8:return Hn(),!!qA(this);case 9:return Hn(),!!qw(this);case 10:return Hn(),!this.b&&(this.b=new Ln(_r,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Ln(_r,this,5,8)),this.c.i!=0)}return d8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 3:return this.Cb&&(r=(a=this.Db>>16,a>=0?gxe(this,r):this.Cb.Th(this,-1-a,null,r))),Yye(this,l(t,27),r);case 4:return!this.b&&(this.b=new Ln(_r,this,4,7)),Ru(this.b,t,r);case 5:return!this.c&&(this.c=new Ln(_r,this,5,8)),Ru(this.c,t,r);case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),Ru(this.a,t,r)}return Mue(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 3:return Yye(this,null,r);case 4:return!this.b&&(this.b=new Ln(_r,this,4,7)),To(this.b,t,r);case 5:return!this.c&&(this.c=new Ln(_r,this,5,8)),To(this.c,t,r);case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),To(this.a,t,r)}return dce(this,t,n,r)},h.Wh=function(t){switch(t){case 3:return!!WO(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new Ln(_r,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Ln(_r,this,5,8)),this.c.i<=1));case 8:return qA(this);case 9:return qw(this);case 10:return!this.b&&(this.b=new Ln(_r,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Ln(_r,this,5,8)),this.c.i!=0)}return _7e(this,t)},h.bi=function(t,n){switch(t){case 3:AU(this,l(n,27));return;case 4:!this.b&&(this.b=new Ln(_r,this,4,7)),$r(this.b),!this.b&&(this.b=new Ln(_r,this,4,7)),As(this.b,l(n,16));return;case 5:!this.c&&(this.c=new Ln(_r,this,5,8)),$r(this.c),!this.c&&(this.c=new Ln(_r,this,5,8)),As(this.c,l(n,16));return;case 6:!this.a&&(this.a=new nt(cs,this,6,6)),$r(this.a),!this.a&&(this.a=new nt(cs,this,6,6)),As(this.a,l(n,16));return}Txe(this,t,n)},h.ii=function(){return su(),fPe},h.ki=function(t){switch(t){case 3:AU(this,null);return;case 4:!this.b&&(this.b=new Ln(_r,this,4,7)),$r(this.b);return;case 5:!this.c&&(this.c=new Ln(_r,this,5,8)),$r(this.c);return;case 6:!this.a&&(this.a=new nt(cs,this,6,6)),$r(this.a);return}i8e(this,t)},h.Ib=function(){return evt(this)},I(sv,"ElkEdgeImpl",326),D(452,2083,{110:1,342:1,166:1,452:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},rk),h.Ah=function(t){return lxe(this,t)},h.Lh=function(t,n,r){switch(t){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new Ys(qh,this,5)),this.a;case 6:return lot(this);case 7:return n?oue(this):this.i;case 8:return n?aue(this):this.f;case 9:return!this.g&&(this.g=new Ln(cs,this,9,10)),this.g;case 10:return!this.e&&(this.e=new Ln(cs,this,10,9)),this.e;case 11:return this.d}return sxe(this,t,n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?lxe(this,r):this.Cb.Th(this,-1-o,null,r))),Wye(this,l(t,74),r);case 9:return!this.g&&(this.g=new Ln(cs,this,9,10)),Ru(this.g,t,r);case 10:return!this.e&&(this.e=new Ln(cs,this,10,9)),Ru(this.e,t,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(su(),pY)),n),69),f.wk().zk(this,Ku(this),n-yr((su(),pY)),t,r)},h.Uh=function(t,n,r){switch(n){case 5:return!this.a&&(this.a=new Ys(qh,this,5)),To(this.a,t,r);case 6:return Wye(this,null,r);case 9:return!this.g&&(this.g=new Ln(cs,this,9,10)),To(this.g,t,r);case 10:return!this.e&&(this.e=new Ln(cs,this,10,9)),To(this.e,t,r)}return Wxe(this,t,n,r)},h.Wh=function(t){switch(t){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!lot(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return Z5e(this,t)},h.bi=function(t,n){switch(t){case 1:oE(this,ze(Ge(n)));return;case 2:uE(this,ze(Ge(n)));return;case 3:aE(this,ze(Ge(n)));return;case 4:cE(this,ze(Ge(n)));return;case 5:!this.a&&(this.a=new Ys(qh,this,5)),$r(this.a),!this.a&&(this.a=new Ys(qh,this,5)),As(this.a,l(n,16));return;case 6:Z2t(this,l(n,74));return;case 7:yV(this,l(n,84));return;case 8:wV(this,l(n,84));return;case 9:!this.g&&(this.g=new Ln(cs,this,9,10)),$r(this.g),!this.g&&(this.g=new Ln(cs,this,9,10)),As(this.g,l(n,16));return;case 10:!this.e&&(this.e=new Ln(cs,this,10,9)),$r(this.e),!this.e&&(this.e=new Ln(cs,this,10,9)),As(this.e,l(n,16));return;case 11:p7e(this,ei(n));return}V7e(this,t,n)},h.ii=function(){return su(),pY},h.ki=function(t){switch(t){case 1:oE(this,0);return;case 2:uE(this,0);return;case 3:aE(this,0);return;case 4:cE(this,0);return;case 5:!this.a&&(this.a=new Ys(qh,this,5)),$r(this.a);return;case 6:Z2t(this,null);return;case 7:yV(this,null);return;case 8:wV(this,null);return;case 9:!this.g&&(this.g=new Ln(cs,this,9,10)),$r(this.g);return;case 10:!this.e&&(this.e=new Ln(cs,this,10,9)),$r(this.e);return;case 11:p7e(this,null);return}O7e(this,t)},h.Ib=function(){return d2t(this)},h.b=0,h.c=0,h.d=null,h.j=0,h.k=0,I(sv,"ElkEdgeSectionImpl",452),D(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),h.Lh=function(t,n,r){var a;return t==0?(!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab):sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Sh=function(t,n,r){var a,o;return n==0?(!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r)):(o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().zk(this,Ku(this),n-yr(this.ii()),t,r))},h.Uh=function(t,n,r){var a,o;return n==0?(!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r)):(o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-yr(this.ii()),t,r))},h.Wh=function(t){var n;return t==0?!!this.Ab&&this.Ab.i!=0:nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.Zh=function(t){return Hke(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.di=function(t){px(this,128,t)},h.ii=function(){return Tn(),H_t},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.pi=function(){this.Bb|=1},h.qi=function(t){return YA(this,t)},h.Bb=0,I(Gn,"EModelElementImpl",158),D(720,158,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},fz),h.ri=function(t,n){return Lvt(this,t,n)},h.si=function(t){var n,r,a,o,f;if(this.a!=Ah(t)||t.Bb&256)throw ue(new Yn(qfe+t.zb+t3));for(a=dc(t);du(a.a).i!=0;){if(r=l(mP(a,0,(n=l(Oe(du(a.a),0),89),f=n.c,De(f,90)?l(f,29):(Tn(),Kf))),29),zw(r))return o=Ah(r).wi().si(r),l(o,54).ci(t),o;a=dc(r)}return(t.D!=null?t.D:t.B)=="java.util.Map$Entry"?new Git(t):new F4e(t)},h.ti=function(t,n){return Kw(this,t,n)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.a}return sf(this,t-yr((Tn(),em)),Mn((a=l(Kn(this,16),29),a||em),t),n,r)},h.Sh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 1:return this.a&&(r=l(this.a,54).Th(this,4,u1,r)),r8e(this,l(t,241),r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),em)),n),69),o.wk().zk(this,Ku(this),n-yr((Tn(),em)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 1:return r8e(this,null,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),em)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),em)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return nf(this,t-yr((Tn(),em)),Mn((n=l(Kn(this,16),29),n||em),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Xgt(this,l(n,241));return}uf(this,t-yr((Tn(),em)),Mn((r=l(Kn(this,16),29),r||em),t),n)},h.ii=function(){return Tn(),em},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Xgt(this,null);return}cf(this,t-yr((Tn(),em)),Mn((n=l(Kn(this,16),29),n||em),t))};var jM,bPe,S_t;I(Gn,"EFactoryImpl",720),D(1037,720,{110:1,2113:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},ik),h.ri=function(t,n){switch(t.hk()){case 12:return l(n,149).Pg();case 13:return xc(n);default:throw ue(new Yn(yT+t.xe()+t3))}},h.si=function(t){var n,r,a,o,f,g,w,E;switch(t.G==-1&&(t.G=(n=Ah(t),n?f2(n.vi(),t):-1)),t.G){case 4:return f=new sk,f;case 6:return g=new a_,g;case 7:return w=new jwe,w;case 8:return a=new TI,a;case 9:return r=new AS,r;case 10:return o=new rk,o;case 11:return E=new k$,E;default:throw ue(new Yn(qfe+t.zb+t3))}},h.ti=function(t,n){switch(t.hk()){case 13:case 12:return null;default:throw ue(new Yn(yT+t.xe()+t3))}},I(sv,"ElkGraphFactoryImpl",1037),D(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),h.Gh=function(){var t,n;return n=(t=l(Kn(this,16),29),j5e(Sd(t||this.ii()))),n==null?(w_(),w_(),rpe):new prt(this,n)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.xe()}return sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:this.ui(ei(n));return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),V_t},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.xe=function(){return this.zb},h.ui=function(t){Fu(this,t)},h.Ib=function(){return CA(this)},h.zb=null,I(Gn,"ENamedElementImpl",448),D(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},qat),h.Ah=function(t){return ogt(this,t)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new wy(this,l1,this)),this.rb;case 6:return!this.vb&&(this.vb=new V8(u1,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?l(this.Cb,241):null:mot(this)}return sf(this,t-yr((Tn(),O2)),Mn((a=l(Kn(this,16),29),a||O2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 4:return this.sb&&(r=l(this.sb,54).Th(this,1,RM,r)),a8e(this,l(t,480),r);case 5:return!this.rb&&(this.rb=new wy(this,l1,this)),Ru(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(u1,this,6,7)),Ru(this.vb,t,r);case 7:return this.Cb&&(r=(o=this.Db>>16,o>=0?ogt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,7,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),O2)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),O2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 4:return a8e(this,null,r);case 5:return!this.rb&&(this.rb=new wy(this,l1,this)),To(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(u1,this,6,7)),To(this.vb,t,r);case 7:return Nh(this,null,7,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),O2)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),O2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!mot(this)}return nf(this,t-yr((Tn(),O2)),Mn((n=l(Kn(this,16),29),n||O2),t))},h.Zh=function(t){var n;return n=mCn(this,t),n||Hke(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Fu(this,ei(n));return;case 2:SV(this,ei(n));return;case 3:CV(this,ei(n));return;case 4:Nue(this,l(n,480));return;case 5:!this.rb&&(this.rb=new wy(this,l1,this)),$r(this.rb),!this.rb&&(this.rb=new wy(this,l1,this)),As(this.rb,l(n,16));return;case 6:!this.vb&&(this.vb=new V8(u1,this,6,7)),$r(this.vb),!this.vb&&(this.vb=new V8(u1,this,6,7)),As(this.vb,l(n,16));return}uf(this,t-yr((Tn(),O2)),Mn((r=l(Kn(this,16),29),r||O2),t),n)},h.ei=function(t){var n,r;if(t&&this.rb)for(r=new or(this.rb);r.e!=r.i.gc();)n=gr(r),De(n,364)&&(l(n,364).w=null);px(this,64,t)},h.ii=function(){return Tn(),O2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Fu(this,null);return;case 2:SV(this,null);return;case 3:CV(this,null);return;case 4:Nue(this,null);return;case 5:!this.rb&&(this.rb=new wy(this,l1,this)),$r(this.rb);return;case 6:!this.vb&&(this.vb=new V8(u1,this,6,7)),$r(this.vb);return}cf(this,t-yr((Tn(),O2)),Mn((n=l(Kn(this,16),29),n||O2),t))},h.pi=function(){yue(this)},h.vi=function(){return!this.rb&&(this.rb=new wy(this,l1,this)),this.rb},h.wi=function(){return this.sb},h.xi=function(){return this.ub},h.yi=function(){return this.xb},h.zi=function(){return this.yb},h.Ai=function(t){this.ub=t},h.Ib=function(){var t;return this.Db&64?CA(this):(t=new Af(CA(this)),t.a+=" (nsURI: ",Xo(t,this.yb),t.a+=", nsPrefix: ",Xo(t,this.xb),t.a+=")",t.a)},h.xb=null,h.yb=null,I(Gn,"EPackageImpl",184),D(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},k2t),h.q=!1,h.r=!1;var __t=!1;I(sv,"ElkGraphPackageImpl",569),D(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},sk),h.Ah=function(t){return hxe(this,t)},h.Lh=function(t,n,r){switch(t){case 7:return vot(this);case 8:return this.a}return x8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 7:return this.Cb&&(r=(a=this.Db>>16,a>=0?hxe(this,r):this.Cb.Th(this,-1-a,null,r))),J4e(this,l(t,167),r)}return Mue(this,t,n,r)},h.Uh=function(t,n,r){return n==7?J4e(this,null,r):dce(this,t,n,r)},h.Wh=function(t){switch(t){case 7:return!!vot(this);case 8:return!vn("",this.a)}return _8e(this,t)},h.bi=function(t,n){switch(t){case 7:U9e(this,l(n,167));return;case 8:l7e(this,ei(n));return}Cxe(this,t,n)},h.ii=function(){return su(),dPe},h.ki=function(t){switch(t){case 7:U9e(this,null);return;case 8:l7e(this,"");return}N8e(this,t)},h.Ib=function(){return lpt(this)},h.a="",I(sv,"ElkLabelImpl",366),D(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},a_),h.Ah=function(t){return pxe(this,t)},h.Lh=function(t,n,r){switch(t){case 9:return!this.c&&(this.c=new nt(Hl,this,9,9)),this.c;case 10:return!this.a&&(this.a=new nt(Ai,this,10,11)),this.a;case 11:return ds(this);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),this.b;case 13:return Hn(),!this.a&&(this.a=new nt(Ai,this,10,11)),this.a.i>0}return J8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 9:return!this.c&&(this.c=new nt(Hl,this,9,9)),Ru(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Ai,this,10,11)),Ru(this.a,t,r);case 11:return this.Cb&&(r=(a=this.Db>>16,a>=0?pxe(this,r):this.Cb.Th(this,-1-a,null,r))),s4e(this,l(t,27),r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),Ru(this.b,t,r)}return vxe(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 9:return!this.c&&(this.c=new nt(Hl,this,9,9)),To(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Ai,this,10,11)),To(this.a,t,r);case 11:return s4e(this,null,r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),To(this.b,t,r)}return wxe(this,t,n,r)},h.Wh=function(t){switch(t){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!ds(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new nt(Ai,this,10,11)),this.a.i>0}return H7e(this,t)},h.bi=function(t,n){switch(t){case 9:!this.c&&(this.c=new nt(Hl,this,9,9)),$r(this.c),!this.c&&(this.c=new nt(Hl,this,9,9)),As(this.c,l(n,16));return;case 10:!this.a&&(this.a=new nt(Ai,this,10,11)),$r(this.a),!this.a&&(this.a=new nt(Ai,this,10,11)),As(this.a,l(n,16));return;case 11:LU(this,l(n,27));return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b),!this.b&&(this.b=new nt(js,this,12,3)),As(this.b,l(n,16));return}I9e(this,t,n)},h.ii=function(){return su(),gPe},h.ki=function(t){switch(t){case 9:!this.c&&(this.c=new nt(Hl,this,9,9)),$r(this.c);return;case 10:!this.a&&(this.a=new nt(Ai,this,10,11)),$r(this.a);return;case 11:LU(this,null);return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b);return}K8e(this,t)},h.Ib=function(){return oke(this)},I(sv,"ElkNodeImpl",207),D(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},jwe),h.Ah=function(t){return fxe(this,t)},h.Lh=function(t,n,r){return t==9?M1(this):J8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 9:return this.Cb&&(r=(a=this.Db>>16,a>=0?fxe(this,r):this.Cb.Th(this,-1-a,null,r))),Xye(this,l(t,27),r)}return vxe(this,t,n,r)},h.Uh=function(t,n,r){return n==9?Xye(this,null,r):wxe(this,t,n,r)},h.Wh=function(t){return t==9?!!M1(this):H7e(this,t)},h.bi=function(t,n){switch(t){case 9:z9e(this,l(n,27));return}I9e(this,t,n)},h.ii=function(){return su(),pPe},h.ki=function(t){switch(t){case 9:z9e(this,null);return}K8e(this,t)},h.Ib=function(){return Jbt(this)},I(sv,"ElkPortImpl",193);var A_t=ks(So,"BasicEMap/Entry");D(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},k$),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.Hb=function(){return fw(this)},h.Di=function(t){h7e(this,l(t,149))},h.Lh=function(t,n,r){switch(t){case 0:return this.b;case 1:return this.c}return rU(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return!!this.b;case 1:return this.c!=null}return nue(this,t)},h.bi=function(t,n){switch(t){case 0:h7e(this,l(n,149));return;case 1:u7e(this,n);return}$ue(this,t,n)},h.ii=function(){return su(),Cg},h.ki=function(t){switch(t){case 0:h7e(this,null);return;case 1:u7e(this,null);return}Fue(this,t)},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t?es(t):0),this.a},h.md=function(){return this.c},h.Ci=function(t){this.a=t},h.nd=function(t){var n;return n=this.c,u7e(this,t),n},h.Ib=function(){var t;return this.Db&64?g0(this):(t=new tb,hi(hi(hi(t,this.b?this.b.Pg():ul),Phe),j_(this.c)),t.a)},h.a=-1,h.c=null;var L2=I(sv,"ElkPropertyToValueMapEntryImpl",1122);D(996,1,{},T$),I(no,"JsonAdapter",996),D(216,63,lp,dd),I(no,"JsonImportException",216),D(868,1,{},cgt),I(no,"JsonImporter",868),D(903,1,{},ptt),I(no,"JsonImporter/lambda$0$Type",903),D(904,1,{},btt),I(no,"JsonImporter/lambda$1$Type",904),D(912,1,{},FXe),I(no,"JsonImporter/lambda$10$Type",912),D(914,1,{},mtt),I(no,"JsonImporter/lambda$11$Type",914),D(915,1,{},vtt),I(no,"JsonImporter/lambda$12$Type",915),D(921,1,{},Mat),I(no,"JsonImporter/lambda$13$Type",921),D(920,1,{},Dat),I(no,"JsonImporter/lambda$14$Type",920),D(916,1,{},wtt),I(no,"JsonImporter/lambda$15$Type",916),D(917,1,{},ytt),I(no,"JsonImporter/lambda$16$Type",917),D(918,1,{},xtt),I(no,"JsonImporter/lambda$17$Type",918),D(919,1,{},ktt),I(no,"JsonImporter/lambda$18$Type",919),D(924,1,{},RXe),I(no,"JsonImporter/lambda$19$Type",924),D(905,1,{},jXe),I(no,"JsonImporter/lambda$2$Type",905),D(922,1,{},$Xe),I(no,"JsonImporter/lambda$20$Type",922),D(923,1,{},zXe),I(no,"JsonImporter/lambda$21$Type",923),D(927,1,{},qXe),I(no,"JsonImporter/lambda$22$Type",927),D(925,1,{},HXe),I(no,"JsonImporter/lambda$23$Type",925),D(926,1,{},VXe),I(no,"JsonImporter/lambda$24$Type",926),D(929,1,{},UXe),I(no,"JsonImporter/lambda$25$Type",929),D(928,1,{},GXe),I(no,"JsonImporter/lambda$26$Type",928),D(930,1,fr,Ett),h.Cd=function(t){Dvn(this.b,this.a,ei(t))},I(no,"JsonImporter/lambda$27$Type",930),D(931,1,fr,Ttt),h.Cd=function(t){Ivn(this.b,this.a,ei(t))},I(no,"JsonImporter/lambda$28$Type",931),D(932,1,{},Ctt),I(no,"JsonImporter/lambda$29$Type",932),D(908,1,{},KXe),I(no,"JsonImporter/lambda$3$Type",908),D(933,1,{},Stt),I(no,"JsonImporter/lambda$30$Type",933),D(934,1,{},WXe),I(no,"JsonImporter/lambda$31$Type",934),D(935,1,{},YXe),I(no,"JsonImporter/lambda$32$Type",935),D(936,1,{},XXe),I(no,"JsonImporter/lambda$33$Type",936),D(937,1,{},QXe),I(no,"JsonImporter/lambda$34$Type",937),D(870,1,{},JXe),I(no,"JsonImporter/lambda$35$Type",870),D(941,1,{},yit),I(no,"JsonImporter/lambda$36$Type",941),D(938,1,fr,ZXe),h.Cd=function(t){Fmn(this.a,l(t,377))},I(no,"JsonImporter/lambda$37$Type",938),D(939,1,fr,_tt),h.Cd=function(t){vln(this.a,this.b,l(t,166))},I(no,"JsonImporter/lambda$38$Type",939),D(940,1,fr,Att),h.Cd=function(t){wln(this.a,this.b,l(t,166))},I(no,"JsonImporter/lambda$39$Type",940),D(906,1,{},eQe),I(no,"JsonImporter/lambda$4$Type",906),D(942,1,fr,tQe),h.Cd=function(t){Rmn(this.a,l(t,8))},I(no,"JsonImporter/lambda$40$Type",942),D(907,1,{},nQe),I(no,"JsonImporter/lambda$5$Type",907),D(911,1,{},rQe),I(no,"JsonImporter/lambda$6$Type",911),D(909,1,{},iQe),I(no,"JsonImporter/lambda$7$Type",909),D(910,1,{},sQe),I(no,"JsonImporter/lambda$8$Type",910),D(913,1,{},aQe),I(no,"JsonImporter/lambda$9$Type",913),D(961,1,fr,oQe),h.Cd=function(t){J8(this.a,new yy(ei(t)))},I(no,"JsonMetaDataConverter/lambda$0$Type",961),D(962,1,fr,cQe),h.Cd=function(t){Lgn(this.a,l(t,245))},I(no,"JsonMetaDataConverter/lambda$1$Type",962),D(963,1,fr,uQe),h.Cd=function(t){A2n(this.a,l(t,143))},I(no,"JsonMetaDataConverter/lambda$2$Type",963),D(964,1,fr,lQe),h.Cd=function(t){Mgn(this.a,l(t,170))},I(no,"JsonMetaDataConverter/lambda$3$Type",964),D(245,22,{3:1,34:1,22:1,245:1},R8);var bY,mY,Xge,vY,wY,yY,Qge,Jge,xY=Fr(IP,"GraphFeature",245,Hr,dwn,ndn),L_t;D(11,1,{34:1,149:1},Ui,vs,pn,Ha),h.Fd=function(t){return Thn(this,l(t,149))},h.Fb=function(t){return eot(this,t)},h.Sg=function(){return It(this)},h.Pg=function(){return this.b},h.Hb=function(){return s2(this.b)},h.Ib=function(){return this.b},I(IP,"Property",11),D(671,1,ii,Nie),h.Ne=function(t,n){return N4n(this,l(t,96),l(n,96))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(IP,"PropertyHolderComparator",671),D(709,1,Oa,ywe),h.Nb=function(t){Za(this,t)},h.Pb=function(){return Pvn(this)},h.Qb=function(){aZe()},h.Ob=function(){return!!this.a},I(qG,"ElkGraphUtil/AncestorIterator",709);var mPe=ks(So,"EList");D(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),h.bd=function(t,n){_A(this,t,n)},h.Fc=function(t){return qr(this,t)},h.cd=function(t,n){return N7e(this,t,n)},h.Gc=function(t){return As(this,t)},h.Ii=function(){return new H8(this)},h.Ji=function(){return new CO(this)},h.Ki=function(t){return mN(this,t)},h.Li=function(){return!0},h.Mi=function(t,n){},h.Ni=function(){},h.Oi=function(t,n){Noe(this,t,n)},h.Pi=function(t,n,r){},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Fb=function(t){return Bbt(this,t)},h.Hb=function(){return M7e(this)},h.Si=function(){return!1},h.Kc=function(){return new or(this)},h.ed=function(){return new q8(this)},h.fd=function(t){var n;if(n=this.gc(),t<0||t>n)throw ue(new my(t,n));return new jae(this,t)},h.Ui=function(t,n){this.Ti(t,this.dd(n))},h.Mc=function(t){return sV(this,t)},h.Wi=function(t,n){return n},h.hd=function(t,n){return n6(this,t,n)},h.Ib=function(){return T8e(this)},h.Yi=function(){return!0},h.Zi=function(t,n){return EE(this,n)},I(So,"AbstractEList",70),D(66,70,Bd,X2,Lw,T7e),h.Ei=function(t,n){return Due(this,t,n)},h.Fi=function(t){return Odt(this,t)},h.Gi=function(t,n){IN(this,t,n)},h.Hi=function(t){tN(this,t)},h.$i=function(t){return R6e(this,t)},h.$b=function(){uA(this)},h.Hc=function(t){return jE(this,t)},h.Xb=function(t){return Oe(this,t)},h._i=function(t){var n,r,a;++this.j,r=this.g==null?0:this.g.length,t>r&&(a=this.g,n=r+(r/2|0)+4,n=0?(this.gd(n),!0):!1},h.Xi=function(t,n){return this.Dj(t,this.Zi(t,n))},h.gc=function(){return this.Ej()},h.Pc=function(){return this.Fj()},h.Qc=function(t){return this.Gj(t)},h.Ib=function(){return this.Hj()},I(So,"DelegatingEList",2093),D(2094,2093,J4t),h.Ei=function(t,n){return wke(this,t,n)},h.Fi=function(t){return this.Ei(this.Ej(),t)},h.Gi=function(t,n){E2t(this,t,n)},h.Hi=function(t){h2t(this,t)},h.Li=function(){return!this.Mj()},h.$b=function(){tL(this)},h.Ij=function(t,n,r,a,o){return new Zat(this,t,n,r,a,o)},h.Jj=function(t){Ni(this.jj(),t)},h.Kj=function(){return null},h.Lj=function(){return-1},h.jj=function(){return null},h.Mj=function(){return!1},h.Nj=function(t,n){return n},h.Oj=function(t,n){return n},h.Pj=function(){return!1},h.Qj=function(){return!this.Aj()},h.Ti=function(t,n){var r,a;return this.Pj()?(a=this.Qj(),r=Uxe(this,t,n),this.Jj(this.Ij(7,pt(n),r,t,a)),r):Uxe(this,t,n)},h.gd=function(t){var n,r,a,o;return this.Pj()?(r=null,a=this.Qj(),n=this.Ij(4,o=rH(this,t),null,t,a),this.Mj()&&o?(r=this.Oj(o,r),r?(r.nj(n),r.oj()):this.Jj(n)):r?(r.nj(n),r.oj()):this.Jj(n),o):(o=rH(this,t),this.Mj()&&o&&(r=this.Oj(o,null),r&&r.oj()),o)},h.Xi=function(t,n){return Mmt(this,t,n)},I(Rx,"DelegatingNotifyingListImpl",2094),D(152,1,YP),h.nj=function(t){return Mxe(this,t)},h.oj=function(){qoe(this)},h.gj=function(){return this.d},h.Kj=function(){return null},h.Rj=function(){return null},h.hj=function(t){return-1},h.ij=function(){return mbt(this)},h.jj=function(){return null},h.kj=function(){return X9e(this)},h.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},h.Sj=function(){return!1},h.mj=function(t){var n,r,a,o,f,g,w,E,C,L,B;switch(this.d){case 1:case 2:switch(o=t.gj(),o){case 1:case 2:if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0}case 4:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return C=Bke(this),E=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,g=t.lj(),this.d=6,B=new Lw(2),E<=g?(qr(B,this.n),qr(B,t.kj()),this.g=he(le(Vr,1),di,28,15,[this.o=E,g+1])):(qr(B,t.kj()),qr(B,this.n),this.g=he(le(Vr,1),di,28,15,[this.o=g,E])),this.n=B,C||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null)){for(C=Bke(this),g=t.lj(),L=l(this.g,53),a=We(Vr,di,28,L.length+1,15,1),n=0;n>>0,n.toString(16))),a.a+=" (eventType: ",this.d){case 1:{a.a+="SET";break}case 2:{a.a+="UNSET";break}case 3:{a.a+="ADD";break}case 5:{a.a+="ADD_MANY";break}case 4:{a.a+="REMOVE";break}case 6:{a.a+="REMOVE_MANY";break}case 7:{a.a+="MOVE";break}case 8:{a.a+="REMOVING_ADAPTER";break}case 9:{a.a+="RESOLVE";break}default:{ise(a,this.d);break}}if(imt(this)&&(a.a+=", touch: true"),a.a+=", position: ",ise(a,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),a.a+=", notifier: ",O_(a,this.jj()),a.a+=", feature: ",O_(a,this.Kj()),a.a+=", oldValue: ",O_(a,X9e(this)),a.a+=", newValue: ",this.d==6&&De(this.g,53)){for(r=l(this.g,53),a.a+="[",t=0;t10?((!this.b||this.c.j!=this.a)&&(this.b=new U_(this),this.a=this.j),W0(this.b,t)):jE(this,t)},h.Yi=function(){return!0},h.a=0,I(So,"AbstractEList/1",966),D(302,77,she,my),I(So,"AbstractEList/BasicIndexOutOfBoundsException",302),D(37,1,Oa,or),h.Nb=function(t){Za(this,t)},h.Xj=function(){if(this.i.j!=this.f)throw ue(new Xh)},h.Yj=function(){return gr(this)},h.Ob=function(){return this.e!=this.i.gc()},h.Pb=function(){return this.Yj()},h.Qb=function(){jA(this)},h.e=0,h.f=0,h.g=-1,I(So,"AbstractEList/EIterator",37),D(286,37,lg,q8,jae),h.Qb=function(){jA(this)},h.Rb=function(t){D1t(this,t)},h.Zj=function(){var t;try{return t=this.d.Xb(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=bs(n),De(n,77)?(this.Xj(),ue(new _c)):ue(n)}},h.$j=function(t){Bdt(this,t)},h.Sb=function(){return this.e!=0},h.Tb=function(){return this.e},h.Ub=function(){return this.Zj()},h.Vb=function(){return this.e-1},h.Wb=function(t){this.$j(t)},I(So,"AbstractEList/EListIterator",286),D(355,37,Oa,H8),h.Yj=function(){return rue(this)},h.Qb=function(){throw ue(new Qr)},I(So,"AbstractEList/NonResolvingEIterator",355),D(398,286,lg,CO,f4e),h.Rb=function(t){throw ue(new Qr)},h.Yj=function(){var t;try{return t=this.c.Vi(this.e),this.Xj(),this.g=this.e++,t}catch(n){throw n=bs(n),De(n,77)?(this.Xj(),ue(new _c)):ue(n)}},h.Zj=function(){var t;try{return t=this.c.Vi(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=bs(n),De(n,77)?(this.Xj(),ue(new _c)):ue(n)}},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(So,"AbstractEList/NonResolvingEListIterator",398),D(2080,70,Z4t),h.Ei=function(t,n){var r,a,o,f,g,w,E,C,L,B,z;if(o=n.gc(),o!=0){for(C=l(Kn(this.a,4),129),L=C==null?0:C.length,z=L+o,a=Sce(this,z),B=L-t,B>0&&pu(C,t,a,t+o,B),E=n.Kc(),g=0;gr)throw ue(new my(t,r));return new xat(this,t)},h.$b=function(){var t,n;++this.j,t=l(Kn(this.a,4),129),n=t==null?0:t.length,PE(this,null),Noe(this,n,t)},h.Hc=function(t){var n,r,a,o,f;if(n=l(Kn(this.a,4),129),n!=null){if(t!=null){for(a=n,o=0,f=a.length;o=r)throw ue(new my(t,r));return n[t]},h.dd=function(t){var n,r,a;if(n=l(Kn(this.a,4),129),n!=null){if(t!=null){for(r=0,a=n.length;rr)throw ue(new my(t,r));return new yat(this,t)},h.Ti=function(t,n){var r,a,o;if(r=z1t(this),o=r==null?0:r.length,t>=o)throw ue(new tc(Qfe+t+av+o));if(n>=o)throw ue(new tc(Jfe+n+av+o));return a=r[n],t!=n&&(t0&&pu(t,0,n,0,r),n},h.Qc=function(t){var n,r,a;return n=l(Kn(this.a,4),129),a=n==null?0:n.length,a>0&&(t.lengtha&&Ts(t,a,null),t};var M_t;I(So,"ArrayDelegatingEList",2080),D(1051,37,Oa,kut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Xh)},h.Qb=function(){jA(this),this.a=l(Kn(this.b.a,4),129)},I(So,"ArrayDelegatingEList/EIterator",1051),D(722,286,lg,Nst,yat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Xh)},h.$j=function(t){Bdt(this,t),this.a=l(Kn(this.b.a,4),129)},h.Qb=function(){jA(this),this.a=l(Kn(this.b.a,4),129)},I(So,"ArrayDelegatingEList/EListIterator",722),D(1052,355,Oa,Eut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Xh)},I(So,"ArrayDelegatingEList/NonResolvingEIterator",1052),D(723,398,lg,Pst,xat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Xh)},I(So,"ArrayDelegatingEList/NonResolvingEListIterator",723),D(615,302,she,Vse),I(So,"BasicEList/BasicIndexOutOfBoundsException",615),D(710,66,Bd,eye),h.bd=function(t,n){throw ue(new Qr)},h.Fc=function(t){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.$b=function(){throw ue(new Qr)},h._i=function(t){throw ue(new Qr)},h.Kc=function(){return this.Ii()},h.ed=function(){return this.Ji()},h.fd=function(t){return this.Ki(t)},h.Ti=function(t,n){throw ue(new Qr)},h.Ui=function(t,n){throw ue(new Qr)},h.gd=function(t){throw ue(new Qr)},h.Mc=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},I(So,"BasicEList/UnmodifiableEList",710),D(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),h.bd=function(t,n){fhn(this,t,l(n,44))},h.Fc=function(t){return sfn(this,l(t,44))},h.Jc=function(t){to(this,t)},h.Xb=function(t){return l(Oe(this.c,t),136)},h.Ti=function(t,n){return l(this.c.Ti(t,n),44)},h.Ui=function(t,n){dhn(this,t,l(n,44))},h.Lc=function(){return new bn(null,new kn(this,16))},h.gd=function(t){return l(this.c.gd(t),44)},h.hd=function(t,n){return Agn(this,t,l(n,44))},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new bn(null,new kn(this,16))},h.cd=function(t,n){return this.c.cd(t,n)},h.Gc=function(t){return this.c.Gc(t)},h.$b=function(){this.c.$b()},h.Hc=function(t){return this.c.Hc(t)},h.Ic=function(t){return EN(this.c,t)},h._j=function(){var t,n,r;if(this.d==null){for(this.d=We(vPe,_Se,66,2*this.f+1,0,1),r=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),136),oU(this,t);this.e=r}},h.Fb=function(t){return cit(this,t)},h.Hb=function(){return M7e(this.c)},h.dd=function(t){return this.c.dd(t)},h.ak=function(){this.c=new hQe(this)},h.dc=function(){return this.f==0},h.Kc=function(){return this.c.Kc()},h.ed=function(){return this.c.ed()},h.fd=function(t){return this.c.fd(t)},h.bk=function(){return iN(this)},h.ck=function(t,n,r){return new xit(t,n,r)},h.dk=function(){return new S$},h.Mc=function(t){return Wht(this,t)},h.gc=function(){return this.f},h.kd=function(t,n){return new Zp(this.c,t,n)},h.Pc=function(){return this.c.Pc()},h.Qc=function(t){return this.c.Qc(t)},h.Ib=function(){return T8e(this.c)},h.e=0,h.f=0,I(So,"BasicEMap",721),D(1046,66,Bd,hQe),h.Mi=function(t,n){Vcn(this,l(n,136))},h.Pi=function(t,n,r){var a;++(a=this,l(n,136),a).a.e},h.Qi=function(t,n){Ucn(this,l(n,136))},h.Ri=function(t,n,r){Vhn(this,l(n,136),l(r,136))},h.Oi=function(t,n){zft(this.a)},I(So,"BasicEMap/1",1046),D(1047,66,Bd,S$),h.aj=function(t){return We(IOn,e5t,621,t,0,1)},I(So,"BasicEMap/2",1047),D(1048,q1,Tl,fQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return Kce(this.a,t)},h.Kc=function(){return this.a.f==0?(Fk(),fF.a):new WJe(this.a)},h.Mc=function(t){var n;return n=this.a.f,YV(this.a,t),this.a.f!=n},h.gc=function(){return this.a.f},I(So,"BasicEMap/3",1048),D(1049,31,Wy,dQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return Fbt(this.a,t)},h.Kc=function(){return this.a.f==0?(Fk(),fF.a):new YJe(this.a)},h.gc=function(){return this.a.f},I(So,"BasicEMap/4",1049),D(1050,q1,Tl,gQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){var n,r,a,o,f,g,w,E,C;if(this.a.f>0&&De(t,44)&&(this.a._j(),E=l(t,44),w=E.ld(),o=w==null?0:es(w),f=Qye(this.a,o),n=this.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g"+this.c},h.a=0;var IOn=I(So,"BasicEMap/EntryImpl",621);D(546,1,{},MS),I(So,"BasicEMap/View",546);var fF;D(783,1,{}),h.Fb=function(t){return O9e((Cn(),_o),t)},h.Hb=function(){return q7e((Cn(),_o))},h.Ib=function(){return Tb((Cn(),_o))},I(So,"ECollections/BasicEmptyUnmodifiableEList",783),D(1348,1,lg,Qne),h.Nb=function(t){Za(this,t)},h.Rb=function(t){throw ue(new Qr)},h.Ob=function(){return!1},h.Sb=function(){return!1},h.Pb=function(){throw ue(new _c)},h.Tb=function(){return 0},h.Ub=function(){throw ue(new _c)},h.Vb=function(){return-1},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(So,"ECollections/BasicEmptyUnmodifiableEList/1",1348),D(1346,783,{20:1,16:1,15:1,61:1},iJe),h.bd=function(t,n){wZe()},h.Fc=function(t){return yZe()},h.cd=function(t,n){return xZe()},h.Gc=function(t){return kZe()},h.$b=function(){EZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){to(this,t)},h.Xb=function(t){return rye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return TZe()},h.Ui=function(t,n){CZe()},h.Lc=function(){return new bn(null,new kn(this,16))},h.gd=function(t){return SZe()},h.Mc=function(t){return _Ze()},h.hd=function(t,n){return AZe()},h.gc=function(){return 0},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new bn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new Zp(_o,t,n)},h.Pc=function(){return e5e((Cn(),_o))},h.Qc=function(t){return Cn(),PA(_o,t)},I(So,"ECollections/EmptyUnmodifiableEList",1346),D(1347,783,{20:1,16:1,15:1,61:1,597:1},sJe),h.bd=function(t,n){wZe()},h.Fc=function(t){return yZe()},h.cd=function(t,n){return xZe()},h.Gc=function(t){return kZe()},h.$b=function(){EZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){to(this,t)},h.Xb=function(t){return rye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return TZe()},h.Ui=function(t,n){CZe()},h.Lc=function(){return new bn(null,new kn(this,16))},h.gd=function(t){return SZe()},h.Mc=function(t){return _Ze()},h.hd=function(t,n){return AZe()},h.gc=function(){return 0},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new bn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new Zp(_o,t,n)},h.Pc=function(){return e5e((Cn(),_o))},h.Qc=function(t){return Cn(),PA(_o,t)},h.bk=function(){return Cn(),Cn(),mg},I(So,"ECollections/EmptyUnmodifiableEMap",1347);var yPe=ks(So,"Enumerator"),kY;D(288,1,{288:1},ele),h.Fb=function(t){var n;return this===t?!0:De(t,288)?(n=l(t,288),this.f==n.f&&Vdn(this.i,n.i)&&_ae(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&_ae(this.d,n.d)&&_ae(this.g,n.g)&&_ae(this.e,n.e)&&g6n(this,n)):!1},h.Hb=function(){return this.f},h.Ib=function(){return bmt(this)},h.f=0;var D_t=0,I_t=0,O_t=0,N_t=0,xPe=0,kPe=0,EPe=0,TPe=0,CPe=0,P_t,$M=0,zM=0,B_t=0,F_t=0,EY,SPe;I(So,"URI",288),D(1121,45,m6,aJe),h.zc=function(t,n){return l(rc(this,ei(t),l(n,288)),288)},I(So,"URI/URICache",1121),D(506,66,Bd,E$,uH),h.Si=function(){return!0},I(So,"UniqueEList",506),D(590,63,lp,nV),I(So,"WrappedException",590);var mi=ks(pf,r5t),M4=ks(pf,i5t),dl=ks(pf,s5t),D4=ks(pf,a5t),l1=ks(pf,o5t),Vf=ks(pf,"EClass"),tpe=ks(pf,"EDataType"),R_t;D(1233,45,m6,oJe),h.xc=function(t){return Ia(t)?xu(this,t):hc(zo(this.f,t))},I(pf,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var TY=ks(pf,"EEnum"),wp=ks(pf,c5t),Wo=ks(pf,u5t),Uf=ks(pf,l5t),Gf,k3=ks(pf,h5t),I4=ks(pf,f5t);D(1042,1,{},Yne),h.Ib=function(){return"NIL"},I(pf,"EStructuralFeature/Internal/DynamicValueHolder/1",1042);var j_t;D(1041,45,m6,cJe),h.xc=function(t){return Ia(t)?xu(this,t):hc(zo(this.f,t))},I(pf,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var Zu=ks(pf,d5t),o9=ks(pf,"EValidator/PatternMatcher"),_Pe,APe,Vn,M2,O4,Jb,$_t,z_t,q_t,Zb,D2,em,E3,td,H_t,V_t,Kf,I2,U_t,O2,N4,o7,No,G_t,K_t,T3,CY=ks(us,"FeatureMap/Entry");D(545,1,{76:1},Sq),h.Lk=function(){return this.a},h.md=function(){return this.b},I(Gn,"BasicEObjectImpl/1",545),D(1040,1,i0e,Itt),h.Fk=function(t){return Moe(this.a,this.b,t)},h.Qj=function(){return got(this.a,this.b)},h.Wb=function(t){q5e(this.a,this.b,t)},h.Gk=function(){zgn(this.a,this.b)},I(Gn,"BasicEObjectImpl/4",1040),D(2081,1,{114:1}),h.Mk=function(t){this.e=t==0?W_t:We(wa,Rn,1,t,5,1)},h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Nk=function(){return this.c},h.Ok=function(){throw ue(new Qr)},h.Pk=function(){throw ue(new Qr)},h.Qk=function(){return this.d},h.Rk=function(){return this.e!=null},h.Sk=function(t){this.c=t},h.Tk=function(t){throw ue(new Qr)},h.Uk=function(t){throw ue(new Qr)},h.Vk=function(t){this.d=t};var W_t;I(Gn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),D(192,2081,{114:1},Sf),h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},I(Gn,"BasicEObjectImpl/EPropertiesHolderImpl",192),D(516,99,g4t,m5),h.uh=function(){return this.f},h.zh=function(){return this.k},h.Bh=function(t,n){this.g=t,this.i=n},h.Dh=function(){return this.j&2?this.$h().Nk():this.ii()},h.Fh=function(){return this.i},h.wh=function(){return(this.j&1)!=0},h.Ph=function(){return this.g},h.Vh=function(){return(this.j&4)!=0},h.$h=function(){return!this.k&&(this.k=new Sf),this.k},h.ci=function(t){this.$h().Sk(t),t?this.j|=2:this.j&=-3},h.ei=function(t){this.$h().Uk(t),t?this.j|=4:this.j&=-5},h.ii=function(){return(lb(),Vn).S},h.i=0,h.j=1,I(Gn,"EObjectImpl",516),D(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},F4e),h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Dh=function(){return this.d},h.Ih=function(t){return ms(this.d,t)},h.Kh=function(){return this.d},h.Oh=function(){return this.e!=null},h.$h=function(){return!this.k&&(this.k=new _$),this.k},h.ci=function(t){this.d=t},h.hi=function(){var t;return this.e==null&&(t=yr(this.d),this.e=t==0?Y_t:We(wa,Rn,1,t,5,1)),this},h.ji=function(){return 0};var Y_t;I(Gn,"DynamicEObjectImpl",798),D(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},Git),h.Fb=function(t){return this===t},h.Hb=function(){return fw(this)},h.ci=function(t){this.d=t,this.b=oP(t,"key"),this.c=oP(t,TL)},h.Bi=function(){var t;return this.a==-1&&(t=Hoe(this,this.b),this.a=t==null?0:es(t)),this.a},h.ld=function(){return Hoe(this,this.b)},h.md=function(){return Hoe(this,this.c)},h.Ci=function(t){this.a=t},h.Di=function(t){q5e(this,this.b,t)},h.nd=function(t){var n;return n=Hoe(this,this.c),q5e(this,this.c,t),n},h.a=0,I(Gn,"DynamicEObjectImpl/BasicEMapEntry",1522),D(1523,1,{114:1},_$),h.Mk=function(t){throw ue(new Qr)},h.li=function(t){throw ue(new Qr)},h.mi=function(t,n){throw ue(new Qr)},h.ni=function(t){throw ue(new Qr)},h.Nk=function(){throw ue(new Qr)},h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Qk=function(){return this.c},h.Rk=function(){throw ue(new Qr)},h.Sk=function(t){throw ue(new Qr)},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},h.Vk=function(t){this.c=t},I(Gn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),D(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},CI),h.Ah=function(t){return dxe(this,t)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.d;case 2:return r?(!this.b&&(this.b=new dh((Tn(),No),Yc,this)),this.b):(!this.b&&(this.b=new dh((Tn(),No),Yc,this)),iN(this.b));case 3:return wot(this);case 4:return!this.a&&(this.a=new Ys(Xb,this,4)),this.a;case 5:return!this.c&&(this.c=new $5(Xb,this,5)),this.c}return sf(this,t-yr((Tn(),M2)),Mn((a=l(Kn(this,16),29),a||M2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 3:return this.Cb&&(r=(o=this.Db>>16,o>=0?dxe(this,r):this.Cb.Th(this,-1-o,null,r))),Z4e(this,l(t,155),r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),M2)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),M2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 2:return!this.b&&(this.b=new dh((Tn(),No),Yc,this)),Uq(this.b,t,r);case 3:return Z4e(this,null,r);case 4:return!this.a&&(this.a=new Ys(Xb,this,4)),To(this.a,t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),M2)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),M2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!wot(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return nf(this,t-yr((Tn(),M2)),Mn((n=l(Kn(this,16),29),n||M2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Ddn(this,ei(n));return;case 2:!this.b&&(this.b=new dh((Tn(),No),Yc,this)),_V(this.b,n);return;case 3:ibt(this,l(n,155));return;case 4:!this.a&&(this.a=new Ys(Xb,this,4)),$r(this.a),!this.a&&(this.a=new Ys(Xb,this,4)),As(this.a,l(n,16));return;case 5:!this.c&&(this.c=new $5(Xb,this,5)),$r(this.c),!this.c&&(this.c=new $5(Xb,this,5)),As(this.c,l(n,16));return}uf(this,t-yr((Tn(),M2)),Mn((r=l(Kn(this,16),29),r||M2),t),n)},h.ii=function(){return Tn(),M2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:g7e(this,null);return;case 2:!this.b&&(this.b=new dh((Tn(),No),Yc,this)),this.b.c.$b();return;case 3:ibt(this,null);return;case 4:!this.a&&(this.a=new Ys(Xb,this,4)),$r(this.a);return;case 5:!this.c&&(this.c=new $5(Xb,this,5)),$r(this.c);return}cf(this,t-yr((Tn(),M2)),Mn((n=l(Kn(this,16),29),n||M2),t))},h.Ib=function(){return c1t(this)},h.d=null,I(Gn,"EAnnotationImpl",519),D(141,721,ASe,xl),h.Gi=function(t,n){Yln(this,t,l(n,44))},h.Wk=function(t,n){return Qfn(this,l(t,44),n)},h.$i=function(t){return l(l(this.c,71).$i(t),136)},h.Ii=function(){return l(this.c,71).Ii()},h.Ji=function(){return l(this.c,71).Ji()},h.Ki=function(t){return l(this.c,71).Ki(t)},h.Xk=function(t,n){return Uq(this,t,n)},h.Fk=function(t){return l(this.c,79).Fk(t)},h.ak=function(){},h.Qj=function(){return l(this.c,79).Qj()},h.ck=function(t,n,r){var a;return a=l(Ah(this.b).wi().si(this.b),136),a.Ci(t),a.Di(n),a.nd(r),a},h.dk=function(){return new kwe(this)},h.Wb=function(t){_V(this,t)},h.Gk=function(){l(this.c,79).Gk()},I(us,"EcoreEMap",141),D(165,141,ASe,dh),h._j=function(){var t,n,r,a,o,f;if(this.d==null){for(f=We(vPe,_Se,66,2*this.f+1,0,1),r=this.c.Kc();r.e!=r.i.gc();)n=l(r.Yj(),136),a=n.Bi(),o=(a&Ii)%f.length,t=f[o],!t&&(t=f[o]=new kwe(this)),t.Fc(n);this.d=f}},I(Gn,"EAnnotationImpl/1",165),D(292,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,481:1,54:1,99:1,158:1,292:1,119:1,120:1}),h.Lh=function(t,n,r){var a,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),!!this.Jk();case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q}return sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 9:return qae(this,r)}return o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-yr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0)}return nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:this.ui(ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),K_t},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:this.Zk(1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.pi=function(){Of(this),this.Bb|=1},h.Hk=function(){return Of(this)},h.Ik=function(){return this.t},h.Jk=function(){var t;return t=this.t,t>1||t==-1},h.Si=function(){return(this.Bb&512)!=0},h.Yk=function(t,n){return o8e(this,t,n)},h.Zk=function(t){My(this,t)},h.Ib=function(){return T9e(this)},h.s=0,h.t=1,I(Gn,"ETypedElementImpl",292),D(462,292,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,462:1,292:1,119:1,120:1,692:1}),h.Ah=function(t){return Qdt(this,t)},h.Lh=function(t,n,r){var a,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),!!this.Jk();case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&m0);case 11:return Hn(),!!(this.Bb&r4);case 12:return Hn(),!!(this.Bb&Xy);case 13:return this.j;case 14:return UE(this);case 15:return Hn(),!!(this.Bb&Sl);case 16:return Hn(),!!(this.Bb&_d);case 17:return ky(this)}return sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 17:return this.Cb&&(r=(o=this.Db>>16,o>=0?Qdt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,17,r)}return f=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),f.wk().zk(this,Ku(this),n-yr(this.ii()),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 9:return qae(this,r);case 17:return Nh(this,null,17,r)}return o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-yr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return(this.Bb&m0)==0;case 11:return(this.Bb&r4)!=0;case 12:return(this.Bb&Xy)!=0;case 13:return this.j!=null;case 14:return UE(this)!=null;case 15:return(this.Bb&Sl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!ky(this)}return nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:poe(this,ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return;case 10:AE(this,Rt(Bt(n)));return;case 11:DE(this,Rt(Bt(n)));return;case 12:LE(this,Rt(Bt(n)));return;case 13:Z3e(this,ei(n));return;case 15:ME(this,Rt(Bt(n)));return;case 16:IE(this,Rt(Bt(n)));return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),G_t},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&zy(Yl(l(this.Cb,90)),4),Fu(this,null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:this.Zk(1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:AE(this,!0);return;case 11:DE(this,!1);return;case 12:LE(this,!1);return;case 13:this.i=null,xV(this,null);return;case 15:ME(this,!1);return;case 16:IE(this,!1);return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.pi=function(){Wk(ic((El(),io),this)),Of(this),this.Bb|=1},h.pk=function(){return this.f},h.ik=function(){return UE(this)},h.qk=function(){return ky(this)},h.uk=function(){return null},h.$k=function(){return this.k},h.Lj=function(){return this.n},h.vk=function(){return pU(this)},h.wk=function(){var t,n,r,a,o,f,g,w,E;return this.p||(r=ky(this),(r.i==null&&Sd(r),r.i).length,a=this.uk(),a&&yr(ky(a)),o=Of(this),g=o.kk(),t=g?g.i&1?g==ih?Ns:g==Vr?ro:g==B4?_T:g==Na?ta:g==nm?r3:g==h7?i3:g==Al?jx:PL:g:null,n=UE(this),w=o.ik(),U4n(this),this.Bb&_d&&((f=yxe((El(),io),r))&&f!=this||(f=rx(ic(io,this))))?this.p=new Ntt(this,f):this.Jk()?this.al()?a?this.Bb&Sl?t?this.bl()?this.p=new Om(47,t,this,a):this.p=new Om(5,t,this,a):this.bl()?this.p=new Rm(46,this,a):this.p=new Rm(4,this,a):t?this.bl()?this.p=new Om(49,t,this,a):this.p=new Om(7,t,this,a):this.bl()?this.p=new Rm(48,this,a):this.p=new Rm(6,this,a):this.Bb&Sl?t?t==uv?this.p=new Xp(50,A_t,this):this.bl()?this.p=new Xp(43,t,this):this.p=new Xp(1,t,this):this.bl()?this.p=new Jp(42,this):this.p=new Jp(0,this):t?t==uv?this.p=new Xp(41,A_t,this):this.bl()?this.p=new Xp(45,t,this):this.p=new Xp(3,t,this):this.bl()?this.p=new Jp(44,this):this.p=new Jp(2,this):De(o,156)?t==CY?this.p=new Jp(40,this):this.Bb&512?this.Bb&Sl?t?this.p=new Xp(9,t,this):this.p=new Jp(8,this):t?this.p=new Xp(11,t,this):this.p=new Jp(10,this):this.Bb&Sl?t?this.p=new Xp(13,t,this):this.p=new Jp(12,this):t?this.p=new Xp(15,t,this):this.p=new Jp(14,this):a?(E=a.t,E>1||E==-1?this.bl()?this.Bb&Sl?t?this.p=new Om(25,t,this,a):this.p=new Rm(24,this,a):t?this.p=new Om(27,t,this,a):this.p=new Rm(26,this,a):this.Bb&Sl?t?this.p=new Om(29,t,this,a):this.p=new Rm(28,this,a):t?this.p=new Om(31,t,this,a):this.p=new Rm(30,this,a):this.bl()?this.Bb&Sl?t?this.p=new Om(33,t,this,a):this.p=new Rm(32,this,a):t?this.p=new Om(35,t,this,a):this.p=new Rm(34,this,a):this.Bb&Sl?t?this.p=new Om(37,t,this,a):this.p=new Rm(36,this,a):t?this.p=new Om(39,t,this,a):this.p=new Rm(38,this,a)):this.bl()?this.Bb&Sl?t?this.p=new Xp(17,t,this):this.p=new Jp(16,this):t?this.p=new Xp(19,t,this):this.p=new Jp(18,this):this.Bb&Sl?t?this.p=new Xp(21,t,this):this.p=new Jp(20,this):t?this.p=new Xp(23,t,this):this.p=new Jp(22,this):this._k()?this.bl()?this.p=new kit(l(o,29),this,a):this.p=new $5e(l(o,29),this,a):De(o,156)?t==CY?this.p=new Jp(40,this):this.Bb&Sl?t?this.p=new xst(n,w,this,(Wce(),g==Vr?PPe:g==ih?MPe:g==nm?BPe:g==B4?NPe:g==Na?OPe:g==h7?FPe:g==Al?DPe:g==kf?IPe:ipe)):this.p=new Nat(l(o,156),n,w,this):t?this.p=new yst(n,w,this,(Wce(),g==Vr?PPe:g==ih?MPe:g==nm?BPe:g==B4?NPe:g==Na?OPe:g==h7?FPe:g==Al?DPe:g==kf?IPe:ipe)):this.p=new Oat(l(o,156),n,w,this):this.al()?a?this.Bb&Sl?this.bl()?this.p=new Tit(l(o,29),this,a):this.p=new C4e(l(o,29),this,a):this.bl()?this.p=new Eit(l(o,29),this,a):this.p=new yae(l(o,29),this,a):this.Bb&Sl?this.bl()?this.p=new yrt(l(o,29),this):this.p=new jye(l(o,29),this):this.bl()?this.p=new wrt(l(o,29),this):this.p=new oae(l(o,29),this):this.bl()?a?this.Bb&Sl?this.p=new Cit(l(o,29),this,a):this.p=new E4e(l(o,29),this,a):this.Bb&Sl?this.p=new xrt(l(o,29),this):this.p=new $ye(l(o,29),this):a?this.Bb&Sl?this.p=new Sit(l(o,29),this,a):this.p=new T4e(l(o,29),this,a):this.Bb&Sl?this.p=new krt(l(o,29),this):this.p=new cH(l(o,29),this)),this.p},h.rk=function(){return(this.Bb&m0)!=0},h._k=function(){return!1},h.al=function(){return!1},h.sk=function(){return(this.Bb&_d)!=0},h.xk=function(){return Voe(this)},h.bl=function(){return!1},h.tk=function(){return(this.Bb&Sl)!=0},h.cl=function(t){this.k=t},h.ui=function(t){poe(this,t)},h.Ib=function(){return BU(this)},h.e=!1,h.n=0,I(Gn,"EStructuralFeatureImpl",462),D(331,462,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,331:1,158:1,462:1,292:1,119:1,120:1,692:1},zie),h.Lh=function(t,n,r){var a,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),!!v9e(this);case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&m0);case 11:return Hn(),!!(this.Bb&r4);case 12:return Hn(),!!(this.Bb&Xy);case 13:return this.j;case 14:return UE(this);case 15:return Hn(),!!(this.Bb&Sl);case 16:return Hn(),!!(this.Bb&_d);case 17:return ky(this);case 18:return Hn(),!!(this.Bb&eu);case 19:return n?gce(this):Fut(this)}return sf(this,t-yr((Tn(),O4)),Mn((a=l(Kn(this,16),29),a||O4),t),n,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return v9e(this);case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return(this.Bb&m0)==0;case 11:return(this.Bb&r4)!=0;case 12:return(this.Bb&Xy)!=0;case 13:return this.j!=null;case 14:return UE(this)!=null;case 15:return(this.Bb&Sl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!ky(this);case 18:return(this.Bb&eu)!=0;case 19:return!!Fut(this)}return nf(this,t-yr((Tn(),O4)),Mn((n=l(Kn(this,16),29),n||O4),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:poe(this,ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:JJe(this,l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return;case 10:AE(this,Rt(Bt(n)));return;case 11:DE(this,Rt(Bt(n)));return;case 12:LE(this,Rt(Bt(n)));return;case 13:Z3e(this,ei(n));return;case 15:ME(this,Rt(Bt(n)));return;case 16:IE(this,Rt(Bt(n)));return;case 18:$ce(this,Rt(Bt(n)));return}uf(this,t-yr((Tn(),O4)),Mn((r=l(Kn(this,16),29),r||O4),t),n)},h.ii=function(){return Tn(),O4},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&zy(Yl(l(this.Cb,90)),4),Fu(this,null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:this.b=0,My(this,1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:AE(this,!0);return;case 11:DE(this,!1);return;case 12:LE(this,!1);return;case 13:this.i=null,xV(this,null);return;case 15:ME(this,!1);return;case 16:IE(this,!1);return;case 18:$ce(this,!1);return}cf(this,t-yr((Tn(),O4)),Mn((n=l(Kn(this,16),29),n||O4),t))},h.pi=function(){gce(this),Wk(ic((El(),io),this)),Of(this),this.Bb|=1},h.Jk=function(){return v9e(this)},h.Yk=function(t,n){return this.b=0,this.a=null,o8e(this,t,n)},h.Zk=function(t){JJe(this,t)},h.Ib=function(){var t;return this.Db&64?BU(this):(t=new Af(BU(this)),t.a+=" (iD: ",Gp(t,(this.Bb&eu)!=0),t.a+=")",t.a)},h.b=0,I(Gn,"EAttributeImpl",331),D(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),h.dl=function(t){return t.Dh()==this},h.Ah=function(t){return wue(this,t)},h.Bh=function(t,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=t},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return zw(this);case 4:return this.ik();case 5:return this.F;case 6:return n?Ah(this):Qk(this);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),this.A}return sf(this,t-yr(this.ii()),Mn((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?wue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r)}return f=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),f.wk().zk(this,Ku(this),n-yr(this.ii()),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),To(this.A,t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-yr(this.ii()),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!zw(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Qk(this);case 7:return!!this.A&&this.A.i!=0}return nf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:FH(this,ei(n));return;case 2:Kse(this,ei(n));return;case 5:JE(this,ei(n));return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A),!this.A&&(this.A=new ml(Zu,this,7)),As(this.A,l(n,16));return}uf(this,t-yr(this.ii()),Mn((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),$_t},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Fu(this,null);return;case 2:CE(this,null),lE(this,this.D);return;case 5:JE(this,null);return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A);return}cf(this,t-yr(this.ii()),Mn((n=l(Kn(this,16),29),n||this.ii()),t))},h.hk=function(){var t;return this.G==-1&&(this.G=(t=Ah(this),t?f2(t.vi(),this):-1)),this.G},h.ik=function(){return null},h.jk=function(){return Ah(this)},h.el=function(){return this.v},h.kk=function(){return zw(this)},h.lk=function(){return this.D!=null?this.D:this.B},h.mk=function(){return this.F},h.fk=function(t){return ule(this,t)},h.fl=function(t){this.v=t},h.gl=function(t){xft(this,t)},h.hl=function(t){this.C=t},h.ui=function(t){FH(this,t)},h.Ib=function(){return UV(this)},h.C=null,h.D=null,h.G=-1,I(Gn,"EClassifierImpl",364),D(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,482:1,119:1,120:1,691:1},hz),h.dl=function(t){return Nfn(this,t.Dh())},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return zw(this);case 4:return null;case 5:return this.F;case 6:return n?Ah(this):Qk(this);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),this.A;case 8:return Hn(),!!(this.Bb&256);case 9:return Hn(),!!(this.Bb&512);case 10:return dc(this);case 11:return!this.q&&(this.q=new nt(Uf,this,11,10)),this.q;case 12:return d6(this);case 13:return JA(this);case 14:return JA(this),this.r;case 15:return d6(this),this.k;case 16:return o9e(this);case 17:return dle(this);case 18:return Sd(this);case 19:return _U(this);case 20:return d6(this),this.o;case 21:return!this.s&&(this.s=new nt(dl,this,21,17)),this.s;case 22:return du(this);case 23:return Zue(this)}return sf(this,t-yr((Tn(),Jb)),Mn((a=l(Kn(this,16),29),a||Jb),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?wue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r);case 11:return!this.q&&(this.q=new nt(Uf,this,11,10)),Ru(this.q,t,r);case 21:return!this.s&&(this.s=new nt(dl,this,21,17)),Ru(this.s,t,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),Jb)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),Jb)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),To(this.A,t,r);case 11:return!this.q&&(this.q=new nt(Uf,this,11,10)),To(this.q,t,r);case 21:return!this.s&&(this.s=new nt(dl,this,21,17)),To(this.s,t,r);case 22:return To(du(this),t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),Jb)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),Jb)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!zw(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Qk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&du(this.u.a).i!=0&&!(this.n&&cue(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return d6(this).i!=0;case 13:return JA(this).i!=0;case 14:return JA(this),this.r.i!=0;case 15:return d6(this),this.k.i!=0;case 16:return o9e(this).i!=0;case 17:return dle(this).i!=0;case 18:return Sd(this).i!=0;case 19:return _U(this).i!=0;case 20:return d6(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&cue(this.n);case 23:return Zue(this).i!=0}return nf(this,t-yr((Tn(),Jb)),Mn((n=l(Kn(this,16),29),n||Jb),t))},h.Zh=function(t){var n;return n=this.i==null||this.q&&this.q.i!=0?null:oP(this,t),n||Hke(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:FH(this,ei(n));return;case 2:Kse(this,ei(n));return;case 5:JE(this,ei(n));return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A),!this.A&&(this.A=new ml(Zu,this,7)),As(this.A,l(n,16));return;case 8:c8e(this,Rt(Bt(n)));return;case 9:u8e(this,Rt(Bt(n)));return;case 10:tL(dc(this)),As(dc(this),l(n,16));return;case 11:!this.q&&(this.q=new nt(Uf,this,11,10)),$r(this.q),!this.q&&(this.q=new nt(Uf,this,11,10)),As(this.q,l(n,16));return;case 21:!this.s&&(this.s=new nt(dl,this,21,17)),$r(this.s),!this.s&&(this.s=new nt(dl,this,21,17)),As(this.s,l(n,16));return;case 22:$r(du(this)),As(du(this),l(n,16));return}uf(this,t-yr((Tn(),Jb)),Mn((r=l(Kn(this,16),29),r||Jb),t),n)},h.ii=function(){return Tn(),Jb},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Fu(this,null);return;case 2:CE(this,null),lE(this,this.D);return;case 5:JE(this,null);return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A);return;case 8:c8e(this,!1);return;case 9:u8e(this,!1);return;case 10:this.u&&tL(this.u);return;case 11:!this.q&&(this.q=new nt(Uf,this,11,10)),$r(this.q);return;case 21:!this.s&&(this.s=new nt(dl,this,21,17)),$r(this.s);return;case 22:this.n&&$r(this.n);return}cf(this,t-yr((Tn(),Jb)),Mn((n=l(Kn(this,16),29),n||Jb),t))},h.pi=function(){var t,n;if(d6(this),JA(this),o9e(this),dle(this),Sd(this),_U(this),Zue(this),uA(adn(Yl(this))),this.s)for(t=0,n=this.s.i;t=0;--n)Oe(this,n);return O8e(this,t)},h.Gk=function(){$r(this)},h.Zi=function(t,n){return Hht(this,t,n)},I(us,"EcoreEList",632),D(505,632,kc,FO),h.Li=function(){return!1},h.Lj=function(){return this.c},h.Mj=function(){return!1},h.ol=function(){return!0},h.Si=function(){return!0},h.Wi=function(t,n){return n},h.Yi=function(){return!1},h.c=0,I(us,"EObjectEList",505),D(83,505,kc,Ys),h.Mj=function(){return!0},h.ml=function(){return!1},h.al=function(){return!0},I(us,"EObjectContainmentEList",83),D(555,83,kc,Bq),h.Ni=function(){this.b=!0},h.Qj=function(){return this.b},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.b,this.b=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.b=!1},h.b=!1,I(us,"EObjectContainmentEList/Unsettable",555),D(1161,555,kc,vst),h.Ti=function(t,n){var r,a;return r=l(AA(this,t,n),89),hh(this.e)&&xk(this,new sN(this.a,7,(Tn(),z_t),pt(n),(a=r.c,De(a,90)?l(a,29):Kf),t)),r},h.Uj=function(t,n){return _5n(this,l(t,89),n)},h.Vj=function(t,n){return S5n(this,l(t,89),n)},h.Wj=function(t,n,r){return M8n(this,l(t,89),l(n,89),r)},h.Ij=function(t,n,r,a,o){switch(t){case 3:return rA(this,t,n,r,a,this.i>1);case 5:return rA(this,t,n,r,a,this.i-l(r,15).gc()>0);default:return new Zg(this.e,t,this.c,n,r,a,!0)}},h.Tj=function(){return!0},h.Qj=function(){return cue(this)},h.Gk=function(){$r(this)},I(Gn,"EClassImpl/1",1161),D(1175,1174,SSe),h.dj=function(t){var n,r,a,o,f,g,w;if(r=t.gj(),r!=8){if(a=c6n(t),a==0)switch(r){case 1:case 9:{w=t.kj(),w!=null&&(n=Yl(l(w,482)),!n.c&&(n.c=new Xd),sV(n.c,t.jj())),g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),qr(n.c,l(t.jj(),29))));break}case 3:{g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),qr(n.c,l(t.jj(),29))));break}case 5:{if(g=t.ij(),g!=null)for(f=l(g,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),qr(n.c,l(t.jj(),29)));break}case 4:{w=t.kj(),w!=null&&(o=l(w,482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),sV(n.c,t.jj())));break}case 6:{if(w=t.kj(),w!=null)for(f=l(w,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Yl(o),!n.c&&(n.c=new Xd),sV(n.c,t.jj()));break}}this.ql(a)}},h.ql=function(t){Vbt(this,t)},h.b=63,I(Gn,"ESuperAdapter",1175),D(1176,1175,SSe,bQe),h.ql=function(t){zy(this,t)},I(Gn,"EClassImpl/10",1176),D(1165,710,kc),h.Ei=function(t,n){return Due(this,t,n)},h.Fi=function(t){return Odt(this,t)},h.Gi=function(t,n){IN(this,t,n)},h.Hi=function(t){tN(this,t)},h.$i=function(t){return R6e(this,t)},h.Xi=function(t,n){return Uoe(this,t,n)},h.Wk=function(t,n){throw ue(new Qr)},h.Ii=function(){return new H8(this)},h.Ji=function(){return new CO(this)},h.Ki=function(t){return mN(this,t)},h.Xk=function(t,n){throw ue(new Qr)},h.Fk=function(t){return this},h.Qj=function(){return this.i!=0},h.Wb=function(t){throw ue(new Qr)},h.Gk=function(){throw ue(new Qr)},I(us,"EcoreEList/UnmodifiableEList",1165),D(328,1165,kc,N5),h.Yi=function(){return!1},I(us,"EcoreEList/UnmodifiableEList/FastCompare",328),D(1168,328,kc,g0t),h.dd=function(t){var n,r,a;if(De(t,179)&&(n=l(t,179),r=n.Lj(),r!=-1)){for(a=this.i;r4)if(this.fk(t)){if(this.al()){if(a=l(t,54),r=a.Eh(),w=r==this.b&&(this.ml()?a.yh(a.Fh(),l(Mn(sl(this.b),this.Lj()).Hk(),29).kk())==Ro(l(Mn(sl(this.b),this.Lj()),19)).n:-1-a.Fh()==this.Lj()),this.nl()&&!w&&!r&&a.Jh()){for(o=0;o1||a==-1)):!1},h.ml=function(){var t,n,r;return n=Mn(sl(this.b),this.Lj()),De(n,102)?(t=l(n,19),r=Ro(t),!!r):!1},h.nl=function(){var t,n;return n=Mn(sl(this.b),this.Lj()),De(n,102)?(t=l(n,19),(t.Bb&Io)!=0):!1},h.dd=function(t){var n,r,a,o;if(a=this.zj(t),a>=0)return a;if(this.ol()){for(r=0,o=this.Ej();r=0;--t)mP(this,t,this.xj(t));return this.Fj()},h.Qc=function(t){var n;if(this.nl())for(n=this.Ej()-1;n>=0;--n)mP(this,n,this.xj(n));return this.Gj(t)},h.Gk=function(){tL(this)},h.Zi=function(t,n){return ylt(this,t,n)},I(us,"DelegatingEcoreEList",756),D(1171,756,MSe,Nrt),h.qj=function(t,n){ifn(this,t,l(n,29))},h.rj=function(t){Gln(this,l(t,29))},h.xj=function(t){var n,r;return n=l(Oe(du(this.a),t),89),r=n.c,De(r,90)?l(r,29):(Tn(),Kf)},h.Cj=function(t){var n,r;return n=l(Vy(du(this.a),t),89),r=n.c,De(r,90)?l(r,29):(Tn(),Kf)},h.Dj=function(t,n){return t7n(this,t,l(n,29))},h.Li=function(){return!1},h.Ij=function(t,n,r,a,o){return null},h.sj=function(){return new wQe(this)},h.tj=function(){$r(du(this.a))},h.uj=function(t){return l1t(this,t)},h.vj=function(t){var n,r;for(r=t.Kc();r.Ob();)if(n=r.Pb(),!l1t(this,n))return!1;return!0},h.wj=function(t){var n,r,a;if(De(t,15)&&(a=l(t,15),a.gc()==du(this.a).i)){for(n=a.Kc(),r=new or(this);n.Ob();)if(qe(n.Pb())!==qe(gr(r)))return!1;return!0}return!1},h.yj=function(){var t,n,r,a,o;for(r=1,n=new or(du(this.a));n.e!=n.i.gc();)t=l(gr(n),89),a=(o=t.c,De(o,90)?l(o,29):(Tn(),Kf)),r=31*r+(a?fw(a):0);return r},h.zj=function(t){var n,r,a,o;for(a=0,r=new or(du(this.a));r.e!=r.i.gc();){if(n=l(gr(r),89),qe(t)===qe((o=n.c,De(o,90)?l(o,29):(Tn(),Kf))))return a;++a}return-1},h.Aj=function(){return du(this.a).i==0},h.Bj=function(){return null},h.Ej=function(){return du(this.a).i},h.Fj=function(){var t,n,r,a,o,f;for(f=du(this.a).i,o=We(wa,Rn,1,f,5,1),r=0,n=new or(du(this.a));n.e!=n.i.gc();)t=l(gr(n),89),o[r++]=(a=t.c,De(a,90)?l(a,29):(Tn(),Kf));return o},h.Gj=function(t){var n,r,a,o,f,g,w;for(w=du(this.a).i,t.lengthw&&Ts(t,w,null),a=0,r=new or(du(this.a));r.e!=r.i.gc();)n=l(gr(r),89),f=(g=n.c,De(g,90)?l(g,29):(Tn(),Kf)),Ts(t,a++,f);return t},h.Hj=function(){var t,n,r,a,o;for(o=new Up,o.a+="[",t=du(this.a),n=0,a=du(this.a).i;n>16,o>=0?wue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r);case 9:return!this.a&&(this.a=new nt(wp,this,9,5)),Ru(this.a,t,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),Zb)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),Zb)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new ml(Zu,this,7)),To(this.A,t,r);case 9:return!this.a&&(this.a=new nt(wp,this,9,5)),To(this.a,t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),Zb)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),Zb)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!zw(this);case 4:return!!X7e(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Qk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return nf(this,t-yr((Tn(),Zb)),Mn((n=l(Kn(this,16),29),n||Zb),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:FH(this,ei(n));return;case 2:Kse(this,ei(n));return;case 5:JE(this,ei(n));return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A),!this.A&&(this.A=new ml(Zu,this,7)),As(this.A,l(n,16));return;case 8:jV(this,Rt(Bt(n)));return;case 9:!this.a&&(this.a=new nt(wp,this,9,5)),$r(this.a),!this.a&&(this.a=new nt(wp,this,9,5)),As(this.a,l(n,16));return}uf(this,t-yr((Tn(),Zb)),Mn((r=l(Kn(this,16),29),r||Zb),t),n)},h.ii=function(){return Tn(),Zb},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Fu(this,null);return;case 2:CE(this,null),lE(this,this.D);return;case 5:JE(this,null);return;case 7:!this.A&&(this.A=new ml(Zu,this,7)),$r(this.A);return;case 8:jV(this,!0);return;case 9:!this.a&&(this.a=new nt(wp,this,9,5)),$r(this.a);return}cf(this,t-yr((Tn(),Zb)),Mn((n=l(Kn(this,16),29),n||Zb),t))},h.pi=function(){var t,n;if(this.a)for(t=0,n=this.a.i;t>16==5?l(this.Cb,685):null}return sf(this,t-yr((Tn(),D2)),Mn((a=l(Kn(this,16),29),a||D2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 5:return this.Cb&&(r=(o=this.Db>>16,o>=0?agt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,5,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),D2)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),D2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 5:return Nh(this,null,5,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),D2)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),D2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&l(this.Cb,685))}return nf(this,t-yr((Tn(),D2)),Mn((n=l(Kn(this,16),29),n||D2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Fu(this,ei(n));return;case 2:Qoe(this,l(n,17).a);return;case 3:r2t(this,l(n,2039));return;case 4:Zoe(this,ei(n));return}uf(this,t-yr((Tn(),D2)),Mn((r=l(Kn(this,16),29),r||D2),t),n)},h.ii=function(){return Tn(),D2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Fu(this,null);return;case 2:Qoe(this,0);return;case 3:r2t(this,null);return;case 4:Zoe(this,null);return}cf(this,t-yr((Tn(),D2)),Mn((n=l(Kn(this,16),29),n||D2),t))},h.Ib=function(){var t;return t=this.c,t??this.zb},h.b=null,h.c=null,h.d=0,I(Gn,"EEnumLiteralImpl",582);var OOn=ks(Gn,"EFactoryImpl/InternalEDateTimeFormat");D(499,1,{2114:1},KI),I(Gn,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),D(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},Qv),h.Ch=function(t,n,r){var a;return r=Nh(this,t,n,r),this.e&&De(t,179)&&(a=SU(this,this.e),a!=this.c&&(r=ZE(this,a,r))),r},h.Lh=function(t,n,r){var a;switch(t){case 0:return this.f;case 1:return!this.d&&(this.d=new Ys(Wo,this,1)),this.d;case 2:return n?jU(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?hue(this):this.a}return sf(this,t-yr((Tn(),E3)),Mn((a=l(Kn(this,16),29),a||E3),t),n,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return Q0t(this,null,r);case 1:return!this.d&&(this.d=new Ys(Wo,this,1)),To(this.d,t,r);case 3:return J0t(this,null,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),E3)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),E3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return nf(this,t-yr((Tn(),E3)),Mn((n=l(Kn(this,16),29),n||E3),t))},h.bi=function(t,n){var r;switch(t){case 0:Cgt(this,l(n,89));return;case 1:!this.d&&(this.d=new Ys(Wo,this,1)),$r(this.d),!this.d&&(this.d=new Ys(Wo,this,1)),As(this.d,l(n,16));return;case 3:Axe(this,l(n,89));return;case 4:Kxe(this,l(n,850));return;case 5:sE(this,l(n,142));return}uf(this,t-yr((Tn(),E3)),Mn((r=l(Kn(this,16),29),r||E3),t),n)},h.ii=function(){return Tn(),E3},h.ki=function(t){var n;switch(t){case 0:Cgt(this,null);return;case 1:!this.d&&(this.d=new Ys(Wo,this,1)),$r(this.d);return;case 3:Axe(this,null);return;case 4:Kxe(this,null);return;case 5:sE(this,null);return}cf(this,t-yr((Tn(),E3)),Mn((n=l(Kn(this,16),29),n||E3),t))},h.Ib=function(){var t;return t=new Th(g0(this)),t.a+=" (expression: ",wle(this,t),t.a+=")",t.a};var LPe;I(Gn,"EGenericTypeImpl",248),D(2067,2062,KG),h.Gi=function(t,n){Drt(this,t,n)},h.Wk=function(t,n){return Drt(this,this.gc(),t),n},h.$i=function(t){return ff(this.pj(),t)},h.Ii=function(){return this.Ji()},h.pj=function(){return new EQe(this)},h.Ji=function(){return this.Ki(0)},h.Ki=function(t){return this.pj().fd(t)},h.Xk=function(t,n){return Ny(this,t,!0),n},h.Ti=function(t,n){var r,a;return a=kue(this,n),r=this.fd(t),r.Rb(a),a},h.Ui=function(t,n){var r;Ny(this,n,!0),r=this.fd(t),r.Rb(n)},I(us,"AbstractSequentialInternalEList",2067),D(496,2067,KG,TO),h.$i=function(t){return ff(this.pj(),t)},h.Ii=function(){return this.b==null?(Wp(),Wp(),dF):this.sl()},h.pj=function(){return new Xtt(this.a,this.b)},h.Ji=function(){return this.b==null?(Wp(),Wp(),dF):this.sl()},h.Ki=function(t){var n,r;if(this.b==null){if(t<0||t>1)throw ue(new tc(CL+t+", size=0"));return Wp(),Wp(),dF}for(r=this.sl(),n=0;n0;)if(n=this.c[--this.d],(!this.e||n.pk()!=oC||n.Lj()!=0)&&(!this.vl()||this.b.Xh(n))){if(f=this.b.Nh(n,this.ul()),this.f=(Fo(),l(n,69).xk()),this.f||n.Jk()){if(this.ul()?(a=l(f,15),this.k=a):(a=l(f,71),this.k=this.j=a),De(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?wpt(this,this.p):Mpt(this))return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}else if(f!=null)return this.k=null,this.p=null,r=f,this.i=r,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}},h.Pb=function(){return MV(this)},h.Tb=function(){return this.a},h.Ub=function(){var t;if(this.g<-1||this.Sb())return--this.a,this.g=0,t=this.i,this.Sb(),t;throw ue(new _c)},h.Vb=function(){return this.a-1},h.Qb=function(){throw ue(new Qr)},h.ul=function(){return!1},h.Wb=function(t){throw ue(new Qr)},h.vl=function(){return!0},h.a=0,h.d=0,h.f=!1,h.g=0,h.n=0,h.o=0;var dF;I(us,"EContentsEList/FeatureIteratorImpl",287),D(711,287,WG,Rye),h.ul=function(){return!0},I(us,"EContentsEList/ResolvingFeatureIteratorImpl",711),D(1178,711,WG,brt),h.vl=function(){return!1},I(Gn,"ENamedElementImpl/1/1",1178),D(1179,287,WG,mrt),h.vl=function(){return!1},I(Gn,"ENamedElementImpl/1/2",1179),D(39,152,YP,Cy,koe,_a,Foe,Zg,h0,Q6e,Xot,J6e,Qot,p6e,Jot,t7e,Zot,b6e,ect,Z6e,tct,X_,sN,roe,e7e,nct,m6e,rct),h.Kj=function(){return N6e(this)},h.Rj=function(){var t;return t=N6e(this),t?t.ik():null},h.hj=function(t){return this.b==-1&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,t)},h.jj=function(){return this.c},h.Sj=function(){var t;return t=N6e(this),t?t.tk():!1},h.b=-1,I(Gn,"ENotificationImpl",39),D(411,292,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,481:1,54:1,99:1,158:1,411:1,292:1,119:1,120:1},qie),h.Ah=function(t){return ugt(this,t)},h.Lh=function(t,n,r){var a,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),f=this.t,f>1||f==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,29):null;case 11:return!this.d&&(this.d=new ml(Zu,this,11)),this.d;case 12:return!this.c&&(this.c=new nt(k3,this,12,10)),this.c;case 13:return!this.a&&(this.a=new LO(this,this)),this.a;case 14:return Xl(this)}return sf(this,t-yr((Tn(),I2)),Mn((a=l(Kn(this,16),29),a||I2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?ugt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,10,r);case 12:return!this.c&&(this.c=new nt(k3,this,12,10)),Ru(this.c,t,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),I2)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),I2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 9:return qae(this,r);case 10:return Nh(this,null,10,r);case 11:return!this.d&&(this.d=new ml(Zu,this,11)),To(this.d,t,r);case 12:return!this.c&&(this.c=new nt(k3,this,12,10)),To(this.c,t,r);case 14:return To(Xl(this),t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),I2)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),I2)),t,r)},h.Wh=function(t){var n,r,a;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return a=this.t,a>1||a==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,29));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&Xl(this.a.a).i!=0&&!(this.b&&uue(this.b));case 14:return!!this.b&&uue(this.b)}return nf(this,t-yr((Tn(),I2)),Mn((n=l(Kn(this,16),29),n||I2),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Fu(this,ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:My(this,l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return;case 11:!this.d&&(this.d=new ml(Zu,this,11)),$r(this.d),!this.d&&(this.d=new ml(Zu,this,11)),As(this.d,l(n,16));return;case 12:!this.c&&(this.c=new nt(k3,this,12,10)),$r(this.c),!this.c&&(this.c=new nt(k3,this,12,10)),As(this.c,l(n,16));return;case 13:!this.a&&(this.a=new LO(this,this)),tL(this.a),!this.a&&(this.a=new LO(this,this)),As(this.a,l(n,16));return;case 14:$r(Xl(this)),As(Xl(this),l(n,16));return}uf(this,t-yr((Tn(),I2)),Mn((r=l(Kn(this,16),29),r||I2),t),n)},h.ii=function(){return Tn(),I2},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Fu(this,null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:My(this,1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 11:!this.d&&(this.d=new ml(Zu,this,11)),$r(this.d);return;case 12:!this.c&&(this.c=new nt(k3,this,12,10)),$r(this.c);return;case 13:this.a&&tL(this.a);return;case 14:this.b&&$r(this.b);return}cf(this,t-yr((Tn(),I2)),Mn((n=l(Kn(this,16),29),n||I2),t))},h.pi=function(){var t,n;if(this.c)for(t=0,n=this.c.i;tw&&Ts(t,w,null),a=0,r=new or(Xl(this.a));r.e!=r.i.gc();)n=l(gr(r),89),f=(g=n.c,g||(Tn(),td)),Ts(t,a++,f);return t},h.Hj=function(){var t,n,r,a,o;for(o=new Up,o.a+="[",t=Xl(this.a),n=0,a=Xl(this.a).i;n1);case 5:return rA(this,t,n,r,a,this.i-l(r,15).gc()>0);default:return new Zg(this.e,t,this.c,n,r,a,!0)}},h.Tj=function(){return!0},h.Qj=function(){return uue(this)},h.Gk=function(){$r(this)},I(Gn,"EOperationImpl/2",1377),D(507,1,{2037:1,507:1},Ott),I(Gn,"EPackageImpl/1",507),D(14,83,kc,nt),h.il=function(){return this.d},h.jl=function(){return this.b},h.ml=function(){return!0},h.b=0,I(us,"EObjectContainmentWithInverseEList",14),D(365,14,kc,V8),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentWithInverseEList/Resolving",365),D(308,365,kc,wy),h.Ni=function(){this.a.tb=null},I(Gn,"EPackageImpl/2",308),D(1278,1,{},ere),I(Gn,"EPackageImpl/3",1278),D(733,45,m6,$we),h._b=function(t){return Ia(t)?soe(this,t):!!zo(this.f,t)},I(Gn,"EPackageRegistryImpl",733),D(518,292,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,481:1,54:1,99:1,158:1,518:1,292:1,119:1,120:1},Hie),h.Ah=function(t){return lgt(this,t)},h.Lh=function(t,n,r){var a,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),f=this.t,f>1||f==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,62):null}return sf(this,t-yr((Tn(),N4)),Mn((a=l(Kn(this,16),29),a||N4),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),Ru(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?lgt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,10,r)}return f=l(Mn((a=l(Kn(this,16),29),a||(Tn(),N4)),n),69),f.wk().zk(this,Ku(this),n-yr((Tn(),N4)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 9:return qae(this,r);case 10:return Nh(this,null,10,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),N4)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),N4)),t,r)},h.Wh=function(t){var n,r,a;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return a=this.t,a>1||a==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,62))}return nf(this,t-yr((Tn(),N4)),Mn((n=l(Kn(this,16),29),n||N4),t))},h.ii=function(){return Tn(),N4},I(Gn,"EParameterImpl",518),D(102,462,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,102:1,462:1,292:1,119:1,120:1,692:1},Hye),h.Lh=function(t,n,r){var a,o,f,g;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Hn(),g=this.t,g>1||g==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&m0);case 11:return Hn(),!!(this.Bb&r4);case 12:return Hn(),!!(this.Bb&Xy);case 13:return this.j;case 14:return UE(this);case 15:return Hn(),!!(this.Bb&Sl);case 16:return Hn(),!!(this.Bb&_d);case 17:return ky(this);case 18:return Hn(),!!(this.Bb&eu);case 19:return Hn(),f=Ro(this),!!(f&&f.Bb&eu);case 20:return Hn(),!!(this.Bb&Io);case 21:return n?Ro(this):this.b;case 22:return n?$7e(this):_ut(this);case 23:return!this.a&&(this.a=new $5(D4,this,23)),this.a}return sf(this,t-yr((Tn(),o7)),Mn((a=l(Kn(this,16),29),a||o7),t),n,r)},h.Wh=function(t){var n,r,a,o;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&yw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&yw(this.q).i==0);case 10:return(this.Bb&m0)==0;case 11:return(this.Bb&r4)!=0;case 12:return(this.Bb&Xy)!=0;case 13:return this.j!=null;case 14:return UE(this)!=null;case 15:return(this.Bb&Sl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!ky(this);case 18:return(this.Bb&eu)!=0;case 19:return a=Ro(this),!!a&&(a.Bb&eu)!=0;case 20:return(this.Bb&Io)==0;case 21:return!!this.b;case 22:return!!_ut(this);case 23:return!!this.a&&this.a.i!=0}return nf(this,t-yr((Tn(),o7)),Mn((n=l(Kn(this,16),29),n||o7),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:poe(this,ei(n));return;case 2:c2(this,Rt(Bt(n)));return;case 3:u2(this,Rt(Bt(n)));return;case 4:i2(this,l(n,17).a);return;case 5:My(this,l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=$1(this,l(n,89),null),a&&a.oj();return;case 10:AE(this,Rt(Bt(n)));return;case 11:DE(this,Rt(Bt(n)));return;case 12:LE(this,Rt(Bt(n)));return;case 13:Z3e(this,ei(n));return;case 15:ME(this,Rt(Bt(n)));return;case 16:IE(this,Rt(Bt(n)));return;case 18:_2n(this,Rt(Bt(n)));return;case 20:v8e(this,Rt(Bt(n)));return;case 21:b7e(this,l(n,19));return;case 23:!this.a&&(this.a=new $5(D4,this,23)),$r(this.a),!this.a&&(this.a=new $5(D4,this,23)),As(this.a,l(n,16));return}uf(this,t-yr((Tn(),o7)),Mn((r=l(Kn(this,16),29),r||o7),t),n)},h.ii=function(){return Tn(),o7},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&zy(Yl(l(this.Cb,90)),4),Fu(this,null);return;case 2:c2(this,!0);return;case 3:u2(this,!0);return;case 4:i2(this,0);return;case 5:My(this,1);return;case 8:Gm(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:AE(this,!0);return;case 11:DE(this,!1);return;case 12:LE(this,!1);return;case 13:this.i=null,xV(this,null);return;case 15:ME(this,!1);return;case 16:IE(this,!1);return;case 18:m8e(this,!1),De(this.Cb,90)&&zy(Yl(l(this.Cb,90)),2);return;case 20:v8e(this,!0);return;case 21:b7e(this,null);return;case 23:!this.a&&(this.a=new $5(D4,this,23)),$r(this.a);return}cf(this,t-yr((Tn(),o7)),Mn((n=l(Kn(this,16),29),n||o7),t))},h.pi=function(){$7e(this),Wk(ic((El(),io),this)),Of(this),this.Bb|=1},h.uk=function(){return Ro(this)},h._k=function(){var t;return t=Ro(this),!!t&&(t.Bb&eu)!=0},h.al=function(){return(this.Bb&eu)!=0},h.bl=function(){return(this.Bb&Io)!=0},h.Yk=function(t,n){return this.c=null,o8e(this,t,n)},h.Ib=function(){var t;return this.Db&64?BU(this):(t=new Af(BU(this)),t.a+=" (containment: ",Gp(t,(this.Bb&eu)!=0),t.a+=", resolveProxies: ",Gp(t,(this.Bb&Io)!=0),t.a+=")",t.a)},I(Gn,"EReferenceImpl",102),D(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},OS),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.md=function(){return this.c},h.Hb=function(){return fw(this)},h.Di=function(t){Idn(this,ei(t))},h.nd=function(t){return mdn(this,ei(t))},h.Lh=function(t,n,r){var a;switch(t){case 0:return this.b;case 1:return this.c}return sf(this,t-yr((Tn(),No)),Mn((a=l(Kn(this,16),29),a||No),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return this.b!=null;case 1:return this.c!=null}return nf(this,t-yr((Tn(),No)),Mn((n=l(Kn(this,16),29),n||No),t))},h.bi=function(t,n){var r;switch(t){case 0:Odn(this,ei(n));return;case 1:d7e(this,ei(n));return}uf(this,t-yr((Tn(),No)),Mn((r=l(Kn(this,16),29),r||No),t),n)},h.ii=function(){return Tn(),No},h.ki=function(t){var n;switch(t){case 0:f7e(this,null);return;case 1:d7e(this,null);return}cf(this,t-yr((Tn(),No)),Mn((n=l(Kn(this,16),29),n||No),t))},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t==null?0:s2(t)),this.a},h.Ci=function(t){this.a=t},h.Ib=function(){var t;return this.Db&64?g0(this):(t=new Af(g0(this)),t.a+=" (key: ",Xo(t,this.b),t.a+=", value: ",Xo(t,this.c),t.a+=")",t.a)},h.a=-1,h.b=null,h.c=null;var Yc=I(Gn,"EStringToStringMapEntryImpl",561),Q_t=ks(us,"FeatureMap/Entry/Internal");D(576,1,YG),h.xl=function(t){return this.yl(l(t,54))},h.yl=function(t){return this.xl(t)},h.Fb=function(t){var n,r;return this===t?!0:De(t,76)?(n=l(t,76),n.Lk()==this.c?(r=this.md(),r==null?n.md()==null:Pi(r,n.md())):!1):!1},h.Lk=function(){return this.c},h.Hb=function(){var t;return t=this.md(),es(this.c)^(t==null?0:es(t))},h.Ib=function(){var t,n;return t=this.c,n=Ah(t.qk()).yi(),t.xe(),(n!=null&&n.length!=0?n+":"+t.xe():t.xe())+"="+this.md()},I(Gn,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),D(791,576,YG,Jye),h.yl=function(t){return new Jye(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return b3n(this,t,this.a,n,r)},h.Al=function(t,n,r){return m3n(this,t,this.a,n,r)},I(Gn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),D(1350,1,{},Ntt),h.yk=function(t,n,r,a,o){var f;return f=l(tE(t,this.b),220),f.Yl(this.a).Fk(a)},h.zk=function(t,n,r,a,o){var f;return f=l(tE(t,this.b),220),f.Pl(this.a,a,o)},h.Ak=function(t,n,r,a,o){var f;return f=l(tE(t,this.b),220),f.Ql(this.a,a,o)},h.Bk=function(t,n,r){var a;return a=l(tE(t,this.b),220),a.Yl(this.a).Qj()},h.Ck=function(t,n,r,a){var o;o=l(tE(t,this.b),220),o.Yl(this.a).Wb(a)},h.Dk=function(t,n,r){return l(tE(t,this.b),220).Yl(this.a)},h.Ek=function(t,n,r){var a;a=l(tE(t,this.b),220),a.Yl(this.a).Gk()},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),D(91,1,{},Xp,Om,Jp,Rm),h.yk=function(t,n,r,a,o){var f;if(f=n.li(r),f==null&&n.mi(r,f=WU(this,t)),!o)switch(this.e){case 50:case 41:return l(f,597).bk();case 40:return l(f,220).Vl()}return f},h.zk=function(t,n,r,a,o){var f,g;return g=n.li(r),g==null&&n.mi(r,g=WU(this,t)),f=l(g,71).Wk(a,o),f},h.Ak=function(t,n,r,a,o){var f;return f=n.li(r),f!=null&&(o=l(f,71).Xk(a,o)),o},h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null&&l(a,79).Qj()},h.Ck=function(t,n,r,a){var o;o=l(n.li(r),79),!o&&n.mi(r,o=WU(this,t)),o.Wb(a)},h.Dk=function(t,n,r){var a,o;return o=n.li(r),o==null&&n.mi(r,o=WU(this,t)),De(o,79)?l(o,79):(a=l(n.li(r),15),new xQe(a))},h.Ek=function(t,n,r){var a;a=l(n.li(r),79),!a&&n.mi(r,a=WU(this,t)),a.Gk()},h.b=0,h.e=0,I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),D(512,1,{}),h.zk=function(t,n,r,a,o){throw ue(new Qr)},h.Ak=function(t,n,r,a,o){throw ue(new Qr)},h.Dk=function(t,n,r){return new Iat(this,t,n,r)};var Sg;I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),D(1367,1,i0e,Iat),h.Fk=function(t){return this.a.yk(this.c,this.d,this.b,t,!0)},h.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},h.Wb=function(t){this.a.Ck(this.c,this.d,this.b,t)},h.Gk=function(){this.a.Ek(this.c,this.d,this.b)},h.b=0,I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),D(784,512,{},$5e),h.yk=function(t,n,r,a,o){return sle(t,t.Ph(),t.Fh())==this.b?this.bl()&&a?Uue(t):t.Ph():null},h.zk=function(t,n,r,a,o){var f,g;return t.Ph()&&(o=(f=t.Fh(),f>=0?t.Ah(o):t.Ph().Th(t,-1-f,null,o))),g=ms(t.Dh(),this.e),t.Ch(a,g,o)},h.Ak=function(t,n,r,a,o){var f;return f=ms(t.Dh(),this.e),t.Ch(null,f,o)},h.Bk=function(t,n,r){var a;return a=ms(t.Dh(),this.e),!!t.Ph()&&t.Fh()==a},h.Ck=function(t,n,r,a){var o,f,g,w,E;if(a!=null&&!ule(this.a,a))throw ue(new kk(XG+(De(a,58)?_xe(l(a,58).Dh()):K6e(bh(a)))+QG+this.a+"'"));if(o=t.Ph(),g=ms(t.Dh(),this.e),qe(a)!==qe(o)||t.Fh()!=g&&a!=null){if(FE(t,l(a,58)))throw ue(new Yn(EL+t.Ib()));E=null,o&&(E=(f=t.Fh(),f>=0?t.Ah(E):t.Ph().Th(t,-1-f,null,E))),w=l(a,54),w&&(E=w.Rh(t,ms(w.Dh(),this.b),null,E)),E=t.Ch(w,g,E),E&&E.oj()}else t.vh()&&t.wh()&&Ni(t,new _a(t,1,g,a,a))},h.Ek=function(t,n,r){var a,o,f,g;a=t.Ph(),a?(g=(o=t.Fh(),o>=0?t.Ah(null):t.Ph().Th(t,-1-o,null,null)),f=ms(t.Dh(),this.e),g=t.Ch(null,f,g),g&&g.oj()):t.vh()&&t.wh()&&Ni(t,new X_(t,1,this.e,null,null))},h.bl=function(){return!1},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),D(1351,784,{},kit),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),D(574,512,{}),h.yk=function(t,n,r,a,o){var f;return f=n.li(r),f==null?this.b:qe(f)===qe(Sg)?null:f},h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null&&(qe(a)===qe(Sg)||!Pi(a,this.b))},h.Ck=function(t,n,r,a){var o,f;t.vh()&&t.wh()?(o=(f=n.li(r),f==null?this.b:qe(f)===qe(Sg)?null:f),a==null?this.c!=null?(n.mi(r,null),a=this.b):this.b!=null?n.mi(r,Sg):n.mi(r,null):(this.Bl(a),n.mi(r,a)),Ni(t,this.d.Cl(t,1,this.e,o,a))):a==null?this.c!=null?n.mi(r,null):this.b!=null?n.mi(r,Sg):n.mi(r,null):(this.Bl(a),n.mi(r,a))},h.Ek=function(t,n,r){var a,o;t.vh()&&t.wh()?(a=(o=n.li(r),o==null?this.b:qe(o)===qe(Sg)?null:o),n.ni(r),Ni(t,this.d.Cl(t,1,this.e,a,this.b))):n.ni(r)},h.Bl=function(t){throw ue(new IQe)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),D(_6,1,{},NS),h.Cl=function(t,n,r,a,o){return new X_(t,n,r,a,o)},h.Dl=function(t,n,r,a,o,f){return new roe(t,n,r,a,o,f)};var MPe,DPe,IPe,OPe,NPe,PPe,BPe,ipe,FPe;I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",_6),D(1368,_6,{},H0),h.Cl=function(t,n,r,a,o){return new m6e(t,n,r,Rt(Bt(a)),Rt(Bt(o)))},h.Dl=function(t,n,r,a,o,f){return new rct(t,n,r,Rt(Bt(a)),Rt(Bt(o)),f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),D(1369,_6,{},AI),h.Cl=function(t,n,r,a,o){return new Q6e(t,n,r,l(a,222).a,l(o,222).a)},h.Dl=function(t,n,r,a,o,f){return new Xot(t,n,r,l(a,222).a,l(o,222).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),D(1370,_6,{},LI),h.Cl=function(t,n,r,a,o){return new J6e(t,n,r,l(a,180).a,l(o,180).a)},h.Dl=function(t,n,r,a,o,f){return new Qot(t,n,r,l(a,180).a,l(o,180).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),D(1371,_6,{},f8),h.Cl=function(t,n,r,a,o){return new p6e(t,n,r,ze(Ge(a)),ze(Ge(o)))},h.Dl=function(t,n,r,a,o,f){return new Jot(t,n,r,ze(Ge(a)),ze(Ge(o)),f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),D(1372,_6,{},tre),h.Cl=function(t,n,r,a,o){return new t7e(t,n,r,l(a,161).a,l(o,161).a)},h.Dl=function(t,n,r,a,o,f){return new Zot(t,n,r,l(a,161).a,l(o,161).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),D(1373,_6,{},nre),h.Cl=function(t,n,r,a,o){return new b6e(t,n,r,l(a,17).a,l(o,17).a)},h.Dl=function(t,n,r,a,o,f){return new ect(t,n,r,l(a,17).a,l(o,17).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),D(1374,_6,{},rre),h.Cl=function(t,n,r,a,o){return new Z6e(t,n,r,l(a,168).a,l(o,168).a)},h.Dl=function(t,n,r,a,o,f){return new tct(t,n,r,l(a,168).a,l(o,168).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),D(1375,_6,{},ire),h.Cl=function(t,n,r,a,o){return new e7e(t,n,r,l(a,191).a,l(o,191).a)},h.Dl=function(t,n,r,a,o,f){return new nct(t,n,r,l(a,191).a,l(o,191).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),D(1353,574,{},Oat),h.Bl=function(t){if(!this.a.fk(t))throw ue(new kk(XG+bh(t)+QG+this.a+"'"))},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),D(1354,574,{},yst),h.Bl=function(t){},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),D(785,574,{}),h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null},h.Ck=function(t,n,r,a){var o,f;t.vh()&&t.wh()?(o=!0,f=n.li(r),f==null?(o=!1,f=this.b):qe(f)===qe(Sg)&&(f=null),a==null?this.c!=null?(n.mi(r,null),a=this.b):n.mi(r,Sg):(this.Bl(a),n.mi(r,a)),Ni(t,this.d.Dl(t,1,this.e,f,a,!o))):a==null?this.c!=null?n.mi(r,null):n.mi(r,Sg):(this.Bl(a),n.mi(r,a))},h.Ek=function(t,n,r){var a,o;t.vh()&&t.wh()?(a=!0,o=n.li(r),o==null?(a=!1,o=this.b):qe(o)===qe(Sg)&&(o=null),n.ni(r),Ni(t,this.d.Dl(t,2,this.e,o,this.b,a))):n.ni(r)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),D(1355,785,{},Nat),h.Bl=function(t){if(!this.a.fk(t))throw ue(new kk(XG+bh(t)+QG+this.a+"'"))},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),D(1356,785,{},xst),h.Bl=function(t){},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),D(410,512,{},cH),h.yk=function(t,n,r,a,o){var f,g,w,E,C;if(C=n.li(r),this.tk()&&qe(C)===qe(Sg))return null;if(this.bl()&&a&&C!=null){if(w=l(C,54),w.Vh()&&(E=yb(t,w),w!=E)){if(!ule(this.a,E))throw ue(new kk(XG+bh(E)+QG+this.a+"'"));n.mi(r,C=E),this.al()&&(f=l(E,54),g=w.Th(t,this.b?ms(w.Dh(),this.b):-1-ms(t.Dh(),this.e),null,null),!f.Ph()&&(g=f.Rh(t,this.b?ms(f.Dh(),this.b):-1-ms(t.Dh(),this.e),null,g)),g&&g.oj()),t.vh()&&t.wh()&&Ni(t,new X_(t,9,this.e,w,E))}return C}else return C},h.zk=function(t,n,r,a,o){var f,g;return g=n.li(r),qe(g)===qe(Sg)&&(g=null),n.mi(r,a),this.Mj()?qe(g)!==qe(a)&&g!=null&&(f=l(g,54),o=f.Th(t,ms(f.Dh(),this.b),null,o)):this.al()&&g!=null&&(o=l(g,54).Th(t,-1-ms(t.Dh(),this.e),null,o)),t.vh()&&t.wh()&&(!o&&(o=new nb(4)),o.nj(new X_(t,1,this.e,g,a))),o},h.Ak=function(t,n,r,a,o){var f;return f=n.li(r),qe(f)===qe(Sg)&&(f=null),n.ni(r),t.vh()&&t.wh()&&(!o&&(o=new nb(4)),this.tk()?o.nj(new X_(t,2,this.e,f,null)):o.nj(new X_(t,1,this.e,f,null))),o},h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null},h.Ck=function(t,n,r,a){var o,f,g,w,E;if(a!=null&&!ule(this.a,a))throw ue(new kk(XG+(De(a,58)?_xe(l(a,58).Dh()):K6e(bh(a)))+QG+this.a+"'"));E=n.li(r),w=E!=null,this.tk()&&qe(E)===qe(Sg)&&(E=null),g=null,this.Mj()?qe(E)!==qe(a)&&(E!=null&&(o=l(E,54),g=o.Th(t,ms(o.Dh(),this.b),null,g)),a!=null&&(o=l(a,54),g=o.Rh(t,ms(o.Dh(),this.b),null,g))):this.al()&&qe(E)!==qe(a)&&(E!=null&&(g=l(E,54).Th(t,-1-ms(t.Dh(),this.e),null,g)),a!=null&&(g=l(a,54).Rh(t,-1-ms(t.Dh(),this.e),null,g))),a==null&&this.tk()?n.mi(r,Sg):n.mi(r,a),t.vh()&&t.wh()?(f=new roe(t,1,this.e,E,a,this.tk()&&!w),g?(g.nj(f),g.oj()):Ni(t,f)):g&&g.oj()},h.Ek=function(t,n,r){var a,o,f,g,w;w=n.li(r),g=w!=null,this.tk()&&qe(w)===qe(Sg)&&(w=null),f=null,w!=null&&(this.Mj()?(a=l(w,54),f=a.Th(t,ms(a.Dh(),this.b),null,f)):this.al()&&(f=l(w,54).Th(t,-1-ms(t.Dh(),this.e),null,f))),n.ni(r),t.vh()&&t.wh()?(o=new roe(t,this.tk()?2:1,this.e,w,null,g),f?(f.nj(o),f.oj()):Ni(t,o)):f&&f.oj()},h.Mj=function(){return!1},h.al=function(){return!1},h.bl=function(){return!1},h.tk=function(){return!1},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),D(575,410,{},oae),h.al=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),D(1359,575,{},wrt),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),D(787,575,{},jye),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),D(1361,787,{},yrt),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),D(650,575,{},yae),h.Mj=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),D(1360,650,{},Eit),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),D(788,650,{},C4e),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),D(1362,788,{},Tit),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),D(651,410,{},$ye),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),D(1363,651,{},xrt),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),D(789,651,{},E4e),h.Mj=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),D(1364,789,{},Cit),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),D(1357,410,{},krt),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),D(786,410,{},T4e),h.Mj=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),D(1358,786,{},Sit),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),D(790,576,YG,x5e),h.yl=function(t){return new x5e(this.a,this.c,t)},h.md=function(){return this.b},h.zl=function(t,n,r){return gvn(this,t,this.b,r)},h.Al=function(t,n,r){return pvn(this,t,this.b,r)},I(Gn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),D(1365,1,i0e,xQe),h.Fk=function(t){return this.a},h.Qj=function(){return De(this.a,97)?l(this.a,97).Qj():!this.a.dc()},h.Wb=function(t){this.a.$b(),this.a.Gc(l(t,15))},h.Gk=function(){De(this.a,97)?l(this.a,97).Gk():this.a.$b()},I(Gn,"EStructuralFeatureImpl/SettingMany",1365),D(1366,576,YG,Wct),h.xl=function(t){return new lae((Gi(),UM),this.b.ri(this.a,t))},h.md=function(){return null},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Gn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),D(652,576,YG,lae),h.xl=function(t){return new lae(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Gn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),D(403,506,Bd,Xd),h.aj=function(t){return We(Vf,Rn,29,t,0,1)},h.Yi=function(){return!1},I(Gn,"ESuperAdapter/1",403),D(457,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,457:1,119:1,120:1},PS),h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new G_(this,Wo,this)),this.a}return sf(this,t-yr((Tn(),T3)),Mn((a=l(Kn(this,16),29),a||T3),t),n,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(mi,this,0,3)),To(this.Ab,t,r);case 2:return!this.a&&(this.a=new G_(this,Wo,this)),To(this.a,t,r)}return o=l(Mn((a=l(Kn(this,16),29),a||(Tn(),T3)),n),69),o.wk().Ak(this,Ku(this),n-yr((Tn(),T3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return nf(this,t-yr((Tn(),T3)),Mn((n=l(Kn(this,16),29),n||T3),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(mi,this,0,3)),As(this.Ab,l(n,16));return;case 1:Fu(this,ei(n));return;case 2:!this.a&&(this.a=new G_(this,Wo,this)),$r(this.a),!this.a&&(this.a=new G_(this,Wo,this)),As(this.a,l(n,16));return}uf(this,t-yr((Tn(),T3)),Mn((r=l(Kn(this,16),29),r||T3),t),n)},h.ii=function(){return Tn(),T3},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(mi,this,0,3)),$r(this.Ab);return;case 1:Fu(this,null);return;case 2:!this.a&&(this.a=new G_(this,Wo,this)),$r(this.a);return}cf(this,t-yr((Tn(),T3)),Mn((n=l(Kn(this,16),29),n||T3),t))},I(Gn,"ETypeParameterImpl",457),D(458,83,kc,G_),h.Nj=function(t,n){return Lxn(this,l(t,89),n)},h.Oj=function(t,n){return Mxn(this,l(t,89),n)},I(Gn,"ETypeParameterImpl/1",458),D(647,45,m6,Vie),h.ec=function(){return new Pz(this)},I(Gn,"ETypeParameterImpl/2",647),D(570,q1,Tl,Pz),h.Fc=function(t){return Wrt(this,l(t,89))},h.Gc=function(t){var n,r,a;for(a=!1,r=t.Kc();r.Ob();)n=l(r.Pb(),89),ki(this.a,n,"")==null&&(a=!0);return a},h.$b=function(){Nl(this.a)},h.Hc=function(t){return Hu(this.a,t)},h.Kc=function(){var t;return t=new qm(new Sr(this.a).a),new Bz(t)},h.Mc=function(t){return Rut(this,t)},h.gc=function(){return d_(this.a)},I(Gn,"ETypeParameterImpl/2/1",570),D(571,1,Oa,Bz),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(Nw(this.a).ld(),89)},h.Ob=function(){return this.a.b},h.Qb=function(){Klt(this.a)},I(Gn,"ETypeParameterImpl/2/1/1",571),D(1329,45,m6,hJe),h._b=function(t){return Ia(t)?soe(this,t):!!zo(this.f,t)},h.xc=function(t){var n,r;return n=Ia(t)?xu(this,t):hc(zo(this.f,t)),De(n,851)?(r=l(n,851),n=r.Kk(),ki(this,l(t,241),n),n):n??(t==null?(use(),Z_t):null)},I(Gn,"EValidatorRegistryImpl",1329),D(1349,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},d8),h.ri=function(t,n){switch(t.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return n==null?null:xc(n);case 25:return Swn(n);case 27:return $vn(n);case 28:return zvn(n);case 29:return n==null?null:Cnt(jM[0],l(n,206));case 41:return n==null?"":_m(l(n,297));case 42:return xc(n);case 50:return ei(n);default:throw ue(new Yn(yT+t.xe()+t3))}},h.si=function(t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;switch(t.G==-1&&(t.G=(z=Ah(t),z?f2(z.vi(),t):-1)),t.G){case 0:return r=new zie,r;case 1:return n=new CI,n;case 2:return a=new hz,a;case 4:return o=new Fz,o;case 5:return f=new lJe,f;case 6:return g=new PQe,g;case 7:return w=new fz,w;case 10:return C=new m5,C;case 11:return L=new qie,L;case 12:return B=new qat,B;case 13:return V=new Hie,V;case 14:return J=new Hye,J;case 17:return te=new OS,te;case 18:return E=new Qv,E;case 19:return fe=new PS,fe;default:throw ue(new Yn(qfe+t.zb+t3))}},h.ti=function(t,n){switch(t.hk()){case 20:return n==null?null:new h3e(n);case 21:return n==null?null:new ob(n);case 23:case 22:return n==null?null:j5n(n);case 26:case 24:return n==null?null:fN(Oh(n,-128,127)<<24>>24);case 25:return iTn(n);case 27:return S7n(n);case 28:return _7n(n);case 29:return Xxn(n);case 32:case 31:return n==null?null:jy(n);case 38:case 37:return n==null?null:new Awe(n);case 40:case 39:return n==null?null:pt(Oh(n,lo,Ii));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:ap(KU(n));case 49:case 48:return n==null?null:_E(Oh(n,JG,32767)<<16>>16);case 50:return n;default:throw ue(new Yn(yT+t.xe()+t3))}},I(Gn,"EcoreFactoryImpl",1349),D(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},fat),h.gb=!1,h.hb=!1;var RPe,J_t=!1;I(Gn,"EcorePackageImpl",560),D(1234,1,{851:1},k1),h.Kk=function(){return Rnt(),eAt},I(Gn,"EcorePackageImpl/1",1234),D(1243,1,yi,A$),h.fk=function(t){return De(t,155)},h.gk=function(t){return We(uF,Rn,155,t,0,1)},I(Gn,"EcorePackageImpl/10",1243),D(1244,1,yi,L$),h.fk=function(t){return De(t,197)},h.gk=function(t){return We(Yge,Rn,197,t,0,1)},I(Gn,"EcorePackageImpl/11",1244),D(1245,1,yi,M$),h.fk=function(t){return De(t,58)},h.gk=function(t){return We(Xb,Rn,58,t,0,1)},I(Gn,"EcorePackageImpl/12",1245),D(1246,1,yi,D$),h.fk=function(t){return De(t,411)},h.gk=function(t){return We(Uf,LSe,62,t,0,1)},I(Gn,"EcorePackageImpl/13",1246),D(1247,1,yi,I$),h.fk=function(t){return De(t,241)},h.gk=function(t){return We(u1,Rn,241,t,0,1)},I(Gn,"EcorePackageImpl/14",1247),D(1248,1,yi,O$),h.fk=function(t){return De(t,518)},h.gk=function(t){return We(k3,Rn,2116,t,0,1)},I(Gn,"EcorePackageImpl/15",1248),D(1249,1,yi,V0),h.fk=function(t){return De(t,102)},h.gk=function(t){return We(I4,S6,19,t,0,1)},I(Gn,"EcorePackageImpl/16",1249),D(1250,1,yi,nl),h.fk=function(t){return De(t,179)},h.gk=function(t){return We(dl,S6,179,t,0,1)},I(Gn,"EcorePackageImpl/17",1250),D(1251,1,yi,sre),h.fk=function(t){return De(t,481)},h.gk=function(t){return We(M4,Rn,481,t,0,1)},I(Gn,"EcorePackageImpl/18",1251),D(1252,1,yi,are),h.fk=function(t){return De(t,561)},h.gk=function(t){return We(Yc,e5t,561,t,0,1)},I(Gn,"EcorePackageImpl/19",1252),D(1235,1,yi,ore),h.fk=function(t){return De(t,331)},h.gk=function(t){return We(D4,S6,35,t,0,1)},I(Gn,"EcorePackageImpl/2",1235),D(1253,1,yi,rl),h.fk=function(t){return De(t,248)},h.gk=function(t){return We(Wo,m5t,89,t,0,1)},I(Gn,"EcorePackageImpl/20",1253),D(1254,1,yi,BS),h.fk=function(t){return De(t,457)},h.gk=function(t){return We(Zu,Rn,850,t,0,1)},I(Gn,"EcorePackageImpl/21",1254),D(1255,1,yi,N$),h.fk=function(t){return hy(t)},h.gk=function(t){return We(Ns,dt,485,t,8,1)},I(Gn,"EcorePackageImpl/22",1255),D(1256,1,yi,P$),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(Al,dt,195,t,0,2)},I(Gn,"EcorePackageImpl/23",1256),D(1257,1,yi,g8),h.fk=function(t){return De(t,222)},h.gk=function(t){return We(jx,dt,222,t,0,1)},I(Gn,"EcorePackageImpl/24",1257),D(1258,1,yi,cre),h.fk=function(t){return De(t,180)},h.gk=function(t){return We(PL,dt,180,t,0,1)},I(Gn,"EcorePackageImpl/25",1258),D(1259,1,yi,ak),h.fk=function(t){return De(t,206)},h.gk=function(t){return We(cK,dt,206,t,0,1)},I(Gn,"EcorePackageImpl/26",1259),D(1260,1,yi,ure),h.fk=function(t){return!1},h.gk=function(t){return We(nBe,Rn,2215,t,0,1)},I(Gn,"EcorePackageImpl/27",1260),D(1261,1,yi,B$),h.fk=function(t){return fy(t)},h.gk=function(t){return We(ta,dt,345,t,7,1)},I(Gn,"EcorePackageImpl/28",1261),D(1262,1,yi,lre),h.fk=function(t){return De(t,61)},h.gk=function(t){return We(mPe,Qy,61,t,0,1)},I(Gn,"EcorePackageImpl/29",1262),D(1236,1,yi,hre),h.fk=function(t){return De(t,519)},h.gk=function(t){return We(mi,{3:1,4:1,5:1,2033:1},598,t,0,1)},I(Gn,"EcorePackageImpl/3",1236),D(1263,1,yi,FS),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(yPe,Rn,2039,t,0,1)},I(Gn,"EcorePackageImpl/30",1263),D(1264,1,yi,F$),h.fk=function(t){return De(t,160)},h.gk=function(t){return We(HPe,Qy,160,t,0,1)},I(Gn,"EcorePackageImpl/31",1264),D(1265,1,yi,MI),h.fk=function(t){return De(t,76)},h.gk=function(t){return We(CY,S5t,76,t,0,1)},I(Gn,"EcorePackageImpl/32",1265),D(1266,1,yi,RS),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(_T,dt,161,t,0,1)},I(Gn,"EcorePackageImpl/33",1266),D(1267,1,yi,fre),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(ro,dt,17,t,0,1)},I(Gn,"EcorePackageImpl/34",1267),D(1268,1,yi,dre),h.fk=function(t){return De(t,297)},h.gk=function(t){return We(qSe,Rn,297,t,0,1)},I(Gn,"EcorePackageImpl/35",1268),D(1269,1,yi,DI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(r3,dt,168,t,0,1)},I(Gn,"EcorePackageImpl/36",1269),D(1270,1,yi,jS),h.fk=function(t){return De(t,85)},h.gk=function(t){return We(HSe,Rn,85,t,0,1)},I(Gn,"EcorePackageImpl/37",1270),D(1271,1,yi,E1),h.fk=function(t){return De(t,599)},h.gk=function(t){return We(jPe,Rn,599,t,0,1)},I(Gn,"EcorePackageImpl/38",1271),D(1272,1,yi,ok),h.fk=function(t){return!1},h.gk=function(t){return We(rBe,Rn,2216,t,0,1)},I(Gn,"EcorePackageImpl/39",1272),D(1237,1,yi,gre),h.fk=function(t){return De(t,90)},h.gk=function(t){return We(Vf,Rn,29,t,0,1)},I(Gn,"EcorePackageImpl/4",1237),D(1273,1,yi,ck),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(i3,dt,191,t,0,1)},I(Gn,"EcorePackageImpl/40",1273),D(1274,1,yi,II),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Gn,"EcorePackageImpl/41",1274),D(1275,1,yi,xm),h.fk=function(t){return De(t,596)},h.gk=function(t){return We(wPe,Rn,596,t,0,1)},I(Gn,"EcorePackageImpl/42",1275),D(1276,1,yi,$S),h.fk=function(t){return!1},h.gk=function(t){return We(iBe,dt,2217,t,0,1)},I(Gn,"EcorePackageImpl/43",1276),D(1277,1,yi,OI),h.fk=function(t){return De(t,44)},h.gk=function(t){return We(uv,XU,44,t,0,1)},I(Gn,"EcorePackageImpl/44",1277),D(1238,1,yi,U0),h.fk=function(t){return De(t,142)},h.gk=function(t){return We(l1,Rn,142,t,0,1)},I(Gn,"EcorePackageImpl/5",1238),D(1239,1,yi,zS),h.fk=function(t){return De(t,156)},h.gk=function(t){return We(tpe,Rn,156,t,0,1)},I(Gn,"EcorePackageImpl/6",1239),D(1240,1,yi,T1),h.fk=function(t){return De(t,469)},h.gk=function(t){return We(TY,Rn,685,t,0,1)},I(Gn,"EcorePackageImpl/7",1240),D(1241,1,yi,C1),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(wp,Rn,694,t,0,1)},I(Gn,"EcorePackageImpl/8",1241),D(1242,1,yi,pre),h.fk=function(t){return De(t,480)},h.gk=function(t){return We(RM,Rn,480,t,0,1)},I(Gn,"EcorePackageImpl/9",1242),D(1038,2080,Z4t,IJe),h.Mi=function(t,n){g4n(this,l(n,424))},h.Qi=function(t,n){Apt(this,t,l(n,424))},I(Gn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),D(1039,152,YP,nat),h.jj=function(){return this.a.a},I(Gn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),D(1067,1066,{},bnt),I("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var jPe=ks(_5t,"Resource");D(799,1524,A5t),h.Hl=function(t){},h.Il=function(t){},h.El=function(){return!this.a&&(this.a=new Pie(this)),this.a},h.Fl=function(t){var n,r,a,o,f;if(a=t.length,a>0)if(Xn(0,t.length),t.charCodeAt(0)==47){for(f=new Bu(4),o=1,n=1;n0&&(t=(Ga(0,r,t.length),t.substr(0,r))));return Hkn(this,t)},h.Gl=function(){return this.c},h.Ib=function(){var t;return _m(this.Rm)+"@"+(t=es(this)>>>0,t.toString(16))+" uri='"+this.d+"'"},h.b=!1,I(s0e,"ResourceImpl",799),D(1525,799,A5t,kQe),I(s0e,"BinaryResourceImpl",1525),D(1190,708,Zfe),h.bj=function(t){return De(t,58)?Npn(this,l(t,58)):De(t,599)?new or(l(t,599).El()):qe(t)===qe(this.f)?l(t,16).Kc():(Fk(),fF.a)},h.Ob=function(){return x9e(this)},h.a=!1,I(us,"EcoreUtil/ContentTreeIterator",1190),D(1526,1190,Zfe,Ist),h.bj=function(t){return qe(t)===qe(this.f)?l(t,15).Kc():new Lct(l(t,58))},I(s0e,"ResourceImpl/5",1526),D(658,2092,b5t,Pie),h.Hc=function(t){return this.i<=4?jE(this,t):De(t,54)&&l(t,54).Jh()==this.a},h.Mi=function(t,n){t==this.i-1&&(this.a.b||(this.a.b=!0))},h.Oi=function(t,n){t==0?this.a.b||(this.a.b=!0):Noe(this,t,n)},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Lj=function(){return 2},h.jj=function(){return this.a},h.Mj=function(){return!0},h.Nj=function(t,n){var r;return r=l(t,54),n=r.fi(this.a,n),n},h.Oj=function(t,n){var r;return r=l(t,54),r.fi(null,n)},h.Pj=function(){return!1},h.Si=function(){return!0},h.aj=function(t){return We(Xb,Rn,58,t,0,1)},h.Yi=function(){return!1},I(s0e,"ResourceImpl/ContentsEList",658),D(970,2062,iT,EQe),h.fd=function(t){return this.a.Ki(t)},h.gc=function(){return this.a.gc()},I(us,"AbstractSequentialInternalEList/1",970);var $Pe,zPe,io,qPe;D(634,1,{},Nit);var SY,_Y;I(us,"BasicExtendedMetaData",634),D(1181,1,{},Btt),h.Jl=function(){return null},h.Kl=function(){return this.a==-2&&Ye(this,Hxn(this.d,this.b)),this.a},h.Ll=function(){return null},h.Ml=function(){return Cn(),Cn(),_o},h.xe=function(){return this.c==ET&&mt(this,J1t(this.d,this.b)),this.c},h.Nl=function(){return 0},h.a=-2,h.c=ET,I(us,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),D(1182,1,{},sct),h.Jl=function(){return this.a==(eE(),SY)&&Mt(this,qSn(this.f,this.b)),this.a},h.Kl=function(){return 0},h.Ll=function(){return this.c==(eE(),SY)&&Je(this,HSn(this.f,this.b)),this.c},h.Ml=function(){return!this.d&&Wt(this,_An(this.f,this.b)),this.d},h.xe=function(){return this.e==ET&&_n(this,J1t(this.f,this.b)),this.e},h.Nl=function(){return this.g==-2&&Yt(this,cxn(this.f,this.b)),this.g},h.e=ET,h.g=-2,I(us,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),D(1180,1,{},Ftt),h.b=!1,h.c=!1,I(us,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),D(1183,1,{},act),h.c=-2,h.e=ET,h.f=ET,I(us,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),D(593,632,kc,Jq),h.Lj=function(){return this.c},h.ol=function(){return!1},h.Wi=function(t,n){return n},h.c=0,I(us,"EDataTypeEList",593);var HPe=ks(us,"FeatureMap");D(78,593,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},Ls),h.bd=function(t,n){oCn(this,t,l(n,76))},h.Fc=function(t){return CTn(this,l(t,76))},h.Hi=function(t){Dgn(this,l(t,76))},h.Nj=function(t,n){return Jfn(this,l(t,76),n)},h.Oj=function(t,n){return d4e(this,l(t,76),n)},h.Ti=function(t,n){return O_n(this,t,n)},h.Wi=function(t,n){return wMn(this,t,l(n,76))},h.hd=function(t,n){return WCn(this,t,l(n,76))},h.Uj=function(t,n){return Zfn(this,l(t,76),n)},h.Vj=function(t,n){return uit(this,l(t,76),n)},h.Wj=function(t,n,r){return Y8n(this,l(t,76),l(n,76),r)},h.Zi=function(t,n){return Aue(this,t,l(n,76))},h.Ol=function(t,n){return fke(this,t,n)},h.cd=function(t,n){var r,a,o,f,g,w,E,C,L;for(C=new Lw(n.gc()),o=n.Kc();o.Ob();)if(a=l(o.Pb(),76),f=a.Lk(),up(this.e,f))(!f.Si()||!qH(this,f,a.md())&&!jE(C,a))&&qr(C,a);else{for(L=Wu(this.e.Dh(),f),r=l(this.g,124),g=!0,w=0;w=0;)if(n=t[this.c],this.k.am(n.Lk()))return this.j=this.f?n:n.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},I(us,"BasicFeatureMap/FeatureEIterator",420),D(676,420,lg,Use),h.ul=function(){return!0},I(us,"BasicFeatureMap/ResolvingFeatureEIterator",676),D(968,496,KG,Snt),h.pj=function(){return this},I(us,"EContentsEList/1",968),D(969,496,KG,Xtt),h.ul=function(){return!1},I(us,"EContentsEList/2",969),D(967,287,WG,_nt),h.wl=function(t){},h.Ob=function(){return!1},h.Sb=function(){return!1},I(us,"EContentsEList/FeatureIteratorImpl/1",967),D(840,593,kc,yye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EDataTypeEList/Unsettable",840),D(1958,593,kc,Nnt),h.Si=function(){return!0},I(us,"EDataTypeUniqueEList",1958),D(1959,840,kc,Pnt),h.Si=function(){return!0},I(us,"EDataTypeUniqueEList/Unsettable",1959),D(147,83,kc,ml),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentEList/Resolving",147),D(1184,555,kc,Bnt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentEList/Unsettable/Resolving",1184),D(766,14,kc,a4e),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectContainmentWithInverseEList/Unsettable",766),D(1222,766,kc,Yrt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),D(757,505,kc,xye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectEList/Unsettable",757),D(338,505,kc,$5),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectResolvingEList",338),D(1844,757,kc,Fnt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectResolvingEList/Unsettable",1844),D(1527,1,{},bre);var Z_t;I(us,"EObjectValidator",1527),D(559,505,kc,pH),h.il=function(){return this.d},h.jl=function(){return this.b},h.Mj=function(){return!0},h.ml=function(){return!0},h.b=0,I(us,"EObjectWithInverseEList",559),D(1225,559,kc,Xrt),h.ll=function(){return!0},I(us,"EObjectWithInverseEList/ManyInverse",1225),D(635,559,kc,fae),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectWithInverseEList/Unsettable",635),D(1224,635,kc,Qrt),h.ll=function(){return!0},I(us,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),D(767,559,kc,o4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectWithInverseResolvingEList",767),D(32,767,kc,Ln),h.ll=function(){return!0},I(us,"EObjectWithInverseResolvingEList/ManyInverse",32),D(768,635,kc,c4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectWithInverseResolvingEList/Unsettable",768),D(1223,768,kc,Jrt),h.ll=function(){return!0},I(us,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),D(1185,632,kc),h.Li=function(){return(this.b&1792)==0},h.Ni=function(){this.b|=1},h.kl=function(){return(this.b&4)!=0},h.Mj=function(){return(this.b&40)!=0},h.ll=function(){return(this.b&16)!=0},h.ml=function(){return(this.b&8)!=0},h.nl=function(){return(this.b&r4)!=0},h.al=function(){return(this.b&32)!=0},h.ol=function(){return(this.b&m0)!=0},h.fk=function(t){return this.d?Rct(this.d,t):this.Lk().Hk().fk(t)},h.Qj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},h.Si=function(){return(this.b&128)!=0},h.Gk=function(){var t;$r(this),this.b&2&&(hh(this.e)?(t=(this.b&1)!=0,this.b&=-2,xk(this,new h0(this.e,2,ms(this.e.Dh(),this.Lk()),t,!1))):this.b&=-2)},h.Yi=function(){return(this.b&1536)==0},h.b=0,I(us,"EcoreEList/Generic",1185),D(1186,1185,kc,Vat),h.Lk=function(){return this.a},I(us,"EcoreEList/Dynamic",1186),D(765,66,Bd,kwe),h.aj=function(t){return bN(this.a.a,t)},I(us,"EcoreEMap/1",765),D(764,83,kc,a5e),h.Mi=function(t,n){oU(this.b,l(n,136))},h.Oi=function(t,n){zft(this.b)},h.Pi=function(t,n,r){var a;++(a=this.b,l(n,136),a).e},h.Qi=function(t,n){Fce(this.b,l(n,136))},h.Ri=function(t,n,r){Fce(this.b,l(r,136)),qe(r)===qe(n)&&l(r,136).Ci(Xln(l(n,136).ld())),oU(this.b,l(n,136))},I(us,"EcoreEMap/DelegateEObjectContainmentEList",764),D(1220,141,ASe,ift),I(us,"EcoreEMap/Unsettable",1220),D(1221,764,kc,Zrt),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),hh(this.e)?(t=this.a,this.a=!1,Ni(this.e,new h0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),D(1189,215,m6,Ust),h.a=!1,h.b=!1,I(us,"EcoreUtil/Copier",1189),D(759,1,Oa,Lct),h.Nb=function(t){Za(this,t)},h.Ob=function(){return F1t(this)},h.Pb=function(){var t;return F1t(this),t=this.b,this.b=null,t},h.Qb=function(){this.a.Qb()},I(us,"EcoreUtil/ProperContentIterator",759),D(1528,1527,{},dz);var eAt;I(us,"EcoreValidator",1528);var tAt;ks(us,"FeatureMapUtil/Validator"),D(1295,1,{2041:1},v5),h.am=function(t){return!0},I(us,"FeatureMapUtil/1",1295),D(773,1,{2041:1},qke),h.am=function(t){var n;return this.c==t?!0:(n=Bt(cr(this.a,t)),n==null?YSn(this,t)?(Lut(this.a,t,(Hn(),ST)),!0):(Lut(this.a,t,(Hn(),Pb)),!1):n==(Hn(),ST))},h.e=!1;var spe;I(us,"FeatureMapUtil/BasicValidator",773),D(774,45,m6,vye),I(us,"FeatureMapUtil/BasicValidator/Cache",774),D(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},yO),h.bd=function(t,n){vbt(this.c,this.b,t,n)},h.Fc=function(t){return fke(this.c,this.b,t)},h.cd=function(t,n){return bLn(this.c,this.b,t,n)},h.Gc=function(t){return F_(this,t)},h.Gi=function(t,n){hwn(this.c,this.b,t,n)},h.Wk=function(t,n){return ike(this.c,this.b,t,n)},h.$i=function(t){return qU(this.c,this.b,t,!1)},h.Ii=function(){return cnt(this.c,this.b)},h.Ji=function(){return Fln(this.c,this.b)},h.Ki=function(t){return bvn(this.c,this.b,t)},h.Xk=function(t,n){return Irt(this,t,n)},h.$b=function(){_8(this)},h.Hc=function(t){return qH(this.c,this.b,t)},h.Ic=function(t){return p3n(this.c,this.b,t)},h.Xb=function(t){return qU(this.c,this.b,t,!0)},h.Fk=function(t){return this},h.dd=function(t){return Emn(this.c,this.b,t)},h.dc=function(){return _q(this)},h.Qj=function(){return!FN(this.c,this.b)},h.Kc=function(){return twn(this.c,this.b)},h.ed=function(){return nwn(this.c,this.b)},h.fd=function(t){return O4n(this.c,this.b,t)},h.Ti=function(t,n){return Omt(this.c,this.b,t,n)},h.Ui=function(t,n){wvn(this.c,this.b,t,n)},h.gd=function(t){return hpt(this.c,this.b,t)},h.Mc=function(t){return v_n(this.c,this.b,t)},h.hd=function(t,n){return qmt(this.c,this.b,t,n)},h.Wb=function(t){EU(this.c,this.b),F_(this,l(t,15))},h.gc=function(){return I4n(this.c,this.b)},h.Pc=function(){return Cbn(this.c,this.b)},h.Qc=function(t){return Tmn(this.c,this.b,t)},h.Ib=function(){var t,n;for(n=new Up,n.a+="[",t=cnt(this.c,this.b);_ce(t);)Xo(n,j_(iU(t))),_ce(t)&&(n.a+=Co);return n.a+="]",n.a},h.Gk=function(){EU(this.c,this.b)},I(us,"FeatureMapUtil/FeatureEList",509),D(644,39,YP,Eoe),h.hj=function(t){return SA(this,t)},h.mj=function(t){var n,r,a,o,f,g,w;switch(this.d){case 1:case 2:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0;break}case 3:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.d=5,n=new Lw(2),qr(n,this.g),qr(n,t.ij()),this.g=n,!0;break}}break}case 5:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return r=l(this.g,16),r.Fc(t.ij()),!0;break}}break}case 4:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.d=1,this.g=t.ij(),!0;break}case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.d=6,w=new Lw(2),qr(w,this.n),qr(w,t.kj()),this.n=w,g=he(le(Vr,1),di,28,15,[this.o,t.lj()]),this.g=g,!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return r=l(this.n,16),r.Fc(t.kj()),g=l(this.g,53),a=We(Vr,di,28,g.length+1,15,1),pu(g,0,a,0,g.length),a[g.length]=t.lj(),this.g=a,!0;break}}break}}return!1},I(us,"FeatureMapUtil/FeatureENotificationImpl",644),D(564,509,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},nH),h.Ol=function(t,n){return fke(this.c,t,n)},h.Pl=function(t,n,r){return ike(this.c,t,n,r)},h.Ql=function(t,n,r){return Mke(this.c,t,n,r)},h.Rl=function(){return this},h.Sl=function(t,n){return pP(this.c,t,n)},h.Tl=function(t){return l(qU(this.c,this.b,t,!1),76).Lk()},h.Ul=function(t){return l(qU(this.c,this.b,t,!1),76).md()},h.Vl=function(){return this.a},h.Wl=function(t){return!FN(this.c,t)},h.Xl=function(t,n){HU(this.c,t,n)},h.Yl=function(t){return oft(this.c,t)},h.Zl=function(t){jdt(this.c,t)},I(us,"FeatureMapUtil/FeatureFeatureMap",564),D(1294,1,i0e,Ptt),h.Fk=function(t){return qU(this.b,this.a,-1,t)},h.Qj=function(){return!FN(this.b,this.a)},h.Wb=function(t){HU(this.b,this.a,t)},h.Gk=function(){EU(this.b,this.a)},I(us,"FeatureMapUtil/FeatureValue",1294);var c9,ape,ope,u9,nAt,gF=ks(nK,"AnyType");D(680,63,lp,Jie),I(nK,"InvalidDatatypeValueException",680);var AY=ks(nK,M5t),pF=ks(nK,D5t),VPe=ks(nK,I5t),rAt,tu,UPe,Sv,iAt,sAt,aAt,oAt,cAt,uAt,lAt,hAt,fAt,dAt,gAt,c7,pAt,u7,HM,bAt,C3,bF,mF,mAt,VM,UM;D(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},zwe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ls(this,0)),this.c):(!this.c&&(this.c=new Ls(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)):(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ls(this,2)),this.b):(!this.b&&(this.b=new Ls(this,2)),this.b.b)}return sf(this,t-yr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t),n,r)},h.Uh=function(t,n,r){var a;switch(n){case 0:return!this.c&&(this.c=new Ls(this,0)),hP(this.c,t,r);case 1:return(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),71)).Xk(t,r);case 2:return!this.b&&(this.b=new Ls(this,2)),hP(this.b,t,r)}return a=l(Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),n),69),a.wk().Ak(this,V6e(this),n-yr(this.ii()),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)).dc();case 2:return!!this.b&&this.b.i!=0}return nf(this,t-yr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ls(this,0)),$O(this.c,n);return;case 1:(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ls(this,2)),$O(this.b,n);return}uf(this,t-yr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t),n)},h.ii=function(){return Gi(),UPe},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ls(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)).$b();return;case 2:!this.b&&(this.b=new Ls(this,2)),$r(this.b);return}cf(this,t-yr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t))},h.Ib=function(){var t;return this.j&4?g0(this):(t=new Af(g0(this)),t.a+=" (mixed: ",O_(t,this.c),t.a+=", anyAttribute: ",O_(t,this.b),t.a+=")",t.a)},I(ea,"AnyTypeImpl",844),D(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},yre),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return sf(this,t-yr((Gi(),c7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():c7,t),n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=null;case 1:return this.b!=null}return nf(this,t-yr((Gi(),c7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():c7,t))},h.bi=function(t,n){switch(t){case 0:vr(this,ei(n));return;case 1:pr(this,ei(n));return}uf(this,t-yr((Gi(),c7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():c7,t),n)},h.ii=function(){return Gi(),c7},h.ki=function(t){switch(t){case 0:this.a=null;return;case 1:this.b=null;return}cf(this,t-yr((Gi(),c7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():c7,t))},h.Ib=function(){var t;return this.j&4?g0(this):(t=new Af(g0(this)),t.a+=" (data: ",Xo(t,this.a),t.a+=", target: ",Xo(t,this.b),t.a+=")",t.a)},h.a=null,h.b=null,I(ea,"ProcessingInstructionImpl",681),D(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},fJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ls(this,0)),this.c):(!this.c&&(this.c=new Ls(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)):(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ls(this,2)),this.b):(!this.b&&(this.b=new Ls(this,2)),this.b.b);case 3:return!this.c&&(this.c=new Ls(this,0)),ei(pP(this.c,(Gi(),HM),!0));case 4:return l4e(this.a,(!this.c&&(this.c=new Ls(this,0)),ei(pP(this.c,(Gi(),HM),!0))));case 5:return this.a}return sf(this,t-yr((Gi(),u7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():u7,t),n,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new Ls(this,0)),ei(pP(this.c,(Gi(),HM),!0))!=null;case 4:return l4e(this.a,(!this.c&&(this.c=new Ls(this,0)),ei(pP(this.c,(Gi(),HM),!0))))!=null;case 5:return!!this.a}return nf(this,t-yr((Gi(),u7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():u7,t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ls(this,0)),$O(this.c,n);return;case 1:(!this.c&&(this.c=new Ls(this,0)),l(l(ku(this.c,(Gi(),Sv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ls(this,2)),$O(this.b,n);return;case 3:J5e(this,ei(n));return;case 4:J5e(this,u4e(this.a,n));return;case 5:Nn(this,l(n,156));return}uf(this,t-yr((Gi(),u7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():u7,t),n)},h.ii=function(){return Gi(),u7},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ls(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ls(this,0)),l(ku(this.c,(Gi(),Sv)),160)).$b();return;case 2:!this.b&&(this.b=new Ls(this,2)),$r(this.b);return;case 3:!this.c&&(this.c=new Ls(this,0)),HU(this.c,(Gi(),HM),null);return;case 4:J5e(this,u4e(this.a,null));return;case 5:this.a=null;return}cf(this,t-yr((Gi(),u7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():u7,t))},I(ea,"SimpleAnyTypeImpl",682),D(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},dJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.a&&(this.a=new Ls(this,0)),this.a):(!this.a&&(this.a=new Ls(this,0)),this.a.b);case 1:return r?(!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),this.b):(!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),iN(this.b));case 2:return r?(!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),this.c):(!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),iN(this.c));case 3:return!this.a&&(this.a=new Ls(this,0)),ku(this.a,(Gi(),bF));case 4:return!this.a&&(this.a=new Ls(this,0)),ku(this.a,(Gi(),mF));case 5:return!this.a&&(this.a=new Ls(this,0)),ku(this.a,(Gi(),VM));case 6:return!this.a&&(this.a=new Ls(this,0)),ku(this.a,(Gi(),UM))}return sf(this,t-yr((Gi(),C3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():C3,t),n,r)},h.Uh=function(t,n,r){var a;switch(n){case 0:return!this.a&&(this.a=new Ls(this,0)),hP(this.a,t,r);case 1:return!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),Uq(this.b,t,r);case 2:return!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),Uq(this.c,t,r);case 5:return!this.a&&(this.a=new Ls(this,0)),Irt(ku(this.a,(Gi(),VM)),t,r)}return a=l(Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():(Gi(),C3),n),69),a.wk().Ak(this,V6e(this),n-yr((Gi(),C3)),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new Ls(this,0)),!_q(ku(this.a,(Gi(),bF)));case 4:return!this.a&&(this.a=new Ls(this,0)),!_q(ku(this.a,(Gi(),mF)));case 5:return!this.a&&(this.a=new Ls(this,0)),!_q(ku(this.a,(Gi(),VM)));case 6:return!this.a&&(this.a=new Ls(this,0)),!_q(ku(this.a,(Gi(),UM)))}return nf(this,t-yr((Gi(),C3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():C3,t))},h.bi=function(t,n){switch(t){case 0:!this.a&&(this.a=new Ls(this,0)),$O(this.a,n);return;case 1:!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),_V(this.b,n);return;case 2:!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),_V(this.c,n);return;case 3:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),bF))),!this.a&&(this.a=new Ls(this,0)),F_(ku(this.a,bF),l(n,16));return;case 4:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),mF))),!this.a&&(this.a=new Ls(this,0)),F_(ku(this.a,mF),l(n,16));return;case 5:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),VM))),!this.a&&(this.a=new Ls(this,0)),F_(ku(this.a,VM),l(n,16));return;case 6:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),UM))),!this.a&&(this.a=new Ls(this,0)),F_(ku(this.a,UM),l(n,16));return}uf(this,t-yr((Gi(),C3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():C3,t),n)},h.ii=function(){return Gi(),C3},h.ki=function(t){switch(t){case 0:!this.a&&(this.a=new Ls(this,0)),$r(this.a);return;case 1:!this.b&&(this.b=new xl((Tn(),No),Yc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new xl((Tn(),No),Yc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),bF)));return;case 4:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),mF)));return;case 5:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),VM)));return;case 6:!this.a&&(this.a=new Ls(this,0)),_8(ku(this.a,(Gi(),UM)));return}cf(this,t-yr((Gi(),C3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():C3,t))},h.Ib=function(){var t;return this.j&4?g0(this):(t=new Af(g0(this)),t.a+=" (mixed: ",O_(t,this.a),t.a+=")",t.a)},I(ea,"XMLTypeDocumentRootImpl",683),D(2028,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1,2122:1},uk),h.ri=function(t,n){switch(t.hk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:xc(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return ei(n);case 6:return ufn(l(n,195));case 12:case 47:case 49:case 11:return Lvt(this,t,n);case 13:return n==null?null:yLn(l(n,247));case 15:case 14:return n==null?null:Cgn(ze(Ge(n)));case 17:return Sgt((Gi(),n));case 18:return Sgt(n);case 21:case 20:return n==null?null:Sgn(l(n,161).a);case 27:return lfn(l(n,195));case 30:return $dt((Gi(),l(n,15)));case 31:return $dt(l(n,15));case 40:return ffn((Gi(),n));case 42:return _gt((Gi(),n));case 43:return _gt(n);case 59:case 48:return hfn((Gi(),n));default:throw ue(new Yn(yT+t.xe()+t3))}},h.si=function(t){var n,r,a,o,f;switch(t.G==-1&&(t.G=(r=Ah(t),r?f2(r.vi(),t):-1)),t.G){case 0:return n=new zwe,n;case 1:return a=new yre,a;case 2:return o=new fJe,o;case 3:return f=new dJe,f;default:throw ue(new Yn(qfe+t.zb+t3))}},h.ti=function(t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;switch(t.hk()){case 5:case 52:case 4:return n;case 6:return v6n(n);case 8:case 7:return n==null?null:ixn(n);case 9:return n==null?null:fN(Oh((a=Tu(n,!0),a.length>0&&(Xn(0,a.length),a.charCodeAt(0)==43)?(Xn(1,a.length+1),a.substr(1)):a),-128,127)<<24>>24);case 10:return n==null?null:fN(Oh((o=Tu(n,!0),o.length>0&&(Xn(0,o.length),o.charCodeAt(0)==43)?(Xn(1,o.length+1),o.substr(1)):o),-128,127)<<24>>24);case 11:return ei(Kw(this,(Gi(),aAt),n));case 12:return ei(Kw(this,(Gi(),oAt),n));case 13:return n==null?null:new h3e(Tu(n,!0));case 15:case 14:return _Tn(n);case 16:return ei(Kw(this,(Gi(),cAt),n));case 17:return q1t((Gi(),n));case 18:return q1t(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return Tu(n,!0);case 21:case 20:return FTn(n);case 22:return ei(Kw(this,(Gi(),uAt),n));case 23:return ei(Kw(this,(Gi(),lAt),n));case 24:return ei(Kw(this,(Gi(),hAt),n));case 25:return ei(Kw(this,(Gi(),fAt),n));case 26:return ei(Kw(this,(Gi(),dAt),n));case 27:return a6n(n);case 30:return H1t((Gi(),n));case 31:return H1t(n);case 32:return n==null?null:pt(Oh((L=Tu(n,!0),L.length>0&&(Xn(0,L.length),L.charCodeAt(0)==43)?(Xn(1,L.length+1),L.substr(1)):L),lo,Ii));case 33:return n==null?null:new ob((B=Tu(n,!0),B.length>0&&(Xn(0,B.length),B.charCodeAt(0)==43)?(Xn(1,B.length+1),B.substr(1)):B));case 34:return n==null?null:pt(Oh((z=Tu(n,!0),z.length>0&&(Xn(0,z.length),z.charCodeAt(0)==43)?(Xn(1,z.length+1),z.substr(1)):z),lo,Ii));case 36:return n==null?null:ap(KU((V=Tu(n,!0),V.length>0&&(Xn(0,V.length),V.charCodeAt(0)==43)?(Xn(1,V.length+1),V.substr(1)):V)));case 37:return n==null?null:ap(KU((J=Tu(n,!0),J.length>0&&(Xn(0,J.length),J.charCodeAt(0)==43)?(Xn(1,J.length+1),J.substr(1)):J)));case 40:return r7n((Gi(),n));case 42:return V1t((Gi(),n));case 43:return V1t(n);case 44:return n==null?null:new ob((te=Tu(n,!0),te.length>0&&(Xn(0,te.length),te.charCodeAt(0)==43)?(Xn(1,te.length+1),te.substr(1)):te));case 45:return n==null?null:new ob((fe=Tu(n,!0),fe.length>0&&(Xn(0,fe.length),fe.charCodeAt(0)==43)?(Xn(1,fe.length+1),fe.substr(1)):fe));case 46:return Tu(n,!1);case 47:return ei(Kw(this,(Gi(),gAt),n));case 59:case 48:return n7n((Gi(),n));case 49:return ei(Kw(this,(Gi(),pAt),n));case 50:return n==null?null:_E(Oh((Te=Tu(n,!0),Te.length>0&&(Xn(0,Te.length),Te.charCodeAt(0)==43)?(Xn(1,Te.length+1),Te.substr(1)):Te),JG,32767)<<16>>16);case 51:return n==null?null:_E(Oh((f=Tu(n,!0),f.length>0&&(Xn(0,f.length),f.charCodeAt(0)==43)?(Xn(1,f.length+1),f.substr(1)):f),JG,32767)<<16>>16);case 53:return ei(Kw(this,(Gi(),bAt),n));case 55:return n==null?null:_E(Oh((g=Tu(n,!0),g.length>0&&(Xn(0,g.length),g.charCodeAt(0)==43)?(Xn(1,g.length+1),g.substr(1)):g),JG,32767)<<16>>16);case 56:return n==null?null:_E(Oh((w=Tu(n,!0),w.length>0&&(Xn(0,w.length),w.charCodeAt(0)==43)?(Xn(1,w.length+1),w.substr(1)):w),JG,32767)<<16>>16);case 57:return n==null?null:ap(KU((E=Tu(n,!0),E.length>0&&(Xn(0,E.length),E.charCodeAt(0)==43)?(Xn(1,E.length+1),E.substr(1)):E)));case 58:return n==null?null:ap(KU((C=Tu(n,!0),C.length>0&&(Xn(0,C.length),C.charCodeAt(0)==43)?(Xn(1,C.length+1),C.substr(1)):C)));case 60:return n==null?null:pt(Oh((r=Tu(n,!0),r.length>0&&(Xn(0,r.length),r.charCodeAt(0)==43)?(Xn(1,r.length+1),r.substr(1)):r),lo,Ii));case 61:return n==null?null:pt(Oh(Tu(n,!0),lo,Ii));default:throw ue(new Yn(yT+t.xe()+t3))}};var vAt,GPe,wAt,KPe;I(ea,"XMLTypeFactoryImpl",2028),D(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},dat),h.N=!1,h.O=!1;var yAt=!1;I(ea,"XMLTypePackageImpl",594),D(1961,1,{851:1},lk),h.Kk=function(){return xke(),LAt},I(ea,"XMLTypePackageImpl/1",1961),D(1970,1,yi,qS),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/10",1970),D(1971,1,yi,mre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/11",1971),D(1972,1,yi,vre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/12",1972),D(1973,1,yi,p8),h.fk=function(t){return fy(t)},h.gk=function(t){return We(ta,dt,345,t,7,1)},I(ea,"XMLTypePackageImpl/13",1973),D(1974,1,yi,R$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/14",1974),D(1975,1,yi,j$),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/15",1975),D(1976,1,yi,wre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/16",1976),D(1977,1,yi,$$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/17",1977),D(1978,1,yi,z$),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(_T,dt,161,t,0,1)},I(ea,"XMLTypePackageImpl/18",1978),D(1979,1,yi,NI),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/19",1979),D(1962,1,yi,xre),h.fk=function(t){return De(t,857)},h.gk=function(t){return We(gF,Rn,857,t,0,1)},I(ea,"XMLTypePackageImpl/2",1962),D(1980,1,yi,HS),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/20",1980),D(1981,1,yi,kre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/21",1981),D(1982,1,yi,Ere),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/22",1982),D(1983,1,yi,Tre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/23",1983),D(1984,1,yi,Cre),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(Al,dt,195,t,0,2)},I(ea,"XMLTypePackageImpl/24",1984),D(1985,1,yi,Sre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/25",1985),D(1986,1,yi,q$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/26",1986),D(1987,1,yi,_re),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/27",1987),D(1988,1,yi,Are),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/28",1988),D(1989,1,yi,Lre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/29",1989),D(1963,1,yi,H$),h.fk=function(t){return De(t,681)},h.gk=function(t){return We(AY,Rn,2119,t,0,1)},I(ea,"XMLTypePackageImpl/3",1963),D(1990,1,yi,Mre),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(ro,dt,17,t,0,1)},I(ea,"XMLTypePackageImpl/30",1990),D(1991,1,yi,Dre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/31",1991),D(1992,1,yi,VS),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(r3,dt,168,t,0,1)},I(ea,"XMLTypePackageImpl/32",1992),D(1993,1,yi,Ire),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/33",1993),D(1994,1,yi,Ore),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/34",1994),D(1995,1,yi,Nre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/35",1995),D(1996,1,yi,Pre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/36",1996),D(1997,1,yi,Bre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/37",1997),D(1998,1,yi,Fre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(mf,Qy,15,t,0,1)},I(ea,"XMLTypePackageImpl/38",1998),D(1999,1,yi,V$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/39",1999),D(1964,1,yi,Rre),h.fk=function(t){return De(t,682)},h.gk=function(t){return We(pF,Rn,2120,t,0,1)},I(ea,"XMLTypePackageImpl/4",1964),D(2e3,1,yi,U$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/40",2e3),D(2001,1,yi,jre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/41",2001),D(2002,1,yi,PI),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/42",2002),D(2003,1,yi,$re),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/43",2003),D(2004,1,yi,G$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/44",2004),D(2005,1,yi,zre),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(i3,dt,191,t,0,1)},I(ea,"XMLTypePackageImpl/45",2005),D(2006,1,yi,K$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/46",2006),D(2007,1,yi,qre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/47",2007),D(2008,1,yi,W$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/48",2008),D(2009,1,yi,Y$),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(i3,dt,191,t,0,1)},I(ea,"XMLTypePackageImpl/49",2009),D(1965,1,yi,X$),h.fk=function(t){return De(t,683)},h.gk=function(t){return We(VPe,Rn,2121,t,0,1)},I(ea,"XMLTypePackageImpl/5",1965),D(2010,1,yi,BI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(r3,dt,168,t,0,1)},I(ea,"XMLTypePackageImpl/50",2010),D(2011,1,yi,w5),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/51",2011),D(2012,1,yi,US),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(ro,dt,17,t,0,1)},I(ea,"XMLTypePackageImpl/52",2012),D(1966,1,yi,S1),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(ea,"XMLTypePackageImpl/6",1966),D(1967,1,yi,Q$),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(Al,dt,195,t,0,2)},I(ea,"XMLTypePackageImpl/7",1967),D(1968,1,yi,hk),h.fk=function(t){return hy(t)},h.gk=function(t){return We(Ns,dt,485,t,8,1)},I(ea,"XMLTypePackageImpl/8",1968),D(1969,1,yi,FI),h.fk=function(t){return De(t,222)},h.gk=function(t){return We(jx,dt,222,t,0,1)},I(ea,"XMLTypePackageImpl/9",1969);var nd,N2,GM,LY,ye;D(55,63,lp,ri),I(y2,"RegEx/ParseException",55),D(836,1,{},J$),h.bm=function(t){return tr*16)throw ue(new ri(ai((Jr(),H4t))));r=r*16+o}while(!0);if(this.a!=125)throw ue(new ri(ai((Jr(),V4t))));if(r>TT)throw ue(new ri(ai((Jr(),U4t))));t=r}else{if(o=0,this.c!=0||(o=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(r=o,Li(this),this.c!=0||(o=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));r=r*16+o,t=r}break;case 117:if(a=0,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));n=n*16+a,t=n;break;case 118:if(Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,Li(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ri(ai((Jr(),w2))));if(n=n*16+a,n>TT)throw ue(new ri(ai((Jr(),"parser.descappe.4"))));t=n;break;case 65:case 90:case 122:throw ue(new ri(ai((Jr(),G4t))))}return t},h.dm=function(t){var n,r;switch(t){case 100:r=(this.e&32)==32?_b("Nd",!0):(Di(),MY);break;case 68:r=(this.e&32)==32?_b("Nd",!1):(Di(),ZPe);break;case 119:r=(this.e&32)==32?_b("IsWord",!0):(Di(),lC);break;case 87:r=(this.e&32)==32?_b("IsWord",!1):(Di(),tBe);break;case 115:r=(this.e&32)==32?_b("IsSpace",!0):(Di(),l9);break;case 83:r=(this.e&32)==32?_b("IsSpace",!1):(Di(),eBe);break;default:throw ue(new Ac((n=t,G5t+n.toString(16))))}return r},h.em=function(t){var n,r,a,o,f,g,w,E,C,L,B,z;for(this.b=1,Li(this),n=null,this.c==0&&this.a==94?(Li(this),t?L=(Di(),Di(),new _h(5)):(n=(Di(),Di(),new _h(4)),Eu(n,0,TT),L=new _h(4))):L=(Di(),Di(),new _h(4)),o=!0;(z=this.c)!=1&&!(z==0&&this.a==93&&!o);){if(o=!1,r=this.a,a=!1,z==10)switch(r){case 100:case 68:case 119:case 87:case 115:case 83:Ky(L,this.dm(r)),a=!0;break;case 105:case 73:case 99:case 67:r=this.um(L,r),r<0&&(a=!0);break;case 112:case 80:if(B=w9e(this,r),!B)throw ue(new ri(ai((Jr(),t0e))));Ky(L,B),a=!0;break;default:r=this.cm()}else if(z==20){if(g=Nk(this.i,58,this.d),g<0)throw ue(new ri(ai((Jr(),kSe))));if(w=!0,co(this.i,this.d)==94&&(++this.d,w=!1),f=tf(this.i,this.d,g),E=vlt(f,w,(this.e&512)==512),!E)throw ue(new ri(ai((Jr(),R4t))));if(Ky(L,E),a=!0,g+1>=this.j||co(this.i,g+1)!=93)throw ue(new ri(ai((Jr(),kSe))));this.d=g+2}if(Li(this),!a)if(this.c!=0||this.a!=45)Eu(L,r,r);else{if(Li(this),(z=this.c)==1)throw ue(new ri(ai((Jr(),UG))));z==0&&this.a==93?(Eu(L,r,r),Eu(L,45,45)):(C=this.a,z==10&&(C=this.cm()),Li(this),Eu(L,r,C))}(this.e&m0)==m0&&this.c==0&&this.a==44&&Li(this)}if(this.c==1)throw ue(new ri(ai((Jr(),UG))));return n&&(nL(n,L),L=n),c6(L),eL(L),this.b=0,Li(this),L},h.fm=function(){var t,n,r,a;for(r=this.em(!1);(a=this.c)!=7;)if(t=this.a,a==0&&(t==45||t==38)||a==4){if(Li(this),this.c!=9)throw ue(new ri(ai((Jr(),$4t))));if(n=this.em(!1),a==4)Ky(r,n);else if(t==45)nL(r,n);else if(t==38)Cvt(r,n);else throw ue(new Ac("ASSERT"))}else throw ue(new ri(ai((Jr(),z4t))));return Li(this),r},h.gm=function(){var t,n;return t=this.a-48,n=(Di(),Di(),new coe(12,null,t)),!this.g&&(this.g=new jz),Rz(this.g,new Ewe(t)),Li(this),n},h.hm=function(){return Li(this),Di(),EAt},h.im=function(){return Li(this),Di(),kAt},h.jm=function(){throw ue(new ri(ai((Jr(),bf))))},h.km=function(){throw ue(new ri(ai((Jr(),bf))))},h.lm=function(){return Li(this),xyn()},h.mm=function(){return Li(this),Di(),CAt},h.nm=function(){return Li(this),Di(),_At},h.om=function(){var t;if(this.d>=this.j||((t=co(this.i,this.d++))&65504)!=64)throw ue(new ri(ai((Jr(),P4t))));return Li(this),Di(),Di(),new ng(0,t-64)},h.pm=function(){return Li(this),TAn()},h.qm=function(){return Li(this),Di(),AAt},h.rm=function(){var t;return t=(Di(),Di(),new ng(0,105)),Li(this),t},h.sm=function(){return Li(this),Di(),SAt},h.tm=function(){return Li(this),Di(),TAt},h.um=function(t,n){return this.cm()},h.vm=function(){return Li(this),Di(),QPe},h.wm=function(){var t,n,r,a,o;if(this.d+1>=this.j)throw ue(new ri(ai((Jr(),I4t))));if(a=-1,n=null,t=co(this.i,this.d),49<=t&&t<=57){if(a=t-48,!this.g&&(this.g=new jz),Rz(this.g,new Ewe(a)),++this.d,co(this.i,this.d)!=41)throw ue(new ri(ai((Jr(),ov))));++this.d}else switch(t==63&&--this.d,Li(this),n=Gke(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw ue(new ri(ai((Jr(),ov))));break;default:throw ue(new ri(ai((Jr(),O4t))))}if(Li(this),o=jw(this),r=null,o.e==2){if(o.Pm()!=2)throw ue(new ri(ai((Jr(),N4t))));r=o.Lm(1),o=o.Lm(0)}if(this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),Di(),Di(),new Zlt(a,n,o,r)},h.xm=function(){return Li(this),Di(),JPe},h.ym=function(){var t;if(Li(this),t=bH(24,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.zm=function(){var t;if(Li(this),t=bH(20,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Am=function(){var t;if(Li(this),t=bH(22,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Bm=function(){var t,n,r,a,o;for(t=0,r=0,n=-1;this.d=this.j)throw ue(new ri(ai((Jr(),ySe))));if(n==45){for(++this.d;this.d=this.j)throw ue(new ri(ai((Jr(),ySe))))}if(n==58){if(++this.d,Li(this),a=Wst(jw(this),t,r),this.c!=7)throw ue(new ri(ai((Jr(),ov))));Li(this)}else if(n==41)++this.d,Li(this),a=Wst(jw(this),t,r);else throw ue(new ri(ai((Jr(),D4t))));return a},h.Cm=function(){var t;if(Li(this),t=bH(21,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Dm=function(){var t;if(Li(this),t=bH(23,jw(this)),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Em=function(){var t,n;if(Li(this),t=this.f++,n=Bae(jw(this),t),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),n},h.Fm=function(){var t;if(Li(this),t=Bae(jw(this),0),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Gm=function(t){return Li(this),this.c==5?(Li(this),oH(t,(Di(),Di(),new Ty(9,t)))):oH(t,(Di(),Di(),new Ty(3,t)))},h.Hm=function(t){var n;return Li(this),n=(Di(),Di(),new B_(2)),this.c==5?(Li(this),Qm(n,WM),Qm(n,t)):(Qm(n,t),Qm(n,WM)),n},h.Im=function(t){return Li(this),this.c==5?(Li(this),Di(),Di(),new Ty(9,t)):(Di(),Di(),new Ty(3,t))},h.a=0,h.b=0,h.c=0,h.d=0,h.e=0,h.f=1,h.g=null,h.j=0,I(y2,"RegEx/RegexParser",836),D(1947,836,{},gJe),h.bm=function(t){return!1},h.cm=function(){return eke(this)},h.dm=function(t){return YE(t)},h.em=function(t){return ywt(this)},h.fm=function(){throw ue(new ri(ai((Jr(),bf))))},h.gm=function(){throw ue(new ri(ai((Jr(),bf))))},h.hm=function(){throw ue(new ri(ai((Jr(),bf))))},h.im=function(){throw ue(new ri(ai((Jr(),bf))))},h.jm=function(){return Li(this),YE(67)},h.km=function(){return Li(this),YE(73)},h.lm=function(){throw ue(new ri(ai((Jr(),bf))))},h.mm=function(){throw ue(new ri(ai((Jr(),bf))))},h.nm=function(){throw ue(new ri(ai((Jr(),bf))))},h.om=function(){return Li(this),YE(99)},h.pm=function(){throw ue(new ri(ai((Jr(),bf))))},h.qm=function(){throw ue(new ri(ai((Jr(),bf))))},h.rm=function(){return Li(this),YE(105)},h.sm=function(){throw ue(new ri(ai((Jr(),bf))))},h.tm=function(){throw ue(new ri(ai((Jr(),bf))))},h.um=function(t,n){return Ky(t,YE(n)),-1},h.vm=function(){return Li(this),Di(),Di(),new ng(0,94)},h.wm=function(){throw ue(new ri(ai((Jr(),bf))))},h.xm=function(){return Li(this),Di(),Di(),new ng(0,36)},h.ym=function(){throw ue(new ri(ai((Jr(),bf))))},h.zm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Am=function(){throw ue(new ri(ai((Jr(),bf))))},h.Bm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Cm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Dm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Em=function(){var t;if(Li(this),t=Bae(jw(this),0),this.c!=7)throw ue(new ri(ai((Jr(),ov))));return Li(this),t},h.Fm=function(){throw ue(new ri(ai((Jr(),bf))))},h.Gm=function(t){return Li(this),oH(t,(Di(),Di(),new Ty(3,t)))},h.Hm=function(t){var n;return Li(this),n=(Di(),Di(),new B_(2)),Qm(n,t),Qm(n,WM),n},h.Im=function(t){return Li(this),Di(),Di(),new Ty(3,t)};var l7=null,cC=null;I(y2,"RegEx/ParserForXMLSchema",1947),D(122,1,CT,Xv),h.Jm=function(t){throw ue(new Ac("Not supported."))},h.Km=function(){return-1},h.Lm=function(t){return null},h.Mm=function(){return null},h.Nm=function(t){},h.Om=function(t){},h.Pm=function(){return 0},h.Ib=function(){return this.Qm(0)},h.Qm=function(t){return this.e==11?".":""},h.e=0;var WPe,uC,KM,xAt,YPe,P4=null,MY,cpe=null,XPe,WM,upe=null,QPe,JPe,ZPe,eBe,tBe,kAt,l9,EAt,TAt,CAt,SAt,lC,_At,AAt,NOn=I(y2,"RegEx/Token",122);D(138,122,{3:1,138:1,122:1},_h),h.Qm=function(t){var n,r,a;if(this.e==4)if(this==XPe)r=".";else if(this==MY)r="\\d";else if(this==lC)r="\\w";else if(this==l9)r="\\s";else{for(a=new Up,a.a+="[",n=0;n0&&(a.a+=","),this.b[n]===this.b[n+1]?Xo(a,gP(this.b[n])):(Xo(a,gP(this.b[n])),a.a+="-",Xo(a,gP(this.b[n+1])));a.a+="]",r=a.a}else if(this==ZPe)r="\\D";else if(this==tBe)r="\\W";else if(this==eBe)r="\\S";else{for(a=new Up,a.a+="[^",n=0;n0&&(a.a+=","),this.b[n]===this.b[n+1]?Xo(a,gP(this.b[n])):(Xo(a,gP(this.b[n])),a.a+="-",Xo(a,gP(this.b[n+1])));a.a+="]",r=a.a}return r},h.a=!1,h.c=!1,I(y2,"RegEx/RangeToken",138),D(592,1,{592:1},Ewe),h.a=0,I(y2,"RegEx/RegexParser/ReferencePosition",592),D(591,1,{3:1,591:1},LZe),h.Fb=function(t){var n;return t==null||!De(t,591)?!1:(n=l(t,591),vn(this.b,n.b)&&this.a==n.a)},h.Hb=function(){return s2(this.b+"/"+K9e(this.a))},h.Ib=function(){return this.c.Qm(this.a)},h.a=0,I(y2,"RegEx/RegularExpression",591),D(228,122,CT,ng),h.Km=function(){return this.a},h.Qm=function(t){var n,r,a;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:a="\\"+hae(this.a&Zs);break;case 12:a="\\f";break;case 10:a="\\n";break;case 13:a="\\r";break;case 9:a="\\t";break;case 27:a="\\e";break;default:this.a>=Io?(r=(n=this.a>>>0,"0"+n.toString(16)),a="\\v"+tf(r,r.length-6,r.length)):a=""+hae(this.a&Zs)}break;case 8:this==QPe||this==JPe?a=""+hae(this.a&Zs):a="\\"+hae(this.a&Zs);break;default:a=null}return a},h.a=0,I(y2,"RegEx/Token/CharToken",228),D(318,122,CT,Ty),h.Lm=function(t){return this.a},h.Nm=function(t){this.b=t},h.Om=function(t){this.c=t},h.Pm=function(){return 1},h.Qm=function(t){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}";else throw ue(new Ac("Token#toString(): CLOSURE "+this.c+Co+this.b));else if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*?";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}?";else throw ue(new Ac("Token#toString(): NONGREEDYCLOSURE "+this.c+Co+this.b));return n},h.b=0,h.c=0,I(y2,"RegEx/Token/ClosureToken",318),D(837,122,CT,f5e),h.Lm=function(t){return t==0?this.a:this.b},h.Pm=function(){return 2},h.Qm=function(t){var n;return this.b.e==3&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+":this.b.e==9&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+?":n=this.a.Qm(t)+(""+this.b.Qm(t)),n},I(y2,"RegEx/Token/ConcatToken",837),D(1945,122,CT,Zlt),h.Lm=function(t){if(t==0)return this.d;if(t==1)return this.b;throw ue(new Ac("Internal Error: "+t))},h.Pm=function(){return this.b?2:1},h.Qm=function(t){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},h.c=0,I(y2,"RegEx/Token/ConditionToken",1945),D(1946,122,CT,Hot),h.Lm=function(t){return this.b},h.Pm=function(){return 1},h.Qm=function(t){return"(?"+(this.a==0?"":K9e(this.a))+(this.c==0?"":K9e(this.c))+":"+this.b.Qm(t)+")"},h.a=0,h.c=0,I(y2,"RegEx/Token/ModifierToken",1946),D(838,122,CT,k5e),h.Lm=function(t){return this.a},h.Pm=function(){return 1},h.Qm=function(t){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.Qm(t)+")":n="("+this.a.Qm(t)+")";break;case 20:n="(?="+this.a.Qm(t)+")";break;case 21:n="(?!"+this.a.Qm(t)+")";break;case 22:n="(?<="+this.a.Qm(t)+")";break;case 23:n="(?"+this.a.Qm(t)+")"}return n},h.b=0,I(y2,"RegEx/Token/ParenToken",838),D(530,122,{3:1,122:1,530:1},coe),h.Mm=function(){return this.b},h.Qm=function(t){return this.e==12?"\\"+this.a:bTn(this.b)},h.a=0,I(y2,"RegEx/Token/StringToken",530),D(477,122,CT,B_),h.Jm=function(t){Qm(this,t)},h.Lm=function(t){return l(xw(this.a,t),122)},h.Pm=function(){return this.a?this.a.a.c.length:0},h.Qm=function(t){var n,r,a,o,f;if(this.e==1){if(this.a.a.c.length==2)n=l(xw(this.a,0),122),r=l(xw(this.a,1),122),r.e==3&&r.Lm(0)==n?o=n.Qm(t)+"+":r.e==9&&r.Lm(0)==n?o=n.Qm(t)+"+?":o=n.Qm(t)+(""+r.Qm(t));else{for(f=new Up,a=0;a=this.c.b:this.a<=this.c.b},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Vb=function(){return this.b-1},h.Qb=function(){throw ue(new Hp(Z5t))},h.a=0,h.b=0,I(zSe,"ExclusiveRange/RangeIterator",258);var kf=Gk(GG,"C"),Vr=Gk(LL,"I"),ih=Gk(Cx,"Z"),nm=Gk(ML,"J"),Al=Gk(SL,"B"),Na=Gk(_L,"D"),B4=Gk(AL,"F"),h7=Gk(DL,"S"),POn=ks("org.eclipse.elk.core.labels","ILabelManager"),nBe=ks(So,"DiagnosticChain"),rBe=ks(_5t,"ResourceSet"),iBe=I(So,"InvocationTargetException",null),MAt=(Hz(),Ymn),DAt=DAt=$8n;qwn(Rcn),Rwn("permProps",[[["locale","default"],[e6t,"gecko1_8"]],[["locale","default"],[e6t,"safari"]]]),DAt(null,"elk",null)}).call(this)}).call(this,typeof Ag<"u"?Ag:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(u,d,p){function v(A,P){if(!(A instanceof P))throw new TypeError("Cannot call a class as a function")}function b(A,P){if(!A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return P&&(typeof P=="object"||typeof P=="function")?P:A}function y(A,P){if(typeof P!="function"&&P!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof P);A.prototype=Object.create(P&&P.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),P&&(Object.setPrototypeOf?Object.setPrototypeOf(A,P):A.__proto__=P)}var T=u("./elk-api.js").default,_=function(A){y(P,A);function P(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};v(this,P);var F=Object.assign({},R),j=!1;try{u.resolve("web-worker"),j=!0}catch{}if(R.workerUrl)if(j){var K=u("web-worker");F.workerFactory=function(oe){return new K(oe)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!F.workerFactory){var ee=u("./elk-worker.min.js"),ie=ee.Worker;F.workerFactory=function(oe){return new ie(oe)}}return b(this,(P.__proto__||Object.getPrototypeOf(P)).call(this,F))}return P}(T);Object.defineProperty(d.exports,"__esModule",{value:!0}),d.exports=_,_.default=_},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(u,d,p){d.exports=Worker},{}]},{},[3])(3)})})(HKe);var Can=HKe.exports;const San=hC(Can),VKe=new San;let Hv={};const _an={};let W7={};const Aan=async function(i,s,u,d,p,v,b){const T=u.select(`[id="${s}"]`).insert("g").attr("class","nodes"),_=Object.keys(i);return await Promise.all(_.map(async function(A){const P=i[A];let R="default";P.classes.length>0&&(R=P.classes.join(" ")),R=R+" flowchart-label";const F=om(P.styles);let j=P.text!==void 0?P.text:P.id;const K={width:0,height:0},ee=[{id:P.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:P.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:P.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:P.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let ie=0,oe="",pe={};switch(P.type){case"round":ie=5,oe="rect";break;case"square":oe="rect";break;case"diamond":oe="question",pe={portConstraints:"FIXED_SIDE"};break;case"hexagon":oe="hexagon";break;case"odd":oe="rect_left_inv_arrow";break;case"lean_right":oe="lean_right";break;case"lean_left":oe="lean_left";break;case"trapezoid":oe="trapezoid";break;case"inv_trapezoid":oe="inv_trapezoid";break;case"odd_right":oe="rect_left_inv_arrow";break;case"circle":oe="circle";break;case"ellipse":oe="ellipse";break;case"stadium":oe="stadium";break;case"subroutine":oe="subroutine";break;case"cylinder":oe="cylinder";break;case"group":oe="rect";break;case"doublecircle":oe="doublecircle";break;default:oe="rect"}const be={labelStyle:F.labelStyle,shape:oe,labelText:j,labelType:P.labelType,rx:ie,ry:ie,class:R,style:F.style,id:P.id,link:P.link,linkTarget:P.linkTarget,tooltip:p.db.getTooltip(P.id)||"",domId:p.db.lookUpDomId(P.id),haveCallback:P.haveCallback,width:P.type==="group"?500:void 0,dir:P.dir,type:P.type,props:P.props,padding:Vh().flowchart.padding};let ae,ne;if(be.type!=="group")ne=await tJ(T,be,P.dir),ae=ne.node().getBBox();else{d.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:de,bbox:X}=await g1(T,be,void 0,!0);K.width=X.width,K.wrappingWidth=Vh().flowchart.wrappingWidth,K.height=X.height,K.labelNode=de.node(),be.labelData=K}const se={id:P.id,ports:P.type==="diamond"?ee:[],layoutOptions:pe,labelText:j,labelData:K,domId:p.db.lookUpDomId(P.id),width:ae==null?void 0:ae.width,height:ae==null?void 0:ae.height,type:P.type,el:ne,parent:v.parentById[P.id]};W7[be.id]=se})),b},UKe=(i,s,u)=>{const d={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return d.TD=d.TB,d[u][s][i]},GKe=(i,s,u)=>{if(Xe.info("getNextPort",{node:i,edgeDirection:s,graphDirection:u}),!Hv[i])switch(u){case"TB":case"TD":Hv[i]={inPosition:"north",outPosition:"south"};break;case"BT":Hv[i]={inPosition:"south",outPosition:"north"};break;case"RL":Hv[i]={inPosition:"east",outPosition:"west"};break;case"LR":Hv[i]={inPosition:"west",outPosition:"east"};break}const d=s==="in"?Hv[i].inPosition:Hv[i].outPosition;return s==="in"?Hv[i].inPosition=UKe(Hv[i].inPosition,s,u):Hv[i].outPosition=UKe(Hv[i].outPosition,s,u),d},Lan=(i,s)=>{let u=i.start,d=i.end;const p=u,v=d,b=W7[u],y=W7[d];return!b||!y?{source:u,target:d}:(b.type==="diamond"&&(u=`${u}-${GKe(u,"out",s)}`),y.type==="diamond"&&(d=`${d}-${GKe(d,"in",s)}`),{source:u,target:d,sourceId:p,targetId:v})},Man=function(i,s,u,d){Xe.info("abc78 edges = ",i);const p=d.insert("g").attr("class","edgeLabels");let v={},b=s.db.getDirection(),y,T;if(i.defaultStyle!==void 0){const _=om(i.defaultStyle);y=_.style,T=_.labelStyle}return i.forEach(function(_){const A="L-"+_.start+"-"+_.end;v[A]===void 0?(v[A]=0,Xe.info("abc78 new entry",A,v[A])):(v[A]++,Xe.info("abc78 new entry",A,v[A]));let P=A+"-"+v[A];Xe.info("abc78 new link id to be used is",A,P,v[A]);const R="LS-"+_.start,F="LE-"+_.end,j={style:"",labelStyle:""};switch(j.minlen=_.length||1,_.type==="arrow_open"?j.arrowhead="none":j.arrowhead="normal",j.arrowTypeStart="arrow_open",j.arrowTypeEnd="arrow_open",_.type){case"double_arrow_cross":j.arrowTypeStart="arrow_cross";case"arrow_cross":j.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":j.arrowTypeStart="arrow_point";case"arrow_point":j.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":j.arrowTypeStart="arrow_circle";case"arrow_circle":j.arrowTypeEnd="arrow_circle";break}let K="",ee="";switch(_.stroke){case"normal":K="fill:none;",y!==void 0&&(K=y),T!==void 0&&(ee=T),j.thickness="normal",j.pattern="solid";break;case"dotted":j.thickness="normal",j.pattern="dotted",j.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":j.thickness="thick",j.pattern="solid",j.style="stroke-width: 3.5px;fill:none;";break}if(_.style!==void 0){const ne=om(_.style);K=ne.style,ee=ne.labelStyle}j.style=j.style+=K,j.labelStyle=j.labelStyle+=ee,_.interpolate!==void 0?j.curve=Ov(_.interpolate,kp):i.defaultInterpolate!==void 0?j.curve=Ov(i.defaultInterpolate,kp):j.curve=Ov(_an.curve,kp),_.text===void 0?_.style!==void 0&&(j.arrowheadStyle="fill: #333"):(j.arrowheadStyle="fill: #333",j.labelpos="c"),j.labelType=_.labelType,j.label=_.text.replace(li.lineBreakRegex,` +`),_.style===void 0&&(j.style=j.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),j.labelStyle=j.labelStyle.replace("color:","fill:"),j.id=P,j.classes="flowchart-link "+R+" "+F;const ie=zme(p,j),{source:oe,target:pe,sourceId:be,targetId:ae}=Lan(_,b);Xe.debug("abc78 source and target",oe,pe),u.edges.push({id:"e"+_.start+_.end,sources:[oe],targets:[pe],sourceId:be,targetId:ae,labelEl:ie,labels:[{width:j.width,height:j.height,orgWidth:j.width,orgHeight:j.height,text:j.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:j})}),u},Dan=function(i,s,u,d,p){let v="";d&&(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,v=v.replace(/\(/g,"\\("),v=v.replace(/\)/g,"\\)")),AUe(i,s,v,p,u)},Ian=function(i,s){return Xe.info("Extracting classes"),s.db.getClasses()},Oan=function(i){const s={parentById:{},childrenById:{}},u=i.getSubGraphs();return Xe.info("Subgraphs - ",u),u.forEach(function(d){d.nodes.forEach(function(p){s.parentById[p]=d.id,s.childrenById[d.id]===void 0&&(s.childrenById[d.id]=[]),s.childrenById[d.id].push(p)})}),u.forEach(function(d){d.id,s.parentById[d.id]!==void 0&&s.parentById[d.id]}),s},Nan=function(i,s,u){const d=Tan(i,s,u);if(d===void 0||d==="root")return{x:0,y:0};const p=W7[d].offset;return{x:p.posX,y:p.posY}},Pan=function(i,s,u,d,p,v){const b=Nan(s.sourceId,s.targetId,p),y=s.sections[0].startPoint,T=s.sections[0].endPoint,A=(s.sections[0].bendPoints?s.sections[0].bendPoints:[]).map(pe=>[pe.x+b.x,pe.y+b.y]),P=[[y.x+b.x,y.y+b.y],...A,[T.x+b.x,T.y+b.y]],{x:R,y:F}=_Ue(s.edgeData),j=k7().x(R).y(F).curve(kp),K=i.insert("path").attr("d",j(P)).attr("class","path "+u.classes).attr("fill","none"),ee=i.insert("g").attr("class","edgeLabel"),ie=Ir(ee.node().appendChild(s.labelEl)),oe=ie.node().firstChild.getBoundingClientRect();ie.attr("width",oe.width),ie.attr("height",oe.height),ee.attr("transform",`translate(${s.labels[0].x+b.x}, ${s.labels[0].y+b.y})`),Dan(K,u,d.type,d.arrowMarkerAbsolute,v)},KKe=(i,s)=>{i.forEach(u=>{u.children||(u.children=[]);const d=s.childrenById[u.id];d&&d.forEach(p=>{u.children.push(W7[p])}),KKe(u.children,s)})},Ban=async function(i,s,u,d){var se;d.db.clear(),W7={},Hv={},d.db.setGen("gen-2"),d.parser.parse(i);const p=Ir("body").append("div").attr("style","height:400px").attr("id","cy");let v={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Xe.info("Drawing flowchart using v3 renderer",VKe),d.db.getDirection()){case"BT":v.layoutOptions["elk.direction"]="UP";break;case"TB":v.layoutOptions["elk.direction"]="DOWN";break;case"LR":v.layoutOptions["elk.direction"]="RIGHT";break;case"RL":v.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:y,flowchart:T}=Vh();let _;y==="sandbox"&&(_=Ir("#i"+s));const A=Ir(y==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=y==="sandbox"?_.nodes()[0].contentDocument:document,R=A.select(`[id="${s}"]`);Sme(R,["point","circle","cross"],d.type,s);const j=d.db.getVertices();let K;const ee=d.db.getSubGraphs();Xe.info("Subgraphs - ",ee);for(let de=ee.length-1;de>=0;de--)K=ee[de],d.db.addVertex(K.id,{text:K.title,type:K.labelType},"group",void 0,K.classes,K.dir);const ie=R.insert("g").attr("class","subgraphs"),oe=Oan(d.db);v=await Aan(j,s,A,P,d,oe,v);const pe=R.insert("g").attr("class","edges edgePath"),be=d.db.getEdges();v=Man(be,d,v,R),Object.keys(W7).forEach(de=>{const X=W7[de];X.parent||v.children.push(X),oe.childrenById[de]!==void 0&&(X.labels=[{text:X.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:X.labelData.width,height:X.labelData.height}],delete X.x,delete X.y,delete X.width,delete X.height)}),KKe(v.children,oe),Xe.info("after layout",JSON.stringify(v,null,2));const ne=await VKe.layout(v);WKe(0,0,ne.children,R,ie,d,0),Xe.info("after layout",ne),(se=ne.edges)==null||se.map(de=>{Pan(pe,de,de.edgeData,d,oe,s)}),y9({},R,T.diagramPadding,T.useMaxWidth),p.remove()},WKe=(i,s,u,d,p,v,b)=>{u.forEach(function(y){if(y)if(W7[y.id].offset={posX:y.x+i,posY:y.y+s,x:i,y:s,depth:b,width:y.width,height:y.height},y.type==="group"){const T=p.insert("g").attr("class","subgraph");T.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",y.x+i).attr("y",y.y+s).attr("width",y.width).attr("height",y.height);const _=T.insert("g").attr("class","label"),A=Vh().flowchart.htmlLabels?y.labelData.width/2:0;_.attr("transform",`translate(${y.labels[0].x+i+y.x+A}, ${y.labels[0].y+s+y.y+3})`),_.node().appendChild(y.labelData.labelNode),Xe.info("Id (UGH)= ",y.type,y.labels)}else Xe.info("Id (UGH)= ",y.id),y.el.attr("transform",`translate(${y.x+i+y.width/2}, ${y.y+s+y.height/2})`)}),u.forEach(function(y){y&&y.type==="group"&&WKe(i+y.x,s+y.y,y.children,d,p,v,b+1)})},Fan={getClasses:Ian,draw:Ban},Ran=i=>{let s="";for(let u=0;u<5;u++)s+=` + .subgraph-lvl-${u} { + fill: ${i[`surface${u}`]}; + stroke: ${i[`surfacePeer${u}`]}; + } + `;return s},jan=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:_Ut,renderer:Fan,parser:Gbe,styles:i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span { + color: ${i.titleColor}; + } + + .label text,span { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${Ran(i)} +`}},Symbol.toStringTag,{value:"Module"}));var Qve=function(){var i=function(R,F,j,K){for(j=j||{},K=R.length;K--;j[R[K]]=F);return j},s=[6,8,10,11,12,14,16,17,20,21],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,16],T=[1,17],_={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline: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,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",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",20:"period",21:"event"},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,1],[9,1],[18,1],[19,1]],performAction:function(F,j,K,ee,ie,oe,pe){var be=oe.length-1;switch(ie){case 1:return oe[be-1];case 2:this.$=[];break;case 3:oe[be-1].push(oe[be]),this.$=oe[be-1];break;case 4:case 5:this.$=oe[be];break;case 6:case 7:this.$=[];break;case 8:ee.getCommonDb().setDiagramTitle(oe[be].substr(6)),this.$=oe[be].substr(6);break;case 9:this.$=oe[be].trim(),ee.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=oe[be].trim(),ee.getCommonDb().setAccDescription(this.$);break;case 12:ee.addSection(oe[be].substr(8)),this.$=oe[be].substr(8);break;case 15:ee.addTask(oe[be],0,""),this.$=oe[be];break;case 16:ee.addEvent(oe[be].substr(2)),this.$=oe[be];break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:T},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:18,11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:T},i(s,[2,5]),i(s,[2,6]),i(s,[2,8]),{13:[1,19]},{15:[1,20]},i(s,[2,11]),i(s,[2,12]),i(s,[2,13]),i(s,[2,14]),i(s,[2,15]),i(s,[2,16]),i(s,[2,4]),i(s,[2,9]),i(s,[2,10])],defaultActions:{},parseError:function(F,j){if(j.recoverable)this.trace(F);else{var K=new Error(F);throw K.hash=j,K}},parse:function(F){var j=this,K=[0],ee=[],ie=[null],oe=[],pe=this.table,be="",ae=0,ne=0,se=2,de=1,X=oe.slice.call(arguments,1),ge=Object.create(this.lexer),W={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(W.yy[xe]=this.yy[xe]);ge.setInput(F,W.yy),W.yy.lexer=ge,W.yy.parser=this,typeof ge.yylloc>"u"&&(ge.yylloc={});var U=ge.yylloc;oe.push(U);var Fe=ge.options&&ge.options.ranges;typeof W.yy.parseError=="function"?this.parseError=W.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var Et;return Et=ee.pop()||ge.lex()||de,typeof Et!="number"&&(Et instanceof Array&&(ee=Et,Et=ee.pop()),Et=j.symbols_[Et]||Et),Et}for(var je,Ie,Se,Ce,ke={},Ke,Ft,Ne,gn;;){if(Ie=K[K.length-1],this.defaultActions[Ie]?Se=this.defaultActions[Ie]:((je===null||typeof je>"u")&&(je=Pe()),Se=pe[Ie]&&pe[Ie][je]),typeof Se>"u"||!Se.length||!Se[0]){var _t="";gn=[];for(Ke in pe[Ie])this.terminals_[Ke]&&Ke>se&&gn.push("'"+this.terminals_[Ke]+"'");ge.showPosition?_t="Parse error on line "+(ae+1)+`: +`+ge.showPosition()+` +Expecting `+gn.join(", ")+", got '"+(this.terminals_[je]||je)+"'":_t="Parse error on line "+(ae+1)+": Unexpected "+(je==de?"end of input":"'"+(this.terminals_[je]||je)+"'"),this.parseError(_t,{text:ge.match,token:this.terminals_[je]||je,line:ge.yylineno,loc:U,expected:gn})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ie+", token: "+je);switch(Se[0]){case 1:K.push(je),ie.push(ge.yytext),oe.push(ge.yylloc),K.push(Se[1]),je=null,ne=ge.yyleng,be=ge.yytext,ae=ge.yylineno,U=ge.yylloc;break;case 2:if(Ft=this.productions_[Se[1]][1],ke.$=ie[ie.length-Ft],ke._$={first_line:oe[oe.length-(Ft||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(Ft||1)].first_column,last_column:oe[oe.length-1].last_column},Fe&&(ke._$.range=[oe[oe.length-(Ft||1)].range[0],oe[oe.length-1].range[1]]),Ce=this.performAction.apply(ke,[be,ne,ae,W.yy,Se[1],ie,oe].concat(X)),typeof Ce<"u")return Ce;Ft&&(K=K.slice(0,-1*Ft*2),ie=ie.slice(0,-1*Ft),oe=oe.slice(0,-1*Ft)),K.push(this.productions_[Se[1]][0]),ie.push(ke.$),oe.push(ke._$),Ne=pe[K[K.length-2]][K[K.length-1]],K.push(Ne);break;case 3:return!0}}return!0}},A=function(){var R={EOF:1,parseError:function(j,K){if(this.yy.parser)this.yy.parser.parseError(j,K);else throw new Error(j)},setInput:function(F,j){return this.yy=j||this.yy||{},this._input=F,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},input:function(){var F=this._input[0];this.yytext+=F,this.yyleng++,this.offset++,this.match+=F,this.matched+=F;var j=F.match(/(?:\r\n?|\n).*/g);return j?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),F},unput:function(F){var j=F.length,K=F.split(/(?:\r\n?|\n)/g);this._input=F+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-j),this.offset-=j;var ee=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),K.length-1&&(this.yylineno-=K.length-1);var ie=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:K?(K.length===ee.length?this.yylloc.first_column:0)+ee[ee.length-K.length].length-K[0].length:this.yylloc.first_column-j},this.options.ranges&&(this.yylloc.range=[ie[0],ie[0]+this.yyleng-j]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(F){this.unput(this.match.slice(F))},pastInput:function(){var F=this.matched.substr(0,this.matched.length-this.match.length);return(F.length>20?"...":"")+F.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var F=this.match;return F.length<20&&(F+=this._input.substr(0,20-F.length)),(F.substr(0,20)+(F.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var F=this.pastInput(),j=new Array(F.length+1).join("-");return F+this.upcomingInput()+` +`+j+"^"},test_match:function(F,j){var K,ee,ie;if(this.options.backtrack_lexer&&(ie={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&&(ie.yylloc.range=this.yylloc.range.slice(0))),ee=F[0].match(/(?:\r\n?|\n).*/g),ee&&(this.yylineno+=ee.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ee?ee[ee.length-1].length-ee[ee.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+F[0].length},this.yytext+=F[0],this.match+=F[0],this.matches=F,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(F[0].length),this.matched+=F[0],K=this.performAction.call(this,this.yy,this,j,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),K)return K;if(this._backtrack){for(var oe in ie)this[oe]=ie[oe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var F,j,K,ee;this._more||(this.yytext="",this.match="");for(var ie=this._currentRules(),oe=0;oej[0].length)){if(j=K,ee=oe,this.options.backtrack_lexer){if(F=this.test_match(K,ie[oe]),F!==!1)return F;if(this._backtrack){j=!1;continue}else return!1}else if(!this.options.flex)break}return j?(F=this.test_match(j,ie[ee]),F!==!1?F:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var j=this.next();return j||this.lex()},begin:function(j){this.conditionStack.push(j)},popState:function(){var j=this.conditionStack.length-1;return j>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(j){return j=this.conditionStack.length-1-Math.abs(j||0),j>=0?this.conditionStack[j]:"INITIAL"},pushState:function(j){this.begin(j)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(j,K,ee,ie){switch(ee){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;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 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/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;]+)/i,/^(?:[^#:\n;]+)/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],inclusive:!0}}};return R}();_.lexer=A;function P(){this.yy={}}return P.prototype=_,_.Parser=P,new P}();Qve.parser=Qve;const $an=Qve;let ZD="",YKe=0;const Jve=[],IJ=[],eI=[],XKe=()=>Jje,QKe=function(){Jve.length=0,IJ.length=0,ZD="",eI.length=0,Pg()},JKe=function(i){ZD=i,Jve.push(i)},ZKe=function(){return Jve},eWe=function(){let i=iWe();const s=100;let u=0;for(;!i&&uu.id===YKe-1).events.push(i)},rWe=function(i){const s={section:ZD,type:ZD,description:i,task:i,classes:[]};IJ.push(s)},iWe=function(){const i=function(u){return eI[u].processed};let s=!0;for(const[u,d]of eI.entries())i(u),s=s&&d.processed;return s},zan=Object.freeze(Object.defineProperty({__proto__:null,addEvent:nWe,addSection:JKe,addTask:tWe,addTaskOrg:rWe,clear:QKe,default:{clear:QKe,getCommonDb:XKe,addSection:JKe,getSections:ZKe,getTasks:eWe,addTask:tWe,addTaskOrg:rWe,addEvent:nWe},getCommonDb:XKe,getSections:ZKe,getTasks:eWe},Symbol.toStringTag,{value:"Module"})),qan=12,OJ=function(i,s){const u=i.append("rect");return u.attr("x",s.x),u.attr("y",s.y),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("width",s.width),u.attr("height",s.height),u.attr("rx",s.rx),u.attr("ry",s.ry),s.class!==void 0&&u.attr("class",s.class),u},Han=function(i,s){const d=i.append("circle").attr("cx",s.cx).attr("cy",s.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",s.cx-15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",s.cx+15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(T){const _=lD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+2)+")")}function b(T){const _=lD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+7)+")")}function y(T){T.append("line").attr("class","mouth").attr("stroke",2).attr("x1",s.cx-5).attr("y1",s.cy+7).attr("x2",s.cx+5).attr("y2",s.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s.score>3?v(p):s.score<3?b(p):y(p),d},Van=function(i,s){const u=i.append("circle");return u.attr("cx",s.cx),u.attr("cy",s.cy),u.attr("class","actor-"+s.pos),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("r",s.r),u.class!==void 0&&u.attr("class",u.class),s.title!==void 0&&u.append("title").text(s.title),u},sWe=function(i,s){const u=s.text.replace(//gi," "),d=i.append("text");d.attr("x",s.x),d.attr("y",s.y),d.attr("class","legend"),d.style("text-anchor",s.anchor),s.class!==void 0&&d.attr("class",s.class);const p=d.append("tspan");return p.attr("x",s.x+s.textMargin*2),p.text(u),d},Uan=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(s.x,s.y,50,20,7)),d.attr("class","labelBox"),s.y=s.y+s.labelMargin,s.x=s.x+.5*s.labelMargin,sWe(i,s)},Gan=function(i,s,u){const d=i.append("g"),p=Zve();p.x=s.x,p.y=s.y,p.fill=s.fill,p.width=u.width,p.height=u.height,p.class="journey-section section-type-"+s.num,p.rx=3,p.ry=3,OJ(d,p),oWe(u)(s.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+s.num},u,s.colour)};let aWe=-1;const Kan=function(i,s,u){const d=s.x+u.width/2,p=i.append("g");aWe++;const v=300+5*30;p.append("line").attr("id","task"+aWe).attr("x1",d).attr("y1",s.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Han(p,{cx:d,cy:300+(5-s.score)*30,score:s.score});const b=Zve();b.x=s.x,b.y=s.y,b.fill=s.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+s.num,b.rx=3,b.ry=3,OJ(p,b),s.x+14,oWe(u)(s.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,s.colour)},Wan=function(i,s){OJ(i,{x:s.startx,y:s.starty,width:s.stopx-s.startx,height:s.stopy-s.starty,fill:s.fill,class:"rect"}).lower()},Yan=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},Zve=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},oWe=function(){function i(p,v,b,y,T,_,A,P){const R=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function s(p,v,b,y,T,_,A,P,R){const{taskFontSize:F,taskFontFamily:j}=P,K=p.split(//gi);for(let ee=0;ee)/).reverse(),p,v=[],b=1.1,y=u.attr("y"),T=parseFloat(u.attr("dy")),_=u.text(null).append("tspan").attr("x",0).attr("y",y).attr("dy",T+"em");for(let A=0;As||p==="
    ")&&(v.pop(),_.text(v.join(" ").trim()),p==="
    "?v=[""]:v=[p],_=u.append("tspan").attr("x",0).attr("y",y).attr("dy",b+"em").text(p))})}const Qan=function(i,s,u,d){const p=u%qan-1,v=i.append("g");s.section=p,v.attr("class",(s.class?s.class+" ":"")+"timeline-node "+("section-"+p));const b=v.append("g"),y=v.append("g"),_=y.append("text").text(s.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(cWe,s.width).node().getBBox(),A=d.fontSize&&d.fontSize.replace?d.fontSize.replace("px",""):d.fontSize;return s.height=_.height+A*1.1*.5+s.padding,s.height=Math.max(s.height,s.maxHeight),s.width=s.width+2*s.padding,y.attr("transform","translate("+s.width/2+", "+s.padding/2+")"),Zan(b,s,p),s},Jan=function(i,s,u){const d=i.append("g"),v=d.append("text").text(s.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(cWe,s.width).node().getBBox(),b=u.fontSize&&u.fontSize.replace?u.fontSize.replace("px",""):u.fontSize;return d.remove(),v.height+b*1.1*.5+s.padding},Zan=function(i,s,u){i.append("path").attr("id","node-"+s.id).attr("class","node-bkg node-"+s.type).attr("d",`M0 ${s.height-5} v${-s.height+2*5} q0,-5 5,-5 h${s.width-2*5} q5,0 5,5 v${s.height-5} H0 Z`),i.append("line").attr("class","node-line-"+u).attr("x1",0).attr("y1",s.height).attr("x2",s.width).attr("y2",s.height)},sS={drawRect:OJ,drawCircle:Van,drawSection:Gan,drawText:sWe,drawLabel:Uan,drawTask:Kan,drawBackgroundRect:Wan,getTextObj:Yan,getNoteRect:Zve,initGraphics:Xan,drawNode:Qan,getVirtualNodeHeight:Jan},eon=function(i,s,u,d){var X,ge;const p=qt(),v=p.leftMargin??50;Xe.debug("timeline",d.db);const b=p.securityLevel;let y;b==="sandbox"&&(y=Ir("#i"+s));const _=Ir(b==="sandbox"?y.nodes()[0].contentDocument.body:"body").select("#"+s);_.append("g");const A=d.db.getTasks(),P=d.db.getCommonDb().getDiagramTitle();Xe.debug("task",A),sS.initGraphics(_);const R=d.db.getSections();Xe.debug("sections",R);let F=0,j=0,K=0,ee=0,ie=50+v,oe=50;ee=50;let pe=0,be=!0;R.forEach(function(W){const xe={number:pe,descr:W,section:pe,width:150,padding:20,maxHeight:F},U=sS.getVirtualNodeHeight(_,xe,p);Xe.debug("sectionHeight before draw",U),F=Math.max(F,U+20)});let ae=0,ne=0;Xe.debug("tasks.length",A.length);for(const[W,xe]of A.entries()){const U={number:W,descr:xe,section:xe.section,width:150,padding:20,maxHeight:j},Fe=sS.getVirtualNodeHeight(_,U,p);Xe.debug("taskHeight before draw",Fe),j=Math.max(j,Fe+20),ae=Math.max(ae,xe.events.length);let Pe=0;for(let je=0;je0?R.forEach(W=>{const xe=A.filter(je=>je.section===W),U={number:pe,descr:W,section:pe,width:200*Math.max(xe.length,1)-50,padding:20,maxHeight:F};Xe.debug("sectionNode",U);const Fe=_.append("g"),Pe=sS.drawNode(Fe,U,pe,p);Xe.debug("sectionNode output",Pe),Fe.attr("transform",`translate(${ie}, ${ee})`),oe+=F+50,xe.length>0&&uWe(_,xe,pe,ie,oe,j,p,ae,ne,F,!1),ie+=200*Math.max(xe.length,1),oe=ee,pe++}):(be=!1,uWe(_,A,pe,ie,oe,j,p,ae,ne,F,!0));const se=_.node().getBBox();Xe.debug("bounds",se),P&&_.append("text").text(P).attr("x",se.width/2-v).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),K=be?F+j+150:j+100,_.append("g").attr("class","lineWrapper").append("line").attr("x1",v).attr("y1",K).attr("x2",se.width+3*v).attr("y2",K).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),y9(void 0,_,((X=p.timeline)==null?void 0:X.padding)??50,((ge=p.timeline)==null?void 0:ge.useMaxWidth)??!1)},uWe=function(i,s,u,d,p,v,b,y,T,_,A){var P;for(const R of s){const F={descr:R.task,section:u,number:u,width:150,padding:20,maxHeight:v};Xe.debug("taskNode",F);const j=i.append("g").attr("class","taskWrapper"),ee=sS.drawNode(j,F,u,b).height;if(Xe.debug("taskHeight after draw",ee),j.attr("transform",`translate(${d}, ${p})`),v=Math.max(v,ee),R.events){const ie=i.append("g").attr("class","lineWrapper");let oe=v;p+=100,oe=oe+ton(i,R.events,u,d,p,b),p-=100,ie.append("line").attr("x1",d+190/2).attr("y1",p+v).attr("x2",d+190/2).attr("y2",p+v+(A?v:_)+T+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}d=d+200,A&&!((P=b.timeline)!=null&&P.disableMulticolor)&&u++}p=p-10},ton=function(i,s,u,d,p,v){let b=0;const y=p;p=p+100;for(const T of s){const _={descr:T,section:u,number:u,width:150,padding:20,maxHeight:50};Xe.debug("eventNode",_);const A=i.append("g").attr("class","eventWrapper"),R=sS.drawNode(A,_,u,v).height;b=b+R,A.attr("transform",`translate(${d}, ${p})`),p=p+10+R}return p=y,b},non={setConf:()=>{},draw:eon},ron=i=>{let s="";for(let u=0;u` + .edge { + stroke-width: 3; + } + ${ron(i)} + .section-root rect, .section-root path, .section-root circle { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`}},Symbol.toStringTag,{value:"Module"}));var ewe=function(){var i=function(be,ae,ne,se){for(ne=ne||{},se=be.length;se--;ne[be[se]]=ae);return ne},s=[1,4],u=[1,13],d=[1,12],p=[1,15],v=[1,16],b=[1,20],y=[1,19],T=[6,7,8],_=[1,26],A=[1,24],P=[1,25],R=[6,7,11],F=[1,6,13,15,16,19,22],j=[1,33],K=[1,34],ee=[1,6,7,11,13,15,16,19,22],ie={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},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,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(ae,ne,se,de,X,ge,W){var xe=ge.length-1;switch(X){case 6:case 7:return de;case 8:de.getLogger().trace("Stop NL ");break;case 9:de.getLogger().trace("Stop EOF ");break;case 11:de.getLogger().trace("Stop NL2 ");break;case 12:de.getLogger().trace("Stop EOF2 ");break;case 15:de.getLogger().info("Node: ",ge[xe].id),de.addNode(ge[xe-1].length,ge[xe].id,ge[xe].descr,ge[xe].type);break;case 16:de.getLogger().trace("Icon: ",ge[xe]),de.decorateNode({icon:ge[xe]});break;case 17:case 21:de.decorateNode({class:ge[xe]});break;case 18:de.getLogger().trace("SPACELIST");break;case 19:de.getLogger().trace("Node: ",ge[xe].id),de.addNode(0,ge[xe].id,ge[xe].descr,ge[xe].type);break;case 20:de.decorateNode({icon:ge[xe]});break;case 25:de.getLogger().trace("node found ..",ge[xe-2]),this.$={id:ge[xe-1],descr:ge[xe-1],type:de.getType(ge[xe-2],ge[xe])};break;case 26:this.$={id:ge[xe],descr:ge[xe],type:de.nodeType.DEFAULT};break;case 27:de.getLogger().trace("node found ..",ge[xe-3]),this.$={id:ge[xe-3],descr:ge[xe-1],type:de.getType(ge[xe-2],ge[xe])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:s},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:s},{6:u,7:[1,10],9:9,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(T,[2,3]),{1:[2,2]},i(T,[2,4]),i(T,[2,5]),{1:[2,6],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:u,9:22,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:_,7:A,10:23,11:P},i(R,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:y}),i(R,[2,18]),i(R,[2,19]),i(R,[2,20]),i(R,[2,21]),i(R,[2,23]),i(R,[2,24]),i(R,[2,26],{19:[1,30]}),{20:[1,31]},{6:_,7:A,10:32,11:P},{1:[2,7],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(F,[2,14],{7:j,11:K}),i(ee,[2,8]),i(ee,[2,9]),i(ee,[2,10]),i(R,[2,15]),i(R,[2,16]),i(R,[2,17]),{20:[1,35]},{21:[1,36]},i(F,[2,13],{7:j,11:K}),i(ee,[2,11]),i(ee,[2,12]),{21:[1,37]},i(R,[2,25]),i(R,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(ae,ne){if(ne.recoverable)this.trace(ae);else{var se=new Error(ae);throw se.hash=ne,se}},parse:function(ae){var ne=this,se=[0],de=[],X=[null],ge=[],W=this.table,xe="",U=0,Fe=0,Pe=2,je=1,Ie=ge.slice.call(arguments,1),Se=Object.create(this.lexer),Ce={yy:{}};for(var ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ke)&&(Ce.yy[ke]=this.yy[ke]);Se.setInput(ae,Ce.yy),Ce.yy.lexer=Se,Ce.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var Ke=Se.yylloc;ge.push(Ke);var Ft=Se.options&&Se.options.ranges;typeof Ce.yy.parseError=="function"?this.parseError=Ce.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ne(){var On;return On=de.pop()||Se.lex()||je,typeof On!="number"&&(On instanceof Array&&(de=On,On=de.pop()),On=ne.symbols_[On]||On),On}for(var gn,_t,Et,Gt,ln={},xt,Pt,Qe,Dt;;){if(_t=se[se.length-1],this.defaultActions[_t]?Et=this.defaultActions[_t]:((gn===null||typeof gn>"u")&&(gn=Ne()),Et=W[_t]&&W[_t][gn]),typeof Et>"u"||!Et.length||!Et[0]){var kt="";Dt=[];for(xt in W[_t])this.terminals_[xt]&&xt>Pe&&Dt.push("'"+this.terminals_[xt]+"'");Se.showPosition?kt="Parse error on line "+(U+1)+`: +`+Se.showPosition()+` +Expecting `+Dt.join(", ")+", got '"+(this.terminals_[gn]||gn)+"'":kt="Parse error on line "+(U+1)+": Unexpected "+(gn==je?"end of input":"'"+(this.terminals_[gn]||gn)+"'"),this.parseError(kt,{text:Se.match,token:this.terminals_[gn]||gn,line:Se.yylineno,loc:Ke,expected:Dt})}if(Et[0]instanceof Array&&Et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_t+", token: "+gn);switch(Et[0]){case 1:se.push(gn),X.push(Se.yytext),ge.push(Se.yylloc),se.push(Et[1]),gn=null,Fe=Se.yyleng,xe=Se.yytext,U=Se.yylineno,Ke=Se.yylloc;break;case 2:if(Pt=this.productions_[Et[1]][1],ln.$=X[X.length-Pt],ln._$={first_line:ge[ge.length-(Pt||1)].first_line,last_line:ge[ge.length-1].last_line,first_column:ge[ge.length-(Pt||1)].first_column,last_column:ge[ge.length-1].last_column},Ft&&(ln._$.range=[ge[ge.length-(Pt||1)].range[0],ge[ge.length-1].range[1]]),Gt=this.performAction.apply(ln,[xe,Fe,U,Ce.yy,Et[1],X,ge].concat(Ie)),typeof Gt<"u")return Gt;Pt&&(se=se.slice(0,-1*Pt*2),X=X.slice(0,-1*Pt),ge=ge.slice(0,-1*Pt)),se.push(this.productions_[Et[1]][0]),X.push(ln.$),ge.push(ln._$),Qe=W[se[se.length-2]][se[se.length-1]],se.push(Qe);break;case 3:return!0}}return!0}},oe=function(){var be={EOF:1,parseError:function(ne,se){if(this.yy.parser)this.yy.parser.parseError(ne,se);else throw new Error(ne)},setInput:function(ae,ne){return this.yy=ne||this.yy||{},this._input=ae,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},input:function(){var ae=this._input[0];this.yytext+=ae,this.yyleng++,this.offset++,this.match+=ae,this.matched+=ae;var ne=ae.match(/(?:\r\n?|\n).*/g);return ne?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ae},unput:function(ae){var ne=ae.length,se=ae.split(/(?:\r\n?|\n)/g);this._input=ae+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ne),this.offset-=ne;var de=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),se.length-1&&(this.yylineno-=se.length-1);var X=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:se?(se.length===de.length?this.yylloc.first_column:0)+de[de.length-se.length].length-se[0].length:this.yylloc.first_column-ne},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-ne]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ae){this.unput(this.match.slice(ae))},pastInput:function(){var ae=this.matched.substr(0,this.matched.length-this.match.length);return(ae.length>20?"...":"")+ae.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ae=this.match;return ae.length<20&&(ae+=this._input.substr(0,20-ae.length)),(ae.substr(0,20)+(ae.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ae=this.pastInput(),ne=new Array(ae.length+1).join("-");return ae+this.upcomingInput()+` +`+ne+"^"},test_match:function(ae,ne){var se,de,X;if(this.options.backtrack_lexer&&(X={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&&(X.yylloc.range=this.yylloc.range.slice(0))),de=ae[0].match(/(?:\r\n?|\n).*/g),de&&(this.yylineno+=de.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:de?de[de.length-1].length-de[de.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ae[0].length},this.yytext+=ae[0],this.match+=ae[0],this.matches=ae,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(ae[0].length),this.matched+=ae[0],se=this.performAction.call(this,this.yy,this,ne,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var ge in X)this[ge]=X[ge];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ae,ne,se,de;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),ge=0;gene[0].length)){if(ne=se,de=ge,this.options.backtrack_lexer){if(ae=this.test_match(se,X[ge]),ae!==!1)return ae;if(this._backtrack){ne=!1;continue}else return!1}else if(!this.options.flex)break}return ne?(ae=this.test_match(ne,X[de]),ae!==!1?ae:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ne=this.next();return ne||this.lex()},begin:function(ne){this.conditionStack.push(ne)},popState:function(){var ne=this.conditionStack.length-1;return ne>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ne){return ne=this.conditionStack.length-1-Math.abs(ne||0),ne>=0?this.conditionStack[ne]:"INITIAL"},pushState:function(ne){this.begin(ne)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ne,se,de,X){switch(de){case 0:return ne.getLogger().trace("Found comment",se.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:ne.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return ne.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:ne.getLogger().trace("end icon"),this.popState();break;case 10:return ne.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return ne.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return ne.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return ne.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:ne.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return ne.getLogger().trace("description:",se.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),ne.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),ne.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),ne.getLogger().trace("node end ...",se.yytext),"NODE_DEND";case 30:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 35:return ne.getLogger().trace("Long description:",se.yytext),20;case 36:return ne.getLogger().trace("Long description:",se.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\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:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return be}();ie.lexer=oe;function pe(){this.yy={}}return pe.prototype=ie,ie.Parser=pe,new pe}();ewe.parser=ewe;const son=ewe;let K3=[],lWe=0,twe={};const aon=()=>{K3=[],lWe=0,twe={}},oon=function(i){for(let s=K3.length-1;s>=0;s--)if(K3[s].levelK3.length>0?K3[0]:null,uon=(i,s,u,d)=>{var T,_;Xe.info("addNode",i,s,u,d);const p=qt();let v=((T=p.mindmap)==null?void 0:T.padding)??sh.mindmap.padding;switch(d){case v1.ROUNDED_RECT:case v1.RECT:case v1.HEXAGON:v*=2}const b={id:lWe++,nodeId:Yf(s,p),level:i,descr:Yf(u,p),type:d,children:[],width:((_=p.mindmap)==null?void 0:_.maxNodeWidth)??sh.mindmap.maxNodeWidth,padding:v},y=oon(i);if(y)y.children.push(b),K3.push(b);else if(K3.length===0)K3.push(b);else throw new Error('There can be only one root. No parent could be found for ("'+b.descr+'")')},v1={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},lon={clear:aon,addNode:uon,getMindmap:con,nodeType:v1,getType:(i,s)=>{switch(Xe.debug("In get type",i,s),i){case"[":return v1.RECT;case"(":return s===")"?v1.ROUNDED_RECT:v1.CLOUD;case"((":return v1.CIRCLE;case")":return v1.CLOUD;case"))":return v1.BANG;case"{{":return v1.HEXAGON;default:return v1.DEFAULT}},setElementForId:(i,s)=>{twe[i]=s},decorateNode:i=>{if(!i)return;const s=qt(),u=K3[K3.length-1];i.icon&&(u.icon=Yf(i.icon,s)),i.class&&(u.class=Yf(i.class,s))},type2Str:i=>{switch(i){case v1.DEFAULT:return"no-border";case v1.RECT:return"rect";case v1.ROUNDED_RECT:return"rounded-rect";case v1.CIRCLE:return"circle";case v1.CLOUD:return"cloud";case v1.BANG:return"bang";case v1.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>Xe,getElementById:i=>twe[i]};var hWe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(Ag,function(){function u(x){"@babel/helpers - typeof";return u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},u(x)}function d(x,m){if(!(x instanceof m))throw new TypeError("Cannot call a class as a function")}function p(x,m){for(var k=0;kx.length)&&(m=x.length);for(var k=0,S=new Array(m);k"u"?null:window,j=F?F.navigator:null;F&&F.document;var K=u(""),ee=u({}),ie=u(function(){}),oe=typeof HTMLElement>"u"?"undefined":u(HTMLElement),pe=function(m){return m&&m.instanceString&&ae(m.instanceString)?m.instanceString():null},be=function(m){return m!=null&&u(m)==K},ae=function(m){return m!=null&&u(m)===ie},ne=function(m){return!xe(m)&&(Array.isArray?Array.isArray(m):m!=null&&m instanceof Array)},se=function(m){return m!=null&&u(m)===ee&&!ne(m)&&m.constructor===Object},de=function(m){return m!=null&&u(m)===ee},X=function(m){return m!=null&&u(m)===u(1)&&!isNaN(m)},ge=function(m){return X(m)&&Math.floor(m)===m},W=function(m){if(oe!=="undefined")return m!=null&&m instanceof HTMLElement},xe=function(m){return U(m)||Fe(m)},U=function(m){return pe(m)==="collection"&&m._private.single},Fe=function(m){return pe(m)==="collection"&&!m._private.single},Pe=function(m){return pe(m)==="core"},je=function(m){return pe(m)==="stylesheet"},Ie=function(m){return pe(m)==="event"},Se=function(m){return m==null?!0:!!(m===""||m.match(/^\s+$/))},Ce=function(m){return typeof HTMLElement>"u"?!1:m instanceof HTMLElement},ke=function(m){return se(m)&&X(m.x1)&&X(m.x2)&&X(m.y1)&&X(m.y2)},Ke=function(m){return de(m)&&ae(m.then)},Ft=function(){return j&&j.userAgent.match(/msie|trident|edge/i)},Ne=function(m,k){k||(k=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],N=0;Nk?1:0},zr=function(m,k){return-1*ht(m,k)},yt=Object.assign!=null?Object.assign.bind(Object):function(x){for(var m=arguments,k=1;k1&&(_e-=1),_e<1/6?me+(Le-me)*6*_e:_e<1/2?Le:_e<2/3?me+(Le-me)*(2/3-_e)*6:me}var Z=new RegExp("^"+Qe+"$").exec(m);if(Z){if(S=parseInt(Z[1]),S<0?S=(360- -1*S%360)%360:S>360&&(S=S%360),S/=360,M=parseFloat(Z[2]),M<0||M>100||(M=M/100,O=parseFloat(Z[3]),O<0||O>100)||(O=O/100,N=Z[4],N!==void 0&&(N=parseFloat(N),N<0||N>1)))return;if(M===0)$=H=q=Math.round(O*255);else{var ce=O<.5?O*(1+M):O+M-O*M,ve=2*O-ce;$=Math.round(255*Y(ve,ce,S+1/3)),H=Math.round(255*Y(ve,ce,S)),q=Math.round(255*Y(ve,ce,S-1/3))}k=[$,H,q,N]}return k},Ma=function(m){var k,S=new RegExp("^"+xt+"$").exec(m);if(S){k=[];for(var M=[],O=1;O<=3;O++){var N=S[O];if(N[N.length-1]==="%"&&(M[O]=!0),N=parseFloat(N),M[O]&&(N=N/100*255),N<0||N>255)return;k.push(Math.floor(N))}var $=M[1]||M[2]||M[3],H=M[1]&&M[2]&&M[3];if($&&!H)return;var q=S[4];if(q!==void 0){if(q=parseFloat(q),q<0||q>1)return;k.push(q)}}return k},zs=function(m){return Tr[m.toLowerCase()]},ao=function(m){return(ne(m)?m:null)||zs(m)||ji(m)||Ma(m)||xi(m)},Tr={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Fn=function(m){for(var k=m.map,S=m.keys,M=S.length,O=0;O=m||Ye<0||Z&&mt>=O}function Ee(){var st=wo();if(_e(st))return Be(st);$=setTimeout(Ee,Le(st))}function Be(st){return $=void 0,ce&&S?ve(st):(S=M=void 0,N)}function Re(){$!==void 0&&clearTimeout($),q=0,S=H=M=$=void 0}function Ve(){return $===void 0?N:Be(wo())}function ct(){var st=wo(),Ye=_e(st);if(S=arguments,M=this,H=st,Ye){if($===void 0)return me(H);if(Z)return clearTimeout($),$=setTimeout(Ee,m),ve(H)}return $===void 0&&($=setTimeout(Ee,m)),N}return ct.cancel=Re,ct.flush=Ve,ct}var Nu=Bi,Ot=F?F.performance:null,W3=Ot&&Ot.now?function(){return Ot.now()}:function(){return Date.now()},Kt=function(){if(F){if(F.requestAnimationFrame)return function(x){F.requestAnimationFrame(x)};if(F.mozRequestAnimationFrame)return function(x){F.mozRequestAnimationFrame(x)};if(F.webkitRequestAnimationFrame)return function(x){F.webkitRequestAnimationFrame(x)};if(F.msRequestAnimationFrame)return function(x){F.msRequestAnimationFrame(x)}}return function(x){x&&setTimeout(function(){x(W3())},1e3/60)}}(),z0=function(m){return Kt(m)},Bp=W3,Y3=9261,$9=65599,c5=5381,Eh=function(m){for(var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Y3,S=k,M;M=m.next(),!M.done;)S=S*$9+M.value|0;return S},zg=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Y3;return k*$9+m|0},bm=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c5;return(k<<5)+k+m|0},z9=function(m,k){return m*2097152+k},mm=function(m){return m[0]*2097152+m[1]},u5=function(m,k){return[zg(m[0],k[0]),bm(m[1],k[1])]},y1=function(m,k){var S={value:0,done:!1},M=0,O=m.length,N={next:function(){return M=0&&!(m[M]===k&&(m.splice(M,1),S));M--);},cS=function(m){m.splice(0,m.length)},uj=function(m,k){for(var S=0;S"u"?"undefined":u(Set))!==VJ?Set:UJ,uS=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(m===void 0||k===void 0||!Pe(m)){ch("An element must have a core reference and parameters set");return}var M=k.group;if(M==null&&(k.data&&k.data.source!=null&&k.data.target!=null?M="edges":M="nodes"),M!=="nodes"&&M!=="edges"){ch("An element must be of type `nodes` or `edges`; you specified `"+M+"`");return}this.length=1,this[0]=this;var O=this._private={cy:m,single:!0,data:k.data||{},position:k.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:M,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!k.selected,selectable:k.selectable===void 0?!0:!!k.selectable,locked:!!k.locked,grabbed:!1,grabbable:k.grabbable===void 0?!0:!!k.grabbable,pannable:k.pannable===void 0?M==="edges":!!k.pannable,active:!1,classes:new Q7,animation:{current:[],queue:[]},rscratch:{},scratch:k.scratch||{},edges:[],children:[],parent:k.parent&&k.parent.isNode()?k.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),k.renderedPosition){var N=k.renderedPosition,$=m.pan(),H=m.zoom();O.position={x:(N.x-$.x)/H,y:(N.y-$.y)/H}}var q=[];ne(k.classes)?q=k.classes:be(k.classes)&&(q=k.classes.split(/\s+/));for(var Y=0,Z=q.length;YBe?1:0},Y=function(Ee,Be,Re,Ve,ct){var st;if(Re==null&&(Re=0),ct==null&&(ct=S),Re<0)throw new Error("lo must be non-negative");for(Ve==null&&(Ve=Ee.length);ReLt;0<=Lt?Je++:Je--)mt.push(Je);return mt}).apply(this).reverse(),Ye=[],Ve=0,ct=st.length;VeMt;0<=Mt?++mt:--mt)ut.push(N(Ee,Re));return ut},Le=function(Ee,Be,Re,Ve){var ct,st,Ye;for(Ve==null&&(Ve=S),ct=Ee[Re];Re>Be;){if(Ye=Re-1>>1,st=Ee[Ye],Ve(ct,st)<0){Ee[Re]=st,Re=Ye;continue}break}return Ee[Re]=ct},_e=function(Ee,Be,Re){var Ve,ct,st,Ye,mt;for(Re==null&&(Re=S),ct=Ee.length,mt=Be,st=Ee[Be],Ve=2*Be+1;Ve0;){var st=Be.pop(),Ye=_e(st),mt=st.id();if(ce[mt]=Ye,Ye!==1/0)for(var Je=st.neighborhood().intersect(me),Lt=0;Lt0)for(Dn.unshift(Yt);Z[vr];){var Nn=Z[vr];Dn.unshift(Nn.edge),Dn.unshift(Nn.node),ir=Nn.node,vr=ir.id()}return $.spawn(Dn)}}}},YJ={kruskal:function(m){m=m||function(Re){return 1};for(var k=this.byGroup(),S=k.nodes,M=k.edges,O=S.length,N=new Array(O),$=S,H=function(Ve){for(var ct=0;ct0;){if(ct(),Ye++,Ve===Y){for(var mt=[],Je=O,Lt=Y,Mt=Ee[Lt];mt.unshift(Je),Mt!=null&&mt.unshift(Mt),Je=_e[Lt],Je!=null;)Lt=Je.id(),Mt=Ee[Lt];return{found:!0,distance:Z[Ve],path:this.spawn(mt),steps:Ye}}ve[Ve]=!0;for(var ut=Re._private.edges,Wt=0;WtMt&&(me[Lt]=Mt,Be[Lt]=Je,Re[Lt]=ct),!O){var ut=Je*Y+mt;!O&&me[ut]>Mt&&(me[ut]=Mt,Be[ut]=mt,Re[ut]=ct)}}}for(var Wt=0;Wt1&&arguments[1]!==void 0?arguments[1]:N,yo=Re(xs),$a=[],Da=yo;;){if(Da==null)return k.spawn();var Bo=Be(Da),tr=Bo.edge,G=Bo.pred;if($a.unshift(Da[0]),Da.same(Rs)&&$a.length>0)break;tr!=null&&$a.unshift(tr),Da=G}return H.spawn($a)},st=0;st=0;Y--){var Z=q[Y],ce=Z[1],ve=Z[2];(k[ce]===$&&k[ve]===H||k[ce]===H&&k[ve]===$)&&q.splice(Y,1)}for(var me=0;meM;){var O=Math.floor(Math.random()*k.length);k=rZ(O,m,k),S--}return k},iZ={kargerStein:function(){var m=this,k=this.byGroup(),S=k.nodes,M=k.edges;M.unmergeBy(function(Dn){return Dn.isLoop()});var O=S.length,N=M.length,$=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),H=Math.floor(O/nZ);if(O<2){ch("At least 2 nodes are required for Karger-Stein algorithm");return}for(var q=[],Y=0;Y1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=1/0,O=k;O1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=-1/0,O=k;O1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=0,O=0,N=k;N1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;M?m=m.slice(k,S):(S0&&m.splice(0,k));for(var $=0,H=m.length-1;H>=0;H--){var q=m[H];N?isFinite(q)||(m[H]=-1/0,$++):m.splice(H,1)}O&&m.sort(function(ce,ve){return ce-ve});var Y=m.length,Z=Math.floor(Y/2);return Y%2!==0?m[Z+1+$]:(m[Z-1+$]+m[Z+$])/2},lZ=function(m){return Math.PI*m/180},hS=function(m,k){return Math.atan2(k,m)-Math.PI/2},iI=Math.log2||function(x){return Math.log(x)/Math.log(2)},fj=function(m){return m>0?1:m<0?-1:0},h5=function(m,k){return Math.sqrt(f5(m,k))},f5=function(m,k){var S=k.x-m.x,M=k.y-m.y;return S*S+M*M},hZ=function(m){for(var k=m.length,S=0,M=0;M=m.x1&&m.y2>=m.y1)return{x1:m.x1,y1:m.y1,x2:m.x2,y2:m.y2,w:m.x2-m.x1,h:m.y2-m.y1};if(m.w!=null&&m.h!=null&&m.w>=0&&m.h>=0)return{x1:m.x1,y1:m.y1,x2:m.x1+m.w,y2:m.y1+m.h,w:m.w,h:m.h}}},dZ=function(m){return{x1:m.x1,x2:m.x2,w:m.w,y1:m.y1,y2:m.y2,h:m.h}},gZ=function(m){m.x1=1/0,m.y1=1/0,m.x2=-1/0,m.y2=-1/0,m.w=0,m.h=0},pZ=function(m,k,S){return{x1:m.x1+k,x2:m.x2+k,y1:m.y1+S,y2:m.y2+S,w:m.w,h:m.h}},dj=function(m,k){m.x1=Math.min(m.x1,k.x1),m.x2=Math.max(m.x2,k.x2),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,k.y1),m.y2=Math.max(m.y2,k.y2),m.h=m.y2-m.y1},bZ=function(m,k,S){m.x1=Math.min(m.x1,k),m.x2=Math.max(m.x2,k),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,S),m.y2=Math.max(m.y2,S),m.h=m.y2-m.y1},fS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m.x1-=k,m.x2+=k,m.y1-=k,m.y2+=k,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},dS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],S,M,O,N;if(k.length===1)S=M=O=N=k[0];else if(k.length===2)S=O=k[0],N=M=k[1];else if(k.length===4){var $=y(k,4);S=$[0],M=$[1],O=$[2],N=$[3]}return m.x1-=N,m.x2+=M,m.y1-=S,m.y2+=O,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},gj=function(m,k){m.x1=k.x1,m.y1=k.y1,m.x2=k.x2,m.y2=k.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1},sI=function(m,k){return!(m.x1>k.x2||k.x1>m.x2||m.x2k.y2||k.y1>m.y2)},e8=function(m,k,S){return m.x1<=k&&k<=m.x2&&m.y1<=S&&S<=m.y2},mZ=function(m,k){return e8(m,k.x,k.y)},pj=function(m,k){return e8(m,k.x1,k.y1)&&e8(m,k.x2,k.y2)},bj=function(m,k,S,M,O,N,$){var H=W9(O,N),q=O/2,Y=N/2,Z;{var ce=S-q+H-$,ve=M-Y-$,me=S+q-H+$,Le=ve;if(Z=Z3(m,k,S,M,ce,ve,me,Le,!1),Z.length>0)return Z}{var _e=S+q+$,Ee=M-Y+H-$,Be=_e,Re=M+Y-H+$;if(Z=Z3(m,k,S,M,_e,Ee,Be,Re,!1),Z.length>0)return Z}{var Ve=S-q+H-$,ct=M+Y+$,st=S+q-H+$,Ye=ct;if(Z=Z3(m,k,S,M,Ve,ct,st,Ye,!1),Z.length>0)return Z}{var mt=S-q-$,Je=M-Y+H-$,Lt=mt,Mt=M+Y-H+$;if(Z=Z3(m,k,S,M,mt,Je,Lt,Mt,!1),Z.length>0)return Z}var ut;{var Wt=S-q+H,Tt=M-Y+H;if(ut=G9(m,k,S,M,Wt,Tt,H+$),ut.length>0&&ut[0]<=Wt&&ut[1]<=Tt)return[ut[0],ut[1]]}{var _n=S+q-H,hn=M-Y+H;if(ut=G9(m,k,S,M,_n,hn,H+$),ut.length>0&&ut[0]>=_n&&ut[1]<=hn)return[ut[0],ut[1]]}{var Yt=S+q-H,Dn=M+Y-H;if(ut=G9(m,k,S,M,Yt,Dn,H+$),ut.length>0&&ut[0]>=Yt&&ut[1]>=Dn)return[ut[0],ut[1]]}{var ir=S-q+H,vr=M+Y-H;if(ut=G9(m,k,S,M,ir,vr,H+$),ut.length>0&&ut[0]<=ir&&ut[1]>=vr)return[ut[0],ut[1]]}return[]},vZ=function(m,k,S,M,O,N,$){var H=$,q=Math.min(S,O),Y=Math.max(S,O),Z=Math.min(M,N),ce=Math.max(M,N);return q-H<=m&&m<=Y+H&&Z-H<=k&&k<=ce+H},wZ=function(m,k,S,M,O,N,$,H,q){var Y={x1:Math.min(S,$,O)-q,x2:Math.max(S,$,O)+q,y1:Math.min(M,H,N)-q,y2:Math.max(M,H,N)+q};return!(mY.x2||kY.y2)},yZ=function(m,k,S,M){S-=M;var O=k*k-4*m*S;if(O<0)return[];var N=Math.sqrt(O),$=2*m,H=(-k+N)/$,q=(-k-N)/$;return[H,q]},xZ=function(m,k,S,M,O){var N=1e-5;m===0&&(m=N),k/=m,S/=m,M/=m;var $,H,q,Y,Z,ce,ve,me;if(H=(3*S-k*k)/9,q=-(27*M)+k*(9*S-2*(k*k)),q/=54,$=H*H*H+q*q,O[1]=0,ve=k/3,$>0){Z=q+Math.sqrt($),Z=Z<0?-Math.pow(-Z,1/3):Math.pow(Z,1/3),ce=q-Math.sqrt($),ce=ce<0?-Math.pow(-ce,1/3):Math.pow(ce,1/3),O[0]=-ve+Z+ce,ve+=(Z+ce)/2,O[4]=O[2]=-ve,ve=Math.sqrt(3)*(-ce+Z)/2,O[3]=ve,O[5]=-ve;return}if(O[5]=O[3]=0,$===0){me=q<0?-Math.pow(-q,1/3):Math.pow(q,1/3),O[0]=-ve+2*me,O[4]=O[2]=-(me+ve);return}H=-H,Y=H*H*H,Y=Math.acos(q/Math.sqrt(Y)),me=2*Math.sqrt(H),O[0]=-ve+me*Math.cos(Y/3),O[2]=-ve+me*Math.cos((Y+2*Math.PI)/3),O[4]=-ve+me*Math.cos((Y+4*Math.PI)/3)},kZ=function(m,k,S,M,O,N,$,H){var q=1*S*S-4*S*O+2*S*$+4*O*O-4*O*$+$*$+M*M-4*M*N+2*M*H+4*N*N-4*N*H+H*H,Y=1*9*S*O-3*S*S-3*S*$-6*O*O+3*O*$+9*M*N-3*M*M-3*M*H-6*N*N+3*N*H,Z=1*3*S*S-6*S*O+S*$-S*m+2*O*O+2*O*m-$*m+3*M*M-6*M*N+M*H-M*k+2*N*N+2*N*k-H*k,ce=1*S*O-S*S+S*m-O*m+M*N-M*M+M*k-N*k,ve=[];xZ(q,Y,Z,ce,ve);for(var me=1e-7,Le=[],_e=0;_e<6;_e+=2)Math.abs(ve[_e+1])=0&&ve[_e]<=1&&Le.push(ve[_e]);Le.push(1),Le.push(0);for(var Ee=-1,Be,Re,Ve,ct=0;ct=0?Veq?(m-O)*(m-O)+(k-N)*(k-N):Y-ce},Yd=function(m,k,S){for(var M,O,N,$,H,q=0,Y=0;Y=m&&m>=N||M<=m&&m<=N)H=(m-M)/(N-M)*($-O)+O,H>k&&q++;else continue;return q%2!==0},Uv=function(m,k,S,M,O,N,$,H,q){var Y=new Array(S.length),Z;H[0]!=null?(Z=Math.atan(H[1]/H[0]),H[0]<0?Z=Z+Math.PI/2:Z=-Z-Math.PI/2):Z=H;for(var ce=Math.cos(-Z),ve=Math.sin(-Z),me=0;me0){var _e=pS(Y,-q);Le=gS(_e)}else Le=Y;return Yd(m,k,Le)},TZ=function(m,k,S,M,O,N,$){for(var H=new Array(S.length),q=N/2,Y=$/2,Z=cI(N,$),ce=Z*Z,ve=0;ve=0&&_e<=1&&Be.push(_e),Ee>=0&&Ee<=1&&Be.push(Ee),Be.length===0)return[];var Re=Be[0]*H[0]+m,Ve=Be[0]*H[1]+k;if(Be.length>1){if(Be[0]==Be[1])return[Re,Ve];var ct=Be[1]*H[0]+m,st=Be[1]*H[1]+k;return[Re,Ve,ct,st]}else return[Re,Ve]},aI=function(m,k,S){return k<=m&&m<=S||S<=m&&m<=k?m:m<=k&&k<=S||S<=k&&k<=m?k:S},Z3=function(m,k,S,M,O,N,$,H,q){var Y=m-O,Z=S-m,ce=$-O,ve=k-N,me=M-k,Le=H-N,_e=ce*ve-Le*Y,Ee=Z*ve-me*Y,Be=Le*Z-ce*me;if(Be!==0){var Re=_e/Be,Ve=Ee/Be,ct=.001,st=0-ct,Ye=1+ct;return st<=Re&&Re<=Ye&&st<=Ve&&Ve<=Ye?[m+Re*Z,k+Re*me]:q?[m+Re*Z,k+Re*me]:[]}else return _e===0||Ee===0?aI(m,S,$)===$?[$,H]:aI(m,S,O)===O?[O,N]:aI(O,$,S)===S?[S,M]:[]:[]},K9=function(m,k,S,M,O,N,$,H){var q=[],Y,Z=new Array(S.length),ce=!0;N==null&&(ce=!1);var ve;if(ce){for(var me=0;me0){var Le=pS(Z,-H);ve=gS(Le)}else ve=Z}else ve=S;for(var _e,Ee,Be,Re,Ve=0;Ve2){for(var hn=[q[0],q[1]],Yt=Math.pow(hn[0]-m,2)+Math.pow(hn[1]-k,2),Dn=1;DnY&&(Y=Ve)},get:function(Re){return q[Re]}},ce=0;ce<$.length;ce++){var ve=$[ce],me=ve.id();S?H[me]=ve.outgoers().nodes():H[me]=ve.openNeighborhood().nodes(),Z.set(me,0)}for(var Le=function(Re){for(var Ve=$[Re].id(),ct=[],st={},Ye={},mt={},Je=new V9(function(Cr,Or){return mt[Cr]-mt[Or]}),Lt=0;Lt<$.length;Lt++){var Mt=$[Lt].id();st[Mt]=[],Ye[Mt]=0,mt[Mt]=1/0}for(Ye[Ve]=1,mt[Ve]=0,Je.push(Ve);!Je.empty();){var ut=Je.pop();if(ct.push(ut),O)for(var Wt=0;Wt0?hn=_n.edgesTo(Tt)[0]:hn=Tt.edgesTo(_n)[0];var Yt=M(hn);Tt=Tt.id(),mt[Tt]>mt[ut]+Yt&&(mt[Tt]=mt[ut]+Yt,Je.nodes.indexOf(Tt)<0?Je.push(Tt):Je.updateItem(Tt),Ye[Tt]=0,st[Tt]=[]),mt[Tt]==mt[ut]+Yt&&(Ye[Tt]=Ye[Tt]+Ye[ut],st[Tt].push(ut))}else for(var Dn=0;Dn0;){for(var pr=ct.pop(),Er=0;Er0&&$.push(S[H]);$.length!==0&&O.push(M.collection($))}return O},jZ=function(m,k){for(var S=0;S5&&arguments[5]!==void 0?arguments[5]:qZ,$=M,H,q,Y=0;Y=2?Y9(m,k,S,0,Sj,HZ):Y9(m,k,S,0,Cj)},squaredEuclidean:function(m,k,S){return Y9(m,k,S,0,Sj)},manhattan:function(m,k,S){return Y9(m,k,S,0,Cj)},max:function(m,k,S){return Y9(m,k,S,-1/0,VZ)}};r8["squared-euclidean"]=r8.squaredEuclidean,r8.squaredeuclidean=r8.squaredEuclidean;function mS(x,m,k,S,M,O){var N;return ae(x)?N=x:N=r8[x]||r8.euclidean,m===0&&ae(x)?N(M,O):N(m,k,S,M,O)}var UZ=q0({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hI=function(m){return UZ(m)},vS=function(m,k,S,M,O){var N=O!=="kMedoids",$=N?function(Z){return S[Z]}:function(Z){return M[Z](S)},H=function(ce){return M[ce](k)},q=S,Y=k;return mS(m,M.length,$,H,q,Y)},fI=function(m,k,S){for(var M=S.length,O=new Array(M),N=new Array(M),$=new Array(k),H=null,q=0;qS)return!1}return!0},WZ=function(m,k,S){for(var M=0;M$&&($=k[q][Y],H=Y);O[H].push(m[q])}for(var Z=0;Z=O.threshold||O.mode==="dendrogram"&&m.length===1)return!1;var me=k[N],Le=k[M[N]],_e;O.mode==="dendrogram"?_e={left:me,right:Le,key:me.key}:_e={value:me.value.concat(Le.value),key:me.key},m[me.index]=_e,m.splice(Le.index,1),k[me.key]=_e;for(var Ee=0;EeS[Le.key][Be.key]&&(H=S[Le.key][Be.key])):O.linkage==="max"?(H=S[me.key][Be.key],S[me.key][Be.key]0&&M.push(O);return M},Nj=function(m,k,S){for(var M=[],O=0;O$&&(N=q,$=k[O*m+q])}N>0&&M.push(N)}for(var Y=0;Yq&&(H=Y,q=Z)}S[O]=N[H]}return M=Nj(m,k,S),M},Pj=function(m){for(var k=this.cy(),S=this.nodes(),M=cee(m),O={},N=0;N=Mt?(ut=Mt,Mt=Tt,Wt=_n):Tt>ut&&(ut=Tt);for(var hn=0;hn<$;hn++)Z[Lt*$+hn]=(1-M.damping)*(q[Lt*$+hn]-Mt)+M.damping*Re[hn];Z[Lt*$+Wt]=(1-M.damping)*(q[Lt*$+Wt]-ut)+M.damping*Re[Wt]}for(var Yt=0;Yt<$;Yt++){for(var Dn=0,ir=0;ir<$;ir++)Re[ir]=ce[ir*$+Yt],Ve[ir]=Math.max(0,Z[ir*$+Yt]),Dn+=Ve[ir];Dn-=Ve[Yt],Ve[Yt]=Z[Yt*$+Yt],Dn+=Ve[Yt];for(var vr=0;vr<$;vr++)ce[vr*$+Yt]=(1-M.damping)*Math.min(0,Dn-Ve[vr])+M.damping*Re[vr];ce[Yt*$+Yt]=(1-M.damping)*(Dn-Ve[Yt])+M.damping*Re[Yt]}for(var Nn=0,pr=0;pr<$;pr++){var Er=ce[pr*$+pr]+Z[pr*$+pr]>0?1:0;Ye[Je%M.minIterations*$+pr]=Er,Nn+=Er}if(Nn>0&&(Je>=M.minIterations-1||Je==M.maxIterations-1)){for(var Mr=0,Cr=0;Cr<$;Cr++){ct[Cr]=0;for(var Or=0;Or1||st>1)&&($=!0),Z[Re]=[],Be.outgoers().forEach(function(mt){mt.isEdge()&&Z[Re].push(mt.id())})}else ce[Re]=[void 0,Be.target().id()]}):N.forEach(function(Be){var Re=Be.id();if(Be.isNode()){var Ve=Be.degree(!0);Ve%2&&(H?q?$=!0:q=Re:H=Re),Z[Re]=[],Be.connectedEdges().forEach(function(ct){return Z[Re].push(ct.id())})}else ce[Re]=[Be.source().id(),Be.target().id()]});var ve={found:!1,trail:void 0};if($)return ve;if(q&&H)if(O){if(Y&&q!=Y)return ve;Y=q}else{if(Y&&q!=Y&&H!=Y)return ve;Y||(Y=q)}else Y||(Y=N[0].id());var me=function(Re){for(var Ve=Re,ct=[Re],st,Ye,mt;Z[Ve].length;)st=Z[Ve].shift(),Ye=ce[st][0],mt=ce[st][1],Ve!=mt?(Z[mt]=Z[mt].filter(function(Je){return Je!=st}),Ve=mt):!O&&Ve!=Ye&&(Z[Ye]=Z[Ye].filter(function(Je){return Je!=st}),Ve=Ye),ct.unshift(st),ct.unshift(Ve);return ct},Le=[],_e=[];for(_e=me(Y);_e.length!=1;)Z[_e[0]].length==0?(Le.unshift(N.getElementById(_e.shift())),Le.unshift(N.getElementById(_e.shift()))):_e=me(_e.shift()).concat(_e);Le.unshift(N.getElementById(_e.shift()));for(var Ee in Z)if(Z[Ee].length)return ve;return ve.found=!0,ve.trail=this.spawn(Le,!0),ve}},yS=function(){var m=this,k={},S=0,M=0,O=[],N=[],$={},H=function(ce,ve){for(var me=N.length-1,Le=[],_e=m.spawn();N[me].x!=ce||N[me].y!=ve;)Le.push(N.pop().edge),me--;Le.push(N.pop().edge),Le.forEach(function(Ee){var Be=Ee.connectedNodes().intersection(m);_e.merge(Ee),Be.forEach(function(Re){var Ve=Re.id(),ct=Re.connectedEdges().intersection(m);_e.merge(Re),k[Ve].cutVertex?_e.merge(ct.filter(function(st){return st.isLoop()})):_e.merge(ct)})}),O.push(_e)},q=function Z(ce,ve,me){ce===me&&(M+=1),k[ve]={id:S,low:S++,cutVertex:!1};var Le=m.getElementById(ve).connectedEdges().intersection(m);if(Le.size()===0)O.push(m.spawn(m.getElementById(ve)));else{var _e,Ee,Be,Re;Le.forEach(function(Ve){_e=Ve.source().id(),Ee=Ve.target().id(),Be=_e===ve?Ee:_e,Be!==me&&(Re=Ve.id(),$[Re]||($[Re]=!0,N.push({x:ve,y:Be,edge:Ve})),Be in k?k[ve].low=Math.min(k[ve].low,k[Be].id):(Z(ce,Be,ve),k[ve].low=Math.min(k[ve].low,k[Be].low),k[ve].id<=k[Be].low&&(k[ve].cutVertex=!0,H(ve,Be))))})}};m.forEach(function(Z){if(Z.isNode()){var ce=Z.id();ce in k||(M=0,q(ce,ce),k[ce].cutVertex=M>1)}});var Y=Object.keys(k).filter(function(Z){return k[Z].cutVertex}).map(function(Z){return m.getElementById(Z)});return{cut:m.spawn(Y),components:O}},bee={hopcroftTarjanBiconnected:yS,htbc:yS,htb:yS,hopcroftTarjanBiconnectedComponents:yS},xS=function(){var m=this,k={},S=0,M=[],O=[],N=m.spawn(m),$=function H(q){O.push(q),k[q]={index:S,low:S++,explored:!1};var Y=m.getElementById(q).connectedEdges().intersection(m);if(Y.forEach(function(Le){var _e=Le.target().id();_e!==q&&(_e in k||H(_e),k[_e].explored||(k[q].low=Math.min(k[q].low,k[_e].low)))}),k[q].index===k[q].low){for(var Z=m.spawn();;){var ce=O.pop();if(Z.merge(m.getElementById(ce)),k[ce].low=k[q].index,k[ce].explored=!0,ce===q)break}var ve=Z.edgesWith(Z),me=Z.merge(ve);M.push(me),N=N.difference(me)}};return m.forEach(function(H){if(H.isNode()){var q=H.id();q in k||$(q)}}),{cut:N,components:M}},mee={tarjanStronglyConnected:xS,tsc:xS,tscc:xS,tarjanStronglyConnectedComponents:xS},Bj={};[H9,WJ,YJ,QJ,ZJ,tZ,iZ,LZ,t8,n8,lI,zZ,eee,aee,dee,pee,bee,mee].forEach(function(x){yt(Bj,x)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var Fj=0,Rj=1,jj=2,Gv=function x(m){if(!(this instanceof x))return new x(m);this.id="Thenable/1.0.7",this.state=Fj,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof m=="function"&&m.call(this,this.fulfill.bind(this),this.reject.bind(this))};Gv.prototype={fulfill:function(m){return $j(this,Rj,"fulfillValue",m)},reject:function(m){return $j(this,jj,"rejectReason",m)},then:function(m,k){var S=this,M=new Gv;return S.onFulfilled.push(Hj(m,M,"fulfill")),S.onRejected.push(Hj(k,M,"reject")),zj(S),M.proxy}};var $j=function(m,k,S,M){return m.state===Fj&&(m.state=k,m[S]=M,zj(m)),m},zj=function(m){m.state===Rj?qj(m,"onFulfilled",m.fulfillValue):m.state===jj&&qj(m,"onRejected",m.rejectReason)},qj=function(m,k,S){if(m[k].length!==0){var M=m[k];m[k]=[];var O=function(){for(var $=0;$0}},clearQueue:function(){return function(){var k=this,S=k.length!==void 0,M=S?k:[k],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var N=0;N-1}var vte=mte;function wte(x,m){var k=this.__data__,S=TS(k,x);return S<0?(++this.size,k.push([x,m])):k[S][1]=m,this}var yte=wte;function a8(x){var m=-1,k=x==null?0:x.length;for(this.clear();++m-1&&x%1==0&&x0&&this.spawn(M).updateStyle().emit("class"),k},addClass:function(m){return this.toggleClass(m,!0)},hasClass:function(m){var k=this[0];return k!=null&&k._private.classes.has(m)},toggleClass:function(m,k){ne(m)||(m=m.match(/\S+/g)||[]);for(var S=this,M=k===void 0,O=[],N=0,$=S.length;N<$;N++)for(var H=S[N],q=H._private.classes,Y=!1,Z=0;Z0&&this.spawn(O).updateStyle().emit("class"),S},removeClass:function(m){return this.toggleClass(m,!1)},flashClass:function(m,k){var S=this;if(k==null)k=250;else if(k===0)return S;return S.addClass(m),setTimeout(function(){S.removeClass(m)},k),S}};SS.className=SS.classNames=SS.classes;var Rc={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:ln,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Rc.variable="(?:[\\w-.]|(?:\\\\"+Rc.metaChar+"))+",Rc.className="(?:[\\w-]|(?:\\\\"+Rc.metaChar+"))+",Rc.value=Rc.string+"|"+Rc.number,Rc.id=Rc.variable,function(){var x,m,k;for(x=Rc.comparatorOp.split("|"),k=0;k=0)&&m!=="="&&(Rc.comparatorOp+="|\\!"+m)}();var Pu=function(){return{checks:[]}},hs={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},mI=[{selector:":selected",matches:function(m){return m.selected()}},{selector:":unselected",matches:function(m){return!m.selected()}},{selector:":selectable",matches:function(m){return m.selectable()}},{selector:":unselectable",matches:function(m){return!m.selectable()}},{selector:":locked",matches:function(m){return m.locked()}},{selector:":unlocked",matches:function(m){return!m.locked()}},{selector:":visible",matches:function(m){return m.visible()}},{selector:":hidden",matches:function(m){return!m.visible()}},{selector:":transparent",matches:function(m){return m.transparent()}},{selector:":grabbed",matches:function(m){return m.grabbed()}},{selector:":free",matches:function(m){return!m.grabbed()}},{selector:":removed",matches:function(m){return m.removed()}},{selector:":inside",matches:function(m){return!m.removed()}},{selector:":grabbable",matches:function(m){return m.grabbable()}},{selector:":ungrabbable",matches:function(m){return!m.grabbable()}},{selector:":animated",matches:function(m){return m.animated()}},{selector:":unanimated",matches:function(m){return!m.animated()}},{selector:":parent",matches:function(m){return m.isParent()}},{selector:":childless",matches:function(m){return m.isChildless()}},{selector:":child",matches:function(m){return m.isChild()}},{selector:":orphan",matches:function(m){return m.isOrphan()}},{selector:":nonorphan",matches:function(m){return m.isChild()}},{selector:":compound",matches:function(m){return m.isNode()?m.isParent():m.source().isParent()||m.target().isParent()}},{selector:":loop",matches:function(m){return m.isLoop()}},{selector:":simple",matches:function(m){return m.isSimple()}},{selector:":active",matches:function(m){return m.active()}},{selector:":inactive",matches:function(m){return!m.active()}},{selector:":backgrounding",matches:function(m){return m.backgrounding()}},{selector:":nonbackgrounding",matches:function(m){return!m.backgrounding()}}].sort(function(x,m){return zr(x.selector,m.selector)}),Ene=function(){for(var x={},m,k=0;k0&&Y.edgeCount>0)return hu("The selector `"+m+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(Y.edgeCount>1)return hu("The selector `"+m+"` is invalid because it uses multiple edge selectors"),!1;Y.edgeCount===1&&hu("The selector `"+m+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},Ane=function(){if(this.toStringCache!=null)return this.toStringCache;for(var m=function(Y){return Y??""},k=function(Y){return be(Y)?'"'+Y+'"':m(Y)},S=function(Y){return" "+Y+" "},M=function(Y,Z){var ce=Y.type,ve=Y.value;switch(ce){case hs.GROUP:{var me=m(ve);return me.substring(0,me.length-1)}case hs.DATA_COMPARE:{var Le=Y.field,_e=Y.operator;return"["+Le+S(m(_e))+k(ve)+"]"}case hs.DATA_BOOL:{var Ee=Y.operator,Be=Y.field;return"["+m(Ee)+Be+"]"}case hs.DATA_EXIST:{var Re=Y.field;return"["+Re+"]"}case hs.META_COMPARE:{var Ve=Y.operator,ct=Y.field;return"[["+ct+S(m(Ve))+k(ve)+"]]"}case hs.STATE:return ve;case hs.ID:return"#"+ve;case hs.CLASS:return"."+ve;case hs.PARENT:case hs.CHILD:return O(Y.parent,Z)+S(">")+O(Y.child,Z);case hs.ANCESTOR:case hs.DESCENDANT:return O(Y.ancestor,Z)+" "+O(Y.descendant,Z);case hs.COMPOUND_SPLIT:{var st=O(Y.left,Z),Ye=O(Y.subject,Z),mt=O(Y.right,Z);return st+(st.length>0?" ":"")+Ye+mt}case hs.TRUE:return""}},O=function(Y,Z){return Y.checks.reduce(function(ce,ve,me){return ce+(Z===Y&&me===0?"$":"")+M(ve,Z)},"")},N="",$=0;$1&&$=0&&(k=k.replace("!",""),Z=!0),k.indexOf("@")>=0&&(k=k.replace("@",""),Y=!0),(O||$||Y)&&(H=!O&&!N?"":""+m,q=""+S),Y&&(m=H=H.toLowerCase(),S=q=q.toLowerCase()),k){case"*=":M=H.indexOf(q)>=0;break;case"$=":M=H.indexOf(q,H.length-q.length)>=0;break;case"^=":M=H.indexOf(q)===0;break;case"=":M=m===S;break;case">":ce=!0,M=m>S;break;case">=":ce=!0,M=m>=S;break;case"<":ce=!0,M=m0;){var Y=M.shift();m(Y),O.add(Y.id()),$&&S(M,O,Y)}return x}function l$(x,m,k){if(k.isParent())for(var S=k._private.children,M=0;M1&&arguments[1]!==void 0?arguments[1]:!0;return yI(this,x,m,l$)};function h$(x,m,k){if(k.isChild()){var S=k._private.parent;m.has(S.id())||x.push(S)}}u8.forEachUp=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return yI(this,x,m,h$)};function Pne(x,m,k){h$(x,m,k),l$(x,m,k)}u8.forEachUpAndDown=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return yI(this,x,m,Pne)},u8.ancestors=u8.parents;var x1,f$;x1=f$={data:fu.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:fu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:fu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:fu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:fu.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:fu.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var m=this[0];if(m)return m._private.data.id}},x1.attr=x1.data,x1.removeAttr=x1.removeData;var ny=f$,J9={};function xI(x){return function(m){var k=this;if(m===void 0&&(m=!0),k.length!==0)if(k.isNode()&&!k.removed()){for(var S=0,M=k[0],O=M._private.edges,N=0;Nm}),minIndegree:l8("indegree",function(x,m){return xm}),minOutdegree:l8("outdegree",function(x,m){return xm})}),yt(J9,{totalDegree:function(m){for(var k=0,S=this.nodes(),M=0;M0,ce=Z;Z&&(Y=Y[0]);var ve=ce?Y.position():{x:0,y:0};k!==void 0?q.position(m,k+ve[m]):O!==void 0&&q.position({x:O.x+ve.x,y:O.y+ve.y})}else{var me=S.position(),Le=$?S.parent():null,_e=Le&&Le.length>0,Ee=_e;_e&&(Le=Le[0]);var Be=Ee?Le.position():{x:0,y:0};return O={x:me.x-Be.x,y:me.y-Be.y},m===void 0?O:O[m]}else if(!N)return;return this}},W2.modelPosition=W2.point=W2.position,W2.modelPositions=W2.points=W2.positions,W2.renderedPoint=W2.renderedPosition,W2.relativePoint=W2.relativePosition;var Bne=d$,h8,ry;h8=ry={},ry.renderedBoundingBox=function(x){var m=this.boundingBox(x),k=this.cy(),S=k.zoom(),M=k.pan(),O=m.x1*S+M.x,N=m.x2*S+M.x,$=m.y1*S+M.y,H=m.y2*S+M.y;return{x1:O,x2:N,y1:$,y2:H,w:N-O,h:H-$}},ry.dirtyCompoundBoundsCache=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();return!m.styleEnabled()||!m.hasCompoundNodes()?this:(this.forEachUp(function(k){if(k.isParent()){var S=k._private;S.compoundBoundsClean=!1,S.bbCache=null,x||k.emitAndNotify("bounds")}}),this)},ry.updateCompoundBounds=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();if(!m.styleEnabled()||!m.hasCompoundNodes())return this;if(!x&&m.batching())return this;function k(N){if(!N.isParent())return;var $=N._private,H=N.children(),q=N.pstyle("compound-sizing-wrt-labels").value==="include",Y={width:{val:N.pstyle("min-width").pfValue,left:N.pstyle("min-width-bias-left"),right:N.pstyle("min-width-bias-right")},height:{val:N.pstyle("min-height").pfValue,top:N.pstyle("min-height-bias-top"),bottom:N.pstyle("min-height-bias-bottom")}},Z=H.boundingBox({includeLabels:q,includeOverlays:!1,useCache:!1}),ce=$.position;(Z.w===0||Z.h===0)&&(Z={w:N.pstyle("width").pfValue,h:N.pstyle("height").pfValue},Z.x1=ce.x-Z.w/2,Z.x2=ce.x+Z.w/2,Z.y1=ce.y-Z.h/2,Z.y2=ce.y+Z.h/2);function ve(Je,Lt,Mt){var ut=0,Wt=0,Tt=Lt+Mt;return Je>0&&Tt>0&&(ut=Lt/Tt*Je,Wt=Mt/Tt*Je),{biasDiff:ut,biasComplementDiff:Wt}}function me(Je,Lt,Mt,ut){if(Mt.units==="%")switch(ut){case"width":return Je>0?Mt.pfValue*Je:0;case"height":return Lt>0?Mt.pfValue*Lt:0;case"average":return Je>0&&Lt>0?Mt.pfValue*(Je+Lt)/2:0;case"min":return Je>0&&Lt>0?Je>Lt?Mt.pfValue*Lt:Mt.pfValue*Je:0;case"max":return Je>0&&Lt>0?Je>Lt?Mt.pfValue*Je:Mt.pfValue*Lt:0;default:return 0}else return Mt.units==="px"?Mt.pfValue:0}var Le=Y.width.left.value;Y.width.left.units==="px"&&Y.width.val>0&&(Le=Le*100/Y.width.val);var _e=Y.width.right.value;Y.width.right.units==="px"&&Y.width.val>0&&(_e=_e*100/Y.width.val);var Ee=Y.height.top.value;Y.height.top.units==="px"&&Y.height.val>0&&(Ee=Ee*100/Y.height.val);var Be=Y.height.bottom.value;Y.height.bottom.units==="px"&&Y.height.val>0&&(Be=Be*100/Y.height.val);var Re=ve(Y.width.val-Z.w,Le,_e),Ve=Re.biasDiff,ct=Re.biasComplementDiff,st=ve(Y.height.val-Z.h,Ee,Be),Ye=st.biasDiff,mt=st.biasComplementDiff;$.autoPadding=me(Z.w,Z.h,N.pstyle("padding"),N.pstyle("padding-relative-to").value),$.autoWidth=Math.max(Z.w,Y.width.val),ce.x=(-Ve+Z.x1+Z.x2+ct)/2,$.autoHeight=Math.max(Z.h,Y.height.val),ce.y=(-Ye+Z.y1+Z.y2+mt)/2}for(var S=0;Sm.x2?M:m.x2,m.y1=Sm.y2?O:m.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1)},b5=function(m,k){return k==null?m:Y2(m,k.x1,k.y1,k.x2,k.y2)},Z9=function(m,k,S){return K2(m,k,S)},_S=function(m,k,S){if(!k.cy().headless()){var M=k._private,O=M.rstyle,N=O.arrowWidth/2,$=k.pstyle(S+"-arrow-shape").value,H,q;if($!=="none"){S==="source"?(H=O.srcX,q=O.srcY):S==="target"?(H=O.tgtX,q=O.tgtY):(H=O.midX,q=O.midY);var Y=M.arrowBounds=M.arrowBounds||{},Z=Y[S]=Y[S]||{};Z.x1=H-N,Z.y1=q-N,Z.x2=H+N,Z.y2=q+N,Z.w=Z.x2-Z.x1,Z.h=Z.y2-Z.y1,fS(Z,1),Y2(m,Z.x1,Z.y1,Z.x2,Z.y2)}}},kI=function(m,k,S){if(!k.cy().headless()){var M;S?M=S+"-":M="";var O=k._private,N=O.rstyle,$=k.pstyle(M+"label").strValue;if($){var H=k.pstyle("text-halign"),q=k.pstyle("text-valign"),Y=Z9(N,"labelWidth",S),Z=Z9(N,"labelHeight",S),ce=Z9(N,"labelX",S),ve=Z9(N,"labelY",S),me=k.pstyle(M+"text-margin-x").pfValue,Le=k.pstyle(M+"text-margin-y").pfValue,_e=k.isEdge(),Ee=k.pstyle(M+"text-rotation"),Be=k.pstyle("text-outline-width").pfValue,Re=k.pstyle("text-border-width").pfValue,Ve=Re/2,ct=k.pstyle("text-background-padding").pfValue,st=2,Ye=Z,mt=Y,Je=mt/2,Lt=Ye/2,Mt,ut,Wt,Tt;if(_e)Mt=ce-Je,ut=ce+Je,Wt=ve-Lt,Tt=ve+Lt;else{switch(H.value){case"left":Mt=ce-mt,ut=ce;break;case"center":Mt=ce-Je,ut=ce+Je;break;case"right":Mt=ce,ut=ce+mt;break}switch(q.value){case"top":Wt=ve-Ye,Tt=ve;break;case"center":Wt=ve-Lt,Tt=ve+Lt;break;case"bottom":Wt=ve,Tt=ve+Ye;break}}Mt+=me-Math.max(Be,Ve)-ct-st,ut+=me+Math.max(Be,Ve)+ct+st,Wt+=Le-Math.max(Be,Ve)-ct-st,Tt+=Le+Math.max(Be,Ve)+ct+st;var _n=S||"main",hn=O.labelBounds,Yt=hn[_n]=hn[_n]||{};Yt.x1=Mt,Yt.y1=Wt,Yt.x2=ut,Yt.y2=Tt,Yt.w=ut-Mt,Yt.h=Tt-Wt;var Dn=_e&&Ee.strValue==="autorotate",ir=Ee.pfValue!=null&&Ee.pfValue!==0;if(Dn||ir){var vr=Dn?Z9(O.rstyle,"labelAngle",S):Ee.pfValue,Nn=Math.cos(vr),pr=Math.sin(vr),Er=(Mt+ut)/2,Mr=(Wt+Tt)/2;if(!_e){switch(H.value){case"left":Er=ut;break;case"right":Er=Mt;break}switch(q.value){case"top":Mr=Tt;break;case"bottom":Mr=Wt;break}}var Cr=function(pa,Mi){return pa=pa-Er,Mi=Mi-Mr,{x:pa*Nn-Mi*pr+Er,y:pa*pr+Mi*Nn+Mr}},Or=Cr(Mt,Wt),Wn=Cr(Mt,Tt),br=Cr(ut,Wt),Sr=Cr(ut,Tt);Mt=Math.min(Or.x,Wn.x,br.x,Sr.x),ut=Math.max(Or.x,Wn.x,br.x,Sr.x),Wt=Math.min(Or.y,Wn.y,br.y,Sr.y),Tt=Math.max(Or.y,Wn.y,br.y,Sr.y)}var Nr=_n+"Rot",Si=hn[Nr]=hn[Nr]||{};Si.x1=Mt,Si.y1=Wt,Si.x2=ut,Si.y2=Tt,Si.w=ut-Mt,Si.h=Tt-Wt,Y2(m,Mt,Wt,ut,Tt),Y2(O.labelBounds.all,Mt,Wt,ut,Tt)}return m}},Fne=function(m,k){if(!k.cy().headless()){var S=k.pstyle("outline-opacity").value,M=k.pstyle("outline-width").value;if(S>0&&M>0){var O=k.pstyle("outline-offset").value,N=k.pstyle("shape").value,$=M+O,H=(m.w+$*2)/m.w,q=(m.h+$*2)/m.h,Y=0,Z=0;["diamond","pentagon","round-triangle"].includes(N)?(H=(m.w+$*2.4)/m.w,Z=-$/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(N)?H=(m.w+$*2.4)/m.w:N==="star"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.6)/m.h,Z=-$/3.8):N==="triangle"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.4)/m.h,Z=-$/1.4):N==="vee"&&(H=(m.w+$*4.4)/m.w,q=(m.h+$*3.8)/m.h,Z=-$*.5);var ce=m.h*q-m.h,ve=m.w*H-m.w;if(dS(m,[Math.ceil(ce/2),Math.ceil(ve/2)]),Y!=0||Z!==0){var me=pZ(m,Y,Z);dj(m,me)}}}},Rne=function(m,k){var S=m._private.cy,M=S.styleEnabled(),O=S.headless(),N=Wd(),$=m._private,H=m.isNode(),q=m.isEdge(),Y,Z,ce,ve,me,Le,_e=$.rstyle,Ee=H&&M?m.pstyle("bounds-expansion").pfValue:[0],Be=function(fs){return fs.pstyle("display").value!=="none"},Re=!M||Be(m)&&(!q||Be(m.source())&&Be(m.target()));if(Re){var Ve=0,ct=0;M&&k.includeOverlays&&(Ve=m.pstyle("overlay-opacity").value,Ve!==0&&(ct=m.pstyle("overlay-padding").value));var st=0,Ye=0;M&&k.includeUnderlays&&(st=m.pstyle("underlay-opacity").value,st!==0&&(Ye=m.pstyle("underlay-padding").value));var mt=Math.max(ct,Ye),Je=0,Lt=0;if(M&&(Je=m.pstyle("width").pfValue,Lt=Je/2),H&&k.includeNodes){var Mt=m.position();me=Mt.x,Le=Mt.y;var ut=m.outerWidth(),Wt=ut/2,Tt=m.outerHeight(),_n=Tt/2;Y=me-Wt,Z=me+Wt,ce=Le-_n,ve=Le+_n,Y2(N,Y,ce,Z,ve),M&&k.includeOutlines&&Fne(N,m)}else if(q&&k.includeEdges)if(M&&!O){var hn=m.pstyle("curve-style").strValue;if(Y=Math.min(_e.srcX,_e.midX,_e.tgtX),Z=Math.max(_e.srcX,_e.midX,_e.tgtX),ce=Math.min(_e.srcY,_e.midY,_e.tgtY),ve=Math.max(_e.srcY,_e.midY,_e.tgtY),Y-=Lt,Z+=Lt,ce-=Lt,ve+=Lt,Y2(N,Y,ce,Z,ve),hn==="haystack"){var Yt=_e.haystackPts;if(Yt&&Yt.length===2){if(Y=Yt[0].x,ce=Yt[0].y,Z=Yt[1].x,ve=Yt[1].y,Y>Z){var Dn=Y;Y=Z,Z=Dn}if(ce>ve){var ir=ce;ce=ve,ve=ir}Y2(N,Y-Lt,ce-Lt,Z+Lt,ve+Lt)}}else if(hn==="bezier"||hn==="unbundled-bezier"||hn==="segments"||hn==="taxi"){var vr;switch(hn){case"bezier":case"unbundled-bezier":vr=_e.bezierPts;break;case"segments":case"taxi":vr=_e.linePts;break}if(vr!=null)for(var Nn=0;NnZ){var Wn=Y;Y=Z,Z=Wn}if(ce>ve){var br=ce;ce=ve,ve=br}Y-=Lt,Z+=Lt,ce-=Lt,ve+=Lt,Y2(N,Y,ce,Z,ve)}if(M&&k.includeEdges&&q&&(_S(N,m,"mid-source"),_S(N,m,"mid-target"),_S(N,m,"source"),_S(N,m,"target")),M){var Sr=m.pstyle("ghost").value==="yes";if(Sr){var Nr=m.pstyle("ghost-offset-x").pfValue,Si=m.pstyle("ghost-offset-y").pfValue;Y2(N,N.x1+Nr,N.y1+Si,N.x2+Nr,N.y2+Si)}}var ys=$.bodyBounds=$.bodyBounds||{};gj(ys,N),dS(ys,Ee),fS(ys,1),M&&(Y=N.x1,Z=N.x2,ce=N.y1,ve=N.y2,Y2(N,Y-mt,ce-mt,Z+mt,ve+mt));var pa=$.overlayBounds=$.overlayBounds||{};gj(pa,N),dS(pa,Ee),fS(pa,1);var Mi=$.labelBounds=$.labelBounds||{};Mi.all!=null?gZ(Mi.all):Mi.all=Wd(),M&&k.includeLabels&&(k.includeMainLabels&&kI(N,m,null),q&&(k.includeSourceLabels&&kI(N,m,"source"),k.includeTargetLabels&&kI(N,m,"target")))}return N.x1=jp(N.x1),N.y1=jp(N.y1),N.x2=jp(N.x2),N.y2=jp(N.y2),N.w=jp(N.x2-N.x1),N.h=jp(N.y2-N.y1),N.w>0&&N.h>0&&Re&&(dS(N,Ee),fS(N,1)),N},b$=function(m){var k=0,S=function(N){return(N?1:0)<0&&arguments[0]!==void 0?arguments[0]:Xne,m=arguments.length>1?arguments[1]:void 0,k=0;k=0;$--)N($);return this},X2.removeAllListeners=function(){return this.removeListener("*")},X2.emit=X2.trigger=function(x,m,k){var S=this.listeners,M=S.length;return this.emitting++,ne(m)||(m=[m]),MS(this,function(O,N){k!=null&&(S=[{event:N.event,type:N.type,namespace:N.namespace,callback:k}],M=S.length);for(var $=function(Y){var Z=S[Y];if(Z.type===N.type&&(!Z.namespace||Z.namespace===N.namespace||Z.namespace===Yne)&&O.eventMatches(O.context,Z,N)){var ce=[N];m!=null&&uj(ce,m),O.beforeEmit(O.context,Z,N),Z.conf&&Z.conf.one&&(O.listeners=O.listeners.filter(function(Le){return Le!==Z}));var ve=O.callbackContext(O.context,Z,N),me=Z.callback.apply(ve,ce);O.afterEmit(O.context,Z,N),me===!1&&(N.stopPropagation(),N.preventDefault())}},H=0;H1&&!N){var $=this.length-1,H=this[$],q=H._private.data.id;this[$]=void 0,this[m]=H,O.set(q,{ele:H,index:m})}return this.length--,this},unmergeOne:function(m){m=m[0];var k=this._private,S=m._private.data.id,M=k.map,O=M.get(S);if(!O)return this;var N=O.index;return this.unmergeAt(N),this},unmerge:function(m){var k=this._private.cy;if(!m)return this;if(m&&be(m)){var S=m;m=k.mutableElements().filter(S)}for(var M=0;M=0;k--){var S=this[k];m(S)&&this.unmergeAt(k)}return this},map:function(m,k){for(var S=[],M=this,O=0;OS&&(S=H,M=$)}return{value:S,ele:M}},min:function(m,k){for(var S=1/0,M,O=this,N=0;N=0&&O"u"?"undefined":u(Symbol))!=m&&u(Symbol.iterator)!=m;k&&(DS[Symbol.iterator]=function(){var S=this,M={value:void 0,done:!1},O=0,N=this.length;return b({next:function(){return O1&&arguments[1]!==void 0?arguments[1]:!0,S=this[0],M=S.cy();if(M.styleEnabled()&&S){this.cleanStyle();var O=S._private.style[m];return O??(k?M.style().getDefaultProperty(m):null)}},numericStyle:function(m){var k=this[0];if(k.cy().styleEnabled()&&k){var S=k.pstyle(m);return S.pfValue!==void 0?S.pfValue:S.value}},numericStyleUnits:function(m){var k=this[0];if(k.cy().styleEnabled()&&k)return k.pstyle(m).units},renderedStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=this[0];if(S)return k.style().getRenderedStyle(S,m)},style:function(m,k){var S=this.cy();if(!S.styleEnabled())return this;var M=!1,O=S.style();if(se(m)){var N=m;O.applyBypass(this,N,M),this.emitAndNotify("style")}else if(be(m))if(k===void 0){var $=this[0];return $?O.getStylePropertyValue($,m):void 0}else O.applyBypass(this,m,k,M),this.emitAndNotify("style");else if(m===void 0){var H=this[0];return H?O.getRawStyle(H):void 0}return this},removeStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=!1,M=k.style(),O=this;if(m===void 0)for(var N=0;N0&&m.push(Y[0]),m.push($[0])}return this.spawn(m,!0).filter(x)},"neighborhood"),closedNeighborhood:function(m){return this.neighborhood().add(this).filter(m)},openNeighborhood:function(m){return this.neighborhood(m)}}),k1.neighbourhood=k1.neighborhood,k1.closedNeighbourhood=k1.closedNeighborhood,k1.openNeighbourhood=k1.openNeighborhood,yt(k1,{source:Rp(function(m){var k=this[0],S;return k&&(S=k._private.source||k.cy().collection()),S&&m?S.filter(m):S},"source"),target:Rp(function(m){var k=this[0],S;return k&&(S=k._private.target||k.cy().collection()),S&&m?S.filter(m):S},"target"),sources:D$({attr:"source"}),targets:D$({attr:"target"})});function D$(x){return function(k){for(var S=[],M=0;M0);return N},component:function(){var m=this[0];return m.cy().mutableElements().components(m)[0]}}),k1.componentsOf=k1.components;var V0=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(m===void 0){ch("A collection must have a reference to the core");return}var O=new wm,N=!1;if(!k)k=[];else if(k.length>0&&se(k[0])&&!U(k[0])){N=!0;for(var $=[],H=new Q7,q=0,Y=k.length;q0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=k.cy(),M=S._private,O=[],N=[],$,H=0,q=k.length;H0){for(var ir=$.length===k.length?k:new V0(S,$),vr=0;vr0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=[],M={},O=k._private.cy;function N(Tt){for(var _n=Tt._private.edges,hn=0;hn<_n.length;hn++)H(_n[hn])}function $(Tt){for(var _n=Tt._private.children,hn=0;hn<_n.length;hn++)H(_n[hn])}function H(Tt){var _n=M[Tt.id()];m&&Tt.removed()||_n||(M[Tt.id()]=!0,Tt.isNode()?(S.push(Tt),N(Tt),$(Tt)):S.unshift(Tt))}for(var q=0,Y=k.length;q0&&(x?Mt.emitAndNotify("remove"):m&&Mt.emit("remove"));for(var ut=0;ut0?ut=Tt:Mt=Tt;while(Math.abs(Wt)>N&&++_n<$);return Tt}function ct(Lt){for(var Mt=0,ut=1,Wt=H-1;ut!==Wt&&ce[ut]<=Lt;++ut)Mt+=q;--ut;var Tt=(Lt-ce[ut])/(ce[ut+1]-ce[ut]),_n=Mt+Tt*q,hn=Ee(_n,x,k);return hn>=O?Be(Lt,_n):hn===0?_n:Ve(Lt,Mt,Mt+q)}var st=!1;function Ye(){st=!0,(x!==m||k!==S)&&Re()}var mt=function(Mt){return st||Ye(),x===m&&k===S?Mt:Mt===0?0:Mt===1?1:_e(ct(Mt),m,S)};mt.getControlPoints=function(){return[{x,y:m},{x:k,y:S}]};var Je="generateBezier("+[x,m,k,S]+")";return mt.toString=function(){return Je},mt}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var ore=function(){function x(S){return-S.tension*S.x-S.friction*S.v}function m(S,M,O){var N={x:S.x+O.dx*M,v:S.v+O.dv*M,tension:S.tension,friction:S.friction};return{dx:N.v,dv:x(N)}}function k(S,M){var O={dx:S.v,dv:x(S)},N=m(S,M*.5,O),$=m(S,M*.5,N),H=m(S,M,$),q=1/6*(O.dx+2*(N.dx+$.dx)+H.dx),Y=1/6*(O.dv+2*(N.dv+$.dv)+H.dv);return S.x=S.x+q*M,S.v=S.v+Y*M,S}return function S(M,O,N){var $={x:-1,v:0,tension:null,friction:null},H=[0],q=0,Y=1/1e4,Z=16/1e3,ce,ve,me;for(M=parseFloat(M)||500,O=parseFloat(O)||20,N=N||null,$.tension=M,$.friction=O,ce=N!==null,ce?(q=S(M,O),ve=q/N*Z):ve=Z;me=k(me||$,ve),H.push(1+me.x),q+=16,Math.abs(me.x)>Y&&Math.abs(me.v)>Y;);return ce?function(Le){return H[Le*(H.length-1)|0]}:q}}(),rl=function(m,k,S,M){var O=are(m,k,S,M);return function(N,$,H){return N+($-N)*O(H)}},BS={linear:function(m,k,S){return m+(k-m)*S},ease:rl(.25,.1,.25,1),"ease-in":rl(.42,0,1,1),"ease-out":rl(0,0,.58,1),"ease-in-out":rl(.42,0,.58,1),"ease-in-sine":rl(.47,0,.745,.715),"ease-out-sine":rl(.39,.575,.565,1),"ease-in-out-sine":rl(.445,.05,.55,.95),"ease-in-quad":rl(.55,.085,.68,.53),"ease-out-quad":rl(.25,.46,.45,.94),"ease-in-out-quad":rl(.455,.03,.515,.955),"ease-in-cubic":rl(.55,.055,.675,.19),"ease-out-cubic":rl(.215,.61,.355,1),"ease-in-out-cubic":rl(.645,.045,.355,1),"ease-in-quart":rl(.895,.03,.685,.22),"ease-out-quart":rl(.165,.84,.44,1),"ease-in-out-quart":rl(.77,0,.175,1),"ease-in-quint":rl(.755,.05,.855,.06),"ease-out-quint":rl(.23,1,.32,1),"ease-in-out-quint":rl(.86,0,.07,1),"ease-in-expo":rl(.95,.05,.795,.035),"ease-out-expo":rl(.19,1,.22,1),"ease-in-out-expo":rl(1,0,0,1),"ease-in-circ":rl(.6,.04,.98,.335),"ease-out-circ":rl(.075,.82,.165,1),"ease-in-out-circ":rl(.785,.135,.15,.86),spring:function(m,k,S){if(S===0)return BS.linear;var M=ore(m,k,S);return function(O,N,$){return O+(N-O)*M($)}},"cubic-bezier":rl};function N$(x,m,k,S,M){if(S===1||m===k)return k;var O=M(m,k,S);return x==null||((x.roundValue||x.color)&&(O=Math.round(O)),x.min!==void 0&&(O=Math.max(O,x.min)),x.max!==void 0&&(O=Math.min(O,x.max))),O}function P$(x,m){return x.pfValue!=null||x.value!=null?x.pfValue!=null&&(m==null||m.type.units!=="%")?x.pfValue:x.value:x}function g8(x,m,k,S,M){var O=M!=null?M.type:null;k<0?k=0:k>1&&(k=1);var N=P$(x,M),$=P$(m,M);if(X(N)&&X($))return N$(O,N,$,k,S);if(ne(N)&&ne($)){for(var H=[],q=0;q<$.length;q++){var Y=N[q],Z=$[q];if(Y!=null&&Z!=null){var ce=N$(O,Y,Z,k,S);H.push(ce)}else H.push(Z)}return H}}function cre(x,m,k,S){var M=!S,O=x._private,N=m._private,$=N.easing,H=N.startTime,q=S?x:x.cy(),Y=q.style();if(!N.easingImpl)if($==null)N.easingImpl=BS.linear;else{var Z;if(be($)){var ce=Y.parse("transition-timing-function",$);Z=ce.value}else Z=$;var ve,me;be(Z)?(ve=Z,me=[]):(ve=Z[1],me=Z.slice(2).map(function(ir){return+ir})),me.length>0?(ve==="spring"&&me.push(N.duration),N.easingImpl=BS[ve].apply(null,me)):N.easingImpl=BS[ve]}var Le=N.easingImpl,_e;if(N.duration===0?_e=1:_e=(k-H)/N.duration,N.applying&&(_e=N.progress),_e<0?_e=0:_e>1&&(_e=1),N.delay==null){var Ee=N.startPosition,Be=N.position;if(Be&&M&&!x.locked()){var Re={};ak(Ee.x,Be.x)&&(Re.x=g8(Ee.x,Be.x,_e,Le)),ak(Ee.y,Be.y)&&(Re.y=g8(Ee.y,Be.y,_e,Le)),x.position(Re)}var Ve=N.startPan,ct=N.pan,st=O.pan,Ye=ct!=null&&S;Ye&&(ak(Ve.x,ct.x)&&(st.x=g8(Ve.x,ct.x,_e,Le)),ak(Ve.y,ct.y)&&(st.y=g8(Ve.y,ct.y,_e,Le)),x.emit("pan"));var mt=N.startZoom,Je=N.zoom,Lt=Je!=null&&S;Lt&&(ak(mt,Je)&&(O.zoom=U9(O.minZoom,g8(mt,Je,_e,Le),O.maxZoom)),x.emit("zoom")),(Ye||Lt)&&x.emit("viewport");var Mt=N.style;if(Mt&&Mt.length>0&&M){for(var ut=0;ut=0;Ye--){var mt=st[Ye];mt()}st.splice(0,st.length)},Be=ve.length-1;Be>=0;Be--){var Re=ve[Be],Ve=Re._private;if(Ve.stopped){ve.splice(Be,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Ee(Ve.frames);continue}!Ve.playing&&!Ve.applying||(Ve.playing&&Ve.applying&&(Ve.applying=!1),Ve.started||ure(Y,Re,x),cre(Y,Re,x,Z),Ve.applying&&(Ve.applying=!1),Ee(Ve.frames),Ve.step!=null&&Ve.step(x),Re.completed()&&(ve.splice(Be,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Ee(Ve.completes)),Le=!0)}return!Z&&ve.length===0&&me.length===0&&S.push(Y),Le}for(var O=!1,N=0;N0?m.notify("draw",k):m.notify("draw")),k.unmerge(S),m.emit("step")}var lre={animate:fu.animate(),animation:fu.animation(),animated:fu.animated(),clearQueue:fu.clearQueue(),delay:fu.delay(),delayAnimation:fu.delayAnimation(),stop:fu.stop(),addToAnimationPool:function(m){var k=this;k.styleEnabled()&&k._private.aniEles.merge(m)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var m=this;if(m._private.animationsRunning=!0,!m.styleEnabled())return;function k(){m._private.animationsRunning&&z0(function(O){B$(O,m),k()})}var S=m.renderer();S&&S.beforeRender?S.beforeRender(function(O,N){B$(N,m)},S.beforeRenderPriorities.animations):k()}},hre={qualifierCompare:function(m,k){return m==null||k==null?m==null&&k==null:m.sameText(k)},eventMatches:function(m,k,S){var M=k.qualifier;return M!=null?m!==S.target&&U(S.target)&&M.matches(S.target):!0},addEventFields:function(m,k){k.cy=m,k.target=m},callbackContext:function(m,k,S){return k.qualifier!=null?S.target:m}},FS=function(m){return be(m)?new ey(m):m},F$={createEmitter:function(){var m=this._private;return m.emitter||(m.emitter=new LS(hre,this)),this},emitter:function(){return this._private.emitter},on:function(m,k,S){return this.emitter().on(m,FS(k),S),this},removeListener:function(m,k,S){return this.emitter().removeListener(m,FS(k),S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(m,k,S){return this.emitter().one(m,FS(k),S),this},once:function(m,k,S){return this.emitter().one(m,FS(k),S),this},emit:function(m,k){return this.emitter().emit(m,k),this},emitAndNotify:function(m,k){return this.emit(m),this.notify(m,k),this}};fu.eventAliasesOn(F$);var MI={png:function(m){var k=this._private.renderer;return m=m||{},k.png(m)},jpg:function(m){var k=this._private.renderer;return m=m||{},m.bg=m.bg||"#fff",k.jpg(m)}};MI.jpeg=MI.jpg;var RS={layout:function(m){var k=this;if(m==null){ch("Layout options must be specified to make a layout");return}if(m.name==null){ch("A `name` must be specified to make a layout");return}var S=m.name,M=k.extension("layout",S);if(M==null){ch("No such layout `"+S+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;be(m.eles)?O=k.$(m.eles):O=m.eles!=null?m.eles:k.$();var N=new M(yt({},m,{cy:k,eles:O}));return N}};RS.createLayout=RS.makeLayout=RS.layout;var fre={notify:function(m,k){var S=this._private;if(this.batching()){S.batchNotifications=S.batchNotifications||{};var M=S.batchNotifications[m]=S.batchNotifications[m]||this.collection();k!=null&&M.merge(k);return}if(S.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(m,k)}},notifications:function(m){var k=this._private;return m===void 0?k.notificationsEnabled:(k.notificationsEnabled=!!m,this)},noNotifications:function(m){this.notifications(!1),m(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var m=this._private;return m.batchCount==null&&(m.batchCount=0),m.batchCount===0&&(m.batchStyleEles=this.collection(),m.batchNotifications={}),m.batchCount++,this},endBatch:function(){var m=this._private;if(m.batchCount===0)return this;if(m.batchCount--,m.batchCount===0){m.batchStyleEles.updateStyle();var k=this.renderer();Object.keys(m.batchNotifications).forEach(function(S){var M=m.batchNotifications[S];M.empty()?k.notify(S):k.notify(S,M)})}return this},batch:function(m){return this.startBatch(),m(),this.endBatch(),this},batchData:function(m){var k=this;return this.batch(function(){for(var S=Object.keys(m),M=0;M0;)k.removeChild(k.childNodes[0]);m._private.renderer=null,m.mutableElements().forEach(function(S){var M=S._private;M.rscratch={},M.rstyle={},M.animation.current=[],M.animation.queue=[]})},onRender:function(m){return this.on("render",m)},offRender:function(m){return this.off("render",m)}};DI.invalidateDimensions=DI.resize;var jS={collection:function(m,k){return be(m)?this.$(m):xe(m)?m.collection():ne(m)?(k||(k={}),new V0(this,m,k.unique,k.removed)):new V0(this)},nodes:function(m){var k=this.$(function(S){return S.isNode()});return m?k.filter(m):k},edges:function(m){var k=this.$(function(S){return S.isEdge()});return m?k.filter(m):k},$:function(m){var k=this._private.elements;return m?k.filter(m):k.spawnSelf()},mutableElements:function(){return this._private.elements}};jS.elements=jS.filter=jS.$;var E1={},ok="t",gre="f";E1.apply=function(x){for(var m=this,k=m._private,S=k.cy,M=S.collection(),O=0;O0;if(ce||Z&&ve){var me=void 0;ce&&ve||ce?me=q.properties:ve&&(me=q.mappedProperties);for(var Le=0;Le1&&(Ve=1),$.color){var st=S.valueMin[0],Ye=S.valueMax[0],mt=S.valueMin[1],Je=S.valueMax[1],Lt=S.valueMin[2],Mt=S.valueMax[2],ut=S.valueMin[3]==null?1:S.valueMin[3],Wt=S.valueMax[3]==null?1:S.valueMax[3],Tt=[Math.round(st+(Ye-st)*Ve),Math.round(mt+(Je-mt)*Ve),Math.round(Lt+(Mt-Lt)*Ve),Math.round(ut+(Wt-ut)*Ve)];O={bypass:S.bypass,name:S.name,value:Tt,strValue:"rgb("+Tt[0]+", "+Tt[1]+", "+Tt[2]+")"}}else if($.number){var _n=S.valueMin+(S.valueMax-S.valueMin)*Ve;O=this.parse(S.name,_n,S.bypass,ce)}else return!1;if(!O)return Le(),!1;O.mapping=S,S=O;break}case N.data:{for(var hn=S.field.split("."),Yt=Z.data,Dn=0;Dn0&&O>0){for(var $={},H=!1,q=0;q0?x.delayAnimation(N).play().promise().then(Re):Re()}).then(function(){return x.animation({style:$,duration:O,easing:x.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){k.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1})}else S.transitioning&&(this.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1)},E1.checkTrigger=function(x,m,k,S,M,O){var N=this.properties[m],$=M(N);$!=null&&$(k,S)&&O(N)},E1.checkZOrderTrigger=function(x,m,k,S){var M=this;this.checkTrigger(x,m,k,S,function(O){return O.triggersZOrder},function(){M._private.cy.notify("zorder",x)})},E1.checkBoundsTrigger=function(x,m,k,S){this.checkTrigger(x,m,k,S,function(M){return M.triggersBounds},function(M){x.dirtyCompoundBoundsCache(),x.dirtyBoundingBoxCache(),M.triggersBoundsOfParallelBeziers&&m==="curve-style"&&(k==="bezier"||S==="bezier")&&x.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()}),M.triggersBoundsOfConnectedEdges&&m==="display"&&(k==="none"||S==="none")&&x.connectedEdges().forEach(function(O){O.dirtyBoundingBoxCache()})})},E1.checkTriggers=function(x,m,k,S){x.dirtyStyleCache(),this.checkZOrderTrigger(x,m,k,S),this.checkBoundsTrigger(x,m,k,S)};var ck={};ck.applyBypass=function(x,m,k,S){var M=this,O=[],N=!0;if(m==="*"||m==="**"){if(k!==void 0)for(var $=0;$M.length?S=S.substr(M.length):S=""}function H(){O.length>N.length?O=O.substr(N.length):O=""}for(;;){var q=S.match(/^\s*$/);if(q)break;var Y=S.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!Y){hu("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+S);break}M=Y[0];var Z=Y[1];if(Z!=="core"){var ce=new ey(Z);if(ce.invalid){hu("Skipping parsing of block: Invalid selector found in string stylesheet: "+Z),$();continue}}var ve=Y[2],me=!1;O=ve;for(var Le=[];;){var _e=O.match(/^\s*$/);if(_e)break;var Ee=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!Ee){hu("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ve),me=!0;break}N=Ee[0];var Be=Ee[1],Re=Ee[2],Ve=m.properties[Be];if(!Ve){hu("Skipping property: Invalid property name in: "+N),H();continue}var ct=k.parse(Be,Re);if(!ct){hu("Skipping property: Invalid property definition in: "+N),H();continue}Le.push({name:Be,val:Re}),H()}if(me){$();break}k.selector(Z);for(var st=0;st=7&&m[0]==="d"&&(Y=new RegExp($.data.regex).exec(m))){if(k)return!1;var ce=$.data;return{name:x,value:Y,strValue:""+m,mapped:ce,field:Y[1],bypass:k}}else if(m.length>=10&&m[0]==="m"&&(Z=new RegExp($.mapData.regex).exec(m))){if(k||q.multiple)return!1;var ve=$.mapData;if(!(q.color||q.number))return!1;var me=this.parse(x,Z[4]);if(!me||me.mapped)return!1;var Le=this.parse(x,Z[5]);if(!Le||Le.mapped)return!1;if(me.pfValue===Le.pfValue||me.strValue===Le.strValue)return hu("`"+x+": "+m+"` is not a valid mapper because the output range is zero; converting to `"+x+": "+me.strValue+"`"),this.parse(x,me.strValue);if(q.color){var _e=me.value,Ee=Le.value,Be=_e[0]===Ee[0]&&_e[1]===Ee[1]&&_e[2]===Ee[2]&&(_e[3]===Ee[3]||(_e[3]==null||_e[3]===1)&&(Ee[3]==null||Ee[3]===1));if(Be)return!1}return{name:x,value:Z,strValue:""+m,mapped:ve,field:Z[1],fieldMin:parseFloat(Z[2]),fieldMax:parseFloat(Z[3]),valueMin:me.value,valueMax:Le.value,bypass:k}}}if(q.multiple&&S!=="multiple"){var Re;if(H?Re=m.split(/\s+/):ne(m)?Re=m:Re=[m],q.evenMultiple&&Re.length%2!==0)return null;for(var Ve=[],ct=[],st=[],Ye="",mt=!1,Je=0;Je0?" ":"")+Lt.strValue}return q.validate&&!q.validate(Ve,ct)?null:q.singleEnum&&mt?Ve.length===1&&be(Ve[0])?{name:x,value:Ve[0],strValue:Ve[0],bypass:k}:null:{name:x,value:Ve,pfValue:st,strValue:Ye,bypass:k,units:ct}}var Mt=function(){for(var Sr=0;Srq.max||q.strictMax&&m===q.max))return null;var hn={name:x,value:m,strValue:""+m+(ut||""),units:ut,bypass:k};return q.unitless||ut!=="px"&&ut!=="em"?hn.pfValue=m:hn.pfValue=ut==="px"||!ut?m:this.getEmSizeInPixels()*m,(ut==="ms"||ut==="s")&&(hn.pfValue=ut==="ms"?m:1e3*m),(ut==="deg"||ut==="rad")&&(hn.pfValue=ut==="rad"?m:lZ(m)),ut==="%"&&(hn.pfValue=m/100),hn}else if(q.propList){var Yt=[],Dn=""+m;if(Dn!=="none"){for(var ir=Dn.split(/\s*,\s*|\s+/),vr=0;vr0&&$>0&&!isNaN(S.w)&&!isNaN(S.h)&&S.w>0&&S.h>0){H=Math.min((N-2*k)/S.w,($-2*k)/S.h),H=H>this._private.maxZoom?this._private.maxZoom:H,H=H=S.minZoom&&(S.maxZoom=k),this},minZoom:function(m){return m===void 0?this._private.minZoom:this.zoomRange({min:m})},maxZoom:function(m){return m===void 0?this._private.maxZoom:this.zoomRange({max:m})},getZoomedViewport:function(m){var k=this._private,S=k.pan,M=k.zoom,O,N,$=!1;if(k.zoomingEnabled||($=!0),X(m)?N=m:se(m)&&(N=m.level,m.position!=null?O=lS(m.position,M,S):m.renderedPosition!=null&&(O=m.renderedPosition),O!=null&&!k.panningEnabled&&($=!0)),N=N>k.maxZoom?k.maxZoom:N,N=Nk.maxZoom||!k.zoomingEnabled?N=!0:(k.zoom=H,O.push("zoom"))}if(M&&(!N||!m.cancelOnFailedZoom)&&k.panningEnabled){var q=m.pan;X(q.x)&&(k.pan.x=q.x,$=!1),X(q.y)&&(k.pan.y=q.y,$=!1),$||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(m){var k=this.getCenterPan(m);return k&&(this._private.pan=k,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(m,k){if(this._private.panningEnabled){if(be(m)){var S=m;m=this.mutableElements().filter(S)}else xe(m)||(m=this.mutableElements());if(m.length!==0){var M=m.boundingBox(),O=this.width(),N=this.height();k=k===void 0?this._private.zoom:k;var $={x:(O-k*(M.x1+M.x2))/2,y:(N-k*(M.y1+M.y2))/2};return $}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var m=this._private,k=m.container,S=this;return m.sizeCache=m.sizeCache||(k?function(){var M=S.window().getComputedStyle(k),O=function($){return parseFloat(M.getPropertyValue($))};return{width:k.clientWidth-O("padding-left")-O("padding-right"),height:k.clientHeight-O("padding-top")-O("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var m=this._private.pan,k=this._private.zoom,S=this.renderedExtent(),M={x1:(S.x1-m.x)/k,x2:(S.x2-m.x)/k,y1:(S.y1-m.y)/k,y2:(S.y2-m.y)/k};return M.w=M.x2-M.x1,M.h=M.y2-M.y1,M},renderedExtent:function(){var m=this.width(),k=this.height();return{x1:0,y1:0,x2:m,y2:k,w:m,h:k}},multiClickDebounceTime:function(m){if(m)this._private.multiClickDebounceTime=m;else return this._private.multiClickDebounceTime;return this}};v5.centre=v5.center,v5.autolockNodes=v5.autolock,v5.autoungrabifyNodes=v5.autoungrabify;var uk={data:fu.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:fu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:fu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:fu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};uk.attr=uk.data,uk.removeAttr=uk.removeData;var lk=function(m){var k=this;m=yt({},m);var S=m.container;S&&!W(S)&&W(S[0])&&(S=S[0]);var M=S?S._cyreg:null;M=M||{},M&&M.cy&&(M.cy.destroy(),M={});var O=M.readies=M.readies||[];S&&(S._cyreg=M),M.cy=k;var N=F!==void 0&&S!==void 0&&!m.headless,$=m;$.layout=yt({name:N?"grid":"null"},$.layout),$.renderer=yt({name:N?"canvas":"null"},$.renderer);var H=function(me,Le,_e){return Le!==void 0?Le:_e!==void 0?_e:me},q=this._private={container:S,ready:!1,options:$,elements:new V0(this),listeners:[],aniEles:new V0(this),data:$.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:H(!0,$.zoomingEnabled),userZoomingEnabled:H(!0,$.userZoomingEnabled),panningEnabled:H(!0,$.panningEnabled),userPanningEnabled:H(!0,$.userPanningEnabled),boxSelectionEnabled:H(!0,$.boxSelectionEnabled),autolock:H(!1,$.autolock,$.autolockNodes),autoungrabify:H(!1,$.autoungrabify,$.autoungrabifyNodes),autounselectify:H(!1,$.autounselectify),styleEnabled:$.styleEnabled===void 0?N:$.styleEnabled,zoom:X($.zoom)?$.zoom:1,pan:{x:se($.pan)&&X($.pan.x)?$.pan.x:0,y:se($.pan)&&X($.pan.y)?$.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:H(250,$.multiClickDebounceTime)};this.createEmitter(),this.selectionType($.selectionType),this.zoomRange({min:$.minZoom,max:$.maxZoom});var Y=function(me,Le){var _e=me.some(Ke);if(_e)return i8.all(me).then(Le);Le(me)};q.styleEnabled&&k.setStyle([]);var Z=yt({},$,$.renderer);k.initRenderer(Z);var ce=function(me,Le,_e){k.notifications(!1);var Ee=k.mutableElements();Ee.length>0&&Ee.remove(),me!=null&&(se(me)||ne(me))&&k.add(me),k.one("layoutready",function(Re){k.notifications(!0),k.emit(Re),k.one("load",Le),k.emitAndNotify("load")}).one("layoutstop",function(){k.one("done",_e),k.emit("done")});var Be=yt({},k._private.options.layout);Be.eles=k.elements(),k.layout(Be).run()};Y([$.style,$.elements],function(ve){var me=ve[0],Le=ve[1];q.styleEnabled&&k.style().append(me),ce(Le,function(){k.startAnimationLoop(),q.ready=!0,ae($.ready)&&k.on("ready",$.ready);for(var _e=0;_e0,H=Wd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),q;if(xe(m.roots))q=m.roots;else if(ne(m.roots)){for(var Y=[],Z=0;Z0;){var _n=Tt(),hn=Lt(_n,ut);if(hn)_n.outgoers().filter(function(Mi){return Mi.isNode()&&S.has(Mi)}).forEach(Wt);else if(hn===null){hu("Detected double maximal shift for node `"+_n.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Je();var Yt=0;if(m.avoidOverlap)for(var Dn=0;Dn0&&Ee[0].length<=3?Da/2:0),G=2*Math.PI/Ee[Fs].length*xs;return Fs===0&&Ee[0].length===1&&(tr=1),{x:Si.x+tr*Math.cos(G),y:Si.y+tr*Math.sin(G)}}else{var Bo={x:Si.x+(xs+1-(Rs+1)/2)*yo,y:(Fs+1)*$a};return Bo}};return S.nodes().layoutPositions(this,m,pa),this};var wre={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function $$(x){this.options=yt({},wre,x)}$$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,O=S.nodes().not(":parent");m.sort&&(O=O.sort(m.sort));for(var N=Wd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=m.sweep===void 0?2*Math.PI-2*Math.PI/O.length:m.sweep,q=H/Math.max(1,O.length-1),Y,Z=0,ce=0;ce1&&m.avoidOverlap){Z*=1.75;var Ee=Math.cos(q)-Math.cos(0),Be=Math.sin(q)-Math.sin(0),Re=Math.sqrt(Z*Z/(Ee*Ee+Be*Be));Y=Math.max(Re,Y)}var Ve=function(st,Ye){var mt=m.startAngle+Ye*q*(M?1:-1),Je=Y*Math.cos(mt),Lt=Y*Math.sin(mt),Mt={x:$.x+Je,y:$.y+Lt};return Mt};return S.nodes().layoutPositions(this,m,Ve),this};var yre={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(m){return m.degree()},levelWidth:function(m){return m.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function z$(x){this.options=yt({},yre,x)}z$.prototype.run=function(){for(var x=this.options,m=x,k=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,S=x.cy,M=m.eles,O=M.nodes().not(":parent"),N=Wd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:S.width(),h:S.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=[],q=0,Y=0;Y0){var ct=Math.abs(Be[0].value-Ve.value);ct>=_e&&(Be=[],Ee.push(Be))}Be.push(Ve)}var st=q+m.minNodeSpacing;if(!m.avoidOverlap){var Ye=Ee.length>0&&Ee[0].length>1,mt=Math.min(N.w,N.h)/2-st,Je=mt/(Ee.length+Ye?1:0);st=Math.min(st,Je)}for(var Lt=0,Mt=0;Mt1&&m.avoidOverlap){var _n=Math.cos(Tt)-Math.cos(0),hn=Math.sin(Tt)-Math.sin(0),Yt=Math.sqrt(st*st/(_n*_n+hn*hn));Lt=Math.max(Yt,Lt)}ut.r=Lt,Lt+=st}if(m.equidistant){for(var Dn=0,ir=0,vr=0;vr=x.numIter||(Are(S,x),S.temperature=S.temperature*x.coolingFactor,S.temperature=x.animationThreshold&&O(),z0(Z)}};Y()}else{for(;q;)q=N(H),H++;V$(S,x),$()}return this},HS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},HS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var kre=function(m,k,S){for(var M=S.eles.edges(),O=S.eles.nodes(),N=Wd(S.boundingBox?S.boundingBox:{x1:0,y1:0,w:m.width(),h:m.height()}),$={isCompound:m.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:M.size(),temperature:S.initialTemp,clientWidth:N.w,clientHeight:N.h,boundingBox:N},H=S.eles.components(),q={},Y=0;Y0){$.graphSet.push(mt);for(var Y=0;YM.count?0:M.graph},Tre=function x(m,k,S,M){var O=M.graphSet[S];if(-10)var Z=M.nodeOverlap*Y,ce=Math.sqrt($*$+H*H),ve=Z*$/ce,me=Z*H/ce;else var Le=VS(m,$,H),_e=VS(k,-1*$,-1*H),Ee=_e.x-Le.x,Be=_e.y-Le.y,Re=Ee*Ee+Be*Be,ce=Math.sqrt(Re),Z=(m.nodeRepulsion+k.nodeRepulsion)/Re,ve=Z*Ee/ce,me=Z*Be/ce;m.isLocked||(m.offsetX-=ve,m.offsetY-=me),k.isLocked||(k.offsetX+=ve,k.offsetY+=me)}},Dre=function(m,k,S,M){if(S>0)var O=m.maxX-k.minX;else var O=k.maxX-m.minX;if(M>0)var N=m.maxY-k.minY;else var N=k.maxY-m.minY;return O>=0&&N>=0?Math.sqrt(O*O+N*N):0},VS=function(m,k,S){var M=m.positionX,O=m.positionY,N=m.height||1,$=m.width||1,H=S/k,q=N/$,Y={};return k===0&&0S?(Y.x=M,Y.y=O+N/2,Y):0k&&-1*q<=H&&H<=q?(Y.x=M-$/2,Y.y=O-$*S/2/k,Y):0=q)?(Y.x=M+N*k/2/S,Y.y=O+N/2,Y):(0>S&&(H<=-1*q||H>=q)&&(Y.x=M-N*k/2/S,Y.y=O-N/2),Y)},Ire=function(m,k){for(var S=0;SS){var _e=k.gravity*ve/Le,Ee=k.gravity*me/Le;ce.offsetX+=_e,ce.offsetY+=Ee}}}}},Nre=function(m,k){var S=[],M=0,O=-1;for(S.push.apply(S,m.graphSet[0]),O+=m.graphSet[0].length;M<=O;){var N=S[M++],$=m.idToIndex[N],H=m.layoutNodes[$],q=H.children;if(0S)var O={x:S*m/M,y:S*k/M};else var O={x:m,y:k};return O},Fre=function x(m,k){var S=m.parentId;if(S!=null){var M=k.layoutNodes[k.idToIndex[S]],O=!1;if((M.maxX==null||m.maxX+M.padRight>M.maxX)&&(M.maxX=m.maxX+M.padRight,O=!0),(M.minX==null||m.minX-M.padLeftM.maxY)&&(M.maxY=m.maxY+M.padBottom,O=!0),(M.minY==null||m.minY-M.padTopEe&&(me+=_e+k.componentSpacing,ve=0,Le=0,_e=0)}}},Rre={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(m){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function U$(x){this.options=yt({},Rre,x)}U$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=S.nodes().not(":parent");m.sort&&(M=M.sort(m.sort));var O=Wd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()});if(O.h===0||O.w===0)S.nodes().layoutPositions(this,m,function(Er){return{x:O.x1,y:O.y1}});else{var N=M.size(),$=Math.sqrt(N*O.h/O.w),H=Math.round($),q=Math.round(O.w/O.h*$),Y=function(Mr){if(Mr==null)return Math.min(H,q);var Cr=Math.min(H,q);Cr==H?H=Mr:q=Mr},Z=function(Mr){if(Mr==null)return Math.max(H,q);var Cr=Math.max(H,q);Cr==H?H=Mr:q=Mr},ce=m.rows,ve=m.cols!=null?m.cols:m.columns;if(ce!=null&&ve!=null)H=ce,q=ve;else if(ce!=null&&ve==null)H=ce,q=Math.ceil(N/H);else if(ce==null&&ve!=null)q=ve,H=Math.ceil(N/q);else if(q*H>N){var me=Y(),Le=Z();(me-1)*Le>=N?Y(me-1):(Le-1)*me>=N&&Z(Le-1)}else for(;q*H=N?Z(Ee+1):Y(_e+1)}var Be=O.w/q,Re=O.h/H;if(m.condense&&(Be=0,Re=0),m.avoidOverlap)for(var Ve=0;Ve=q&&(_n=0,Tt++)},Yt={},Dn=0;Dn(_n=EZ(x,m,hn[Yt],hn[Yt+1],hn[Yt+2],hn[Yt+3])))return _e(Ye,_n),!0}else if(Je.edgeType==="bezier"||Je.edgeType==="multibezier"||Je.edgeType==="self"||Je.edgeType==="compound"){for(var hn=Je.allpts,Yt=0;Yt+5(_n=kZ(x,m,hn[Yt],hn[Yt+1],hn[Yt+2],hn[Yt+3],hn[Yt+4],hn[Yt+5])))return _e(Ye,_n),!0}for(var Dn=Dn||mt.source,ir=ir||mt.target,vr=M.getArrowWidth(Lt,Mt),Nn=[{name:"source",x:Je.arrowStartX,y:Je.arrowStartY,angle:Je.srcArrowAngle},{name:"target",x:Je.arrowEndX,y:Je.arrowEndY,angle:Je.tgtArrowAngle},{name:"mid-source",x:Je.midX,y:Je.midY,angle:Je.midsrcArrowAngle},{name:"mid-target",x:Je.midX,y:Je.midY,angle:Je.midtgtArrowAngle}],Yt=0;Yt0&&(Ee(Dn),Ee(ir))}function Re(Ye,mt,Je){return K2(Ye,mt,Je)}function Ve(Ye,mt){var Je=Ye._private,Lt=ce,Mt;mt?Mt=mt+"-":Mt="",Ye.boundingBox();var ut=Je.labelBounds[mt||"main"],Wt=Ye.pstyle(Mt+"label").value,Tt=Ye.pstyle("text-events").strValue==="yes";if(!(!Tt||!Wt)){var _n=Re(Je.rscratch,"labelX",mt),hn=Re(Je.rscratch,"labelY",mt),Yt=Re(Je.rscratch,"labelAngle",mt),Dn=Ye.pstyle(Mt+"text-margin-x").pfValue,ir=Ye.pstyle(Mt+"text-margin-y").pfValue,vr=ut.x1-Lt-Dn,Nn=ut.x2+Lt-Dn,pr=ut.y1-Lt-ir,Er=ut.y2+Lt-ir;if(Yt){var Mr=Math.cos(Yt),Cr=Math.sin(Yt),Or=function(pa,Mi){return pa=pa-_n,Mi=Mi-hn,{x:pa*Mr-Mi*Cr+_n,y:pa*Cr+Mi*Mr+hn}},Wn=Or(vr,pr),br=Or(vr,Er),Sr=Or(Nn,pr),Nr=Or(Nn,Er),Si=[Wn.x+Dn,Wn.y+ir,Sr.x+Dn,Sr.y+ir,Nr.x+Dn,Nr.y+ir,br.x+Dn,br.y+ir];if(Yd(x,m,Si))return _e(Ye),!0}else if(e8(ut,x,m))return _e(Ye),!0}}for(var ct=N.length-1;ct>=0;ct--){var st=N[ct];st.isNode()?Ee(st)||Ve(st):Be(st)||Ve(st)||Ve(st,"source")||Ve(st,"target")}return $},w5.getAllInBox=function(x,m,k,S){var M=this.getCachedZSortedEles().interactive,O=[],N=Math.min(x,k),$=Math.max(x,k),H=Math.min(m,S),q=Math.max(m,S);x=N,k=$,m=H,S=q;for(var Y=Wd({x1:x,y1:m,x2:k,y2:S}),Z=0;Z0?Math.max(wr-Es,0):Math.min(wr+Es,0)},Wt=ut(Lt,mt),Tt=ut(Mt,Je),_n=!1;Be===q?Ee=Math.abs(Wt)>Math.abs(Tt)?M:S:Be===H||Be===$?(Ee=S,_n=!0):(Be===O||Be===N)&&(Ee=M,_n=!0);var hn=Ee===S,Yt=hn?Tt:Wt,Dn=hn?Mt:Lt,ir=fj(Dn),vr=!1;!(_n&&(Ve||st))&&(Be===$&&Dn<0||Be===H&&Dn>0||Be===O&&Dn>0||Be===N&&Dn<0)&&(ir*=-1,Yt=ir*Math.abs(Yt),vr=!0);var Nn;if(Ve){var pr=ct<0?1+ct:ct;Nn=pr*Yt}else{var Er=ct<0?Yt:0;Nn=Er+ct*ir}var Mr=function(wr){return Math.abs(wr)=Math.abs(Yt)},Cr=Mr(Nn),Or=Mr(Math.abs(Yt)-Math.abs(Nn)),Wn=Cr||Or;if(Wn&&!vr)if(hn){var br=Math.abs(Dn)<=ce/2,Sr=Math.abs(Lt)<=ve/2;if(br){var Nr=(Y.x1+Y.x2)/2,Si=Y.y1,ys=Y.y2;k.segpts=[Nr,Si,Nr,ys]}else if(Sr){var pa=(Y.y1+Y.y2)/2,Mi=Y.x1,gi=Y.x2;k.segpts=[Mi,pa,gi,pa]}else k.segpts=[Y.x1,Y.y2]}else{var fs=Math.abs(Dn)<=Z/2,Fs=Math.abs(Mt)<=me/2;if(fs){var xs=(Y.y1+Y.y2)/2,Rs=Y.x1,yo=Y.x2;k.segpts=[Rs,xs,yo,xs]}else if(Fs){var $a=(Y.x1+Y.x2)/2,Da=Y.y1,Bo=Y.y2;k.segpts=[$a,Da,$a,Bo]}else k.segpts=[Y.x2,Y.y1]}else if(hn){var tr=Y.y1+Nn+(_e?ce/2*ir:0),G=Y.x1,Jn=Y.x2;k.segpts=[G,tr,Jn,tr]}else{var kr=Y.x1+Nn+(_e?Z/2*ir:0),lr=Y.y1,Vt=Y.y2;k.segpts=[kr,lr,kr,Vt]}},S1.tryToCorrectInvalidPoints=function(x,m){var k=x._private.rscratch;if(k.edgeType==="bezier"){var S=m.srcPos,M=m.tgtPos,O=m.srcW,N=m.srcH,$=m.tgtW,H=m.tgtH,q=m.srcShape,Y=m.tgtShape,Z=!X(k.startX)||!X(k.startY),ce=!X(k.arrowStartX)||!X(k.arrowStartY),ve=!X(k.endX)||!X(k.endY),me=!X(k.arrowEndX)||!X(k.arrowEndY),Le=3,_e=this.getArrowWidth(x.pstyle("width").pfValue,x.pstyle("arrow-scale").value)*this.arrowShapeWidth,Ee=Le*_e,Be=h5({x:k.ctrlpts[0],y:k.ctrlpts[1]},{x:k.startX,y:k.startY}),Re=BeTt.poolIndex()){var _n=Wt;Wt=Tt,Tt=_n}var hn=Je.srcPos=Wt.position(),Yt=Je.tgtPos=Tt.position(),Dn=Je.srcW=Wt.outerWidth(),ir=Je.srcH=Wt.outerHeight(),vr=Je.tgtW=Tt.outerWidth(),Nn=Je.tgtH=Tt.outerHeight(),pr=Je.srcShape=k.nodeShapes[m.getNodeShape(Wt)],Er=Je.tgtShape=k.nodeShapes[m.getNodeShape(Tt)];Je.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Mr=0;Mr0){var br=O,Sr=f5(br,J7(k)),Nr=f5(br,J7(Wn)),Si=Sr;if(Nr2){var ys=f5(br,{x:Wn[2],y:Wn[3]});ys0){var G=N,Jn=f5(G,J7(k)),kr=f5(G,J7(tr)),lr=Jn;if(kr2){var Vt=f5(G,{x:tr[2],y:tr[3]});Vt=me||Ye){_e={cp:Ve,segment:st};break}}if(_e)break}var mt=_e.cp,Je=_e.segment,Lt=(me-Ee)/Je.length,Mt=Je.t1-Je.t0,ut=ve?Je.t0+Mt*Lt:Je.t1-Mt*Lt;ut=U9(0,ut,1),m=Z7(mt.p0,mt.p1,mt.p2,ut),ce=Hre(mt.p0,mt.p1,mt.p2,ut);break}case"straight":case"segments":case"haystack":{for(var Wt=0,Tt,_n,hn,Yt,Dn=S.allpts.length,ir=0;ir+3=me));ir+=2);var vr=me-_n,Nn=vr/Tt;Nn=U9(0,Nn,1),m=fZ(hn,Yt,Nn),ce=GS(hn,Yt);break}}N("labelX",Z,m.x),N("labelY",Z,m.y),N("labelAutoAngle",Z,ce)}};q("source"),q("target"),this.applyLabelDimensions(x)}},km.applyLabelDimensions=function(x){this.applyPrefixedLabelDimensions(x),x.isEdge()&&(this.applyPrefixedLabelDimensions(x,"source"),this.applyPrefixedLabelDimensions(x,"target"))},km.applyPrefixedLabelDimensions=function(x,m){var k=x._private,S=this.getLabelText(x,m),M=this.calculateLabelDimensions(x,S),O=x.pstyle("line-height").pfValue,N=x.pstyle("text-wrap").strValue,$=K2(k.rscratch,"labelWrapCachedLines",m)||[],H=N!=="wrap"?1:Math.max($.length,1),q=M.height/H,Y=q*O,Z=M.width,ce=M.height+(H-1)*(O-1)*q;J3(k.rstyle,"labelWidth",m,Z),J3(k.rscratch,"labelWidth",m,Z),J3(k.rstyle,"labelHeight",m,ce),J3(k.rscratch,"labelHeight",m,ce),J3(k.rscratch,"labelLineHeight",m,Y)},km.getLabelText=function(x,m){var k=x._private,S=m?m+"-":"",M=x.pstyle(S+"label").strValue,O=x.pstyle("text-transform").value,N=function(vr,Nn){return Nn?(J3(k.rscratch,vr,m,Nn),Nn):K2(k.rscratch,vr,m)};if(!M)return"";O=="none"||(O=="uppercase"?M=M.toUpperCase():O=="lowercase"&&(M=M.toLowerCase()));var $=x.pstyle("text-wrap").value;if($==="wrap"){var H=N("labelKey");if(H!=null&&N("labelWrapKey")===H)return N("labelWrapCachedText");for(var q="​",Y=M.split(` +`),Z=x.pstyle("text-max-width").pfValue,ce=x.pstyle("text-overflow-wrap").value,ve=ce==="anywhere",me=[],Le=/[\s\u200b]+/,_e=ve?"":" ",Ee=0;EeZ){for(var st=Be.split(Le),Ye="",mt=0;mtWt)break;Tt+=M[Yt],Yt===M.length-1&&(hn=!0)}return hn||(Tt+=_n),Tt}return M},km.getLabelJustification=function(x){var m=x.pstyle("text-justification").strValue,k=x.pstyle("text-halign").strValue;if(m==="auto")if(x.isNode())switch(k){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return m},km.calculateLabelDimensions=function(x,m){var k=this,S=ud(m,x._private.labelDimsKey),M=k.labelDimCache||(k.labelDimCache=[]),O=M[S];if(O!=null)return O;var N=0,$=x.pstyle("font-style").strValue,H=x.pstyle("font-size").pfValue,q=x.pstyle("font-family").strValue,Y=x.pstyle("font-weight").strValue,Z=this.labelCalcCanvas,ce=this.labelCalcCanvasContext;if(!Z){Z=this.labelCalcCanvas=document.createElement("canvas"),ce=this.labelCalcCanvasContext=Z.getContext("2d");var ve=Z.style;ve.position="absolute",ve.left="-9999px",ve.top="-9999px",ve.zIndex="-1",ve.visibility="hidden",ve.pointerEvents="none"}ce.font="".concat($," ").concat(Y," ").concat(H,"px ").concat(q);for(var me=0,Le=0,_e=m.split(` +`),Ee=0;Ee<_e.length;Ee++){var Be=_e[Ee],Re=ce.measureText(Be),Ve=Math.ceil(Re.width),ct=H;me=Math.max(Ve,me),Le+=ct}return me+=N,Le+=N,M[S]={width:me,height:Le}},km.calculateLabelAngle=function(x,m){var k=x._private,S=k.rscratch,M=x.isEdge(),O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=N.strValue;return $==="none"?0:M&&$==="autorotate"?S.labelAutoAngle:$==="autorotate"?0:N.pfValue},km.calculateLabelAngles=function(x){var m=this,k=x.isEdge(),S=x._private,M=S.rscratch;M.labelAngle=m.calculateLabelAngle(x),k&&(M.sourceLabelAngle=m.calculateLabelAngle(x,"source"),M.targetLabelAngle=m.calculateLabelAngle(x,"target"))};var ez={},tz=28,nz=!1;ez.getNodeShape=function(x){var m=this,k=x.pstyle("shape").value;if(k==="cutrectangle"&&(x.width()1&&arguments[1]!==void 0?arguments[1]:!0;if(m.merge(N),$)for(var H=0;H=x.desktopTapThreshold2}var Wv=M(G);Wl&&(x.hoverData.tapholdCancelled=!0);var sy=function(){var Em=x.hoverData.dragDelta=x.hoverData.dragDelta||[];Em.length===0?(Em.push(xo[0]),Em.push(xo[1])):(Em[0]+=xo[0],Em[1]+=xo[1])};kr=!0,S(za,["mousemove","vmousemove","tapdrag"],G,{x:wr[0],y:wr[1]});var E8=function(){x.data.bgActivePosistion=void 0,x.hoverData.selecting||lr.emit({originalEvent:G,type:"boxstart",position:{x:wr[0],y:wr[1]}}),$c[4]=1,x.hoverData.selecting=!0,x.redrawHint("select",!0),x.redraw()};if(x.hoverData.which===3){if(Wl){var x5={originalEvent:G,type:"cxtdrag",position:{x:wr[0],y:wr[1]}};ba?ba.emit(x5):lr.emit(x5),x.hoverData.cxtDragged=!0,(!x.hoverData.cxtOver||za!==x.hoverData.cxtOver)&&(x.hoverData.cxtOver&&x.hoverData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:wr[0],y:wr[1]}}),x.hoverData.cxtOver=za,za&&za.emit({originalEvent:G,type:"cxtdragover",position:{x:wr[0],y:wr[1]}}))}}else if(x.hoverData.dragging){if(kr=!0,lr.panningEnabled()&&lr.userPanningEnabled()){var T8;if(x.hoverData.justStartedPan){var ZS=x.hoverData.mdownPos;T8={x:(wr[0]-ZS[0])*Vt,y:(wr[1]-ZS[1])*Vt},x.hoverData.justStartedPan=!1}else T8={x:xo[0]*Vt,y:xo[1]*Vt};lr.panBy(T8),lr.emit("dragpan"),x.hoverData.dragged=!0}wr=x.projectIntoViewport(G.clientX,G.clientY)}else if($c[4]==1&&(ba==null||ba.pannable())){if(Wl){if(!x.hoverData.dragging&&lr.boxSelectionEnabled()&&(Wv||!lr.panningEnabled()||!lr.userPanningEnabled()))E8();else if(!x.hoverData.selecting&&lr.panningEnabled()&&lr.userPanningEnabled()){var k5=O(ba,x.hoverData.downs);k5&&(x.hoverData.dragging=!0,x.hoverData.justStartedPan=!0,$c[4]=0,x.data.bgActivePosistion=J7(Es),x.redrawHint("select",!0),x.redraw())}ba&&ba.pannable()&&ba.active()&&ba.unactivate()}}else{if(ba&&ba.pannable()&&ba.active()&&ba.unactivate(),(!ba||!ba.grabbed())&&za!=Sc&&(Sc&&S(Sc,["mouseout","tapdragout"],G,{x:wr[0],y:wr[1]}),za&&S(za,["mouseover","tapdragover"],G,{x:wr[0],y:wr[1]}),x.hoverData.last=za),ba)if(Wl){if(lr.boxSelectionEnabled()&&Wv)ba&&ba.grabbed()&&(_e(lh),ba.emit("freeon"),lh.emit("free"),x.dragData.didDrag&&(ba.emit("dragfreeon"),lh.emit("dragfree"))),E8();else if(ba&&ba.grabbed()&&x.nodeIsDraggable(ba)){var Qd=!x.dragData.didDrag;Qd&&x.redrawHint("eles",!0),x.dragData.didDrag=!0,x.hoverData.draggingEles||me(lh,{inDragLayer:!0});var _1={x:0,y:0};if(X(xo[0])&&X(xo[1])&&(_1.x+=xo[0],_1.y+=xo[1],Qd)){var Jd=x.hoverData.dragDelta;Jd&&X(Jd[0])&&X(Jd[1])&&(_1.x+=Jd[0],_1.y+=Jd[1])}x.hoverData.draggingEles=!0,lh.silentShift(_1).emit("position drag"),x.redrawHint("drag",!0),x.redraw()}}else sy();kr=!0}if($c[2]=wr[0],$c[3]=wr[1],kr)return G.stopPropagation&&G.stopPropagation(),G.preventDefault&&G.preventDefault(),!1}},!1);var Lt,Mt,ut;x.registerBinding(m,"mouseup",function(G){var Jn=x.hoverData.capture;if(Jn){x.hoverData.capture=!1;var kr=x.cy,lr=x.projectIntoViewport(G.clientX,G.clientY),Vt=x.selection,Hs=x.findNearestElement(lr[0],lr[1],!0,!1),wr=x.dragData.possibleDragElements,Es=x.hoverData.down,go=M(G);if(x.data.bgActivePosistion&&(x.redrawHint("select",!0),x.redraw()),x.hoverData.tapholdCancelled=!0,x.data.bgActivePosistion=void 0,Es&&Es.unactivate(),x.hoverData.which===3){var $c={originalEvent:G,type:"cxttapend",position:{x:lr[0],y:lr[1]}};if(Es?Es.emit($c):kr.emit($c),!x.hoverData.cxtDragged){var za={originalEvent:G,type:"cxttap",position:{x:lr[0],y:lr[1]}};Es?Es.emit(za):kr.emit(za)}x.hoverData.cxtDragged=!1,x.hoverData.which=null}else if(x.hoverData.which===1){if(S(Hs,["mouseup","tapend","vmouseup"],G,{x:lr[0],y:lr[1]}),!x.dragData.didDrag&&!x.hoverData.dragged&&!x.hoverData.selecting&&!x.hoverData.isOverThresholdDrag&&(S(Es,["click","tap","vclick"],G,{x:lr[0],y:lr[1]}),Mt=!1,G.timeStamp-ut<=kr.multiClickDebounceTime()?(Lt&&clearTimeout(Lt),Mt=!0,ut=null,S(Es,["dblclick","dbltap","vdblclick"],G,{x:lr[0],y:lr[1]})):(Lt=setTimeout(function(){Mt||S(Es,["oneclick","onetap","voneclick"],G,{x:lr[0],y:lr[1]})},kr.multiClickDebounceTime()),ut=G.timeStamp)),Es==null&&!x.dragData.didDrag&&!x.hoverData.selecting&&!x.hoverData.dragged&&!M(G)&&(kr.$(k).unselect(["tapunselect"]),wr.length>0&&x.redrawHint("eles",!0),x.dragData.possibleDragElements=wr=kr.collection()),Hs==Es&&!x.dragData.didDrag&&!x.hoverData.selecting&&Hs!=null&&Hs._private.selectable&&(x.hoverData.dragging||(kr.selectionType()==="additive"||go?Hs.selected()?Hs.unselect(["tapunselect"]):Hs.select(["tapselect"]):go||(kr.$(k).unmerge(Hs).unselect(["tapunselect"]),Hs.select(["tapselect"]))),x.redrawHint("eles",!0)),x.hoverData.selecting){var Sc=kr.collection(x.getAllInBox(Vt[0],Vt[1],Vt[2],Vt[3]));x.redrawHint("select",!0),Sc.length>0&&x.redrawHint("eles",!0),kr.emit({type:"boxend",originalEvent:G,position:{x:lr[0],y:lr[1]}});var ba=function(Wl){return Wl.selectable()&&!Wl.selected()};kr.selectionType()==="additive"||go||kr.$(k).unmerge(Sc).unselect(),Sc.emit("box").stdFilter(ba).select().emit("boxselect"),x.redraw()}if(x.hoverData.dragging&&(x.hoverData.dragging=!1,x.redrawHint("select",!0),x.redrawHint("eles",!0),x.redraw()),!Vt[4]){x.redrawHint("drag",!0),x.redrawHint("eles",!0);var xo=Es&&Es.grabbed();_e(wr),xo&&(Es.emit("freeon"),wr.emit("free"),x.dragData.didDrag&&(Es.emit("dragfreeon"),wr.emit("dragfree")))}}Vt[4]=0,x.hoverData.down=null,x.hoverData.cxtStarted=!1,x.hoverData.draggingEles=!1,x.hoverData.selecting=!1,x.hoverData.isOverThresholdDrag=!1,x.dragData.didDrag=!1,x.hoverData.dragged=!1,x.hoverData.dragDelta=[],x.hoverData.mdownPos=null,x.hoverData.mdownGPos=null}},!1);var Wt=function(G){if(!x.scrollingPage){var Jn=x.cy,kr=Jn.zoom(),lr=Jn.pan(),Vt=x.projectIntoViewport(G.clientX,G.clientY),Hs=[Vt[0]*kr+lr.x,Vt[1]*kr+lr.y];if(x.hoverData.draggingEles||x.hoverData.dragging||x.hoverData.cxtStarted||mt()){G.preventDefault();return}if(Jn.panningEnabled()&&Jn.userPanningEnabled()&&Jn.zoomingEnabled()&&Jn.userZoomingEnabled()){G.preventDefault(),x.data.wheelZooming=!0,clearTimeout(x.data.wheelTimeout),x.data.wheelTimeout=setTimeout(function(){x.data.wheelZooming=!1,x.redrawHint("eles",!0),x.redraw()},150);var wr;G.deltaY!=null?wr=G.deltaY/-250:G.wheelDeltaY!=null?wr=G.wheelDeltaY/1e3:wr=G.wheelDelta/1e3,wr=wr*x.wheelSensitivity;var Es=G.deltaMode===1;Es&&(wr*=33);var go=Jn.zoom()*Math.pow(10,wr);G.type==="gesturechange"&&(go=x.gestureStartZoom*G.scale),Jn.zoom({level:go,renderedPosition:{x:Hs[0],y:Hs[1]}}),Jn.emit(G.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};x.registerBinding(x.container,"wheel",Wt,!0),x.registerBinding(m,"scroll",function(G){x.scrollingPage=!0,clearTimeout(x.scrollingPageTimeout),x.scrollingPageTimeout=setTimeout(function(){x.scrollingPage=!1},250)},!0),x.registerBinding(x.container,"gesturestart",function(G){x.gestureStartZoom=x.cy.zoom(),x.hasTouchStarted||G.preventDefault()},!0),x.registerBinding(x.container,"gesturechange",function(tr){x.hasTouchStarted||Wt(tr)},!0),x.registerBinding(x.container,"mouseout",function(G){var Jn=x.projectIntoViewport(G.clientX,G.clientY);x.cy.emit({originalEvent:G,type:"mouseout",position:{x:Jn[0],y:Jn[1]}})},!1),x.registerBinding(x.container,"mouseover",function(G){var Jn=x.projectIntoViewport(G.clientX,G.clientY);x.cy.emit({originalEvent:G,type:"mouseover",position:{x:Jn[0],y:Jn[1]}})},!1);var Tt,_n,hn,Yt,Dn,ir,vr,Nn,pr,Er,Mr,Cr,Or,Wn=function(G,Jn,kr,lr){return Math.sqrt((kr-G)*(kr-G)+(lr-Jn)*(lr-Jn))},br=function(G,Jn,kr,lr){return(kr-G)*(kr-G)+(lr-Jn)*(lr-Jn)},Sr;x.registerBinding(x.container,"touchstart",Sr=function(G){if(x.hasTouchStarted=!0,!!Je(G)){Be(),x.touchData.capture=!0,x.data.bgActivePosistion=void 0;var Jn=x.cy,kr=x.touchData.now,lr=x.touchData.earlier;if(G.touches[0]){var Vt=x.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);kr[0]=Vt[0],kr[1]=Vt[1]}if(G.touches[1]){var Vt=x.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);kr[2]=Vt[0],kr[3]=Vt[1]}if(G.touches[2]){var Vt=x.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);kr[4]=Vt[0],kr[5]=Vt[1]}if(G.touches[1]){x.touchData.singleTouchMoved=!0,_e(x.dragData.touchDragEles);var Hs=x.findContainerClientCoords();pr=Hs[0],Er=Hs[1],Mr=Hs[2],Cr=Hs[3],Tt=G.touches[0].clientX-pr,_n=G.touches[0].clientY-Er,hn=G.touches[1].clientX-pr,Yt=G.touches[1].clientY-Er,Or=0<=Tt&&Tt<=Mr&&0<=hn&&hn<=Mr&&0<=_n&&_n<=Cr&&0<=Yt&&Yt<=Cr;var wr=Jn.pan(),Es=Jn.zoom();Dn=Wn(Tt,_n,hn,Yt),ir=br(Tt,_n,hn,Yt),vr=[(Tt+hn)/2,(_n+Yt)/2],Nn=[(vr[0]-wr.x)/Es,(vr[1]-wr.y)/Es];var go=200,$c=go*go;if(ir<$c&&!G.touches[2]){var za=x.findNearestElement(kr[0],kr[1],!0,!0),Sc=x.findNearestElement(kr[2],kr[3],!0,!0);za&&za.isNode()?(za.activate().emit({originalEvent:G,type:"cxttapstart",position:{x:kr[0],y:kr[1]}}),x.touchData.start=za):Sc&&Sc.isNode()?(Sc.activate().emit({originalEvent:G,type:"cxttapstart",position:{x:kr[0],y:kr[1]}}),x.touchData.start=Sc):Jn.emit({originalEvent:G,type:"cxttapstart",position:{x:kr[0],y:kr[1]}}),x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxt=!0,x.touchData.cxtDragged=!1,x.data.bgActivePosistion=void 0,x.redraw();return}}if(G.touches[2])Jn.boxSelectionEnabled()&&G.preventDefault();else if(!G.touches[1]){if(G.touches[0]){var ba=x.findNearestElements(kr[0],kr[1],!0,!0),xo=ba[0];if(xo!=null&&(xo.activate(),x.touchData.start=xo,x.touchData.starts=ba,x.nodeIsGrabbable(xo))){var lh=x.dragData.touchDragEles=Jn.collection(),Wl=null;x.redrawHint("eles",!0),x.redrawHint("drag",!0),xo.selected()?(Wl=Jn.$(function(fd){return fd.selected()&&x.nodeIsGrabbable(fd)}),me(Wl,{addToList:lh})):Le(xo,{addToList:lh}),Y(xo);var Z2=function(Wv){return{originalEvent:G,type:Wv,position:{x:kr[0],y:kr[1]}}};xo.emit(Z2("grabon")),Wl?Wl.forEach(function(fd){fd.emit(Z2("grab"))}):xo.emit(Z2("grab"))}S(xo,["touchstart","tapstart","vmousedown"],G,{x:kr[0],y:kr[1]}),xo==null&&(x.data.bgActivePosistion={x:Vt[0],y:Vt[1]},x.redrawHint("select",!0),x.redraw()),x.touchData.singleTouchMoved=!1,x.touchData.singleTouchStartTime=+new Date,clearTimeout(x.touchData.tapholdTimeout),x.touchData.tapholdTimeout=setTimeout(function(){x.touchData.singleTouchMoved===!1&&!x.pinching&&!x.touchData.selecting&&S(x.touchData.start,["taphold"],G,{x:kr[0],y:kr[1]})},x.tapholdDuration)}}if(G.touches.length>=1){for(var eb=x.touchData.startPosition=[null,null,null,null,null,null],G0=0;G0=x.touchTapThreshold2}if(Jn&&x.touchData.cxt){G.preventDefault();var eb=G.touches[0].clientX-pr,G0=G.touches[0].clientY-Er,zp=G.touches[1].clientX-pr,fd=G.touches[1].clientY-Er,Wv=br(eb,G0,zp,fd),sy=Wv/ir,E8=150,x5=E8*E8,T8=1.5,ZS=T8*T8;if(sy>=ZS||Wv>=x5){x.touchData.cxt=!1,x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var k5={originalEvent:G,type:"cxttapend",position:{x:Vt[0],y:Vt[1]}};x.touchData.start?(x.touchData.start.unactivate().emit(k5),x.touchData.start=null):lr.emit(k5)}}if(Jn&&x.touchData.cxt){var k5={originalEvent:G,type:"cxtdrag",position:{x:Vt[0],y:Vt[1]}};x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.touchData.start?x.touchData.start.emit(k5):lr.emit(k5),x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxtDragged=!0;var Qd=x.findNearestElement(Vt[0],Vt[1],!0,!0);(!x.touchData.cxtOver||Qd!==x.touchData.cxtOver)&&(x.touchData.cxtOver&&x.touchData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:Vt[0],y:Vt[1]}}),x.touchData.cxtOver=Qd,Qd&&Qd.emit({originalEvent:G,type:"cxtdragover",position:{x:Vt[0],y:Vt[1]}}))}else if(Jn&&G.touches[2]&&lr.boxSelectionEnabled())G.preventDefault(),x.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,x.touchData.selecting||lr.emit({originalEvent:G,type:"boxstart",position:{x:Vt[0],y:Vt[1]}}),x.touchData.selecting=!0,x.touchData.didSelect=!0,kr[4]=1,!kr||kr.length===0||kr[0]===void 0?(kr[0]=(Vt[0]+Vt[2]+Vt[4])/3,kr[1]=(Vt[1]+Vt[3]+Vt[5])/3,kr[2]=(Vt[0]+Vt[2]+Vt[4])/3+1,kr[3]=(Vt[1]+Vt[3]+Vt[5])/3+1):(kr[2]=(Vt[0]+Vt[2]+Vt[4])/3,kr[3]=(Vt[1]+Vt[3]+Vt[5])/3),x.redrawHint("select",!0),x.redraw();else if(Jn&&G.touches[1]&&!x.touchData.didSelect&&lr.zoomingEnabled()&&lr.panningEnabled()&&lr.userZoomingEnabled()&&lr.userPanningEnabled()){G.preventDefault(),x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var _1=x.dragData.touchDragEles;if(_1){x.redrawHint("drag",!0);for(var Jd=0;Jd<_1.length;Jd++){var Yv=_1[Jd]._private;Yv.grabbed=!1,Yv.rscratch.inDragLayer=!1}}var Em=x.touchData.start,eb=G.touches[0].clientX-pr,G0=G.touches[0].clientY-Er,zp=G.touches[1].clientX-pr,fd=G.touches[1].clientY-Er,Lz=Wn(eb,G0,zp,fd),Lie=Lz/Dn;if(Or){var Mie=eb-Tt,e_=G0-_n,Die=zp-hn,Iie=fd-Yt,E5=(Mie+Die)/2,Mz=(e_+Iie)/2,yk=lr.zoom(),UI=yk*Lie,t_=lr.pan(),Dz=Nn[0]*yk+t_.x,Iz=Nn[1]*yk+t_.y,Oie={x:-UI/yk*(Dz-t_.x-E5)+Dz,y:-UI/yk*(Iz-t_.y-Mz)+Iz};if(Em&&Em.active()){var _1=x.dragData.touchDragEles;_e(_1),x.redrawHint("drag",!0),x.redrawHint("eles",!0),Em.unactivate().emit("freeon"),_1.emit("free"),x.dragData.didDrag&&(Em.emit("dragfreeon"),_1.emit("dragfree"))}lr.viewport({zoom:UI,pan:Oie,cancelOnFailedZoom:!0}),lr.emit("pinchzoom"),Dn=Lz,Tt=eb,_n=G0,hn=zp,Yt=fd,x.pinching=!0}if(G.touches[0]){var Es=x.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);Vt[0]=Es[0],Vt[1]=Es[1]}if(G.touches[1]){var Es=x.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);Vt[2]=Es[0],Vt[3]=Es[1]}if(G.touches[2]){var Es=x.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);Vt[4]=Es[0],Vt[5]=Es[1]}}else if(G.touches[0]&&!x.touchData.didSelect){var qp=x.touchData.start,n_=x.touchData.last,Qd;if(!x.hoverData.draggingEles&&!x.swipePanning&&(Qd=x.findNearestElement(Vt[0],Vt[1],!0,!0)),Jn&&qp!=null&&G.preventDefault(),Jn&&qp!=null&&x.nodeIsDraggable(qp))if($c){var _1=x.dragData.touchDragEles,GI=!x.dragData.didDrag;GI&&me(_1,{inDragLayer:!0}),x.dragData.didDrag=!0;var Tm={x:0,y:0};if(X(za[0])&&X(za[1])&&(Tm.x+=za[0],Tm.y+=za[1],GI)){x.redrawHint("eles",!0);var Zd=x.touchData.dragDelta;Zd&&X(Zd[0])&&X(Zd[1])&&(Tm.x+=Zd[0],Tm.y+=Zd[1])}x.hoverData.draggingEles=!0,_1.silentShift(Tm).emit("position drag"),x.redrawHint("drag",!0),x.touchData.startPosition[0]==Hs[0]&&x.touchData.startPosition[1]==Hs[1]&&x.redrawHint("eles",!0),x.redraw()}else{var Zd=x.touchData.dragDelta=x.touchData.dragDelta||[];Zd.length===0?(Zd.push(za[0]),Zd.push(za[1])):(Zd[0]+=za[0],Zd[1]+=za[1])}if(S(qp||Qd,["touchmove","tapdrag","vmousemove"],G,{x:Vt[0],y:Vt[1]}),(!qp||!qp.grabbed())&&Qd!=n_&&(n_&&n_.emit({originalEvent:G,type:"tapdragout",position:{x:Vt[0],y:Vt[1]}}),Qd&&Qd.emit({originalEvent:G,type:"tapdragover",position:{x:Vt[0],y:Vt[1]}})),x.touchData.last=Qd,Jn)for(var Jd=0;Jd0&&!x.hoverData.draggingEles&&!x.swipePanning&&x.data.bgActivePosistion!=null&&(x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.redraw())}},!1);var Si;x.registerBinding(m,"touchcancel",Si=function(G){var Jn=x.touchData.start;x.touchData.capture=!1,Jn&&Jn.unactivate()});var ys,pa,Mi,gi;if(x.registerBinding(m,"touchend",ys=function(G){var Jn=x.touchData.start,kr=x.touchData.capture;if(kr)G.touches.length===0&&(x.touchData.capture=!1),G.preventDefault();else return;var lr=x.selection;x.swipePanning=!1,x.hoverData.draggingEles=!1;var Vt=x.cy,Hs=Vt.zoom(),wr=x.touchData.now,Es=x.touchData.earlier;if(G.touches[0]){var go=x.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);wr[0]=go[0],wr[1]=go[1]}if(G.touches[1]){var go=x.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);wr[2]=go[0],wr[3]=go[1]}if(G.touches[2]){var go=x.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);wr[4]=go[0],wr[5]=go[1]}Jn&&Jn.unactivate();var $c;if(x.touchData.cxt){if($c={originalEvent:G,type:"cxttapend",position:{x:wr[0],y:wr[1]}},Jn?Jn.emit($c):Vt.emit($c),!x.touchData.cxtDragged){var za={originalEvent:G,type:"cxttap",position:{x:wr[0],y:wr[1]}};Jn?Jn.emit(za):Vt.emit(za)}x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxt=!1,x.touchData.start=null,x.redraw();return}if(!G.touches[2]&&Vt.boxSelectionEnabled()&&x.touchData.selecting){x.touchData.selecting=!1;var Sc=Vt.collection(x.getAllInBox(lr[0],lr[1],lr[2],lr[3]));lr[0]=void 0,lr[1]=void 0,lr[2]=void 0,lr[3]=void 0,lr[4]=0,x.redrawHint("select",!0),Vt.emit({type:"boxend",originalEvent:G,position:{x:wr[0],y:wr[1]}});var ba=function(x5){return x5.selectable()&&!x5.selected()};Sc.emit("box").stdFilter(ba).select().emit("boxselect"),Sc.nonempty()&&x.redrawHint("eles",!0),x.redraw()}if(Jn!=null&&Jn.unactivate(),G.touches[2])x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);else if(!G.touches[1]){if(!G.touches[0]){if(!G.touches[0]){x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var xo=x.dragData.touchDragEles;if(Jn!=null){var lh=Jn._private.grabbed;_e(xo),x.redrawHint("drag",!0),x.redrawHint("eles",!0),lh&&(Jn.emit("freeon"),xo.emit("free"),x.dragData.didDrag&&(Jn.emit("dragfreeon"),xo.emit("dragfree"))),S(Jn,["touchend","tapend","vmouseup","tapdragout"],G,{x:wr[0],y:wr[1]}),Jn.unactivate(),x.touchData.start=null}else{var Wl=x.findNearestElement(wr[0],wr[1],!0,!0);S(Wl,["touchend","tapend","vmouseup","tapdragout"],G,{x:wr[0],y:wr[1]})}var Z2=x.touchData.startPosition[0]-wr[0],eb=Z2*Z2,G0=x.touchData.startPosition[1]-wr[1],zp=G0*G0,fd=eb+zp,Wv=fd*Hs*Hs;x.touchData.singleTouchMoved||(Jn||Vt.$(":selected").unselect(["tapunselect"]),S(Jn,["tap","vclick"],G,{x:wr[0],y:wr[1]}),pa=!1,G.timeStamp-gi<=Vt.multiClickDebounceTime()?(Mi&&clearTimeout(Mi),pa=!0,gi=null,S(Jn,["dbltap","vdblclick"],G,{x:wr[0],y:wr[1]})):(Mi=setTimeout(function(){pa||S(Jn,["onetap","voneclick"],G,{x:wr[0],y:wr[1]})},Vt.multiClickDebounceTime()),gi=G.timeStamp)),Jn!=null&&!x.dragData.didDrag&&Jn._private.selectable&&Wv"u"){var fs=[],Fs=function(G){return{clientX:G.clientX,clientY:G.clientY,force:1,identifier:G.pointerId,pageX:G.pageX,pageY:G.pageY,radiusX:G.width/2,radiusY:G.height/2,screenX:G.screenX,screenY:G.screenY,target:G.target}},xs=function(G){return{event:G,touch:Fs(G)}},Rs=function(G){fs.push(xs(G))},yo=function(G){for(var Jn=0;Jn0)return Nn[0]}return null},ve=Object.keys(Z),me=0;me0?ce:bj(O,N,m,k,S,M,$)},checkPoint:function(m,k,S,M,O,N,$){var H=W9(M,O),q=2*H;if(Uv(m,k,this.points,N,$,M,O-q,[0,-1],S)||Uv(m,k,this.points,N,$,M-q,O,[0,-1],S))return!0;var Y=M/2+2*S,Z=O/2+2*S,ce=[N-Y,$-Z,N-Y,$,N+Y,$,N+Y,$-Z];return!!(Yd(m,k,ce)||d5(m,k,q,q,N+M/2-H,$+O/2-H,S)||d5(m,k,q,q,N-M/2+H,$+O/2-H,S))}}},Kv.registerNodeShapes=function(){var x=this.nodeShapes={},m=this;this.generateEllipse(),this.generatePolygon("triangle",hd(3,0)),this.generateRoundPolygon("round-triangle",hd(3,0)),this.generatePolygon("rectangle",hd(4,0)),x.square=x.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var k=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",k),this.generateRoundPolygon("round-diamond",k)}this.generatePolygon("pentagon",hd(5,0)),this.generateRoundPolygon("round-pentagon",hd(5,0)),this.generatePolygon("hexagon",hd(6,0)),this.generateRoundPolygon("round-hexagon",hd(6,0)),this.generatePolygon("heptagon",hd(7,0)),this.generateRoundPolygon("round-heptagon",hd(7,0)),this.generatePolygon("octagon",hd(8,0)),this.generateRoundPolygon("round-octagon",hd(8,0));var S=new Array(20);{var M=oI(5,0),O=oI(5,Math.PI/5),N=.5*(3-Math.sqrt(5));N*=1.57;for(var $=0;$=m.deqFastCost*Ve)break}else if(q){if(Be>=m.deqCost*ve||Be>=m.deqAvgCost*ce)break}else if(Re>=m.deqNoDrawCost*RI)break;var ct=m.deq(S,_e,Le);if(ct.length>0)for(var st=0;st0&&(m.onDeqd(S,me),!q&&m.shouldRedraw(S,me,_e,Le)&&O())},$=m.priority||nI;M.beforeRender(N,$(S))}}}},Ure=function(){function x(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:X3;d(this,x),this.idsByKey=new wm,this.keyForId=new wm,this.cachesByLvl=new wm,this.lvls=[],this.getKey=m,this.doesEleInvalidateKey=k}return v(x,[{key:"getIdsFor",value:function(k){k==null&&ch("Can not get id list for null key");var S=this.idsByKey,M=this.idsByKey.get(k);return M||(M=new Q7,S.set(k,M)),M}},{key:"addIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).add(S)}},{key:"deleteIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).delete(S)}},{key:"getNumberOfIdsForKey",value:function(k){return k==null?0:this.getIdsFor(k).size}},{key:"updateKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);this.deleteIdForKey(M,S),this.addIdForKey(O,S),this.keyForId.set(S,O)}},{key:"deleteKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteIdForKey(M,S),this.keyForId.delete(S)}},{key:"keyHasChangedFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);return M!==O}},{key:"isInvalid",value:function(k){return this.keyHasChangedFor(k)||this.doesEleInvalidateKey(k)}},{key:"getCachesAt",value:function(k){var S=this.cachesByLvl,M=this.lvls,O=S.get(k);return O||(O=new wm,S.set(k,O),M.push(k)),O}},{key:"getCache",value:function(k,S){return this.getCachesAt(S).get(k)}},{key:"get",value:function(k,S){var M=this.getKey(k),O=this.getCache(M,S);return O!=null&&this.updateKeyMappingFor(k),O}},{key:"getForCachedKey",value:function(k,S){var M=this.keyForId.get(k.id()),O=this.getCache(M,S);return O}},{key:"hasCache",value:function(k,S){return this.getCachesAt(S).has(k)}},{key:"has",value:function(k,S){var M=this.getKey(k);return this.hasCache(M,S)}},{key:"setCache",value:function(k,S,M){M.key=k,this.getCachesAt(S).set(k,M)}},{key:"set",value:function(k,S,M){var O=this.getKey(k);this.setCache(O,S,M),this.updateKeyMappingFor(k)}},{key:"deleteCache",value:function(k,S){this.getCachesAt(S).delete(k)}},{key:"delete",value:function(k,S){var M=this.getKey(k);this.deleteCache(M,S)}},{key:"invalidateKey",value:function(k){var S=this;this.lvls.forEach(function(M){return S.deleteCache(k,M)})}},{key:"invalidate",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteKeyMappingFor(k);var O=this.doesEleInvalidateKey(k);return O&&this.invalidateKey(M),O||this.getNumberOfIdsForKey(M)===0}}]),x}(),cz=25,YS=50,XS=-4,jI=3,Gre=7.99,Kre=8,Wre=1024,Yre=1024,Xre=1024,Qre=.2,Jre=.8,Zre=10,eie=.15,tie=.1,nie=.9,rie=.9,iie=100,sie=1,v8={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},aie=q0({getKey:null,doesEleInvalidateKey:X3,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:l5,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),dk=function(m,k){var S=this;S.renderer=m,S.onDequeues=[];var M=aie(k);yt(S,M),S.lookup=new Ure(M.getKey,M.doesEleInvalidateKey),S.setupDequeueing()},Cf=dk.prototype;Cf.reasons=v8,Cf.getTextureQueue=function(x){var m=this;return m.eleImgCaches=m.eleImgCaches||{},m.eleImgCaches[x]=m.eleImgCaches[x]||[]},Cf.getRetiredTextureQueue=function(x){var m=this,k=m.eleImgCaches.retired=m.eleImgCaches.retired||{},S=k[x]=k[x]||[];return S},Cf.getElementQueue=function(){var x=this,m=x.eleCacheQueue=x.eleCacheQueue||new V9(function(k,S){return S.reqs-k.reqs});return m},Cf.getElementKeyToQueue=function(){var x=this,m=x.eleKeyToCacheQueue=x.eleKeyToCacheQueue||{};return m},Cf.getElement=function(x,m,k,S,M){var O=this,N=this.renderer,$=N.cy.zoom(),H=this.lookup;if(!m||m.w===0||m.h===0||isNaN(m.w)||isNaN(m.h)||!x.visible()||x.removed()||!O.allowEdgeTxrCaching&&x.isEdge()||!O.allowParentTxrCaching&&x.isParent())return null;if(S==null&&(S=Math.ceil(iI($*k))),S=Gre||S>jI)return null;var q=Math.pow(2,S),Y=m.h*q,Z=m.w*q,ce=N.eleTextBiggerThanMin(x,q);if(!this.isVisible(x,ce))return null;var ve=H.get(x,S);if(ve&&ve.invalidated&&(ve.invalidated=!1,ve.texture.invalidatedWidth-=ve.width),ve)return ve;var me;if(Y<=cz?me=cz:Y<=YS?me=YS:me=Math.ceil(Y/YS)*YS,Y>Xre||Z>Yre)return null;var Le=O.getTextureQueue(me),_e=Le[Le.length-2],Ee=function(){return O.recycleTexture(me,Z)||O.addTexture(me,Z)};_e||(_e=Le[Le.length-1]),_e||(_e=Ee()),_e.width-_e.usedWidthS;Mt--)Je=O.getElement(x,m,k,Mt,v8.downscale);Lt()}else return O.queueElement(x,st.level-1),st;else{var ut;if(!Re&&!Ve&&!ct)for(var Wt=S-1;Wt>=XS;Wt--){var Tt=H.get(x,Wt);if(Tt){ut=Tt;break}}if(Be(ut))return O.queueElement(x,S),ut;_e.context.translate(_e.usedWidth,0),_e.context.scale(q,q),this.drawElement(_e.context,x,m,ce,!1),_e.context.scale(1/q,1/q),_e.context.translate(-_e.usedWidth,0)}return ve={x:_e.usedWidth,texture:_e,level:S,scale:q,width:Z,height:Y,scaledLabelShown:ce},_e.usedWidth+=Math.ceil(Z+Kre),_e.eleCaches.push(ve),H.set(x,S,ve),O.checkTextureFullness(_e),ve},Cf.invalidateElements=function(x){for(var m=0;m=Qre*x.width&&this.retireTexture(x)},Cf.checkTextureFullness=function(x){var m=this,k=m.getTextureQueue(x.height);x.usedWidth/x.width>Jre&&x.fullnessChecks>=Zre?Q3(k,x):x.fullnessChecks++},Cf.retireTexture=function(x){var m=this,k=x.height,S=m.getTextureQueue(k),M=this.lookup;Q3(S,x),x.retired=!0;for(var O=x.eleCaches,N=0;N=m)return N.retired=!1,N.usedWidth=0,N.invalidatedWidth=0,N.fullnessChecks=0,cS(N.eleCaches),N.context.setTransform(1,0,0,1,0,0),N.context.clearRect(0,0,N.width,N.height),Q3(M,N),S.push(N),N}},Cf.queueElement=function(x,m){var k=this,S=k.getElementQueue(),M=k.getElementKeyToQueue(),O=this.getKey(x),N=M[O];if(N)N.level=Math.max(N.level,m),N.eles.merge(x),N.reqs++,S.updateItem(N);else{var $={eles:x.spawn().merge(x),level:m,reqs:1,key:O};S.push($),M[O]=$}},Cf.dequeue=function(x){for(var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=[],O=m.lookup,N=0;N0;N++){var $=k.pop(),H=$.key,q=$.eles[0],Y=O.hasCache(q,$.level);if(S[H]=null,Y)continue;M.push($);var Z=m.getBoundingBox(q);m.getElement(q,Z,x,$.level,v8.dequeue)}return M},Cf.removeFromQueue=function(x){var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=this.getKey(x),O=S[M];O!=null&&(O.eles.length===1?(O.reqs=X7,k.updateItem(O),k.pop(),S[M]=null):O.eles.unmerge(x))},Cf.onDequeue=function(x){this.onDequeues.push(x)},Cf.offDequeue=function(x){Q3(this.onDequeues,x)},Cf.setupDequeueing=oz.setupDequeueing({deqRedrawThreshold:iie,deqCost:eie,deqAvgCost:tie,deqNoDrawCost:nie,deqFastCost:rie,deq:function(m,k,S){return m.dequeue(k,S)},onDeqd:function(m,k){for(var S=0;S=cie||k>QS)return null}S.validateLayersElesOrdering(k,x);var H=S.layersByLevel,q=Math.pow(2,k),Y=H[k]=H[k]||[],Z,ce=S.levelIsComplete(k,x),ve,me=function(){var Lt=function(_n){if(S.validateLayersElesOrdering(_n,x),S.levelIsComplete(_n,x))return ve=H[_n],!0},Mt=function(_n){if(!ve)for(var hn=k+_n;gk<=hn&&hn<=QS&&!Lt(hn);hn+=_n);};Mt(1),Mt(-1);for(var ut=Y.length-1;ut>=0;ut--){var Wt=Y[ut];Wt.invalid&&Q3(Y,Wt)}};if(!ce)me();else return Y;var Le=function(){if(!Z){Z=Wd();for(var Lt=0;Lthz)return null;var Wt=S.makeLayer(Z,k);if(Mt!=null){var Tt=Y.indexOf(Mt)+1;Y.splice(Tt,0,Wt)}else(Lt.insert===void 0||Lt.insert)&&Y.unshift(Wt);return Wt};if(S.skipping&&!$)return null;for(var Ee=null,Be=x.length/oie,Re=!$,Ve=0;Ve=Be||!pj(Ee.bb,ct.boundingBox()))&&(Ee=_e({insert:!0,after:Ee}),!Ee))return null;ve||Re?S.queueLayer(Ee,ct):S.drawEleInLayer(Ee,ct,k,m),Ee.eles.push(ct),Ye[k]=Ee}return ve||(Re?null:Y)},n0.getEleLevelForLayerLevel=function(x,m){return x},n0.drawEleInLayer=function(x,m,k,S){var M=this,O=this.renderer,N=x.context,$=m.boundingBox();$.w===0||$.h===0||!m.visible()||(k=M.getEleLevelForLayerLevel(k,S),O.setImgSmoothing(N,!1),O.drawCachedElement(N,m,null,null,k,fz),O.setImgSmoothing(N,!0))},n0.levelIsComplete=function(x,m){var k=this,S=k.layersByLevel[x];if(!S||S.length===0)return!1;for(var M=0,O=0;O0||N.invalid)return!1;M+=N.eles.length}return M===m.length},n0.validateLayersElesOrdering=function(x,m){var k=this.layersByLevel[x];if(k)for(var S=0;S0){m=!0;break}}return m},n0.invalidateElements=function(x){var m=this;x.length!==0&&(m.lastInvalidationTime=Bp(),!(x.length===0||!m.haveLayers())&&m.updateElementsInLayers(x,function(S,M,O){m.invalidateLayer(S)}))},n0.invalidateLayer=function(x){if(this.lastInvalidationTime=Bp(),!x.invalid){var m=x.level,k=x.eles,S=this.layersByLevel[m];Q3(S,x),x.elesQueue=[],x.invalid=!0,x.replacement&&(x.replacement.invalid=!0);for(var M=0;M3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$=m._private.rscratch;if(!(O&&!m.visible())&&!($.badLine||$.allpts==null||isNaN($.allpts[0]))){var H;k&&(H=k,x.translate(-H.x1,-H.y1));var q=O?m.pstyle("opacity").value:1,Y=O?m.pstyle("line-opacity").value:1,Z=m.pstyle("curve-style").value,ce=m.pstyle("line-style").value,ve=m.pstyle("width").pfValue,me=m.pstyle("line-cap").value,Le=q*Y,_e=q*Y,Ee=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Le;Z==="straight-triangle"?(N.eleStrokeStyle(x,m,ut),N.drawEdgeTrianglePath(m,x,$.allpts)):(x.lineWidth=ve,x.lineCap=me,N.eleStrokeStyle(x,m,ut),N.drawEdgePath(m,x,$.allpts,ce),x.lineCap="butt")},Be=function(){M&&N.drawEdgeOverlay(x,m)},Re=function(){M&&N.drawEdgeUnderlay(x,m)},Ve=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_e;N.drawArrowheads(x,m,ut)},ct=function(){N.drawElementText(x,m,null,S)};x.lineJoin="round";var st=m.pstyle("ghost").value==="yes";if(st){var Ye=m.pstyle("ghost-offset-x").pfValue,mt=m.pstyle("ghost-offset-y").pfValue,Je=m.pstyle("ghost-opacity").value,Lt=Le*Je;x.translate(Ye,mt),Ee(Lt),Ve(Lt),x.translate(-Ye,-mt)}Re(),Ee(),Ve(),Be(),ct(),k&&x.translate(H.x1,H.y1)}};var wz=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S){if(S.visible()){var M=S.pstyle("".concat(m,"-opacity")).value;if(M!==0){var O=this,N=O.usePaths(),$=S._private.rscratch,H=S.pstyle("".concat(m,"-padding")).pfValue,q=2*H,Y=S.pstyle("".concat(m,"-color")).value;k.lineWidth=q,$.edgeType==="self"&&!N?k.lineCap="butt":k.lineCap="round",O.colorStrokeStyle(k,Y[0],Y[1],Y[2],M),O.drawEdgePath(S,k,$.allpts,"solid")}}}};J2.drawEdgeOverlay=wz("overlay"),J2.drawEdgeUnderlay=wz("underlay"),J2.drawEdgePath=function(x,m,k,S){var M=x._private.rscratch,O=m,N,$=!1,H=this.usePaths(),q=x.pstyle("line-dash-pattern").pfValue,Y=x.pstyle("line-dash-offset").pfValue;if(H){var Z=k.join("$"),ce=M.pathCacheKey&&M.pathCacheKey===Z;ce?(N=m=M.pathCache,$=!0):(N=m=new Path2D,M.pathCacheKey=Z,M.pathCache=N)}if(O.setLineDash)switch(S){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(q),O.lineDashOffset=Y;break;case"solid":O.setLineDash([]);break}if(!$&&!M.badLine)switch(m.beginPath&&m.beginPath(),m.moveTo(k[0],k[1]),M.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ve=2;ve+35&&arguments[5]!==void 0?arguments[5]:!0,N=this;if(S==null){if(O&&!N.eleTextBiggerThanMin(m))return}else if(S===!1)return;if(m.isNode()){var $=m.pstyle("label");if(!$||!$.value)return;var H=N.getLabelJustification(m);x.textAlign=H,x.textBaseline="bottom"}else{var q=m.element()._private.rscratch.badLine,Y=m.pstyle("label"),Z=m.pstyle("source-label"),ce=m.pstyle("target-label");if(q||(!Y||!Y.value)&&(!Z||!Z.value)&&(!ce||!ce.value))return;x.textAlign="center",x.textBaseline="bottom"}var ve=!k,me;k&&(me=k,x.translate(-me.x1,-me.y1)),M==null?(N.drawText(x,m,null,ve,O),m.isEdge()&&(N.drawText(x,m,"source",ve,O),N.drawText(x,m,"target",ve,O))):N.drawText(x,m,M,ve,O),k&&x.translate(me.x1,me.y1)},y5.getFontCache=function(x){var m;this.fontCaches=this.fontCaches||[];for(var k=0;k2&&arguments[2]!==void 0?arguments[2]:!0,S=m.pstyle("font-style").strValue,M=m.pstyle("font-size").pfValue+"px",O=m.pstyle("font-family").strValue,N=m.pstyle("font-weight").strValue,$=k?m.effectiveOpacity()*m.pstyle("text-opacity").value:1,H=m.pstyle("text-outline-opacity").value*$,q=m.pstyle("color").value,Y=m.pstyle("text-outline-color").value;x.font=S+" "+N+" "+M+" "+O,x.lineJoin="round",this.colorFillStyle(x,q[0],q[1],q[2],$),this.colorStrokeStyle(x,Y[0],Y[1],Y[2],H)};function zI(x,m,k,S,M){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,N=arguments.length>6?arguments[6]:void 0;x.beginPath(),x.moveTo(m+O,k),x.lineTo(m+S-O,k),x.quadraticCurveTo(m+S,k,m+S,k+O),x.lineTo(m+S,k+M-O),x.quadraticCurveTo(m+S,k+M,m+S-O,k+M),x.lineTo(m+O,k+M),x.quadraticCurveTo(m,k+M,m,k+M-O),x.lineTo(m,k+O),x.quadraticCurveTo(m,k,m+O,k),x.closePath(),N?x.stroke():x.fill()}y5.getTextAngle=function(x,m){var k,S=x._private,M=S.rscratch,O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=K2(M,"labelAngle",m);return N.strValue==="autorotate"?k=x.isEdge()?$:0:N.strValue==="none"?k=0:k=N.pfValue,k},y5.drawText=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=m._private,N=O.rscratch,$=M?m.effectiveOpacity():1;if(!(M&&($===0||m.pstyle("text-opacity").value===0))){k==="main"&&(k=null);var H=K2(N,"labelX",k),q=K2(N,"labelY",k),Y,Z,ce=this.getLabelText(m,k);if(ce!=null&&ce!==""&&!isNaN(H)&&!isNaN(q)){this.setupTextStyle(x,m,M);var ve=k?k+"-":"",me=K2(N,"labelWidth",k),Le=K2(N,"labelHeight",k),_e=m.pstyle(ve+"text-margin-x").pfValue,Ee=m.pstyle(ve+"text-margin-y").pfValue,Be=m.isEdge(),Re=m.pstyle("text-halign").value,Ve=m.pstyle("text-valign").value;Be&&(Re="center",Ve="center"),H+=_e,q+=Ee;var ct;switch(S?ct=this.getTextAngle(m,k):ct=0,ct!==0&&(Y=H,Z=q,x.translate(Y,Z),x.rotate(ct),H=0,q=0),Ve){case"top":break;case"center":q+=Le/2;break;case"bottom":q+=Le;break}var st=m.pstyle("text-background-opacity").value,Ye=m.pstyle("text-border-opacity").value,mt=m.pstyle("text-border-width").pfValue,Je=m.pstyle("text-background-padding").pfValue,Lt=m.pstyle("text-background-shape").strValue,Mt=Lt.indexOf("round")===0,ut=2;if(st>0||mt>0&&Ye>0){var Wt=H-Je;switch(Re){case"left":Wt-=me;break;case"center":Wt-=me/2;break}var Tt=q-Le-Je,_n=me+2*Je,hn=Le+2*Je;if(st>0){var Yt=x.fillStyle,Dn=m.pstyle("text-background-color").value;x.fillStyle="rgba("+Dn[0]+","+Dn[1]+","+Dn[2]+","+st*$+")",Mt?zI(x,Wt,Tt,_n,hn,ut):x.fillRect(Wt,Tt,_n,hn),x.fillStyle=Yt}if(mt>0&&Ye>0){var ir=x.strokeStyle,vr=x.lineWidth,Nn=m.pstyle("text-border-color").value,pr=m.pstyle("text-border-style").value;if(x.strokeStyle="rgba("+Nn[0]+","+Nn[1]+","+Nn[2]+","+Ye*$+")",x.lineWidth=mt,x.setLineDash)switch(pr){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"double":x.lineWidth=mt/4,x.setLineDash([]);break;case"solid":x.setLineDash([]);break}if(Mt?zI(x,Wt,Tt,_n,hn,ut,"stroke"):x.strokeRect(Wt,Tt,_n,hn),pr==="double"){var Er=mt/2;Mt?zI(x,Wt+Er,Tt+Er,_n-Er*2,hn-Er*2,ut,"stroke"):x.strokeRect(Wt+Er,Tt+Er,_n-Er*2,hn-Er*2)}x.setLineDash&&x.setLineDash([]),x.lineWidth=vr,x.strokeStyle=ir}}var Mr=2*m.pstyle("text-outline-width").pfValue;if(Mr>0&&(x.lineWidth=Mr),m.pstyle("text-wrap").value==="wrap"){var Cr=K2(N,"labelWrapCachedLines",k),Or=K2(N,"labelLineHeight",k),Wn=me/2,br=this.getLabelJustification(m);switch(br==="auto"||(Re==="left"?br==="left"?H+=-me:br==="center"&&(H+=-Wn):Re==="center"?br==="left"?H+=-Wn:br==="right"&&(H+=Wn):Re==="right"&&(br==="center"?H+=Wn:br==="right"&&(H+=me))),Ve){case"top":q-=(Cr.length-1)*Or;break;case"center":case"bottom":q-=(Cr.length-1)*Or;break}for(var Sr=0;Sr0&&x.strokeText(Cr[Sr],H,q),x.fillText(Cr[Sr],H,q),q+=Or}else Mr>0&&x.strokeText(ce,H,q),x.fillText(ce,H,q);ct!==0&&(x.rotate(-ct),x.translate(-Y,-Z))}}};var w8={};w8.drawNode=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$,H,q=m._private,Y=q.rscratch,Z=m.position();if(!(!X(Z.x)||!X(Z.y))&&!(O&&!m.visible())){var ce=O?m.effectiveOpacity():1,ve=N.usePaths(),me,Le=!1,_e=m.padding();$=m.width()+2*_e,H=m.height()+2*_e;var Ee;k&&(Ee=k,x.translate(-Ee.x1,-Ee.y1));for(var Be=m.pstyle("background-image"),Re=Be.value,Ve=new Array(Re.length),ct=new Array(Re.length),st=0,Ye=0;Ye0&&arguments[0]!==void 0?arguments[0]:Wt;N.eleFillStyle(x,m,tr)},Er=function(){var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:hn;N.colorStrokeStyle(x,Tt[0],Tt[1],Tt[2],tr)},Mr=function(){var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vr;N.colorStrokeStyle(x,Dn[0],Dn[1],Dn[2],tr)},Cr=function(tr,G,Jn,kr){var lr=N.nodePathCache=N.nodePathCache||[],Vt=ld(Jn==="polygon"?Jn+","+kr.join(","):Jn,""+G,""+tr),Hs=lr[Vt],wr,Es=!1;return Hs!=null?(wr=Hs,Es=!0,Y.pathCache=wr):(wr=new Path2D,lr[Vt]=Y.pathCache=wr),{path:wr,cacheHit:Es}},Or=m.pstyle("shape").strValue,Wn=m.pstyle("shape-polygon-points").pfValue;if(ve){x.translate(Z.x,Z.y);var br=Cr($,H,Or,Wn);me=br.path,Le=br.cacheHit}var Sr=function(){if(!Le){var tr=Z;ve&&(tr={x:0,y:0}),N.nodeShapes[N.getNodeShape(m)].draw(me||x,tr.x,tr.y,$,H)}ve?x.fill(me):x.fill()},Nr=function(){for(var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Jn=q.backgrounding,kr=0,lr=0;lr0&&arguments[0]!==void 0?arguments[0]:!1,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ce;N.hasPie(m)&&(N.drawPie(x,m,G),tr&&(ve||N.nodeShapes[N.getNodeShape(m)].draw(x,Z.x,Z.y,$,H)))},ys=function(){var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,G=(Mt>0?Mt:-Mt)*tr,Jn=Mt>0?0:255;Mt!==0&&(N.colorFillStyle(x,Jn,Jn,Jn,G),ve?x.fill(me):x.fill())},pa=function(){if(ut>0){if(x.lineWidth=ut,x.lineCap="butt",x.setLineDash)switch(_n){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}if(ve?x.stroke(me):x.stroke(),_n==="double"){x.lineWidth=ut/3;var tr=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(me):x.stroke(),x.globalCompositeOperation=tr}x.setLineDash&&x.setLineDash([])}},Mi=function(){if(Yt>0){if(x.lineWidth=Yt,x.lineCap="butt",x.setLineDash)switch(ir){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}var tr=Z;ve&&(tr={x:0,y:0});var G=N.getNodeShape(m),Jn=($+ut+(Yt+Nn))/$,kr=(H+ut+(Yt+Nn))/H,lr=$*Jn,Vt=H*kr,Hs=N.nodeShapes[G].points,wr;if(ve){var Es=Cr(lr,Vt,G,Hs);wr=Es.path}if(G==="ellipse")N.drawEllipsePath(wr||x,tr.x,tr.y,lr,Vt);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(G)){var go=0,$c=0,za=0;G==="round-diamond"?go=(ut+Nn+Yt)*1.4:G==="round-heptagon"?(go=(ut+Nn+Yt)*1.075,za=-(ut/2+Nn+Yt)/35):G==="round-hexagon"?go=(ut+Nn+Yt)*1.12:G==="round-pentagon"?(go=(ut+Nn+Yt)*1.13,za=-(ut/2+Nn+Yt)/15):G==="round-tag"?(go=(ut+Nn+Yt)*1.12,$c=(ut/2+Yt+Nn)*.07):G==="round-triangle"&&(go=(ut+Nn+Yt)*(Math.PI/2),za=-(ut+Nn/2+Yt)/Math.PI),go!==0&&(Jn=($+go)/$,kr=(H+go)/H),N.drawRoundPolygonPath(wr||x,tr.x+$c,tr.y+za,$*Jn,H*kr,Hs)}else if(["roundrectangle","round-rectangle"].includes(G))N.drawRoundRectanglePath(wr||x,tr.x,tr.y,lr,Vt);else if(["cutrectangle","cut-rectangle"].includes(G))N.drawCutRectanglePath(wr||x,tr.x,tr.y,lr,Vt);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(G))N.drawBottomRoundRectanglePath(wr||x,tr.x,tr.y,lr,Vt);else if(G==="barrel")N.drawBarrelPath(wr||x,tr.x,tr.y,lr,Vt);else if(G.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(G)){var Sc=(ut+Yt+Nn)/$;Hs=gS(pS(Hs,Sc)),N.drawPolygonPath(wr||x,tr.x,tr.y,$,H,Hs)}else{var ba=(ut+Yt+Nn)/$;Hs=gS(pS(Hs,-ba)),N.drawPolygonPath(wr||x,tr.x,tr.y,$,H,Hs)}if(ve?x.stroke(wr):x.stroke(),ir==="double"){x.lineWidth=ut/3;var xo=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(wr):x.stroke(),x.globalCompositeOperation=xo}x.setLineDash&&x.setLineDash([])}},gi=function(){M&&N.drawNodeOverlay(x,m,Z,$,H)},fs=function(){M&&N.drawNodeUnderlay(x,m,Z,$,H)},Fs=function(){N.drawElementText(x,m,null,S)},xs=m.pstyle("ghost").value==="yes";if(xs){var Rs=m.pstyle("ghost-offset-x").pfValue,yo=m.pstyle("ghost-offset-y").pfValue,$a=m.pstyle("ghost-opacity").value,Da=$a*ce;x.translate(Rs,yo),Mr(),Mi(),pr($a*Wt),Sr(),Nr(Da,!0),Er($a*hn),pa(),Si(Mt!==0||ut!==0),Nr(Da,!1),ys(Da),x.translate(-Rs,-yo)}ve&&x.translate(-Z.x,-Z.y),fs(),ve&&x.translate(Z.x,Z.y),Mr(),Mi(),pr(),Sr(),Nr(ce,!0),Er(),pa(),Si(Mt!==0||ut!==0),Nr(ce,!1),ys(),ve&&x.translate(-Z.x,-Z.y),Fs(),gi(),k&&x.translate(Ee.x1,Ee.y1)}};var qI=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S,M,O,N){var $=this;if(S.visible()){var H=S.pstyle("".concat(m,"-padding")).pfValue,q=S.pstyle("".concat(m,"-opacity")).value,Y=S.pstyle("".concat(m,"-color")).value,Z=S.pstyle("".concat(m,"-shape")).value;if(q>0){if(M=M||S.position(),O==null||N==null){var ce=S.padding();O=S.width()+2*ce,N=S.height()+2*ce}$.colorFillStyle(k,Y[0],Y[1],Y[2],q),$.nodeShapes[Z].draw(k,M.x,M.y,O+H*2,N+H*2),k.fill()}}}};w8.drawNodeOverlay=qI("overlay"),w8.drawNodeUnderlay=qI("underlay"),w8.hasPie=function(x){return x=x[0],x._private.hasPie},w8.drawPie=function(x,m,k,S){m=m[0],S=S||m.position();var M=m.cy().style(),O=m.pstyle("pie-size"),N=S.x,$=S.y,H=m.width(),q=m.height(),Y=Math.min(H,q)/2,Z=0,ce=this.usePaths();ce&&(N=0,$=0),O.units==="%"?Y=Y*O.pfValue:O.pfValue!==void 0&&(Y=O.pfValue/2);for(var ve=1;ve<=M.pieBackgroundN;ve++){var me=m.pstyle("pie-"+ve+"-background-size").value,Le=m.pstyle("pie-"+ve+"-background-color").value,_e=m.pstyle("pie-"+ve+"-background-opacity").value*k,Ee=me/100;Ee+Z>1&&(Ee=1-Z);var Be=1.5*Math.PI+2*Math.PI*Z,Re=2*Math.PI*Ee,Ve=Be+Re;me===0||Z>=1||Z+Ee>1||(x.beginPath(),x.moveTo(N,$),x.arc(N,$,Y,Be,Ve),x.closePath(),this.colorFillStyle(x,Le[0],Le[1],Le[2],_e),x.fill(),Z+=Ee)}};var qg={},xie=100;qg.getPixelRatio=function(){var x=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var m=x.backingStorePixelRatio||x.webkitBackingStorePixelRatio||x.mozBackingStorePixelRatio||x.msBackingStorePixelRatio||x.oBackingStorePixelRatio||x.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/m},qg.paintCache=function(x){for(var m=this.paintCaches=this.paintCaches||[],k=!0,S,M=0;MN.minMbLowQualFrames&&(N.motionBlurPxRatio=N.mbPxRBlurry)),N.clearingMotionBlur&&(N.motionBlurPxRatio=1),N.textureDrawLastFrame&&!Z&&(Y[N.NODE]=!0,Y[N.SELECT_BOX]=!0);var Be=H.style(),Re=H.zoom(),Ve=M!==void 0?M:Re,ct=H.pan(),st={x:ct.x,y:ct.y},Ye={zoom:Re,pan:{x:ct.x,y:ct.y}},mt=N.prevViewport,Je=mt===void 0||Ye.zoom!==mt.zoom||Ye.pan.x!==mt.pan.x||Ye.pan.y!==mt.pan.y;!Je&&!(Le&&!me)&&(N.motionBlurPxRatio=1),O&&(st=O),Ve*=$,st.x*=$,st.y*=$;var Lt=N.getCachedZSortedEles();function Mt(Mi,gi,fs,Fs,xs){var Rs=Mi.globalCompositeOperation;Mi.globalCompositeOperation="destination-out",N.colorFillStyle(Mi,255,255,255,N.motionBlurTransparency),Mi.fillRect(gi,fs,Fs,xs),Mi.globalCompositeOperation=Rs}function ut(Mi,gi){var fs,Fs,xs,Rs;!N.clearingMotionBlur&&(Mi===q.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]||Mi===q.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG])?(fs={x:ct.x*ve,y:ct.y*ve},Fs=Re*ve,xs=N.canvasWidth*ve,Rs=N.canvasHeight*ve):(fs=st,Fs=Ve,xs=N.canvasWidth,Rs=N.canvasHeight),Mi.setTransform(1,0,0,1,0,0),gi==="motionBlur"?Mt(Mi,0,0,xs,Rs):!m&&(gi===void 0||gi)&&Mi.clearRect(0,0,xs,Rs),k||(Mi.translate(fs.x,fs.y),Mi.scale(Fs,Fs)),O&&Mi.translate(O.x,O.y),M&&Mi.scale(M,M)}if(Z||(N.textureDrawLastFrame=!1),Z){if(N.textureDrawLastFrame=!0,!N.textureCache){N.textureCache={},N.textureCache.bb=H.mutableElements().boundingBox(),N.textureCache.texture=N.data.bufferCanvases[N.TEXTURE_BUFFER];var Wt=N.data.bufferContexts[N.TEXTURE_BUFFER];Wt.setTransform(1,0,0,1,0,0),Wt.clearRect(0,0,N.canvasWidth*N.textureMult,N.canvasHeight*N.textureMult),N.render({forcedContext:Wt,drawOnlyNodeLayer:!0,forcedPxRatio:$*N.textureMult});var Ye=N.textureCache.viewport={zoom:H.zoom(),pan:H.pan(),width:N.canvasWidth,height:N.canvasHeight};Ye.mpan={x:(0-Ye.pan.x)/Ye.zoom,y:(0-Ye.pan.y)/Ye.zoom}}Y[N.DRAG]=!1,Y[N.NODE]=!1;var Tt=q.contexts[N.NODE],_n=N.textureCache.texture,Ye=N.textureCache.viewport;Tt.setTransform(1,0,0,1,0,0),ce?Mt(Tt,0,0,Ye.width,Ye.height):Tt.clearRect(0,0,Ye.width,Ye.height);var hn=Be.core("outside-texture-bg-color").value,Yt=Be.core("outside-texture-bg-opacity").value;N.colorFillStyle(Tt,hn[0],hn[1],hn[2],Yt),Tt.fillRect(0,0,Ye.width,Ye.height);var Re=H.zoom();ut(Tt,!1),Tt.clearRect(Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$),Tt.drawImage(_n,Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$)}else N.textureOnViewport&&!m&&(N.textureCache=null);var Dn=H.extent(),ir=N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming||N.hoverData.draggingEles||N.cy.animated(),vr=N.hideEdgesOnViewport&&ir,Nn=[];if(Nn[N.NODE]=!Y[N.NODE]&&ce&&!N.clearedForMotionBlur[N.NODE]||N.clearingMotionBlur,Nn[N.NODE]&&(N.clearedForMotionBlur[N.NODE]=!0),Nn[N.DRAG]=!Y[N.DRAG]&&ce&&!N.clearedForMotionBlur[N.DRAG]||N.clearingMotionBlur,Nn[N.DRAG]&&(N.clearedForMotionBlur[N.DRAG]=!0),Y[N.NODE]||k||S||Nn[N.NODE]){var pr=ce&&!Nn[N.NODE]&&ve!==1,Tt=m||(pr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]:q.contexts[N.NODE]),Er=ce&&!pr?"motionBlur":void 0;ut(Tt,Er),vr?N.drawCachedNodes(Tt,Lt.nondrag,$,Dn):N.drawLayeredElements(Tt,Lt.nondrag,$,Dn),N.debug&&N.drawDebugPoints(Tt,Lt.nondrag),!k&&!ce&&(Y[N.NODE]=!1)}if(!S&&(Y[N.DRAG]||k||Nn[N.DRAG])){var pr=ce&&!Nn[N.DRAG]&&ve!==1,Tt=m||(pr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG]:q.contexts[N.DRAG]);ut(Tt,ce&&!pr?"motionBlur":void 0),vr?N.drawCachedNodes(Tt,Lt.drag,$,Dn):N.drawCachedElements(Tt,Lt.drag,$,Dn),N.debug&&N.drawDebugPoints(Tt,Lt.drag),!k&&!ce&&(Y[N.DRAG]=!1)}if(N.showFps||!S&&Y[N.SELECT_BOX]&&!k){var Tt=m||q.contexts[N.SELECT_BOX];if(ut(Tt),N.selection[4]==1&&(N.hoverData.selecting||N.touchData.selecting)){var Re=N.cy.zoom(),Mr=Be.core("selection-box-border-width").value/Re;Tt.lineWidth=Mr,Tt.fillStyle="rgba("+Be.core("selection-box-color").value[0]+","+Be.core("selection-box-color").value[1]+","+Be.core("selection-box-color").value[2]+","+Be.core("selection-box-opacity").value+")",Tt.fillRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]),Mr>0&&(Tt.strokeStyle="rgba("+Be.core("selection-box-border-color").value[0]+","+Be.core("selection-box-border-color").value[1]+","+Be.core("selection-box-border-color").value[2]+","+Be.core("selection-box-opacity").value+")",Tt.strokeRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]))}if(q.bgActivePosistion&&!N.hoverData.selecting){var Re=N.cy.zoom(),Cr=q.bgActivePosistion;Tt.fillStyle="rgba("+Be.core("active-bg-color").value[0]+","+Be.core("active-bg-color").value[1]+","+Be.core("active-bg-color").value[2]+","+Be.core("active-bg-opacity").value+")",Tt.beginPath(),Tt.arc(Cr.x,Cr.y,Be.core("active-bg-size").pfValue/Re,0,2*Math.PI),Tt.fill()}var Or=N.lastRedrawTime;if(N.showFps&&Or){Or=Math.round(Or);var Wn=Math.round(1e3/Or);Tt.setTransform(1,0,0,1,0,0),Tt.fillStyle="rgba(255, 0, 0, 0.75)",Tt.strokeStyle="rgba(255, 0, 0, 0.75)",Tt.lineWidth=1,Tt.fillText("1 frame = "+Or+" ms = "+Wn+" fps",0,20);var br=60;Tt.strokeRect(0,30,250,20),Tt.fillRect(0,30,250*Math.min(Wn/br,1),20)}k||(Y[N.SELECT_BOX]=!1)}if(ce&&ve!==1){var Sr=q.contexts[N.NODE],Nr=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_NODE],Si=q.contexts[N.DRAG],ys=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_DRAG],pa=function(gi,fs,Fs){gi.setTransform(1,0,0,1,0,0),Fs||!Ee?gi.clearRect(0,0,N.canvasWidth,N.canvasHeight):Mt(gi,0,0,N.canvasWidth,N.canvasHeight);var xs=ve;gi.drawImage(fs,0,0,N.canvasWidth*xs,N.canvasHeight*xs,0,0,N.canvasWidth,N.canvasHeight)};(Y[N.NODE]||Nn[N.NODE])&&(pa(Sr,Nr,Nn[N.NODE]),Y[N.NODE]=!1),(Y[N.DRAG]||Nn[N.DRAG])&&(pa(Si,ys,Nn[N.DRAG]),Y[N.DRAG]=!1)}N.prevViewport=Ye,N.clearingMotionBlur&&(N.clearingMotionBlur=!1,N.motionBlurCleared=!0,N.motionBlur=!0),ce&&(N.motionBlurTimeout=setTimeout(function(){N.motionBlurTimeout=null,N.clearedForMotionBlur[N.NODE]=!1,N.clearedForMotionBlur[N.DRAG]=!1,N.motionBlur=!1,N.clearingMotionBlur=!Z,N.mbFrames=0,Y[N.NODE]=!0,Y[N.DRAG]=!0,N.redraw()},xie)),m||H.emit("render")};var iy={};iy.drawPolygonPath=function(x,m,k,S,M,O){var N=S/2,$=M/2;x.beginPath&&x.beginPath(),x.moveTo(m+N*O[0],k+$*O[1]);for(var H=1;H0&&N>0){ve.clearRect(0,0,O,N),ve.globalCompositeOperation="source-over";var me=this.getCachedZSortedEles();if(x.full)ve.translate(-S.x1*q,-S.y1*q),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(S.x1*q,S.y1*q);else{var Le=m.pan(),_e={x:Le.x*q,y:Le.y*q};q*=m.zoom(),ve.translate(_e.x,_e.y),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(-_e.x,-_e.y)}x.bg&&(ve.globalCompositeOperation="destination-over",ve.fillStyle=x.bg,ve.rect(0,0,O,N),ve.fill())}return ce};function kie(x,m){for(var k=atob(x),S=new ArrayBuffer(k.length),M=new Uint8Array(S),O=0;O"u"?"undefined":u(OffscreenCanvas))!=="undefined"?k=new OffscreenCanvas(x,m):(k=document.createElement("canvas"),k.width=x,k.height=m),k},[pz,Q2,J2,bk,y5,w8,qg,iy,mk,Cz].forEach(function(x){yt(jc,x)});var $p=[{name:"null",impl:W$},{name:"base",impl:az},{name:"canvas",impl:Sz}],Eie=[{type:"layout",extensions:qre},{type:"renderer",extensions:$p}],Tie={},Cie={};function Sie(x,m,k){var S=k,M=function(mt){hu("Can not register `"+m+"` for `"+x+"` since `"+mt+"` already exists in the prototype and can not be overridden")};if(x==="core"){if(lk.prototype[m])return M(m);lk.prototype[m]=k}else if(x==="collection"){if(V0.prototype[m])return M(m);V0.prototype[m]=k}else if(x==="layout"){for(var O=function(mt){this.options=mt,k.call(this,mt),se(this._private)||(this._private={}),this._private.cy=mt.cy,this._private.listeners=[],this.createEmitter()},N=O.prototype=Object.create(k.prototype),$=[],H=0;H<$.length;H++){var q=$[H];N[q]=N[q]||function(){return this}}N.start&&!N.run?N.run=function(){return this.start(),this}:!N.start&&N.run&&(N.start=function(){return this.run(),this});var Y=k.prototype.stop;N.stop=function(){var Ye=this.options;if(Ye&&Ye.animate){var mt=this.animations;if(mt)for(var Je=0;Jej&&(this.rect.x-=(this.labelWidth-j)/2,this.setWidth(this.labelWidth)),this.labelHeight>K&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-K)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-K),this.setHeight(this.labelHeight))}}},P.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},P.prototype.transform=function(F){var j=this.rect.x;j>T.WORLD_BOUNDARY?j=T.WORLD_BOUNDARY:j<-T.WORLD_BOUNDARY&&(j=-T.WORLD_BOUNDARY);var K=this.rect.y;K>T.WORLD_BOUNDARY?K=T.WORLD_BOUNDARY:K<-T.WORLD_BOUNDARY&&(K=-T.WORLD_BOUNDARY);var ee=new A(j,K),ie=F.inverseTransformPoint(ee);this.setLocation(ie.x,ie.y)},P.prototype.getLeft=function(){return this.rect.x},P.prototype.getRight=function(){return this.rect.x+this.rect.width},P.prototype.getTop=function(){return this.rect.y},P.prototype.getBottom=function(){return this.rect.y+this.rect.height},P.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},u.exports=P},function(u,d,p){function v(b,y){b==null&&y==null?(this.x=0,this.y=0):(this.x=b,this.y=y)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(b){this.x=b},v.prototype.setY=function(b){this.y=b},v.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},u.exports=v},function(u,d,p){var v=p(2),b=p(10),y=p(0),T=p(6),_=p(3),A=p(1),P=p(13),R=p(12),F=p(11);function j(ee,ie,oe){v.call(this,oe),this.estimatedSize=b.MIN_VALUE,this.margin=y.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=ee,ie!=null&&ie instanceof T?this.graphManager=ie:ie!=null&&ie instanceof Layout&&(this.graphManager=ie.graphManager)}j.prototype=Object.create(v.prototype);for(var K in v)j[K]=v[K];j.prototype.getNodes=function(){return this.nodes},j.prototype.getEdges=function(){return this.edges},j.prototype.getGraphManager=function(){return this.graphManager},j.prototype.getParent=function(){return this.parent},j.prototype.getLeft=function(){return this.left},j.prototype.getRight=function(){return this.right},j.prototype.getTop=function(){return this.top},j.prototype.getBottom=function(){return this.bottom},j.prototype.isConnected=function(){return this.isConnected},j.prototype.add=function(ee,ie,oe){if(ie==null&&oe==null){var pe=ee;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(pe)>-1)throw"Node already in graph!";return pe.owner=this,this.getNodes().push(pe),pe}else{var be=ee;if(!(this.getNodes().indexOf(ie)>-1&&this.getNodes().indexOf(oe)>-1))throw"Source or target not in graph!";if(!(ie.owner==oe.owner&&ie.owner==this))throw"Both owners must be this graph!";return ie.owner!=oe.owner?null:(be.source=ie,be.target=oe,be.isInterGraph=!1,this.getEdges().push(be),ie.edges.push(be),oe!=ie&&oe.edges.push(be),be)}},j.prototype.remove=function(ee){var ie=ee;if(ee instanceof _){if(ie==null)throw"Node is null!";if(!(ie.owner!=null&&ie.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var oe=ie.edges.slice(),pe,be=oe.length,ae=0;ae-1&&de>-1))throw"Source and/or target doesn't know this edge!";pe.source.edges.splice(se,1),pe.target!=pe.source&&pe.target.edges.splice(de,1);var ne=pe.source.owner.getEdges().indexOf(pe);if(ne==-1)throw"Not in owner's edge list!";pe.source.owner.getEdges().splice(ne,1)}},j.prototype.updateLeftTop=function(){for(var ee=b.MAX_VALUE,ie=b.MAX_VALUE,oe,pe,be,ae=this.getNodes(),ne=ae.length,se=0;seoe&&(ee=oe),ie>pe&&(ie=pe)}return ee==b.MAX_VALUE?null:(ae[0].getParent().paddingLeft!=null?be=ae[0].getParent().paddingLeft:be=this.margin,this.left=ie-be,this.top=ee-be,new R(this.left,this.top))},j.prototype.updateBounds=function(ee){for(var ie=b.MAX_VALUE,oe=-b.MAX_VALUE,pe=b.MAX_VALUE,be=-b.MAX_VALUE,ae,ne,se,de,X,ge=this.nodes,W=ge.length,xe=0;xeae&&(ie=ae),oese&&(pe=se),beae&&(ie=ae),oese&&(pe=se),be=this.nodes.length){var W=0;oe.forEach(function(xe){xe.owner==ee&&W++}),W==this.nodes.length&&(this.isConnected=!0)}},u.exports=j},function(u,d,p){var v,b=p(1);function y(T){v=p(5),this.layout=T,this.graphs=[],this.edges=[]}y.prototype.addRoot=function(){var T=this.layout.newGraph(),_=this.layout.newNode(null),A=this.add(T,_);return this.setRootGraph(A),this.rootGraph},y.prototype.add=function(T,_,A,P,R){if(A==null&&P==null&&R==null){if(T==null)throw"Graph is null!";if(_==null)throw"Parent node is null!";if(this.graphs.indexOf(T)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(T),T.parent!=null)throw"Already has a parent!";if(_.child!=null)throw"Already has a child!";return T.parent=_,_.child=T,T}else{R=A,P=_,A=T;var F=P.getOwner(),j=R.getOwner();if(!(F!=null&&F.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(j!=null&&j.getGraphManager()==this))throw"Target not in this graph mgr!";if(F==j)return A.isInterGraph=!1,F.add(A,P,R);if(A.isInterGraph=!0,A.source=P,A.target=R,this.edges.indexOf(A)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(A),!(A.source!=null&&A.target!=null))throw"Edge source and/or target is null!";if(!(A.source.edges.indexOf(A)==-1&&A.target.edges.indexOf(A)==-1))throw"Edge already in source and/or target incidency list!";return A.source.edges.push(A),A.target.edges.push(A),A}},y.prototype.remove=function(T){if(T instanceof v){var _=T;if(_.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(_==this.rootGraph||_.parent!=null&&_.parent.graphManager==this))throw"Invalid parent node!";var A=[];A=A.concat(_.getEdges());for(var P,R=A.length,F=0;F=T.getRight()?_[0]+=Math.min(T.getX()-y.getX(),y.getRight()-T.getRight()):T.getX()<=y.getX()&&T.getRight()>=y.getRight()&&(_[0]+=Math.min(y.getX()-T.getX(),T.getRight()-y.getRight())),y.getY()<=T.getY()&&y.getBottom()>=T.getBottom()?_[1]+=Math.min(T.getY()-y.getY(),y.getBottom()-T.getBottom()):T.getY()<=y.getY()&&T.getBottom()>=y.getBottom()&&(_[1]+=Math.min(y.getY()-T.getY(),T.getBottom()-y.getBottom()));var R=Math.abs((T.getCenterY()-y.getCenterY())/(T.getCenterX()-y.getCenterX()));T.getCenterY()===y.getCenterY()&&T.getCenterX()===y.getCenterX()&&(R=1);var F=R*_[0],j=_[1]/R;_[0]F)return _[0]=A,_[1]=K,_[2]=R,_[3]=ge,!1;if(PR)return _[0]=j,_[1]=P,_[2]=de,_[3]=F,!1;if(AR?(_[0]=ie,_[1]=oe,Fe=!0):(_[0]=ee,_[1]=K,Fe=!0):je===Se&&(A>R?(_[0]=j,_[1]=K,Fe=!0):(_[0]=pe,_[1]=oe,Fe=!0)),-Ie===Se?R>A?(_[2]=X,_[3]=ge,Pe=!0):(_[2]=de,_[3]=se,Pe=!0):Ie===Se&&(R>A?(_[2]=ne,_[3]=se,Pe=!0):(_[2]=W,_[3]=ge,Pe=!0)),Fe&&Pe)return!1;if(A>R?P>F?(Ce=this.getCardinalDirection(je,Se,4),ke=this.getCardinalDirection(Ie,Se,2)):(Ce=this.getCardinalDirection(-je,Se,3),ke=this.getCardinalDirection(-Ie,Se,1)):P>F?(Ce=this.getCardinalDirection(-je,Se,1),ke=this.getCardinalDirection(-Ie,Se,3)):(Ce=this.getCardinalDirection(je,Se,2),ke=this.getCardinalDirection(Ie,Se,4)),!Fe)switch(Ce){case 1:Ft=K,Ke=A+-ae/Se,_[0]=Ke,_[1]=Ft;break;case 2:Ke=pe,Ft=P+be*Se,_[0]=Ke,_[1]=Ft;break;case 3:Ft=oe,Ke=A+ae/Se,_[0]=Ke,_[1]=Ft;break;case 4:Ke=ie,Ft=P+-be*Se,_[0]=Ke,_[1]=Ft;break}if(!Pe)switch(ke){case 1:gn=se,Ne=R+-U/Se,_[2]=Ne,_[3]=gn;break;case 2:Ne=W,gn=F+xe*Se,_[2]=Ne,_[3]=gn;break;case 3:gn=ge,Ne=R+U/Se,_[2]=Ne,_[3]=gn;break;case 4:Ne=X,gn=F+-xe*Se,_[2]=Ne,_[3]=gn;break}}return!1},b.getCardinalDirection=function(y,T,_){return y>T?_:1+_%4},b.getIntersection=function(y,T,_,A){if(A==null)return this.getIntersection2(y,T,_);var P=y.x,R=y.y,F=T.x,j=T.y,K=_.x,ee=_.y,ie=A.x,oe=A.y,pe=void 0,be=void 0,ae=void 0,ne=void 0,se=void 0,de=void 0,X=void 0,ge=void 0,W=void 0;return ae=j-R,se=P-F,X=F*R-P*j,ne=oe-ee,de=K-ie,ge=ie*ee-K*oe,W=ae*de-ne*se,W===0?null:(pe=(se*ge-de*X)/W,be=(ne*X-ae*ge)/W,new v(pe,be))},b.angleOfVector=function(y,T,_,A){var P=void 0;return y!==_?(P=Math.atan((A-T)/(_-y)),_0?1:b<0?-1:0},v.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},v.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},u.exports=v},function(u,d,p){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,u.exports=v},function(u,d,p){var v=function(){function P(R,F){for(var j=0;j"u"?"undefined":v(y);return y==null||T!="object"&&T!="function"},u.exports=b},function(u,d,p){function v(K){if(Array.isArray(K)){for(var ee=0,ie=Array(K.length);ee0&ⅇ){for(ae.push(se[0]);ae.length>0&ⅇ){var de=ae[0];ae.splice(0,1),be.add(de);for(var X=de.getEdges(),pe=0;pe-1&&se.splice(U,1)}be=new Set,ne=new Map}}return K},j.prototype.createDummyNodesForBendpoints=function(K){for(var ee=[],ie=K.source,oe=this.graphManager.calcLowestCommonAncestor(K.source,K.target),pe=0;pe0){for(var oe=this.edgeToDummyNodes.get(ie),pe=0;pe=0&&ee.splice(ge,1);var W=ne.getNeighborsList();W.forEach(function(Fe){if(ie.indexOf(Fe)<0){var Pe=oe.get(Fe),je=Pe-1;je==1&&de.push(Fe),oe.set(Fe,je)}})}ie=ie.concat(de),(ee.length==1||ee.length==2)&&(pe=!0,be=ee[0])}return be},j.prototype.setGraphManager=function(K){this.graphManager=K},u.exports=j},function(u,d,p){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},u.exports=v},function(u,d,p){var v=p(4);function b(y,T){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(y){this.lworldOrgX=y},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(y){this.lworldOrgY=y},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(y){this.lworldExtX=y},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(y){this.lworldExtY=y},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(y){this.ldeviceOrgX=y},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(y){this.ldeviceOrgY=y},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(y){this.ldeviceExtX=y},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(y){this.ldeviceExtY=y},b.prototype.transformX=function(y){var T=0,_=this.lworldExtX;return _!=0&&(T=this.ldeviceOrgX+(y-this.lworldOrgX)*this.ldeviceExtX/_),T},b.prototype.transformY=function(y){var T=0,_=this.lworldExtY;return _!=0&&(T=this.ldeviceOrgY+(y-this.lworldOrgY)*this.ldeviceExtY/_),T},b.prototype.inverseTransformX=function(y){var T=0,_=this.ldeviceExtX;return _!=0&&(T=this.lworldOrgX+(y-this.ldeviceOrgX)*this.lworldExtX/_),T},b.prototype.inverseTransformY=function(y){var T=0,_=this.ldeviceExtY;return _!=0&&(T=this.lworldOrgY+(y-this.ldeviceOrgY)*this.lworldExtY/_),T},b.prototype.inverseTransformPoint=function(y){var T=new v(this.inverseTransformX(y.x),this.inverseTransformY(y.y));return T},u.exports=b},function(u,d,p){function v(F){if(Array.isArray(F)){for(var j=0,K=Array(F.length);jy.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*y.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(F-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-y.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT_INCREMENTAL):(F>y.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(y.COOLING_ADAPTATION_FACTOR,1-(F-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*(1-y.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},P.prototype.calcSpringForces=function(){for(var F=this.getAllEdges(),j,K=0;K0&&arguments[0]!==void 0?arguments[0]:!0,j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,K,ee,ie,oe,pe=this.getAllNodes(),be;if(this.useFRGridVariant)for(this.totalIterations%y.GRID_CALCULATION_CHECK_PERIOD==1&&F&&this.updateGrid(),be=new Set,K=0;Kae||be>ae)&&(F.gravitationForceX=-this.gravityConstant*ie,F.gravitationForceY=-this.gravityConstant*oe)):(ae=j.getEstimatedSize()*this.compoundGravityRangeFactor,(pe>ae||be>ae)&&(F.gravitationForceX=-this.gravityConstant*ie*this.compoundGravityConstant,F.gravitationForceY=-this.gravityConstant*oe*this.compoundGravityConstant))},P.prototype.isConverged=function(){var F,j=!1;return this.totalIterations>this.maxIterations/3&&(j=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),F=this.totalDisplacement=pe.length||ae>=pe[0].length)){for(var ne=0;neP}}]),_}();u.exports=T},function(u,d,p){var v=function(){function T(_,A){for(var P=0;P2&&arguments[2]!==void 0?arguments[2]:1,R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,F=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,T),this.sequence1=_,this.sequence2=A,this.match_score=P,this.mismatch_penalty=R,this.gap_penalty=F,this.iMax=_.length+1,this.jMax=A.length+1,this.grid=new Array(this.iMax);for(var j=0;j=0;_--){var A=this.listeners[_];A.event===y&&A.callback===T&&this.listeners.splice(_,1)}},b.emit=function(y,T){for(var _=0;_A.coolingFactor*A.maxNodeDisplacement&&(this.displacementX=A.coolingFactor*A.maxNodeDisplacement*y.sign(this.displacementX)),Math.abs(this.displacementY)>A.coolingFactor*A.maxNodeDisplacement&&(this.displacementY=A.coolingFactor*A.maxNodeDisplacement*y.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),A.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},T.prototype.propogateDisplacementToChildren=function(A,P){for(var R=this.getChild().getNodes(),F,j=0;j0)this.positionNodesRadially(se);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var de=new Set(this.getAllNodes()),X=this.nodesWithGravity.filter(function(ge){return de.has(ge)});this.graphManager.setAllNodesToApplyGravitation(X),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},ae.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%R.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(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 se=new Set(this.getAllNodes()),de=this.nodesWithGravity.filter(function(W){return se.has(W)});this.graphManager.setAllNodesToApplyGravitation(de),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=R.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=R.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var X=!this.isTreeGrowing&&!this.isGrowthFinished,ge=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(X,ge),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},ae.prototype.getPositionsData=function(){for(var se=this.graphManager.getAllNodes(),de={},X=0;X1){var Fe;for(Fe=0;Fege&&(ge=Math.floor(U.y)),xe=Math.floor(U.x+P.DEFAULT_COMPONENT_SEPERATION)}this.transform(new K(F.WORLD_CENTER_X-U.x/2,F.WORLD_CENTER_Y-U.y/2))},ae.radialLayout=function(se,de,X){var ge=Math.max(this.maxDiagonalInTree(se),P.DEFAULT_RADIAL_SEPARATION);ae.branchRadialLayout(de,null,0,359,0,ge);var W=pe.calculateBounds(se),xe=new be;xe.setDeviceOrgX(W.getMinX()),xe.setDeviceOrgY(W.getMinY()),xe.setWorldOrgX(X.x),xe.setWorldOrgY(X.y);for(var U=0;U1;){var gn=Ne[0];Ne.splice(0,1);var _t=Se.indexOf(gn);_t>=0&&Se.splice(_t,1),Ke--,Ce--}de!=null?Ft=(Se.indexOf(Ne[0])+1)%Ke:Ft=0;for(var Et=Math.abs(ge-X)/Ce,Gt=Ft;ke!=Ce;Gt=++Gt%Ke){var ln=Se[Gt].getOtherEnd(se);if(ln!=de){var xt=(X+ke*Et)%360,Pt=(xt+Et)%360;ae.branchRadialLayout(ln,se,xt,Pt,W+xe,xe),ke++}}},ae.maxDiagonalInTree=function(se){for(var de=ie.MIN_VALUE,X=0;Xde&&(de=W)}return de},ae.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},ae.prototype.groupZeroDegreeMembers=function(){var se=this,de={};this.memberGroups={},this.idToDummyNode={};for(var X=[],ge=this.graphManager.getAllNodes(),W=0;W"u"&&(de[Fe]=[]),de[Fe]=de[Fe].concat(xe)}Object.keys(de).forEach(function(Pe){if(de[Pe].length>1){var je="DummyCompound_"+Pe;se.memberGroups[je]=de[Pe];var Ie=de[Pe][0].getParent(),Se=new _(se.graphManager);Se.id=je,Se.paddingLeft=Ie.paddingLeft||0,Se.paddingRight=Ie.paddingRight||0,Se.paddingBottom=Ie.paddingBottom||0,Se.paddingTop=Ie.paddingTop||0,se.idToDummyNode[je]=Se;var Ce=se.getGraphManager().add(se.newGraph(),Se),ke=Ie.getChild();ke.add(Se);for(var Ke=0;Ke=0;se--){var de=this.compoundOrder[se],X=de.id,ge=de.paddingLeft,W=de.paddingTop;this.adjustLocations(this.tiledMemberPack[X],de.rect.x,de.rect.y,ge,W)}},ae.prototype.repopulateZeroDegreeMembers=function(){var se=this,de=this.tiledZeroDegreePack;Object.keys(de).forEach(function(X){var ge=se.idToDummyNode[X],W=ge.paddingLeft,xe=ge.paddingTop;se.adjustLocations(de[X],ge.rect.x,ge.rect.y,W,xe)})},ae.prototype.getToBeTiled=function(se){var de=se.id;if(this.toBeTiled[de]!=null)return this.toBeTiled[de];var X=se.getChild();if(X==null)return this.toBeTiled[de]=!1,!1;for(var ge=X.getNodes(),W=0;W0)return this.toBeTiled[de]=!1,!1;if(xe.getChild()==null){this.toBeTiled[xe.id]=!1;continue}if(!this.getToBeTiled(xe))return this.toBeTiled[de]=!1,!1}return this.toBeTiled[de]=!0,!0},ae.prototype.getNodeDegree=function(se){se.id;for(var de=se.getEdges(),X=0,ge=0;gePe&&(Pe=Ie.rect.height)}X+=Pe+se.verticalPadding}},ae.prototype.tileCompoundMembers=function(se,de){var X=this;this.tiledMemberPack=[],Object.keys(se).forEach(function(ge){var W=de[ge];X.tiledMemberPack[ge]=X.tileNodes(se[ge],W.paddingLeft+W.paddingRight),W.rect.width=X.tiledMemberPack[ge].width,W.rect.height=X.tiledMemberPack[ge].height})},ae.prototype.tileNodes=function(se,de){var X=P.TILING_PADDING_VERTICAL,ge=P.TILING_PADDING_HORIZONTAL,W={rows:[],rowWidth:[],rowHeight:[],width:0,height:de,verticalPadding:X,horizontalPadding:ge};se.sort(function(Fe,Pe){return Fe.rect.width*Fe.rect.height>Pe.rect.width*Pe.rect.height?-1:Fe.rect.width*Fe.rect.height0&&(U+=se.horizontalPadding),se.rowWidth[X]=U,se.width0&&(Fe+=se.verticalPadding);var Pe=0;Fe>se.rowHeight[X]&&(Pe=se.rowHeight[X],se.rowHeight[X]=Fe,Pe=se.rowHeight[X]-Pe),se.height+=Pe,se.rows[X].push(de)},ae.prototype.getShortestRowIndex=function(se){for(var de=-1,X=Number.MAX_VALUE,ge=0;geX&&(de=ge,X=se.rowWidth[ge]);return de},ae.prototype.canAddHorizontal=function(se,de,X){var ge=this.getShortestRowIndex(se);if(ge<0)return!0;var W=se.rowWidth[ge];if(W+se.horizontalPadding+de<=se.width)return!0;var xe=0;se.rowHeight[ge]0&&(xe=X+se.verticalPadding-se.rowHeight[ge]);var U;se.width-W>=de+se.horizontalPadding?U=(se.height+xe)/(W+de+se.horizontalPadding):U=(se.height+xe)/se.width,xe=X+se.verticalPadding;var Fe;return se.widthxe&&de!=X){ge.splice(-1,1),se.rows[X].push(W),se.rowWidth[de]=se.rowWidth[de]-xe,se.rowWidth[X]=se.rowWidth[X]+xe,se.width=se.rowWidth[instance.getLongestRowIndex(se)];for(var U=Number.MIN_VALUE,Fe=0;FeU&&(U=ge[Fe].height);de>0&&(U+=se.verticalPadding);var Pe=se.rowHeight[de]+se.rowHeight[X];se.rowHeight[de]=U,se.rowHeight[X]0)for(var ke=W;ke<=xe;ke++)Ce[0]+=this.grid[ke][U-1].length+this.grid[ke][U].length-1;if(xe0)for(var ke=U;ke<=Fe;ke++)Ce[3]+=this.grid[W-1][ke].length+this.grid[W][ke].length-1;for(var Ke=ie.MAX_VALUE,Ft,Ne,gn=0;gn0){var Fe;Fe=be.getGraphManager().add(be.newGraph(),X),this.processChildrenList(Fe,de,be)}}},K.prototype.stop=function(){return this.stopped=!0,this};var ie=function(pe){pe("layout","cose-bilkent",K)};typeof cytoscape<"u"&&ie(cytoscape),d.exports=ie}])})})(dWe);var gon=dWe.exports;const pon=hC(gon),bon=12,mon=function(i,s,u,d){s.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 ${u.height-5} v${-u.height+2*5} q0,-5 5,-5 h${u.width-2*5} q5,0 5,5 v${u.height-5} H0 Z`),s.append("line").attr("class","node-line-"+d).attr("x1",0).attr("y1",u.height).attr("x2",u.width).attr("y2",u.height)},von=function(i,s,u){s.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("width",u.width)},won=function(i,s,u){const d=u.width,p=u.height,v=.15*d,b=.25*d,y=.35*d,T=.2*d;s.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 0 0,1 ${d*.25},${-1*d*.1} + a${y},${y} 1 0,1 ${d*.4},${-1*d*.1} + a${b},${b} 1 0,1 ${d*.35},${1*d*.2} + + a${v},${v} 1 0,1 ${d*.15},${1*p*.35} + a${T},${T} 1 0,1 ${-1*d*.15},${1*p*.65} + + a${b},${v} 1 0,1 ${-1*d*.25},${d*.15} + a${y},${y} 1 0,1 ${-1*d*.5},0 + a${v},${v} 1 0,1 ${-1*d*.25},${-1*d*.15} + + a${v},${v} 1 0,1 ${-1*d*.1},${-1*p*.35} + a${T},${T} 1 0,1 ${d*.1},${-1*p*.65} + + H0 V0 Z`)},yon=function(i,s,u){const d=u.width,p=u.height,v=.15*d;s.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 1 0,0 ${d*.25},${-1*p*.1} + a${v},${v} 1 0,0 ${d*.25},0 + a${v},${v} 1 0,0 ${d*.25},0 + a${v},${v} 1 0,0 ${d*.25},${1*p*.1} + + a${v},${v} 1 0,0 ${d*.15},${1*p*.33} + a${v*.8},${v*.8} 1 0,0 0,${1*p*.34} + a${v},${v} 1 0,0 ${-1*d*.15},${1*p*.33} + + a${v},${v} 1 0,0 ${-1*d*.25},${p*.15} + a${v},${v} 1 0,0 ${-1*d*.25},0 + a${v},${v} 1 0,0 ${-1*d*.25},0 + a${v},${v} 1 0,0 ${-1*d*.25},${-1*p*.15} + + a${v},${v} 1 0,0 ${-1*d*.1},${-1*p*.33} + a${v*.8},${v*.8} 1 0,0 0,${-1*p*.34} + a${v},${v} 1 0,0 ${d*.1},${-1*p*.33} + + H0 V0 Z`)},xon=function(i,s,u){s.append("circle").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("r",u.width/2)};function kon(i,s,u,d,p){return i.insert("polygon",":first-child").attr("points",d.map(function(v){return v.x+","+v.y}).join(" ")).attr("transform","translate("+(p.width-s)/2+", "+u+")")}const Eon=function(i,s,u){const d=u.height,v=d/4,b=u.width-u.padding+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-d/2},{x:b-v,y:-d},{x:v,y:-d},{x:0,y:-d/2}];kon(s,b,d,y,u)},Ton=function(i,s,u){s.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("rx",u.padding).attr("ry",u.padding).attr("width",u.width)},Con=function(i,s,u,d,p){const v=p.htmlLabels,b=d%(bon-1),y=s.append("g");u.section=b;let T="section-"+b;b<0&&(T+=" section-root"),y.attr("class",(u.class?u.class+" ":"")+"mindmap-node "+T);const _=y.append("g"),A=y.append("g"),P=u.descr.replace(/()/g,` +`);JQ(A,P,{useHtmlLabels:v,width:u.width,classes:"mindmap-node-label"}),v||A.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const R=A.node().getBBox(),[F]=NC(p.fontSize);if(u.height=R.height+F*1.1*.5+u.padding,u.width=R.width+2*u.padding,u.icon)if(u.type===i.nodeType.CIRCLE)u.height+=50,u.width+=50,y.append("foreignObject").attr("height","50px").attr("width",u.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+u.width/2+", "+(u.height/2-1.5*u.padding)+")");else{u.width+=50;const j=u.height;u.height=Math.max(j,60);const K=Math.abs(u.height-j);y.append("foreignObject").attr("width","60px").attr("height",u.height).attr("style","text-align: center;margin-top:"+K/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+(25+u.width/2)+", "+(K/2+u.padding/2)+")")}else if(v){const j=(u.width-R.width)/2,K=(u.height-R.height)/2;A.attr("transform","translate("+j+", "+K+")")}else{const j=u.width/2,K=u.padding/2;A.attr("transform","translate("+j+", "+K+")")}switch(u.type){case i.nodeType.DEFAULT:mon(i,_,u,b);break;case i.nodeType.ROUNDED_RECT:Ton(i,_,u);break;case i.nodeType.RECT:von(i,_,u);break;case i.nodeType.CIRCLE:_.attr("transform","translate("+u.width/2+", "+ +u.height/2+")"),xon(i,_,u);break;case i.nodeType.CLOUD:won(i,_,u);break;case i.nodeType.BANG:yon(i,_,u);break;case i.nodeType.HEXAGON:Eon(i,_,u);break}return i.setElementForId(u.id,y),u.height},Son=function(i,s){const u=i.getElementById(s.id),d=s.x||0,p=s.y||0;u.attr("transform","translate("+d+","+p+")")};fWe.use(pon);function bWe(i,s,u,d,p){Con(i,s,u,d,p),u.children&&u.children.forEach((v,b)=>{bWe(i,s,v,d<0?b:d,p)})}function _on(i,s){s.edges().map((u,d)=>{const p=u.data();if(u[0]._private.bodyBounds){const v=u[0]._private.rscratch;Xe.trace("Edge: ",d,p),i.insert("path").attr("d",`M ${v.startX},${v.startY} L ${v.midX},${v.midY} L${v.endX},${v.endY} `).attr("class","edge section-edge-"+p.section+" edge-depth-"+p.depth)}})}function mWe(i,s,u,d){s.add({group:"nodes",data:{id:i.id.toString(),labelText:i.descr,height:i.height,width:i.width,level:d,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(p=>{mWe(p,s,u,d+1),s.add({group:"edges",data:{id:`${i.id}_${p.id}`,source:i.id,target:p.id,depth:d,section:p.section}})})}function Aon(i,s){return new Promise(u=>{const d=Ir("body").append("div").attr("id","cy").attr("style","display:none"),p=fWe({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});d.remove(),mWe(i,p,s,0),p.nodes().forEach(function(v){v.layoutDimensions=()=>{const b=v.data();return{w:b.width,h:b.height}}}),p.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),p.ready(v=>{Xe.info("Ready",v),u(p)})})}function Lon(i,s){s.nodes().map((u,d)=>{const p=u.data();p.x=u.position().x,p.y=u.position().y,Son(i,p);const v=i.getElementById(p.nodeId);Xe.info("Id:",d,"Position: (",u.position().x,", ",u.position().y,")",p),v.attr("transform",`translate(${u.position().x-p.width/2}, ${u.position().y-p.height/2})`),v.attr("attr",`apa-${d})`)})}const Mon={draw:async(i,s,u,d)=>{var P,R;Xe.debug(`Rendering mindmap diagram +`+i);const p=d.db,v=p.getMindmap();if(!v)return;const b=qt();b.htmlLabels=!1;const y=rR(s),T=y.append("g");T.attr("class","mindmap-edges");const _=y.append("g");_.attr("class","mindmap-nodes"),bWe(p,_,v,-1,b);const A=await Aon(v,b);_on(T,A),Lon(p,A),y9(void 0,y,((P=b.mindmap)==null?void 0:P.padding)??sh.mindmap.padding,((R=b.mindmap)==null?void 0:R.useMaxWidth)??sh.mindmap.useMaxWidth)}},Don=i=>{let s="";for(let u=0;u` + .edge { + stroke-width: 3; + } + ${Don(i)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`}},Symbol.toStringTag,{value:"Module"}));var iwe=function(){var i=function(y,T,_,A){for(_=_||{},A=y.length;A--;_[y[A]]=T);return _},s=[1,9],u=[1,10],d=[1,5,10,12],p={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(T,_,A,P,R,F,j){var K=F.length-1;switch(R){case 7:const ee=P.findOrCreateNode(F[K-4].trim().replaceAll('""','"')),ie=P.findOrCreateNode(F[K-2].trim().replaceAll('""','"')),oe=parseFloat(F[K].trim());P.addLink(ee,ie,oe);break;case 8:case 9:case 11:this.$=F[K];break;case 10:this.$=F[K-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:s,20:u},{1:[2,6],7:11,10:[1,12]},i(u,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(d,[2,8]),i(d,[2,9]),{19:[1,16]},i(d,[2,11]),{1:[2,1]},{1:[2,5]},i(u,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:s,20:u},{15:18,16:7,17:8,18:s,20:u},{18:[1,19]},i(u,[2,3]),{12:[1,20]},i(d,[2,10]),{15:21,16:7,17:8,18:s,20:u},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(T,_){if(_.recoverable)this.trace(T);else{var A=new Error(T);throw A.hash=_,A}},parse:function(T){var _=this,A=[0],P=[],R=[null],F=[],j=this.table,K="",ee=0,ie=0,oe=2,pe=1,be=F.slice.call(arguments,1),ae=Object.create(this.lexer),ne={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(ne.yy[se]=this.yy[se]);ae.setInput(T,ne.yy),ne.yy.lexer=ae,ne.yy.parser=this,typeof ae.yylloc>"u"&&(ae.yylloc={});var de=ae.yylloc;F.push(de);var X=ae.options&&ae.options.ranges;typeof ne.yy.parseError=="function"?this.parseError=ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ge(){var Ke;return Ke=P.pop()||ae.lex()||pe,typeof Ke!="number"&&(Ke instanceof Array&&(P=Ke,Ke=P.pop()),Ke=_.symbols_[Ke]||Ke),Ke}for(var W,xe,U,Fe,Pe={},je,Ie,Se,Ce;;){if(xe=A[A.length-1],this.defaultActions[xe]?U=this.defaultActions[xe]:((W===null||typeof W>"u")&&(W=ge()),U=j[xe]&&j[xe][W]),typeof U>"u"||!U.length||!U[0]){var ke="";Ce=[];for(je in j[xe])this.terminals_[je]&&je>oe&&Ce.push("'"+this.terminals_[je]+"'");ae.showPosition?ke="Parse error on line "+(ee+1)+`: +`+ae.showPosition()+` +Expecting `+Ce.join(", ")+", got '"+(this.terminals_[W]||W)+"'":ke="Parse error on line "+(ee+1)+": Unexpected "+(W==pe?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(ke,{text:ae.match,token:this.terminals_[W]||W,line:ae.yylineno,loc:de,expected:Ce})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xe+", token: "+W);switch(U[0]){case 1:A.push(W),R.push(ae.yytext),F.push(ae.yylloc),A.push(U[1]),W=null,ie=ae.yyleng,K=ae.yytext,ee=ae.yylineno,de=ae.yylloc;break;case 2:if(Ie=this.productions_[U[1]][1],Pe.$=R[R.length-Ie],Pe._$={first_line:F[F.length-(Ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(Ie||1)].first_column,last_column:F[F.length-1].last_column},X&&(Pe._$.range=[F[F.length-(Ie||1)].range[0],F[F.length-1].range[1]]),Fe=this.performAction.apply(Pe,[K,ie,ee,ne.yy,U[1],R,F].concat(be)),typeof Fe<"u")return Fe;Ie&&(A=A.slice(0,-1*Ie*2),R=R.slice(0,-1*Ie),F=F.slice(0,-1*Ie)),A.push(this.productions_[U[1]][0]),R.push(Pe.$),F.push(Pe._$),Se=j[A[A.length-2]][A[A.length-1]],A.push(Se);break;case 3:return!0}}return!0}},v=function(){var y={EOF:1,parseError:function(_,A){if(this.yy.parser)this.yy.parser.parseError(_,A);else throw new Error(_)},setInput:function(T,_){return this.yy=_||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},input:function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var _=T.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},unput:function(T){var _=T.length,A=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var P=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),A.length-1&&(this.yylineno-=A.length-1);var R=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:A?(A.length===P.length?this.yylloc.first_column:0)+P[P.length-A.length].length-A[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(T){this.unput(this.match.slice(T))},pastInput:function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var T=this.pastInput(),_=new Array(T.length+1).join("-");return T+this.upcomingInput()+` +`+_+"^"},test_match:function(T,_){var A,P,R;if(this.options.backtrack_lexer&&(R={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&&(R.yylloc.range=this.yylloc.range.slice(0))),P=T[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.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],A=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var F in R)this[F]=R[F];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,_,A,P;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),F=0;F_[0].length)){if(_=A,P=F,this.options.backtrack_lexer){if(T=this.test_match(A,R[F]),T!==!1)return T;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(T=this.test_match(_,R[P]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var _=this.next();return _||this.lex()},begin:function(_){this.conditionStack.push(_)},popState:function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},pushState:function(_){this.begin(_)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(_,A,P,R){switch(P){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return y}();p.lexer=v;function b(){this.yy={}}return b.prototype=p,p.Parser=b,new b}();iwe.parser=iwe;const NJ=iwe;let PJ=[],BJ=[],tI={};const Oon=()=>{PJ=[],BJ=[],tI={},Pg()};class Non{constructor(s,u,d=0){this.source=s,this.target=u,this.value=d}}const Pon=(i,s,u)=>{PJ.push(new Non(i,s,u))};class Bon{constructor(s){this.ID=s}}const Fon={nodesMap:tI,getConfig:()=>qt().sankey,getNodes:()=>BJ,getLinks:()=>PJ,getGraph:()=>({nodes:BJ.map(i=>({id:i.ID})),links:PJ.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:Pon,findOrCreateNode:i=>(i=li.sanitizeText(i,qt()),tI[i]||(tI[i]=new Bon(i),BJ.push(tI[i])),tI[i]),getAccTitle:Cp,setAccTitle:Bg,getAccDescription:_p,setAccDescription:Sp,getDiagramTitle:Ap,setDiagramTitle:cm,clear:Oon};function vWe(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u=p)&&(u=p)}return u}function wWe(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function swe(i,s){let u=0;if(s===void 0)for(let d of i)(d=+d)&&(u+=d);else{let d=-1;for(let p of i)(p=+s(p,++d,i))&&(u+=p)}return u}function Ron(i){return i.target.depth}function jon(i){return i.depth}function $on(i,s){return s-1-i.height}function yWe(i,s){return i.sourceLinks.length?i.depth:s-1}function zon(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?wWe(i.sourceLinks,Ron)-1:0}function FJ(i){return function(){return i}}function xWe(i,s){return RJ(i.source,s.source)||i.index-s.index}function kWe(i,s){return RJ(i.target,s.target)||i.index-s.index}function RJ(i,s){return i.y0-s.y0}function awe(i){return i.value}function qon(i){return i.index}function Hon(i){return i.nodes}function Von(i){return i.links}function EWe(i,s){const u=i.get(s);if(!u)throw new Error("missing: "+s);return u}function TWe({nodes:i}){for(const s of i){let u=s.y0,d=u;for(const p of s.sourceLinks)p.y0=u+p.width/2,u+=p.width;for(const p of s.targetLinks)p.y1=d+p.width/2,d+=p.width}}function Uon(){let i=0,s=0,u=1,d=1,p=24,v=8,b,y=qon,T=yWe,_,A,P=Hon,R=Von,F=6;function j(){const Pe={nodes:P.apply(null,arguments),links:R.apply(null,arguments)};return K(Pe),ee(Pe),ie(Pe),oe(Pe),ae(Pe),TWe(Pe),Pe}j.update=function(Pe){return TWe(Pe),Pe},j.nodeId=function(Pe){return arguments.length?(y=typeof Pe=="function"?Pe:FJ(Pe),j):y},j.nodeAlign=function(Pe){return arguments.length?(T=typeof Pe=="function"?Pe:FJ(Pe),j):T},j.nodeSort=function(Pe){return arguments.length?(_=Pe,j):_},j.nodeWidth=function(Pe){return arguments.length?(p=+Pe,j):p},j.nodePadding=function(Pe){return arguments.length?(v=b=+Pe,j):v},j.nodes=function(Pe){return arguments.length?(P=typeof Pe=="function"?Pe:FJ(Pe),j):P},j.links=function(Pe){return arguments.length?(R=typeof Pe=="function"?Pe:FJ(Pe),j):R},j.linkSort=function(Pe){return arguments.length?(A=Pe,j):A},j.size=function(Pe){return arguments.length?(i=s=0,u=+Pe[0],d=+Pe[1],j):[u-i,d-s]},j.extent=function(Pe){return arguments.length?(i=+Pe[0][0],u=+Pe[1][0],s=+Pe[0][1],d=+Pe[1][1],j):[[i,s],[u,d]]},j.iterations=function(Pe){return arguments.length?(F=+Pe,j):F};function K({nodes:Pe,links:je}){for(const[Se,Ce]of Pe.entries())Ce.index=Se,Ce.sourceLinks=[],Ce.targetLinks=[];const Ie=new Map(Pe.map((Se,Ce)=>[y(Se,Ce,Pe),Se]));for(const[Se,Ce]of je.entries()){Ce.index=Se;let{source:ke,target:Ke}=Ce;typeof ke!="object"&&(ke=Ce.source=EWe(Ie,ke)),typeof Ke!="object"&&(Ke=Ce.target=EWe(Ie,Ke)),ke.sourceLinks.push(Ce),Ke.targetLinks.push(Ce)}if(A!=null)for(const{sourceLinks:Se,targetLinks:Ce}of Pe)Se.sort(A),Ce.sort(A)}function ee({nodes:Pe}){for(const je of Pe)je.value=je.fixedValue===void 0?Math.max(swe(je.sourceLinks,awe),swe(je.targetLinks,awe)):je.fixedValue}function ie({nodes:Pe}){const je=Pe.length;let Ie=new Set(Pe),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.depth=Ce;for(const{target:Ke}of ke.sourceLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function oe({nodes:Pe}){const je=Pe.length;let Ie=new Set(Pe),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.height=Ce;for(const{source:Ke}of ke.targetLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function pe({nodes:Pe}){const je=vWe(Pe,Ce=>Ce.depth)+1,Ie=(u-i-p)/(je-1),Se=new Array(je);for(const Ce of Pe){const ke=Math.max(0,Math.min(je-1,Math.floor(T.call(null,Ce,je))));Ce.layer=ke,Ce.x0=i+ke*Ie,Ce.x1=Ce.x0+p,Se[ke]?Se[ke].push(Ce):Se[ke]=[Ce]}if(_)for(const Ce of Se)Ce.sort(_);return Se}function be(Pe){const je=wWe(Pe,Ie=>(d-s-(Ie.length-1)*b)/swe(Ie,awe));for(const Ie of Pe){let Se=s;for(const Ce of Ie){Ce.y0=Se,Ce.y1=Se+Ce.value*je,Se=Ce.y1+b;for(const ke of Ce.sourceLinks)ke.width=ke.value*je}Se=(d-Se+b)/(Ie.length+1);for(let Ce=0;CeIe.length)-1)),be(je);for(let Ie=0;Ie0))continue;let gn=(Ft/Ne-Ke.y0)*je;Ke.y0+=gn,Ke.y1+=gn,W(Ke)}_===void 0&&ke.sort(RJ),de(ke,Ie)}}function se(Pe,je,Ie){for(let Se=Pe.length,Ce=Se-2;Ce>=0;--Ce){const ke=Pe[Ce];for(const Ke of ke){let Ft=0,Ne=0;for(const{target:_t,value:Et}of Ke.sourceLinks){let Gt=Et*(_t.layer-Ke.layer);Ft+=Fe(Ke,_t)*Gt,Ne+=Gt}if(!(Ne>0))continue;let gn=(Ft/Ne-Ke.y0)*je;Ke.y0+=gn,Ke.y1+=gn,W(Ke)}_===void 0&&ke.sort(RJ),de(ke,Ie)}}function de(Pe,je){const Ie=Pe.length>>1,Se=Pe[Ie];ge(Pe,Se.y0-b,Ie-1,je),X(Pe,Se.y1+b,Ie+1,je),ge(Pe,d,Pe.length-1,je),X(Pe,s,0,je)}function X(Pe,je,Ie,Se){for(;Ie1e-6&&(Ce.y0+=ke,Ce.y1+=ke),je=Ce.y1+b}}function ge(Pe,je,Ie,Se){for(;Ie>=0;--Ie){const Ce=Pe[Ie],ke=(Ce.y1-je)*Se;ke>1e-6&&(Ce.y0-=ke,Ce.y1-=ke),je=Ce.y0-b}}function W({sourceLinks:Pe,targetLinks:je}){if(A===void 0){for(const{source:{sourceLinks:Ie}}of je)Ie.sort(kWe);for(const{target:{targetLinks:Ie}}of Pe)Ie.sort(xWe)}}function xe(Pe){if(A===void 0)for(const{sourceLinks:je,targetLinks:Ie}of Pe)je.sort(kWe),Ie.sort(xWe)}function U(Pe,je){let Ie=Pe.y0-(Pe.sourceLinks.length-1)*b/2;for(const{target:Se,width:Ce}of Pe.sourceLinks){if(Se===je)break;Ie+=Ce+b}for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Pe)break;Ie-=Ce}return Ie}function Fe(Pe,je){let Ie=je.y0-(je.targetLinks.length-1)*b/2;for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Pe)break;Ie+=Ce+b}for(const{target:Se,width:Ce}of Pe.sourceLinks){if(Se===je)break;Ie-=Ce}return Ie}return j}var owe=Math.PI,cwe=2*owe,aS=1e-6,Gon=cwe-aS;function uwe(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function CWe(){return new uwe}uwe.prototype=CWe.prototype={constructor:uwe,moveTo:function(i,s){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+s)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,s){this._+="L"+(this._x1=+i)+","+(this._y1=+s)},quadraticCurveTo:function(i,s,u,d){this._+="Q"+ +i+","+ +s+","+(this._x1=+u)+","+(this._y1=+d)},bezierCurveTo:function(i,s,u,d,p,v){this._+="C"+ +i+","+ +s+","+ +u+","+ +d+","+(this._x1=+p)+","+(this._y1=+v)},arcTo:function(i,s,u,d,p){i=+i,s=+s,u=+u,d=+d,p=+p;var v=this._x1,b=this._y1,y=u-i,T=d-s,_=v-i,A=b-s,P=_*_+A*A;if(p<0)throw new Error("negative radius: "+p);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=s);else if(P>aS)if(!(Math.abs(A*y-T*_)>aS)||!p)this._+="L"+(this._x1=i)+","+(this._y1=s);else{var R=u-v,F=d-b,j=y*y+T*T,K=R*R+F*F,ee=Math.sqrt(j),ie=Math.sqrt(P),oe=p*Math.tan((owe-Math.acos((j+P-K)/(2*ee*ie)))/2),pe=oe/ie,be=oe/ee;Math.abs(pe-1)>aS&&(this._+="L"+(i+pe*_)+","+(s+pe*A)),this._+="A"+p+","+p+",0,0,"+ +(A*R>_*F)+","+(this._x1=i+be*y)+","+(this._y1=s+be*T)}},arc:function(i,s,u,d,p,v){i=+i,s=+s,u=+u,v=!!v;var b=u*Math.cos(d),y=u*Math.sin(d),T=i+b,_=s+y,A=1^v,P=v?d-p:p-d;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+T+","+_:(Math.abs(this._x1-T)>aS||Math.abs(this._y1-_)>aS)&&(this._+="L"+T+","+_),u&&(P<0&&(P=P%cwe+cwe),P>Gon?this._+="A"+u+","+u+",0,1,"+A+","+(i-b)+","+(s-y)+"A"+u+","+u+",0,1,"+A+","+(this._x1=T)+","+(this._y1=_):P>aS&&(this._+="A"+u+","+u+",0,"+ +(P>=owe)+","+A+","+(this._x1=i+u*Math.cos(p))+","+(this._y1=s+u*Math.sin(p))))},rect:function(i,s,u,d){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+s)+"h"+ +u+"v"+ +d+"h"+-u+"Z"},toString:function(){return this._}};function SWe(i){return function(){return i}}function Kon(i){return i[0]}function Won(i){return i[1]}var Yon=Array.prototype.slice;function Xon(i){return i.source}function Qon(i){return i.target}function Jon(i){var s=Xon,u=Qon,d=Kon,p=Won,v=null;function b(){var y,T=Yon.call(arguments),_=s.apply(this,T),A=u.apply(this,T);if(v||(v=y=CWe()),i(v,+d.apply(this,(T[0]=_,T)),+p.apply(this,T),+d.apply(this,(T[0]=A,T)),+p.apply(this,T)),y)return v=null,y+""||null}return b.source=function(y){return arguments.length?(s=y,b):s},b.target=function(y){return arguments.length?(u=y,b):u},b.x=function(y){return arguments.length?(d=typeof y=="function"?y:SWe(+y),b):d},b.y=function(y){return arguments.length?(p=typeof y=="function"?y:SWe(+y),b):p},b.context=function(y){return arguments.length?(v=y??null,b):v},b}function Zon(i,s,u,d,p){i.moveTo(s,u),i.bezierCurveTo(s=(s+d)/2,u,s,p,d,p)}function ecn(){return Jon(Zon)}function tcn(i){return[i.source.x1,i.y0]}function ncn(i){return[i.target.x0,i.y1]}function rcn(){return ecn().source(tcn).target(ncn)}const _We=class aBe{static next(s){return new aBe(s+ ++aBe.count)}constructor(s){this.id=s,this.href=`#${s}`}toString(){return"url("+this.href+")"}};_We.count=0;let AWe=_We;const icn={left:jon,right:$on,center:zon,justify:yWe},scn={draw:function(i,s,u,d){const{securityLevel:p,sankey:v}=qt(),b=Zje.sankey;let y;p==="sandbox"&&(y=Ir("#i"+s));const T=Ir(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?T.select(`[id="${s}"]`):Ir(`[id="${s}"]`),A=(v==null?void 0:v.width)??b.width,P=(v==null?void 0:v.height)??b.width,R=(v==null?void 0:v.useMaxWidth)??b.useMaxWidth,F=(v==null?void 0:v.nodeAlignment)??b.nodeAlignment,j=(v==null?void 0:v.prefix)??b.prefix,K=(v==null?void 0:v.suffix)??b.suffix,ee=(v==null?void 0:v.showValues)??b.showValues,ie=d.db.getGraph(),oe=icn[F],pe=10;Uon().nodeId(ge=>ge.id).nodeWidth(pe).nodePadding(10+(ee?15:0)).nodeAlign(oe).extent([[0,0],[A,P]])(ie);const ae=_F(zFe);_.append("g").attr("class","nodes").selectAll(".node").data(ie.nodes).join("g").attr("class","node").attr("id",ge=>(ge.uid=AWe.next("node-")).id).attr("transform",function(ge){return"translate("+ge.x0+","+ge.y0+")"}).attr("x",ge=>ge.x0).attr("y",ge=>ge.y0).append("rect").attr("height",ge=>ge.y1-ge.y0).attr("width",ge=>ge.x1-ge.x0).attr("fill",ge=>ae(ge.id));const ne=({id:ge,value:W})=>ee?`${ge} +${j}${Math.round(W*100)/100}${K}`:ge;_.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(ie.nodes).join("text").attr("x",ge=>ge.x0(ge.y1+ge.y0)/2).attr("dy",`${ee?"0":"0.35"}em`).attr("text-anchor",ge=>ge.x0(W.uid=AWe.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",W=>W.source.x1).attr("x2",W=>W.target.x0);ge.append("stop").attr("offset","0%").attr("stop-color",W=>ae(W.source.id)),ge.append("stop").attr("offset","100%").attr("stop-color",W=>ae(W.target.id))}let X;switch(de){case"gradient":X=ge=>ge.uid;break;case"source":X=ge=>ae(ge.source.id);break;case"target":X=ge=>ae(ge.target.id);break;default:X=de}se.append("path").attr("d",rcn()).attr("stroke",X).attr("stroke-width",ge=>Math.max(1,ge.width)),y9(void 0,_,0,R)}},acn=i=>i.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),ocn=NJ.parse.bind(NJ);NJ.parse=i=>ocn(acn(i));const ccn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:NJ,db:Fon,renderer:scn}},Symbol.toStringTag,{value:"Module"}));var lwe=function(){var i=function(pe,be,ae,ne){for(ae=ae||{},ne=pe.length;ne--;ae[pe[ne]]=be);return ae},s=[1,7],u=[1,13],d=[1,14],p=[1,15],v=[1,19],b=[1,16],y=[1,17],T=[1,18],_=[8,30],A=[8,21,28,29,30,31,32,40,44,47],P=[1,23],R=[1,24],F=[8,15,16,21,28,29,30,31,32,40,44,47],j=[8,15,16,21,27,28,29,30,31,32,40,44,47],K=[1,49],ee={trace:function(){},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,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList: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:49,$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:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"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],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(be,ae,ne,se,de,X,ge){var W=X.length-1;switch(de){case 4:se.getLogger().debug("Rule: separator (NL) ");break;case 5:se.getLogger().debug("Rule: separator (Space) ");break;case 6:se.getLogger().debug("Rule: separator (EOF) ");break;case 7:se.getLogger().debug("Rule: hierarchy: ",X[W-1]),se.setHierarchy(X[W-1]);break;case 8:se.getLogger().debug("Stop NL ");break;case 9:se.getLogger().debug("Stop EOF ");break;case 10:se.getLogger().debug("Stop NL2 ");break;case 11:se.getLogger().debug("Stop EOF2 ");break;case 12:se.getLogger().debug("Rule: statement: ",X[W]),typeof X[W].length=="number"?this.$=X[W]:this.$=[X[W]];break;case 13:se.getLogger().debug("Rule: statement #2: ",X[W-1]),this.$=[X[W-1]].concat(X[W]);break;case 14:se.getLogger().debug("Rule: link: ",X[W],be),this.$={edgeTypeStr:X[W],label:""};break;case 15:se.getLogger().debug("Rule: LABEL link: ",X[W-3],X[W-1],X[W]),this.$={edgeTypeStr:X[W],label:X[W-1]};break;case 18:const xe=parseInt(X[W]),U=se.generateId();this.$={id:U,type:"space",label:"",width:xe,children:[]};break;case 23:se.getLogger().debug("Rule: (nodeStatement link node) ",X[W-2],X[W-1],X[W]," typestr: ",X[W-1].edgeTypeStr);const Fe=se.edgeStrToEdgeData(X[W-1].edgeTypeStr);this.$=[{id:X[W-2].id,label:X[W-2].label,type:X[W-2].type,directions:X[W-2].directions},{id:X[W-2].id+"-"+X[W].id,start:X[W-2].id,end:X[W].id,label:X[W-1].label,type:"edge",directions:X[W].directions,arrowTypeEnd:Fe,arrowTypeStart:"arrow_open"},{id:X[W].id,label:X[W].label,type:se.typeStr2Type(X[W].typeStr),directions:X[W].directions}];break;case 24:se.getLogger().debug("Rule: nodeStatement (abc88 node size) ",X[W-1],X[W]),this.$={id:X[W-1].id,label:X[W-1].label,type:se.typeStr2Type(X[W-1].typeStr),directions:X[W-1].directions,widthInColumns:parseInt(X[W],10)};break;case 25:se.getLogger().debug("Rule: nodeStatement (node) ",X[W]),this.$={id:X[W].id,label:X[W].label,type:se.typeStr2Type(X[W].typeStr),directions:X[W].directions,widthInColumns:1};break;case 26:se.getLogger().debug("APA123",this?this:"na"),se.getLogger().debug("COLUMNS: ",X[W]),this.$={type:"column-setting",columns:X[W]==="auto"?-1:parseInt(X[W])};break;case 27:se.getLogger().debug("Rule: id-block statement : ",X[W-2],X[W-1]),se.generateId(),this.$={...X[W-2],type:"composite",children:X[W-1]};break;case 28:se.getLogger().debug("Rule: blockStatement : ",X[W-2],X[W-1],X[W]);const Pe=se.generateId();this.$={id:Pe,type:"composite",label:"",children:X[W-1]};break;case 29:se.getLogger().debug("Rule: node (NODE_ID separator): ",X[W]),this.$={id:X[W]};break;case 30:se.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",X[W-1],X[W]),this.$={id:X[W-1],label:X[W].label,typeStr:X[W].typeStr,directions:X[W].directions};break;case 31:se.getLogger().debug("Rule: dirList: ",X[W]),this.$=[X[W]];break;case 32:se.getLogger().debug("Rule: dirList: ",X[W-1],X[W]),this.$=[X[W-1]].concat(X[W]);break;case 33:se.getLogger().debug("Rule: nodeShapeNLabel: ",X[W-2],X[W-1],X[W]),this.$={typeStr:X[W-2]+X[W],label:X[W-1]};break;case 34:se.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",X[W-3],X[W-2]," #3:",X[W-1],X[W]),this.$={typeStr:X[W-3]+X[W],label:X[W-2],directions:X[W-1]};break;case 35:case 36:this.$={type:"classDef",id:X[W-1].trim(),css:X[W].trim()};break;case 37:this.$={type:"applyClass",id:X[W-1].trim(),styleClass:X[W].trim()};break;case 38:this.$={type:"applyStyles",id:X[W-1].trim(),stylesStr:X[W].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:T},{8:[1,20]},i(_,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:s,28:u,29:d,31:p,32:v,40:b,44:y,47:T}),i(A,[2,16],{14:22,15:P,16:R}),i(A,[2,17]),i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),i(A,[2,21]),i(A,[2,22]),i(F,[2,25],{27:[1,25]}),i(A,[2,26]),{19:26,26:12,32:v},{11:27,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:T},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},i(j,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},i(_,[2,13]),{26:35,32:v},{32:[2,14]},{17:[1,36]},i(F,[2,24]),{11:37,13:4,14:22,15:P,16:R,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:T},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},i(j,[2,30]),{18:[1,43]},{18:[1,44]},i(F,[2,23]),{18:[1,45]},{30:[1,46]},i(A,[2,28]),i(A,[2,35]),i(A,[2,36]),i(A,[2,37]),i(A,[2,38]),{37:[1,47]},{34:48,35:K},{15:[1,50]},i(A,[2,27]),i(j,[2,33]),{39:[1,51]},{34:52,35:K,39:[2,31]},{32:[2,15]},i(j,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(be,ae){if(ae.recoverable)this.trace(be);else{var ne=new Error(be);throw ne.hash=ae,ne}},parse:function(be){var ae=this,ne=[0],se=[],de=[null],X=[],ge=this.table,W="",xe=0,U=0,Fe=2,Pe=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(be,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var kt;return kt=se.pop()||Ie.lex()||Pe,typeof kt!="number"&&(kt instanceof Array&&(se=kt,kt=se.pop()),kt=ae.symbols_[kt]||kt),kt}for(var Ne,gn,_t,Et,Gt={},ln,xt,Pt,Qe;;){if(gn=ne[ne.length-1],this.defaultActions[gn]?_t=this.defaultActions[gn]:((Ne===null||typeof Ne>"u")&&(Ne=Ft()),_t=ge[gn]&&ge[gn][Ne]),typeof _t>"u"||!_t.length||!_t[0]){var Dt="";Qe=[];for(ln in ge[gn])this.terminals_[ln]&&ln>Fe&&Qe.push("'"+this.terminals_[ln]+"'");Ie.showPosition?Dt="Parse error on line "+(xe+1)+`: +`+Ie.showPosition()+` +Expecting `+Qe.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":Dt="Parse error on line "+(xe+1)+": Unexpected "+(Ne==Pe?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(Dt,{text:Ie.match,token:this.terminals_[Ne]||Ne,line:Ie.yylineno,loc:ke,expected:Qe})}if(_t[0]instanceof Array&&_t.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Ne);switch(_t[0]){case 1:ne.push(Ne),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(_t[1]),Ne=null,U=Ie.yyleng,W=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(xt=this.productions_[_t[1]][1],Gt.$=de[de.length-xt],Gt._$={first_line:X[X.length-(xt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(xt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Gt._$.range=[X[X.length-(xt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Gt,[W,U,xe,Se.yy,_t[1],de,X].concat(je)),typeof Et<"u")return Et;xt&&(ne=ne.slice(0,-1*xt*2),de=de.slice(0,-1*xt),X=X.slice(0,-1*xt)),ne.push(this.productions_[_t[1]][0]),de.push(Gt.$),X.push(Gt._$),Pt=ge[ne[ne.length-2]][ne[ne.length-1]],ne.push(Pt);break;case 3:return!0}}return!0}},ie=function(){var pe={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(be,ae){return this.yy=ae||this.yy||{},this._input=be,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},input:function(){var be=this._input[0];this.yytext+=be,this.yyleng++,this.offset++,this.match+=be,this.matched+=be;var ae=be.match(/(?:\r\n?|\n).*/g);return ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),be},unput:function(be){var ae=be.length,ne=be.split(/(?:\r\n?|\n)/g);this._input=be+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=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),ne.length-1&&(this.yylineno-=ne.length-1);var de=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:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(be){this.unput(this.match.slice(be))},pastInput:function(){var be=this.matched.substr(0,this.matched.length-this.match.length);return(be.length>20?"...":"")+be.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var be=this.match;return be.length<20&&(be+=this._input.substr(0,20-be.length)),(be.substr(0,20)+(be.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var be=this.pastInput(),ae=new Array(be.length+1).join("-");return be+this.upcomingInput()+` +`+ae+"^"},test_match:function(be,ae){var ne,se,de;if(this.options.backtrack_lexer&&(de={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&&(de.yylloc.range=this.yylloc.range.slice(0))),se=be[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+be[0].length},this.yytext+=be[0],this.match+=be[0],this.matches=be,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(be[0].length),this.matched+=be[0],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var be,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;Xae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(be=this.test_match(ne,de[X]),be!==!1)return be;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(be=this.test_match(ae,de[se]),be!==!1?be:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ae,ne,se,de){switch(se){case 0:return 10;case 1:return ae.getLogger().debug("Found space-block"),31;case 2:return ae.getLogger().debug("Found nl-block"),31;case 3:return ae.getLogger().debug("Found space-block"),29;case 4:ae.getLogger().debug(".",ne.yytext);break;case 5:ae.getLogger().debug("_",ne.yytext);break;case 6:return 5;case 7:return ne.yytext=-1,28;case 8:return ne.yytext=ne.yytext.replace(/columns\s+/,""),ae.getLogger().debug("COLUMNS (LEX)",ne.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:ae.getLogger().debug("LEX: POPPING STR:",ne.yytext),this.popState();break;case 14:return ae.getLogger().debug("LEX: STR end:",ne.yytext),"STR";case 15:return ne.yytext=ne.yytext.replace(/space\:/,""),ae.getLogger().debug("SPACE NUM (LEX)",ne.yytext),21;case 16:return ne.yytext="1",ae.getLogger().debug("COLUMNS (LEX)",ne.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),ae.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),ae.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),ae.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),ae.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),ae.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),ae.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),ae.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),ae.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),ae.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),ae.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return ae.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return ae.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return ae.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return ae.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return ae.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return ae.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return ae.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),ae.getLogger().debug("LEX ARR START"),38;case 75:return ae.getLogger().debug("Lex: NODE_ID",ne.yytext),32;case 76:return ae.getLogger().debug("Lex: EOF",ne.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:ae.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:ae.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return ae.getLogger().debug("LEX: NODE_DESCR:",ne.yytext),"NODE_DESCR";case 84:ae.getLogger().debug("LEX POPPING"),this.popState();break;case 85:ae.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (right): dir:",ne.yytext),"DIR";case 87:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (left):",ne.yytext),"DIR";case 88:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (x):",ne.yytext),"DIR";case 89:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (y):",ne.yytext),"DIR";case 90:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (up):",ne.yytext),"DIR";case 91:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (down):",ne.yytext),"DIR";case 92:return ne.yytext="]>",ae.getLogger().debug("Lex (ARROW_DIR end):",ne.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 94:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 95:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 96:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 97:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 98:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 99:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return ae.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 103:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 104:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 105:return ae.getLogger().debug("Lex: COLON",ne.yytext),ne.yytext=ne.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\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:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return pe}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();lwe.parser=lwe;const ucn=lwe;let U2={},hwe=[],ij={};const LWe="color",MWe="fill",lcn="bgFill",DWe=",";let sj={};const hcn=function(i,s=""){sj[i]===void 0&&(sj[i]={id:i,styles:[],textStyles:[]});const u=sj[i];s!=null&&s.split(DWe).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(LWe)){const b=p.replace(MWe,lcn).replace(LWe,MWe);u.textStyles.push(b)}u.styles.push(p)})},fcn=function(i,s=""){const u=U2[i];s!=null&&(u.styles=s.split(DWe))},dcn=function(i,s){i.split(",").forEach(function(u){let d=U2[u];if(d===void 0){const p=u.trim();U2[p]={id:p,type:"na",children:[]},d=U2[p]}d.classes||(d.classes=[]),d.classes.push(s)})},IWe=(i,s)=>{const u=i.flat(),d=[];for(const p of u){if(p.type==="classDef"){hcn(p.id,p.css);continue}if(p.type==="applyClass"){dcn(p.id,(p==null?void 0:p.styleClass)||"");continue}if(p.type==="applyStyles"){p!=null&&p.stylesStr&&fcn(p.id,p==null?void 0:p.stylesStr);continue}if(p.type==="column-setting")s.columns=p.columns||-1;else if(p.type==="edge")ij[p.id]?ij[p.id]++:ij[p.id]=1,p.id=ij[p.id]+"-"+p.id,hwe.push(p);else{p.label||(p.type==="composite"?p.label="":p.label=p.id);const v=!U2[p.id];if(v?U2[p.id]=p:(p.type!=="na"&&(U2[p.id].type=p.type),p.label!==p.id&&(U2[p.id].label=p.label)),p.children&&IWe(p.children,p),p.type==="space"){const b=p.width||1;for(let y=0;y{Xe.debug("Clear called"),Pg(),aj={id:"root",type:"composite",children:[],columns:-1},U2={root:aj},fwe=[],sj={},hwe=[],ij={}};function pcn(i){switch(Xe.debug("typeStr2Type",i),i){case"[]":return"square";case"()":return Xe.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 bcn(i){switch(Xe.debug("typeStr2Type",i),i){case"==":return"thick";default:return"normal"}}function mcn(i){switch(i.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let OWe=0;const vcn={getConfig:()=>Vh().block,typeStr2Type:pcn,edgeTypeStr2Type:bcn,edgeStrToEdgeData:mcn,getLogger:()=>console,getBlocksFlat:()=>[...Object.values(U2)],getBlocks:()=>fwe||[],getEdges:()=>hwe,setHierarchy:i=>{aj.children=i,IWe(i,aj),fwe=aj.children},getBlock:i=>U2[i],setBlock:i=>{U2[i.id]=i},getColumns:i=>{const s=U2[i];return s?s.columns?s.columns:s.children?s.children.length:-1:-1},getClasses:function(){return sj},clear:gcn,generateId:()=>(OWe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+OWe)},jJ=(i,s)=>{const u=ARe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return SC(d,p,v,s)},wcn=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${jJ(i.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${jJ(i.mainBkg,.5)}; + fill: ${jJ(i.clusterBkg,.5)}; + stroke: ${jJ(i.clusterBorder,.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`;function NWe(i,s,u=!1){var R,F,j;const d=i;let p="default";(((R=d==null?void 0:d.classes)==null?void 0:R.length)||0)>0&&(p=((d==null?void 0:d.classes)||[]).join(" ")),p=p+" flowchart-label";let v=0,b="",y;switch(d.type){case"round":v=5,b="rect";break;case"composite":v=0,b="composite",y=0;break;case"square":b="rect";break;case"diamond":b="question";break;case"hexagon":b="hexagon";break;case"block_arrow":b="block_arrow";break;case"odd":b="rect_left_inv_arrow";break;case"lean_right":b="lean_right";break;case"lean_left":b="lean_left";break;case"trapezoid":b="trapezoid";break;case"inv_trapezoid":b="inv_trapezoid";break;case"rect_left_inv_arrow":b="rect_left_inv_arrow";break;case"circle":b="circle";break;case"ellipse":b="ellipse";break;case"stadium":b="stadium";break;case"subroutine":b="subroutine";break;case"cylinder":b="cylinder";break;case"group":b="rect";break;case"doublecircle":b="doublecircle";break;default:b="rect"}const T=om((d==null?void 0:d.styles)||[]),_=d.label,A=d.size||{width:0,height:0,x:0,y:0};return{labelStyle:T.labelStyle,shape:b,labelText:_,rx:v,ry:v,class:p,style:T.style,id:d.id,directions:d.directions,width:A.width,height:A.height,x:A.x,y:A.y,positioned:u,intersect:void 0,type:d.type,padding:y??(((j=(F=Vh())==null?void 0:F.block)==null?void 0:j.padding)||0)}}async function ycn(i,s,u){const d=NWe(s,u,!1);if(d.type==="group")return;const p=await tJ(i,d),v=p.node().getBBox(),b=u.getBlock(d.id);b.size={width:v.width,height:v.height,x:0,y:0,node:p},u.setBlock(b),p.remove()}async function xcn(i,s,u){const d=NWe(s,u,!0);u.getBlock(d.id).type!=="space"&&(await tJ(i,d),s.intersect=d==null?void 0:d.intersect,$me(d))}async function dwe(i,s,u,d){for(const p of s)await d(i,p,u),p.children&&await dwe(i,p.children,u,d)}async function kcn(i,s,u){await dwe(i,s,u,ycn)}async function Ecn(i,s,u){await dwe(i,s,u,xcn)}async function Tcn(i,s,u,d,p){const v=new B0({multigraph:!0,compound:!0});v.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const b of u)b.size&&v.setNode(b.id,{width:b.size.width,height:b.size.height,intersect:b.intersect});for(const b of s)if(b.start&&b.end){const y=d.getBlock(b.start),T=d.getBlock(b.end);if(y!=null&&y.size&&(T!=null&&T.size)){const _=y.size,A=T.size,P=[{x:_.x,y:_.y},{x:_.x+(A.x-_.x)/2,y:_.y+(A.y-_.y)/2},{x:A.x,y:A.y}];await IUe(i,{v:b.start,w:b.end,name:b.id},{...b,arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",v,p),b.label&&(await zme(i,{...b,label:b.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await MUe({...b,x:P[1].x,y:P[1].y},{originalPath:P}))}}}const e0=((RWe=(FWe=qt())==null?void 0:FWe.block)==null?void 0:RWe.padding)||8;function Ccn(i,s){if(i===0||!Number.isInteger(i))throw new Error("Columns must be an integer !== 0.");if(s<0||!Number.isInteger(s))throw new Error("Position must be a non-negative integer."+s);if(i<0)return{px:s,py:0};if(i===1)return{px:0,py:s};const u=s%i,d=Math.floor(s/i);return{px:u,py:d}}const Scn=i=>{let s=0,u=0;for(const d of i.children){const{width:p,height:v,x:b,y}=d.size||{width:0,height:0,x:0,y:0};Xe.debug("getMaxChildSize abc95 child:",d.id,"width:",p,"height:",v,"x:",b,"y:",y,d.type),d.type!=="space"&&(p>s&&(s=p/(i.widthInColumns||1)),v>u&&(u=v))}return{width:s,height:u}};function gwe(i,s,u=0,d=0){var b,y,T,_,A,P,R,F,j,K,ee;Xe.debug("setBlockSizes abc95 (start)",i.id,(b=i==null?void 0:i.size)==null?void 0:b.x,"block width =",i==null?void 0:i.size,"sieblingWidth",u),(y=i==null?void 0:i.size)!=null&&y.width||(i.size={width:u,height:d,x:0,y:0});let p=0,v=0;if(((T=i.children)==null?void 0:T.length)>0){for(const de of i.children)gwe(de,s);const ie=Scn(i);p=ie.width,v=ie.height,Xe.debug("setBlockSizes abc95 maxWidth of",i.id,":s children is ",p,v);for(const de of i.children)de.size&&(Xe.debug(`abc95 Setting size of children of ${i.id} id=${de.id} ${p} ${v} ${de.size}`),de.size.width=p*(de.widthInColumns||1)+e0*((de.widthInColumns||1)-1),de.size.height=v,de.size.x=0,de.size.y=0,Xe.debug(`abc95 updating size of ${i.id} children child:${de.id} maxWidth:${p} maxHeight:${v}`));for(const de of i.children)gwe(de,s,p,v);const oe=i.columns||-1;let pe=0;for(const de of i.children)pe+=de.widthInColumns||1;let be=i.children.length;oe>0&&oe0?Math.min(i.children.length,oe):i.children.length;if(de>0){const X=(ne-de*e0-e0)/de;Xe.debug("abc95 (growing to fit) width",i.id,ne,(R=i.size)==null?void 0:R.width,X);for(const ge of i.children)ge.size&&(ge.size.width=X)}}i.size={width:ne,height:se,x:0,y:0}}Xe.debug("setBlockSizes abc94 (done)",i.id,(F=i==null?void 0:i.size)==null?void 0:F.x,(j=i==null?void 0:i.size)==null?void 0:j.width,(K=i==null?void 0:i.size)==null?void 0:K.y,(ee=i==null?void 0:i.size)==null?void 0:ee.height)}function PWe(i,s){var d,p,v,b,y,T,_,A,P,R,F,j,K,ee,ie,oe,pe;Xe.debug(`abc85 layout blocks (=>layoutBlocks) ${i.id} x: ${(d=i==null?void 0:i.size)==null?void 0:d.x} y: ${(p=i==null?void 0:i.size)==null?void 0:p.y} width: ${(v=i==null?void 0:i.size)==null?void 0:v.width}`);const u=i.columns||-1;if(Xe.debug("layoutBlocks columns abc95",i.id,"=>",u,i),i.children&&i.children.length>0){const be=((y=(b=i==null?void 0:i.children[0])==null?void 0:b.size)==null?void 0:y.width)||0,ae=i.children.length*be+(i.children.length-1)*e0;Xe.debug("widthOfChildren 88",ae,"posX");let ne=0;Xe.debug("abc91 block?.size?.x",i.id,(T=i==null?void 0:i.size)==null?void 0:T.x);let se=(_=i==null?void 0:i.size)!=null&&_.x?((A=i==null?void 0:i.size)==null?void 0:A.x)+(-((P=i==null?void 0:i.size)==null?void 0:P.width)/2||0):-e0,de=0;for(const X of i.children){const ge=i;if(!X.size)continue;const{width:W,height:xe}=X.size,{px:U,py:Fe}=Ccn(u,ne);if(Fe!=de&&(de=Fe,se=(R=i==null?void 0:i.size)!=null&&R.x?((F=i==null?void 0:i.size)==null?void 0:F.x)+(-((j=i==null?void 0:i.size)==null?void 0:j.width)/2||0):-e0,Xe.debug("New row in layout for block",i.id," and child ",X.id,de)),Xe.debug(`abc89 layout blocks (child) id: ${X.id} Pos: ${ne} (px, py) ${U},${Fe} (${(K=ge==null?void 0:ge.size)==null?void 0:K.x},${(ee=ge==null?void 0:ge.size)==null?void 0:ee.y}) parent: ${ge.id} width: ${W}${e0}`),ge.size){const Pe=W/2;X.size.x=se+e0+Pe,Xe.debug(`abc91 layout blocks (calc) px, pyid:${X.id} startingPos=X${se} new startingPosX${X.size.x} ${Pe} padding=${e0} width=${W} halfWidth=${Pe} => x:${X.size.x} y:${X.size.y} ${X.widthInColumns} (width * (child?.w || 1)) / 2 ${W*((X==null?void 0:X.widthInColumns)||1)/2}`),se=X.size.x+Pe,X.size.y=ge.size.y-ge.size.height/2+Fe*(xe+e0)+xe/2+e0,Xe.debug(`abc88 layout blocks (calc) px, pyid:${X.id}startingPosX${se}${e0}${Pe}=>x:${X.size.x}y:${X.size.y}${X.widthInColumns}(width * (child?.w || 1)) / 2${W*((X==null?void 0:X.widthInColumns)||1)/2}`)}X.children&&PWe(X),ne+=(X==null?void 0:X.widthInColumns)||1,Xe.debug("abc88 columnsPos",X,ne)}}Xe.debug(`layout blocks (<==layoutBlocks) ${i.id} x: ${(ie=i==null?void 0:i.size)==null?void 0:ie.x} y: ${(oe=i==null?void 0:i.size)==null?void 0:oe.y} width: ${(pe=i==null?void 0:i.size)==null?void 0:pe.width}`)}function BWe(i,{minX:s,minY:u,maxX:d,maxY:p}={minX:0,minY:0,maxX:0,maxY:0}){if(i.size&&i.id!=="root"){const{x:v,y:b,width:y,height:T}=i.size;v-y/2d&&(d=v+y/2),b+T/2>p&&(p=b+T/2)}if(i.children)for(const v of i.children)({minX:s,minY:u,maxX:d,maxY:p}=BWe(v,{minX:s,minY:u,maxX:d,maxY:p}));return{minX:s,minY:u,maxX:d,maxY:p}}function _cn(i){const s=i.getBlock("root");if(!s)return;gwe(s,i,0,0),PWe(s),Xe.debug("getBlocks",JSON.stringify(s,null,2));const{minX:u,minY:d,maxX:p,maxY:v}=BWe(s),b=v-d,y=p-u;return{x:u,y:d,width:y,height:b}}const Acn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ucn,db:vcn,renderer:{draw:async function(i,s,u,d){const{securityLevel:p,block:v}=Vh(),b=d.db;let y;p==="sandbox"&&(y=Ir("#i"+s));const T=Ir(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?T.select(`[id="${s}"]`):Ir(`[id="${s}"]`);Sme(_,["point","circle","cross"],d.type,s);const P=b.getBlocks(),R=b.getBlocksFlat(),F=b.getEdges(),j=_.insert("g").attr("class","block");await kcn(j,P,b);const K=_cn(b);if(await Ecn(j,P,b),await Tcn(j,F,R,b,s),K){const ee=K,ie=Math.max(1,Math.round(.125*(ee.width/ee.height))),oe=ee.height+ie+10,pe=ee.width+10,{useMaxWidth:be}=v;Ng(_,oe,pe,!!be),Xe.debug("Here Bounds",K,ee),_.attr("viewBox",`${ee.x-5} ${ee.y-5} ${ee.width+10} ${ee.height+10}`)}_F(zFe)},getClasses:function(i,s){return s.db.getClasses()}},styles:wcn}},Symbol.toStringTag,{value:"Module"}));return um}); diff --git a/assets/lib/quicklink/quicklink.umd.js b/assets/lib/quicklink/quicklink.umd.js new file mode 100644 index 0000000..153efcf --- /dev/null +++ b/assets/lib/quicklink/quicklink.umd.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(e.quicklink={})}(this,function(e){function n(e){return new Promise(function(n,r,t){(t=new XMLHttpRequest).open("GET",e,t.withCredentials=!0),t.onload=function(){200===t.status?n():r()},t.send()})}var r,t=(r=document.createElement("link")).relList&&r.relList.supports&&r.relList.supports("prefetch")?function(e){return new Promise(function(n,r,t){(t=document.createElement("link")).rel="prefetch",t.href=e,t.onload=n,t.onerror=r,document.head.appendChild(t)})}:n,o=window.requestIdleCallback||function(e){var n=Date.now();return setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-n))}})},1)},i=new Set,c=new Set,u=!1;function a(e){if(e){if(e.saveData)return new Error("Save-Data is enabled");if(/2g/.test(e.effectiveType))return new Error("network conditions are poor")}return!0}function s(e,r,o){var s=a(navigator.connection);return s instanceof Error?Promise.reject(new Error("Cannot prefetch, "+s.message)):(c.size>0&&!u&&console.warn("[Warning] You are using both prefetching and prerendering on the same document"),Promise.all([].concat(e).map(function(e){if(!i.has(e))return i.add(e),(r?function(e){return window.fetch?fetch(e,{credentials:"include"}):n(e)}:t)(new URL(e,location.href).toString())})))}function f(e,n){var r=a(navigator.connection);if(r instanceof Error)return Promise.reject(new Error("Cannot prerender, "+r.message));if(!HTMLScriptElement.supports("speculationrules"))return s(e),Promise.reject(new Error("This browser does not support the speculation rules API. Falling back to prefetch."));if(document.querySelector('script[type="speculationrules"]'))return Promise.reject(new Error("Speculation Rules is already defined and cannot be altered."));for(var t=0,o=[].concat(e);t0&&!u&&console.warn("[Warning] You are using both prefetching and prerendering on the same document");var l=function(e){var n=document.createElement("script");n.type="speculationrules",n.text='{"prerender":[{"source": "list","urls": ["'+Array.from(e).join('","')+'"]}]}';try{document.head.appendChild(n)}catch(e){return e}return!0}(c);return!0===l?Promise.resolve():Promise.reject(l)}e.listen=function(e){if(e||(e={}),window.IntersectionObserver){var n=function(e){e=e||1;var n=[],r=0;function t(){r0&&(n.shift()(),r++)}return[function(e){n.push(e)>1||t()},function(){r--,t()}]}(e.throttle||1/0),r=n[0],t=n[1],a=e.limit||1/0,l=e.origins||[location.hostname],d=e.ignores||[],h=e.delay||0,p=[],m=e.timeoutFn||o,w="function"==typeof e.hrefFn&&e.hrefFn,g=e.prerender||!1;u=e.prerenderAndPrefetch||!1;var v=new IntersectionObserver(function(n){n.forEach(function(n){if(n.isIntersecting)p.push((n=n.target).href),function(e,n){n?setTimeout(e,n):e()}(function(){-1!==p.indexOf(n.href)&&(v.unobserve(n),(u||g)&&c.size<1?f(w?w(n):n.href).catch(function(n){if(!e.onError)throw n;e.onError(n)}):i.size-1&&p.splice(o)}})},{threshold:e.threshold||0});return m(function(){(e.el||document).querySelectorAll("a").forEach(function(e){l.length&&!l.includes(e.hostname)||function e(n,r){return Array.isArray(r)?r.some(function(r){return e(n,r)}):(r.test||r).call(r,n.href,n)}(e,d)||v.observe(e)})},{timeout:e.timeout||2e3}),function(){i.clear(),v.disconnect()}}},e.prefetch=s,e.prerender=f}); diff --git a/config.toml b/config.toml.backup similarity index 90% rename from config.toml rename to config.toml.backup index ce128d8..6c9f12f 100644 --- a/config.toml +++ b/config.toml.backup @@ -45,10 +45,16 @@ ignoreFiles = ["\\.ipynb$", ".ipynb_checkpoints$", "\\.Rmd$", "\\.Rmarkdown$", " [mediaTypes."application/manifest+json"] suffixes = ["webmanifest"] +# allow images to render on deploy previews +# https://stackoverflow.com/questions/67977033/blogdown-site-not-showing-my-images-after-deploying-on-netlify [outputFormats.WebAppManifest] mediaType = "application/manifest+json" rel = "manifest" + +[context.deploy-preview.environment] + HUGO_BLOGDOWN_POST_RELREF = "true" + # Configure BlackFriday Markdown rendering. # See: https://gohugo.io/getting-started/configuration/#configure-blackfriday [blackfriday] diff --git a/config/_default/config.toml b/config/_default/config.toml new file mode 100644 index 0000000..61195d0 --- /dev/null +++ b/config/_default/config.toml @@ -0,0 +1,15 @@ +# -- Site Configuration -- +# Refer to the theme docs for more details about each of these parameters. +# https://jpanther.github.io/congo/docs/getting-started/ + +baseURL = "https://victor.rbind.io/" + +theme = "congo" +defaultContentLanguage = "en" + +enableRobotsTXT = true +paginate = 10 +summaryLength = 0 + +[outputs] + home = ["HTML", "RSS", "JSON"] diff --git a/config/_default/languages.en.toml b/config/_default/languages.en.toml new file mode 100644 index 0000000..813f7a7 --- /dev/null +++ b/config/_default/languages.en.toml @@ -0,0 +1,21 @@ +languageCode = "en" +languageName = "English" +languageDirection = "ltr" +weight = 1 + +title = "Victor Yuan" + +[params] + dateFormat = "2 January 2006" + + mainSections = ["post"] + +[params.author] + name = "Victor Yuan" + image = "img/author.jpg" + headline = "Bioinformatics Scientist :bar_chart:" + bio = ":dog: :maple_leaf:" + links = [ + { github = "https://github.com/wvictor14" }, + { linkedin = "https://linkedin.com/" }, + ] \ No newline at end of file diff --git a/config/_default/languages.toml b/config/_default/languages.toml deleted file mode 100644 index f7c6da6..0000000 --- a/config/_default/languages.toml +++ /dev/null @@ -1,20 +0,0 @@ -# Languages -# Create a `[X]` block for each language you want, where X is the language ID. -# Refer to https://sourcethemes.com/academic/docs/language/ - -# Configure the English version of the site. -[en] - languageCode = "en-us" - # contentDir = "content/en" # Uncomment for multi-lingual sites, and move English content into `en` sub-folder. - -# Uncomment the lines below to configure your website in a second language. -#[zh] -# languageCode = "zh-Hans" -# contentDir = "content/zh" -# title = "Chinese website title..." -# [zh.params] -# description = "Site description in Chinese..." -# [[zh.menu.main]] -# name = "Wo" -# url = "#about" -# weight = 1 diff --git a/config/_default/markup.toml b/config/_default/markup.toml new file mode 100644 index 0000000..d3b9437 --- /dev/null +++ b/config/_default/markup.toml @@ -0,0 +1,13 @@ +# -- Markup -- +# These settings are required for the theme to function. + +[goldmark] +[goldmark.renderer] + unsafe = true + +[highlight] + noClasses = false + +[tableOfContents] + startLevel = 2 + endLevel = 3 diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml new file mode 100644 index 0000000..46508f3 --- /dev/null +++ b/config/_default/menus.en.toml @@ -0,0 +1,46 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "Projects" + pageRef = "projects" + weight = 10 + +[[main]] + name = "About" + pageRef = "about" + weight = 20 + +[[main]] + name = "GitHub" + url = "https://github.com/wvictor14/" + weight = 40 + [main.params] + icon = "github" + showName = false + target = "_blank" + +[[main]] + identifier = "search" + weight = 99 + [main.params] + action = "search" + + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +# [[footer]] +# name = "Tags" +# pageRef = "tags" +# weight = 10 diff --git a/config/_default/menus.toml b/config/_default/menus.toml deleted file mode 100644 index 0c4ed15..0000000 --- a/config/_default/menus.toml +++ /dev/null @@ -1,46 +0,0 @@ -# Navigation Links -# To link a homepage widget, specify the URL as a hash `#` followed by the filename of the -# desired widget in your `content/home/` folder. -# The weight parameter defines the order that the links will appear in. - -[[main]] - name = "About Me" - url = "#about" - weight = 11 - -[[main]] - name = "Experience" - url = "#experience" - weight = 12 - -[[main]] - name = "Publications" - url = "#publications" - weight = 13 - -[[main]] - name = "Code" - url = "#code" - weight = 14 - -[[main]] - name = "Posts" - url = "#posts" - weight = 15 - -[[main]] - name = "Resume" - url = "#cv" - weight = 16 - -[[main]] - name = "Contact" - url = "#contact" - weight = 999 - -# Link to a PDF of your resume/CV from the menu. -# To enable, copy your resume/CV to `static/files/cv.pdf` and uncomment the lines below. -# [[main]] -# name = "CV" -# url = "files/cv.pdf" -# weight = 70 diff --git a/config/_default/module.toml b/config/_default/module.toml new file mode 100644 index 0000000..e723579 --- /dev/null +++ b/config/_default/module.toml @@ -0,0 +1,6 @@ +[hugoVersion] + extended = true + min = "0.87.0" + +[[imports]] +path = "github.com/jpanther/congo/v2" \ No newline at end of file diff --git a/config/_default/params.toml b/config/_default/params.toml index 1b4d3cb..6cb386b 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -1,247 +1,81 @@ -# SITE SETUP -# Documentation: https://sourcethemes.com/academic/ - -############################ -## Theme -############################ - -# Choose a theme. -# Latest themes (may require updating): https://sourcethemes.com/academic/themes/ -# Browse built-in themes in `themes/academic/data/themes/` -# Browse user installed themes in `data/themes/` -# Color theme. -# Choose from `default`, `ocean`, `forest`, `coffee`, `dark`, or `1950s`. -theme = "minimal_custom" - -# Enable users to switch between day and night mode? -day_night = false - -# Override the theme's font set (optional). -# Latest font sets (may require updating): https://sourcethemes.com/academic/themes/ -# Browse built-in font sets in `themes/academic/data/fonts/` -# Browse user installed font sets in `data/fonts/` -font = "" - -# Choose a font size. -# Sizes: XS (extra small), S (small), M (medium), L (large - DEFAULT), XL (extra large) -font_size = "M" - -############################ -## Basic Info -############################ - -# Website type -# Improve how search engines understand your site. -# For personal sites, choose "Person". -# For organizations and projects, choose from https://schema.org/Organization#subtypes -# E.g. Person, Organization, LocalBusiness, Project, EducationalOrganization -site_type = "Person" - -# Local business type (optional) -# If you entered "LocalBusiness" above, choose the type of business from https://schema.org/LocalBusiness#subtypes -local_business_type = "" - -# Organization name (optional) -# Enter an organization or project name. Defaults to the site title from `config.toml`. -org_name = "" - -# Description for social sharing and search engines. If undefined, superuser role is used in place. -description = "Victor Yuan, PhD, placenta, Vancouver, Canada, UBC, Research" - -# Display a logo in navigation bar rather than title (optional). -# To enable, place an image in `static/img/` and reference its filename below. To disable, set the value to "". -logo = "" - -############################ -## Site Features -############################ - -# Enable source code highlighting? true/false -# Documentation: https://sourcethemes.com/academic/docs/writing-markdown-latex/#highlighting-options -highlight = true -highlight_languages = ["r"] # Add support for highlighting additional languages -# highlight_style = "github" # For supported styles, see https://cdnjs.com/libraries/highlight.js/ - -# Enable LaTeX math rendering? true/false -# If false, you can enable math on a per page basis as needed. -math = false - -# Enable diagram rendering? true/false -# If false, you can enable diagrams on a per page basis as needed. -diagram = false - -# Privacy pack -# Show a cookie consent message to visitors -# Anonymize IP in Google Analytics (if enabled) -privacy_pack = false - -# Enable visitors to edit pages? -# `repo` defines the repository URL. `editable` defines which page types can be edited. -edit_page = {repo_url = "https://github.com/gcushen/hugo-academic", repo_branch = "master", editable = {docs = true, page = false, post = false}} - -############################ -## Contact details -## -## These details power the Contact widget (if enabled). -## Additionally, for organizations, these details may be used to enrich search engine results. -############################ - -# Enter contact details (optional). To hide a field, clear it to "". -email = "victor.2wy@gmail.com" -phone = "" - -# Address -# For country_code, use the 2-letter ISO code (see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ) -address = {street = "", city = "Vancouver", region = "BC", postcode = "", country = "Canada", country_code = "CA"} - -# Geographic coordinates -# To get your coordinates, right-click on Google Maps and choose "What's here?". The coords will show up at the bottom. -coordinates = {latitude = "", longitude = ""} - -# Directions for visitors to locate you. -directions = "" - -# Office hours -# A list of your office hours. To remove, set to an empty list `[]`. -office_hours = [] - -# Enter an optional link for booking appointments (e.g. calendly.com). -appointment_url = "" - -# Contact links -# Set to `[]` to disable, or comment out unwanted lines with a hash `#`. -contact_links = [ - {icon = "twitter", icon_pack = "fab", name = "Follow me on Twitter", link = "https://twitter.com/victor2wy"}, - {icon = "github", icon_pack = "fab", name = "Github", link = "https://www.github.com/wvictor14/"}, - # {icon = "telegram", icon_pack = "fab", name = "Telegram Me", link = "https://telegram.me/@Telegram"}, - ] - -############################ -## Social -############################ - -# Default image for social sharing and search engines. Place image in `static/img/` folder and specify image name here. -sharing_image = "" - -# Twitter username (without @). Used when a visitor shares your site on Twitter. -twitter = "victor2wy" - -############################ -## Regional Settings -############################ - -# Date and time format (refer to https://sourcethemes.com/academic/docs/customization/#date-format ) -# Examples: "Mon, Jan 2, 2006" or "2006-01-02" -date_format = "Jan 2, 2006" -# Examples: "3:04 pm" or "15:04" -time_format = "3:04 PM" - -# List delimiter (separates parts of an address) -# Popular separators are ", " (comma), "
    " (new line), " " (space) -list_delimiter = ", " - -############################ -## Advanced -############################ - -# Get user avatars from Gravatar.com? (true/false) -gravatar = false - -# Align the main menu to the right of the page? (true/false) -menu_align_right = false - -# Show estimated reading time for posts? (true/false) -reading_time = true - -# Display next/previous section pager? (true/false) -section_pager = false -docs_section_pager = true # Display pager in Docs layout (e.g. tutorials)? - -# Enable in-built social sharing buttons? (true/false) -sharing = true - -# Link authors to their profile page? (true/false) -link_authors = true - -# Load JS plugins -# E.g. To load `/assets/js/custom.js`, set `plugins_js = ["custom"]`. -plugins_js = [] - -# Configuration of publication pages. -[publications] - # Date format (refer to https://sourcethemes.com/academic/docs/customization/#date-format ) - # Examples: "Mon, Jan 2, 2006" or "2006-01-02" - date_format = "January 2006" - - # Citation style ("apa" or "mla") - citation_style = "apa" - -# Configuration of project pages. -[projects] - # Views for associated content. - # 1: List - # 2: Compact - # 3: Card - # 4: Citation (publications only) - post_view = 2 - publication_view = 2 - talk_view = 2 - -############################ -## Comments -############################ -[comments] - # Comment provider: - # 0: Disabled - # 1: Disqus (https://disqus.com) - # 2: Commento (https://commento.io) - engine = 1 - - # Which page types are commentable? - commentable = {page = true, post = true, docs = true, project = true, publication = true, talk = true} - - # Configuration of Disqus. - [comments.disqus] - shortname = "wvictor14-rbind-io" # Paste the shortname from your Disqus dashboard. - show_count = true # Show comment count in page header? (true/false) - -############################ -## Search -############################ -[search] - # Search provider: - # 0: No search engine - # 1: Academic (built-in) - # 2: Algolia (https://www.algolia.com) - engine = 1 - - # Configuration of Algolia search engine. - # Paste the values from your Algolia dashboard. - [search.algolia] - app_id = "" - api_key = "" - index_name = "" - show_logo = false - -############################ -## Maps -############################ -[map] - # To show your address on a map in the Contact widget, enter your latitude and longitude (above) - # and choose a map provider below. - # - # To use Google Maps, set `engine` to 1 and enter your API key that can be obtained here: - # https://developers.google.com/maps/documentation/javascript/get-api-key - # To use OpenStreetMap tiles, set `engine` to 2. - # To use OpenStreetMap on a high traffic site, set `engine` to 3 and enter your API key that can be obtained here: - # https://www.mapbox.com/studio/account/tokens - # - # Map provider: - # 0: No map - # 1: Google Maps - # 2: OpenStreetMap (Mapnik) - # 3: OpenStreetMap (Mapbox) - engine = 2 - api_key = "" - zoom = 15 - +# -- Theme Options -- +# These options control how the theme functions and allow you to +# customise the display of your website. +# +# Refer to the theme docs for more details about each of these parameters. +# https://jpanther.github.io/congo/docs/configuration/#theme-parameters + +colorScheme = "fire" +defaultAppearance = "dark" # valid options: light or dark +autoSwitchAppearance = true + +enableSearch = true +enableCodeCopy = true +enableImageLazyLoading = true +enableImageWebp = true +enableQuicklink = true + +# robots = "" +fingerprintAlgorithm = "sha256" + +[header] + layout = "basic" # valid options: basic, hamburger, hybrid, custom + # logo = "img/author.jpg" + # logoDark = "img/dark-logo.jpg" + showTitle = true + +[footer] + showCopyright = true + showThemeAttribution = false + showAppearanceSwitcher = true + showScrollToTop = true + +[homepage] + layout = "profile" # valid options: page, profile, custom + showRecent = false + recentLimit = 3 + +[article] + showDate = true + showDateUpdated = false + showAuthor = true + showBreadcrumbs = true + showDraftLabel = true + showEdit = false + editAppendPath = true + showHeadingAnchors = true + showPagination = true + invertPagination = false + showReadingTime = true + showTableOfContents = true + showTaxonomies = false + showWordCount = false + showComments = false + # sharingLinks = ["facebook", "x-twitter", "mastodon", "pinterest", "reddit", "linkedin", "email", "threads", "telegram", "line", "weibo"] + +[list] + showBreadcrumbs = true + showSummary = false + showTableOfContents = true + showTaxonomies = false + groupByYear = false + paginationWidth = 1 + +[sitemap] + excludedKinds = ["taxonomy", "term"] + +[taxonomy] + showTermCount = true + +[fathomAnalytics] + # site = "ABC12345" + +#[umamiAnalytics] +# site = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# region = "eu" # Can be either "eu" or "us" + +[verification] + # google = "" + # bing = "" + # pinterest = "" + # yandex = "" diff --git a/config/_default/taxonomies.toml b/config/_default/taxonomies.toml new file mode 100644 index 0000000..193dc4b --- /dev/null +++ b/config/_default/taxonomies.toml @@ -0,0 +1 @@ +tag = "tags" diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..def90d0 --- /dev/null +++ b/content/about.md @@ -0,0 +1,15 @@ +--- +showDate: false +showDateUpdated: false +showReadingTime: false +--- +# About Me + +Hi I'm Victor, I'm a bioinformatics scientist working at Sonoma Biotherapeutics +in San Francisco. I work with RNAseq data a lot, sometimes I dabble in other +-omics data. I like to build web apps in Rshiny and thinking about data +workflows. + +In my spare time I like to rock climb, spend time with my espresso machine, and +make food for loved ones. + diff --git a/content/authors/admin/_index.md b/content/from_academic_theme/authors/admin/_index.md similarity index 100% rename from content/authors/admin/_index.md rename to content/from_academic_theme/authors/admin/_index.md diff --git a/content/authors/admin/avatar.jpg b/content/from_academic_theme/authors/admin/avatar.jpg similarity index 100% rename from content/authors/admin/avatar.jpg rename to content/from_academic_theme/authors/admin/avatar.jpg diff --git a/content/cv/2022 06 - Victor Yuan.pdf b/content/from_academic_theme/cv/2022 06 - Victor Yuan.pdf similarity index 100% rename from content/cv/2022 06 - Victor Yuan.pdf rename to content/from_academic_theme/cv/2022 06 - Victor Yuan.pdf diff --git a/content/home/about.md b/content/from_academic_theme/home/about.md similarity index 100% rename from content/home/about.md rename to content/from_academic_theme/home/about.md diff --git a/content/home/code.md b/content/from_academic_theme/home/code.md similarity index 100% rename from content/home/code.md rename to content/from_academic_theme/home/code.md diff --git a/content/home/contact.md b/content/from_academic_theme/home/contact.md similarity index 100% rename from content/home/contact.md rename to content/from_academic_theme/home/contact.md diff --git a/content/home/cv.md b/content/from_academic_theme/home/cv.md similarity index 100% rename from content/home/cv.md rename to content/from_academic_theme/home/cv.md diff --git a/content/home/experience.md b/content/from_academic_theme/home/experience.md similarity index 100% rename from content/home/experience.md rename to content/from_academic_theme/home/experience.md diff --git a/content/home/index.md b/content/from_academic_theme/home/index.md similarity index 100% rename from content/home/index.md rename to content/from_academic_theme/home/index.md diff --git a/content/home/posts.md b/content/from_academic_theme/home/posts.md similarity index 100% rename from content/home/posts.md rename to content/from_academic_theme/home/posts.md diff --git a/content/home/publications.md b/content/from_academic_theme/home/publications.md similarity index 100% rename from content/home/publications.md rename to content/from_academic_theme/home/publications.md diff --git a/content/privacy.md b/content/from_academic_theme/privacy.md similarity index 100% rename from content/privacy.md rename to content/from_academic_theme/privacy.md diff --git a/content/publication/2019-06-placental-epiclock/cite.bib b/content/from_academic_theme/publication/2019-06-placental-epiclock/cite.bib similarity index 100% rename from content/publication/2019-06-placental-epiclock/cite.bib rename to content/from_academic_theme/publication/2019-06-placental-epiclock/cite.bib diff --git a/content/publication/2019-06-placental-epiclock/index.md b/content/from_academic_theme/publication/2019-06-placental-epiclock/index.md similarity index 100% rename from content/publication/2019-06-placental-epiclock/index.md rename to content/from_academic_theme/publication/2019-06-placental-epiclock/index.md diff --git a/content/publication/2019-08-ethnicitypredictor/cite.bib b/content/from_academic_theme/publication/2019-08-ethnicitypredictor/cite.bib similarity index 100% rename from content/publication/2019-08-ethnicitypredictor/cite.bib rename to content/from_academic_theme/publication/2019-08-ethnicitypredictor/cite.bib diff --git a/content/publication/2019-08-ethnicitypredictor/index.md b/content/from_academic_theme/publication/2019-08-ethnicitypredictor/index.md similarity index 100% rename from content/publication/2019-08-ethnicitypredictor/index.md rename to content/from_academic_theme/publication/2019-08-ethnicitypredictor/index.md diff --git a/content/publication/2021-01-22-cell-specific-characterization-of-the-placental-methylome/cite.bib b/content/from_academic_theme/publication/2021-01-22-cell-specific-characterization-of-the-placental-methylome/cite.bib similarity index 100% rename from content/publication/2021-01-22-cell-specific-characterization-of-the-placental-methylome/cite.bib rename to content/from_academic_theme/publication/2021-01-22-cell-specific-characterization-of-the-placental-methylome/cite.bib diff --git a/content/publication/2021-01-22-cell-specific-characterization-of-the-placental-methylome/index.md b/content/from_academic_theme/publication/2021-01-22-cell-specific-characterization-of-the-placental-methylome/index.md similarity index 100% rename from content/publication/2021-01-22-cell-specific-characterization-of-the-placental-methylome/index.md rename to content/from_academic_theme/publication/2021-01-22-cell-specific-characterization-of-the-placental-methylome/index.md diff --git a/content/publication/_index.md b/content/from_academic_theme/publication/_index.md similarity index 100% rename from content/publication/_index.md rename to content/from_academic_theme/publication/_index.md diff --git a/content/terms.md b/content/from_academic_theme/terms.md similarity index 100% rename from content/terms.md rename to content/from_academic_theme/terms.md diff --git a/content/post/2019-11-14-pacific-boulder-league-2019/index.Rmd b/content/post/2019-11-14-pacific-boulder-league-2019/index.Rmd index f94f172..1e9bc4e 100644 --- a/content/post/2019-11-14-pacific-boulder-league-2019/index.Rmd +++ b/content/post/2019-11-14-pacific-boulder-league-2019/index.Rmd @@ -450,7 +450,7 @@ That's it for now! I looked at this data in a couple of other ways, but I wanted # Footnotes ```{r} -blogdown::shortcode('tweet', '1141220359305232385') +blogdown::shortcode('tweet', user = 'victor2wy', id = '1141220359305232385') ``` diff --git a/content/post/2019-11-14-pacific-boulder-league-2019/index.html b/content/post/2019-11-14-pacific-boulder-league-2019/index.html index 3048905..7954384 100644 --- a/content/post/2019-11-14-pacific-boulder-league-2019/index.html +++ b/content/post/2019-11-14-pacific-boulder-league-2019/index.html @@ -24,7 +24,7 @@ share: true commentable: true draft: false -editor_options: +editor_options: chunk_output_type: console --- @@ -140,7 +140,6 @@

    Conclusion

    Footnotes

    -{{% tweet "1141220359305232385" %}}

    diff --git a/content/post/2024-02-24-read-1-gene-from-single-cell/index.en.Rmd b/content/post/2024-02-24-read-1-gene-from-single-cell/index.en.Rmd index da61833..93c9659 100644 --- a/content/post/2024-02-24-read-1-gene-from-single-cell/index.en.Rmd +++ b/content/post/2024-02-24-read-1-gene-from-single-cell/index.en.Rmd @@ -1,5 +1,5 @@ --- -title: Fast Memory-Efficient Reading 1 Gene at a Time from Single Cell Data +title: '"Can you check gene x for me?" quickly reading 1 gene at a time from single cell data' author: Victor Yuan date: '2024-02-24' slug: read-1-gene-from-single-cell @@ -23,27 +23,38 @@ image: focal_point: '' preview_only: no projects: [] +editor_options: + chunk_output_type: console --- -# start point +"Can you check gene x for me?" is a common question I get when working with other scientists on gene expression projects. This is an easy task after setting up a gene expression web apps with shiny. Though, one pain point for specficially single cell data is that app start up and general data queries become quite slow if using standard analytical single cell packages like `Seurat` and others. For example, a 500 000 cell dataset can take up to 40 seconds to load into memory. Increasingly, I need to check a gene in not just one, but multiple single cell datasets. In my current system of loading entire single cell datasets into memory, this is terribly inefficient for what is essentially a simple task. -The starting point for this task is that we have a sparse count matrix, maybe a `Seurat` or `SingleCellExperiment` object that I want to make accessible via a shiny app to stakeholders. I can write an app that just simply works with these objects directly, but that would involve loading the several gigabytes of data into memory. +How can we optimize these queries so that instead of taking minutes, it only takes seconds? -I was looking for ways to circumvent loading entire count matrices (the main memory-hungry culprit) into R, and this post is about that exploration. +Well, rather than loading the entire data into memory, can we load only the relevant portion, i.e. a gene of interest? -The outline for this post is that: there are some great "on-disk" streaming options, where essentially you open a *connection* to a file, then only subsets of the data file that you request are actually read into memory. +# Single cell formats -# the plan +If we distill this task into a more general one - loading a single row / slice from rectangular data, then there are many options that exist. However, for single cell RNAseq data there are other considerations: -Actually, there is already a great memory-efficient solution out there called [ShinyCell](https://github.com/SGDDNB/ShinyCell), which utilizes the HDF5 format. This doesn't work perfectly for me though, because I have my own app functions and framework that I want to apply. I am just interested in the memory-efficient data read functionality. +- data for single cell is often the order of 20,000 - 40,000 genes, often arranged in rows, and 100 000 - 1 million cells in the columns. It does not often travel in "tidy" formats (e.g. with columns gene, cell, value). -So I will compare ShinyCell's rather manual h5 strategy to some other options. The other option included here is `HDF5Array` + `delayedArray`, which are some Bioconductor options specifically for Bioconductor-specific data structures, like scRNAseq. +- single cell count matrix usually travels as sparse matrix due to high drop-out rate. Coercion to dense is resource-heavy so need to do this thoughtfully and only when necessary. -# key packages for this post +For this post I explore how to utilize the HDF5 format to speed up reading 1 gene at a time into R, in order to address memory and speed issues when working with large and multple single cell datasets. + +# Options for using HDF5 with single cell data + +Actually, there is already a great memory-efficient solution out there called [ShinyCell](https://github.com/SGDDNB/ShinyCell), which utilizes the HDF5 format, and produces a clean, fast, memory-efficient shiny-based app. It looks like `ShinyCell` has it's own approach to writing single cell count data to h5 format. +I think this is interesting because there are already some existing h5 formats already designed for single cell data, like python's `.h5ad` and `h5Seurat`. And in contrast to these ones, `Shinycell` writes a dense count matrix, rather than the other formats mentioned which keep the format of the data as sparse. This makes sense though as the goal of these other formats is to provide entry to existing tools that work with sparse data. + +So I will compare `ShinyCell`'s rather manual h5 strategy to some other options. The other option included here is `HDF5Array` + `delayedArray`, which are some Bioconductor options specifically for Bioconductor-specific data structures, like scRNAseq. + +# Key packages for this post For HDF5, there are a couple of general purpose options in R: [hdf5r](https://cran.r-project.org/web/packages/hdf5r/index.html), [rhdf5](https://bioconductor.org/packages/release/bioc/html/rhdf5.html). Then there is the bioconductor package [HDF5Array](https://bioconductor.org/packages/release/bioc/html/HDF5Array.html) which uses `hdf5r` in backend to work with bioconductor data structures specifically. -# other packages +# Other packages `HDF5Array` hdf5 read write dense/sparse matrices `hdf5r` hdf5 r implementation @@ -66,10 +77,10 @@ library(fs) ```{r} sce <- ZilionisLungData() -counts <- sce@assays@data$counts[1:1500,] +counts <- sce@assays@data$counts[,] ``` -# saving dgc matrix manually with hdf5r +# Saving dgc matrix manually with hdf5r This is ShinyCell's approach, which is to write the sparse count matrix of a `Seurat` / `SingleCellExperiment` object to a dense representation on disk. Because converting the sparse matrix to dense would implode most computers, shinycell's approach is to do this in chunks / loops. @@ -78,7 +89,7 @@ I modify the code to make it easier to follow, and I litter the function with `t Alternatively, we could write sparse representation to disk, which would be faster to write (less data), but then we would need to convert to dense on the read-in endpoints. I don't do that here, because the goal is to speed up read-in, not write-out. Though it may be trivially fast to coerce a 1 x 1million vector? Am not sure. -```{r manual-write} +```{r manual-write, warning = FALSE} file_h5 <- fs::path('counts.h5') if (file.exists(file_h5)) file.remove(file_h5) @@ -123,7 +134,7 @@ write_dgc_to_h5 <- function(dgc, file, chunk_size = 500) { write_dgc_to_h5(counts, file_h5, chunk_size = 1000) ``` -# read 1 gene at a time +# Read 1 gene at a time Now to define a function that opens the h5 file, reads the particular slice of data we want, and then close the h5 file. It is important to ensure the file gets closed, otherwise it can get corrupt. This is a bit of a drawback for this approach, but I have yet to encounter a problem so far. @@ -199,26 +210,37 @@ class(hf5) is(hf5, 'DelayedMatrix') ``` -# compare HDF5array vs diy implementation +# Compare HDF5array vs diy implementation Now we have written the count matrices to disk in hdf5 format in two ways: manually, and through `HDF5Array`. Let's see if there are differences in performance in reading 1 gene at a time. +## Memory and time + ```{r bench} bench_read <- bench::mark( - hf5['AC006486.2',], - read_gene('AC006486.2', file_h5), - counts['AC006486.2',] + HDF5Array = hf5['AC006486.2',], + `h5 - manual` = read_gene('AC006486.2', file_h5), + `in-memory slice` = counts['AC006486.2',] ) -summary(bench_read) |> select(-memory, -result, -time, -gc) |> gt() +summary(bench_read) |> + mutate(expression = as.character(expression)) |> + select(-memory, -result, -time, -gc) |> gt() bench_read |> autoplot(type = 'jitter') ``` -`HDF5array` is slower than my manual method +`HDF5array` is ~2x slower than `ShinyCell`'s manual method + +`ShinyCell` approach is almost as fast as holding in memory, without of course the cost is occupying a large amount of memory at any given time. -Fastest is holding in memory, but not by that much, and of course the cost is occupying a large amount of memory at any given time. +## on-disk space + +```{r} +data.frame(file = c(file_h5, file_h5array)) |> + mutate(file_size = fs::file_size(file)) +``` # SingleCellExperiment @@ -246,7 +268,9 @@ Speed: bench::mark(sce_h5['AC006486.2',]) |> select(-c(result:gc)) |> gt() ``` +# Conclusion - - - +- `HDF5` format is great for memory efficient loading of single cell data, particularly for single gene queries which take less than 1 second on a 200,000 cell dataset. +- The manual `shinyCell` h5 method is almost twice as fast as `HDF5Array` (~1 second vs 0.5 second) +- but `SingleCellExperiment` can carry hdf5-backed count matrices with `HDF5Array`, making it more useful as it opens usage to other single cell tools +- The majority of time reading from `HDF5` is actually closing the connection of the file. diff --git a/content/post/2024-02-24-read-1-gene-from-single-cell/index.en.html b/content/post/2024-02-24-read-1-gene-from-single-cell/index.en.html index afc47d3..3f3c786 100644 --- a/content/post/2024-02-24-read-1-gene-from-single-cell/index.en.html +++ b/content/post/2024-02-24-read-1-gene-from-single-cell/index.en.html @@ -1,5 +1,5 @@ --- -title: Fast Memory-Efficient Reading 1 Gene at a Time from Single Cell Data +title: '"Can you check gene x for me?" quickly reading 1 gene at a time from single cell data' author: Victor Yuan date: '2024-02-24' slug: read-1-gene-from-single-cell @@ -23,27 +23,36 @@ focal_point: '' preview_only: no projects: [] +editor_options: + chunk_output_type: console --- -
    -

    start point

    -

    The starting point for this task is that we have a sparse count matrix, maybe a Seurat or SingleCellExperiment object that I want to make accessible via a shiny app to stakeholders. I can write an app that just simply works with these objects directly, but that would involve loading the several gigabytes of data into memory.

    -

    I was looking for ways to circumvent loading entire count matrices (the main memory-hungry culprit) into R, and this post is about that exploration.

    -

    The outline for this post is that: there are some great “on-disk” streaming options, where essentially you open a connection to a file, then only subsets of the data file that you request are actually read into memory.

    +

    “Can you check gene x for me?” is a common question I get when working with other scientists on gene expression projects. This is an easy task after setting up a gene expression web apps with shiny. Though, one pain point for specficially single cell data is that app start up and general data queries become quite slow if using standard analytical single cell packages like Seurat and others. For example, a 500 000 cell dataset can take up to 40 seconds to load into memory. Increasingly, I need to check a gene in not just one, but multiple single cell datasets. In my current system of loading entire single cell datasets into memory, this is terribly inefficient for what is essentially a simple task.

    +

    How can we optimize these queries so that instead of taking minutes, it only takes seconds?

    +

    Well, rather than loading the entire data into memory, can we load only the relevant portion, i.e. a gene of interest?

    +
    +

    Single cell formats

    +

    If we distill this task into a more general one - loading a single row / slice from rectangular data, then there are many options that exist. However, for single cell RNAseq data there are other considerations:

    +
      +
    • data for single cell is often the order of 20,000 - 40,000 genes, often arranged in rows, and 100 000 - 1 million cells in the columns. It does not often travel in “tidy” formats (e.g. with columns gene, cell, value).

    • +
    • single cell count matrix usually travels as sparse matrix due to high drop-out rate. Coercion to dense is resource-heavy so need to do this thoughtfully and only when necessary.

    • +
    +

    For this post I explore how to utilize the HDF5 format to speed up reading 1 gene at a time into R, in order to address memory and speed issues when working with large and multple single cell datasets.

    -
    -

    the plan

    -

    Actually, there is already a great memory-efficient solution out there called ShinyCell, which utilizes the HDF5 format. This doesn’t work perfectly for me though, because I have my own app functions and framework that I want to apply. I am just interested in the memory-efficient data read functionality.

    -

    So I will compare ShinyCell’s rather manual h5 strategy to some other options. The other option included here is HDF5Array + delayedArray, which are some Bioconductor options specifically for Bioconductor-specific data structures, like scRNAseq.

    +
    +

    Options for using HDF5 with single cell data

    +

    Actually, there is already a great memory-efficient solution out there called ShinyCell, which utilizes the HDF5 format, and produces a clean, fast, memory-efficient shiny-based app. It looks like ShinyCell has it’s own approach to writing single cell count data to h5 format. +I think this is interesting because there are already some existing h5 formats already designed for single cell data, like python’s .h5ad and h5Seurat. And in contrast to these ones, Shinycell writes a dense count matrix, rather than the other formats mentioned which keep the format of the data as sparse. This makes sense though as the goal of these other formats is to provide entry to existing tools that work with sparse data.

    +

    So I will compare ShinyCell’s rather manual h5 strategy to some other options. The other option included here is HDF5Array + delayedArray, which are some Bioconductor options specifically for Bioconductor-specific data structures, like scRNAseq.

    -

    key packages for this post

    +

    Key packages for this post

    For HDF5, there are a couple of general purpose options in R: hdf5r, rhdf5. Then there is the bioconductor package HDF5Array which uses hdf5r in backend to work with bioconductor data structures specifically.

    -

    other packages

    +

    Other packages

    HDF5Array hdf5 read write dense/sparse matrices hdf5r hdf5 r implementation scRNAseq to access example scRNAseq dataset @@ -64,10 +73,10 @@

    other packages

    ## loading from cache
    ## see ?scRNAseq and browseVignettes('scRNAseq') for documentation
    ## loading from cache
    -
    counts <- sce@assays@data$counts[1:1500,]
    +
    counts <- sce@assays@data$counts[,]
    -

    saving dgc matrix manually with hdf5r

    +

    Saving dgc matrix manually with hdf5r

    This is ShinyCell’s approach, which is to write the sparse count matrix of a Seurat / SingleCellExperiment object to a dense representation on disk. Because converting the sparse matrix to dense would implode most computers, shinycell’s approach is to do this in chunks / loops.

    I modify the code to make it easier to follow, and I litter the function with tictoc::tic and toc to monitor the overall and each step takes.

    Alternatively, we could write sparse representation to disk, which would be faster to write (less data), but then we would need to convert to dense on the read-in endpoints. I don’t do that here, because the goal is to speed up read-in, not write-out. Though it may be trivially fast to coerce a 1 x 1million vector? Am not sure.

    @@ -113,14 +122,52 @@

    saving dgc matrix manually with hdf5r

    toc() } write_dgc_to_h5(counts, file_h5, chunk_size = 1000) -
    ## Warning in asMethod(object): sparse->dense coercion: allocating vector of size
    -## 1.3 GiB
    -
    ## loop 1, rows 1:1000: 14.06 sec elapsed
    -## final loop, rows 1001:1500: 6.2 sec elapsed
    -## total: 20.47 sec elapsed
    +
    ## loop 1, rows 1:1000: 7.81 sec elapsed
    +## loop 2, rows 1001:2000: 7.06 sec elapsed
    +## loop 3, rows 2001:3000: 7.02 sec elapsed
    +## loop 4, rows 3001:4000: 6.97 sec elapsed
    +## loop 5, rows 4001:5000: 8.73 sec elapsed
    +## loop 6, rows 5001:6000: 6.5 sec elapsed
    +## loop 7, rows 6001:7000: 7.19 sec elapsed
    +## loop 8, rows 7001:8000: 6.92 sec elapsed
    +## loop 9, rows 8001:9000: 6.84 sec elapsed
    +## loop 10, rows 9001:10000: 6.58 sec elapsed
    +## loop 11, rows 10001:11000: 6.41 sec elapsed
    +## loop 12, rows 11001:12000: 6.78 sec elapsed
    +## loop 13, rows 12001:13000: 6.39 sec elapsed
    +## loop 14, rows 13001:14000: 7.28 sec elapsed
    +## loop 15, rows 14001:15000: 6.33 sec elapsed
    +## loop 16, rows 15001:16000: 6.67 sec elapsed
    +## loop 17, rows 16001:17000: 6.83 sec elapsed
    +## loop 18, rows 17001:18000: 7.31 sec elapsed
    +## loop 19, rows 18001:19000: 6.39 sec elapsed
    +## loop 20, rows 19001:20000: 6.67 sec elapsed
    +## loop 21, rows 20001:21000: 6.86 sec elapsed
    +## loop 22, rows 21001:22000: 7.36 sec elapsed
    +## loop 23, rows 22001:23000: 6.38 sec elapsed
    +## loop 24, rows 23001:24000: 6.75 sec elapsed
    +## loop 25, rows 24001:25000: 6.78 sec elapsed
    +## loop 26, rows 25001:26000: 7.09 sec elapsed
    +## loop 27, rows 26001:27000: 6.14 sec elapsed
    +## loop 28, rows 27001:28000: 12.68 sec elapsed
    +## loop 29, rows 28001:29000: 7.09 sec elapsed
    +## loop 30, rows 29001:30000: 7.56 sec elapsed
    +## loop 31, rows 30001:31000: 6.66 sec elapsed
    +## loop 32, rows 31001:32000: 10 sec elapsed
    +## loop 33, rows 32001:33000: 10.42 sec elapsed
    +## loop 34, rows 33001:34000: 8.59 sec elapsed
    +## loop 35, rows 34001:35000: 7.61 sec elapsed
    +## loop 36, rows 35001:36000: 8.1 sec elapsed
    +## loop 37, rows 36001:37000: 6.54 sec elapsed
    +## loop 38, rows 37001:38000: 8.5 sec elapsed
    +## loop 39, rows 38001:39000: 6.71 sec elapsed
    +## loop 40, rows 39001:40000: 7.42 sec elapsed
    +## loop 41, rows 40001:41000: 12.31 sec elapsed
    +## final loop, rows 41001:41861: 8.39 sec elapsed
    +## total: 315.11 sec elapsed
    -

    read 1 gene at a time

    +

    Read 1 gene at a time

    Now to define a function that opens the h5 file, reads the particular slice of data we want, and then close the h5 file. It is important to ensure the file gets closed, otherwise it can get corrupt. This is a bit of a drawback for this approach, but I have yet to encounter a problem so far.

    read_gene <- function(gene, file_h5) {
       #tic('whole thing')
    @@ -170,26 +217,26 @@ 

    HDF5array

    tic();HDF5Array::writeHDF5Array(
       DelayedArray(counts), 
       file_h5array, as.sparse = FALSE, name = 'full', with.dimnames = TRUE);toc()
    -
    ## <1500 x 173954> HDF5Matrix object of type "double":
    -##            bcIIOD bcHTNA bcDLAV ... bcELDH bcFGGM
    -##    5S_rRNA      0      0      0   .      0      0
    -##  5_8S_rRNA      0      0      0   .      0      0
    -##        7SK      0      0      0   .      0      0
    -##       A1BG      0      0      0   .      0      0
    -##   A1BG-AS1      0      0      0   .      0      0
    -##        ...      .      .      .   .      .      .
    -## AC008667.1      0      0      0   .      0      0
    -## AC008667.2      0      0      0   .      0      0
    -## AC008667.3      0      0      0   .      0      0
    -## AC008667.4      0      0      0   .      0      0
    -## AC008669.1      0      0      0   .      0      0
    -
    ## 30.13 sec elapsed
    +
    ## <41861 x 173954> HDF5Matrix object of type "double":
    +##           bcIIOD bcHTNA bcDLAV ... bcELDH bcFGGM
    +##   5S_rRNA      0      0      0   .      0      0
    +## 5_8S_rRNA      0      0      0   .      0      0
    +##       7SK      0      0      0   .      0      0
    +##      A1BG      0      0      0   .      0      0
    +##  A1BG-AS1      0      0      0   .      0      0
    +##       ...      .      .      .   .      .      .
    +##   snoZ278      0      0      0   .      0      0
    +##    snoZ40      0      0      0   .      0      0
    +##     snoZ6      0      0      0   .      0      0
    +##  snosnR66      0      0      0   .      0      0
    +##    uc_338      0      0      0   .      0      0
    +
    ## 466.64 sec elapsed
    h5ls(file_h5array) # see content of h5
    -
    ##             group           name       otype dclass           dim
    -## 0               / .full_dimnames   H5I_GROUP                     
    -## 1 /.full_dimnames              1 H5I_DATASET STRING          1500
    -## 2 /.full_dimnames              2 H5I_DATASET STRING        173954
    -## 3               /           full H5I_DATASET  FLOAT 1500 x 173954
    +
    ##             group           name       otype dclass            dim
    +## 0               / .full_dimnames   H5I_GROUP                      
    +## 1 /.full_dimnames              1 H5I_DATASET STRING          41861
    +## 2 /.full_dimnames              2 H5I_DATASET STRING         173954
    +## 3               /           full H5I_DATASET  FLOAT 41861 x 173954

    Point to the hf5 file

    hf5 <- HDF5Array(file_h5array,  name = 'full', as.sparse = TRUE)
     hf5['AC006486.2',] |>  head()
    @@ -197,8 +244,8 @@

    HDF5array

    ## 0 0 0 0 0 0

    Explore the class

    showtree(hf5)
    -
    ## 1500x173954 double, sparse: HDF5Matrix object
    -## └─ 1500x173954 double, sparse: [seed] HDF5ArraySeed object
    +
    ## 41861x173954 double, sparse: HDF5Matrix object
    +## └─ 41861x173954 double, sparse: [seed] HDF5ArraySeed object
    showtree(hf5[2,])
    ##  double: [seed] numeric object
    class(hf5)
    @@ -209,33 +256,37 @@

    HDF5array

    ## [1] TRUE
    -

    compare HDF5array vs diy implementation

    +

    Compare HDF5array vs diy implementation

    Now we have written the count matrices to disk in hdf5 format in two ways: manually, and through HDF5Array.

    Let’s see if there are differences in performance in reading 1 gene at a time.

    +
    +

    Memory and time

    bench_read <- bench::mark(
    -  hf5['AC006486.2',],
    -  read_gene('AC006486.2', file_h5),
    -  counts['AC006486.2',]
    +  HDF5Array = hf5['AC006486.2',],
    +  `h5 - manual` = read_gene('AC006486.2', file_h5),
    +  `in-memory slice` = counts['AC006486.2',]
     )  
     
    -summary(bench_read) |> select(-memory, -result, -time, -gc) |>  gt()
    -
    - - + @@ -674,33 +725,33 @@

    compare HDF5array vs diy implementation

    - - - - - + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + - + @@ -708,8 +759,17 @@

    compare HDF5array vs diy implementation

    bench_read |>  autoplot(type = 'jitter')

    -

    HDF5array is slower than my manual method

    -

    Fastest is holding in memory, but not by that much, and of course the cost is occupying a large amount of memory at any given time.

    +

    HDF5array is ~2x slower than ShinyCell’s manual method

    +

    ShinyCell approach is almost as fast as holding in memory, without of course the cost is occupying a large amount of memory at any given time.

    + +
    +

    on-disk space

    +
    data.frame(file = c(file_h5, file_h5array)) |> 
    +  mutate(file_size = fs::file_size(file)) 
    +
    ##           file file_size
    +## 1    counts.h5   153.28M
    +## 2 HDF5array.h5   221.88M
    +

    SingleCellExperiment

    @@ -717,29 +777,29 @@

    SingleCellExperiment

    sce_h5 <- SingleCellExperiment(assays = list(counts = hf5))

    Size of SingleCellExperiment object backed by HDF5

    object.size(sce_h5) |>  print(units = 'auto')
    -
    ## 6.3 Mb
    +
    ## 9.1 Mb

    Size of dgc counts matrix held in memory

    object.size(counts) |>  print(units = 'auto')
    -
    ## 12.2 Mb
    +
    ## 624.4 Mb

    Speed:

    bench::mark(sce_h5['AC006486.2',]) |> select(-c(result:gc)) |>  gt()
    -
    - @@ -1179,17 +1239,26 @@

    SingleCellExperiment

    - - - - + + + + - + - +
    expressionexpression min median itr/sec
    [, hf5, AC006486.2, 1.16s1.16s0.85853988.04MB
    HDF5Array1.7s1.7s0.587596210.11MB 0 1 01.16s
    read_gene, AC006486.2, file_h5987.22ms987.22ms1.01294674.05MB1.7s
    h5 - manual774.7ms774.7ms1.29080014.97MB 0 1 0987.22ms
    [, counts, AC006486.2, 11.27ms12.73ms78.53425243.62MB774.7ms
    in-memory slice154.5ms210.9ms5.07249873.93MB 0403 0509.33ms
    591.4ms
    [, sce_h5, AC006486.2, 181ms188ms5.3726.07MB81.4ms83.5ms11.774777.49MB 036 0558ms
    510ms
    +
    +

    Conclusion

    +
      +
    • HDF5 format is great for memory efficient loading of single cell data, particularly for single gene queries which take less than 1 second on a 200,000 cell dataset.
    • +
    • The manual shinyCell h5 method is almost twice as fast as HDF5Array (~1 second vs 0.5 second)
    • +
    • but SingleCellExperiment can carry hdf5-backed count matrices with HDF5Array, making it more useful as it opens usage to other single cell tools
    • +
    • The majority of time reading from HDF5 is actually closing the connection of the file.
    • +
    +
    diff --git a/content/post/2024-02-24-read-1-gene-from-single-cell/index.en_files/figure-html/bench-1.png b/content/post/2024-02-24-read-1-gene-from-single-cell/index.en_files/figure-html/bench-1.png index a445e4f..091318a 100644 Binary files a/content/post/2024-02-24-read-1-gene-from-single-cell/index.en_files/figure-html/bench-1.png and b/content/post/2024-02-24-read-1-gene-from-single-cell/index.en_files/figure-html/bench-1.png differ diff --git a/content/projects/_index.md b/content/projects/_index.md new file mode 100644 index 0000000..5c04d45 --- /dev/null +++ b/content/projects/_index.md @@ -0,0 +1,11 @@ +--- +title: Projects +date: 21 May 2024 +cascade: + showDate: false + showDateUpdated: false + showReadingTime: false +--- + +- [planet](/planet): an R package for analysis of placental methylation data +- [Placental Methylome Browser](https://robinsonlab.shinyapps.io/Placental_Methylome_Browser/): A Robinson lab Shiny app that me and Yifan Yin created \ No newline at end of file diff --git a/content/projects/planet/404.html b/content/projects/planet/404.html new file mode 100644 index 0000000..dfc718f --- /dev/null +++ b/content/projects/planet/404.html @@ -0,0 +1,113 @@ + + + + + + + +Page not found (404) • planet + + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + +Content not found. Please use links in the navbar. + +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + + + + diff --git a/content/projects/planet/apple-touch-icon-120x120.png b/content/projects/planet/apple-touch-icon-120x120.png new file mode 100644 index 0000000..ed9fdd5 Binary files /dev/null and b/content/projects/planet/apple-touch-icon-120x120.png differ diff --git a/content/projects/planet/apple-touch-icon-152x152.png b/content/projects/planet/apple-touch-icon-152x152.png new file mode 100644 index 0000000..3418b33 Binary files /dev/null and b/content/projects/planet/apple-touch-icon-152x152.png differ diff --git a/content/projects/planet/apple-touch-icon-180x180.png b/content/projects/planet/apple-touch-icon-180x180.png new file mode 100644 index 0000000..65caae6 Binary files /dev/null and b/content/projects/planet/apple-touch-icon-180x180.png differ diff --git a/content/projects/planet/apple-touch-icon-60x60.png b/content/projects/planet/apple-touch-icon-60x60.png new file mode 100644 index 0000000..96b7f54 Binary files /dev/null and b/content/projects/planet/apple-touch-icon-60x60.png differ diff --git a/content/projects/planet/apple-touch-icon-76x76.png b/content/projects/planet/apple-touch-icon-76x76.png new file mode 100644 index 0000000..bffb3ae Binary files /dev/null and b/content/projects/planet/apple-touch-icon-76x76.png differ diff --git a/content/projects/planet/apple-touch-icon.png b/content/projects/planet/apple-touch-icon.png new file mode 100644 index 0000000..ebfc9ef Binary files /dev/null and b/content/projects/planet/apple-touch-icon.png differ diff --git a/content/projects/planet/articles/index.html b/content/projects/planet/articles/index.html new file mode 100644 index 0000000..edaa0ec --- /dev/null +++ b/content/projects/planet/articles/index.html @@ -0,0 +1,79 @@ + +Articles • planet + + +
    +
    + + + +
    +
    + + +
    +

    All vignettes

    +

    + +
    planet
    +
    +
    +
    +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/articles/planet.html b/content/projects/planet/articles/planet.html new file mode 100644 index 0000000..8aae47a --- /dev/null +++ b/content/projects/planet/articles/planet.html @@ -0,0 +1,771 @@ + + + + + + + +planet • planet + + + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Installation +

    +
    +if(!requireNamespace("BiocManager", quietly = TRUE))
    +    install.packages("BiocManager")
    +BiocManager::install("planet")
    +
    +
    +

    Cell composition +

    +

    To infer cell composition on placental villi DNAm samples, we can +need to use placental reference cpgs (Yuan +2021). These are provided in this package as +plCellCpGsThird and plCellCpGsFirst for third +trimester (term) and first trimester samples, respectively.

    +

    In this example we are using term villi DNAm data, so we first load +the reference cpgs plCellCpGsThird. This is a data frame of +600 cpgs, with mean methylation levels for each cell type.

    +
    +# cell deconvolution packages
    +library(minfi)
    +library(EpiDISH)
    +
    +# data wrangling and plotting
    +library(dplyr)
    +library(ggplot2)
    +library(tidyr)
    +library(planet)
    +
    +# load example data
    +data("plBetas")
    +data("plCellCpGsThird")
    +head(plCellCpGsThird)
    +
    ##            Trophoblasts   Stromal  Hofbauer Endothelial      nRBC
    +## cg10590657    0.1014098 0.9345796 0.8655285   0.8963641 0.8448382
    +## cg14923398    0.1282030 0.8902107 0.9036769   0.9383641 0.9508709
    +## cg05348366    0.1305697 0.9519820 0.8803082   0.9065136 0.9278057
    +## cg17907628    0.1215249 0.9278777 0.8727841   0.8914412 0.9143601
    +## cg26799656    0.1259953 0.9482014 0.8803863   0.8791004 0.9010419
    +## cg11862144    0.1561991 0.9430855 0.9114967   0.9341671 0.9647331
    +##            Syncytiotrophoblast
    +## cg10590657          0.05460441
    +## cg14923398          0.05383193
    +## cg05348366          0.06546727
    +## cg17907628          0.05325227
    +## cg26799656          0.06823985
    +## cg11862144          0.06044207
    +

    After our reference cpg data is loaded, we can estimate cell +composition by applying either the Constrained Projection approach +implemented by the R packages minfi or EpiDISH, or a non-constrained +approach by EpiDish. I demonstrate how to do both.

    +
    +

    Minfi +

    +
    +houseman_estimates <- minfi:::projectCellType(
    +    plBetas[rownames(plCellCpGsThird), ],
    +    plCellCpGsThird,
    +    lessThanOne = FALSE
    +)
    +
    +head(houseman_estimates)
    +
    ##            Trophoblasts    Stromal      Hofbauer Endothelial       nRBC
    +## GSM1944936    0.1091279 0.04891919  0.000000e+00  0.08983998 0.05294062
    +## GSM1944939    0.2299918 0.00000000 -1.806592e-19  0.07888007 0.03374149
    +## GSM1944942    0.1934287 0.03483540  0.000000e+00  0.09260353 0.02929310
    +## GSM1944944    0.2239896 0.06249135  1.608645e-03  0.11040693 0.04447951
    +## GSM1944946    0.1894152 0.07935955  0.000000e+00  0.10587439 0.05407587
    +## GSM1944948    0.2045124 0.07657717  0.000000e+00  0.09871149 0.02269798
    +##            Syncytiotrophoblast
    +## GSM1944936           0.6979477
    +## GSM1944939           0.6377822
    +## GSM1944942           0.6350506
    +## GSM1944944           0.5467642
    +## GSM1944946           0.6022329
    +## GSM1944948           0.6085825
    +
    +
    +

    EpiDISH +

    +
    +# robust partial correlations
    +epidish_RPC <- epidish(
    +    beta.m = plBetas[rownames(plCellCpGsThird), ],
    +    ref.m = plCellCpGsThird,
    +    method = "RPC"
    +)
    +
    +# CIBERSORT
    +epidish_CBS <- epidish(
    +    beta.m = plBetas[rownames(plCellCpGsThird), ],
    +    ref.m = plCellCpGsThird,
    +    method = "CBS"
    +)
    +
    ## 1
    +
    ## 2
    +
    ## 3
    +
    +# constrained projection (houseman 2012)
    +epidish_CP <- epidish(
    +    beta.m = plBetas[rownames(plCellCpGsThird), ],
    +    ref.m = plCellCpGsThird,
    +    method = "CP"
    +)
    +
    ## 1
    +
    ## 2
    +
    ## 3
    +
    ## 4
    +
    ## 5
    +
    ## 6
    +
    ## 7
    +
    ## 8
    +
    ## 9
    +
    ## 10
    +
    ## 11
    +
    ## 12
    +
    ## 13
    +
    ## 14
    +
    ## 15
    +
    ## 16
    +
    ## 17
    +
    ## 18
    +
    ## 19
    +
    ## 20
    +
    ## 21
    +
    ## 22
    +
    ## 23
    +
    ## 24
    +
    +
    +

    Compare +

    +

    Below, I demonstrate how we can visually compare the different cell +composition estimates.

    +
    +data("plColors")
    +
    +# bind estimate data frames and reshape for plotting
    +bind_rows(
    +    houseman_estimates %>% as.data.frame() %>% mutate(algorithm = "CP (Houseman)"),
    +    epidish_RPC$estF %>% as.data.frame() %>% mutate(algorithm = "RPC"),
    +    epidish_CBS$estF %>% as.data.frame() %>% mutate(algorithm = "CBS"),
    +    epidish_CP$estF %>% as.data.frame() %>% mutate(algorithm = "CP (EpiDISH)")
    +) %>%
    +    mutate(sample = rep(rownames(houseman_estimates), 4)) %>%
    +    as_tibble() %>%
    +    pivot_longer(
    +        cols = -c(algorithm, sample),
    +        names_to = "component",
    +        values_to = "estimate"
    +    ) %>%
    +
    +    # relevel for plot
    +    mutate(component = factor(component,
    +        levels = c(
    +            "nRBC", "Endothelial", "Hofbauer",
    +            "Stromal", "Trophoblasts",
    +            "Syncytiotrophoblast"
    +        )
    +    )) %>%
    +
    +    # plot
    +    ggplot(aes(x = sample, y = estimate, fill = component)) +
    +    geom_bar(stat = "identity") +
    +    facet_wrap(~algorithm, ncol = 1) +
    +    scale_fill_manual(values = plColors) +
    +    scale_y_continuous(
    +        limits = c(-0.1, 1.1), breaks = c(0, 0.5, 1),
    +        labels = scales::percent
    +    ) +
    +    theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) +
    +    coord_cartesian(ylim = c(0, 1)) +
    +    labs(x = "", fill = "")
    +

    +

    Some notes:

    +
      +
    • Normalize your data with minfi::preprocessNoob and +BMIQ
    • +
    • Use all cell CpGs - if some are missing, estimates may vary
    • +
    • If your samples have been processed in a particular manner, +(e.g. sampling from maternal side) expect cell composition to reflect +that
    • +
    +
    +
    +
    +

    Gestational age +

    +
    +

    Example Data +

    +

    For demonstration, I use 24 samples from a placental DNAm dataset +from GEO, (GSE7519), +which contains samples collected in an Australian population. The DNA +methylation data (in betas) can be accessed with +data(plBetas) and corresponding sample information from +data(plPhenoData). Note that for demonstration purposes, +the cpgs have been filtered to a random ~10,000 CpGs, plus the CpGs used +in all of the functions from this package.

    +
    +# load example data
    +data(plBetas)
    +data(plPhenoData)
    +
    +dim(plBetas)
    +
    ## [1] 13918    24
    +
    +#> [1] 13918    24
    +head(plPhenoData)
    +
    + +++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    sample_idsexdiseasegestation_wkga_RPCga_CPCga_RRPC
    GSM1944936Malepreeclampsia3638.4652838.7286738.65396
    GSM1944939Malepreeclampsia3233.0968034.2125232.62763
    GSM1944942Femalepreeclampsia3234.3252035.0956533.32502
    GSM1944944Malepreeclampsia3535.5093736.7151235.51295
    GSM1944946Femalepreeclampsia3837.6391037.5793136.61721
    GSM1944948Femalepreeclampsia3636.7705138.4263236.72150
    +
    +
    +#> # A tibble: 6 x 7
    +#>   sample_id  sex   disease   gestation_wk ga_RPC ga_CPC ga_RRPC
    +#>   <fct>      <chr> <chr>            <dbl>  <dbl>  <dbl>   <dbl>
    +#> 1 GSM1944936 Male  preeclam~           36   38.5   38.7    38.7
    +#> 2 GSM1944939 Male  preeclam~           32   33.1   34.2    32.6
    +#> 3 GSM1944942 Fema~ preeclam~           32   34.3   35.1    33.3
    +#> 4 GSM1944944 Male  preeclam~           35   35.5   36.7    35.5
    +#> 5 GSM1944946 Fema~ preeclam~           38   37.6   37.6    36.6
    +#> 6 GSM1944948 Fema~ preeclam~           36   36.8   38.4    36.7
    +

    There are 3 gestational age clocks for placental DNA methylation data +from (Lee +2019):

    +
      +
    1. Robust Placental Clock (RPC)
    2. +
    3. Control Placental Clock (CPC)
    4. +
    5. Refined Robust Placental Clock (RRPC)
    6. +
    +

    To predict gestational, we load the example data:

    +
      +
    • +plBetas - DNAm data for 24 placental samples
    • +
    • +plPhenoData - Matching sample information
    • +
    +
    +
    +

    Predict Gestational Age +

    +

    To select the type of clock, we can specify the type +argument in predictAge.

    +

    We will apply all three clocks on this data, and add the predicted +age to the sample information data.frame, plPhenoData.

    +
    +plPhenoData <- plPhenoData %>%
    +    mutate(
    +        ga_RPC = predictAge(plBetas, type = "RPC"),
    +        ga_CPC = predictAge(plBetas, type = "CPC"),
    +        ga_RRPC = predictAge(plBetas, type = "RRPC")
    +    )
    +
    ## 558 of 558 predictors present.
    +
    ## 546 of 546 predictors present.
    +
    ## 395 of 395 predictors present.
    +

    Note that the number of predictors (CpGs) that were used in our data +are printed. It’s important to take note if a significant number of +predictive CpGs are missing in your data, as this can affect the +predicted gestational age accuracy.

    +

    Next, I plot the difference between predicted and reported +gestational age, for each of the 3 gestational age predictors.

    +
    +plPhenoData %>%
    +  
    +    # reshape, to plot
    +    pivot_longer(
    +        cols = contains("ga"),
    +        names_to = "clock_type",
    +        names_prefix = "ga_",
    +        values_to = "ga"
    +    ) %>%
    +
    +    # plot code
    +    ggplot(aes(x = gestation_wk, y = ga, col = disease)) +
    +    geom_point() +
    +    geom_smooth(method = "lm", se = FALSE) +
    +    facet_wrap(~clock_type) +
    +    theme(legend.position = "top") +
    +    labs(x = "Reported GA (weeks)", y = "Inferred GA (weeks)", col = "")
    +
    ## `geom_smooth()` using formula = 'y ~ x'
    +

    +
    +
    +
    +

    Ethnicity +

    +

    Before predicting ethnicity You can ensure that you have all features +using the ethnicityCpGs vector:

    +
    +data(ethnicityCpGs)
    +all(ethnicityCpGs %in% rownames(plBetas))
    +
    ## [1] TRUE
    +
    +results <- predictEthnicity(plBetas)
    +
    ## 1860 of 1860 predictors present.
    +
    +results %>%
    +    tail(8)
    +
    + +++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Sample_IDPredicted_ethnicity_nothreshPredicted_ethnicityProb_AfricanProb_AsianProb_CaucasianHighest_Prob
    GSM1944959AsianAsian0.01230730.95235440.03533830.9523544
    GSM1944960CaucasianCaucasian0.01569610.15952130.82478270.8247827
    GSM1944961AsianAsian0.02084210.89545180.08370610.8954518
    GSM1944962CaucasianCaucasian0.00092760.00088010.99819230.9981923
    GSM1944963CaucasianCaucasian0.00226350.00280070.99493580.9949358
    GSM1944964CaucasianCaucasian0.00659730.01120130.98220140.9822014
    GSM1944965CaucasianCaucasian0.00215780.00241960.99542260.9954226
    GSM1944966CaucasianCaucasian0.00113970.00176510.99709520.9970952
    +
    +

    predictEthnicity returns probabilities corresponding to +each ethnicity for each sample (e.g Prob_Caucasian, +Prob_African, Prob_Asian). This applies a +glmnet model described in (Yuan +2019). A final classification is determined in two ways:

    +
      +
    1. Predicted_ethnicity_nothresh - returns a +classification corresponding to the highest class-specific +probability.

    2. +
    3. Predicted_ethnicity - if the highest class-specific +probability is below 0.75, then the the sample is assigned +an Amibiguous label. This threshold can be adjusted with +the threshold argument. Samples with this label might +require special attention in downstream analyses.

    4. +
    +
    +results %>%
    +    ggplot(aes(
    +        x = Prob_Caucasian, y = Prob_African,
    +        col = Predicted_ethnicity
    +    )) +
    +    geom_point(alpha = 0.7) +
    +    coord_cartesian(xlim = c(0, 1), ylim = c(0, 1)) +
    +    scale_x_continuous(labels = scales::percent) +
    +    scale_y_continuous(labels = scales::percent) +
    +    labs(x = "P(Caucasian)", y = "P(African)")
    +

    +
    +results %>%
    +    ggplot(aes(
    +        x = Prob_Caucasian, y = Prob_Asian,
    +        col = Predicted_ethnicity
    +    )) +
    +    geom_point(alpha = 0.7) +
    +    coord_cartesian(xlim = c(0, 1), ylim = c(0, 1)) +
    +    scale_x_continuous(labels = scales::percent) +
    +    scale_y_continuous(labels = scales::percent) +
    +    labs(x = "P(Caucasian)", y = "P(Asian)")
    +

    +

    We can’t compare this to self-reported ethnicity as it is +unavailable. But we know these samples were collected in Sydney, +Australia, and are therefore likely mostly European with some East Asian +participants.

    +
    +table(results$Predicted_ethnicity)
    +
    ## 
    +##     Asian Caucasian 
    +##         2        22
    +

    A note on adjustment in differential methylation +analysis

    +

    Because ‘Ambiguous’ samples might have different mixtures of +ancestries, it might be inadequate to adjust for them as one group in an +analysis of admixed populations (e.g. 50/50 Asian/African should not be +considered the same group as 50/50 Caucasian/African). One solution +would be to simply remove these samples. Another would be to adjust for +the raw probabilities-in this case, use only two of the three +probabilities, since the third will be redundant (probabilities sum to +1). If sample numbers are large enough in each group, stratifying +downstream analyses by ethnicity might also be a valid option.

    +
    + +
    +

    Session Info +

    + +
    ## R version 4.3.2 (2023-10-31 ucrt)
    +## Platform: x86_64-w64-mingw32/x64 (64-bit)
    +## Running under: Windows 11 x64 (build 22631)
    +## 
    +## Matrix products: default
    +## 
    +## 
    +## locale:
    +## [1] LC_COLLATE=English_United States.utf8 
    +## [2] LC_CTYPE=English_United States.utf8   
    +## [3] LC_MONETARY=English_United States.utf8
    +## [4] LC_NUMERIC=C                          
    +## [5] LC_TIME=English_United States.utf8    
    +## 
    +## time zone: America/Los_Angeles
    +## tzcode source: internal
    +## 
    +## attached base packages:
    +## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
    +## [8] methods   base     
    +## 
    +## other attached packages:
    +##  [1] planet_1.9.4                tidyr_1.3.1                
    +##  [3] ggplot2_3.4.4               dplyr_1.1.4                
    +##  [5] EpiDISH_2.18.0              minfi_1.48.0               
    +##  [7] bumphunter_1.44.0           locfit_1.5-9.8             
    +##  [9] iterators_1.0.14            foreach_1.5.2              
    +## [11] Biostrings_2.70.2           XVector_0.42.0             
    +## [13] SummarizedExperiment_1.32.0 Biobase_2.62.0             
    +## [15] MatrixGenerics_1.14.0       matrixStats_1.2.0          
    +## [17] GenomicRanges_1.54.1        GenomeInfoDb_1.38.6        
    +## [19] IRanges_2.36.0              S4Vectors_0.40.2           
    +## [21] BiocGenerics_0.48.1        
    +## 
    +## loaded via a namespace (and not attached):
    +##   [1] RColorBrewer_1.1-3        rstudioapi_0.15.0        
    +##   [3] jsonlite_1.8.8            magrittr_2.0.3           
    +##   [5] GenomicFeatures_1.54.3    farver_2.1.1             
    +##   [7] rmarkdown_2.25            BiocIO_1.12.0            
    +##   [9] zlibbioc_1.48.0           vctrs_0.6.5              
    +##  [11] locfdr_1.1-8              multtest_2.58.0          
    +##  [13] memoise_2.0.1             Rsamtools_2.18.0         
    +##  [15] DelayedMatrixStats_1.24.0 RCurl_1.98-1.14          
    +##  [17] askpass_1.2.0             htmltools_0.5.7          
    +##  [19] S4Arrays_1.2.0            progress_1.2.3           
    +##  [21] curl_5.2.0                Rhdf5lib_1.24.2          
    +##  [23] SparseArray_1.2.4         rhdf5_2.46.1             
    +##  [25] sass_0.4.8                nor1mix_1.3-2            
    +##  [27] bslib_0.6.1               plyr_1.8.9               
    +##  [29] cachem_1.0.8              GenomicAlignments_1.38.2 
    +##  [31] lifecycle_1.0.4           pkgconfig_2.0.3          
    +##  [33] Matrix_1.6-1.1            R6_2.5.1                 
    +##  [35] fastmap_1.1.1             GenomeInfoDbData_1.2.11  
    +##  [37] digest_0.6.34             colorspace_2.1-0         
    +##  [39] siggenes_1.76.0           reshape_0.8.9            
    +##  [41] AnnotationDbi_1.64.1      RSQLite_2.3.5            
    +##  [43] base64_2.0.1              labeling_0.4.3           
    +##  [45] filelock_1.0.3            fansi_1.0.6              
    +##  [47] mgcv_1.9-0                httr_1.4.7               
    +##  [49] abind_1.4-5               compiler_4.3.2           
    +##  [51] beanplot_1.3.1            proxy_0.4-27             
    +##  [53] rngtools_1.5.2            withr_3.0.0              
    +##  [55] bit64_4.0.5               BiocParallel_1.36.0      
    +##  [57] DBI_1.2.2                 highr_0.10               
    +##  [59] HDF5Array_1.30.1          biomaRt_2.58.2           
    +##  [61] MASS_7.3-60               openssl_2.1.1            
    +##  [63] rappdirs_0.3.3            DelayedArray_0.28.0      
    +##  [65] rjson_0.2.21              tools_4.3.2              
    +##  [67] glue_1.7.0                quadprog_1.5-8           
    +##  [69] restfulr_0.0.15           nlme_3.1-163             
    +##  [71] rhdf5filters_1.14.1       grid_4.3.2               
    +##  [73] generics_0.1.3            gtable_0.3.4             
    +##  [75] tzdb_0.4.0                class_7.3-22             
    +##  [77] preprocessCore_1.64.0     data.table_1.15.0        
    +##  [79] hms_1.1.3                 xml2_1.3.6               
    +##  [81] utf8_1.2.4                pillar_1.9.0             
    +##  [83] stringr_1.5.1             limma_3.58.1             
    +##  [85] genefilter_1.84.0         splines_4.3.2            
    +##  [87] BiocFileCache_2.10.1      lattice_0.21-9           
    +##  [89] survival_3.5-7            rtracklayer_1.62.0       
    +##  [91] bit_4.0.5                 GEOquery_2.70.0          
    +##  [93] annotate_1.80.0           tidyselect_1.2.0         
    +##  [95] knitr_1.45                xfun_0.42                
    +##  [97] scrime_1.3.5              statmod_1.5.0            
    +##  [99] stringi_1.8.3             yaml_2.3.8               
    +## [101] evaluate_0.23             codetools_0.2-19         
    +## [103] tibble_3.2.1              cli_3.6.2                
    +## [105] xtable_1.8-4              munsell_0.5.0            
    +## [107] jquerylib_0.1.4           Rcpp_1.0.12              
    +## [109] dbplyr_2.4.0              png_0.1-8                
    +## [111] XML_3.99-0.16.1           readr_2.1.5              
    +## [113] blob_1.2.4                prettyunits_1.2.0        
    +## [115] mclust_6.0.1              doRNG_1.8.6              
    +## [117] sparseMatrixStats_1.14.0  bitops_1.0-7             
    +## [119] scales_1.3.0              e1071_1.7-14             
    +## [121] illuminaio_0.44.0         purrr_1.0.2              
    +## [123] crayon_1.5.2              rlang_1.1.2              
    +## [125] KEGGREST_1.42.0
    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + + + + diff --git a/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-10-1.png b/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-10-1.png new file mode 100644 index 0000000..4d7259e Binary files /dev/null and b/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-10-1.png differ diff --git a/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-10-2.png b/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-10-2.png new file mode 100644 index 0000000..e57bd8c Binary files /dev/null and b/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-10-2.png differ diff --git a/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-5-1.png b/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-5-1.png new file mode 100644 index 0000000..ca9f92e Binary files /dev/null and b/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-5-1.png differ diff --git a/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-8-1.png b/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-8-1.png new file mode 100644 index 0000000..ce9e7e2 Binary files /dev/null and b/content/projects/planet/articles/planet_files/figure-html/unnamed-chunk-8-1.png differ diff --git a/content/projects/planet/articles/planet_files/header-attrs-2.25/header-attrs.js b/content/projects/planet/articles/planet_files/header-attrs-2.25/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/content/projects/planet/articles/planet_files/header-attrs-2.25/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/content/projects/planet/authors.html b/content/projects/planet/authors.html new file mode 100644 index 0000000..d797a09 --- /dev/null +++ b/content/projects/planet/authors.html @@ -0,0 +1,145 @@ + +Authors and Citation • planet + + +
    +
    + + + +
    +
    +
    + + + +
    • +

      Victor Yuan. Author, maintainer. +

      +
    • +
    • +

      Wendy P. Robinson. Contributor. +

      +
    • +
    +
    +
    +

    Citation

    + Source: inst/CITATION +
    +
    + + +

    Yuan V (2024). +Placental DNA methylation analysis tools. +doi:10.18129/B9.bioc.planet, https://github.com/wvictor14/planet - R package version 1.9.4, http://www.bioconductor.org/packages/planet. +

    +
    @Manual{,
    +  title = {Placental DNA methylation analysis tools},
    +  author = {Victor Yuan},
    +  year = {2024},
    +  url = {http://www.bioconductor.org/packages/planet},
    +  note = {https://github.com/wvictor14/planet - R package version 1.9.4},
    +  doi = {10.18129/B9.bioc.planet},
    +}
    +

    Yuan V, Price M, Del Gobbo G, Mostafavi S, Cox B, Binder A, Michels K, Marsit C, Robinson W (2019). +“Accurate ethnicity prediction from placental DNA methylation data.” +BMC Epigenetics & Chromatin. +doi:10.1186/s13072-019-0296-3, https://epigeneticsandchromatin.biomedcentral.com/articles/10.1186/s13072-019-0296-3. +

    +
    @Article{,
    +  title = {Accurate ethnicity prediction from placental DNA methylation data},
    +  author = {Victor Yuan and Magda E. Price and Giulia {Del Gobbo} and Sara Mostafavi and Brian Cox and Alexandra M. Binder and Karin B. Michels and Carmen Marsit and Wendy P. Robinson},
    +  year = {2019},
    +  journal = {BMC Epigenetics & Chromatin},
    +  doi = {10.1186/s13072-019-0296-3},
    +  url = {https://epigeneticsandchromatin.biomedcentral.com/articles/10.1186/s13072-019-0296-3},
    +}
    +

    Lee Y, Choufani S, Weksberg R, Wilson S, Yuan V, Burt A, Marsit C, Lu A, Ritz B, Bohlin J, Gjessing H, Harris J, Magnus P, Binder A, Robinson W, Jugessur A, Horvath S (2019). +“Placental epigenetic clocks: estimating gestational age using placental DNA methylation levels.” +Aging (Albany NY). +doi:10.18632/aging.102049, https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6628997/. +

    +
    @Article{,
    +  title = {Placental epigenetic clocks: estimating gestational age using placental DNA methylation levels},
    +  author = {Yunsung Lee and Sanaa Choufani and Rosanna Weksberg and Samantha L. Wilson and Victor Yuan and Amber Burt and Carmen Marsit and Ake T. Lu and Beate Ritz and Jon Bohlin and Hakon K. Gjessing and Jennifer R. Harris and Per Magnus and Alexandra M. Binder and Wendy P. Robinson and Astanand Jugessur and Steve Horvath},
    +  year = {2019},
    +  journal = {Aging (Albany NY)},
    +  doi = {10.18632/aging.102049},
    +  url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6628997/},
    +}
    +

    Yuan V, Hui D, Penaherrera M, Beristain A, Robinson W (2021). +“Cell-specific characterization of the placental methylome.” +BMC Genomics. +doi:10.1186/s12864-020-07186-6, https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-020-07186-6. +

    +
    @Article{,
    +  title = {Cell-specific characterization of the placental methylome},
    +  author = {Victor Yuan and Desmond Hui and Maria S. Penaherrera and Alexander G. Beristain and Wendy P. Robinson},
    +  year = {2021},
    +  journal = {BMC Genomics},
    +  doi = {10.1186/s12864-020-07186-6},
    +  url = {https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-020-07186-6},
    +}
    + +
    + +
    + + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/bootstrap-toc.css b/content/projects/planet/bootstrap-toc.css new file mode 100644 index 0000000..5a85941 --- /dev/null +++ b/content/projects/planet/bootstrap-toc.css @@ -0,0 +1,60 @@ +/*! + * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ + +/* modified from https://github.com/twbs/bootstrap/blob/94b4076dd2efba9af71f0b18d4ee4b163aa9e0dd/docs/assets/css/src/docs.css#L548-L601 */ + +/* All levels of nav */ +nav[data-toggle='toc'] .nav > li > a { + display: block; + padding: 4px 20px; + font-size: 13px; + font-weight: 500; + color: #767676; +} +nav[data-toggle='toc'] .nav > li > a:hover, +nav[data-toggle='toc'] .nav > li > a:focus { + padding-left: 19px; + color: #563d7c; + text-decoration: none; + background-color: transparent; + border-left: 1px solid #563d7c; +} +nav[data-toggle='toc'] .nav > .active > a, +nav[data-toggle='toc'] .nav > .active:hover > a, +nav[data-toggle='toc'] .nav > .active:focus > a { + padding-left: 18px; + font-weight: bold; + color: #563d7c; + background-color: transparent; + border-left: 2px solid #563d7c; +} + +/* Nav: second level (shown on .active) */ +nav[data-toggle='toc'] .nav .nav { + display: none; /* Hide by default, but at >768px, show it */ + padding-bottom: 10px; +} +nav[data-toggle='toc'] .nav .nav > li > a { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 30px; + font-size: 12px; + font-weight: normal; +} +nav[data-toggle='toc'] .nav .nav > li > a:hover, +nav[data-toggle='toc'] .nav .nav > li > a:focus { + padding-left: 29px; +} +nav[data-toggle='toc'] .nav .nav > .active > a, +nav[data-toggle='toc'] .nav .nav > .active:hover > a, +nav[data-toggle='toc'] .nav .nav > .active:focus > a { + padding-left: 28px; + font-weight: 500; +} + +/* from https://github.com/twbs/bootstrap/blob/e38f066d8c203c3e032da0ff23cd2d6098ee2dd6/docs/assets/css/src/docs.css#L631-L634 */ +nav[data-toggle='toc'] .nav > .active > ul { + display: block; +} diff --git a/content/projects/planet/bootstrap-toc.js b/content/projects/planet/bootstrap-toc.js new file mode 100644 index 0000000..1cdd573 --- /dev/null +++ b/content/projects/planet/bootstrap-toc.js @@ -0,0 +1,159 @@ +/*! + * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ +(function() { + 'use strict'; + + window.Toc = { + helpers: { + // return all matching elements in the set, or their descendants + findOrFilter: function($el, selector) { + // http://danielnouri.org/notes/2011/03/14/a-jquery-find-that-also-finds-the-root-element/ + // http://stackoverflow.com/a/12731439/358804 + var $descendants = $el.find(selector); + return $el.filter(selector).add($descendants).filter(':not([data-toc-skip])'); + }, + + generateUniqueIdBase: function(el) { + var text = $(el).text(); + var anchor = text.trim().toLowerCase().replace(/[^A-Za-z0-9]+/g, '-'); + return anchor || el.tagName.toLowerCase(); + }, + + generateUniqueId: function(el) { + var anchorBase = this.generateUniqueIdBase(el); + for (var i = 0; ; i++) { + var anchor = anchorBase; + if (i > 0) { + // add suffix + anchor += '-' + i; + } + // check if ID already exists + if (!document.getElementById(anchor)) { + return anchor; + } + } + }, + + generateAnchor: function(el) { + if (el.id) { + return el.id; + } else { + var anchor = this.generateUniqueId(el); + el.id = anchor; + return anchor; + } + }, + + createNavList: function() { + return $(''); + }, + + createChildNavList: function($parent) { + var $childList = this.createNavList(); + $parent.append($childList); + return $childList; + }, + + generateNavEl: function(anchor, text) { + var $a = $(''); + $a.attr('href', '#' + anchor); + $a.text(text); + var $li = $('
  • '); + $li.append($a); + return $li; + }, + + generateNavItem: function(headingEl) { + var anchor = this.generateAnchor(headingEl); + var $heading = $(headingEl); + var text = $heading.data('toc-text') || $heading.text(); + return this.generateNavEl(anchor, text); + }, + + // Find the first heading level (`

    `, then `

    `, etc.) that has more than one element. Defaults to 1 (for `

    `). + getTopLevel: function($scope) { + for (var i = 1; i <= 6; i++) { + var $headings = this.findOrFilter($scope, 'h' + i); + if ($headings.length > 1) { + return i; + } + } + + return 1; + }, + + // returns the elements for the top level, and the next below it + getHeadings: function($scope, topLevel) { + var topSelector = 'h' + topLevel; + + var secondaryLevel = topLevel + 1; + var secondarySelector = 'h' + secondaryLevel; + + return this.findOrFilter($scope, topSelector + ',' + secondarySelector); + }, + + getNavLevel: function(el) { + return parseInt(el.tagName.charAt(1), 10); + }, + + populateNav: function($topContext, topLevel, $headings) { + var $context = $topContext; + var $prevNav; + + var helpers = this; + $headings.each(function(i, el) { + var $newNav = helpers.generateNavItem(el); + var navLevel = helpers.getNavLevel(el); + + // determine the proper $context + if (navLevel === topLevel) { + // use top level + $context = $topContext; + } else if ($prevNav && $context === $topContext) { + // create a new level of the tree and switch to it + $context = helpers.createChildNavList($prevNav); + } // else use the current $context + + $context.append($newNav); + + $prevNav = $newNav; + }); + }, + + parseOps: function(arg) { + var opts; + if (arg.jquery) { + opts = { + $nav: arg + }; + } else { + opts = arg; + } + opts.$scope = opts.$scope || $(document.body); + return opts; + } + }, + + // accepts a jQuery object, or an options object + init: function(opts) { + opts = this.helpers.parseOps(opts); + + // ensure that the data attribute is in place for styling + opts.$nav.attr('data-toggle', 'toc'); + + var $topContext = this.helpers.createChildNavList(opts.$nav); + var topLevel = this.helpers.getTopLevel(opts.$scope); + var $headings = this.helpers.getHeadings(opts.$scope, topLevel); + this.helpers.populateNav($topContext, topLevel, $headings); + } + }; + + $(function() { + $('nav[data-toggle="toc"]').each(function(i, el) { + var $nav = $(el); + Toc.init($nav); + }); + }); +})(); diff --git a/content/projects/planet/docsearch.css b/content/projects/planet/docsearch.css new file mode 100644 index 0000000..e5f1fe1 --- /dev/null +++ b/content/projects/planet/docsearch.css @@ -0,0 +1,148 @@ +/* Docsearch -------------------------------------------------------------- */ +/* + Source: https://github.com/algolia/docsearch/ + License: MIT +*/ + +.algolia-autocomplete { + display: block; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1 +} + +.algolia-autocomplete .ds-dropdown-menu { + width: 100%; + min-width: none; + max-width: none; + padding: .75rem 0; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, .1); + box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175); +} + +@media (min-width:768px) { + .algolia-autocomplete .ds-dropdown-menu { + width: 175% + } +} + +.algolia-autocomplete .ds-dropdown-menu::before { + display: none +} + +.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-] { + padding: 0; + background-color: rgb(255,255,255); + border: 0; + max-height: 80vh; +} + +.algolia-autocomplete .ds-dropdown-menu .ds-suggestions { + margin-top: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion { + padding: 0; + overflow: visible +} + +.algolia-autocomplete .algolia-docsearch-suggestion--category-header { + padding: .125rem 1rem; + margin-top: 0; + font-size: 1.3em; + font-weight: 500; + color: #00008B; + border-bottom: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--wrapper { + float: none; + padding-top: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column { + float: none; + width: auto; + padding: 0; + text-align: left +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content { + float: none; + width: auto; + padding: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content::before { + display: none +} + +.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header { + padding-top: .75rem; + margin-top: .75rem; + border-top: 1px solid rgba(0, 0, 0, .1) +} + +.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column { + display: block; + padding: .1rem 1rem; + margin-bottom: 0.1; + font-size: 1.0em; + font-weight: 400 + /* display: none */ +} + +.algolia-autocomplete .algolia-docsearch-suggestion--title { + display: block; + padding: .25rem 1rem; + margin-bottom: 0; + font-size: 0.9em; + font-weight: 400 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--text { + padding: 0 1rem .5rem; + margin-top: -.25rem; + font-size: 0.8em; + font-weight: 400; + line-height: 1.25 +} + +.algolia-autocomplete .algolia-docsearch-footer { + width: 110px; + height: 20px; + z-index: 3; + margin-top: 10.66667px; + float: right; + font-size: 0; + line-height: 0; +} + +.algolia-autocomplete .algolia-docsearch-footer--logo { + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-position: 50%; + background-size: 100%; + overflow: hidden; + text-indent: -9000px; + width: 100%; + height: 100%; + display: block; + transform: translate(-8px); +} + +.algolia-autocomplete .algolia-docsearch-suggestion--highlight { + color: #FF8C00; + background: rgba(232, 189, 54, 0.1) +} + + +.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight { + box-shadow: inset 0 -2px 0 0 rgba(105, 105, 105, .5) +} + +.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content { + background-color: rgba(192, 192, 192, .15) +} diff --git a/content/projects/planet/docsearch.js b/content/projects/planet/docsearch.js new file mode 100644 index 0000000..b35504c --- /dev/null +++ b/content/projects/planet/docsearch.js @@ -0,0 +1,85 @@ +$(function() { + + // register a handler to move the focus to the search bar + // upon pressing shift + "/" (i.e. "?") + $(document).on('keydown', function(e) { + if (e.shiftKey && e.keyCode == 191) { + e.preventDefault(); + $("#search-input").focus(); + } + }); + + $(document).ready(function() { + // do keyword highlighting + /* modified from https://jsfiddle.net/julmot/bL6bb5oo/ */ + var mark = function() { + + var referrer = document.URL ; + var paramKey = "q" ; + + if (referrer.indexOf("?") !== -1) { + var qs = referrer.substr(referrer.indexOf('?') + 1); + var qs_noanchor = qs.split('#')[0]; + var qsa = qs_noanchor.split('&'); + var keyword = ""; + + for (var i = 0; i < qsa.length; i++) { + var currentParam = qsa[i].split('='); + + if (currentParam.length !== 2) { + continue; + } + + if (currentParam[0] == paramKey) { + keyword = decodeURIComponent(currentParam[1].replace(/\+/g, "%20")); + } + } + + if (keyword !== "") { + $(".contents").unmark({ + done: function() { + $(".contents").mark(keyword); + } + }); + } + } + }; + + mark(); + }); +}); + +/* Search term highlighting ------------------------------*/ + +function matchedWords(hit) { + var words = []; + + var hierarchy = hit._highlightResult.hierarchy; + // loop to fetch from lvl0, lvl1, etc. + for (var idx in hierarchy) { + words = words.concat(hierarchy[idx].matchedWords); + } + + var content = hit._highlightResult.content; + if (content) { + words = words.concat(content.matchedWords); + } + + // return unique words + var words_uniq = [...new Set(words)]; + return words_uniq; +} + +function updateHitURL(hit) { + + var words = matchedWords(hit); + var url = ""; + + if (hit.anchor) { + url = hit.url_without_anchor + '?q=' + escape(words.join(" ")) + '#' + hit.anchor; + } else { + url = hit.url + '?q=' + escape(words.join(" ")); + } + + return url; +} diff --git a/content/projects/planet/favicon-16x16.png b/content/projects/planet/favicon-16x16.png new file mode 100644 index 0000000..4114e1d Binary files /dev/null and b/content/projects/planet/favicon-16x16.png differ diff --git a/content/projects/planet/favicon-32x32.png b/content/projects/planet/favicon-32x32.png new file mode 100644 index 0000000..0417849 Binary files /dev/null and b/content/projects/planet/favicon-32x32.png differ diff --git a/content/projects/planet/favicon.ico b/content/projects/planet/favicon.ico new file mode 100644 index 0000000..92dc883 Binary files /dev/null and b/content/projects/planet/favicon.ico differ diff --git a/content/projects/planet/index.html b/content/projects/planet/index.html new file mode 100644 index 0000000..dbbabc2 --- /dev/null +++ b/content/projects/planet/index.html @@ -0,0 +1,258 @@ + + + + + + + +Placental DNA methylation analysis tools • planet + + + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    +
    + + + +

    planet is an R package for inferring ethnicity (1), gestational age (2), and cell composition (3) from placental DNA methylation data.

    +

    See full documentation at https://victor.rbind.io/planet

    +
    +

    Installation +

    +

    Latest Bioconductor release

    +
    +if(!requireNamespace("BiocManager", quietly = TRUE))
    +    install.packages("BiocManager")
    +BiocManager::install("planet")
    +

    Or the development version of planet:

    +
    +devtools::install_github('wvictor14/planet')
    +
    +
    +

    Usage +

    +

    See vignettes for more detailed usage.

    +
    +

    Example Data +

    +

    All functions in this package take as input DNAm data the 450k and EPIC DNAm microarray. For best performance I suggest providing unfiltered data normalized with noob and BMIQ. A processed example dataset, plBetas, is provided to show the format that this data should be in. The output of all planet functions is a data.frame.

    +

    A quick example of each major function is illustrated with this example data:

    +
    +library(minfi)
    +library(planet)
    +
    +#load example data
    +data(plBetas)
    +data(plPhenoData) # sample information
    +
    +
    +

    Predict Ethnicity +

    +
    +predictEthnicity(plBetas) %>%
    +  head()
    +#> 1860 of 1860 predictors present.
    +#> # A tibble: 6 × 7
    +#>   Sample_ID  Predicted_ethnicity_n…¹ Predicted_ethnicity Prob_African Prob_Asian
    +#>   <chr>      <chr>                   <chr>                      <dbl>      <dbl>
    +#> 1 GSM1944936 Caucasian               Caucasian               0.00331    0.0164  
    +#> 2 GSM1944939 Caucasian               Caucasian               0.000772   0.000514
    +#> 3 GSM1944942 Caucasian               Caucasian               0.000806   0.000699
    +#> 4 GSM1944944 Caucasian               Caucasian               0.000883   0.000792
    +#> 5 GSM1944946 Caucasian               Caucasian               0.000885   0.00130 
    +#> 6 GSM1944948 Caucasian               Caucasian               0.000852   0.000973
    +#> # ℹ abbreviated name: ¹​Predicted_ethnicity_nothresh
    +#> # ℹ 2 more variables: Prob_Caucasian <dbl>, Highest_Prob <dbl>
    +
    +
    +

    Predict Gestational Age +

    +

    There are 3 gestational age clocks for placental DNA methylation data from Lee Y. et al. 2019 (2). To use a specific one, we can use the type argument in predictAge:

    +
    +predictAge(plBetas, type = 'RPC') %>%
    +  head()
    +#> 558 of 558 predictors present.
    +#> [1] 38.46528 33.09680 34.32520 35.50937 37.63910 36.77051
    +
    +
    +

    Predict Cell Composition +

    +

    Reference data to infer cell composition on placental villi DNAm samples (3) can be used with cell deconvolution from minfi or EpiDISH. These are provided in this package as plCellCpGsThird and plCellCpGsFirst for third trimester (term) and first trimester samples, respectively.

    +
    +data('plCellCpGsThird')
    +
    +minfi:::projectCellType(
    +  
    +  # subset your data to cell cpgs
    +  plBetas[rownames(plCellCpGsThird),], 
    +  
    +  # input the reference cpg matrix
    +  plCellCpGsThird,
    +  
    +  lessThanOne = FALSE) %>%
    +  
    +  head()
    +#>            Trophoblasts    Stromal      Hofbauer Endothelial       nRBC
    +#> GSM1944936    0.1091279 0.04891919  0.000000e+00  0.08983998 0.05294062
    +#> GSM1944939    0.2299918 0.00000000 -1.806592e-19  0.07888007 0.03374149
    +#> GSM1944942    0.1934287 0.03483540  0.000000e+00  0.09260353 0.02929310
    +#> GSM1944944    0.2239896 0.06249135  1.608645e-03  0.11040693 0.04447951
    +#> GSM1944946    0.1894152 0.07935955  0.000000e+00  0.10587439 0.05407587
    +#> GSM1944948    0.2045124 0.07657717  0.000000e+00  0.09871149 0.02269798
    +#>            Syncytiotrophoblast
    +#> GSM1944936           0.6979477
    +#> GSM1944939           0.6377822
    +#> GSM1944942           0.6350506
    +#> GSM1944944           0.5467642
    +#> GSM1944946           0.6022329
    +#> GSM1944948           0.6085825
    +
    +
    + +
    +
    + + +
    + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + + + + diff --git a/content/projects/planet/link.svg b/content/projects/planet/link.svg new file mode 100644 index 0000000..88ad827 --- /dev/null +++ b/content/projects/planet/link.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/content/projects/planet/logo.png b/content/projects/planet/logo.png new file mode 100644 index 0000000..04d271f Binary files /dev/null and b/content/projects/planet/logo.png differ diff --git a/content/projects/planet/news/index.html b/content/projects/planet/news/index.html new file mode 100644 index 0000000..4835a11 --- /dev/null +++ b/content/projects/planet/news/index.html @@ -0,0 +1,207 @@ + +Changelog • planet + + +
    +
    + + + +
    +
    + + +
    + +
    +
    + +
    • add stop controls to predictEthnicity +
    • +
    • added some tests
    • +
    • Bioconductor version bump
    • +
    +
    + +
    • Bioconductor version bump
    • +
    +
    + +
    • Bioconductor version bump
    • +
    +
    + +
    • Combined vignettes into a single one
    • +
    • Updated references
    • +
    +
    + +
    • Update reference for cell composition
    • +
    • Accepted into bioconductor, will be released in next cycle
    • +
    +
    + +
    • Vignettes updated with new function names
    • +
    • Removed minfi from examples since installation fails on some R versions
    • +
    • Moved .orig files to inst/script +
    • +
    • Moved data-raw/ contents to inst/script +
    • +
    • Moved man/figures/logo.png to inst/figures/logo.png, updated README
    • +
    • Lazydata set to false
    • +
    +
    + +
    • Improved vignette figure quality
    • +
    • Using github-actions check from biocthis +
    • +
    • Removed viridis from suggests
    • +
    • Rewrote many data man pages
    • +
    +
    + +
    • Final preparations for Bioconductor submission
    • +
    • Changed license to => GPL-2
    • +
    • More detailed attribution to glmnet
    • +
    • Renamed all functions to camel case convention, including functions, data, tests, documentation, vignettes
    • +
    • Added planet-deprecated.R +
    • +
    • +pl_infer_ethnicity() and pl_infer_age() now deprecated, replaced with predictEthnicity and predictAge, respectively.
    • +
    +
    + +
    • Removed minfi dependency
    • +
    • Addressed all fixable >line80 and 4 space indent notes from BiocCheck
    • +
    • Precompiling vignettes.
    • +
    +
    + +
    • added hexsticker
    • +
    • updated zenodo doi
    • +
    • added github actions
    • +
    • added cells color palette
    • +
    • favicons
    • +
    • Fixed in-text citations in README
    • +
    +
    + +
    • Reduced nbeta from 4 mb to 30 kb
    • +
    • Removed Matrix dependency from imports
    • +
    +
    + +
    +
    + +
    • Added vignettes
    • +
    • Reduced README significantly
    • +
    • Format documentation for Bioconductor style +
      • Added BiocViews to DESCRIPTION
      • +
      • Wrap lines max 80 characters
      • +
    • +
    • Create CITATION
    • +
    • Add Wendy Robinson to authors
    • +
    +
    + +
    • Fixes data export error on linux. See #6 +
    • +
    +
    + +
    • Export nbeta, instead of keeping internal
    • +
    • This fixes the install errors
    • +
    • On linux, data objects are not properly exported. See #2 +
    • +
    +
    + +
    • added syncytiotrophoblast reference cpgs
    • +
    +
    + +
    • added pl_cell_cpgs_first and pl_cell_cpgs_third for cell composition inference
    • +
    +
    + +
    • copied glmnet:::glment_softmax code to be compatible with new glmnet version
    • +
    +
    + +
    • Added pl_infer_age to infer gestational age using Lee Y et al. placental DNAm clock.
    • +
    • Modified example data to contain less probes and more samples, to save space but still be useful in the examples.
    • +
    +
    + +
    • Added a NEWS.md file to track changes to the package.
    • +
    +
    + + + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/pkgdown.css b/content/projects/planet/pkgdown.css new file mode 100644 index 0000000..80ea5b8 --- /dev/null +++ b/content/projects/planet/pkgdown.css @@ -0,0 +1,384 @@ +/* Sticky footer */ + +/** + * Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/ + * Details: https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/site.css + * + * .Site -> body > .container + * .Site-content -> body > .container .row + * .footer -> footer + * + * Key idea seems to be to ensure that .container and __all its parents__ + * have height set to 100% + * + */ + +html, body { + height: 100%; +} + +body { + position: relative; +} + +body > .container { + display: flex; + height: 100%; + flex-direction: column; +} + +body > .container .row { + flex: 1 0 auto; +} + +footer { + margin-top: 45px; + padding: 35px 0 36px; + border-top: 1px solid #e5e5e5; + color: #666; + display: flex; + flex-shrink: 0; +} +footer p { + margin-bottom: 0; +} +footer div { + flex: 1; +} +footer .pkgdown { + text-align: right; +} +footer p { + margin-bottom: 0; +} + +img.icon { + float: right; +} + +/* Ensure in-page images don't run outside their container */ +.contents img { + max-width: 100%; + height: auto; +} + +/* Fix bug in bootstrap (only seen in firefox) */ +summary { + display: list-item; +} + +/* Typographic tweaking ---------------------------------*/ + +.contents .page-header { + margin-top: calc(-60px + 1em); +} + +dd { + margin-left: 3em; +} + +/* Section anchors ---------------------------------*/ + +a.anchor { + display: none; + margin-left: 5px; + width: 20px; + height: 20px; + + background-image: url(./link.svg); + background-repeat: no-repeat; + background-size: 20px 20px; + background-position: center center; +} + +h1:hover .anchor, +h2:hover .anchor, +h3:hover .anchor, +h4:hover .anchor, +h5:hover .anchor, +h6:hover .anchor { + display: inline-block; +} + +/* Fixes for fixed navbar --------------------------*/ + +.contents h1, .contents h2, .contents h3, .contents h4 { + padding-top: 60px; + margin-top: -40px; +} + +/* Navbar submenu --------------------------*/ + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu>.dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover>.dropdown-menu { + display: block; +} + +.dropdown-submenu>a:after { + display: block; + content: " "; + float: right; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: #cccccc; + margin-top: 5px; + margin-right: -10px; +} + +.dropdown-submenu:hover>a:after { + border-left-color: #ffffff; +} + +.dropdown-submenu.pull-left { + float: none; +} + +.dropdown-submenu.pull-left>.dropdown-menu { + left: -100%; + margin-left: 10px; + border-radius: 6px 0 6px 6px; +} + +/* Sidebar --------------------------*/ + +#pkgdown-sidebar { + margin-top: 30px; + position: -webkit-sticky; + position: sticky; + top: 70px; +} + +#pkgdown-sidebar h2 { + font-size: 1.5em; + margin-top: 1em; +} + +#pkgdown-sidebar h2:first-child { + margin-top: 0; +} + +#pkgdown-sidebar .list-unstyled li { + margin-bottom: 0.5em; +} + +/* bootstrap-toc tweaks ------------------------------------------------------*/ + +/* All levels of nav */ + +nav[data-toggle='toc'] .nav > li > a { + padding: 4px 20px 4px 6px; + font-size: 1.5rem; + font-weight: 400; + color: inherit; +} + +nav[data-toggle='toc'] .nav > li > a:hover, +nav[data-toggle='toc'] .nav > li > a:focus { + padding-left: 5px; + color: inherit; + border-left: 1px solid #878787; +} + +nav[data-toggle='toc'] .nav > .active > a, +nav[data-toggle='toc'] .nav > .active:hover > a, +nav[data-toggle='toc'] .nav > .active:focus > a { + padding-left: 5px; + font-size: 1.5rem; + font-weight: 400; + color: inherit; + border-left: 2px solid #878787; +} + +/* Nav: second level (shown on .active) */ + +nav[data-toggle='toc'] .nav .nav { + display: none; /* Hide by default, but at >768px, show it */ + padding-bottom: 10px; +} + +nav[data-toggle='toc'] .nav .nav > li > a { + padding-left: 16px; + font-size: 1.35rem; +} + +nav[data-toggle='toc'] .nav .nav > li > a:hover, +nav[data-toggle='toc'] .nav .nav > li > a:focus { + padding-left: 15px; +} + +nav[data-toggle='toc'] .nav .nav > .active > a, +nav[data-toggle='toc'] .nav .nav > .active:hover > a, +nav[data-toggle='toc'] .nav .nav > .active:focus > a { + padding-left: 15px; + font-weight: 500; + font-size: 1.35rem; +} + +/* orcid ------------------------------------------------------------------- */ + +.orcid { + font-size: 16px; + color: #A6CE39; + /* margins are required by official ORCID trademark and display guidelines */ + margin-left:4px; + margin-right:4px; + vertical-align: middle; +} + +/* Reference index & topics ----------------------------------------------- */ + +.ref-index th {font-weight: normal;} + +.ref-index td {vertical-align: top; min-width: 100px} +.ref-index .icon {width: 40px;} +.ref-index .alias {width: 40%;} +.ref-index-icons .alias {width: calc(40% - 40px);} +.ref-index .title {width: 60%;} + +.ref-arguments th {text-align: right; padding-right: 10px;} +.ref-arguments th, .ref-arguments td {vertical-align: top; min-width: 100px} +.ref-arguments .name {width: 20%;} +.ref-arguments .desc {width: 80%;} + +/* Nice scrolling for wide elements --------------------------------------- */ + +table { + display: block; + overflow: auto; +} + +/* Syntax highlighting ---------------------------------------------------- */ + +pre, code, pre code { + background-color: #f8f8f8; + color: #333; +} +pre, pre code { + white-space: pre-wrap; + word-break: break-all; + overflow-wrap: break-word; +} + +pre { + border: 1px solid #eee; +} + +pre .img, pre .r-plt { + margin: 5px 0; +} + +pre .img img, pre .r-plt img { + background-color: #fff; +} + +code a, pre a { + color: #375f84; +} + +a.sourceLine:hover { + text-decoration: none; +} + +.fl {color: #1514b5;} +.fu {color: #000000;} /* function */ +.ch,.st {color: #036a07;} /* string */ +.kw {color: #264D66;} /* keyword */ +.co {color: #888888;} /* comment */ + +.error {font-weight: bolder;} +.warning {font-weight: bolder;} + +/* Clipboard --------------------------*/ + +.hasCopyButton { + position: relative; +} + +.btn-copy-ex { + position: absolute; + right: 0; + top: 0; + visibility: hidden; +} + +.hasCopyButton:hover button.btn-copy-ex { + visibility: visible; +} + +/* headroom.js ------------------------ */ + +.headroom { + will-change: transform; + transition: transform 200ms linear; +} +.headroom--pinned { + transform: translateY(0%); +} +.headroom--unpinned { + transform: translateY(-100%); +} + +/* mark.js ----------------------------*/ + +mark { + background-color: rgba(255, 255, 51, 0.5); + border-bottom: 2px solid rgba(255, 153, 51, 0.3); + padding: 1px; +} + +/* vertical spacing after htmlwidgets */ +.html-widget { + margin-bottom: 10px; +} + +/* fontawesome ------------------------ */ + +.fab { + font-family: "Font Awesome 5 Brands" !important; +} + +/* don't display links in code chunks when printing */ +/* source: https://stackoverflow.com/a/10781533 */ +@media print { + code a:link:after, code a:visited:after { + content: ""; + } +} + +/* Section anchors --------------------------------- + Added in pandoc 2.11: https://github.com/jgm/pandoc-templates/commit/9904bf71 +*/ + +div.csl-bib-body { } +div.csl-entry { + clear: both; +} +.hanging-indent div.csl-entry { + margin-left:2em; + text-indent:-2em; +} +div.csl-left-margin { + min-width:2em; + float:left; +} +div.csl-right-inline { + margin-left:2em; + padding-left:1em; +} +div.csl-indent { + margin-left: 2em; +} diff --git a/content/projects/planet/pkgdown.js b/content/projects/planet/pkgdown.js new file mode 100644 index 0000000..6f0eee4 --- /dev/null +++ b/content/projects/planet/pkgdown.js @@ -0,0 +1,108 @@ +/* http://gregfranko.com/blog/jquery-best-practices/ */ +(function($) { + $(function() { + + $('.navbar-fixed-top').headroom(); + + $('body').css('padding-top', $('.navbar').height() + 10); + $(window).resize(function(){ + $('body').css('padding-top', $('.navbar').height() + 10); + }); + + $('[data-toggle="tooltip"]').tooltip(); + + var cur_path = paths(location.pathname); + var links = $("#navbar ul li a"); + var max_length = -1; + var pos = -1; + for (var i = 0; i < links.length; i++) { + if (links[i].getAttribute("href") === "#") + continue; + // Ignore external links + if (links[i].host !== location.host) + continue; + + var nav_path = paths(links[i].pathname); + + var length = prefix_length(nav_path, cur_path); + if (length > max_length) { + max_length = length; + pos = i; + } + } + + // Add class to parent
  • , and enclosing
  • if in dropdown + if (pos >= 0) { + var menu_anchor = $(links[pos]); + menu_anchor.parent().addClass("active"); + menu_anchor.closest("li.dropdown").addClass("active"); + } + }); + + function paths(pathname) { + var pieces = pathname.split("/"); + pieces.shift(); // always starts with / + + var end = pieces[pieces.length - 1]; + if (end === "index.html" || end === "") + pieces.pop(); + return(pieces); + } + + // Returns -1 if not found + function prefix_length(needle, haystack) { + if (needle.length > haystack.length) + return(-1); + + // Special case for length-0 haystack, since for loop won't run + if (haystack.length === 0) { + return(needle.length === 0 ? 0 : -1); + } + + for (var i = 0; i < haystack.length; i++) { + if (needle[i] != haystack[i]) + return(i); + } + + return(haystack.length); + } + + /* Clipboard --------------------------*/ + + function changeTooltipMessage(element, msg) { + var tooltipOriginalTitle=element.getAttribute('data-original-title'); + element.setAttribute('data-original-title', msg); + $(element).tooltip('show'); + element.setAttribute('data-original-title', tooltipOriginalTitle); + } + + if(ClipboardJS.isSupported()) { + $(document).ready(function() { + var copyButton = ""; + + $("div.sourceCode").addClass("hasCopyButton"); + + // Insert copy buttons: + $(copyButton).prependTo(".hasCopyButton"); + + // Initialize tooltips: + $('.btn-copy-ex').tooltip({container: 'body'}); + + // Initialize clipboard: + var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', { + text: function(trigger) { + return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + } + }); + + clipboardBtnCopies.on('success', function(e) { + changeTooltipMessage(e.trigger, 'Copied!'); + e.clearSelection(); + }); + + clipboardBtnCopies.on('error', function() { + changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); + }); + }); + } +})(window.jQuery || window.$) diff --git a/content/projects/planet/pkgdown.yml b/content/projects/planet/pkgdown.yml new file mode 100644 index 0000000..c803435 --- /dev/null +++ b/content/projects/planet/pkgdown.yml @@ -0,0 +1,7 @@ +pandoc: 3.1.1 +pkgdown: 2.0.7 +pkgdown_sha: ~ +articles: + planet: planet.html +last_built: 2024-02-21T19:23Z + diff --git a/content/projects/planet/reference/Rplot001.png b/content/projects/planet/reference/Rplot001.png new file mode 100644 index 0000000..17a3580 Binary files /dev/null and b/content/projects/planet/reference/Rplot001.png differ diff --git a/content/projects/planet/reference/ageCpGs.html b/content/projects/planet/reference/ageCpGs.html new file mode 100644 index 0000000..6a12d34 --- /dev/null +++ b/content/projects/planet/reference/ageCpGs.html @@ -0,0 +1,101 @@ + +Placental gestational age CpGs — ageCpGs • planet + + +
    +
    + + + +
    +
    + + +
    +

    Coefficients from the three placental gestational age clocks +from Lee Y et al. 2019.

    +

    Reference: Lee Y, Choufani S, Weksberg R, et al. Placental epigenetic +clocks: estimating gestational age using placental DNA methylation levels. +Aging (Albany NY). 2019;11(12):4238–4253. doi:10.18632/aging.102049. PMID: +31235674

    +
    + +
    +
    data(ageCpGs)
    +
    + +
    +

    Format

    +

    A tibble with coefficients for the RPC, +CPC, and refined RPC.

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/ethnicityCpGs.html b/content/projects/planet/reference/ethnicityCpGs.html new file mode 100644 index 0000000..abec489 --- /dev/null +++ b/content/projects/planet/reference/ethnicityCpGs.html @@ -0,0 +1,98 @@ + +CpGs to predict ethnicity — ethnicityCpGs • planet + + +
    +
    + + + +
    +
    + + +
    +

    1860 CpGs used to predict ethnicity.

    +

    See Yuan et al. 2019 for +details.

    +
    + +
    +
    data(ethnicityCpGs)
    +
    + +
    +

    Format

    +

    A character vector of length 1860

    +
    + + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/figures/logo.png b/content/projects/planet/reference/figures/logo.png new file mode 100644 index 0000000..04d271f Binary files /dev/null and b/content/projects/planet/reference/figures/logo.png differ diff --git a/content/projects/planet/reference/index.html b/content/projects/planet/reference/index.html new file mode 100644 index 0000000..7a19467 --- /dev/null +++ b/content/projects/planet/reference/index.html @@ -0,0 +1,121 @@ + +Function reference • planet + + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    +

    All functions

    +

    +
    +

    ageCpGs

    +

    Placental gestational age CpGs

    +

    ethnicityCpGs

    +

    CpGs to predict ethnicity

    +

    planet-deprecated

    +

    Deprecated functions in planet

    +

    plBetas

    +

    Example placental DNA methylation data

    +

    plCellCpGsFirst

    +

    First trimester placental cell type coefficients

    +

    plCellCpGsThird

    +

    Third trimester placental cell type coefficients

    +

    plColors

    +

    A color palette for placental cell types

    +

    plPhenoData

    +

    Sample information accompanying pl_betas

    +

    predictAge()

    +

    Predicts gestational age using placental DNA methylation microarray +data

    +

    predictEthnicity()

    +

    Predicts ethnicity using placental DNA methylation microarray data

    + + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/pipe.html b/content/projects/planet/reference/pipe.html new file mode 100644 index 0000000..a988eba --- /dev/null +++ b/content/projects/planet/reference/pipe.html @@ -0,0 +1,99 @@ + +Pipe operator — %>% • planet + + +
    +
    + + + +
    +
    + + +
    +

    See magrittr::%>% for details.

    +
    + +
    +
    lhs %>% rhs
    +
    + +
    +

    Value

    + + +

    lhs

    +
    + +
    +

    Examples

    +
    
    +c(1, 2, 3) %>% sum()
    +#> [1] 6
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/plBetas.html b/content/projects/planet/reference/plBetas.html new file mode 100644 index 0000000..be329e2 --- /dev/null +++ b/content/projects/planet/reference/plBetas.html @@ -0,0 +1,129 @@ + +Example placental DNA methylation data — plBetas • planet + + +
    +
    + + + +
    +
    + + +
    +

    6 DNA methylation profiles from preeclampsia and healthy +control placentas. This data was downloaded from:

    "Genome wide DNA methylation profiling of normal and +preeclampsia placental samples. Illumina Infinium HumanMethylation450 +BeadChip (450K array) was used to obtain DNA methylation profiles in +placental samples. Samples included 16 samples from healthy uncomplicated +pregnancies and 8 samples from pregnancies affected by preeclampsia." - +from Yeung et al.

    +

    The DNA methylation data for 24 placental samples were downloaded from +GSE75196. +After normalizing using minfi::preprocessNoob and wateRmelon::BMIQ, +the data were filtered to 6/24 samples and 10,000 random CpGs + those CpGs +used in the gestational age clock and ethnicity classifier.

    +

    Reference: Yeung KR, Chiu CL, Pidsley R, Makris A et al. DNA methylation +profiles in preeclampsia and healthy control placentas. Am J Physiol Heart +Circ Physiol 2016 May 15;310(10):H1295-303. +PMID:26968548

    +
    + +
    +
    data(plBetas)
    +
    + +
    +

    Format

    +

    A matrix

    +
    + + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/plCellCpGsFirst.html b/content/projects/planet/reference/plCellCpGsFirst.html new file mode 100644 index 0000000..80b9c62 --- /dev/null +++ b/content/projects/planet/reference/plCellCpGsFirst.html @@ -0,0 +1,97 @@ + +First trimester placental cell type coefficients — plCellCpGsFirst • planet + + +
    +
    + + + +
    +
    + + +
    +

    First trimester coefficients for placental cellular +deconvolution from Yuan V et al. 2020.

    +

    Reference: to be edited +PMID: to be edited

    +
    + +
    +
    data(plCellCpGsFirst)
    +
    + +
    +

    Format

    +

    A matrix with coefficients for Trophoblasts, Stromal, +Endothelial, Hofbauer cells, nRBCs, and Syncytiotrophoblasts.

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/plCellCpGsThird.html b/content/projects/planet/reference/plCellCpGsThird.html new file mode 100644 index 0000000..2436f2a --- /dev/null +++ b/content/projects/planet/reference/plCellCpGsThird.html @@ -0,0 +1,97 @@ + +Third trimester placental cell type coefficients — plCellCpGsThird • planet + + +
    +
    + + + +
    +
    + + +
    +

    Third trimester coefficients for placental cellular +deconvolution from Yuan V et al. 2020.

    +

    Reference: to be edited +PMID: to be edited

    +
    + +
    +
    data(plCellCpGsThird)
    +
    + +
    +

    Format

    +

    A matrix with coefficients for Trophoblasts, Stromal, +Endothelial, Hofbauer cells, nRBCs, and Syncytiotrophoblasts.

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/plColors.html b/content/projects/planet/reference/plColors.html new file mode 100644 index 0000000..2634197 --- /dev/null +++ b/content/projects/planet/reference/plColors.html @@ -0,0 +1,107 @@ + +A color palette for placental cell types — plColors • planet + + +
    +
    + + + +
    +
    + + +
    +

    A nice color palette for placental cell types.

    +

    Used in Yuan V et al. 2020.

    +

    Contains colors for:

    • Syncytiotrophoblast

    • +
    • Trophoblast

    • +
    • Stromal

    • +
    • Hofbauer

    • +
    • Endothelial

    • +
    • nRBCs

    • +
    + +
    +
    data(plColors)
    +
    + +
    +

    Format

    +

    An object of class character of length 6.

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/plPhenoData.html b/content/projects/planet/reference/plPhenoData.html new file mode 100644 index 0000000..3b76925 --- /dev/null +++ b/content/projects/planet/reference/plPhenoData.html @@ -0,0 +1,109 @@ + +Sample information accompanying pl_betas — plPhenoData • planet + + +
    +
    + + + +
    +
    + + +
    +

    Sex, disease, and gestational age information associated with +pl_betas.

    +

    Downloaded from the GEO accession:

    Reference: Yeung KR, Chiu CL, Pidsley R, Makris A et al. DNA methylation +profiles in preeclampsia and healthy control placentas. Am J Physiol Heart +Circ Physiol 2016 May 15;310(10):H1295-303. +PMID: 26968548

    +
    + +
    +
    data(plPhenoData)
    +
    + +
    +

    Format

    +

    A tibble

    +
    + + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/planet-deprecated.html b/content/projects/planet/reference/planet-deprecated.html new file mode 100644 index 0000000..84c7176 --- /dev/null +++ b/content/projects/planet/reference/planet-deprecated.html @@ -0,0 +1,91 @@ + +Deprecated functions in planet — planet-deprecated • planet + + +
    +
    + + + +
    +
    + + +
    +

    These functions still work but will be removed (defunct) in the next version.

    +
    + + +
    +

    Details

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/planet-package.html b/content/projects/planet/reference/planet-package.html new file mode 100644 index 0000000..3dedddf --- /dev/null +++ b/content/projects/planet/reference/planet-package.html @@ -0,0 +1,97 @@ + +planet: Placental DNA methylation analysis tools — planet-package • planet + + +
    +
    + + + +
    +
    + + +
    +

    +

    This package contains R functions to predict biological variables to from placnetal DNA methylation data generated from infinium arrays. This includes inferring ethnicity/ancestry, gestational age, and cell composition from placental DNA methylation array (450k/850k) data.

    +
    + + + +
    +

    Author

    +

    Maintainer: Victor Yuan victor.2wy@gmail.com

    +

    Other contributors:

    • Wendy P. Robinson [contributor]

    • +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/predictAge.html b/content/projects/planet/reference/predictAge.html new file mode 100644 index 0000000..b8867e3 --- /dev/null +++ b/content/projects/planet/reference/predictAge.html @@ -0,0 +1,157 @@ + +Predicts gestational age using placental DNA methylation microarray +data — predictAge • planet + + +
    +
    + + + +
    +
    + + +
    +

    predictAge Multiplies the coefficients from one of three +epigenetic gestational age clocks, by the corresponding CpGs in a supplied +betas data.frame.

    +
    + +
    +
    predictAge(betas, type = "RPC")
    +
    + +
    +

    Arguments

    +
    betas
    +

    An n by m dataframe of methylation values on the beta scale (0, +1), where the CpGs are arranged in rows, and samples in columns. Should +contain all CpGs used in each clock

    + + +
    type
    +

    One of the following: "RPC" (Robust), "CPC", (Control) or "RRPC" +(Refined Robust).

    + +
    +
    +

    Value

    + + +

    A vector of length m, containing inferred gestational age.

    +
    +
    +

    Details

    +

    Predicts gestational age using one of 3 placental gestational age +clocks: RPC, CPC, or refined RPC. Requires placental DNA methylation measured +on the Infinium 27K/450k/EPIC methylation array. Ensure as many predictive +CpGs are present in your data, otherwise accuracy may be impacted.

    +

    It's recommended that you have all predictive CpGs, otherwise accuracy may +vary.

    +
    + +
    +

    Examples

    +
    
    +# Load placenta DNAm data
    +library(dplyr)
    +#> 
    +#> Attaching package: 'dplyr'
    +#> The following objects are masked from 'package:stats':
    +#> 
    +#>     filter, lag
    +#> The following objects are masked from 'package:base':
    +#> 
    +#>     intersect, setdiff, setequal, union
    +data(plBetas)
    +data(plPhenoData)
    +
    +plPhenoData %>%
    +    mutate(inferred_ga = predictAge(plBetas, type = "RPC"))
    +#> 558 of 558 predictors present.
    +#> # A tibble: 24 × 8
    +#>    sample_id  sex    disease      gestation_wk ga_RPC ga_CPC ga_RRPC inferred_ga
    +#>    <fct>      <chr>  <chr>               <dbl>  <dbl>  <dbl>   <dbl>       <dbl>
    +#>  1 GSM1944936 Male   preeclampsia           36   38.5   38.7    38.7        38.5
    +#>  2 GSM1944939 Male   preeclampsia           32   33.1   34.2    32.6        33.1
    +#>  3 GSM1944942 Female preeclampsia           32   34.3   35.1    33.3        34.3
    +#>  4 GSM1944944 Male   preeclampsia           35   35.5   36.7    35.5        35.5
    +#>  5 GSM1944946 Female preeclampsia           38   37.6   37.6    36.6        37.6
    +#>  6 GSM1944948 Female preeclampsia           36   36.8   38.4    36.7        36.8
    +#>  7 GSM1944949 Female preeclampsia           37   38.2   38.1    37.7        38.2
    +#>  8 GSM1944950 Male   preeclampsia           35   35.9   38.0    35.1        35.9
    +#>  9 GSM1944951 Female normal/heal…           39   40.2   41.0    39.6        40.2
    +#> 10 GSM1944952 Male   normal/heal…           38   39.7   39.6    39.5        39.7
    +#> # ℹ 14 more rows
    +    
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/reference/predictEthnicity.html b/content/projects/planet/reference/predictEthnicity.html new file mode 100644 index 0000000..c006a91 --- /dev/null +++ b/content/projects/planet/reference/predictEthnicity.html @@ -0,0 +1,151 @@ + +Predicts ethnicity using placental DNA methylation microarray data — predictEthnicity • planet + + +
    +
    + + + +
    +
    + + +
    +

    Uses 1860 CpGs to predict self-reported ethnicity on placental +microarray data.

    +
    + +
    +
    predictEthnicity(betas, threshold = 0.75, force = FALSE)
    +
    + +
    +

    Arguments

    +
    betas
    +

    n x m dataframe of methylation values on the beta scale (0, 1), +where the variables are arranged in rows, and samples in columns. Should +contain all 1860 predictors and be normalized with NOOB and BMIQ.

    + + +
    threshold
    +

    A probability threshold ranging from (0, 1) to call samples +'ambiguous'. Defaults to 0.75.

    + + +
    force
    +

    run even if missing predictors. Default is FALSE.

    + +
    +
    +

    Value

    + + +

    a tibble

    + + +
    +
    +

    Details

    +

    Predicts self-reported ethnicity from 3 classes: Africans, Asians, +and Caucasians, using placental DNA methylation data measured on the Infinium +450k/EPIC methylation array. Will return membership probabilities that often +reflect genetic ancestry composition.

    +

    The input data should contain all 1860 predictors (cpgs) of the final GLMNET +model.

    +

    It's recommended to use the same normalization methods used on the training +data: NOOB and BMIQ.

    +
    + +
    +

    Examples

    +
    ## To predict ethnicity on 450k/850k samples
    +
    +# Load placenta DNAm data
    +data(plBetas)
    +predictEthnicity(plBetas)
    +#> 1860 of 1860 predictors present.
    +#> # A tibble: 24 × 7
    +#>    Sample_ID  Predicted_ethnicity_…¹ Predicted_ethnicity Prob_African Prob_Asian
    +#>    <chr>      <chr>                  <chr>                      <dbl>      <dbl>
    +#>  1 GSM1944936 Caucasian              Caucasian               0.00331    0.0164  
    +#>  2 GSM1944939 Caucasian              Caucasian               0.000772   0.000514
    +#>  3 GSM1944942 Caucasian              Caucasian               0.000806   0.000699
    +#>  4 GSM1944944 Caucasian              Caucasian               0.000883   0.000792
    +#>  5 GSM1944946 Caucasian              Caucasian               0.000885   0.00130 
    +#>  6 GSM1944948 Caucasian              Caucasian               0.000852   0.000973
    +#>  7 GSM1944949 Caucasian              Caucasian               0.000902   0.00176 
    +#>  8 GSM1944950 Caucasian              Caucasian               0.00174    0.00223 
    +#>  9 GSM1944951 Caucasian              Caucasian               0.000962   0.00231 
    +#> 10 GSM1944952 Caucasian              Caucasian               0.00287    0.00356 
    +#> # ℹ 14 more rows
    +#> # ℹ abbreviated name: ¹​Predicted_ethnicity_nothresh
    +#> # ℹ 2 more variables: Prob_Caucasian <dbl>, Highest_Prob <dbl>
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/content/projects/planet/sitemap.xml b/content/projects/planet/sitemap.xml new file mode 100644 index 0000000..b549599 --- /dev/null +++ b/content/projects/planet/sitemap.xml @@ -0,0 +1,60 @@ + + + + /404.html + + + /articles/index.html + + + /articles/planet.html + + + /authors.html + + + /index.html + + + /news/index.html + + + /reference/ageCpGs.html + + + /reference/ethnicityCpGs.html + + + /reference/index.html + + + /reference/pipe.html + + + /reference/planet-deprecated.html + + + /reference/planet-package.html + + + /reference/plBetas.html + + + /reference/plCellCpGsFirst.html + + + /reference/plCellCpGsThird.html + + + /reference/plColors.html + + + /reference/plPhenoData.html + + + /reference/predictAge.html + + + /reference/predictEthnicity.html + + diff --git a/data/sharing.json b/data/sharing.json new file mode 100644 index 0000000..f3cb1d2 --- /dev/null +++ b/data/sharing.json @@ -0,0 +1,62 @@ +{ + "email": { + "icon": "email", + "title": "sharing.email", + "url": "mailto:?body=%s&subject=%s" + }, + "facebook": { + "icon": "facebook", + "title": "sharing.facebook", + "url": "https://www.facebook.com/sharer/sharer.php?u=%s"e=%s" + }, + "linkedin": { + "icon": "linkedin", + "title": "sharing.linkedin", + "url": "https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s" + }, + "mastodon": { + "icon": "mastodon", + "title": "sharing.mastodon", + "url": "https://tootpick.org/#text=%s %s" + }, + "pinterest": { + "icon": "pinterest", + "title": "sharing.pinterest", + "url": "https://pinterest.com/pin/create/bookmarklet/?url=%s&description=%s" + }, + "reddit": { + "icon": "reddit", + "title": "sharing.reddit", + "url": "https://reddit.com/submit/?url=%s&resubmit=true&title=%s" + }, + "twitter": { + "icon": "twitter", + "title": "sharing.twitter", + "url": "https://twitter.com/intent/tweet/?url=%s&text=%s" + }, + "x-twitter": { + "icon": "x-twitter", + "title": "sharing.x-twitter", + "url": "https://x.com/intent/tweet/?url=%s&text=%s" + }, + "threads": { + "icon": "threads", + "title": "sharing.threads", + "url": "https://www.threads.net/intent/post?text=%s %s" + }, + "telegram": { + "icon": "telegram", + "title": "sharing.telegram", + "url": "https://telegram.me/share/url?text=%s&url=%s" + }, + "line": { + "icon": "line", + "title": "sharing.line", + "url": "https://line.me/R/share?text=%s%s" + }, + "weibo": { + "icon": "weibo", + "title": "sharing.weibo", + "url": "https://service.weibo.com/share/share.php?url=%s&appkey=&title=%s&pic=&ralateUid=&lang" + } +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..14f3bdf --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module wvictor14.github.io + +go 1.22.3 + +require github.com/jpanther/congo/v2 v2.8.2 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..c5a7146 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/jpanther/congo/v2 v2.8.2 h1:UNg7225ZqLSt9zu0xBOh5iM9TXnuNG1Ta9eSsioHTEE= +github.com/jpanther/congo/v2 v2.8.2/go.mod h1:1S7DRoO1ZYS4YUdFd1LjTkdyjQwsjFWd8TqSfz3Jd+M= diff --git a/themes/congo/.gitignore b/themes/congo/.gitignore new file mode 100644 index 0000000..935cec0 --- /dev/null +++ b/themes/congo/.gitignore @@ -0,0 +1,23 @@ +### Node ### +# Dependency directories +node_modules/ + +### Hugo ### +# Generated files by hugo +**/public/ +**/resources/_gen/ + +# Executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +# Temporary lock file while building +.hugo_build.lock + +### Congo ### +# Lighthouse generated output +.lighthouseci + +# Project specific files +TODO diff --git a/themes/congo/.prettierignore b/themes/congo/.prettierignore new file mode 100644 index 0000000..40dc37e --- /dev/null +++ b/themes/congo/.prettierignore @@ -0,0 +1,9 @@ +/assets/css/compiled/ +/assets/lib/ + +/layouts/_default/_markup/*.html +/layouts/partials/picture.html +/layouts/shortcodes/figure.html +/layouts/shortcodes/screenshot.html + +/exampleSite/content/docs/version-2/lighthouse.html diff --git a/themes/congo/.prettierrc b/themes/congo/.prettierrc new file mode 100644 index 0000000..7b975db --- /dev/null +++ b/themes/congo/.prettierrc @@ -0,0 +1,18 @@ +{ + "plugins": ["prettier-plugin-go-template", "prettier-plugin-tailwindcss"], + "goTemplateBracketSpacing": true, + "htmlWhitespaceSensitivity": "css", + "printWidth": 100, + "singleQuote": false, + "tabWidth": 2, + "useTabs": false, + "trailingComma": "es5", + "overrides": [ + { + "files": ["*.html", "layouts/_default/*.json"], + "options": { + "parser": "go-template" + } + } + ] +} diff --git a/themes/congo/CHANGELOG.md b/themes/congo/CHANGELOG.md new file mode 100644 index 0000000..d7e737d --- /dev/null +++ b/themes/congo/CHANGELOG.md @@ -0,0 +1,947 @@ +# Changelog + +All notable changes to Congo will be documented in this file. Things that need particular attention when upgrading from a prior version are marked ⚠️. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added + +- Umami Analytics support ([#832](https://github.com/jpanther/congo/pull/832)) +- Theme parameter to set a default HTML theme colour ([#849](https://github.com/jpanther/congo/pull/849)) +- New icon for `bluesky` ([#851](https://github.com/jpanther/congo/pull/851)) +- Support for article sharing to Threads ([#869](https://github.com/jpanther/congo/issues/869)) + +### Changed + +- Upgrade to Typography v0.5.13 ([#864](https://github.com/jpanther/congo/pull/864)) + +### Fixed + +- Featured images overlap page title when article metadata hidden ([#827](https://github.com/jpanther/congo/issues/827)) +- Inconsistent picture rendering between `figure` shortcode and Markdown render hook ([#828](https://github.com/jpanther/congo/issues/828)) +- Animated GIF files are static when `enableImageWebp` is enabled ([#866](https://github.com/jpanther/congo/issues/866)) +- Next article pagination link animation is inverted ([#870](https://github.com/jpanther/congo/issues/870)) + +## [2.8.2] - 2024-04-17 + +### Added + +- Tamil translation ([#830](https://github.com/jpanther/congo/pull/830)) +- Vietnamese translation ([#845](https://github.com/jpanther/congo/pull/845)) +- Swedish translation ([#852](https://github.com/jpanther/congo/pull/852)) + +### Changed + +- Upgrade to KaTeX v0.16.10 ([#839](https://github.com/jpanther/congo/pull/839)) +- Upgrade to Typography v0.5.12 ([#841](https://github.com/jpanther/congo/pull/841), [#860](https://github.com/jpanther/congo/pull/860)) +- Upgrade to Tailwind v3.4.3 ([#843](https://github.com/jpanther/congo/pull/843)) + +### Fixed + +- Background color inconsistent on mobile when dark mode enabled ([#796](https://github.com/jpanther/congo/issues/796)) + +## [2.8.1] - 2024-03-09 + +### Changed + +- Upgrade to ChartJS v4.4.2 ([#817](https://github.com/jpanther/congo/pull/817)) +- Upgrade to Mermaid v10.9.0 ([#825](https://github.com/jpanther/congo/pull/825)) + +### Fixed + +- Table of Contents missing left border detail ([#794](https://github.com/jpanther/congo/issues/794)) +- `x-twitter` option missing when using sharing links ([#809](https://github.com/jpanther/congo/issues/809)) +- Chinese default config contains incorrect `author` block name ([#807](https://github.com/jpanther/congo/pull/807)) +- Links in articles are prefixed with a blank space ([#813](https://github.com/jpanther/congo/pull/813)) +- HTML tables would not fill the container width on desktop ([#826](https://github.com/jpanther/congo/issues/826)) + +## [2.8.0] - 2024-01-22 + +### Added + +- Quicklink support ([#646](https://github.com/jpanther/congo/pull/646)) +- Automatic support for WebP images ([#693](https://github.com/jpanther/congo/pull/693)) +- Warning when building if links to Markdown files cannot be resolved ([#691](https://github.com/jpanther/congo/pull/691)) +- Ability to share articles to Telegram and Line ([#719](https://github.com/jpanther/congo/pull/719)) +- New icons for `line`, `google-scholar`, `mendeley` and `weibo` ([#719](https://github.com/jpanther/congo/pull/719), [#755](https://github.com/jpanther/congo/pull/755), [#756](https://github.com/jpanther/congo/pull/756)) +- Weibo sharing links ([#756](https://github.com/jpanther/congo/pull/756)) +- Support for Tailwind '950' colour variants ([#751](https://github.com/jpanther/congo/pull/751)) +- Table of contents will now scroll if taller than the browser height ([#733](https://github.com/jpanther/congo/pull/733)) +- External URL article stubs now auto-redirect if leaf pages are generated ([#778](https://github.com/jpanther/congo/pull/778)) +- Korean translation ([#731](https://github.com/jpanther/congo/pull/731)) +- Chinese translation of Example site and Docs ([#776](https://github.com/jpanther/congo/pull/776)) + +### Changed + +- ⚠️ Hugo extended version is now required when building sites +- ⚠️ Author params block in language configuration has been moved to `params.author` ([#704](https://github.com/jpanther/congo/pull/704)) +- Refactored image logic into a new `picture.html` partial ([#693](https://github.com/jpanther/congo/pull/693)) +- Upgrade to ChartJS v4.4.1 ([#736](https://github.com/jpanther/congo/pull/736)) +- Upgrade to Tailwind v3.4.1 ([#737](https://github.com/jpanther/congo/pull/737), [#752](https://github.com/jpanther/congo/pull/752), [#759](https://github.com/jpanther/congo/pull/759), [#774](https://github.com/jpanther/congo/pull/774)) +- Upgrade to Mermaid v10.7.0 ([#782](https://github.com/jpanther/congo/pull/782)) +- Updated Japanese translation ([#750](https://github.com/jpanther/congo/pull/750)) + +### Fixed + +- Hamburger menu is not dismissed when links are clicked ([#705](https://github.com/jpanther/congo/pull/705)) +- KaTeX, table and code elements wider than the page are not formatted correctly ([#753](https://github.com/jpanther/congo/pull/753)) +- 'ß' character is output at the top of articles ([#764](https://github.com/jpanther/congo/pull/764)) +- Article metadata element is output when there is no metadata to display ([#786](https://github.com/jpanther/congo/pull/786)) +- Header elements not vertically centered when using locale switcher ([#788](https://github.com/jpanther/congo/pull/788)) + +### Removed + +- Fathom Analytics custom domain parameter, as this is no longer supported by Fathom + +## [2.7.6] - 2023-11-26 + +### Fixed + +- Some Mermaid diagram elements not styled correctly in dark mode ([#706](https://github.com/jpanther/congo/issues/706)) + +## [2.7.5] - 2023-11-25 + +### Added + +- Ukrainian translation ([#703](https://github.com/jpanther/congo/pull/703)) +- Bulgarian translation ([#718](https://github.com/jpanther/congo/pull/718)) + +### Changed + +- Updated Dutch translation ([#696](https://github.com/jpanther/congo/pull/696)) +- Upgrade to Mermaid v10.6.1 ([#697](https://github.com/jpanther/congo/pull/697)) + +### Fixed + +- Some files have unnecessary execute permissions ([#714](https://github.com/jpanther/congo/pull/714)) +- Empty block is output when locale switcher is hidden ([#699](https://github.com/jpanther/congo/pull/699)) + +## [2.7.4] - 2023-11-05 + +### Fixed + +- Links with non-whitespace characters preceeding them are prefixed with a space ([#695](https://github.com/jpanther/congo/issues/695)) + +## [2.7.3] - 2023-10-31 + +### Fixed + +- Article metadata HTML is output as text when using Hugo v0.120.0 ([#689](https://github.com/jpanther/congo/pull/689)) + +## [2.7.2] - 2023-10-26 + +### Changed + +- Upgrade to Tailwind v3.3.5 ([#681](https://github.com/jpanther/congo/pull/681), [#686](https://github.com/jpanther/congo/pull/686)) +- Upgrade to Mermaid v10.6.0 ([#684](https://github.com/jpanther/congo/pull/684)) +- Upgrade to FuseJS v7.0.0 ([#685](https://github.com/jpanther/congo/pull/685)) + +### Fixed + +- Empty block is output when locale switcher is hidden ([#678](https://github.com/jpanther/congo/issues/678)) +- Extra whitespace added after links ([#679](https://github.com/jpanther/congo/issues/679)) + +## [2.7.1] - 2023-10-24 + +### Changed + +- Minor refactor to improve memory efficiency in search results ([#650](https://github.com/jpanther/congo/pull/650)) +- Links in Markdown content are now portable ([#655](https://github.com/jpanther/congo/pull/655)) + +### Fixed + +- JavaScript error setting theme colour when site is loaded in dark mode ([#676](https://github.com/jpanther/congo/issues/676)) + +## [2.7.0] - 2023-10-23 + +### Added + +- New portable locale picker that can be placed in any menu using the `locale` action ([#583](https://github.com/jpanther/congo/issues/583)) +- New icons for `chevron-down`, `chevron-up`, `globe`, `translate`, `coffee` and `x-twitter` ([#669](https://github.com/jpanther/congo/pull/669)) +- Plausible Analytics support ([#584](https://github.com/jpanther/congo/pull/584)) +- Spanish translation of example site samples ([#606](https://github.com/jpanther/congo/pull/606)) +- Japanese translation of docs and example site ([#618](https://github.com/jpanther/congo/pull/618)) +- German translation of example site ([#631](https://github.com/jpanther/congo/pull/631)) + +### Changed + +- ⚠️ Renamed the `params.rtl` language parameter to `languageDirection` as this is now supported by Hugo ([#583](https://github.com/jpanther/congo/issues/583)) +- Robots.txt file now allows all by default without concern for whether the environment is set to production ([#620](https://github.com/jpanther/congo/pull/620)) +- Refactored the `head.html` partial to improve perceived performance on page load +- Upgrade to Mermaid v10.5.1 ([#577](https://github.com/jpanther/congo/pull/577), [#582](https://github.com/jpanther/congo/pull/582), [#626](https://github.com/jpanther/congo/pull/626), [#638](https://github.com/jpanther/congo/pull/638), [#663](https://github.com/jpanther/congo/pull/663), [#674](https://github.com/jpanther/congo/pull/674)) +- Upgrade to KaTeX v0.16.9 ([#590](https://github.com/jpanther/congo/pull/590), [#664](https://github.com/jpanther/congo/pull/664)) +- Upgrade to Tailwind v3.3.3 ([#602](https://github.com/jpanther/congo/pull/602)) +- Upgrade to ChartJS v4.3.3 ([#616](https://github.com/jpanther/congo/pull/616), [#627](https://github.com/jpanther/congo/pull/627), [#635](https://github.com/jpanther/congo/pull/635)) +- Upgrade to Typography v0.5.10 ([#641](https://github.com/jpanther/congo/pull/641)) + +### Fixed + +- Prominent images in content and site layout are lazy loaded ([#591](https://github.com/jpanther/congo/issues/591)) +- TypeError is output to console when viewing leaf pages ([#596](https://github.com/jpanther/congo/issues/596)) +- URL to Congo project in footer used deprecated git.io short link ([#605](https://github.com/jpanther/congo/issues/605)) +- Various typos in the docs and example site ([#608](https://github.com/jpanther/congo/pull/608), [#609](https://github.com/jpanther/congo/pull/609), [#613](https://github.com/jpanther/congo/pull/613)) +- Incorrect `render` value is used in the 'external' archetype ([#630](https://github.com/jpanther/congo/pull/630)) +- Images are missing `width` and `height` attributes ([#645](https://github.com/jpanther/congo/pull/645)) +- Extended head partial does not include page context ([#658](https://github.com/jpanther/congo/pull/658)) +- Taxonomy tags aren't padded when wrapping onto a new line ([#671](https://github.com/jpanther/congo/pull/671)) +- Minor CSS improvements, mainly relating to RTL styling +- Minor typos + +### Removed + +- Locales no longer appear next to the site name/logo as they are now part of the menu system ([#583](https://github.com/jpanther/congo/issues/583)) +- Language parameters `isoCode` and `displayName` are no longer supported ([#583](https://github.com/jpanther/congo/issues/583)) +- Meta `content-language` tag as it was not conveying the intended data (which is already included via the HTML `lang` attribute) + +## [2.6.1] - 2023-06-04 + +### Changed + +- Images are now marked for lazy loading by default ([#552](https://github.com/jpanther/congo/pull/552)) +- Current language is no longer displayed in language selection ([#565](https://github.com/jpanther/congo/issues/565)) +- Updated Simplified Chinese (China) translation ([#573](https://github.com/jpanther/congo/pull/573)) + +### Fixed + +- Language selection repeats current language on multilingual sites instead of linking to translated content ([#565](https://github.com/jpanther/congo/issues/565)) +- Icon padding inconsistent when using `--minify` option to build site ([#568](https://github.com/jpanther/congo/pull/568)) +- Copyright string in the language configuration does not apply ([#572](https://github.com/jpanther/congo/issues/572)) +- Upgrade to Mermaid v10.2.1 ([#569](https://github.com/jpanther/congo/pull/569)) + +## [2.6.0] - 2023-05-25 + +### Added + +- Support for Hugo v0.112.0 +- Ability to specify an alternate logo image when dark appearance is active ([#533](https://github.com/jpanther/congo/pull/533), [#543](https://github.com/jpanther/congo/pull/543)) +- Ability to specify the hashing algorithm that is used when fingerprinting assets ([#478](https://github.com/jpanther/congo/issues/478)) +- Arabic translation ([#521](https://github.com/jpanther/congo/pull/521)) +- Slovak translation ([#541](https://github.com/jpanther/congo/pull/541)) +- Czech translation ([#541](https://github.com/jpanther/congo/pull/541)) + +### Changed + +- ⚠️ Some parameters in the root of the Languages config file have been nested under the `params` block +- Search results now respect `showDate` value when displaying article metadata ([#511](https://github.com/jpanther/congo/pull/511)) +- Adopted new Tailwind logical properties for RTL styling +- Article sharing links now open in a new tab/window +- Updated Dutch translation ([#544](https://github.com/jpanther/congo/pull/544)) +- Upgrade to Tailwind v3.3.1 ([#523](https://github.com/jpanther/congo/pull/523)) +- Upgrade to KaTeX v0.16.7 ([#538](https://github.com/jpanther/congo/pull/538), [#549](https://github.com/jpanther/congo/pull/549)) +- Upgrade to Chart.js v4.3.0 ([#551](https://github.com/jpanther/congo/pull/551)) +- Upgrade to Mermaid v10.2.0 ([#563](https://github.com/jpanther/congo/pull/563)) + +### Fixed + +- Some `srcset` values are broken when using Hugo `--minify` option ([#508](https://github.com/jpanther/congo/pull/508)) +- Author images are cropped off-centre during image processing ([#527](https://github.com/jpanther/congo/pull/527)) +- Site doesn't build when using Hugo v0.112.0 ([#561](https://github.com/jpanther/congo/pull/561)) + +## [2.5.4] - 2023-03-20 + +### Added + +- Polish translation ([#497](https://github.com/jpanther/congo/pull/497)) + +### Changed + +- Updated Russian translation ([#502](https://github.com/jpanther/congo/pull/502)) + +### Fixed + +- Bengali translation prevents site building in certain configurations ([#503](https://github.com/jpanther/congo/issues/503)) + +## [2.5.3] - 2023-03-05 + +### Added + +- Russian translation ([#485](https://github.com/jpanther/congo/pull/485)) + +### Changed + +- Updated German translation ([#475](https://github.com/jpanther/congo/pull/475)) +- Upgrade to Chart.js v4.2.1 ([#472](https://github.com/jpanther/congo/pull/472)) +- Upgrade to Mermaid v9.4.0 ([#473](https://github.com/jpanther/congo/pull/473)) +- Upgrade to Tailwind v3.2.7 ([#491](https://github.com/jpanther/congo/pull/491)) + +### Fixed + +- Caching the analytics partial prevents some advanced analytics use cases ([#480](https://github.com/jpanther/congo/issues/480)) + +## [2.5.2] - 2023-01-24 + +### Added + +- New icons for `mobile` and `phone` + +### Fixed + +- Author links containing URLs in non-hypertext schemes (ie. `tel:`) would not be created as links ([#452](https://github.com/jpanther/congo/pull/452)) +- Extra whitespace inserted after links within Markdown content ([#456](https://github.com/jpanther/congo/pull/456)) + +## [2.5.1] - 2023-01-20 + +### Changed + +- External links are now automatically appended with `rel="noreferrer noopener"` ([#446](https://github.com/jpanther/congo/pull/446)) +- Updated Traditional Chinese (Taiwan) translation ([#448](https://github.com/jpanther/congo/pull/448)) +- Upgrade to Chart.js v4.2.0 ([#449](https://github.com/jpanther/congo/pull/449)) + +### Fixed + +- Page alignment off-centre when opening hamburger menu at wide viewports ([#445](https://github.com/jpanther/congo/issues/445)) + +## [2.5.0] - 2023-01-17 + +### Added + +- Support for icons in menus including support for links styled as an icon by itself or an icon with text +- Search and appearance switcher links can now be fully customised and positioned anywhere in the menu +- Front matter support for specifying article thumbnails, covers and featured image details (including filename pattern, alt text and caption) +- Two new colour schemes - `cherry` and `sapphire` +- Support for SVG assets as article thumbnails, covers and featured images +- Front matter keywords support on a per article basis +- Indonesian translation ([#398](https://github.com/jpanther/congo/pull/398)) +- Mastodon sharing links ([#405](https://github.com/jpanther/congo/pull/405)) +- `homepage.recentLimit` parameter to adjust the maximum number of recent items listed on the homepage ([#411](https://github.com/jpanther/congo/pull/411)) + +### Changed + +- Images smaller than the article width are no longer resized to fill the content area and will now simply align centre ([#394](https://github.com/jpanther/congo/pull/394)) +- Upgrade to KaTeX v0.16.4 ([#414](https://github.com/jpanther/congo/pull/414)) +- Upgrade to Mermaid v9.3.0 ([#419](https://github.com/jpanther/congo/pull/419)) +- Upgrade to Chart.js v4.1.2 ([#420](https://github.com/jpanther/congo/pull/420), [#434](https://github.com/jpanther/congo/pull/434)) +- Upgrade to Typography v0.5.9 ([#437](https://github.com/jpanther/congo/pull/437)) + +### Fixed + +- `mainSections` parameter is language dependent and is not referenced from `params.toml` ([#376](https://github.com/jpanther/congo/pull/376)) +- Code highlight background cut off in Google Chrome when overflowing content area ([#383](https://github.com/jpanther/congo/pull/383)) +- Social icons shift position during CSS transition when hovered in Safari ([#396](https://github.com/jpanther/congo/pull/396)) +- Hamburger navigation menu is misaligned in mobile browsers ([#399](https://github.com/jpanther/congo/pull/399)) +- Error when attempting to resize SVG assets in page bundles ([#427](https://github.com/jpanther/congo/pull/427)) +- Appearance switcher missing `aria-label` ([#438](https://github.com/jpanther/congo/pull/438)) +- Article links missing `alt` text and `aria-label` ([#439](https://github.com/jpanther/congo/pull/439)) +- Line height in article tag list would cause overlap when wrapping to a new line ([#444](https://github.com/jpanther/congo/pull/444)) +- Figure shortcode would not apply `class` or `href` attribtues in some cases +- Charts displaying with incorrect theme colours + +## [2.4.2] - 2022-11-22 + +### Added + +- Dutch translation ([#371](https://github.com/jpanther/congo/pull/371)) +- HTML `theme-color` meta tag to adjust browser colours according to the active Congo colour scheme ([#379](https://github.com/jpanther/congo/pull/379)) + +### Changed + +- Extended head and footer partials are no longer cached during builds +- Upgrade to Chart.js v4.0.1 ([#373](https://github.com/jpanther/congo/pull/373)) + +### Fixed + +- Code highlight background cut off when overflowing content area ([#374](https://github.com/jpanther/congo/issues/374)) +- 'Description' HTML meta tag not set from article description ([#378](https://github.com/jpanther/congo/issues/378)) + +## [2.4.1] - 2022-11-14 + +### Changed + +- Upgrade to Tailwind v3.2.4 ([#368](https://github.com/jpanther/congo/pull/368)) + +### Fixed + +- List page doesn't render nested list pages ([#365](https://github.com/jpanther/congo/issues/365)) +- Pagination is duplicated on term pages ([#366](https://github.com/jpanther/congo/issues/366)) +- Link to last pagination page sometimes displays twice +- Recent articles would sometimes display less than five articles + +## [2.4.0] - 2022-11-10 + +### Added + +- Support for article thumbnails, covers and featured images +- Hybrid header layout that switches between the hamburger and basic menus at appropriate viewport sizes +- Traditional Chinese (Taiwan) translation ([#262](https://github.com/jpanther/congo/pull/262)) +- New `list.paginationWidth` parameter to specify how many pagination links are generated before they are truncated +- Site title display can be toggled on or off independently, allowing for it to be displayed alongside the site logo or removed entirely +- Tailwind plugin for Prettier to standardise the order of CSS classes ([#268](https://github.com/jpanther/congo/pull/268)) +- External links in article content will now open in a new browser tab ([#312](https://github.com/jpanther/congo/pull/312)) +- Independent control over the display of taxonomy listings on article and list pages ([#326](https://github.com/jpanther/congo/pull/326)) +- Button shortcode now supports an optional `download` parameter to instruct browsers to directly download resources rather than navigate to a URL ([#349](https://github.com/jpanther/congo/pull/349)) +- Minor style and layout improvements + +### Changed + +- ⚠️ The `logo` parameter has moved under the `header` group and is now set using `header.logo` +- ⚠️ Simplified Chinese (China) language code has changed from `zh` to `zh-cn` +- Site logo is now in its own `logo.html` partial to allow it to be easily overridden ([#322](https://github.com/jpanther/congo/pull/322)) +- Upgrade to Chart.js v3.9.1 ([#261](https://github.com/jpanther/congo/pull/261)) +- Upgrade to Tailwind v3.2.2 ([#265](https://github.com/jpanther/congo/pull/265), [#333](https://github.com/jpanther/congo/pull/333), [#352](https://github.com/jpanther/congo/pull/352)) +- Upgrade to Mermaid v9.2.2 ([#272](https://github.com/jpanther/congo/pull/272), [#279](https://github.com/jpanther/congo/pull/279), [#296](https://github.com/jpanther/congo/pull/296), [#339](https://github.com/jpanther/congo/pull/339), [#360](https://github.com/jpanther/congo/pull/360)) +- Upgrade to KaTeX v0.16.3 ([#284](https://github.com/jpanther/congo/pull/284), [#334](https://github.com/jpanther/congo/pull/334)) +- Upgrade to Typography v0.5.8 ([#287](https://github.com/jpanther/congo/pull/287), [#292](https://github.com/jpanther/congo/pull/292), [#353](https://github.com/jpanther/congo/pull/353)) + +### Fixed + +- Appearance switcher title doesn't update when switching appearance ([#235](https://github.com/jpanther/congo/issues/235)) +- Article updated date logic doesn't consider formatted date values ([#259](https://github.com/jpanther/congo/issues/259)) +- Error calling Paginate when attempting to generate a site with no taxonomies ([#289](https://github.com/jpanther/congo/issues/289)) +- Multilingual links are spaced incorrectly when using Hugo minify ([#298](https://github.com/jpanther/congo/issues/298)) +- Pagination links overflow the page area on large datasets ([#299](https://github.com/jpanther/congo/issues/299)) +- Embedded content disappears when displayed at certain viewport sizes ([#302](https://github.com/jpanther/congo/issues/302), [#335](https://github.com/jpanther/congo/issues/335)) +- Order of articles on list pages would not follow Hugo conventions when grouped by year ([#313](https://github.com/jpanther/congo/issues/313)) +- Button shortcode overlaps table of contents when at the top of the article content ([#337](https://github.com/jpanther/congo/issues/337)) +- Providing a `colorScheme` value containing uppercase characters breaks some deployments ([#347](https://github.com/jpanther/congo/issues/347)) + +## [2.3.1] - 2022-07-30 + +### Added + +- Japanese translation ([#234](https://github.com/jpanther/congo/pull/234)) + +### Changed + +- Upgrade to Mermaid v9.1.3 ([#233](https://github.com/jpanther/congo/pull/233)) +- Upgrade to Tailwind v3.1.6 ([#245](https://github.com/jpanther/congo/pull/245)) +- Upgrade to Typography v0.5.4 ([#246](https://github.com/jpanther/congo/pull/246)) +- Upgrade to Chart.js v3.8.2 ([#247](https://github.com/jpanther/congo/pull/247)) + +### Fixed + +- Main content misaligned when hamburger menu is opened at large viewport sizes + +## [2.3.0] - 2022-06-27 + +### Added + +- Header layouts for selecting a preferred header style +- Hamburger menu header layout with popover main menu ([#167](https://github.com/jpanther/congo/discussions/167), [#88](https://github.com/jpanther/congo/discussions/88), [#43](https://github.com/jpanther/congo/discussions/43), [#29](https://github.com/jpanther/congo/discussions/29)) +- Front matter support for showing or hiding comments on a per article basis ([#207](https://github.com/jpanther/congo/discussions/207)) +- `showCopyright` and `showThemeAttribution` parameters that allow more control over how the site footer is displayed ([#192](https://github.com/jpanther/congo/discussions/192)) +- `bars` SVG icon + +### Changed + +- ⚠️ Footer configuration parameters are now in their own `footer` sub-group +- Search will now return results for all page types, including lists and taxonomies +- Comments partials are now better considered within the page layout +- Reduced whitespace at the top of the main content block ([#226](https://github.com/jpanther/congo/discussions/226)) +- Upgrade to Tailwind v3.1.4 ([#225](https://github.com/jpanther/congo/pull/225)) + +### Fixed + +- Hugo v0.101.0 breaks the link to the homepage ([#230](https://github.com/jpanther/congo/issues/230)) +- Search link does not appear in header if main menu has no items to display +- Search only returns results in the primary language when multiple languages are available ([#229](https://github.com/jpanther/congo/issues/229)) +- Arrow on external article links not aligned correctly when title wraps onto multiple lines +- Arrow on external article links points the wrong direction for RTL languages +- Scroll to top misaligned with the footer at small viewport heights +- Link to homepage would be incorrect in some deployments if `baseURL` contained sub-directories in the path + +## [2.2.3] - 2022-06-22 + +### Changed + +- Profile image alt text now uses author name when available + +### Fixed + +- Search not working when `baseURL` does not end with a forward slash ([#224](https://github.com/jpanther/congo/pull/224)) +- Author `headline` parameter not correctly displaying Markdown or Emoji content + +## [2.2.2] - 2022-06-16 + +### Added + +- Breadcrumb display can now be can now be specified in front matter for articles and list pages +- Italian translation ([#209](https://github.com/jpanther/congo/pull/209)) + +### Changed + +- Upgrade to Chart.js v3.8.0 ([#204](https://github.com/jpanther/congo/pull/204)) +- Upgrade to KaTeX v0.16.0 ([#208](https://github.com/jpanther/congo/pull/208)) +- Upgrade to Mermaid v9.1.2 ([#214](https://github.com/jpanther/congo/pull/214)) + +## [2.2.1] - 2022-05-25 + +### Changed + +- Upgrade to Mermaid v9.1.1 ([#194](https://github.com/jpanther/congo/pull/194)) +- Upgrade to Fuse.js v6.6.2 ([#195](https://github.com/jpanther/congo/pull/195)) +- Upgrade KaTeX to v0.15.6 ([#202](https://github.com/jpanther/congo/pull/202)) + +### Fixed + +- Main content area doesn't grow to window height ([#201](https://github.com/jpanther/congo/issues/201)) + +## [2.2.0] - 2022-05-09 + +### Added + +- Finnish translation ([#185](https://github.com/jpanther/congo/pull/185)) + +### Changed + +- Updated French translation ([#178](https://github.com/jpanther/congo/pull/178)) +- Analytics partial now checks `hugo.IsProduction` instead of `.Site.IsServer` before including scripts ([#179](https://github.com/jpanther/congo/issues/179)) +- Upgrade to Tailwind v3.0.24 ([#176](https://github.com/jpanther/congo/pull/176)) +- Upgrade to Mermaid v9.0.1 ([#183](https://github.com/jpanther/congo/pull/183)) +- Upgrade to Fuse.js v6.6.1 ([#189](https://github.com/jpanther/congo/pull/189)) + +### Fixed + +- Code blocks are rendered incorrectly in RTL languages ([#164](https://github.com/jpanther/congo/issues/164)) +- Scroll to top link overlaps footer menu on mobile devices when there are several links ([#172](https://github.com/jpanther/congo/issues/172)) + +### Removed + +- `hugo.Generator` from HTML `` so that the [default Hugo generator behaviour](https://gohugo.io/getting-started/configuration/#disablehugogeneratorinject) works as expected ([#179](https://github.com/jpanther/congo/issues/179)) + +## [2.1.3] - 2022-04-12 + +### Added + +- Hungarian translation ([#170](https://github.com/jpanther/congo/pull/170)) + +### Fixed + +- Scroll to top link overlaps footer menu on mobile devices ([#172](https://github.com/jpanther/congo/issues/172)) + +## [2.1.2] - 2022-04-08 + +### Added + +- Romanian translation ([#168](https://github.com/jpanther/congo/pull/168)) + +### Changed + +- Upgrade to Mermaid v9.0.0 + +## [2.1.1] - 2022-04-03 + +### Added + +- Print styles to hide unnecessary elements when printing ([#155](https://github.com/jpanther/congo/pull/155)) +- Hebrew translation ([#163](https://github.com/jpanther/congo/pull/163)) + +### Fixed + +- Footer menu displays incorrectly in RTL languages ([#165](https://github.com/jpanther/congo/pull/165)) + +## [2.1.0] - 2022-03-14 + +### Added + +- Simple page layout for creating full-width content ([#139](https://github.com/jpanther/congo/issues/139)) +- Portuguese (Portugal) translation ([#144](https://github.com/jpanther/congo/pull/144)) + +### Changed + +- Upgrade SVG icons to FontAwesome 6: + - New icons for Hashnode, bug, check, comment, light bulb, list, pencil, skull, tag, and information. ([#136](https://github.com/jpanther/congo/discussions/136)) + - ⚠️ The `exclamation-triangle` icon has been renamed `triangle-exclamation` + - ⚠️ The `times` icon has been renamed `xmark` + - ⚠️ The `stackoverflow` icon has been renamed `stack-overflow` +- Upgrade KaTeX to v0.15.3 +- Markdown images and `figure` shortcode now search the `assets/` directory if an image cannot be found in page bundle ([#126](https://github.com/jpanther/congo/issues/126)) +- Markdown images and `figure` shortcode now fallback to static assets if an image is not provided as a Hugo resource ([#126](https://github.com/jpanther/congo/issues/126)) +- Taxonomy term listings now honour the `groupByYear` parameter ([#145](https://github.com/jpanther/congo/pull/145)) +- The `alert` shortcode now allows its icon to be specified as a parameter + +### Fixed + +- Dark appearance shown even when default appearance set to light and auto switching is disabled ([#149](https://github.com/jpanther/congo/issues/149)) + +## [2.0.5] - 2022-02-20 + +### Added + +- Bengali translation ([#115](https://github.com/jpanther/congo/pull/115)) + +### Changed + +- Upgrade to Tailwind v3.0.23 and Typography v0.5.2 +- Upgrade to Mermaid v8.14.0 +- Upgrade to Chart.js v3.7.1 + +### Fixed + +- Updated date is displayed even when it is the same as published date +- Structured data on homepage unparsable by Google ([#113](https://github.com/jpanther/congo/issues/113)) +- Underline styles not displaying correctly in some browsers ([#125](https://github.com/jpanther/congo/issues/125)) + +## [2.0.4] - 2022-02-09 + +### Changed + +- Updated German translation ([#110](https://github.com/jpanther/congo/pull/110)) +- Upgrade to Tailwind v3.0.19 + +### Fixed + +- Main content area not growing to fill screen vertically +- Search results not cleared when search is dismissed ([#109](https://github.com/jpanther/congo/pull/109)) +- Emoji strings not displaying in search results + +## [2.0.3] - 2022-02-07 + +### Changed + +- Updated Turkish translation ([#105](https://github.com/jpanther/congo/pull/105)) +- Updated Spanish translation ([#106](https://github.com/jpanther/congo/pull/106)) + +### Fixed + +- Markdown images and `figure` shortcode fail to load resource when providing an external URL source +- HTML `figcaption` tags are output for Markdown images even when a caption is not provided +- Light appearance briefly appears on page load before switching to dark appearance ([#102](https://github.com/jpanther/congo/issues/102)) + +## [2.0.2] - 2022-02-05 + +### Changed + +- Updated French translation ([#100](https://github.com/jpanther/congo/pull/100)) + +### Fixed + +- User's appearance preference is lost on page load when default appearance is dark ([#102](https://github.com/jpanther/congo/issues/102)) +- JavaScript warning when appearance switcher is disabled + +## [2.0.1] - 2022-02-03 + +### Fixed + +- Hugo module error when downloading version 2 +- Emoji strings not displaying in table of contents + +## [2.0.0] - 2022-02-03 + +### Added + +- Multilingual support +- Right-to-left (RTL) language support +- Site search powered by Fuse.js +- Automatic Markdown image resizing and srcset generation +- Performance and Accessibility improvements to achieve perfect Lighthouse scores +- Tables of contents on article pages ([#47](https://github.com/jpanther/congo/discussions/47)) +- Code copy buttons in article content +- Taxonomy and term listings now support Markdown content +- Taxonomies on article and list pages +- Article pagination direction can be inverted +- Author `headline` parameter +- Skip to content and Scroll to top links +- Archetype for generating links to external articles + +### Changed + +- ⚠️ Required Hugo version is now 0.87.0 or later +- ⚠️ Complete rewrite of dark mode to allow more flexibile configuration +- ⚠️ All theme images are now Hugo assets +- ⚠️ Overhauled `figure` shortcode which now resizes images +- Upgrade to Tailwind v3.0.18 +- Inline JavaScript moved to external files +- Improved JSON-LD structured data +- Breadcrumbs now fallback to section name when `title` is not provided +- Minor style and layout improvements + +## [1.6.4] - 2022-01-24 + +### Added + +- Turkish translation ([#90](https://github.com/jpanther/congo/pull/90)) + +### Changed + +- Article updated date formatting and i18n ([#91](https://github.com/jpanther/congo/pull/91)) +- Upgrade to Mermaid v8.13.10 + +### Fixed + +- Article metadata not wrapping at small viewports ([#91](https://github.com/jpanther/congo/pull/91)) + +## [1.6.3] - 2022-01-19 + +### Added + +- Icon for Stack Overflow ([#82](https://github.com/jpanther/congo/pull/82)) + +### Changed + +- Upgrade to Mermaid v8.13.9 +- Upgrade to KaTeX v0.15.2 + +### Fixed + +- Emoji characters in article titles not appearing on list pages and in HTML metadata ([#84](https://github.com/jpanther/congo/pull/84)) + +## [1.6.2] - 2022-01-07 + +### Changed + +- Upgrade to Chart.js v3.7.0 +- Upgrade to Mermaid v8.13.8 + +### Fixed + +- `lead` shortcode not rendering Markdown formatted text ([#73](https://github.com/jpanther/congo/issues/73)) +- JSON-LD keywords data not structured correctly ([#74](https://github.com/jpanther/congo/issues/74)) + +## [1.6.1] - 2021-12-31 + +### Added + +- Icon for Blogger ([#71](https://github.com/jpanther/congo/pull/71)) + +### Fixed + +- Error when building using older Hugo versions ([#65](https://github.com/jpanther/congo/pull/65)) +- Error when serving sites using blogdown ([#66](https://github.com/jpanther/congo/pull/66)) + +## [1.6.0] - 2021-12-21 + +### Added + +- Article word counts ([#57](https://github.com/jpanther/congo/pull/57)) +- Last updated dates on articles +- Icons for Amazon, Apple, Flickr, Google, Kickstarter, Microsoft, Patreon, Telegram, Tumblr and WhatsApp + +### Changed + +- Adjusted contrast of some items to improve accessibility +- Upgrade to Chart.js v3.6.2 +- Upgrade to Mermaid v8.13.6 + +### Fixed + +- Missing ARIA descriptions and alt tags on some images and links + +## [1.5.3] - 2021-11-18 + +### Changed + +- Updated Chinese translation ([#32](https://github.com/jpanther/congo/pull/32)) + +### Fixed + +- Article pagination uses date of current article ([#32](https://github.com/jpanther/congo/pull/32)) + +## [1.5.2] - 2021-11-10 + +### Added + +- German translation ([#27](https://github.com/jpanther/congo/pull/27)) +- Portuguese (Brazil) translation ([#28](https://github.com/jpanther/congo/pull/28)) +- Spanish translation ([#30](https://github.com/jpanther/congo/pull/30)) + +### Fixed + +- Article pagination link spacing ([#26](https://github.com/jpanther/congo/pull/26)) +- Minor icon style issues + +## [1.5.1] - 2021-11-04 + +### Fixed + +- Hugo failing to build site when deploying as a module + +## [1.5.0] - 2021-11-04 + +### Added + +- Chart.js support using `chart` shortcode +- KaTeX support using `katex` shortcode +- Dark mode toggle with new theme parameters for managing light/dark appearance +- French translation ([#18](https://github.com/jpanther/congo/pull/18)) +- Author bio in article footer +- Grouping by year can now be specified in front matter on list pages + +### Changed + +- Site name, author and menus will now render Markdown and Emoji +- Bundled Mermaid for better vendor dependency management +- Mermaid diagrams are now themed to match the configured colour scheme +- Upgrade to Tailwind v2.2.19 + +### Fixed + +- Site logo image dimensions are unconstrained ([#19](https://github.com/jpanther/congo/issues/19)) +- Article summary styled incorrectly in dark mode +- Links containing `code` blocks styled incorrectly + +## [1.4.0] - 2021-10-20 + +### Added + +- Footer menu +- Article summary support +- Slate colour scheme ([#9](https://github.com/jpanther/congo/pull/9)) +- Icons for ORCID and ResearchGate ([#9](https://github.com/jpanther/congo/pull/9)) +- Pinterest sharing links +- Sharing links can now be specified in front matter + +### Changed + +- Main menu is now optional +- Upgrade to Mermaid v8.13.3 +- Upgrade to Tailwind v2.2.17 + +### Fixed + +- Site logo not linked to home page ([#13](https://github.com/jpanther/congo/issues/13)) + +## [1.3.0] - 2021-09-29 + +### Added + +- Site logo support +- Chinese translation ([#2](https://github.com/jpanther/congo/pull/2)) + +### Changed + +- Upgrade to Tailwind v2.2.16 + +## [1.2.1] - 2021-08-26 + +### Added + +- New `robots` parameter to add metadata to guide robots on how to handle specific content + +### Changed + +- URLs are relative by default which allows the theme to be more flexible in different deployment scenarios + +### Fixed + +- Missing dark style for group subheadings on article listings +- Fathom Analytics script included twice when using custom domain +- Recent heading on homepage profile layout misaligned + +## [1.2.0] - 2021-08-22 + +### Added + +- Multiple colour schemes +- Edit links on article pages +- Icons for Foursquare and Pinterest +- Asset fingerprinting and SRI +- CSS minification for custom stylesheets + +### Changed + +- Static assets are now managed through Hugo Pipelines + +### Fixed + +- Minor style issue with `button` shortcode +- Hugo Modules would fail when using default theme config file +- Some content not centred correctly on the profile homepage layout +- Some links missing the correct styles when in Firefox +- `externalUrl` front matter not working on some list pages + +## [1.1.1] - 2021-08-19 + +### Fixed + +- Hotfix for exampleSite and GitHub configuration + +## [1.1.0] - 2021-08-18 + +### Added + +- Breadcrumbs +- i18n support +- Recent articles partial +- CSS transitions +- Hugo module support +- JSON-LD structured metadata + +### Changed + +- ⚠️ Renamed parameter: `homepage.showList` -> `homepage.showRecent` +- ⚠️ Renamed parameter: `homepage.listSections` -> `mainSections` +- ⚠️ Consolidated author configuration parameters into `config.toml` +- General style tweaks to enhance design consistency + +### Fixed + +- URLs being incorrect in some cases when the site is deployed in a subfolder + +## [1.0.0] - 2021-08-16 + +### Added + +- Built with Tailwind CSS JIT for minified stylesheets without any excess code +- Fully responsive layout +- Dark mode (auto-switching based upon browser) +- Highly customisable configuration +- Multiple homepage layouts +- Flexible with any content types, taxonomies and menus +- Ability to link to posts on third-party websites +- Diagrams and visualisations using Mermaid JS +- SVG icons from FontAwesome 5 +- Heading anchors, Buttons, Badges and more +- HTML and Emoji support in articles +- SEO friendly with links for sharing to social media +- RSS feeds +- Fathom Analytics and Google Analytics support +- Favicons support +- Comments support +- Advanced customisation using simple Tailwind colour definitions and styles +- Fully documented + +[Unreleased]: https://github.com/jpanther/congo/compare/v2.8.2...HEAD +[2.8.2]: https://github.com/jpanther/congo/compare/v2.8.1...v2.8.2 +[2.8.1]: https://github.com/jpanther/congo/compare/v2.8.0...v2.8.1 +[2.8.0]: https://github.com/jpanther/congo/compare/v2.7.6...v2.8.0 +[2.7.6]: https://github.com/jpanther/congo/compare/v2.7.5...v2.7.6 +[2.7.5]: https://github.com/jpanther/congo/compare/v2.7.4...v2.7.5 +[2.7.4]: https://github.com/jpanther/congo/compare/v2.7.3...v2.7.4 +[2.7.3]: https://github.com/jpanther/congo/compare/v2.7.2...v2.7.3 +[2.7.2]: https://github.com/jpanther/congo/compare/v2.7.1...v2.7.2 +[2.7.1]: https://github.com/jpanther/congo/compare/v2.7.0...v2.7.1 +[2.7.0]: https://github.com/jpanther/congo/compare/v2.6.1...v2.7.0 +[2.6.1]: https://github.com/jpanther/congo/compare/v2.6.0...v2.6.1 +[2.6.0]: https://github.com/jpanther/congo/compare/v2.5.4...v2.6.0 +[2.5.4]: https://github.com/jpanther/congo/compare/v2.5.3...v2.5.4 +[2.5.3]: https://github.com/jpanther/congo/compare/v2.5.2...v2.5.3 +[2.5.2]: https://github.com/jpanther/congo/compare/v2.5.1...v2.5.2 +[2.5.1]: https://github.com/jpanther/congo/compare/v2.5.0...v2.5.1 +[2.5.0]: https://github.com/jpanther/congo/compare/v2.4.2...v2.5.0 +[2.4.2]: https://github.com/jpanther/congo/compare/v2.4.1...v2.4.2 +[2.4.1]: https://github.com/jpanther/congo/compare/v2.4.0...v2.4.1 +[2.4.0]: https://github.com/jpanther/congo/compare/v2.3.1...v2.4.0 +[2.3.1]: https://github.com/jpanther/congo/compare/v2.3.0...v2.3.1 +[2.3.0]: https://github.com/jpanther/congo/compare/v2.2.3...v2.3.0 +[2.2.3]: https://github.com/jpanther/congo/compare/v2.2.2...v2.2.3 +[2.2.2]: https://github.com/jpanther/congo/compare/v2.2.1...v2.2.2 +[2.2.1]: https://github.com/jpanther/congo/compare/v2.2.0...v2.2.1 +[2.2.0]: https://github.com/jpanther/congo/compare/v2.1.3...v2.2.0 +[2.1.3]: https://github.com/jpanther/congo/compare/v2.1.2...v2.1.3 +[2.1.2]: https://github.com/jpanther/congo/compare/v2.1.1...v2.1.2 +[2.1.1]: https://github.com/jpanther/congo/compare/v2.1.0...v2.1.1 +[2.1.0]: https://github.com/jpanther/congo/compare/v2.0.5...v2.1.0 +[2.0.5]: https://github.com/jpanther/congo/compare/v2.0.4...v2.0.5 +[2.0.4]: https://github.com/jpanther/congo/compare/v2.0.3...v2.0.4 +[2.0.3]: https://github.com/jpanther/congo/compare/v2.0.2...v2.0.3 +[2.0.2]: https://github.com/jpanther/congo/compare/v2.0.1...v2.0.2 +[2.0.1]: https://github.com/jpanther/congo/compare/v2.0.0...v2.0.1 +[2.0.0]: https://github.com/jpanther/congo/compare/v1.6.4...v2.0.0 +[1.6.4]: https://github.com/jpanther/congo/compare/v1.6.3...v1.6.4 +[1.6.3]: https://github.com/jpanther/congo/compare/v1.6.2...v1.6.3 +[1.6.2]: https://github.com/jpanther/congo/compare/v1.6.1...v1.6.2 +[1.6.1]: https://github.com/jpanther/congo/compare/v1.6.0...v1.6.1 +[1.6.0]: https://github.com/jpanther/congo/compare/v1.5.3...v1.6.0 +[1.5.3]: https://github.com/jpanther/congo/compare/v1.5.2...v1.5.3 +[1.5.2]: https://github.com/jpanther/Congo/compare/v1.5.1...v1.5.2 +[1.5.1]: https://github.com/jpanther/Congo/compare/v1.5.0...v1.5.1 +[1.5.0]: https://github.com/jpanther/Congo/compare/v1.4.0...v1.5.0 +[1.4.0]: https://github.com/jpanther/Congo/compare/v1.3.0...v1.4.0 +[1.3.0]: https://github.com/jpanther/Congo/compare/v1.2.1...v1.3.0 +[1.2.1]: https://github.com/jpanther/Congo/compare/v1.2.0...v1.2.1 +[1.2.0]: https://github.com/jpanther/Congo/compare/v1.1.1...v1.2.0 +[1.1.1]: https://github.com/jpanther/congo/compare/v1.1.0...v1.1.1 +[1.1.0]: https://github.com/jpanther/congo/compare/v1.0.0...v1.1.0 +[1.0.0]: https://github.com/jpanther/congo/releases/tag/v1.0.0 diff --git a/themes/congo/CODE_OF_CONDUCT.md b/themes/congo/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..ad2925b --- /dev/null +++ b/themes/congo/CODE_OF_CONDUCT.md @@ -0,0 +1,43 @@ +# Code of Conduct - Congo + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behaviour that contributes to a positive environment for our community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologising to those affected by our mistakes, and learning from the experience +- Focusing on what is best not just for us as individuals, but for the overall community + +Examples of unacceptable behaviour include: + +- The use of sexualised language or imagery, and sexual attention or advances +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying and enforcing our standards of acceptable behaviour and will take appropriate and fair corrective action in response to any instances of unacceptable behaviour. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviours that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported to the [project maintainer](https://github.com/jpanther/). All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the reporter of any incident. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://contributor-covenant.org/), version [1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct/code_of_conduct.md) and [2.0](https://www.contributor-covenant.org/version/2/0/code_of_conduct/code_of_conduct.md), and was generated by [contributing-gen](https://github.com/bttger/contributing-gen). diff --git a/themes/congo/CONTRIBUTING.md b/themes/congo/CONTRIBUTING.md new file mode 100644 index 0000000..71a3d7a --- /dev/null +++ b/themes/congo/CONTRIBUTING.md @@ -0,0 +1,53 @@ +## How to contribute to Congo + +### Bugs & other issues + +#### Found a bug? 🐛 + +- **Ensure the bug has not already been reported** by searching [GitHub Issues](https://github.com/jpanther/congo/issues). If there's already an open issue, feel free to add any extra information you might have about the issue. +- If you're unable to find an open issue matching the problem, [open a new one](https://github.com/jpanther/congo/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample**, **screenshot**, or a **test case** demonstrating the expected behavior that is not occurring. +- Where possible, use the bug report templates to create the issue. Avoid including descriptions like "bug", "feature", etc in the issue title as these will be handled by labels. + +#### Have a patch that fixes an issue? + +- Great! Open a new GitHub pull request with the patch. +- All development occurs on the `dev` branch and new PRs should be forked from here. +- The command `npm run example` can be used to test local changes using the example site. +- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number, if applicable. +- **Before submitting**, check the [coding conventions](#coding-conventions) section below to learn more about coding and commit message expectations. + +### New features & enhancements + +#### Do you intend to add a new feature, or change an existing one? + +- Enhancements are welcome but before implementing any features, be sure to suggest your change by opening a [new discussion](https://github.com/jpanther/congo/discussions/new) about your idea. Enhancements are discussed to ensure they fit with the project's design intent and overall roadmap. +- Before opening a discussion, [check to see](https://github.com/jpanther/congo/discussions/categories/ideas) if a similar idea is already being discussed. +- All ideas and suggestions are welcome and will be judged on their merits. +- If the community supports your idea, go ahead and submit a PR with the implemented feature. + +### Questions? 🙋‍♀️ + +- If you have a general question, these should be asked using [GitHub Discussions](https://github.com/jpanther/congo/discussions). Feel free to open a [new discussion](https://github.com/jpanther/congo/discussions/new) to ask your question using the "Q&A" category. +- Be sure to check if your question has already been answered by searching [existing Q&A discussions](https://github.com/jpanther/congo/discussions/categories/q-a). + +### Coding conventions + +- Indent using 2 spaces (soft tabs). +- Put spaces between list items (ie. `[1, 2, 3]`, not `[1,2,3]`), around operators (ie. `1 + 1`, not `1+1`) and inside go templating tags (ie. `{{< alert >}}`, not `{{}}`). +- Avoid code reuse in templates by extracting components into partials. +- Layout code in a logical manner that prioritises readability. +- Add comments when the intent of the code isn't immediately apparent or to break up large blocks of logic. +- Use relative paths to assets without including the preceding slash but, when referring to a folder, including a trailing slash (ie. `static/img/`, not `/static/img/` or `/static/img`). +- Any static text must be referenced using the `i18n` methods and included in the localisation assets. +- Commit often, preferring incremental changes rather than bundling everything into a single, large commit. + +The project includes a Prettier config that helps to format code in line with these guidelines. + +#### Commit message guidelines + +- Use [Gitmoji](https://gitmoji.dev) in commit messages to provide context. +- Clearly describe the change with a short summary in the first 72 characters. +- Place more detailed explanations in paragraphs below the summary, separated by a blank line. +- Use imperative language (ie. "Fix bug", not "Fixed bug" or "Fixes bug"). +- Do not end the summary line with a period. +- Reference any issues fixed using their GitHub issue number. diff --git a/themes/congo/LICENSE b/themes/congo/LICENSE new file mode 100644 index 0000000..37b1ead --- /dev/null +++ b/themes/congo/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2021 James Panther (https://jamespanther.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/congo/README.md b/themes/congo/README.md new file mode 100644 index 0000000..d1d772a --- /dev/null +++ b/themes/congo/README.md @@ -0,0 +1,96 @@ +# Congo + +Congo is designed to be a powerful, lightweight theme for [Hugo](https://gohugo.io). It's built using Tailwind CSS with a clean and minimalist design that prioritises to your content. + +🌏 [Demo site](https://jpanther.github.io/congo/) +📑 [Theme documentation](https://jpanther.github.io/congo/docs/) +🐛 [Bug reports & issues](https://github.com/jpanther/congo/issues) +💡 [Questions & feature requests](https://github.com/jpanther/congo/discussions) + +![Screenshot](https://raw.githubusercontent.com/jpanther/congo/stable/images/screenshot.png) + +## Features + +- Fully responsive layout built with Tailwind CSS 3.0 +- Multiple colour schemes (or fully customise your own) +- Dark mode (forced on/off or auto-switching with user toggle) +- Highly customisable configuration +- Multiple homepage layouts +- Flexible with any content types, taxonomies and menus +- Multilingual content support including support for RTL languages +- Ability to link to posts on third-party websites +- Client-side site search powered by Fuse.js +- Diagrams and visualisations using Mermaid +- Charts using Chart.js +- Mathematical notation using KaTeX +- SVG icons from FontAwesome 6 +- Automatic image resizing using Hugo Pipes +- Heading anchors, Tables of Contents, Code copy, Buttons, Badges and more +- HTML and Emoji support in articles 🎉 +- SEO friendly with links for sharing to social media +- Fathom Analytics, Plausible Analytics, Umami Analytics and Google Analytics support +- RSS feeds, Favicons and comments support +- Advanced customisation using simple Tailwind colour definitions and styles +- Optimised for performance and accessibility with perfect Lighthouse scores +- Fully documented with regular updates + +--- + +## Documentation + +Congo has [extensive documentation](https://jpanther.github.io/congo/docs/) that covers all aspects of the theme. Be sure to [read the docs](https://jpanther.github.io/congo/docs/) to learn more about how to use the theme and its features. + +--- + +## Installation + +Congo supports several installation methods - as a Hugo Module (easiest), a git submodule, or as a completely manual install. + +Detailed instructions for each method can be found in the [Installation](https://jpanther.github.io/congo/docs/installation) docs. You should consult the documentation for the simplest setup experience. Below is a quick start guide using Hugo modules if you're already confident installing Hugo themes. + +### Quick start using Hugo + +> **Note:** Ensure you have **Go** and **Hugo** installed, and that you have created a new Hugo project before proceeding. + +1. From your project directory, initialise Hugo Modules: + + ```shell + hugo mod init github.com// + ``` + +2. Create `config/_default/module.toml` and add the following: + + ```toml + [[imports]] + path = "github.com/jpanther/congo/v2" + ``` + +3. Start your server using `hugo server` and the theme will be downloaded automatically. + +4. In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder. + + > **Note:** Do not overwrite the `module.toml` file you created above! + + You will find these theme config files in the Hugo cache directory, or [download a copy](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/jpanther/congo/tree/stable/config/_default) from GitHub. + +5. Follow the [Getting Started](https://jpanther.github.io/congo/docs/getting-started/) instructions to configure your website. + +### Installing theme updates + +As new releases are posted, you can update the theme using Hugo. Simply run `hugo mod get -u` from your project directory and the theme will automatically update to the latest release. + +Detailed [update instructions](https://jpanther.github.io/congo/docs/installation/#installing-updates) are available in the docs. + +--- + +## Contributing + +Congo is expected to evolve over time. I intend to keep adding features and making changes as required. + +Feel free to get in touch with any issues or suggestions for new features you'd like to see. + +- 🐛 **Bug reports & issues:** Use [GitHub Issues](https://github.com/jpanther/congo/issues) +- 💡 **Ideas for new features:** Open a discussion on [GitHub Discussions](https://github.com/jpanther/congo/discussions) +- 🙋‍♀️ **General questions:** Head to [GitHub Discussions](https://github.com/jpanther/congo/discussions) + +If you're able to fix a bug or implement a new feature, I welcome PRs for this purpose. Learn more in the [contributing guidelines](https://github.com/jpanther/congo/blob/dev/CONTRIBUTING.md). diff --git a/themes/congo/archetypes/default.md b/themes/congo/archetypes/default.md new file mode 100644 index 0000000..97f90a6 --- /dev/null +++ b/themes/congo/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +description: "" +--- diff --git a/themes/congo/archetypes/external.md b/themes/congo/archetypes/external.md new file mode 100644 index 0000000..cc722ce --- /dev/null +++ b/themes/congo/archetypes/external.md @@ -0,0 +1,9 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +externalUrl: "" +summary: "" +showReadingTime: false +_build: + render: "never" +--- diff --git a/themes/congo/exampleSite/assets/img/author.jpg b/themes/congo/exampleSite/assets/img/author.jpg new file mode 100644 index 0000000..bd53fd2 Binary files /dev/null and b/themes/congo/exampleSite/assets/img/author.jpg differ diff --git a/themes/congo/exampleSite/assets/img/logo.jpg b/themes/congo/exampleSite/assets/img/logo.jpg new file mode 100644 index 0000000..79dc6e8 Binary files /dev/null and b/themes/congo/exampleSite/assets/img/logo.jpg differ diff --git a/themes/congo/exampleSite/assets/js/home.js b/themes/congo/exampleSite/assets/js/home.js new file mode 100644 index 0000000..3721034 --- /dev/null +++ b/themes/congo/exampleSite/assets/js/home.js @@ -0,0 +1,27 @@ +function switchHomeLayout() { + const pageDiv = document.getElementById("page"); + const profileDiv = document.getElementById("profile"); + const layoutCode = document.querySelectorAll("code[id=layout]"); + if (pageDiv.style.display === "none") { + pageDiv.style.display = "block"; + profileDiv.style.display = "none"; + layoutCode.forEach(function (el) { + el.innerText = "page"; + }); + } else { + pageDiv.style.display = "none"; + profileDiv.style.display = "block"; + layoutCode.forEach(function (el) { + el.innerText = "profile"; + }); + } +} + +window.addEventListener("DOMContentLoaded", (event) => { + document.querySelectorAll("#switch-layout-button").forEach((button) => + button.addEventListener("click", function (e) { + e.preventDefault(); + switchHomeLayout(); + }) + ); +}); diff --git a/themes/congo/exampleSite/config/_default/config.toml b/themes/congo/exampleSite/config/_default/config.toml new file mode 100644 index 0000000..6c8e9a8 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/config.toml @@ -0,0 +1,13 @@ +# -- Site Configuration -- +# Refer to the theme docs for more details about each of these parameters. +# https://jpanther.github.io/congo/docs/getting-started/ + +theme = "congo" +defaultContentLanguage = "en" + +enableRobotsTXT = true +paginate = 15 +summaryLength = 0 + +[outputs] + home = ["HTML", "RSS", "JSON"] diff --git a/themes/congo/exampleSite/config/_default/languages.de.toml b/themes/congo/exampleSite/config/_default/languages.de.toml new file mode 100644 index 0000000..dbe4dee --- /dev/null +++ b/themes/congo/exampleSite/config/_default/languages.de.toml @@ -0,0 +1,25 @@ +languageCode = "de-DE" +languageName = "Deutsch (Deutschland)" +languageDirection = "ltr" +weight = 4 + +title = "Congo" +copyright = "© 2023 Congo contributors" + +[params] + dateFormat = "2. January 2006" + + mainSections = ["samples"] + description = "Ein leistungsstarkes, leichtgewichtiges Theme für Hugo, das mit Tailwind CSS erstellt wurde." + +[params.author] + name = "Congo" + image = "img/author.jpg" + headline = "Nicht dein Durschnitts-Theme!" + bio = "Dies ist ein Beispiel für eine Autorenbiografie, und obwohl hier ein Stockfoto eines Hundes zu sehen ist, wurde dieser Artikel tatsächlich von einem Menschen verfasst. :dog:" + links = [ + { x-twitter = "https://twitter.com/" }, + { facebook = "https://facebook.com/" }, + { linkedin = "https://linkedin.com/" }, + { youtube = "https://youtube.com/" }, + ] \ No newline at end of file diff --git a/themes/congo/exampleSite/config/_default/languages.en.toml b/themes/congo/exampleSite/config/_default/languages.en.toml new file mode 100644 index 0000000..b7bf147 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/languages.en.toml @@ -0,0 +1,25 @@ +languageCode = "en-AU" +languageName = "English (Australia)" +languageDirection = "ltr" +weight = 1 + +title = "Congo" +copyright = "© 2023 Congo contributors" + +[params] + dateFormat = "2 January 2006" + + mainSections = ["samples"] + description = "A powerful, lightweight theme for Hugo built with Tailwind CSS." + +[params.author] + name = "Congo" + image = "img/author.jpg" + headline = "Not your ordinary theme!" + bio = "This is an example author bio, and although there's a stock photo of a dog here, this article was actually created by a human. :dog:" + links = [ + { x-twitter = "https://twitter.com/" }, + { facebook = "https://facebook.com/" }, + { linkedin = "https://linkedin.com/" }, + { youtube = "https://youtube.com/" }, + ] \ No newline at end of file diff --git a/themes/congo/exampleSite/config/_default/languages.es.toml b/themes/congo/exampleSite/config/_default/languages.es.toml new file mode 100644 index 0000000..7fda1f5 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/languages.es.toml @@ -0,0 +1,25 @@ +languageCode = "es-MX" +languageName = "Español (México)" +languageDirection = "ltr" +weight = 2 + +title = "Congo" +copyright = "© 2023 Congo contributors" + +[params] + dateFormat = "2 January 2006" + + mainSections = ["samples"] + description = "Un tema poderoso y liviano para Hugo creado con Tailwind CSS." + +[params.author] + name = "Congo" + image = "img/author.jpg" + headline = "¡No es tu tema ordinario!" + bio = "Esta es una biografía de autor de ejemplo, y aunque aquí hay una foto de un perro, este artículo en realidad fue creado por un ser humano. :dog:" + links = [ + { x-twitter = "https://twitter.com/" }, + { facebook = "https://facebook.com/" }, + { linkedin = "https://linkedin.com/" }, + { youtube = "https://youtube.com/" }, + ] \ No newline at end of file diff --git a/themes/congo/exampleSite/config/_default/languages.ja.toml b/themes/congo/exampleSite/config/_default/languages.ja.toml new file mode 100644 index 0000000..87a4881 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/languages.ja.toml @@ -0,0 +1,25 @@ +languageCode = "ja" +languageName = "日本語" +languageDirection = "ltr" +weight = 2 + +title = "Congo" +copyright = "© 2023 Congo contributors" + +[params] + dateFormat = "2006年1月2日" + + mainSections = ["samples"] + description = "Tailwind CSSをベースに開発された強力で軽量なHugo向けテーマ" + +[params.author] + name = "Congo" + image = "img/author.jpg" + headline = "ただならぬテーマ!" + bio = "これは著者の経歴の例で、ここには犬の画像があるが、実際には人間が作成したものである。 :dog:" + links = [ + { x-twitter = "https://twitter.com/" }, + { facebook = "https://facebook.com/" }, + { linkedin = "https://linkedin.com/" }, + { youtube = "https://youtube.com/" }, + ] diff --git a/themes/congo/exampleSite/config/_default/languages.zh-CN.toml b/themes/congo/exampleSite/config/_default/languages.zh-CN.toml new file mode 100644 index 0000000..9f3f802 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/languages.zh-CN.toml @@ -0,0 +1,25 @@ +languageCode = "zh-CN" +languageName = "简体中文" +languageDirection = "ltr" +weight = 2 + +title = "Congo" +copyright = "© 2023 Congo contributors" + +[params] + dateFormat = "2006年1月2日" + + mainSections = ["samples"] + description = "一款基于Tailwindcss的强大且轻量的Hugo主题" + +[params.author] + name = "Congo" + image = "img/author.jpg" + headline = "非凡的主题!" + bio = "这是一个作者简介示例,虽然这里有一张狗的库存照片,但实际上这篇文章是由人创建的。 :dog:" + links = [ + { x-twitter = "https://twitter.com/" }, + { facebook = "https://facebook.com/" }, + { linkedin = "https://linkedin.com/" }, + { youtube = "https://youtube.com/" }, + ] diff --git a/themes/congo/exampleSite/config/_default/markup.toml b/themes/congo/exampleSite/config/_default/markup.toml new file mode 100644 index 0000000..d3b9437 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/markup.toml @@ -0,0 +1,13 @@ +# -- Markup -- +# These settings are required for the theme to function. + +[goldmark] +[goldmark.renderer] + unsafe = true + +[highlight] + noClasses = false + +[tableOfContents] + startLevel = 2 + endLevel = 3 diff --git a/themes/congo/exampleSite/config/_default/menus.de.toml b/themes/congo/exampleSite/config/_default/menus.de.toml new file mode 100644 index 0000000..cbacbed --- /dev/null +++ b/themes/congo/exampleSite/config/_default/menus.de.toml @@ -0,0 +1,56 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "Dokumentation" + pageRef = "docs" + weight = 10 + +[[main]] + name = "Beispiele" + pageRef = "samples" + weight = 20 + +[[main]] + name = "Genutzt von" + pageRef = "users" + weight = 30 + +[[main]] + name = "GitHub" + url = "https://github.com/jpanther/congo" + weight = 40 + [main.params] + icon = "github" + showName = false + target = "_blank" + +[[main]] + identifier = "search" + weight = 99 + [main.params] + action = "search" + +[[main]] + identifier = "locale" + weight = 100 + [main.params] + action = "locale" + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +# [[footer]] +# name = "Tags" +# pageRef = "tags" +# weight = 10 diff --git a/themes/congo/exampleSite/config/_default/menus.en.toml b/themes/congo/exampleSite/config/_default/menus.en.toml new file mode 100644 index 0000000..4fe21c5 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/menus.en.toml @@ -0,0 +1,56 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "Docs" + pageRef = "docs" + weight = 10 + +[[main]] + name = "Samples" + pageRef = "samples" + weight = 20 + +[[main]] + name = "Users" + pageRef = "users" + weight = 30 + +[[main]] + name = "GitHub" + url = "https://github.com/jpanther/congo" + weight = 40 + [main.params] + icon = "github" + showName = false + target = "_blank" + +[[main]] + identifier = "search" + weight = 99 + [main.params] + action = "search" + +[[main]] + identifier = "locale" + weight = 100 + [main.params] + action = "locale" + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +# [[footer]] +# name = "Tags" +# pageRef = "tags" +# weight = 10 diff --git a/themes/congo/exampleSite/config/_default/menus.es.toml b/themes/congo/exampleSite/config/_default/menus.es.toml new file mode 100644 index 0000000..2f24319 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/menus.es.toml @@ -0,0 +1,56 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "Docs" + url = "/docs" + weight = 10 + +[[main]] + name = "Ejemplos" + pageRef = "samples" + weight = 20 + +[[main]] + name = "Usuarios" + pageRef = "users" + weight = 30 + +[[main]] + name = "GitHub" + url = "https://github.com/jpanther/congo" + weight = 40 + [main.params] + icon = "github" + showName = false + target = "_blank" + +[[main]] + identifier = "search" + weight = 99 + [main.params] + action = "search" + +[[main]] + identifier = "locale" + weight = 100 + [main.params] + action = "locale" + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +# [[footer]] +# name = "Tags" +# pageRef = "tags" +# weight = 10 diff --git a/themes/congo/exampleSite/config/_default/menus.ja.toml b/themes/congo/exampleSite/config/_default/menus.ja.toml new file mode 100644 index 0000000..74b4237 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/menus.ja.toml @@ -0,0 +1,56 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "ドキュメント" + pageRef = "docs" + weight = 10 + +[[main]] + name = "サンプル" + pageRef = "samples" + weight = 20 + +[[main]] + name = "利用例" + pageRef = "users" + weight = 30 + +[[main]] + name = "GitHub" + url = "https://github.com/jpanther/congo" + weight = 40 + [main.params] + icon = "github" + showName = false + target = "_blank" + +[[main]] + identifier = "検索" + weight = 99 + [main.params] + action = "search" + +[[main]] + identifier = "locale" + weight = 100 + [main.params] + action = "locale" + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +# [[footer]] +# name = "Tags" +# pageRef = "tags" +# weight = 10 diff --git a/themes/congo/exampleSite/config/_default/menus.zh-CN.toml b/themes/congo/exampleSite/config/_default/menus.zh-CN.toml new file mode 100644 index 0000000..9b58585 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/menus.zh-CN.toml @@ -0,0 +1,56 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "文档" + pageRef = "docs" + weight = 10 + +[[main]] + name = "示例" + pageRef = "samples" + weight = 20 + +[[main]] + name = "用户" + pageRef = "users" + weight = 30 + +[[main]] + name = "GitHub" + url = "https://github.com/jpanther/congo" + weight = 40 + [main.params] + icon = "github" + showName = false + target = "_blank" + +[[main]] + identifier = "搜索" + weight = 99 + [main.params] + action = "search" + +[[main]] + identifier = "语言" + weight = 100 + [main.params] + action = "locale" + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +# [[footer]] +# name = "标签" +# pageRef = "tags" +# weight = 10 diff --git a/themes/congo/exampleSite/config/_default/module.toml b/themes/congo/exampleSite/config/_default/module.toml new file mode 100644 index 0000000..e90665b --- /dev/null +++ b/themes/congo/exampleSite/config/_default/module.toml @@ -0,0 +1,3 @@ +[hugoVersion] + extended = true + min = "0.87.0" diff --git a/themes/congo/exampleSite/config/_default/params.toml b/themes/congo/exampleSite/config/_default/params.toml new file mode 100644 index 0000000..f13da48 --- /dev/null +++ b/themes/congo/exampleSite/config/_default/params.toml @@ -0,0 +1,82 @@ +# -- Theme Options -- +# These options control how the theme functions and allow you to +# customise the display of your website. +# +# Refer to the theme docs for more details about each of these parameters. +# https://jpanther.github.io/congo/docs/configuration/#theme-parameters + +colorScheme = "congo" +defaultAppearance = "light" # valid options: light or dark +autoSwitchAppearance = true + +enableSearch = true +enableCodeCopy = true +enableImageLazyLoading = true +enableImageWebp = true +enableQuicklink = true + +# robots = "" +fingerprintAlgorithm = "sha256" + +[header] + layout = "basic" # valid options: basic, hamburger, hybrid, custom + # logo = "img/logo.jpg" + # logoDark = "img/dark-logo.jpg" + showTitle = true + +[footer] + showCopyright = true + showThemeAttribution = true + showAppearanceSwitcher = true + showScrollToTop = true + +[homepage] + layout = "custom" # valid options: page, profile, custom + showRecent = true + recentLimit = 5 + +[article] + showDate = true + showDateUpdated = false + showAuthor = true + showBreadcrumbs = true + showDraftLabel = true + showEdit = true + editURL = "https://github.com/jpanther/congo/tree/dev/exampleSite/content/" + editAppendPath = true + showHeadingAnchors = true + showPagination = true + invertPagination = false + showReadingTime = true + showTableOfContents = true + showTaxonomies = false + showWordCount = false + showComments = false + # sharingLinks = ["facebook", "x-twitter", "mastodon", "pinterest", "reddit", "linkedin", "email", "threads", "telegram", "line", "weibo"] + +[list] + showBreadcrumbs = true + showSummary = false + showTableOfContents = true + showTaxonomies = false + groupByYear = false + paginationWidth = 1 + +[sitemap] + excludedKinds = ["taxonomy", "term"] + +[taxonomy] + showTermCount = true + +[fathomAnalytics] + # site = "ABC12345" + +#[umamiAnalytics] +# site = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# region = "eu" # Can be either "eu" or "us" + +[verification] + # google = "" + # bing = "" + # pinterest = "" + # yandex = "" diff --git a/themes/congo/exampleSite/config/_default/taxonomies.toml b/themes/congo/exampleSite/config/_default/taxonomies.toml new file mode 100644 index 0000000..193dc4b --- /dev/null +++ b/themes/congo/exampleSite/config/_default/taxonomies.toml @@ -0,0 +1 @@ +tag = "tags" diff --git a/themes/congo/exampleSite/content/_index.de.md b/themes/congo/exampleSite/content/_index.de.md new file mode 100644 index 0000000..8f4fedb --- /dev/null +++ b/themes/congo/exampleSite/content/_index.de.md @@ -0,0 +1,29 @@ +--- +title: "Willkommen bei Congo! :tada:" +description: "Dies ist eine Demo des Congo-Themes für Hugo." +--- + +{{< lead >}} +Ein mächtiges und gleichzeitig leichtes Theme für Hugo, das mit Tailwind CSS erstellt wurde. +{{< /lead >}} + +Dies ist eine Demo-Site, die vollständig mit Congo erstellt wurde. Sie enthält auch eine vollständige [Theme-Dokumentation]({{< ref path="docs" lang="en" >}}). Congo ist flexibel und eignet sich sowohl für statische seitenbasierte Inhalte (wie diese Demo) als auch für einen traditionellen Blog mit einem Feed der letzten Beiträge. + +
    + + {{< icon "triangle-exclamation" >}} + + + Dies ist eine Demo des page-Layouts. + + +
    + +{{< figure src="festivities.svg" class="m-auto mt-6 max-w-prose" >}} + +Schau dir die [Beispielseiten]({{< ref "samples" >}}) an, um ein Gefühl für die Möglichkeiten von Congo zu bekommen. Wenn dir gefällt, was du siehst, dann schau dir sich das Projekt auf [Github](https://github.com/jpanther/congo) an oder lies die [Installationsanleitung]({{< ref path="docs/installation" lang="en">}}), um loszulegen. diff --git a/themes/congo/exampleSite/content/_index.es.md b/themes/congo/exampleSite/content/_index.es.md new file mode 100644 index 0000000..4d4584c --- /dev/null +++ b/themes/congo/exampleSite/content/_index.es.md @@ -0,0 +1,29 @@ +--- +title: "¡Bienvenido a Congo! :tada:" +description: "Esta es una demostración del tema Congo para Hugo." +--- + +{{< lead >}} +Un tema poderoso y liviano para Hugo creado con Tailwind CSS. +{{< /lead >}} + +Este es un sitio de demostración creado completamente con Congo. También contiene un conjunto completo de artículos con [documentación del tema]({{< ref path="docs" lang="en" >}}). Congo es flexible y es excelente tanto para contenido estático basado en páginas (como es el caso de esta demostración) como para un blog tradicional con un feed de publicaciones recientes. + +
    + + {{< icon "triangle-exclamation" >}} + + + Esta es la demostración en formato page + + +
    + +{{< figure src="festivities.svg" class="m-auto mt-6 max-w-prose" >}} + +Explora las [páginas de ejemplo]({{< ref "samples" >}}) para tener una idea de lo que Congo puede hacer. Si te gusta lo que ves, consulta el proyecto en [Github](https://github.com/jpanther/congo) o lee la [Guía de instalación]({{< ref path="docs/installation" lang="en" >}}) para comenzar. diff --git a/themes/congo/exampleSite/content/_index.ja.md b/themes/congo/exampleSite/content/_index.ja.md new file mode 100644 index 0000000..9919924 --- /dev/null +++ b/themes/congo/exampleSite/content/_index.ja.md @@ -0,0 +1,31 @@ +--- +title: "Congoへようこそ! :tada:" +description: "これはHugo向けテーマ、Congoのデモです" +--- + +{{< lead >}} +Tailwind CSSをベースに開発された強力で軽量なHugo向けテーマ。 +{{< /lead >}} + +これはCongoを使って構築されたデモサイトです。 +[Congoに関するドキュメント]({{< ref "docs" >}})も含まれています。 +Congoは柔軟性に富み、静的なコンテンツ配信にも、投稿フィード機能を持つようなBlogにも適しています。 + +
    + + {{< icon "triangle-exclamation" >}} + + + これはpageレイアウトのデモです。 + + +
    + +{{< figure src="festivities.svg" class="m-auto mt-6 max-w-prose" >}} + +[例]({{< ref "samples" >}})を見て、Congoの実力を実感してください。気に入ったら[GitHub](https://github.com/jpanther/congo)をチェックするか、[インストール]({{< ref "docs/installation" >}})を読んで実際に使い始めてほしい。 diff --git a/themes/congo/exampleSite/content/_index.md b/themes/congo/exampleSite/content/_index.md new file mode 100644 index 0000000..f1a4ce5 --- /dev/null +++ b/themes/congo/exampleSite/content/_index.md @@ -0,0 +1,29 @@ +--- +title: "Welcome to Congo! :tada:" +description: "This is a demo of the Congo theme for Hugo." +--- + +{{< lead >}} +A powerful, lightweight theme for Hugo built with Tailwind CSS. +{{< /lead >}} + +This is a demo site built entirely using Congo. It also contains a complete set of [theme documentation]({{< ref "docs" >}}). Congo is flexible and is great for both static page-based content (like this demo) or a traditional blog with a feed of recent posts. + +
    + + {{< icon "triangle-exclamation" >}} + + + This is a demo of the page layout. + + +
    + +{{< figure src="festivities.svg" class="m-auto mt-6 max-w-prose" >}} + +Explore the [sample pages]({{< ref "samples" >}}) to get a feel for what Congo can do. If you like what you see, check out the project on [Github](https://github.com/jpanther/congo) or read the [Installation guide]({{< ref "docs/installation" >}}) to get started. diff --git a/themes/congo/exampleSite/content/_index.zh-cn.md b/themes/congo/exampleSite/content/_index.zh-cn.md new file mode 100644 index 0000000..35f52bc --- /dev/null +++ b/themes/congo/exampleSite/content/_index.zh-cn.md @@ -0,0 +1,29 @@ +--- +title: "欢迎使用Congo! :tada:" +description: "这是一个基于Hugo的主题Congo示例。" +--- + +{{< lead >}} +一款基于Tailwindcss的强大且轻量Hugo主题 +{{< /lead >}} + +这是一个完全使用Congo构建的演示站点。它还包含一个完整的 [主题文档]({{< ref "docs" >}}) 集。Congo是灵活的,非常适合静态基于页面的内容(就像你看到的这个演示)或具有最新文章的传统博客。 + +
    + + {{< icon "triangle-exclamation" >}} + + + 这是一个 page 布局的示例. + + +
    + +{{< figure src="festivities.svg" class="m-auto mt-6 max-w-prose" >}} + +探索 [示例页面]({{< ref "samples" >}}) 以感受Congo的强大功能。如果你喜欢该主题,请在 [Github](https://github.com/jpanther/congo) 上查看该项目,或阅读 [安装指南]({{< ref "docs/installation" >}}) 开始使用。 diff --git a/themes/congo/exampleSite/content/docs/_index.ja.md b/themes/congo/exampleSite/content/docs/_index.ja.md new file mode 100644 index 0000000..d1258ce --- /dev/null +++ b/themes/congo/exampleSite/content/docs/_index.ja.md @@ -0,0 +1,22 @@ +--- +title: "ドキュメント" +description: "Congoの特徴とその使い方について" + +cascade: + showDate: false + showAuthor: false + showSummary: true + invertPagination: true +--- + +{{< lead >}} +シンプルでパワフル。Congoの使い方と特徴をご紹介します。 +{{< /lead >}} + +![Screenshots of Congo on an iPhone, iPad and MacBook](screenshot.png) + +このセクションにはCongoの知るべきすべてが含まれています。もしあなたがCongoに触れるのが初めてならば、[インストール]({{< ref "docs/installation" >}})ガイドを読むか、[例]({{< ref "samples" >}})を見て、Congoは何ができるか確認してください。 + +_このドキュメントに素晴らしいイラストを提供してくれた[Katerina Limpitsouni](https://ninalimpi.com)に感謝します。_ + +--- diff --git a/themes/congo/exampleSite/content/docs/_index.md b/themes/congo/exampleSite/content/docs/_index.md new file mode 100644 index 0000000..e7c2325 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/_index.md @@ -0,0 +1,22 @@ +--- +title: "Documentation" +description: "Learn how to use Congo and its features." + +cascade: + showDate: false + showAuthor: false + showSummary: true + invertPagination: true +--- + +{{< lead >}} +Simple, yet powerful. Learn how to use Congo and its features. +{{< /lead >}} + +![Screenshots of Congo on an iPhone, iPad and MacBook](screenshot.png) + +This section contains everything you need to know about Congo. If you're new, check out the [Installation]({{< ref "docs/installation" >}}) guide to begin or visit the [Samples]({{< ref "samples" >}}) section to see what Congo can do. + +_Special thanks to [Katerina Limpitsouni](https://ninalimpi.com) for the excellent illustrations that are used throughout these docs!_ + +--- diff --git a/themes/congo/exampleSite/content/docs/_index.zh-cn.md b/themes/congo/exampleSite/content/docs/_index.zh-cn.md new file mode 100644 index 0000000..a2158e5 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/_index.zh-cn.md @@ -0,0 +1,22 @@ +--- +title: "文档" +description: "了解如何使用Congo及其功能。" + +cascade: + showDate: false + showAuthor: false + showSummary: true + invertPagination: true +--- + +{{< lead >}} +简单而强大。了解如何使用Congo及其功能。 +{{< /lead >}} + +![Screenshots of Congo on an iPhone, iPad and MacBook](screenshot.png) + +该部分包含关于Congo的所有必要信息。如果您是新手,请查看 [安装]({{< ref "docs/installation" >}}) 指南以开始,或访问 [示例]({{< ref "samples" >}}) 部分查看Congo的功能。 + +特别感谢 [Katerina Limpitsouni](https://ninalimpi.com) 为这些文档中使用的出色插图! + +--- diff --git a/themes/congo/exampleSite/content/docs/advanced-customisation/index.ja.md b/themes/congo/exampleSite/content/docs/advanced-customisation/index.ja.md new file mode 100644 index 0000000..8358cae --- /dev/null +++ b/themes/congo/exampleSite/content/docs/advanced-customisation/index.ja.md @@ -0,0 +1,183 @@ +--- +title: "高度なカスタマイズ" +date: 2020-08-08 +draft: false +description: "Congoを手動で構築する方法" +summary: "Congoは、基本的なTailwind設定の変更、手動でのテーマ構築、カスタムCSSの提供など、高度なカスタマイズをサポートしています。" +slug: "advanced-customisation" +tags: ["advanced", "css", "docs"] +--- + +Congoに高度な変更を加える方法はたくさんあります。カスタマイズできる内容や、ご希望の結果を得るための最良の方法については、以下をお読みください。 + +さらにアドバイスが必要な場合は[GitHub Discussions](https://github.com/jpanther/congo/discussions)に質問を投稿してください。 + +## Hugoプロジェクトの構造 + +これらの作業に入る前に、[Hugoプロジェクトの構造](https://gohugo.io/getting-started/directory-structure/)とコンテンツやテーマを管理するためのベストプラクティスについて説明します。 + +{{< alert >}} +**要約:** テーマファイルを直接編集するのではなく、Hugoプロジェクトのサブディレクトリでカスタマイズを行なってください。 +{{< /alert >}} + +Congoは、Hugoの標準的なプラクティスをすべて活用できるように作られています。コアのテーマファイルを変更することなく、テーマのすべての側面をカスタマイズしたり上書きしたりできるように設計されています。これにより、ウェブサイトのルック&フィールを完全にコントロールしながら、シームレスなアップグレードが可能になります。 + +そのためには、テーマファイルを手動で直接調整してはいけません。Hugo モジュールを使ってインストールする場合でも、git サブモジュールとしてインストールする場合でも、手動でテーマを `themes/` ディレクトリにインクルードする場合でも、これらのファイルは常にそのままにしておくべきです。 + +テーマの動作を調整する正しい方法は、Hugoの強力な[file lookup order](https://gohugo.io/templates/lookup-order/)を使ってファイルを上書きすることです。そうすることで、あなたがプロジェクトディレクトリにインクルードしたファイルが自動的にテーマファイルよりも優先されることを保証します。 + +例えば、Congoのメイン記事テンプレートをオーバーライドしたい場合、独自の `layouts/_default/single.html` ファイルを作成し、プロジェクトのルートに置くだけです。このファイルはテーマを変更することなく、テーマの `single.html` を上書きします。これは、HTMLテンプレート、パーシャル、ショートコード、設定ファイル、データ、アセットなど、どんなテーマファイルにも使えます。 + +このシンプルな慣習に従う限り、あなたのカスタマイズを失うことなく、常にテーマをアップデート(または異なるテーマのバージョンをテスト)することができます。 + +## カラースキーム + +Congoにはいくつかのカラースキームが同梱されています。配色を変更するには、 `colorScheme` テーマパラメーターを設定します。組み込みの配色について詳しくは[はじめに]({{< ref "getting-started" >}})セクションを参照してください。 + +デフォルトの配色に加えて、独自のスキームを作成し、ウェブサイト全体を好みのスタイルに変更することもできます。スキームは `assets/css/schemes/` ディレクトリに `.css` ファイルを置くことで作成できます。ファイルを作成したら、テーマ設定の中でその名前を参照するだけです。 + +Congoは3色のパレットを定義してテーマ全体に使用しています。この3色は「ニュートラル」、「プライマリー」、「セカンダリー」として定義され、それぞれ10色の濃淡があります。 + +Tailwind CSS 3.0が不透明度を用いてカラー値を計算するため、使用するカラーは[特定のフォーマットに準拠](https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo)して指定するする必要があります。 + +```css +:root { + --color-primary-500: 139, 92, 246; +} +``` + +この例では、 `primary-500` をCSS変数として `Red: 139, Green: 92, Blue: 246` に定義しています。 + +既存のテーマスタイルシートのいずれかをテンプレートとして使用してください。独自の色を定義するのは自由ですが、インスピレーションを得るために、公式の[Tailwind color palette reference](https://tailwindcss.com/docs/customizing-colors#color-palette-reference)もチェックしてみてください。 + +## スタイルのオーバーライド + +独自のHTML要素にスタイルを設定するために、カスタムスタイルを追加する場合があります。Congoでは、独自のCSSスタイルシートでデフォルトのスタイルをオーバーライドすることができます。プロジェクトの `assets/css/` ディレクトリに `custom.css` ファイルを作成するだけです。 + +`custom.css` ファイルはHugoによってminifyされ、他のテーマスタイルの後に自動的に読み込まれます。 + +### フォントサイズの変更 + +`custom.css` を用いてフォントサイズをオーバーライドする例です。Congoでは、ベースとなるHTMLフォントサイズに由来するフォントサイズをテーマ全体で使用するため、フォントサイズの変更は簡単です。デフォルトでは、Tailwindはデフォルトサイズを`12pt`に設定していますが、お好きな値に変更することができます。 + +`assets/css/custom.css` を用意して下記のように記述してください: + +```css +/* Increase the default font size */ +html { + font-size: 13pt; +} +``` + +この1つの値を変更するだけで、ウェブサイト上のすべてのフォントサイズが新しいサイズに合わせて調整されます。したがって、全体のフォントサイズを大きくするには、値を `12pt` より大きくします。同様に、フォントサイズを小さくするには、値を `12pt` より小さくします。 + +## ソースコードから再構築 + +大きな変更を加えたい場合は、Tailwind CSSのJITコンパイラを利用し、テーマCSS全体をゼロから再構築することができます。これは、Tailwindの設定を調整したり、メインのスタイルシートに追加のTailwindクラスを追加したい場合に便利です。 + +{{< alert >}} +**注記:** 手動でテーマを再構築するのは上級者向けです。 +{{< /alert >}} + +それでは、Tailwind CSSの構築方法を順を追って説明しましょう。 + +### Tailwindの設定 + +実際に使用されているTailwindのクラスのみを含むCSSファイルを生成するために、JITコンパイラはすべてのHTMLテンプレートとMarkdownファイルをスキャンして、どのスタイルが存在するかをチェックします。コンパイラは、テーマディレクトリのルートに含まれる `tailwind.config.js` ファイルを参照します: + +```js +// themes/congo/tailwind.config.js + +module.exports = { + content: [ + "./layouts/**/*.html", + "./content/**/*.{html,md}", + "./themes/congo/layouts/**/*.html", + "./themes/congo/content/**/*.{html,md}", + ], + + // and more... +}; +``` + +デフォルトでは、特定のプロジェクト構造に従っていれば、修正することなく簡単に独自のCSSファイルを生成できるようにコンテンツパスが設定されています。つまり、**Congo を `themes/congo/` のサブディレクトリとしてプロジェクトに含める必要があります。** +よって、Hugoモジュールを使って簡単にテーマをインストールすることはできず、 Gitサブモジュール(推奨)か手動インストールのどちらかの方法を取らなければなりません。[インストール]({{< ref "installation" >}})では、これらの方法のいずれかを使ってテーマをインストールする方法を説明しています。 + +### プロジェクトの構造 + +デフォルト設定の恩恵を授かるには、プロジェクトは下記のような構造になっているべきです。 + +```shell +. +├── assets +│ └── css +│ └── compiled +│ └── main.css # this is the file we will generate +├── config # site config +│ └── _default +├── content # site content +│ ├── _index.md +│ ├── projects +│ │ └── _index.md +│ └── blog +│ └── _index.md +├── layouts # custom layouts for your site +│ ├── partials +│ │ └── extend-article-link.html +│ ├── projects +│ │ └── list.html +│ └── shortcodes +│ └── disclaimer.html +└── themes + └── congo # git submodule or manual theme install +``` + +この構造例では、独自のカスタムレイアウトを持つ新しい `projects` コンテンツタイプを、カスタムショートコードと拡張パーシャルとともに追加します。プロジェクトがこの構造に従っていれば、必要なのは `main.css` ファイルを再コンパイルすることだけです。 + +### 依存関係のインストール + +上記を動作させるには、 `themes/congo/` ディレクトリにて、プロジェクトの依存関係をインストールする必要がある。このステップには[npm](https://docs.npmjs.com/cli/v7/configuring-npm/install)が必要です。 + +```shell +cd themes/congo +npm install +``` + +### Tailwindコンパイラの実行 + +依存関係のインストールが完了したら、あとは[Tailwind CLI](https://v2.tailwindcss.com/docs/installation#using-tailwind-cli)を使ってJITコンパイラを起動するだけです。Hugoプロジェクトのルートに戻り、以下のコマンドを実行してください: + +```shell +cd ../.. +./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit +``` + +このコマンドはパス指定の関係で少し醜いですが、基本的にはTailwind CLIを呼び出し、Tailwindの設定ファイル、 `main.css` の場所、そしてコンパイルされたCSSファイルを置く場所( `assets/css/compiled/` )を渡しています。 + +Tailwindの設定ファイルによって、プロジェクト内のすべてのコンテンツとレイアウト、およびテーマ内のすべてのコンテンツを自動的に走査し、ウェブサイトに必要なすべてのCSSを含む新しいCSSファイルを作成します。Hugoはプロジェクト内のファイルを自動的にテーマに付属するもので上書きします。 + +レイアウトを変更して新しいTailwind CSSスタイルが必要になるたびに、コマンドを再実行するだけで、新しいCSSファイルを生成することができます。コマンドの最後に `-w` を追加すると、JITコンパイラをウォッチモードで実行することもできます。 + +### buildスクリプトの準備 + +私がやっているように、必要なコマンドを含む `package.json` をプロジェクトのルートに追加して、再構築プロセスを簡単にすることもできます。 + +```js +// package.json + +{ + "name": "my-website", + "version": "1.0.0", + "description": "", + "scripts": { + "server": "hugo server -b http://localhost -p 8000", + "dev": "NODE_ENV=development ./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w", + "build": "NODE_ENV=production ./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit" + }, + // and more... +} +``` + +これで、デザインに取りかかりたいときに `npm run dev` を実行すればコンパイラがウォッチモードで実行されます。デプロイする準備ができたら、 `npm run build` を実行すれば、通常のTailwind CSSビルドが実行されます。 + +🙋‍♀️ ヘルプが必要な場合は、遠慮なく[GitHub Discussions](https://github.com/jpanther/congo/discussions)に質問を投稿してください。 diff --git a/themes/congo/exampleSite/content/docs/advanced-customisation/index.md b/themes/congo/exampleSite/content/docs/advanced-customisation/index.md new file mode 100644 index 0000000..a126d14 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/advanced-customisation/index.md @@ -0,0 +1,182 @@ +--- +title: "Advanced Customisation" +date: 2020-08-08 +draft: false +description: "Learn how to build Congo manually." +summary: "Congo supports advanced customisations that include modifying the underlying Tailwind configuration, building the theme manually and providing custom CSS." +slug: "advanced-customisation" +tags: ["advanced", "css", "docs"] +--- + +There are many ways you can make advanced changes to Congo. Read below to learn more about what can be customised and the best way of achieving your desired result. + +If you need further advice, post your questions on [GitHub Discussions](https://github.com/jpanther/congo/discussions). + +## Hugo project structure + +Before leaping into it, first a quick note about [Hugo project structure](https://gohugo.io/getting-started/directory-structure/) and best practices for managing your content and theme customisations. + +{{< alert >}} +**In summary:** Never directly edit the theme files. Only make customisations in your Hugo project's sub-directories, not in the themes directory itself. +{{< /alert >}} + +Congo is built to take advantage of all the standard Hugo practices. It is designed to allow all aspects of the theme to be customised and overridden without changing any of the core theme files. This allows for a seamless upgrade experience while giving you total control over the look and feel of your website. + +In order to achieve this, you should never manually adjust any of the theme files directly. Whether you install using Hugo modules, as a git submodule or manually include the theme in your `themes/` directory, you should always leave these files intact. + +The correct way to adjust any theme behaviour is by overriding files using Hugo's powerful [file lookup order](https://gohugo.io/templates/lookup-order/). In summary, the lookup order ensures any files you include in your project directory will automatically take precedence over any theme files. + +For example, if you wanted to override the main article template in Congo, you can simply create your own `layouts/_default/single.html` file and place it in the root of your project. This file will then override the `single.html` from the theme without ever changing the theme itself. This works for any theme files - HTML templates, partials, shortcodes, config files, data, assets, etc. + +As long as you follow this simple practice, you will always be able to update the theme (or test different theme versions) without worrying that you will lose any of your custom changes. + +## Colour schemes + +Congo ships with a number of colour schemes out of the box. To change the basic colour scheme, you can set the `colorScheme` theme parameter. Refer to the [Getting Started]({{< ref "getting-started#colour-schemes" >}}) section to learn more about the built-in schemes. + +In addition to the default schemes, you can also create your own and re-style the entire website to your liking. Schemes are created by by placing a `.css` file in the `assets/css/schemes/` folder. Once the file is created, simply refer to it by name in the theme configuration. + +Congo defines a three-colour palette that is used throughout the theme. The three colours are defined as `neutral`, `primary` and `secondary` variants, each containing ten shades of colour. + +Due to the way Tailwind CSS 3.0 calculates colour values with opacity, the colours specified in the scheme need to [conform to a particular format](https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo) by providing the red, green and blue colour values. + +```css +:root { + --color-primary-500: 139, 92, 246; +} +``` + +This example defines a CSS variable for the `primary-500` colour with a red value of `139`, green value of `92` and blue value of `246`. + +Use one of the existing theme stylesheets as a template. You are free to define your own colours, but for some inspiration, check out the official [Tailwind colour palette reference](https://tailwindcss.com/docs/customizing-colors#color-palette-reference). + +## Overriding the stylesheet + +Sometimes you need to add a custom style to style your own HTML elements. Congo provides for this scenario by allowing you to override the default styles in your own CSS stylesheet. Simply create a `custom.css` file in your project's `assets/css/` folder. + +The `custom.css` file will be minified by Hugo and loaded automatically after all the other theme styles which means anything in your custom file will take precedence over the defaults. + +### Adjusting the font size + +Changing the font size of your website is one example of overriding the default stylesheet. Congo makes this simple as it uses scaled font sizes throughout the theme which are derived from the base HTML font size. By default, Tailwind sets the default size to `12pt`, but it can be changed to whatever value you prefer. + +Create a `custom.css` file using the [instructions above]({{< ref "#overriding-the-stylesheet" >}}) and add the following CSS declaration: + +```css +/* Increase the default font size */ +html { + font-size: 13pt; +} +``` + +Simply by changing this one value, all the font sizes on your website will be adjusted to match this new size. Therefore, to increase the overall font sizes used, make the value greater than `12pt`. Similarly, to decrease the font sizes, make the value less than `12pt`. + +## Building the theme CSS from source + +If you'd like to make a major change, you can take advantage of Tailwind CSS's JIT compiler and rebuild the entire theme CSS from scratch. This is useful if you want to adjust the Tailwind configuration or add extra Tailwind classes to the main stylesheet. + +{{< alert >}} +**Note:** Building the theme manually is intended for advanced users. +{{< /alert >}} + +Let's step through how building the Tailwind CSS works. + +### Tailwind configuration + +In order to generate a CSS file that only contains the Tailwind classes that are actually being used the JIT compiler needs to scan through all the HTML templates and Markdown content files to check which styles are present in the markup. The compiler does this by looking at the `tailwind.config.js` file which is included in the root of the theme directory: + +```js +// themes/congo/tailwind.config.js + +module.exports = { + content: [ + "./layouts/**/*.html", + "./content/**/*.{html,md}", + "./themes/congo/layouts/**/*.html", + "./themes/congo/content/**/*.{html,md}", + ], + + // and more... +}; +``` + +This default configuration has been included with these content paths so that you can easily generate your own CSS file without needing to modify it, provided you follow a particular project structure. Namely, **you have to include Congo in your project as a subdirectory at `themes/congo/`**. This means you cannot easily use Hugo Modules to install the theme and you must go down either the git submodule (recommended) or manual install routes. The [Installation docs]({{< ref "installation" >}}) explain how to install the theme using either of these methods. + +### Project structure + +In order to take advantage of the default configuration, your project should look something like this... + +```shell +. +├── assets +│ └── css +│ └── compiled +│ └── main.css # this is the file we will generate +├── config # site config +│ └── _default +├── content # site content +│ ├── _index.md +│ ├── projects +│ │ └── _index.md +│ └── blog +│ └── _index.md +├── layouts # custom layouts for your site +│ ├── partials +│ │ └── extend-article-link.html +│ ├── projects +│ │ └── list.html +│ └── shortcodes +│ └── disclaimer.html +└── themes + └── congo # git submodule or manual theme install +``` + +This example structure adds a new `projects` content type with its own custom layout along with a custom shortcode and extended partial. Provided the project follows this structure, all that's required is to recompile the `main.css` file. + +### Install dependencies + +In order for this to work you'll need to change into the `themes/congo/` directory and install the project dependencies. You'll need [npm](https://docs.npmjs.com/cli/v7/configuring-npm/install) on your local machine for this step. + +```shell +cd themes/congo +npm install +``` + +### Run the Tailwind compiler + +With the dependencies installed all that's left is to use [Tailwind CLI](https://v2.tailwindcss.com/docs/installation#using-tailwind-cli) to invoke the JIT compiler. Navigate back to the root of your Hugo project and issue the following command: + +```shell +cd ../.. +./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit +``` + +It's a bit of an ugly command due to the paths involved but essentially you're calling Tailwind CLI and passing it the location of the Tailwind config file (the one we looked at above), where to find the theme's `main.css` file and then where you want the compiled CSS file to be placed (it's going into the `assets/css/compiled/` folder of your Hugo project). + +The config file will automatically inspect all the content and layouts in your project as well as all those in the theme and build a new CSS file that contains all the CSS required for your website. Due to the way Hugo handles file hierarchy, this file in your project will now automatically override the one that comes with the theme. + +Each time you make a change to your layouts and need new Tailwind CSS styles, you can simply re-run the command and generate the new CSS file. You can also add `-w` to the end of the command to run the JIT compiler in watch mode. + +### Make a build script + +To fully complete this solution, you can simplify this whole process by adding aliases for these commands, or do what I do and add a `package.json` to the root of your project which contains the necessary scripts... + +```js +// package.json + +{ + "name": "my-website", + "version": "1.0.0", + "description": "", + "scripts": { + "server": "hugo server -b http://localhost -p 8000", + "dev": "NODE_ENV=development ./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w", + "build": "NODE_ENV=production ./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit" + }, + // and more... +} +``` + +Now when you want to work on designing your site, you can invoke `npm run dev` and the compiler will run in watch mode. When you're ready to deploy, run `npm run build` and you'll get a clean Tailwind CSS build. + +🙋‍♀️ If you need help, feel free to ask a question on [GitHub Discussions](https://github.com/jpanther/congo/discussions). diff --git a/themes/congo/exampleSite/content/docs/advanced-customisation/index.zh-cn.md b/themes/congo/exampleSite/content/docs/advanced-customisation/index.zh-cn.md new file mode 100644 index 0000000..92b71eb --- /dev/null +++ b/themes/congo/exampleSite/content/docs/advanced-customisation/index.zh-cn.md @@ -0,0 +1,182 @@ +--- +title: "高级定制" +date: 2020年8月8日 +draft: false +description: "学习如何手动构建 Congo。" +summary: "Congo 支持高级定制,包括修改底层的 Tailwind 配置,手动构建主题以及提供自定义 CSS。" +slug: "advanced-customisation" +tags: ["高级", "CSS", "文档"] +--- + +有许多方法可以对 Congo 进行高级更改。阅读以下内容,了解可以定制的内容以及实现所需结果的最佳方式。 + +如果您需要进一步的建议,请在 [GitHub 讨论区](https://github.com/jpanther/congo/discussions) 上发表您的问题。 + +## Hugo 项目结构 + +在深入了解之前,首先简要介绍一下[Hugo 项目结构](https://gohugo.io/getting-started/directory-structure/)和管理内容以及主题定制的最佳实践。 + +{{< alert >}} +**总结:**永远不要直接编辑主题文件。只在 Hugo 项目的子目录中进行定制,而不要在主题目录本身进行定制。 +{{< /alert >}} + +Congo 的构建旨在充分利用所有标准 Hugo 实践。它被设计为允许定制和覆盖主题的所有方面,而无需更改任何核心主题文件。这样一来,您可以在完全控制网站的外观和感觉的同时,获得无缝的升级体验。 + +为了实现这一点,您永远不应直接调整主题文件中的任何文件。无论您是使用 Hugo 模块安装,作为 git 子模块或手动将主题包含在您的 `themes/` 目录中,都应始终保持这些文件不变。 + +调整任何主题行为的正确方式是使用 Hugo 强大的[文件查找顺序](https://gohugo.io/templates/lookup-order/)。总体而言,查找顺序确保您在项目目录中包含的任何文件将自动优先于任何主题文件。 + +例如,如果您想要覆盖 Congo 中的主文章模板,您只需创建自己的 `layouts/_default/single.html` 文件并将其放置在项目的根目录。该文件将覆盖主题中的 `single.html`,而无需更改主题本身。这适用于任何主题文件 - HTML 模板、局部、短代码、配置文件、数据、资产等。 + +只要遵循这个简单的做法,您就始终能够更新主题(或测试不同的主题版本),而不必担心会丢失任何自定义更改。 + +## 颜色方案 + +Congo 默认提供了许多颜色方案。要更改基本的颜色方案,您可以设置 `colorScheme` 主题参数。请参阅 [入门指南]({{< ref "getting-started#colour-schemes" >}}) 部分,了解内置方案的更多信息。 + +除了默认方案之外,您还可以创建自己的方案,并根据自己的喜好重新设计整个网站。通过在 `assets/css/schemes/` 文件夹中放置 `.css` 文件来创建方案。创建文件后,只需在主题配置中按名称引用即可。 + +Congo 定义了一个贯穿整个主题使用的三种颜色的调色板。这三种颜色分别被定义为 `neutral`、`primary` 和 `secondary` 变体,每种颜色包含十个色调。 + +由于 Tailwind CSS 3.0 使用不透明度计算颜色值的方式,方案中指定的颜色需要[符合特定格式](https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo),即提供红色、绿色和蓝色颜色值。 + +```css +:root { + --color-primary-500: 139, 92, 246; +} +``` + +此示例为 `primary-500` 颜色定义了一个 CSS 变量,其红色值为 `139`,绿色值为 `92`,蓝色值为 `246`。 + +使用现有的主题样式表作为模板。您可以自定义自己的颜色,但是为了一些灵感,请查看官方的 [Tailwind 颜色调色板参考](https://tailwindcss.com/docs/customizing-colors#color-palette-reference)。 + +## 覆盖样式表 + +有时您需要添加自定义样式以为自己的 HTML 元素设置样式。Congo 提供了允许您在自己的 CSS 样式表中覆盖默认样式的场景。只需在项目的 `assets/css/` 文件夹中创建一个 `custom.css` 文件。 + +`custom.css` 文件将由 Hugo 进行最小化,并在所有其他主题样式之后自动加载,这意味着自定义文件中的任何内容都将覆盖默认值。 + +### 调整字体大小 + +更改网站的字体大小是覆盖默认样式表的一个示例。Congo 使此变得简单,因为它在整个主题中使用了从基本 HTML 字体大小派生的缩放字体大小。默认情况下,Tailwind 将默认大小设置为 `12pt`,但可以更改为您喜欢的任何值。 + +使用上述[说明]({{< ref "#overriding-the-stylesheet" >}})创建一个 `custom.css` 文件,并添加以下 CSS 声明: + +```css +/* Increase the default font size */ +html { + font-size: 13pt; +} +``` + +只需更改此一个值,您网站上的所有字体大小就会调整为匹配这个新大小。因此,要增加使用的整体字体大小,请将值设置为大于 `12pt`。同样,要减小字体大小,请将值设置为小于 `12pt`。 + +## 从源代码构建主题 CSS + +如果您想进行重大更改,可以利用 Tailwind CSS 的 JIT 编译器从头开始重新构建整个主题 CSS。如果您想要调整 Tailwind 配置或向主样式表添加额外的 Tailwind 类,这将非常有用。 + +{{< alert >}} +**注意:** 手动构建主题仅适用于高级用户。 +{{< /alert >}} + +让我们逐步了解构建 Tailwind CSS 的过程。 + +### Tailwind 配置 + +为了生成一个仅包含实际使用的 Tailwind 类的 CSS 文件,JIT 编译器需要扫描所有 HTML 模板和 Markdown 内容文件,以检查标记中存在哪些样式。编译器通过查看主题目录根目录中包含的 `tailwind.config.js` 文件来执行此操作: + +```js +// themes/congo/tailwind.config.js + +module.exports = { + content: [ + "./layouts/**/*.html", + "./content/**/*.{html,md}", + "./themes/congo/layouts/**/*.html", + "./themes/congo/content/**/*.{html,md}", + ], + + // and more... +}; +``` + +这个默认配置已经包含了这些内容路径,以便您可以轻松生成自己的 CSS 文件,而无需修改它,只要您遵循特定的项目结构。换句话说,**您必须将 Congo 作为子目录包含在项目中,即 `themes/congo/`**。这意味着您不能轻松使用 Hugo 模块来安装主题,而必须选择 git 子模块(推荐)或手动安装路线。[安装文档]({{< ref "installation" >}})解释了如何使用这两种方法之一安装主题。 + +### 项目结构 + +为了充分利用默认配置,您的项目结构应该长得像下面这个样子... + +```shell +. +├── assets +│ └── css +│ └── compiled +│ └── main.css # this is the file we will generate +├── config # site config +│ └── _default +├── content # site content +│ ├── _index.md +│ ├── projects +│ │ └── _index.md +│ └── blog +│ └── _index.md +├── layouts # custom layouts for your site +│ ├── partials +│ │ └── extend-article-link.html +│ ├── projects +│ │ └── list.html +│ └── shortcodes +│ └── disclaimer.html +└── themes + └── congo # git submodule or manual theme install +``` + +这个例子的结构添加了一个新的 `projects` 内容类型,具有自己的自定义布局,以及一个自定义短代码和扩展部分。只要项目遵循这个结构,唯一需要做的就是重新编译 `main.css` 文件。 + +### 安装依赖项 + +为了使这个工作,你需要切换到 `themes/congo/` 目录并安装项目的依赖项。对于这一步骤,你的本地机器上需要 [npm](https://docs.npmjs.com/cli/v7/configuring-npm/install)。 + +```shell +cd themes/congo +npm install +``` + +### 运行 Tailwind 编译器 + +在安装了依赖项之后,唯一需要做的就是使用 [Tailwind CLI](https://v2.tailwindcss.com/docs/installation#using-tailwind-cli) 调用 JIT 编译器。返回到你的 Hugo 项目的根目录,执行以下命令: + +```shell +cd ../.. +./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit +``` + +由于涉及到路径,这是一个有点丑陋的命令,但基本上你是在调用 Tailwind CLI 并传递 Tailwind 配置文件的位置(我们上面看到的文件),主题的 `main.css` 文件的位置,以及你想要放置编译后的 CSS 文件的位置(它将放在你的 Hugo 项目的 `assets/css/compiled/` 文件夹中)。 + +配置文件将自动检查你的项目中的所有内容和布局,以及主题中的所有内容,并构建一个新的 CSS 文件,其中包含你的网站所需的所有 CSS。由于 Hugo 处理文件层次结构的方式,这个文件在你的项目中现在将自动覆盖主题自带的文件。 + +每当你更改布局并需要新的 Tailwind CSS 样式时,只需重新运行该命令并生成新的 CSS 文件。你也可以在命令的末尾添加 `-w` 以在监视模式下运行 JIT 编译器。 + +### 创建构建脚本 + +为了完全完成这个解决方案,你可以通过为这些命令添加别名,或者像我一样,在你的项目根目录添加一个包含必要脚本的 `package.json` 文件,来简化整个过程... + +```js +// package.json + +{ + "name": "my-website", + "version": "1.0.0", + "description": "", + "scripts": { + "server": "hugo server -b http://localhost -p 8000", + "dev": "NODE_ENV=development ./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w", + "build": "NODE_ENV=production ./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit" + }, + // and more... +} +``` + +现在,当你想要设计你的网站时,你可以调用 `npm run dev`,编译器将在监视模式下运行。当你准备部署时,运行 `npm run build`,你将得到一个干净的 Tailwind CSS 构建。 + +🙋‍♀️ 如果你需要帮助,请随时在 [GitHub Discussions](https://github.com/jpanther/congo/discussions) 上提问。 diff --git a/themes/congo/exampleSite/content/docs/advanced-customisation/thumb-static-website.svg b/themes/congo/exampleSite/content/docs/advanced-customisation/thumb-static-website.svg new file mode 100644 index 0000000..23b1caf --- /dev/null +++ b/themes/congo/exampleSite/content/docs/advanced-customisation/thumb-static-website.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/configuration/index.ja.md b/themes/congo/exampleSite/content/docs/configuration/index.ja.md new file mode 100644 index 0000000..c773e64 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/configuration/index.ja.md @@ -0,0 +1,187 @@ +--- +title: "基本設定" +date: 2020-08-14 +draft: false +description: "Congoで利用可能なすべての設定" +summary: "Congoで利用可能なすべてのサイト、言語、テーマ設定と、それらを使用してプロジェクトをカスタマイズする方法をご覧ください。" +slug: "configuration" +tags: ["config", "docs"] +--- + +Congoは高度にカスタマイズ可能なテーマで、最新のHugoの機能のいくつかを使用して、設定方法を簡素化しています。 + +このテーマには、基本的なブログまたは静的ウェブサイトを立ち上げて実行できるようにするデフォルト設定が同梱されています。 + +> 同梱されている設定ファイルはTOMLフォーマットで提供されています。設定ファイルをYAMLやJSONに変換したい場合はご自由にどうぞ。 + +デフォルトのテーマ設定は各ファイルに文書化されているので、ニーズに合わせて自由に設定を調整することができます。 + +{{< alert >}} +[インストール手順]({{< ref "/docs/installation#set-up-theme-configuration-files" >}})で説明されているように、Hugoプロジェクトの `config/_default/` にあるファイルを修正し、プロジェクトルートにある `config.toml` ファイルを削除することで、テーマの設定を調整します。 +{{< /alert >}} + +## サイト設定 + +Hugoの標準的な設定変数はテーマ全体を通して尊重されますが、最良のエクスペリエンスのために設定すべき特別なものもあります。 + +サイトの設定は `config/_default/config.toml` ファイルで管理されます。下の表はCongoが利用するすべての設定の概要です。 + +この表で提供される変数名は、TOML構造を簡略化するためにドット記法を使用していることに注意してください(つまり、 `outputs.home` は `[outputs] home` を指します)。 + + +|Name|Default|Description| +|---|---|---| +|`theme`|`"congo"`|Hugo Modulesを使用する場合、この設定値は削除してください。他のすべてのインストールタイプでは、テーマを機能させるために `congo` に設定する必要があります。| +|`baseURL`|_Not set_|ウェブサイトのルートへのURL。| +|`defaultContentLanguage`|`"en"`|この値はテーマコンポーネントとコンテンツのデフォルト言語を決定します。サポートされる言語コードについては、下記の[言語と国際化](#言語と国際化)セクションを参照してください。| +|`enableRobotsTXT`|`true`|有効にすると、サイトルートに `robots.txt` ファイルが作成され、検索エンジンがサイト全体をクロールできるようになります。あらかじめ用意されている `robots.txt` を利用したい場合は、`false` に設定して `static` ディレクトリにファイルを置いてください。完全にコントロールしたい場合は、[カスタムレイアウト]({{< ref "content-examples" >}})を指定してこのファイルを生成することができます。| +|`paginate`|`10`|記事一覧の各ページに掲載される記事の数。| +|`summaryLength`|`0`|記事の要約が[フロントマター]({{< ref "front-matter" >}})で提供されていない場合に、記事の要約を生成するために使われる単語の数。デフォルト値 `0` は最初の文章を使用します。この値は要約が非表示の場合には影響しません。| +|`outputs.home`|`["HTML", "RSS", "JSON"]`|生成される出力フォーマット。Congoでは、すべてのテーマコンポーネントが正しく動作するために、HTML、RSS、JSONが必要です。| +|`permalinks`|_Not set_|パーマリンクの設定は[Hugo docs](https://gohugo.io/content-management/urls/#permalinks)を参照してください。| +|`taxonomies`|_Not set_|Taxonomiesについては、[コンテンツの整理]({{< ref "getting-started" >}})セクションを参照してください。| + + +## 言語と国際化 + +Congoは完全な多言語ウェブサイト用に最適化されており、テーマのアセットはすぐに複数の言語に翻訳されます。言語設定により、複数バージョンのコンテンツを生成し、訪問者の母国語でカスタマイズされたエクスペリエンスを提供することができます。 + +Congoは現在、以下の言語に対応しています: + +| Language | Code | +| --------------------------------------- | ------- | +| :gb: **English (default)** | `en` | +| :egypt: Arabic | `ar` | +| :bangladesh: Bengali | `bn` | +| :bulgaria: Bulgarian | `bg` | +| :cn: Chinese - Simplified (China) | `zh-cn` | +| :taiwan: Chinese - Traditional (Taiwan) | `zh-tw` | +| :flag-cz: Czech | `cs` | +| :netherlands: Dutch | `nl` | +| :finland: Finnish | `fi` | +| :fr: French | `fr` | +| :de: German | `de` | +| :israel: Hebrew | `he` | +| :hungary: Hungarian | `hu` | +| :indonesia: Indonesian | `id` | +| :it: Italian | `it` | +| :jp: Japanese | `ja` | +| :kr: Korean | `ko` | +| :poland: Polish | `pl` | +| :brazil: Portuguese (Brazil) | `pt-br` | +| :portugal: Portuguese (Portugal) | `pt-pt` | +| :romania: Romanian | `ro` | +| :ru: Russian | `ru` | +| :slovakia: Slovak | `sk` | +| :es: Spanish (Spain) | `es` | +| :sweden: Swedish | `sv` | +| :flag-lk: Tamil | `ta` | +| :tr: Turkish | `tr` | +| :ukraine: Ukrainian | `uk` | +| :vietnam: Vietnamese | `vi` | + +翻訳文字列を含むカスタムファイルを `i18n/[code].yaml` に作成することでデフォルトの翻訳をオーバーライドできます。このメソッドを使って新しい言語を追加することもできます。新しい翻訳をコミュニティと共有したい場合、[Pull Request](https://github.com/jpanther/congo/pulls)を作ってください。 + +### 設定 + +可能な限り柔軟に対応するために、ウェブサイトの言語ごとに言語設定ファイルを作成する必要があります。デフォルトでは、Congoは `config/_default/languages.en.toml` に英語の言語設定を含んでいます。 + +英語以外の言語でウェブサイトを作成したい場合は、デフォルトのファイルをテンプレートとして使用したり、ファイル名を変更したりすることができます。ファイル名は `languages.[language-code].toml` という形式にしてください。 + +{{< alert >}} +**注記:** [サイト設定](#サイト設定)の `defaultContentLanguage` パラメーターが、言語設定ファイル名の `[language-code]` と一致していることを確認してください。 +{{< /alert >}} + + +|Name|Default|Description| +|---|---|---| +|`languageCode`|`"en"`|このファイルの言語コード。トップレベル言語 (例 `en`)またはサブ変数 (例 `en-AU`)で、ファイル名の `[language-code]` と一致する必要があります。| +|`languageName`|`"English"`|言語名。| +|`languageDirection`|`"ltr"`|RTL言語かどうか。 `"rtl"` に設定すると、コンテンツを右から左にリフローする。CongoはRTL言語とLTR言語の同時使用を完全にサポートしており、動的に両方の言語に調整します。| +|`weight`|`1`|多言語サイトを構築する際の優先順序。| +|`title`|`"Congo"`|ウェブサイトのタイトル。サイトのヘッダーとフッターに表示されます。| +|`copyright`|_Not set_|サイトのフッターに表示する著作権メッセージを含むMarkdown文字列。何も指定されない場合、Congoは `title` を使って自動的にコピーライト文字列を生成します。| +|`params.dateFormat`|`"2 January 2006"`|日付の書式。許容される書式については、[Hugo docs](https://gohugo.io/functions/format/#gos-layout-string)を参照してください。| +|`params.mainSections`|_Not set_|最近の記事リストに表示するセクション。指定されていない場合は、記事の数が最も多いセクションが使われます。| +|`params.description`|_Not set_|ウェブサイトの説明。これはサイトのメタデータに使用されます。| +|`params.author.name`|_Not set_|著者の名前。これは記事のフッターと、プロフィールレイアウトが使用されている場合にホームページに表示されます。| +|`params.author.image`|_Not set_|著者の画像ファイルへのパス。画像は縦横比1:1で、 `assets/` に置くこと。| +|`params.author.headline`|_Not set_|著者の見出しを含むMarkdown文字列。プロフィールのトップページで著者の名前の下に表示されます。| +|`params.author.bio`|_Not set_|著者の経歴を含むMarkdown文字列。記事のフッターに表示されます。| +|`params.author.links`|_Not set_|著者の詳細とともに表示するリンク。設定ファイルにはリンクの例が含まれており、コメントを外すだけで有効にすることができます。リンクが表示される順番は、配列に表示される順番によって決まります。 `assets/icons/` に対応するSVGアイコンを用意することで、カスタムリンクを追加することもできます。| + + +### メニュー + +Congoは言語別メニュー設定もサポートしている。メニュー設定ファイルは、言語ファイルと同じ命名形式に従っています。ファイル名に言語コードを指定するだけで、そのファイルがどの言語に関連するかをHugoに伝えることができます。 + +メニュー設定ファイルは `menus.[language-code].toml` という形式で命名されます。 `[language-code]` が設定と一致していることを常に確認してください。 + +[はじめに]({{< ref "getting-started#メニュー" >}})セクションで、このファイルの構造について詳しく説明しています。また、[Hugo menu docs](https://gohugo.io/content-management/menus/)にも設定例があります。 + +## テーマパラメーター + +Congoはテーマの機能を制御する多数の設定パラメーターを提供します。下の表は `config/_default/params.toml` ファイルで利用可能なパラメーターの概要です。 + +パラメーターの多くは、フロントマターで指定することで、記事ごとに上書きすることができます。詳しくは、[フロントマター]({{< ref "front-matter" >}})セクションを参照してください。 + + +|Name|Default|Description| +|---|---|---| +|`colorScheme`|`"congo"`|使用する配色。有効な値は `congo` (デフォルト), `avocado`, `cherry`, `fire`, `ocean`, `sapphire`, `slate` です。詳しくは [カラースキーム]({{< ref "getting-started#カラースキーム" >}})セクションを参照してください。| +|`defaultThemeColor`|`"#FFFFFF"`|まだ翻訳されていません。| +|`defaultAppearance`|`"light"`|デフォルトのテーマ外観、 `light` または `dark` のいずれか。| +|`autoSwitchAppearance`|`true`|テーマの外観を訪問者のオペレーティングシステムの設定に基づいて自動的に切り替えるかどうか。常に `defaultAppearance` を使うようにするには `false` を設定します。| +|`enableSearch`|`false`|サイト内検索を有効にするかどうか。検索機能を有効にするには `true` を設定します。検索機能は、[サイト設定](#サイト設定)の `outputs.home` が正しく設定されているかどうかに依存することに注意してください。| +|`enableCodeCopy`|`false`|`` ブロックに対してクリップボードへのコピーボタンを有効にするかどうか。 `highlight.noClasses` が `false` に設定されていなければ、コードコピーは正しく機能しません。[その他の設定ファイル](#その他の設定ファイル)については以下を参照してください。| +|`enableImageLazyLoading`|`true`|ブラウザが遅延ロードするように画像をマークするかどうか。| +|`robots`|_Not set_|ロボットがあなたのサイトをどのように扱うべきかを示す文字列。設定された場合、 `` に出力されます。有効な値については[Googleのドキュメント](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives)を参照してください。| +|`fingerprintAlgorithm`|`"sha256"`|`assets` にフィンガープリントを行う際のハッシュアルゴリズム。有効なオプションは `md5`、`sha256`、`sha384` および `sha512` です。| +|`header.layout`|`"basic"`|ヘッダーとメニューのレイアウト。有効な値は `basic`、`hamburger`、`hybrid`または`custom`です。 `custom` に設定した場合は、 `/layouts/partials/header/custom.html` ファイルを作成して独自のレイアウトを指定する必要があります。| +|`header.logo`|_Not set_|`assets/` 内のロゴファイルへの相対パス。ロゴファイルは2倍の解像度で提供され、任意の画像サイズに対応している必要があります。| +|`header.logoDark`|_Not set_|`dark` モード時に使用されるロゴファイルへの相対パス。| +|`header.showTitle`|`true`|サイトのタイトルをヘッダーに表示するかどうか。| +|`footer.showCopyright`|`true`|サイトフッターにコピーライト文字列を表示するかどうか。[言語と国際化](#言語と国際化)の `copyright` パラメーターを使って文字列自体をカスタマイズできます。| +|`footer.showThemeAttribution`|`true`|"Powered by Hugo & Congo" といった帰属表示をフッターに表示するかどうか。この表示を無効にする場合は、サイト上の他の場所(例えば、アバウトページなど)でテーマの帰属を表示することを検討してください。| +|`footer.showAppearanceSwitcher`|`false`|フッターに外観スイッチャーを表示するかどうか。訪問者の設定を保持するためにブラウザのローカルストレージが使用されます。| +|`footer.showScrollToTop`|`true`|`true` に設定すると、最上部にスクロールする矢印が表示されます。| +|`homepage.layout`|`"page"`|ホームページのレイアウト。有効な値は `page`, `profile` または `custom` です。 `custom` に設定した場合は、 `/layouts/partials/home/custom.html` ファイルを作成して、独自のレイアウトを指定する必要があります。詳しくは[ホームページレイアウト]({{< ref "homepage-layout" >}})セクションを参照してください。| +|`homepage.showRecent`|`false`|ホームページに最近の記事リストを表示するかどうか。| +|`homepage.recentLimit`|`5`|`homepage.showRecent` が `true` の場合に表示する最近の記事の最大数。| +|`article.showDate`|`true`|記事が作成された日付を表示するかどうか。| +|`article.showDateUpdated`|`false`|記事が更新された日付を表示するかどうか。| +|`article.showAuthor`|`true`|記事フッターに著者欄を表示するかどうか。| +|`article.showBreadcrumbs`|`false`|記事のヘッダーにパンくずリストを表示するかどうか。| +|`article.showDraftLabel`|`true`|`--buildDrafts` でビルドしたときに、記事の横に下書きインジケータを表示するかどうか。| +|`article.showEdit`|`false`|記事の内容を編集するためのリンクを表示するかどうか。| +|`article.editURL`|_Not set_|`article.showEdit` がアクティブな場合の編集リンクのURL。| +|`article.editAppendPath`|`true`|`article.editURL`で設定されたURLに現在の記事へのパスを追加するかどうか。| +|`article.showHeadingAnchors`|`true`|見出しアンカーリンクを記事内の見出しと一緒に表示するかどうか。| +|`article.showPagination`|`true`|記事のフッターに次/前の記事リンクを表示するかどうか。| +|`article.invertPagination`|`false`|次の記事/前の記事リンクの向きを反転させるかどうか。| +|`article.showReadingTime`|`true`|記事の予想読了時間を表示するかどうか。| +|`article.showTableOfContents`|`false`|記事に目次を表示するかどうか。| +|`article.showTaxonomies`|`false`|この記事に関連するTaxonomiesを表示するかどうか。| +|`article.showWordCount`|`false`|記事の単語数を表示するかどうか。| +|`article.showComments`|`false`|[コメント]({{< ref "partials#コメント" >}})を記事フッターの後に含めるかどうか。| +|`article.sharingLinks`|_Not set_|各記事の最後に共有リンクを表示するかどうか。 `false` にすると共有リンクは表示されません。| +|`list.showBreadcrumbs`|`false`|リストページのヘッダーにパンくずリストを表示するかどうか。| +|`list.showTableOfContents`|`false`|リストページに目次を表示するかどうか。| +|`list.showTaxonomies`|`false`|リストページに関連するTaxonomiesを表示するかどうか。| +|`list.showSummary`|`false`|リストページに記事の要約を表示するかどうか。もし[フロントマター]({{< ref "front-matter" >}})で要約が提供されていない場合、[サイト設定](#サイト設定)の `summaryLength` パラメーターを使って要約が自動生成されます。| +|`list.groupByYear`|`true`|リストページで記事を年ごとにグループ化するかどうか。| +|`list.paginationWidth`|`1`|リストページを切り詰める際に、現在のページの両側にいくつのページネーションリンクを出力するか。 `1` の場合、現在のページの両側に1つのリンクを出力します。 _最初のページ_ と _最後のページ_ へのリンクは常に表示され、この値に追加されます。| +|`sitemap.excludedKinds`|`["taxonomy", "term"]`|生成される `/sitemap.xml` から除外されるべきコンテンツの種類。許容される値については[Hugo docs](https://gohugo.io/templates/section-templates/#page-kinds)を参照してください。| +|`taxonomy.showTermCount`|`true`|TaxonomiesのリストにTermごとの記事数を表示するかどうか。| +|`fathomAnalytics.site`|_Not set_|Fathom Analyticsによって生成されたウェブサイトのサイトコード。詳細は[アナリティクス]({{< ref "partials#アナリティクス" >}})を参照してください。| +|`verification.google`|_Not set_|サイトのメタデータに含めるGoogleが提供するサイト検証文字列。| +|`verification.bing`|_Not set_|サイトのメタデータに含めるBingが提供するサイト検証文字列。| +|`verification.pinterest`|_Not set_|サイトのメタデータに含めるPinterestが提供するサイト検証文字列。| +|`verification.yandex`|_Not set_|サイトのメタデータに含めるYandexが提供するサイト検証文字列。| + + +## その他の設定ファイル + +このテーマには `markup.toml` 設定ファイルも含まれています。このファイルにはいくつかの重要なパラメータが含まれており、Congoで構築されたサイトを生成するためにHugoが正しく設定されるようにします。 + +このファイルがconfigディレクトリに存在し、必要な値が設定されていることを常に確認してください。これを行わないと、特定の機能が正しく動作しなかったり、意図しない動作になったりする可能性があります。 diff --git a/themes/congo/exampleSite/content/docs/configuration/index.md b/themes/congo/exampleSite/content/docs/configuration/index.md new file mode 100644 index 0000000..1fb2e82 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/configuration/index.md @@ -0,0 +1,194 @@ +--- +title: "Configuration" +date: 2020-08-14 +draft: false +description: "All the configuration variables available in Congo." +summary: "Discover all the site, language and theme configurations that are available in Congo and how they can be used to customise your project." +slug: "configuration" +tags: ["config", "docs"] +--- + +Congo is a highly customisable theme and uses some of the latest Hugo features to simplify how it is configured. + +The theme ships with a default configuration that gets you up and running with a basic blog or static website. + +> Configuration files bundled with the theme are provided in TOML format as this is the default Hugo syntax. Feel free to convert your config to YAML or JSON if you wish. + +The default theme configuration is documented in each file so you can freely adjust the settings to meet your needs. + +{{< alert >}} +As outlined in the [installation instructions]({{< ref "/docs/installation#set-up-theme-configuration-files" >}}), you should adjust your theme configuration by modifying the files in the `config/_default/` folder of your Hugo project and delete the `config.toml` file in your project root. +{{< /alert >}} + +## Site configuration + +Standard Hugo configuration variables are respected throughout the theme, however there are some specific things that should be configured for the best experience. + +The site configuration is managed through the `config/_default/config.toml` file. The table below outlines all the settings that the Congo takes advantage of. + +Note that the variable names provided in this table use dot notation to simplify the TOML data structure (ie. `outputs.home` refers to `[outputs] home`). + + +|Name|Default|Description| +|---|---|---| +|`theme`|`"congo"`|When using Hugo Modules this config value should be removed. For all other installation types, this must be set to `congo` for the theme to function.| +|`baseURL`|_Not set_|The URL to the root of the website.| +|`defaultContentLanguage`|`"en"`|This value determines the default language of theme components and content. Refer to the [language and i18n](#language-and-i18n) section below for supported language codes.| +|`enableRobotsTXT`|`true`|When enabled, a `robots.txt` file will be created in the site root that allows search engines to crawl the entire site. If you prefer to provide your own pre-made `robots.txt`, set to `false` and place your file in the `static` directory. For complete control, you may provide a [custom layout]({{< ref "content-examples#custom-layouts" >}}) to generate this file.| +|`paginate`|`10`|The number of articles listed on each page of the article listing.| +|`summaryLength`|`0`|The number of words that are used to generate the article summary when one is not provided in the [front matter]({{< ref "front-matter" >}}). A value of `0` will use the first sentence. This value has no effect when summaries are hidden.| +|`outputs.home`|`["HTML", "RSS", "JSON"]`|The output formats that are generated for the site. Congo requires HTML, RSS and JSON for all theme components to work correctly.| +|`permalinks`|_Not set_|Refer to the [Hugo docs](https://gohugo.io/content-management/urls/#permalinks) for permalink configuration.| +|`taxonomies`|_Not set_|Refer to the [Organising content]({{< ref "getting-started#organising-content" >}}) section for taxonomy configuration.| + + +## Language and i18n + +Congo is optimised for full multilingual websites and theme assets are translated into several languages out of the box. The language configuration allows you to generate multiple versions of your content to provide a customised experience to your visitors in their native language. + +The theme currently supports the following languages out of the box: + +| Language | Code | +| --------------------------------------- | ------- | +| :gb: **English (default)** | `en` | +| :egypt: Arabic | `ar` | +| :bangladesh: Bengali | `bn` | +| :bulgaria: Bulgarian | `bg` | +| :cn: Chinese - Simplified (China) | `zh-cn` | +| :taiwan: Chinese - Traditional (Taiwan) | `zh-tw` | +| :flag-cz: Czech | `cs` | +| :netherlands: Dutch | `nl` | +| :finland: Finnish | `fi` | +| :fr: French | `fr` | +| :de: German | `de` | +| :israel: Hebrew | `he` | +| :hungary: Hungarian | `hu` | +| :indonesia: Indonesian | `id` | +| :it: Italian | `it` | +| :jp: Japanese | `ja` | +| :kr: Korean | `ko` | +| :poland: Polish | `pl` | +| :brazil: Portuguese (Brazil) | `pt-br` | +| :portugal: Portuguese (Portugal) | `pt-pt` | +| :romania: Romanian | `ro` | +| :ru: Russian | `ru` | +| :slovakia: Slovak | `sk` | +| :es: Spanish (Spain) | `es` | +| :sweden: Swedish | `sv` | +| :flag-lk: Tamil | `ta` | +| :tr: Turkish | `tr` | +| :ukraine: Ukrainian | `uk` | +| :vietnam: Vietnamese | `vi` | + +The default translations can be overridden by creating a custom file in `i18n/[code].yaml` that contains the translation strings. You can also use this method to add new languages. If you'd like to share a new translation with the community, please [open a pull request](https://github.com/jpanther/congo/pulls). + +### Configuration + +In order to be as flexible as possible, a language configuration file needs to be created for each language on the website. By default Congo includes an English language configuration at `config/_default/languages.en.toml`. + +The default file can be used as a template to create additional languages, or renamed if you wish to author your website in a language other than English. Simply name the file using the format `languages.[language-code].toml`. + +{{< alert >}} +**Note:** Ensure the `defaultContentLanguage` parameter in the [site configuration](#site-configuration) matches the language code in your language config filename. +{{< /alert >}} + + +|Name|Default|Description| +|---|---|---| +|`languageCode`|`"en"`|The Hugo language code for this file. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-AU`) and should match the language code in the filename.| +|`languageName`|`"English"`|The name of the language.| +|`languageDirection`|`"ltr"`|Whether or not this is an RTL language. Set to `"rtl"` to reflow content from right-to-left. Congo fully supports using RTL and LTR languages at the same time and will dynamically adjust to both.| +|`weight`|`1`|The weight determines the order of languages when building multilingual sites.| +|`title`|`"Congo"`|The title of the website. This will be displayed in the site header and footer.| +|`copyright`|_Not set_|A Markdown string containing the copyright message to be displayed in the site footer. If none is provided, Congo will automatically generate a copyright string using the site `title`.| +|`params.dateFormat`|`"2 January 2006"`|How dates are formatted in this language. Refer to the [Hugo docs](https://gohugo.io/functions/format/#gos-layout-string) for acceptable formats.| +|`params.mainSections`|_Not set_|The sections that should be displayed in the recent articles list. If not provided the section with the greatest number of articles is used.| +|`params.description`|_Not set_|The website description. This will be used in the site metadata.| +|`params.author.name`|_Not set_|The author's name. This will be displayed in article footers, and on the homepage when the profile layout is used.| +|`params.author.image`|_Not set_|Path to the image file of the author. The image should be a 1:1 aspect ratio and placed in the site's `assets/` folder.| +|`params.author.headline`|_Not set_|A Markdown string containing the author's headline. It will be displayed on the profile homepage under the author's name.| +|`params.author.bio`|_Not set_|A Markdown string containing the author's bio. It will be displayed in article footers.| +|`params.author.links`|_Not set_|The links to display alongside the author's details. The config file contains example links which can simply be uncommented to enable. The order that the links are displayed is determined by the order they appear in the array. Custom links can be added by providing corresponding SVG icon assets in `assets/icons/`.| + + +### Menus + +Congo also supports language-specific menu configurations. Menu config files follow the same naming format as the languages file. Simply provide the language code in the file name to tell Hugo which language the file relates to. + +Menu config files are named with the format `menus.[language-code].toml`. Always ensure that the language code used in the menus configuration matches the languages configuration. + +The [Getting Started]({{< ref "getting-started#menus" >}}) section explains more about the structure of this file. You can also refer to the [Hugo menu docs](https://gohugo.io/content-management/menus/) for more configuration examples. + +## Theme parameters + +Congo provides a large number of configuration parameters that control how the theme functions. The table below outlines every available parameter in the `config/_default/params.toml` file. + +Many of the article defaults here can be overridden on a per article basis by specifying it in the front matter. Refer to the [Front Matter]({{< ref "front-matter" >}}) section for further details. + + +|Name|Default|Description| +|---|---|---| +|`colorScheme`|`"congo"`|The theme colour scheme to use. Valid values are `congo` (default), `avocado`, `cherry`, `fire`, `ocean`, `sapphire` and `slate`. Refer to the [Colour Schemes]({{< ref "getting-started#colour-schemes" >}}) section for more details.| +|`defaultThemeColor`|`"#FFFFFF"`|The original value (before any scripts modify it) to use for the `theme-color` meta tag. The meta tag will be changed based on the theme (`light` or `dark`) but it is useful for services that source the original value this tag to display an accent color (e.g. Discord)| +|`defaultAppearance`|`"light"`|The default theme appearance, either `light` or `dark`.| +|`autoSwitchAppearance`|`true`|Whether the theme appearance automatically switches based upon the visitor's operating system preference. Set to `false` to force the site to always use the `defaultAppearance`.| +|`enableSearch`|`false`|Whether site search is enabled. Set to `true` to enable search functionality. Note that the search feature depends on the `outputs.home` setting in the [site configuration](#site-configuration) being set correctly.| +|`enableCodeCopy`|`false`|Whether copy-to-clipboard buttons are enabled for `` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below.| +|`enableImageLazyLoading`|`true`|Whether images should be marked for lazy loading by the browser.| +|`enableImageWebp`|`true`|Whether images should be output in the more performant WebP format.| +|`enableQuicklink`|`true`|Whether the [Quicklink](https://getquick.link/) library should be included in the site. Quicklink prefetches links based upon the user's viewport and leads to faster page navigation.| +|`robots`|_Not set_|String that indicates how robots should handle your site. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values.| +|`fingerprintAlgorithm`|`"sha256"`|String that indicates which hashing algorithm is used when fingerprinting assets. Valid options include `md5`, `sha256`, `sha384` and `sha512`.| +|`header.layout`|`"basic"`|The layout of the page header and menu. Valid values are `basic`, `hamburger`, `hybrid` or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/header/custom.html` file.| +|`header.logo`|_Not set_|The relative path to the site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions.| +|`header.logoDark`|_Not set_|As per the `header.logo` parameter, however this image is used whenever dark mode is active.| +|`header.showTitle`|`true`|Whether the site title is displayed in the header.| +|`footer.showCopyright`|`true`|Whether or not to show the copyright string in the site footer. Note that the string itself can be customised using the `copyright` parameter in the [languages configuration](#language-and-i18n).| +|`footer.showThemeAttribution`|`true`|Whether or not to show the "powered by" theme attribution in the site footer. If you choose to disable this message, please consider attributing the theme somewhere else on your site (for example, on your about page).| +|`footer.showAppearanceSwitcher`|`false`|Whether or not to show the appearance switcher in the site footer. The browser's local storage is used to persist the visitor's preference.| +|`footer.showScrollToTop`|`true`|When set to `true` the scroll to top arrow is displayed.| +|`homepage.layout`|`"page"`|The layout of the homepage. Valid values are `page`, `profile` or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details.| +|`homepage.showRecent`|`false`|Whether or not to display the recent articles list on the homepage.| +|`homepage.recentLimit`|`5`|The maximum number of recent articles to display when `homepage.showRecent` is `true`.| +|`article.showDate`|`true`|Whether or not article dates are displayed.| +|`article.showDateUpdated`|`false`|Whether or not the dates articles were updated are displayed.| +|`article.showAuthor`|`true`|Whether or not the author box is displayed in the article footer.| +|`article.showBreadcrumbs`|`false`|Whether or not breadcrumbs are displayed in the article header.| +|`article.showDraftLabel`|`true`|Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`.| +|`article.showEdit`|`false`|Whether or not the link to edit the article content should be displayed.| +|`article.editURL`|_Not set_|When `article.showEdit` is active, the URL for the edit link.| +|`article.editAppendPath`|`true`|When `article.showEdit` is active, whether or not the path to the current article should be appended to the URL set at `article.editURL`.| +|`article.showHeadingAnchors`|`true`|Whether or not heading anchor links are displayed alongside headings within articles.| +|`article.showPagination`|`true`|Whether or not the next/previous article links are displayed in the article footer.| +|`article.invertPagination`|`false`|Whether or not to flip the direction of the next/previous article links.| +|`article.showReadingTime`|`true`|Whether or not article reading times are displayed.| +|`article.showTableOfContents`|`false`|Whether or not the table of contents is displayed on articles.| +|`article.showTaxonomies`|`false`|Whether or not the taxonomies related to this article are displayed.| +|`article.showWordCount`|`false`|Whether or not article word counts are displayed.| +|`article.showComments`|`false`|Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer.| +|`article.sharingLinks`|_Not set_|An array of sharing links to display at the end of each article. Valid options include `facebook`, `x-twitter`, `mastodon`, `pinterest`, `reddit`, `linkedin`, `email`, `threads`, `telegram` and `line`. When not provided, or set to `false`, no links will be displayed.| +|`list.showBreadcrumbs`|`false`|Whether or not breadcrumbs are displayed in the header on list pages.| +|`list.showTableOfContents`|`false`|Whether or not the table of contents is displayed on list pages.| +|`list.showTaxonomies`|`false`|Whether or not the taxonomies related to this article are displayed on list pages.| +|`list.showSummary`|`false`|Whether or not article summaries are displayed on list pages. If a summary is not provided in the [front matter]({{< ref "front-matter" >}}), one will be auto generated using the `summaryLength` parameter in the [site configuration](#site-configuration).| +|`list.groupByYear`|`true`|Whether or not articles are grouped by year on list pages.| +|`list.paginationWidth`|`1`|How many pagination links to output either side of the current page when the page list needs to be truncated. A width of `1` will output one link either side of the current page when the list needs to be truncated. Links to the current, first and last pages are always displayed and are in addition to this value.| +|`sitemap.excludedKinds`|`["taxonomy", "term"]`|Kinds of content that should be excluded from the generated `/sitemap.xml` file. Refer to the [Hugo docs](https://gohugo.io/templates/section-templates/#page-kinds) for acceptable values.| +|`taxonomy.showTermCount`|`true`|Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing.| +|`fathomAnalytics.site`|_Not set_|The site code generated by Fathom Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details.| +|`plausibleAnalytics.domain`|_Not set_|Enter the domain of the website you want to track. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details.| +|`plausibleAnalytics.event`|_Not set_|Plausible api event proxied URL. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details.| +|`plausibleAnalytics.script`|_Not set_|Plausible analysis script proxied URL. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details.| +|`umamiAnalytics.site`|_Not set_|The tracking code generated by Umami Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details.| +|`umamiAnalytics.region`|`eu`|Select the Umami Analytics server region to connect to. The value is a string that can be either `eu` or `us`.| +|`verification.google`|_Not set_|The site verification string provided by Google to be included in the site metadata.| +|`verification.bing`|_Not set_|The site verification string provided by Bing to be included in the site metadata.| +|`verification.pinterest`|_Not set_|The site verification string provided by Pinterest to be included in the site metadata.| +|`verification.yandex`|_Not set_|The site verification string provided by Yandex to be included in the site metadata.| + + +## Other configuration files + +The theme also includes a `markup.toml` configuration file. This file contains some important parameters that ensure that Hugo is correctly configured to generate sites built with Congo. + +Always ensure this file is present in the config directory and that the required values are set. Failure to do so may cause certain features to function incorrectly and could result in unintended behaviour. diff --git a/themes/congo/exampleSite/content/docs/configuration/index.zh-cn.md b/themes/congo/exampleSite/content/docs/configuration/index.zh-cn.md new file mode 100644 index 0000000..654212c --- /dev/null +++ b/themes/congo/exampleSite/content/docs/configuration/index.zh-cn.md @@ -0,0 +1,187 @@ +--- +title: "基本配置" +date: 2020-08-14 +draft: false +description: "Congo中所有可使用的设定变量" +summary: "探索一下 Congo 中所有的站点、语言和主题配置变量,以及如何用于自定义你的项目。" +slug: "configuration" +tags: ["config", "docs"] +--- + +Congo 是一个高度可定制的主题,利用一些最新的 Hugo 特性来简化配置过程。 + +该主题附带了一个默认配置,让你可以快速启动一个基本的博客或静态网站。 + +> 主题附带的配置文件采用 TOML 格式,因为这是 Hugo 的默认语法。如果你愿意,可以将配置转换为 YAML 或 JSON。 + +每个文件中都有默认主题配置的文档,因此你可以自由调整设置以满足你的需求。 + +{{< alert >}} +正如在[安装说明]({{< ref "/docs/installation#set-up-theme-configuration-files" >}})中所述,你应该通过修改 Hugo 项目的 `config/_default/` 文件夹中的文件来调整主题配置,并删除项目根目录中的 `config.toml` 文件。 +{{< /alert >}} + +## 网站配置 + +Congo主题全面遵循标准 Hugo 配置变量,但是有一些特定的配置项需要进行设置以获得最佳体验。 + +网站配置通过 `config/_default/config.toml` 文件管理。下表概述了 Congo 主题所使用的所有设置。 + +请注意,此表中提供的变量名使用点表示法来简化 TOML 数据结构(即 `outputs.home` 指的是 `[outputs] home`)。 + + +|名称|默认值|描述| +|---|---|---| +|`theme`|`"congo"`|使用 Hugo 模块方法安装时,应删除此配置值。对于所有其他安装类型,必须将其设置为 `congo`,以使主题正常运行。| +|`baseURL`|_未设置_|网站根目录的 URL。| +|`defaultContentLanguage`|`"en"`|此值确定主题组件和内容的默认语言。有关受支持的语言代码,请参阅下面的[语言和国际化](#language-and-i18n)部分。| +|`enableRobotsTXT`|`true`|启用时,在站点根目录将创建一个 `robots.txt` 文件,允许搜索引擎爬取整个站点。如果你更喜欢提供自己制作的 `robots.txt`,请设置为 `false` 并将文件放置在 `static` 目录中。为了完全控制,你可以提供一个[自定义布局]({{< ref "content-examples#custom-layouts" >}})来生成此文件。| +|`paginate`|`10`|在文章列表中每页列出的文章数。| +|`summaryLength`|`0`|在[front matter]({{< ref "front-matter" >}})中未提供摘要时,用于生成文章摘要的字数。值为 `0` 将使用第一句。当摘要被隐藏时,此值无效。| +|`outputs.home`|`["HTML", "RSS", "JSON"]`|生成站点的输出格式。Congo 需要 HTML、RSS 和 JSON 才能使所有主题组件正常工作。| +|`permalinks`|_未设置_|有关固定链接配置,请参阅[Hugo文档](https://gohugo.io/content-management/urls/#permalinks)。| +|`taxonomies`|_未设置_|有关分类法配置,请参阅[组织内容]({{< ref "getting-started#organising-content" >}})部分。| + + +## 语言和国际化 + +Congo 针对完整的多语言网站进行了优化,并且主题assets中已经默认翻译成多种语言。语言配置允许您生成多个版本的内容,以为访问者提供在其母语中的定制体验。 + +该主题目前支持以下语言: + +| 语言 | 代码 | +| ----------------------------- | ------- | +| :gb: **英语(默认)** | `en` | +| :egypt: 阿拉伯语 | `ar` | +| :bangladesh: 孟加拉语 | `bn` | +| :bulgaria: 保加利亚语 | `bg` | +| :cn: 中文 - 简体(中国) | `zh-cn` | +| :taiwan: 中文 - 繁体(台湾) | `zh-tw` | +| :flag-cz: 捷克语 | `cs` | +| :netherlands: 荷兰语 | `nl` | +| :finland: 芬兰语 | `fi` | +| :fr: 法语 | `fr` | +| :de: 德语 | `de` | +| :israel: 希伯来语 | `he` | +| :hungary: 匈牙利语 | `hu` | +| :indonesia: 印尼语 | `id` | +| :it: 意大利语 | `it` | +| :jp: 日语 | `ja` | +| :poland: 波兰语 | `pl` | +| :brazil: 葡萄牙语(巴西) | `pt-br` | +| :portugal: 葡萄牙语(葡萄牙) | `pt-pt` | +| :romania: 罗马尼亚语 | `ro` | +| :ru: 俄语 | `ru` | +| :slovakia: 斯洛伐克语 | `sk` | +| :es: 西班牙语(西班牙) | `es` | +| :tr: 土耳其语 | `tr` | +| :ukraine: 乌克兰语 | `uk` | + +默认翻译可以通过在 `i18n/[code].yaml` 中创建自定义文件来覆盖,其中包含翻译字符串。您还可以使用此方法添加新语言。如果您希望与社区分享新的翻译,请[Pull Request](https://github.com/jpanther/congo/pulls)。 + +### 配置 + +为了尽可能灵活,需要为网站上的每种语言创建一个语言配置文件。默认情况下,Congo 在 `config/_default/languages.en.toml` 中包含英语语言配置。 + +默认文件可以用作创建其他语言的模板,或者如果希望使用英语以外的语言编写网站,则可以重命名。只需使用格式 `languages.[language-code].toml` 命名文件。 + +{{< alert >}} +**注意:** 确保[网站配置](#site-configuration)中的 `defaultContentLanguage` 参数与语言配置文件名中的语言代码匹配。 +{{< /alert >}} + + +|名称|默认值|描述| +|---|---|---| +|`languageCode`|`"en"`|此文件的 Hugo 语言代码。它可以是顶级语言(即 `en`)或子变体(即 `en-AU`),并应与文件名中的语言代码匹配。| +|`languageName`|`"English"`|语言的名称。| +|`languageDirection`|`"ltr"`|这是否是 RTL 语言。设置为 `"rtl"` 以从右到左重新排列内容。Congo 完全支持同时使用 RTL 和 LTR 语言,并会动态调整到两者。| +|`weight`|`1`|构建多语言站点时语言的顺序的权重。| +|`title`|`"Congo"`|网站的标题。这将显示在站点标题和页脚中。| +|`copyright`|_未设置_|包含要显示在站点页脚中的版权消息的 Markdown 字符串。如果未提供,则 Congo 将使用站点 `title` 自动生成版权字符串。| +|`params.dateFormat`|`"2 January 2006"`|此语言中日期的格式。有关可接受格式,请参阅[Hugo文档](https://gohugo.io/functions/format/#gos-layout-string)。| +|`params.mainSections`|_未设置_|显示在最新文章列表中的部分。如果未提供,则使用文章数最多的部分。| +|`params.description`|_未设置_|网站描述。这将用于站点元数据。| +|`author.name`|_未设置_|作者的姓名。这将显示在文章页脚和使用配置文件布局时在主页上。| +|`author.image`|_未设置_|作者的图像文件路径。图像应为1:1的宽高比,并放置在站点的 `assets/` 文件夹中。| +|`author.headline`|_未设置_|包含作者头衔的 Markdown 字符串。它将显示在主页上作者姓名下方。| +|`author.bio`|_未设置_|包含作者简介的 Markdown 字符串。它将显示在文章页脚中。| +|`author.links`|_未设置_|要显示在作者详细信息旁边的链接。配置文件包含可以取消注释以启用的示例链接。显示链接的顺序由它们在数组中出现的顺序确定。可以通过在 `assets/icons/` 中提供相应的 SVG 图标资产来添加自定义链接。| + + +### 菜单 + +Congo 还支持语言特定的菜单配置。菜单配置文件遵循与语言文件相同的命名格式。只需在文件名中提供语言代码,以告诉 Hugo 该文件与哪种语言相关。 + +菜单配置文件的命名格式为 `menus.[language-code].toml`。始终确保菜单配置中使用的语言代码与语言配置相匹配。 + +[快速开始]({{< ref "getting-started#menus" >}})部分更详细地解释了此文件的结构。您还可以参考[Hugo 菜单文档](https://gohugo.io/content-management/menus/)以获取更多配置示例。 + +## 主题参数 + +Congo 提供了大量的配置参数,用于控制主题的功能。下表概述了 `config/_default/params.toml` 文件中的每个可用参数。 + +这里的许多文章默认值可以通过在 front matter 中指定来覆盖每篇文章的默认值。有关详细信息,请参阅[Front Matter]({{< ref "front-matter" >}})部分。 + + +|名称|默认值|描述| +|---|---|---| +|`colorScheme`|`"congo"`|要使用的主题颜色方案。有效值为 `congo`(默认)、`avocado`、`cherry`、`fire`、`ocean`、`sapphire` 和 `slate`。有关详细信息,请参阅[颜色方案]({{< ref "getting-started#颜色方案" >}})部分。| +|`defaultThemeColor`|`"#FFFFFF`|`theme-color` meta 标签的原值(在脚本修改它之前)。meta 标签会根据所选主题而变化(`light` 或 `dark`),但是一些软件(例如 Discord)会使用该标签的原值来显示主题色。| +|`defaultAppearance`|`"light"`|默认的主题外观,可以是 `light` 或 `dark`。| +|`autoSwitchAppearance`|`true`|主题外观是否根据访问者的操作系统首选项自动切换。设置为 `false` 以始终使用 `defaultAppearance`。| +|`enableSearch`|`false`|是否启用站内搜索。设置为 `true` 以启用搜索功能。请注意,搜索功能取决于 [站点配置](#site-configuration) 中的 `outputs.home` 设置正确。| +|`enableCodeCopy`|`false`|是否启用 `` 块的复制到剪贴板按钮。`highlight.noClasses` 参数必须设置为 `false`,以使代码复制正常工作。有关[其他配置文件](#other-configuration-files)的详细信息,请阅读下文。| +|`enableImageLazyLoading`|`true`|是否将图像标记为浏览器的延迟加载。| +|`robots`|_未设置_|指示机器人如何处理您的站点的字符串。如果设置,将在页面头部输出。有关有效值,请参阅[Google 文档](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives)。| +|`fingerprintAlgorithm`|`"sha256"`|指示在对assets进行指纹识别时使用的哈希算法。有效选项包括 `md5`、`sha256`、`sha384` 和 `sha512`。| +|`header.layout`|`"basic"`|页面头部和菜单的布局。有效值为 `basic`、`hamburger`、`hybrid` 或 `custom`。当设置为 `custom` 时,您必须通过创建 `/layouts/partials/header/custom.html` 文件提供自己的布局。| +|`header.logo`|_未设置_|站点徽标文件在 `assets/` 文件夹内的相对路径。徽标文件应以 2x 分辨率提供,并支持任何图像尺寸。| +|`header.logoDark`|_未设置_|与 `header.logo` 参数相同,但此图像在启用深色模式时使用。| +|`header.showTitle`|`true`|是否在页眉中显示站点标题。| +|`footer.showCopyright`|`true`|是否在站点页脚显示版权字符串。请注意,可以使用[语言配置](#language-and-i18n)中的 `copyright` 参数自定义字符串。| +|`footer.showThemeAttribution`|`true`|是否在站点页脚显示 "由...强力驱动" 的主题归属。如果选择禁用此消息,请考虑在站点的其他地方(例如关于页面)写上主题归属。| +|`footer.showAppearanceSwitcher`|`false`|是否在站点页脚显示外观切换器。使用浏览器的本地存储来保留访问者的首选项。| +|`footer.showScrollToTop`|`true`|设置为 `true` 时,将显示返回顶部箭头。| +|`homepage.layout`|`"page"`|主页的布局。有效值为 `page`、`profile` 或 `custom`。当设置为 `custom` 时,您必须通过创建 `/layouts/partials/home/custom.html` 文件提供自己的布局。有关详细信息,请参阅[主页布局]({{< ref "homepage-layout" >}})部分。| +|`homepage.showRecent`|`false`|是否在主页上显示最近的文章列表。| +|`homepage.recentLimit`|`5`|当 `homepage.showRecent` 为 `true` 时,显示的最大最近文章数。| +|`article.showDate`|`true`|是否显示文章日期。| +|`article.showDateUpdated`|`false`|是否显示文章更新日期。| +|`article.showAuthor`|`true`|是否在文章页脚显示作者框。| +|`article.showBreadcrumbs`|`false`|是否在文章头部显示面包屑。| +|`article.showDraftLabel`|`true`|在使用 `--buildDrafts` 构建站点时,是否显示文章旁边的草稿标签。| +|`article.showEdit`|`false`|是否显示编辑文章内容的链接。| +|`article.editURL`|_未设置_|当 `article.showEdit` 激活时,编辑链接的 URL。| +|`article.editAppendPath`|`true`|当 `article.showEdit` 激活时,是否将当前文章的路径附加到设置为 `article.editURL` 的 URL。| +|`article.showHeadingAnchors`|`true`|是否在文章内的标题旁边显示锚链接。| +|`article.showPagination`|`true`|是否在文章页脚显示下一篇/上一篇文章的链接。| +|`article.invertPagination`|`false`|是否翻转下一篇/上一篇文章链接的方向。| +|`article.showReadingTime`|`true`|是否显示文章阅读时间。| +|`article.showTableOfContents`|`false`|是否在文章上显示目录。| +|`article.showTaxonomies`|`false`|是否在与文章相关的分类法上显示。| +|`article.showWordCount`|`false`|是否显示文章字数。| +|`article.showComments`|`false`|是否在文章页脚之后包含[comments partial]({{< ref "partials#comments" >}})。| +|`article.sharingLinks`|_未设置_|要在每篇文章末尾显示的分享链接。如果未提供或设置为 `false`,则不会显示任何链接。| +|`list.showBreadcrumbs`|`false`|是否在列表页面的页眉中显示面包屑。| +|`list.showTableOfContents`|`false`|是否在列表页面上显示目录。| +|`list.showTaxonomies`|`false`|是否在列表页面上显示与此文章相关的分类法。| +|`list.showSummary`|`false`|是否在列表页面上显示文章摘要。如果在[Front Matter]({{< ref "front-matter" >}})中未提供摘要,则将使用[站点配置](#site-configuration)中的 `summaryLength` 参数自动生成一个摘要。| +|`list.groupByYear`|`true`|是否在列表页面上按年份对文章进行分组。| +|`list.paginationWidth`|`1`|在需要截断页面列表时,输出当前页面两侧的分页链接数。宽度为 `1` 将在需要截断列表时输出当前页面两侧的一个链接。当前、第一个和最后一个页面的链接始终会显示,并且是在此值之外的链接。| +|`sitemap.excludedKinds`|`["taxonomy", "term"]`|应从生成的 `/sitemap.xml` 文件中排除的内容类型。有关可接受的值,请参阅[Hugo 文档](https://gohugo.io/templates/section-templates/#page-kinds)。| +|`taxonomy.showTermCount`|`true`|是否在分类法列表上显示分类术语内文章的数量。| +|`fathomAnalytics.site`|_未设置_|由 Fathom Analytics 为网站生成的站点代码。有关详细信息,请参阅[分析文档]({{< ref "partials#analytics" >}})。| +|`fathomAnalytics.domain`|_未设置_|如果在 Fathom Analytics 中使用自定义域,请在此提供以从自定义域提供 `script.js`。| +|`plausibleAnalytics.domain`|_未设置_|输入要跟踪的网站的域。有关详细信息,请参阅[分析文档]({{< ref "partials#analytics" >}})。| +|`plausibleAnalytics.event`|_未设置_|可寻址 Plausible api 事件的 URL。有关详细信息,请参阅[分析文档]({{< ref "partials#analytics" >}})。| +|`plausibleAnalytics.script`|_未设置_|可寻址 Plausible 分析脚本的 URL。有关详细信息,请参阅[分析文档]({{< ref "partials#analytics" >}})。| +|`verification.google`|_未设置_|由 Google 提供的要包含在站点元数据中的站点验证字符串。| +|`verification.bing`|_未设置_|由 Bing 提供的要包含在站点元数据中的站点验证字符串。| +|`verification.pinterest`|_未设置_|由 Pinterest 提供的要包含在站点元数据中的站点验证字符串。| +|`verification.yandex`|_未设置_|由 Yandex 提供的要包含在站点元数据中的站点验证字符串。| + + +## 其他配置文件 + +主题还包括一个 `markup.toml` 配置文件。该文件包含一些重要的参数,确保 Hugo 正确配置以生成使用 Congo 构建的站点。 + +始终确保此文件存在于配置目录中,并设置所需的值。否则,可能导致某些功能不正确地运行,并可能导致意外的行为。 diff --git a/themes/congo/exampleSite/content/docs/configuration/thumb-setup.svg b/themes/congo/exampleSite/content/docs/configuration/thumb-setup.svg new file mode 100644 index 0000000..4a35b78 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/configuration/thumb-setup.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/content-examples/index.ja.md b/themes/congo/exampleSite/content/docs/content-examples/index.ja.md new file mode 100644 index 0000000..9fb71e1 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/content-examples/index.ja.md @@ -0,0 +1,317 @@ +--- +title: "コンテンツの例" +date: 2020-08-09 +draft: false +description: "コンテンツがどのように作成され、構成されるべきかを示すいくつかの例" +summary: "コンテンツがどのように構成されるべきかを示すいくつかの例です。" +slug: "content-examples" +tags: ["content", "example"] +--- + +ドキュメントを順番に読んできたのなら、Congoで利用可能な機能と設定についてはすべて知っているはずです。このページでは、それらをまとめて、あなたがHugoプロジェクトで使いたくなるような例をいくつか紹介します。 + +{{< alert >}} +**ヒント:** もしあなたがHugoに慣れていないのであれば、[Hugo docs](https://gohugo.io/content-management/page-bundles/)をチェックし、ページバンドルとリソースの概念について学んでください。 +{{< /alert >}} + +このページで紹介する例はさまざまなシナリオに適用できますが、個々のプロジェクトで特定のコンテンツ項目をフォーマットする方法について、いくつかのアイデアが得られることを願っています。 + +## ブランチページ + +Hugoのブランチページバンドルは、ホームページ、セクションリスト、Taxonomyページのような項目をカバーしています。ブランチバンドルについて覚えておくべき重要なことは、このコンテンツタイプのファイル名は **`_index.md`** であるということです。 + +Congoはブランチページで指定されたフロントマターを尊重し、デフォルト設定を上書きします。例えば、ブランチページで `title` パラメーターを設定すると、ページタイトルを上書きすることができます。 + +### ホームページ + +| | | +| ------------ | -------------------- | +| **Layout:** | `layouts/index.html` | +| **Content:** | `content/_index.md` | + +Congoのホームページは、ホームページレイアウト設定パラメーターによって包括的なデザインが制御されるという点で特別です。これについては[ホームページレイアウト]({{< ref "homepage-layout" >}})セクションで詳しく説明しています。 + +このページにカスタムコンテンツを追加したい場合は、 `content/_index.md` ファイルを作成するだけです。このファイルにあるものはすべてホームページに含まれます。 + +**例:** + +```yaml +--- +title: "Congoへようこそ!" +description: "これはホームページにコンテンツを追加するデモです" +--- +私のウェブサイトへようこそ!立ち寄ってくれて本当に嬉しいです。 +``` + +_この例では、カスタムタイトルを設定し、ページ本文にいくつかの追加テキストを追加します。ショートコード、画像、リンクを含め、どのようなMarkdownフォーマットのテキストでも構いません。_ + +### リストページ + +| | | +| ------------ | ---------------------------- | +| **Layout:** | `layouts/_default/list.html` | +| **Content:** | `content/../_index.md` | + +リストページは、セクション内のすべてのページをグループ化し、訪問者が各ページに到達するための方法を提供します。ブログやポートフォリオは、記事やプロジェクトをグループ化したリストページの例です。 + +リストページの作成は、 `content` 内にサブディレクトリを作成するのと同じくらい簡単です。例えば、"Projects"セクションを作成するには、 `content/projects/` を作成します。そして、プロジェクトごとにMarkdownファイルを作成します。 + +デフォルトではリストページが生成されますが、コンテンツをカスタマイズするために、この新しいディレクトリに`_index.md`ページも作成してください。 + +```shell +. +└── content + └── projects + ├── _index.md # /projects + ├── first-project.md # /projects/first-project + └── another-project + ├── index.md # /projects/another-project + └── project.jpg +``` + +Hugoは、 `content/projects` 内のページのURLを適宜生成します。 + +ホームページと同じように、 `_index.md` ファイルのコンテンツは生成されたリストインデックスに出力されます。Congoはこのセクションのすべてのページをリストします。 + +**例:** + +```yaml +--- +title: "Projects" +description: "私のプロジェクトについて" +cascade: + showReadingTime: false +--- +このセクションには、私が現在取り組んでいるすべてのプロジェクトが含まれています。 +``` + +_この例では、特別な `cascade` パラメーターを使って、このセクション内のサブページの読書時間を非表示にしています。こうすることで、どのプロジェクトページでも読書時間が表示されなくなります。これは、個々のページにデフォルトのテーマパラメーターを含めなくても、セクション全体のデフォルトのテーマパラメーターを上書きすることができる素晴らしい方法です。_ + +このサイトの[サンプル]({{< ref "samples" >}})はリストページの一例です。 + +### Taxonomyページ + +| | | +| ---------------- | -------------------------------- | +| **List layout:** | `layouts/_default/taxonomy.html` | +| **Term layout:** | `layouts/_default/term.html` | +| **Content:** | `content/../_index.md` | + +Taxonomyページには、TaxonomyのリストとTaxonomyのTermという2つの形式があります。リストはTaxonomy内の各Termのリストを表示し、Termは指定されたTermに関連するページのリストを表示します。 + +Termは少し混乱しやすいので、`animals` というTaxonomyを使って例を探ってみましょう。 + +まず、HugoでTaxonomyを使うには設定が必要です。 `config/_default/taxonomies.toml` に設定ファイルを作成し、Taxonomyの名前を定義します。 + +```toml +# config/_default/taxonomies.toml + +animal = "animals" +``` + +HugoはTaxonomyを単数形と複数形でリストすることを想定しているので、単数形の `animal` と複数形の `animals` を追加して、例のTaxonomyを作成します。 + +これで `animals` Taxonomyが存在することになったので、個々のコンテンツに追加する必要があります。フロントマターに挿入するだけです: + +```yaml +--- +title: "ライオンの巣へ" +description: "今週はライオンについて学びます" +animals: ["lion", "cat"] +--- +``` + +これで `animals` Taxonomyの中に `lion` と `cat` というTermができたことになります。 + +この時点では明らかではありませんが、Hugoはこの新しいTaxonomyリストとTermのページを生成します。デフォルトでは、リストは `/animals/` に、Termページは `/animals/lion/` と `/animals/cat/` になります。 + +リストページはTaxonomyに含まれるすべてのTermをリストアップします。この例では、 `/animals/` に移動すると、 `lion` と `cat` のリンクがあるページが表示され、訪問者はそれぞれのTermページに移動できます。 + +TermページはそのTermが含まれるすべてのページをリストアップします。これらのTermリストは基本的に通常の[リストページ](#リストページ)とほとんど同じように動作します。 + +Taxonomyページにカスタムコンテンツを追加するには、Taxonomy名をサブディレクトリとして、 `content` 内に `_index.md` ファイルを作成するだけです。 + +```shell +. +└── content + └── animals + ├── _index.md # /animals + └── lion + └── _index.md # /animals/lion +``` + +これらのコンテンツファイルにあるものは生成されたTaxonomyページに配置されます。他のコンテンツと同じように、フロントマターはデフォルトを上書きするために使うことができます。このように、 `lion` という名前のタグがあっても、 `title` を"Lion"に上書きすることができます。 + +これが実際にどのように見えるかは、このサイトの[Tags]({{< ref "tags" >}})をチェックしてください。 + +## リーフページ + +| | | +| ------------------------- | ------------------------------- | +| **Layout:** | `layouts/_default/single.html` | +| **Content (standalone):** | `content/../page-name.md` | +| **Content (bundled):** | `content/../page-name/index.md` | + +Hugoのリーフページは基本的に標準的なコンテンツページです。サブページを含まないページとして定義されます。例えば、アバウトページや、ウェブサイトのブログセクションにある個々のブログ記事などです。 + +リーフページについて覚えておくべき最も重要なことは、ブランチページとは異なり、リーフページはアンダースコアなしで `index.md` と名前をつけるべきということです。リーフページはまた、セクションのトップレベルにまとめて一意な名前をつけることができるという点で特別です。 + +```shell +. +└── content + └── blog + ├── first-post.md # /blog/first-post + ├── second-post.md # /blog/second-post + └── third-post + ├── index.md # /blog/third-post + └── image.jpg +``` + +画像などをページに含める場合、ページバンドルを使用する必要があります。ページバンドルは `index.md` ファイルを含むサブディレクトリを使って作成します。ショートコードやその他のテーマロジックの多くは、リソースがページと一緒にバンドルされていることを前提としているので、コンテンツと一緒に独自のディレクトリにグループ化することが重要です。 + +**例:** + +```yaml +--- +title: "初めてのブログ投稿" +date: 2022-01-25 +description: "私のブログへようこそ!" +summary: "私について、そして私がなぜこのブログを始めたのか、もっと知ってください。" +tags: ["welcome", "new", "about", "first"] +--- +_これ_ が私のブログ記事の内容です。 +``` + +リーフページには様々な[フロントマター]({{< ref "front-matter" >}})パラメーターがあり、それらを使って表示方法をカスタマイズすることができます。 + +### 外部リンク + +Congoには、外部ページへのリンクを記事リストに表示できる特別な機能があります。これは、Mediumのようなサードパーティのウェブサイトや研究論文にコンテンツがあり、Hugoのサイトにコンテンツを複製することなくリンクを張りたい場合に便利です。 + +外部リンク記事を作成するには、特別なフロントマターを設定する必要があります: + +```yaml +--- +title: "私のMediumの記事" +date: 2022-01-25 +externalUrl: "https://medium.com/" +summary: "私はMediumに記事を書きました。" +showReadingTime: false +_build: + render: "false" + list: "local" +--- +``` + +`title` や `summary` のような通常のフロントマターパラメーターとともに、 `externalUrl` パラメーターはこの記事が普通の記事ではないことを伝えるために使われます。ここで指定されたURLは、訪問者がこの記事を選択したときに誘導される場所になります。 + +さらに、このコンテンツの通常のページが生成されないように(外部URLにリンクしているので、ページを生成する意味がありません!)、Hugoの特別なフロントマターパラメーターである `_build` を使用しています。 + +テーマには、このような外部リンク記事を簡単に生成するためのアーキタイプが含まれています。新しいコンテンツを作るときに `-k external` を指定するだけです。 + +```shell +hugo new -k external posts/my-post.md +``` + +### シンプルページ + +| | | +| ----------------- | ------------------------------ | +| **Layout:** | `layouts/_default/simple.html` | +| **Front Matter:** | `layout: "simple"` | + +Congoにはシンプルなページのための特別なレイアウトも含まれています。シンプル・レイアウトは全幅のテンプレートで、特別なテーマ機能なしにMarkdownコンテンツをページに配置するだけです。 + +シンプルレイアウトで利用できる唯一の機能はパンくずリストと共有リンクです。これらの動作は通常のページと同様に[フロントマター]({{< ref "front-matter" >}})パラメーターを使って制御することができます。 + +特定のページでシンプルレイアウトを有効にするには、 `layout` フロントマター変数に `"simple"` という値を追加します: + +```yaml +--- +title: "ランディングページ" +date: 2022-03-08 +layout: "simple" +--- +このページのコンテンツは全幅になりました。 +``` + +## カスタムレイアウト + +Hugoの利点のひとつは、サイト全体や個々のセクション、ページのカスタムレイアウトを簡単に作成できることです。 + +レイアウトは通常のHugoのテンプレート規則に従います。詳細は[Hugo公式ドキュメント](https://gohugo.io/templates/introduction/)をご覧ください。 + +### デフォルトレイアウトのオーバーライド + +上で説明した各コンテンツタイプには、各タイプのページを生成するために使用されるレイアウトファイルが記載されています。このファイルをローカルプロジェクトに作成すると、テーマテンプレートを上書きするので、ウェブサイトのデフォルトスタイルをカスタマイズするために使用することができます。 + +例えば、 `layouts/_default/single.html` ファイルを作成すれば、リーフページのレイアウトを完全にカスタマイズすることができます。 + +### カスタムセクションレイアウト + +また、個々のコンテンツセクションのカスタムレイアウトを作成するのも簡単です。これは、特定のコンテンツを特定のスタイルで一覧表示するセクションを作りたい場合に便利です。 + +特殊なレイアウトでプロジェクトを一覧表示するカスタム「Projects」ページを作成する例を見てみましょう。 + +これを行うには、通常のHugoコンテンツルールを使用してコンテンツを構成し、プロジェクト用のセクションを作成します。さらに、コンテンツと同じディレクトリ名を使い、 `list.html` ファイルを追加して、プロジェクトセクション用の新しいレイアウトを作成します。 + +```shell +. +└── content +│ └── projects +│ ├── _index.md +│ ├── first-project.md +│ └── second-project.md +└── layouts + └── projects + └── list.html +``` + +この `list.html` ファイルはデフォルトのリストテンプレートをオーバーライドします。このファイルを見る前に、まず個々のプロジェクトファイルを見てみましょう。 + +```yaml +--- +title: "Congo" +date: 2021-08-11 +icon: "github" +description: "Tailwind CSSで作られたHugoのテーマ" +topics: ["Hugo", "Web", "Tailwind"] +externalUrl: "https://github.com/jpanther/congo/" +--- +``` + +_この例では、各プロジェクトにメタデータを割り当て、リストテンプレートで使用できるようにしています。ページのコンテンツはありませんが、それを含めることを妨げるものも何もありません。あなたのカスタムテンプレートなのですから!_ + +プロジェクトが定義されたので、各プロジェクトの詳細を出力するリストテンプレートを作成することができます。 + +```go +{{ define "main" }} +
    + {{ range .Pages }} + + {{ end }} +
    +{{ end }} +``` + +これは非常にわかりやすい例ですが、このセクションの各ページ(つまり各プロジェクト)を順に見ていき、各プロジェクトへのHTMLリンクをアイコンと一緒に出力していることがわかります。各プロジェクトのフロントマターのメタデータは、どの情報を表示するかを決定するために使われます。 + +関連するスタイルとクラスが利用可能であることを確認する必要があり、Tailwind CSSを再コンパイルする必要があるかもしれないことを覚えておいてください。これについては、[高度なカスタマイズ]({{< ref "advanced-customisation" >}})セクションで詳しく説明します。 + +このようなカスタムテンプレートを作成する場合、デフォルトのCongoテンプレートがどのように動作するかを見て、それをガイドとして使用するのが最も簡単です。[Hugo docs](https://gohugo.io/templates/introduction/)はテンプレートの作成についてもっと学ぶための素晴らしいリソースです。 diff --git a/themes/congo/exampleSite/content/docs/content-examples/index.md b/themes/congo/exampleSite/content/docs/content-examples/index.md new file mode 100644 index 0000000..bdfa433 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/content-examples/index.md @@ -0,0 +1,317 @@ +--- +title: "Content Examples" +date: 2020-08-09 +draft: false +description: "Some examples that demonstrate how content should be created and structured." +summary: "It's time to bring everything together with some examples that demonstrate how content should be created and structured." +slug: "content-examples" +tags: ["content", "example"] +--- + +If you've been reading the documentation in order, you should now know about all the features and configurations available in Congo. This page is designed to pull everything together and offer some worked examples that you might like to use in your Hugo project. + +{{< alert >}} +**Tip:** If you're new to Hugo, be sure to check out the [official docs](https://gohugo.io/content-management/page-bundles/) to learn more about the concept of page bundles and resources. +{{< /alert >}} + +The examples on this page can all be adapted to different scenarios but hopefully give you some ideas about how to approach formatting a particular content item for your individual project. + +## Branch pages + +Branch page bundles in Hugo cover items like the homepage, section listings, and taxonomy pages. The important thing to remember about branch bundles is that the filename for this content type is **`_index.md`**. + +Congo will honour the front matter parameters specified in branch pages and these will override the default settings for that particular page. For example, setting the `title` parameter in a branch page will allow overriding the page title. + +### Homepage + +| | | +| ------------ | -------------------- | +| **Layout:** | `layouts/index.html` | +| **Content:** | `content/_index.md` | + +The homepage in Congo is special in that it's overarching design is controlled by the homepage layout config parameter. You can learn more about this in the [Homepage Layout]({{< ref "homepage-layout" >}}) section. + +If you want to add custom content to this page, you simply need to create a `content/_index.md` file. Anything in this file will then be included in your homepage. + +**Example:** + +```yaml +--- +title: "Welcome to Congo!" +description: "This is a demo of adding content to the homepage." +--- +Welcome to my website! I'm really happy you stopped by. +``` + +_This example sets a custom title and adds some additional text to the body of the page. Any Markdown formatted text is acceptable, including shortcodes, images and links._ + +### List pages + +| | | +| ------------ | ---------------------------- | +| **Layout:** | `layouts/_default/list.html` | +| **Content:** | `content/../_index.md` | + +List pages group all the pages within into a section and provide a way for visitors to reach each page. A blog or portfolio are examples of a list page as they group together posts or projects. + +Creating a list page is as simple as making a sub-directory in the content folder. For example, to create a "Projects" section, you would create `content/projects/`. Then create a Markdown file for each of your projects. + +A list page will be generated by default, however to customise the content, you should also create an `_index.md` page in this new directory. + +```shell +. +└── content + └── projects + ├── _index.md # /projects + ├── first-project.md # /projects/first-project + └── another-project + ├── index.md # /projects/another-project + └── project.jpg +``` + +Hugo will generate URLs for the pages in your projects folder accordingly. + +Just like the homepage, content in the `_index.md` file will be output into the generated list index. Congo will then list any pages in this section below the content. + +**Example:** + +```yaml +--- +title: "Projects" +description: "Learn about some of my projects." +cascade: + showReadingTime: false +--- +This section contains all my current projects. +``` + +_In this example, the special `cascade` parameter is being used to hide the reading time on any sub-pages within this section. By doing this, any project pages will not have their reading time showing. This is a great way to override default theme parameters for an entire section without having to include them in every individual page._ + +The [samples section]({{< ref "samples" >}}) of this site is an example of a list page. + +### Taxonomy pages + +| | | +| ---------------- | -------------------------------- | +| **List layout:** | `layouts/_default/taxonomy.html` | +| **Term layout:** | `layouts/_default/term.html` | +| **Content:** | `content/../_index.md` | + +Taxonomy pages come in two forms - taxonomy lists and taxonomy terms. Lists display a listing of each of the terms within a given taxonomy, while terms display a list of pages that are related to a given term. + +The terminology can get a little confusing so let's explore an example using a taxonomy named `animals`. + +Firstly, to use taxonomies in Hugo, they have to be configured. This is done by creating a config file at `config/_default/taxonomies.toml` and defining the taxonomy name. + +```toml +# config/_default/taxonomies.toml + +animal = "animals" +``` + +Hugo expects taxonomies to be listed using their singular and plural forms, so we add the singular `animal` equals the plural `animals` to create our example taxonomy. + +Now that our `animals` taxonomy exists, it needs to be added to individual content items. It's as simple as inserting it into the front matter: + +```yaml +--- +title: "Into the Lion's Den" +description: "This week we're learning about lions." +animals: ["lion", "cat"] +--- +``` + +This has now created two _terms_ within our `animals` taxonomy - `lion` and `cat`. + +Although it's not obvious at this point, Hugo will now be generating list and term pages for this new taxonomy. By default the listing can be accessed at `/animals/` and the term pages can be found at `/animals/lion/` and `/animals/cat/`. + +The list page will list all the terms contained within the taxonomy. In this example, navigating to `/animals/` will show a page that has links for "lion" and "cat" which take visitors to the individual term pages. + +The term pages will list all the pages contained within that term. These term lists are essentially the same as normal [list pages](#list-pages) and behave in much the same way. + +In order to add custom content to taxonomy pages, simply create `_index.md` files in the content folder using the taxonomy name as the sub-directory name. + +```shell +. +└── content + └── animals + ├── _index.md # /animals + └── lion + └── _index.md # /animals/lion +``` + +Anything in these content files will now be placed onto the generated taxonomy pages. As with other content, the front matter variables can be used to override defaults. In this way you could have a tag named `lion` but override the `title` to be "Lion". + +To see how this looks in reality, check out the [tags taxonomy listing]({{< ref "tags" >}}) on this site. + +## Leaf pages + +| | | +| ------------------------- | ------------------------------- | +| **Layout:** | `layouts/_default/single.html` | +| **Content (standalone):** | `content/../page-name.md` | +| **Content (bundled):** | `content/../page-name/index.md` | + +Leaf pages in Hugo are basically standard content pages. They are defined as pages that don't contain any sub-pages. These could be things like an about page, or an individual blog post that lives in the blog section of the website. + +The most important thing to remember about leaf pages is that unlike branch pages, leaf pages should be named `index.md` _without_ an underscore. Leaf pages are also special in that they can be grouped together at the top level of the section and named with a unique name. + +```shell +. +└── content + └── blog + ├── first-post.md # /blog/first-post + ├── second-post.md # /blog/second-post + └── third-post + ├── index.md # /blog/third-post + └── image.jpg +``` + +When including assets in a page, like an image, a page bundle should be used. Page bundles are created using a sub-directory with an `index.md` file. Grouping the assets with the content in its own directory is important as many of the shortcodes and other theme logic assumes that resources are bundled alongside pages. + +**Example:** + +```yaml +--- +title: "My First Blog Post" +date: 2022-01-25 +description: "Welcome to my blog!" +summary: "Learn more about me and why I am starting this blog." +tags: ["welcome", "new", "about", "first"] +--- +_This_ is the content of my blog post. +``` + +Leaf pages have a wide variety of [front matter]({{< ref "front-matter" >}}) parameters that can be used to customise how they are displayed. + +### External links + +Congo has a special feature that allows links to external pages to appear alongside articles in the article listings. This is useful if you have content on third party websites like Medium, or research papers that you'd like to link to, without replicating the content in your Hugo site. + +In order to create an external link article, some special front matter needs to be set: + +```yaml +--- +title: "My Medium post" +date: 2022-01-25 +externalUrl: "https://medium.com/" +summary: "I wrote a post on Medium." +showReadingTime: false +_build: + render: "false" + list: "local" +--- +``` + +Along with the normal front matter parameters like `title` and `summary`, the `externalUrl` parameter is used to tell Congo that this is not an ordinary article. The URL provided here will be where visitors are directed when they select this article. + +Additionally, we use a special Hugo front matter parameter `_build` to prevent a normal page for this content being generated - there's no point generating a page since we're linking to an external URL! + +The theme includes an archetype to make generating these external link articles simple. Just specify `-k external` when making new content. + +```shell +hugo new -k external posts/my-post.md +``` + +### Simple pages + +| | | +| ----------------- | ------------------------------ | +| **Layout:** | `layouts/_default/simple.html` | +| **Front Matter:** | `layout: "simple"` | + +Congo also includes a special layout for simple pages. The simple layout is a full-width template that just places Markdown content into the page without any special theme features. + +The only features available in the simple layout are breadcrumbs and sharing links. However, the behaviour of these can still be controlled using the normal page [front matter]({{< ref "front-matter" >}}) variables. + +To enable the simple layout on a particular page, add the `layout` front matter variable with a value of `"simple"`: + +```yaml +--- +title: "My landing page" +date: 2022-03-08 +layout: "simple" +--- +This page content is now full-width. +``` + +## Custom layouts + +One of the benefits of Hugo is that it makes it easy to create custom layouts for the whole site, individual sections or pages. + +Layouts follow all the normal Hugo templating rules and more information is available in the [official Hugo docs](https://gohugo.io/templates/introduction/). + +### Overriding default layouts + +Each of the content types discussed above lists the layout file that is used to generate each type of page. If this file is created in your local project it will override the theme template and thus can be used to customise the default style of the website. + +For example, creating a `layouts/_default/single.html` file will allow the layout of leaf pages to be completely customised. + +### Custom section layouts + +It is also simple to create custom layouts for individual content sections. This is useful when you want to make a section that lists a certain type of content using a particular style. + +Let's step through an example that creates a custom "Projects" page that lists projects using a special layout. + +In order to do this, structure your content using the normal Hugo content rules and create a section for your projects. Additionally, create a new layout for the projects section by using the same directory name as the content and adding a `list.html` file. + +```shell +. +└── content +│ └── projects +│ ├── _index.md +│ ├── first-project.md +│ └── second-project.md +└── layouts + └── projects + └── list.html +``` + +This `list.html` file will now override the default list template, but only for the `projects` section. Before we look at this file, lets first look at the individual project files. + +```yaml +--- +title: "Congo" +date: 2021-08-11 +icon: "github" +description: "A theme for Hugo built with Tailwind CSS." +topics: ["Hugo", "Web", "Tailwind"] +externalUrl: "https://github.com/jpanther/congo/" +--- +``` + +_In this example we are assigning some metadata for each project that we can then use in our list template. There's no page content, but there's nothing stopping you from including it. It's your own custom template after all!_ + +With the projects defined, now we can create a list template that outputs the details of each project. + +```go +{{ define "main" }} +
    + {{ range .Pages }} + + {{ end }} +
    +{{ end }} +``` + +Although this is quite a straightforward example, you can see that it steps through each of the pages in this section (ie. each project), and then outputs HTML links to each project alongside an icon. The metadata in the front matter for each project is used to determine which information is displayed. + +Keep in mind that you'll need to ensure the relevant styles and classes are available, which may require the Tailwind CSS to be recompiled. This is discussed in more detail in the [Advanced Customisation]({{< ref "advanced-customisation" >}}) section. + +When making custom templates like this one, it's always easiest to take a look at how the default Congo template works and then use that as a guide. Remember, the [Hugo docs](https://gohugo.io/templates/introduction/) are a great resource to learn more about creating templates too. diff --git a/themes/congo/exampleSite/content/docs/content-examples/index.zh-cn.md b/themes/congo/exampleSite/content/docs/content-examples/index.zh-cn.md new file mode 100644 index 0000000..312686c --- /dev/null +++ b/themes/congo/exampleSite/content/docs/content-examples/index.zh-cn.md @@ -0,0 +1,316 @@ +--- +title: "内容示例" +date: 2020-08-09 +draft: false +description: "一些演示如何创建和组织内容的示例。" +summary: "是时候通过一些演示示例将所有内容整合起来,展示如何创建和组织内容了。" +slug: "content-examples" +tags: ["content", "example"] +--- + +如果你按顺序阅读文档,现在应该对 Congo 中提供的所有功能和配置有所了解。本页面旨在将所有内容整合在一起,并提供一些你可能想在 Hugo 项目中使用的实际示例。 + +{{< alert >}} +**提示:** 如果你是 Hugo 新手,请务必查阅[官方文档](https://gohugo.io/content-management/page-bundles/),了解有关page bundles和资源概念的更多信息。 +{{< /alert >}} + +本页面的示例可以根据不同的情境进行调整,但希望能为你提供一些关于如何处理特定内容项格式的思路,以适应你个人项目的需要。 + +## 分支页面 + +在 Hugo 中,分支页面包括主页、部分列表和分类页面等。需要记住的一点是,此类内容的文件名是 **`_index.md`**。 + +Congo 将遵循分支页面中指定的 front matter 参数,这些参数将覆盖该特定页面的默认设置。例如,在分支页面中设置 `title` 参数将允许覆盖页面标题。 + +### 主页 + +| | | +| ------------ | -------------------- | +| **布局:** | `layouts/index.html` | +| **内容:** | `content/_index.md` | + +在 Congo 中,主页是特殊的,因为其总体设计由主页布局配置参数控制。你可以在 [主页布局]({{< ref "homepage-layout" >}}) 部分了解更多信息。 + +如果你想在这个页面上添加自定义内容,只需创建一个 `content/_index.md` 文件。然后,此文件中的任何内容都将包含在你的主页中。 + +**示例:** + +```yaml +--- +title: "欢迎来到 Congo!" +description: "这是向主页添加内容的演示。" +--- +欢迎来到我的网站!我真的很高兴你停留在这里。 +``` + +_此示例设置了自定义标题,并在页面正文中添加了一些额外的文本。任何 Markdown 格式的文本都是可以接受的,包括短代码、图片和链接。_ + +### 列表页面 + +| | | +| ------------ | ---------------------------- | +| **布局:** | `layouts/_default/list.html` | +| **内容:** | `content/../_index.md` | + +列表页面将其内部的所有页面分组到一个部分,并提供一种让访问者访问每个页面的方式。博客或投影集是列表页面的示例,因为它们将帖子或项目分组在一起。 + +创建列表页面就像在 content 文件夹中创建一个子目录一样简单。例如,要创建一个 "Projects" 部分,你将创建 `content/projects/`。然后为你的每个项目创建一个 Markdown 文件。 + +列表页面将默认生成,但为了自定义内容,你还应该在这个新目录中创建一个 `_index.md` 页面。 + +```shell +. +└── content + └── projects + ├── _index.md # /projects + ├── first-project.md # /projects/first-project + └── another-project + ├── index.md # /projects/another-project + └── project.jpg +``` + +Hugo 将相应地为项目文件夹中的页面生成 URL。 + +就像主页一样,`_index.md` 文件中的内容将输出到生成的列表索引中。Congo 然后会在内容下方列出此部分中的任何页面。 + +**示例:** + +```yaml +--- +title: "项目" +description: "了解我的一些项目。" +cascade: + showReadingTime: false +--- +这个部分包含所有我的当前项目。 +``` + +_在此示例中,使用了特殊的 `cascade` 参数来隐藏此部分中任何子页面上的阅读时间。通过这样做,任何项目页面将不显示其阅读时间。这是在整个部分中覆盖默认主题参数的好方法,而无需在每个单独页面中包含它们。_ + +此站点的 [样本部分]({{< ref "samples" >}}) 是列表页面的示例。 + +### 分类页面 + +| | | +| ---------------- | -------------------------------- | +| **列表布局:** | `layouts/_default/taxonomy.html` | +| **术语布局:** | `layouts/_default/term.html` | +| **内容:** | `content/../_index.md` | + +分类页面有两种形式 - 分类列表和分类术语。列表显示给定分类中每个术语的列表,而术语显示与给定术语相关的页面列表。 + +术语可能会有点混淆,所以让我们通过一个使用名为 `animals` 的分类的示例来探讨一下。 + +首先,在 Hugo 中使用分类,必须进行配置。这是通过在 `config/_default/taxonomies.toml` 创建配置文件并定义分类名称来完成的。 + +```toml +# config/_default/taxonomies.toml + +animal = "animals" +``` + +Hugo 期望以它们的单数和复数形式列出分类,因此我们添加了单数 `animal` 等于复数 `animals` 来创建我们的示例分类。 + +现在我们的 `animals` 分类存在了,它需要被添加到各个内容项中。只需将其插入到前置元数据中: + +```yaml +--- +title: "Into the Lion's Den" +description: "This week we're learning about lions." +animals: ["lion", "cat"] +--- +``` + +这样就在我们的 `animals` 分类中创建了两个 _术语_ - `lion` 和 `cat`。 + +虽然此时并不明显,但 Hugo 现在将为这个新的分类生成列表和术语页面。默认情况下,可以通过 `/animals/` 访问列表,而术语页面可以在 `/animals/lion/` 和 `/animals/cat/` 找到。 + +列表页面将列出分类中包含的所有术语。在这个例子中,导航到 `/animals/` 将显示一个页面,其中包含指向各个术语页面的链接,如 "lion" 和 "cat"。 + +术语页面将列出该术语中包含的所有页面。这些术语列表本质上与普通的 [列表页面](#list-pages) 相同,并以相似的方式运作。 + +要向分类页面添加自定义内容,只需在使用分类名称作为子目录名的内容文件夹中创建 `_index.md` 文件。 + +```shell +. +└── content + └── animals + ├── _index.md # /animals + └── lion + └── _index.md # /animals/lion +``` + +这些内容文件中的任何内容都将放置到生成的分类页面上。与其他内容一样,前置元数据变量可用于覆盖默认设置。通过这种方式,您可以拥有一个名为 `lion` 的标签,但可以覆盖 `title` 为 "Lion"。 + +要了解实际效果,请查看此站点上的 [标签分类列表]({{< ref "tags" >}})。 + +## 单页 + +| | | +| ------------------------- | ------------------------------- | +| **布局:** | `layouts/_default/single.html` | +| **内容(独立):** | `content/../page-name.md` | +| **内容(打包):** | `content/../page-name/index.md` | + +Hugo 中的单页基本上是标准内容页面。它们被定义为不包含任何子页面的页面。这可能是关于页面,或者是博客部分中的单个博客文章。 + +关于单页的最重要的事情是,与分支页面不同,单页应该命名为 `index.md`,**没有**下划线。单页还很特殊,因为它们可以在部分的顶层进行分组,并以独特的名称命名。 + +```shell +. +└── content + └── blog + ├── first-post.md # /blog/first-post + ├── second-post.md # /blog/second-post + └── third-post + ├── index.md # /blog/third-post + └── image.jpg +``` + +在页面中包含资产,比如图片,应该使用页面包。页面包使用带有 `index.md` 文件的子目录创建。将资产与内容一起分组到自己的目录中是重要的,因为许多 shortcodes 和其他主题逻辑假定资源与页面一起打包。 + +**示例:** + +```yaml +--- +title: "我的第一篇博客文章" +date: 2022-01-25 +description: "欢迎来到我的博客!" +summary: "了解更多关于我以及我为什么开始写这个博客的信息。" +tags: ["欢迎", "新", "关于", "第一篇"] +--- +_这_ 是我的博客文章的内容。 +``` + +单页有各种可以用于自定义显示方式的 [前置元数据]({{< ref "front-matter" >}}) 参数。 + +### 外部链接 + +Congo 具有一个特殊功能,允许外部页面的链接出现在文章列表中。如果您在第三方网站(如 Medium)上有内容,或者有研究论文希望链接,而不想在 Hugo 站点中复制内容,这将非常有用。 + +要创建外部链接文章,需要设置一些特殊的前置元数据: + +```yaml +--- +title: "我的 Medium 文章" +date: 2022-01-25 +externalUrl: "https://medium.com/" +summary: "我在 Medium 上写了一篇文章。" +showReadingTime: false +_build: + render: "false" + list: "local" +--- +``` + +除了正常的前置元数据参数如 `title` 和 `summary` 外,`externalUrl` 参数用于告诉 Congo 这不是一篇普通文章。此处提供的 URL 将是访问者选择该文章时的目标链接。 + +此外,我们使用了一个特殊的 Hugo 前置元数据参数 `_build` 来阻止生成此内容的正常页面 - 因为我们正在链接到外部 URL,生成正常页面没有意义! + +主题包含一个原型,使生成这些外部链接文章变得简单。只需在创建新内容时指定 `-k external`。 + +```shell +hugo new -k external posts/my-post.md +``` + +### 简单页面 + +| | | +| ----------------- | ------------------------------ | +| **Layout:** | `layouts/_default/simple.html` | +| **Front Matter:** | `layout: "simple"` | + +Congo 还包括一个专门用于简单页面的特殊布局。简单布局是一个全宽度的模板,只需将 Markdown 内容放入页面,而不包含任何特殊的主题功能。 + +简单布局中唯一可用的功能是面包屑和分享链接。但是,这些的行为仍然可以通过使用正常页面 [前置元数据]({{< ref "front-matter" >}}) 变量进行控制。 + +要在特定页面上启用简单布局,请添加 `layout` 前置元数据变量,其值为 `"simple"`: + +```yaml +--- +title: "我的落地页" +date: 2022-03-08 +layout: "simple" +--- +此页面内容现在是全宽度的。 + +## 自定义布局 + +Hugo 的一个好处是它使得为整个站点、单独的部分或页面创建自定义布局变得很容易。 + +布局遵循所有常规的 Hugo 模板规则,更多信息请参阅[官方 Hugo 文档](https://gohugo.io/templates/introduction/)。 + +### 覆盖默认布局 + +上面讨论的每种内容类型都列出了用于生成每种页面类型的布局文件。如果在本地项目中创建了此文件,它将覆盖主题模板,因此可用于自定义网站的默认样式。 + +例如,创建一个 `layouts/_default/single.html` 文件将允许完全自定义叶页面的布局。 + +### 自定义部分布局 + +为个别内容部分创建自定义布局也很简单。当您想要使用特定样式列出某种类型内容的部分时,这将非常有用。 + +让我们通过一个示例来创建一个自定义的“项目”页面,该页面使用特殊布局列出项目。 + +为了做到这一点,使用常规的 Hugo 内容规则构建您的内容,并为您的项目创建一个新部分。此外,通过使用与内容相同的目录名称并添加一个 `list.html` 文件来为项目部分创建一个新布局。 + +```shell +. +└── content +│ └── projects +│ ├── _index.md +│ ├── first-project.md +│ └── second-project.md +└── layouts + └── projects + └── list.html +``` + +这个 `list.html` 文件现在将覆盖默认的列表模板,但仅适用于 `projects` 部分。在我们查看这个文件之前,让我们首先查看个别项目文件。 + +```yaml +--- +title: "Congo" +date: 2021-08-11 +icon: "github" +description: "A theme for Hugo built with Tailwind CSS." +topics: ["Hugo", "Web", "Tailwind"] +externalUrl: "https://github.com/jpanther/congo/" +--- +``` + +_在这个示例中,我们为每个项目分配了一些元数据,然后我们可以在我们的列表模板中使用这些元数据。这里没有页面内容,但没有阻止您包含它。毕竟这是您自己的自定义模板!_ + +有了定义的项目,现在我们可以创建一个列表模板,输出每个项目的详细信息。 + +```go +{{ define "main" }} +
    + {{ range .Pages }} + + {{ end }} +
    +{{ end }} +``` + +虽然这是一个相当简单的示例,但您可以看到它逐步处理此部分中的每个页面(即每个项目),然后输出到每个项目旁边的 HTML 链接和图标。每个项目的前置元数据用于确定显示哪些信息。 + +请记住,您需要确保相关的样式和类可用,这可能需要重新编译 Tailwind CSS。这在 [高级自定义]({{< ref "advanced-customisation" >}}) 部分中有更详细的讨论。 + +在创建此类自定义模板时,最简单的方法始终是查看默认 Congo 模板的工作方式,然后将其用作指南。记住,[Hugo 文档](https://gohugo.io/templates/introduction/)也是学习有关创建模板的更多信息的绝佳资源。 diff --git a/themes/congo/exampleSite/content/docs/content-examples/thumb-inspiration.svg b/themes/congo/exampleSite/content/docs/content-examples/thumb-inspiration.svg new file mode 100644 index 0000000..7fbf615 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/content-examples/thumb-inspiration.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/front-matter/index.ja.md b/themes/congo/exampleSite/content/docs/front-matter/index.ja.md new file mode 100644 index 0000000..6bcf0e4 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/front-matter/index.ja.md @@ -0,0 +1,51 @@ +--- +title: "フロントマター" +date: 2020-08-12 +draft: false +description: "Congoにおけるフロントマターの設定について" +summary: "CongoはほとんどのHugoのデフォルト設定をサポートしつつ、個々の記事の表示をカスタマイズするための多くのフロントマターを追加しています。" +slug: "front-matter" +tags: ["front matter", "config", "docs"] +--- + +[Hugoのフロントマターパラメーター](https://gohugo.io/content-management/front-matter/#front-matter-variables)に加えて、Congoは個々の記事の表示をカスタマイズするためのオプションを追加しています。利用可能なフロントマターのパラメーターを以下に示します。 + +フロントマターパラメーターのデフォルト値はテーマの[基本設定]({{< ref "configuration" >}})から継承されるので、デフォルトを上書きしたい場合にのみフロントマターでこれらのパラメーターを指定する必要があります。 + + +|Name|Default|Description| +|---|---|---| +|`title`|_Not set_|記事の名前。| +|`description`|_Not set_|記事の説明文。HTMLメタデータで使用されます。| +|`feature`|`"*feature*"`|この記事の `feature` 画像のファイル名にマッチするテキストパターン。| +|`featureAlt`|`""`|`feature` 画像の代替テキスト説明。| +|`cover`|`"*cover*"`|この記事の `cover` 画像のファイル名にマッチするテキストパターン。| +|`coverAlt`|`featureAlt`|`cover` 画像の代替テキスト説明。| +|`coverCaption`|_Not set_|`cover` 画像の下に表示されるキャプションテキスト。| +|`thumbnail`|`"*thumb*"`_|この記事の `thumb` 画像のファイル名にマッチするテキストパターン。| +|`thumbnailAlt`|`featureAlt`|`thumb` 画像の代替テキスト説明。| +|`externalUrl`|_Not set_|この記事が第三者のウェブサイトで公開されている場合のURL。URLを提供することで、コンテンツページが生成されるのを防ぎ、この記事への参照はすべて第三者のウェブサイトに直接リンクされます。| +|`editURL`|`article.editURL`|`showEdit` がアクティブな場合の編集リンクのURL。| +|`editAppendPath`|`article.editAppendPath`|`editURL`で設定されたURLに現在の記事へのパスを追加するかどうか。| +|`groupByYear`|`list.groupByYear`|一覧ページで記事を年ごとにグループ化するかどうか。| +|`keywords`|_Not set_|記事のメタデータに含めるべきキーワード。| +|`menu`|_Not set_|値が指定されると、指定されたメニューにこの記事へのリンクが表示されます。有効な値は `main` または `footer` です。| +|`robots`|_Not set_|ロボットがこの記事をどのように扱うべきかを示す文字列。設定された場合、 `` に出力されます。有効な値については[Googleのドキュメント](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives)を参照してください。| +|`sharingLinks`|`article.sharingLinks`|この記事の最後にどの共有リンクを表示するか。 `false` に設定すると共有リンクは表示されません。| +|`showAuthor`|`article.showAuthor`|記事フッターに著者欄を表示するかどうか。| +|`showBreadcrumbs`|`article.showBreadcrumbs` or `list.showBreadcrumbs`|パンくずリストを記事のヘッダーに表示するか、リストのヘッダーに表示するか。| +|`showDate`|`article.showDate`|記事が作成された日付を表示するかどうか。日付は `date` パラメーターで設定します。| +|`showDateUpdated`|`article.showDateUpdated`|記事が更新された日付を表示するかどうか。日付は `lastmod` パラメーターで設定します。| +|`showEdit`|`article.showEdit`|記事の内容を編集するためのリンクを表示するかどうか。| +|`showHeadingAnchors`|`article.showHeadingAnchors`|見出しアンカーリンクを記事内の見出しと一緒に表示するかどうか。| +|`showPagination`|`article.showPagination`|記事のフッターに次/前の記事リンクを表示するかどうか。| +|`invertPagination`|`article.invertPagination`|次の記事/前の記事リンクの向きを反転させるかどうか。| +|`showReadingTime`|`article.showReadingTime`|記事の予想読了時間を表示するかどうか。| +|`showTaxonomies`|`article.showTaxonomies`|この記事に関連するTaxonomiesを表示するかどうか。| +|`showTableOfContents`|`article.showTableOfContents`|この記事に目次を表示するかどうか。| +|`showWordCount`|`article.showWordCount`|記事の単語数を表示するかどうか。| +|`showComments`|`article.showComments`|[コメント]({{< ref "partials#コメント" >}})を記事フッターの後に含めるかどうか。| +|`showSummary`|`list.showSummary`|リストページに記事の要約を表示するかどうか。| +|`summary`|Auto generated using `summaryLength` (see [site configuration]({{< ref "configuration#site-configuration" >}}))|`showSummary` が有効な場合、この記事の要約として使用されるMarkdown文字列。| +|`xml`|`true` unless excluded by `sitemap.excludedKinds`|この記事が `/sitemap.xml` ファイルに含まれるかどうか。| + diff --git a/themes/congo/exampleSite/content/docs/front-matter/index.md b/themes/congo/exampleSite/content/docs/front-matter/index.md new file mode 100644 index 0000000..4932051 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/front-matter/index.md @@ -0,0 +1,51 @@ +--- +title: "Front Matter" +date: 2020-08-12 +draft: false +description: "All the front matter variables available in Congo." +summary: "While supporting most Hugo defaults, Congo adds a number of front matter parameters to customise the presentation of individual articles." +slug: "front-matter" +tags: ["front matter", "config", "docs"] +--- + +In addition to the [default Hugo front matter parameters](https://gohugo.io/content-management/front-matter/#front-matter-variables), Congo adds a number of additional options to customise the presentation of individual articles. All the available theme front matter parameters are listed below. + +Front matter parameter default values are inherited from the theme's [base configuration]({{< ref "configuration" >}}), so you only need to specify these parameters in your front matter when you want to override the default. + + +|Name|Default|Description| +|---|---|---| +|`title`|_Not set_|The name of the article.| +|`description`|_Not set_|The text description for the article. It is used in the HTML metadata.| +|`feature`|`"*feature*"`|The text pattern to match the feature image filename for this article.| +|`featureAlt`|`""`|The alternative text description for the feature image.| +|`cover`|`"*cover*"`|The text pattern to match the cover image filename for this article.| +|`coverAlt`|`featureAlt`|The alternative text description for the cover image.| +|`coverCaption`|_Not set_|The figure caption text to be displayed beneath the cover image.| +|`thumbnail`|`"*thumb*"`_|The text pattern to match the thumbnail image filename for this article.| +|`thumbnailAlt`|`featureAlt`|The alternative text description for the thumbnail image.| +|`externalUrl`|_Not set_|If this article is published on a third-party website, the URL to this article. Providing a URL will prevent a content page being generated and any references to this article will link directly to the third-party website.| +|`editURL`|`article.editURL`|When `showEdit` is active, the URL for the edit link.| +|`editAppendPath`|`article.editAppendPath`|When `showEdit` is active, whether or not the path to the current article should be appended to the URL set at `editURL`.| +|`groupByYear`|`list.groupByYear`|Whether or not articles are grouped by year on list pages.| +|`keywords`|_Not set_|Any keywords that should be included in the article metadata.| +|`menu`|_Not set_|When a value is provided, a link to this article will appear in the named menus. Valid values are `main` or `footer`.| +|`robots`|_Not set_|String that indicates how robots should handle this article. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values.| +|`sharingLinks`|`article.sharingLinks`|Which sharing links to display at the end of this article. When not provided, or set to `false` no links will be displayed.| +|`showAuthor`|`article.showAuthor`|Whether or not the author box is displayed in the article footer.| +|`showBreadcrumbs`|`article.showBreadcrumbs` or `list.showBreadcrumbs`|Whether the breadcrumbs are displayed in the article or list header.| +|`showDate`|`article.showDate`|Whether or not the article date is displayed. The date is set using the `date` parameter.| +|`showDateUpdated`|`article.showDateUpdated`|Whether or not the date the article was updated is displayed. The date is set using the `lastmod` parameter.| +|`showEdit`|`article.showEdit`|Whether or not the link to edit the article content should be displayed.| +|`showHeadingAnchors`|`article.showHeadingAnchors`|Whether or not heading anchor links are displayed alongside headings within this article.| +|`showPagination`|`article.showPagination`|Whether or not the next/previous article links are displayed in the article footer.| +|`invertPagination`|`article.invertPagination`|Whether or not to flip the direction of the next/previous article links.| +|`showReadingTime`|`article.showReadingTime`|Whether or not the article reading time is displayed.| +|`showTaxonomies`|`article.showTaxonomies`|Whether or not the taxonomies that relate to this article are displayed.| +|`showTableOfContents`|`article.showTableOfContents`|Whether or not the table of contents is displayed on this article.| +|`showWordCount`|`article.showWordCount`|Whether or not the article word count is displayed.| +|`showComments`|`article.showComments`|Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer.| +|`showSummary`|`list.showSummary`|Whether or not the article summary should be displayed on list pages.| +|`summary`|Auto generated using `summaryLength` (see [site configuration]({{< ref "configuration#site-configuration" >}}))|When `showSummary` is enabled, this is the Markdown string to be used as the summary for this article.| +|`xml`|`true` unless excluded by `sitemap.excludedKinds`|Whether or not this article is included in the generated `/sitemap.xml` file.| + diff --git a/themes/congo/exampleSite/content/docs/front-matter/index.zh-cn.md b/themes/congo/exampleSite/content/docs/front-matter/index.zh-cn.md new file mode 100644 index 0000000..512b8be --- /dev/null +++ b/themes/congo/exampleSite/content/docs/front-matter/index.zh-cn.md @@ -0,0 +1,51 @@ +--- +title: "Front Matter" +date: 2020-08-12 +draft: false +description: "Congo中可用的所有Front Matter 变量。" +summary: "虽然支持大多数 Hugo 默认值,但 Congo 添加了许多前置参数,以定制单个文章的呈现方式。" +slug: "front-matter" +tags: ["front matter", "config", "docs"] +--- + +除了[默认 Hugo 的Front Matter变量](https://gohugo.io/content-management/front-matter/#front-matter-variables)之外,Congo 添加了许多额外的选项,以定制单个文章的呈现方式。以下是所有可用的主题前置变量参数。 + +Front Matter参数的默认值是从主题的[基础配置]({{< ref "configuration" >}})中继承的,因此只有在要覆盖默认值时才需要在Front Matter变量中指定这些参数。 + + +|Name|Default|Description| +|---|---|---| +|`title`|_未设置_|文章的标题。| +|`description`|_未设置_|文章的文本描述。用于 HTML 元数据。| +|`feature`|`"*feature*"`|用于匹配此文章的feature图片文件名的文本模式。| +|`featureAlt`|`""`|feature图片的替代文本描述。| +|`cover`|`"*cover*"`|用于匹配此文章的封面图片文件名的文本模式。| +|`coverAlt`|`featureAlt`|封面图片的替代文本描述。| +|`coverCaption`|_未设置_|在封面图片下方显示的图注文本。| +|`thumbnail`|`"*thumb*"`_|用于匹配此文章的缩略图图片文件名的文本模式。| +|`thumbnailAlt`|`featureAlt`|缩略图图片的替代文本描述。| +|`externalUrl`|_未设置_|如果此文章发表在第三方网站上,则为此文章的 URL。提供 URL 将阻止生成内容页面,并且对此文章的任何引用将直接链接到第三方网站。| +|`editURL`|`article.editURL`|当 `showEdit` 激活时,编辑链接的 URL。| +|`editAppendPath`|`article.editAppendPath`|当 `showEdit` 激活时,是否将当前文章的路径附加到 `editURL` 设置的 URL。| +|`groupByYear`|`list.groupByYear`|文章在列表页面上是否按年份分组。| +|`keywords`|_未设置_|应包含在文章元数据中的任何关键字。| +|`menu`|_未设置_|提供数值时,此文章的链接将出现在指定的菜单中。有效值为 `main` 或 `footer`。| +|`robots`|_未设置_|指示爬虫机器人如何处理此文章的字符串。如果设置,它将输出到页面头部。参考[Google文档](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives)获取有效值。| +|`sharingLinks`|`article.sharingLinks`|在文章末尾显示哪些分享链接。如果未提供或设置为 `false`,则不显示任何链接。| +|`showAuthor`|`article.showAuthor`|是否在文章页脚显示作者框。| +|`showBreadcrumbs`|`article.showBreadcrumbs` 或 `list.showBreadcrumbs`|是否在文章或列表页眉中显示面包屑。| +|`showDate`|`article.showDate`|是否显示文章日期。日期使用 `date` 参数设置。| +|`showDateUpdated`|`article.showDateUpdated`|是否显示文章的更新日期。日期使用 `lastmod` 参数设置。| +|`showEdit`|`article.showEdit`|是否显示编辑文章内容的链接。| +|`showHeadingAnchors`|`article.showHeadingAnchors`|是否在文章中的标题旁边显示标题锚链接。| +|`showPagination`|`article.showPagination`|是否在文章页脚显示下一篇/上一篇文章的链接。| +|`invertPagination`|`article.invertPagination`|是否翻转下一篇/上一篇文章链接的方向。| +|`showReadingTime`|`article.showReadingTime`|是否显示文章的阅读时间。| +|`showTaxonomies`|`article.showTaxonomies`|是否显示与此文章相关的分类法。| +|`showTableOfContents`|`article.showTableOfContents`|是否在文章中显示目录。| +|`showWordCount`|`article.showWordCount`|是否显示文章的字数统计。| +|`showComments`|`article.showComments`|是否在文章页脚后包含[评论部分]({{< ref "partials#comments" >}})。| +|`showSummary`|`list.showSummary`|是否在列表页上显示文章摘要。| +|`summary`|使用 `summaryLength` 自动生成(参见[站点配置]({{< ref "configuration#site-configuration" >}}))|当启用 `showSummary` 时,用作此文章摘要的 Markdown 字符串。| +|`xml`|`true`,除非被 `sitemap.excludedKinds` 排除|此文章是否包含在生成的 `/sitemap.xml` 文件中。| + diff --git a/themes/congo/exampleSite/content/docs/front-matter/thumb-file-analysis.svg b/themes/congo/exampleSite/content/docs/front-matter/thumb-file-analysis.svg new file mode 100644 index 0000000..bf4cc30 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/front-matter/thumb-file-analysis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/getting-started/article-screenshot.jpg b/themes/congo/exampleSite/content/docs/getting-started/article-screenshot.jpg new file mode 100644 index 0000000..9a7d721 Binary files /dev/null and b/themes/congo/exampleSite/content/docs/getting-started/article-screenshot.jpg differ diff --git a/themes/congo/exampleSite/content/docs/getting-started/index.ja.md b/themes/congo/exampleSite/content/docs/getting-started/index.ja.md new file mode 100644 index 0000000..961977c --- /dev/null +++ b/themes/congo/exampleSite/content/docs/getting-started/index.ja.md @@ -0,0 +1,246 @@ +--- +title: "はじめに" +date: 2020-08-15 +draft: false +description: "Congoを使い始める方法" +summary: "このセクションでは、すでにCongoをインストールし、カラースキーム、メニュー、コンテンツ構造の選択など基本的な設定作業を行う準備ができていることを前提としています。" +slug: "getting-started" +tags: ["installation", "docs"] +--- + +{{< alert >}} +このセクションはあなたが既に[インストール]({{< ref "docs/installation" >}})を終えていることを前提としています。 +{{< /alert >}} + +Congoに同梱されている設定ファイルには、テーマが認識できるすべての設定が含まれおり、デフォルトでは多くはコメントアウトされていますが、特定の機能を有効にしたり変更したりするには、コメントアウトを解除するだけです。 + +## 基本設定 + +コンテンツを作成する前に、新規インストール用に設定すべきことがいくつかあります。まず `config.toml` ファイルで、`baseURL` と `languageCode` パラメーターを設定し、 `languageCode` には、コンテンツの作成に使用するメインの言語を設定しましょう。 + +```toml +# config/_default/config.toml + +baseURL = "https://your_domain.com/" +languageCode = "en" +``` + +次のステップは言語設定です。Congoは多言語をサポートしていますが、今はメインの言語だけを設定してください。 + +`config/_default` の中にある `languages.en.toml` ファイルを探してください。メイン言語が英語の場合は、このファイルをそのまま使うことができます。そうでない場合は、ファイル名に正しい言語コードが含まれるようにファイル名を変更してください。例えばフランス語の場合は、 `languages.fr.toml` にファイル名を変更します。 + +{{< alert >}} +言語設定ファイル名の言語コードは、 `config.toml` の `languageCode` 設定と一致している必要があります。 +{{< /alert >}} + +```toml +# config/_default/languages.en.toml + +title = "My awesome website" + +[params.author] +name = "My name" +image = "img/author.jpg" +headline = "A generally awesome human" +bio = "A little bit about me" +links = [ + { twitter = "https://twitter.com/username" } +] +``` + +`[params.author]` はウェブサイト上でどのように著者情報を表示するかを決定します。画像はサイトの `assets/` に置きましょう。リンクはリストの記述順に沿って表示されます。 + +各設定に関する詳細情報は、[設定]({{< ref "configuration" >}})セクションで説明されています。 + +## カラースキーム + +Congoにはいくつかのカラースキームが同梱されています。配色を変更するには、`colorScheme` パラメーターを設定するだけです。有効なオプションは `congo` (デフォルト)、 `avocado` 、 `cherry` 、 `fire` 、 `ocean` 、 `sapphire` 、 `slate` です。 + +{{< alert >}} +`colourScheme` の値は小文字で指定します。 +{{< /alert >}} + +```toml +# config/_default/params.toml + +colorScheme = "congo" +``` + +Congoは、テーマ全体で使用される3色のパレットを定義しています。それぞれのメインカラーには、[Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference)に含まれる10色の濃淡が含まれています。 + +#### Congo (default) + +{{< swatches "#71717a" "#8b5cf6" "#d946ef" >}} + +#### Avocado + +{{< swatches "#78716c" "#84cc16" "#10b981" >}} + +#### Cherry + +{{< swatches "#737373" "#f43f5e" "#22c55e" >}} + +#### Fire + +{{< swatches "#78716c" "#f97316" "#f43f5e" >}} + +#### Ocean + +{{< swatches "#64748b" "#3b82f6" "#06b6d4" >}} + +#### Sapphire + +{{< swatches "#64748b" "#6366f1" "#ec4899" >}} + +#### Slate + +{{< swatches "#6B7280" "#64748b" "#6B7280" >}} + +独自の配色を作成することもできます。詳しくは [高度な設定]({{< ref "advanced-customisation#colour-schemes" >}})セクションを参照してください。 + +## コンテンツの整理 + +Congoは特定のコンテンツタイプを強制しません。そのため、自由にコンテンツを定義することができます。静的なサイトには*pages*、ブログには*posts*、ポートフォリオには*projects*がいいかもしれません。 + +### ディレクトリ構造 + +基本的なCongoプロジェクトの概要を説明します。すべてのコンテンツは `content` に置かれます: + +```shell +. +├── assets +│ └── img +│ └── author.jpg +├── config +│ └── _default +├── content +│ ├── _index.md +│ ├── about.md +│ └── posts +│ ├── _index.md +│ ├── first-post.md +│ └── another-post +│ ├── aardvark.jpg +│ └── index.md +└── themes + └── congo +``` + +{{< alert >}} +ここで注意しなければならないのは、コンテンツディレクトリの中で、通常の記事ページは `index.md` という名前になり、リストページは `_index.md` という名前になるということです。記事に付随するアセットはインデックスファイルと一緒にサブディレクトリに置く必要があります。 +{{< /alert >}} + +このテーマはHugoのページバンドルを最大限に活用するように設計されているため、Hugoがどのようにコンテンツを整理することを想定しているかをしっかりと把握することが重要です。詳しくは[Hugo公式ドキュメント](https://gohugo.io/content-management/organization/)を読んでください。 + +### feature、cover、そしてthumb(nail) + +Congoは、記事リストと個々の記事ページの上部に画像を表示できます。サポートされている画像には3つのタイプがあり、それぞれに使用例があります: `feature` 、 `cover` 、 `thumb` です。 + +以下の例では、 `first-post` の記事に `cover` と `thumb` を用意しています: + +```shell +. +└── content + └── posts + ├── _index.md + └── first-post + ├── cover.jpg + ├── index.md + └── thumb.jpg +``` + +`thumb` 画像は記事のサムネイルとして記事リストで表示され、 `cover` 画像は個々の記事ページで記事内容の上部に表示されます。 + +![A screenshot of an article with a thumbnail image](article-screenshot.jpg "この例では、 `thumb` 画像付きの記事を示しています。") + +{{< alert >}} +パフォーマンスの観点から、 `thumb` 画像は自動的に4:3の比率にトリミング・リサイズされます。 `cover` 画像は内容に合わせて自動的にリサイズされますが、比率は問いません。 +{{< /alert >}} + +The `feature` image is a special type, and when present, it will be used in place of _both_ the `thumb` and `cover` images. Feature images are also present in the article metadata, which is included when content is shared to third-party networks like Facebook and Twitter. +`feature` 画像は特別で、存在する場合には `thumb` 画像と `cover` 画像の両方の代わりに使用されます。 `feature` 画像は記事のメタデータとして、FacebookやTwitterのようなサードパーティのネットワークにコンテンツが共有される場合にも含まれます。 + +Congoは記事画像をインテリジェントに検出し、自動的にあなたのサイトに追加します。フロントマターでそれらを指定する必要はなく、ページリソース内に適切な名前のファイルを配置するだけです。画像ファイル名のどこかに `feature` 、 `cover` 、 `thumb` という単語があれば、それがその目的で使用されます。 + +[例]({{< ref "samples" >}})には、これらの画像の例が多数掲載されています(また、[ソースコード](https://github.com/jpanther/congo/tree/dev/exampleSite/content/samples)を参照してファイル構造を確認することもできます)。 + +### Taxonomies + +CongoはTaxonomiesに関しても柔軟です。 `tags` や `categories` を使ってコンテンツをグループ化したい人もいれば、 `topics` を使いたい人もいるでしょう。 + +Hugoはデフォルトで `posts` 、 `tags` 、 `categories` を使用するようになっています。しかし、これをカスタマイズしたい場合は、 `taxonomies.toml` 設定ファイルを作成することでカスタマイズできます: + +```toml +# config/_default/taxonomies.toml + +topic = "topics" +``` + +上記の例はデフォルトの _tags_ と _categories_ を _topics_ に置き換えます。詳細は、[Hugo Taxonomy docs](https://gohugo.io/content-management/taxonomies/)を参照してください。 + +When you create a new taxonomy, you will need to adjust the navigation links on the website to point to the correct sections, which is covered below. + +## メニュー + +Congoには2つのメニューがあり、サイトの内容やレイアウトに合わせてカスタマイズすることができます。 `main` メニューはサイトのヘッダーに表示され、 `footer` メニューはページの一番下、著作権表示のすぐ上に表示されます。 + +Both menus are configured in the `menus.en.toml` file. Similarly to the languages config file, if you wish to use another language, rename this file and replace `en` with the language code you wish to use. Menu links will be sorted from lowest to highest `weight`, and then alphabetically by `name`. +どちらのメニューも `menus.en.toml` ファイルで設定すします。 `menus.en.toml` ファイルは言語設定ファイルと同様に、他の言語を使いたい場合はファイル名を変更して使いたい言語コードに置き換えてください。メニューのリンクは `weight` の低いものから高いものへとソートされ、次にアルファベット順に `name` でソートされます。 + +```toml +# config/_default/menus.en.toml + +[[main]] + name = "Blog" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Topics" + pageRef = "topics" + weight = 20 + +[[main]] + name = "GitHub" + url = "https://github.com/jpanther/congo" + weight = 30 + [main.params] + icon = "github" + showName = false + target = "_blank" + +[[main]] + identifier = "search" + weight = 99 + [main.params] + action = "search" + icon = "search" + +[[footer]] + name = "Privacy" + pageRef = "privacy" +``` + +### 基本のリンク + +`name` パラメーターはメニューリンクで使用するテキストを指定します。また、オプションでリンクのHTMLタイトル属性となる `title` を指定することもできます。 + +`pageRef` パラメーターを使うと、HugoのコンテンツページやTaxonomyを簡単に参照することができます。Hugoのコンテンツアイテムを参照するだけで、自動的に正しいリンクが作成されるので、メニューを設定する最も簡単な方法です。外部URLへのリンクには `url` パラメーターを使用します。 + +リンク内に `params` を指定することで、さらなるカスタマイズが可能です。 `icon` を追加したり、 `showName` でリンクテキストを切り替えたり、URLに `target` を設定したりすることができます。上記の例では、GitHubリンクはアイコンのみで表示され、リンクは新しいウィンドウで開きます。 + +### アクションリンク + +There is a special case for creating menu items for links that take theme actions. These are denoted using the `action` parameter, and a value of the action the link should perform. Action links allow for all the same custom parameters as other links and can be styled with an icon or text name. +特別なケースとして、アクションを実行するリンク項目を作成する場合があります。これらは `action` パラメーターと実行するアクションの値を使って指定します。アクションリンクでは基本のリンクと同じカスタムパラメーターを使用することができ、アイコンやテキスト名でスタイルを設定することもできます。 + +有効なテーマ・アクションは2つあります: + +- `appearance` は外観を切り替えるリンクを作成します +- `search` はサイト内検索を行うリンクを作成します + +どちらのメニューも完全にオプションであり、必要なければコメントアウトすることができます。デフォルトとして提供されているテンプレートも参考にしてください。 + +## 詳細な設定 + +上記の手順は最低限の設定です。これで `hugo server` を実行すると、空白のCongoウェブサイトが表示されます。詳細な設定については、[設定]({{< ref "configuration" >}})セクションを参照してください。 diff --git a/themes/congo/exampleSite/content/docs/getting-started/index.md b/themes/congo/exampleSite/content/docs/getting-started/index.md new file mode 100644 index 0000000..9e019f6 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/getting-started/index.md @@ -0,0 +1,244 @@ +--- +title: "Getting Started" +date: 2020-08-15 +draft: false +description: "Learn how to get started using the Congo theme." +summary: "This section assumes you have already installed the Congo theme and are ready to start with basic configuration tasks like selecting a colour scheme, menu and content structure." +slug: "getting-started" +tags: ["installation", "docs"] +--- + +{{< alert >}} +This section assumes you have already [installed the Congo theme]({{< ref "docs/installation" >}}). +{{< /alert >}} + +The config files that ship with Congo contain all of the possible settings that the theme recognises. By default, many of these are commented out but you can simply uncomment them to activate or change a specific feature. + +## Basic configuration + +Before creating any content, there are a few things you should set for a new installation. Starting in the `config.toml` file, set the `baseURL` and `languageCode` parameters. The `languageCode` should be set to the main language that you will be using to author your content. + +```toml +# config/_default/config.toml + +baseURL = "https://your_domain.com/" +languageCode = "en" +``` + +The next step is to configure the language settings. Although Congo supports multilingual setups, for now, just configure the main language. + +Locate the `languages.en.toml` file in the config folder. If your main language is English you can use this file as is. Otherwise, rename it so that it includes the correct language code in the filename. For example, for French, rename the file to `languages.fr.toml`. + +{{< alert >}} +The language code in the language config filename should match the `languageCode` setting in `config.toml`. +{{< /alert >}} + +```toml +# config/_default/languages.en.toml + +title = "My awesome website" + +[params.author] +name = "My name" +image = "img/author.jpg" +headline = "A generally awesome human" +bio = "A little bit about me" +links = [ + { twitter = "https://twitter.com/username" } +] +``` + +The `[params.author]` configuration determines how the author information is displayed on the website. The image should be placed in the site's `assets/` folder. Links will be displayed in the order they are listed. + +If you need extra detail, further information about each of these configuration options, is covered in the [Configuration]({{< ref "configuration" >}}) section. + +## Colour schemes + +Congo ships with a number of colour schemes out of the box. To change the scheme, simply set the `colorScheme` theme parameter. Valid options are `congo` (default), `avocado`, `cherry`, `fire`, `ocean`, `sapphire` and `slate`. + +{{< alert >}} +The `colourScheme` value should be provided in lowercase. +{{< /alert >}} + +```toml +# config/_default/params.toml + +colorScheme = "congo" +``` + +Congo defines a three-colour palette that is used throughout the theme. Each main colour contains ten shades which are based upon the colours that are included in [Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference). + +#### Congo (default) + +{{< swatches "#71717a" "#8b5cf6" "#d946ef" >}} + +#### Avocado + +{{< swatches "#78716c" "#84cc16" "#10b981" >}} + +#### Cherry + +{{< swatches "#737373" "#f43f5e" "#22c55e" >}} + +#### Fire + +{{< swatches "#78716c" "#f97316" "#f43f5e" >}} + +#### Ocean + +{{< swatches "#64748b" "#3b82f6" "#06b6d4" >}} + +#### Sapphire + +{{< swatches "#64748b" "#6366f1" "#ec4899" >}} + +#### Slate + +{{< swatches "#6B7280" "#64748b" "#6B7280" >}} + +Although these are the default schemes, you can also create your own. Refer to the [Advanced Customisation]({{< ref "advanced-customisation#colour-schemes" >}}) section for details. + +## Organising content + +By default, Congo doesn't force you to use a particular content type. In doing so you are free to define your content as you wish. You might prefer _pages_ for a static site, _posts_ for a blog, or _projects_ for a portfolio. + +### Directory structure + +Here's a quick overview of a basic Congo project. All content is placed within the `content` folder: + +```shell +. +├── assets +│ └── img +│ └── author.jpg +├── config +│ └── _default +├── content +│ ├── _index.md +│ ├── about.md +│ └── posts +│ ├── _index.md +│ ├── first-post.md +│ └── another-post +│ ├── aardvark.jpg +│ └── index.md +└── themes + └── congo +``` + +{{< alert >}} +The key thing to note here is that within the content directory, normal article pages are named `index.md` while list pages are named `_index.md`. Any assets that go along with the article should be placed in a sub-directory alongside the index file. +{{< /alert >}} + +It's important to have a firm grasp of how Hugo expects content to be organised as the theme is designed to take full advantage of Hugo page bundles. Be sure to read the [official Hugo docs](https://gohugo.io/content-management/organization/) for more information. + +### Feature, cover and thumbnail images + +The Congo theme supports displaying images on article listings and at the top of individual article pages. There are three types of images supported, each with their own use case: `feature`, `cover` and `thumb`. + +In the example below, a cover and thumb image have been provided for the `first-post` article: + +```shell +. +└── content + └── posts + ├── _index.md + └── first-post + ├── cover.jpg + ├── index.md + └── thumb.jpg +``` + +The `thumb` image is used as the article thumbnail and will be displayed in article lists, and the `cover` image will be displayed at the top of the article content on individual article pages. + +![A screenshot of an article with a thumbnail image](article-screenshot.jpg "This example shows an article with a thumbnail image.") + +{{< alert >}} +In order to provide maximum performance, thumbnail images are automatically cropped and resized to a 4:3 ratio. Cover images will be automatically resized to fit their content, but any ratio is permitted. +{{< /alert >}} + +The `feature` image is a special type, and when present, it will be used in place of _both_ the `thumb` and `cover` images. Feature images are also present in the article metadata, which is included when content is shared to third-party networks like Facebook and Twitter. + +The theme will intelligently detect article images and automatically add them to your site. You don't have to refer to them in the front matter and simply need to place an appropriately named file within the page resources. If the term `feature`, `cover` or `thumb` is found anywhere in the image filename, then it will be used for that purpose. + +The [Samples section]({{< ref "samples" >}}) provides a number of examples of these images (and you can view the [source code](https://github.com/jpanther/congo/tree/dev/exampleSite/content/samples) to see the file structure). + +### Taxonomies + +Congo is also flexible when it comes to taxonomies. Some people prefer to use _tags_ and _categories_ to group their content, others prefer to use _topics_. + +Hugo defaults to using posts, tags and categories out of the box and this will work fine if that's what you want. If you wish to customise this, however, you can do so by creating a `taxonomies.toml` configuration file: + +```toml +# config/_default/taxonomies.toml + +topic = "topics" +``` + +This will replace the default _tags_ and _categories_ with _topics_. Refer to the [Hugo Taxonomy docs](https://gohugo.io/content-management/taxonomies/) for more information on naming taxonomies. + +When you create a new taxonomy, you will need to adjust the navigation links on the website to point to the correct sections, which is covered below. + +## Menus + +Congo has two menus that can be customised to suit the content and layout of your site. The `main` menu appears in the site header and the `footer` menu appears at the bottom of the page just above the copyright notice. + +Both menus are configured in the `menus.en.toml` file. Similarly to the languages config file, if you wish to use another language, rename this file and replace `en` with the language code you wish to use. Menu links will be sorted from lowest to highest `weight`, and then alphabetically by `name`. + +```toml +# config/_default/menus.en.toml + +[[main]] + name = "Blog" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Topics" + pageRef = "topics" + weight = 20 + +[[main]] + name = "GitHub" + url = "https://github.com/jpanther/congo" + weight = 30 + [main.params] + icon = "github" + showName = false + target = "_blank" + +[[main]] + identifier = "search" + weight = 99 + [main.params] + action = "search" + icon = "search" + +[[footer]] + name = "Privacy" + pageRef = "privacy" +``` + +### Basic links + +The `name` parameter specifies the text that is used in the menu link. You can also optionally provide a `title` which fills the HTML title attribute for the link. + +The `pageRef` parameter allows you to easily reference Hugo content pages and taxonomies. It is the quickest way to configure the menu as you can simply refer to any Hugo content item and it will automatically build the correct link. To link to external URLs, the `url` parameter can be used. + +Further customisation can be achieved through the use of special theme parameters. Providing `params` within a link allows the addition of an `icon`, the ability to toggle the link text with `showName` and to optionally set a `target` for the URL. In the example above, the GitHub link will only display as an icon and will open the link in a new window. + +### Action links + +There is a special case for creating menu items for links that take theme actions. These are denoted using the `action` parameter, and a value of the action the link should perform. Action links allow for all the same custom parameters as other links and can be styled with an icon or text name. + +There are three valid theme actions: + +- `appearance` will create a link to the appearance switcher +- `locale` will create a drop down picker to access translated content +- `search` will create a link to the site search + +Both menus are completely optional and can be commented out if not required. Use the template provided in the default file as a guide. + +## Detailed configuration + +The steps above are the bare minimum configuration. If you now run `hugo server` you will be presented with a blank Congo website. Detailed configuration is covered in the [Configuration]({{< ref "configuration" >}}) section. diff --git a/themes/congo/exampleSite/content/docs/getting-started/index.zh-cn.md b/themes/congo/exampleSite/content/docs/getting-started/index.zh-cn.md new file mode 100644 index 0000000..81861e2 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/getting-started/index.zh-cn.md @@ -0,0 +1,244 @@ +--- +title: "快速开始" +date: 2020-08-15 +draft: false +description: "Congo的启动方法" +summary: "这一部分假设你已经安装了Congo主题,并准备开始进行基本配置任务,如选择颜色方案、菜单和内容结构。" +slug: "getting-started" +tags: ["installation", "docs"] +--- + +{{< alert >}} +本节假定您已经[安装了Congo主题]({{< ref "docs/installation" >}})。 +{{< /alert >}} + +Congo提供的配置文件包含主题定制的所有可能设置。默认情况下,其中许多设置项都被注释掉,但您可以简单地取消注释以激活或更改特定功能。 + +## 基本配置 + +在创建任何内容之前,有一些新安装需要设置的事项。首先在`config.toml`文件中,设置`baseURL`和`languageCode`参数。`languageCode`应设置为您将用于撰写内容的主要语言。 + +```toml +# config/_default/config.toml + +baseURL = "https://your_domain.com/" +languageCode = "en" +``` + +下一步是配置语言设置。虽然Congo支持多语言设置,但目前,只需配置主要语言即可。 + +找到config文件夹中的`languages.en.toml`文件。如果您的主要语言是英语,可以直接使用此文件。否则,将其重命名,以便文件名中包含正确的语言代码。例如,对于法语,将文件重命名为`languages.fr.toml`。 + +{{< alert >}} +语言配置文件名中的语言代码应与`config.toml`中的`languageCode`设置相匹配。 +{{< /alert >}} + +```toml +# config/_default/languages.en.toml + +title = "My awesome website" + +[author] +name = "My name" +image = "img/author.jpg" +headline = "A generally awesome human" +bio = "A little bit about me" +links = [ + { twitter = "https://twitter.com/username" } +] +``` + +`[author]`配置确定在网站上显示作者信息的方式。图像应放置在站点的`assets/`文件夹中。链接将按照它们列出的顺序显示。 + +如果需要更多细节,每个配置选项的详细信息都在[配置]({{< ref "configuration" >}})部分中有介绍。 + +## 颜色方案 + +Congo默认情况下提供了一些颜色方案。要更改方案,只需设置`colorScheme`主题参数。有效选项为`congo`(默认)、`avocado`、`cherry`、`fire`、`ocean`、`sapphire`和`slate`。 + +{{< alert >}} +`colorScheme`值应以小写形式提供。 +{{< /alert >}} + +```toml +# config/_default/params.toml + +colorScheme = "congo" +``` + +Congo定义了一个在整个主题中使用的三色调色板。每个主色包含十种基于包含在[Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference)中的颜色的阴影。 + +#### Congo(默认) + +{{< swatches "#71717a" "#8b5cf6" "#d946ef" >}} + +#### Avocado + +{{< swatches "#78716c" "#84cc16" "#10b981" >}} + +#### Cherry + +{{< swatches "#737373" "#f43f5e" "#22c55e" >}} + +#### Fire + +{{< swatches "#78716c" "#f97316" "#f43f5e" >}} + +#### Ocean + +{{< swatches "#64748b" "#3b82f6" "#06b6d4" >}} + +#### Sapphire + +{{< swatches "#64748b" "#6366f1" "#ec4899" >}} + +#### Slate + +{{< swatches "#6B7280" "#64748b" "#6B7280" >}} + +尽管这些是默认的方案,但您还可以创建自己的方案。有关详细信息,请参阅[高级自定义]({{< ref "advanced-customisation#colour-schemes" >}})部分。 + +### 组织内容 + +Congo不会强制您使用特定的内容类型,默认情况下,您可以自由定义您的内容。您可以选择使用 _pages_ 来创建静态站点,使用 _posts_ 来撰写博客,或使用 _projects_ 来展示项目。这种自由度使您能够根据您的需求和偏好来组织和呈现内容。 + +### 目录结构 + +以下是基本Congo项目的快速概览。所有内容都放置在`content`文件夹中: + +```shell +. +├── assets +│ └── img +│ └── author.jpg +├── config +│ └── _default +├── content +│ ├── _index.md +│ ├── about.md +│ └── posts +│ ├── _index.md +│ ├── first-post.md +│ └── another-post +│ ├── aardvark.jpg +│ └── index.md +└── themes + └── congo +``` + +{{< alert >}} +这里需要注意的关键一点是,在content目录中,普通文章页面的命名为`index.md`,而列表页面的命名为`_index.md`。任何与文章相关的静态文件都应放置在与索引文件相邻的子目录中。 +{{< /alert >}} + +对于Congo主题的设计,充分利用了Hugo页面束的优势,了解Hugo希望内容如何被组织是很重要的。务必阅读[Hugo官方文档](https://gohugo.io/content-management/organization/)以获取更多信息。 + +### 特色、封面和缩略图图片 + +Congo主题支持在文章列表和单独的文章页面顶部显示图像。有三种类型的图像,每种都有其特定的用途:`feature`(特色,这个不知道怎么翻译,可能是“主图” ?)、`cover`(封面)和`thumb`(缩略图)。 + +在下面的示例中,为`first-post`文章提供了封面和缩略图图像: + +```shell +. +└── content + └── posts + ├── _index.md + └── first-post + ├── cover.jpg + ├── index.md + └── thumb.jpg +``` + +`thumb`图像用作文章缩略图,将显示在文章列表中,而`cover`图像将显示在单个文章页面的内容顶部。 + +![带有缩略图图像的文章截图](article-screenshot.jpg "此示例显示了带有缩略图图像的文章。") + +{{< alert >}} +为了提供最大性能,缩略图图像将自动裁剪并调整大小为4:3的比例。封面图像将自动调整大小以适应其内容,但允许任何比例。 +{{< /alert >}} + +`feature`图像是一种特殊类型,当存在时,它将用于替代`thumb`和`cover`图像。特色图像也出现在文章元数据中,在将内容共享到Facebook和Twitter等第三方网络时包含在其中。 + +主题将智能检测文章图像并自动将其添加到您的站点。您不必在正文中引用它们,只需将以适当命名的文件放在页面资源中即可。如果图像文件名中的任何地方都包含术语`feature`、`cover`或`thumb`,那么它将用于该用途。 + +[示例部分]({{< ref "samples" >}})提供了这些图像的许多示例(您可以查看[源代码](https://github.com/jpanther/congo/tree/dev/exampleSite/content/samples)以查看文件结构)。 + +### 分类法 + +Congo 在分类方面也非常灵活。有些人喜欢使用标签(tags)和分类(categories)来对内容进行分组,而其他人可能更倾向于使用主题(topics)。 + +Hugo默认使用文章、标签和分类,如果这符合您的需求,那么这将运行良好。但是,如果您希望自定义此设置,可以通过创建`taxonomies.toml`配置文件来实现: + +```toml +# config/_default/taxonomies.toml + +topic = "topics" +``` + +这将使用主题替换默认的标签和分类。有关在命名分类法时的更多信息,请参阅[Hugo分类法文档](https://gohugo.io/content-management/taxonomies/)。 + +创建新分类法时,您将需要调整网站上的导航链接,以指向正确的部分,下面有相关说明。 + +## 菜单 + +Congo有两个菜单,可以根据您站点的内容和布局进行自定义。`main`菜单显示在站点页眉中,而`footer`菜单显示在页面底部,正好在版权声明上方。 + +这两个菜单都在`menus.en.toml`文件中配置。与语言配置文件类似,如果您希望使用其他语言,请将此文件重命名并用所需的语言代码替换`en`。菜单链接将按`weight`从低到高排序,然后按`name`字母顺序排序。 + +```toml +# config/_default/menus.en.toml + +[[main]] + name = "博客" + pageRef = "posts" + weight = 10 + +[[main]] + name = "主题" + pageRef = "topics" + weight = 20 + +[[main]] + name = "GitHub" + url = "https://github.com/jpanther/congo" + weight = 30 + [main.params] + icon = "github" + showName = false + target = "_blank" + +[[main]] + identifier = "search" + weight = 99 + [main.params] + action = "search" + icon = "search" + +[[footer]] + name = "隐私" + pageRef = "privacy" +``` + +### 基本链接 + +`name` 参数指定了菜单链接中使用的文本。您还可以选择提供 `title`,用于填充链接的 HTML title 属性。 + +`pageRef` 参数允许您轻松引用 Hugo 内容页面和分类法。这是配置菜单的最快方法,因为您只需引用任何 Hugo 内容项,它将自动构建正确的链接。要链接到外部 URL,可以使用 `url` 参数。 + +通过使用特殊的主题参数,可以进一步自定义。在链接中提供 `params` 允许添加 `icon`,通过 `showName` 切换链接文本的能力,并可选择设置 URL 的 `target`。在上面的示例中,GitHub 链接将只显示为图标,并在新窗口中打开链接。 + +### 操作链接 + +有一个特殊情况,用于创建执行主题操作的菜单项。这些链接项通过 `action` 参数进行标识,该参数指定链接应执行的操作。操作链接允许使用与其他链接(基本链接)相同的自定义参数,并且可以用图标或文本名称进行样式设置。 + +Congo内置有三个有效的主题操作: + +- `appearance` 将创建一个指向外观切换器(深色主题还是浅色主题)的链接 +- `locale` 将创建一个下拉选择器,以切换语言访问已翻译的内容 +- `search` 将创建指向站内搜索的链接 + +这两个菜单都是完全可选的,如果不需要,可以注释掉。使用默认文件中提供的模板作为配置指南。 + +## 更详细配置 + +上述步骤是最基本的配置。如果现在运行 `hugo server`,您将看到一个空白的 Congo 网站。更详细配置在 [基本配置]({{< ref "configuration" >}}) 部分进行介绍。 diff --git a/themes/congo/exampleSite/content/docs/getting-started/thumb-choose.svg b/themes/congo/exampleSite/content/docs/getting-started/thumb-choose.svg new file mode 100644 index 0000000..773169f --- /dev/null +++ b/themes/congo/exampleSite/content/docs/getting-started/thumb-choose.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/homepage-layout/home-page.jpg b/themes/congo/exampleSite/content/docs/homepage-layout/home-page.jpg new file mode 100644 index 0000000..2a619e0 Binary files /dev/null and b/themes/congo/exampleSite/content/docs/homepage-layout/home-page.jpg differ diff --git a/themes/congo/exampleSite/content/docs/homepage-layout/home-profile-list.jpg b/themes/congo/exampleSite/content/docs/homepage-layout/home-profile-list.jpg new file mode 100644 index 0000000..319da77 Binary files /dev/null and b/themes/congo/exampleSite/content/docs/homepage-layout/home-profile-list.jpg differ diff --git a/themes/congo/exampleSite/content/docs/homepage-layout/home-profile.jpg b/themes/congo/exampleSite/content/docs/homepage-layout/home-profile.jpg new file mode 100644 index 0000000..006c857 Binary files /dev/null and b/themes/congo/exampleSite/content/docs/homepage-layout/home-profile.jpg differ diff --git a/themes/congo/exampleSite/content/docs/homepage-layout/index.ja.md b/themes/congo/exampleSite/content/docs/homepage-layout/index.ja.md new file mode 100644 index 0000000..dda5c8a --- /dev/null +++ b/themes/congo/exampleSite/content/docs/homepage-layout/index.ja.md @@ -0,0 +1,53 @@ +--- +title: "ホームページレイアウト" +date: 2020-08-13 +draft: false +description: "Congoにおけるホームページレイアウトの設定について" +summary: "Congoは、組み込みテンプレートと独自のテンプレートを提供する機能によって、柔軟なホームページレイアウトを提供します。" +slug: "homepage-layout" +tags: ["homepage", "layouts", "docs"] +--- + +Congoは柔軟なホームページレイアウトを提供します。2つのメインテンプレートから選択でき、追加設定でデザインを調整できます。また、独自のテンプレートを用意して、ホームページの内容を完全にコントロールすることもできます。 + +ホームページのレイアウトは `params.toml` 設定ファイルの `homepage.layout` 設定によって制御されます。さらに、すべてのレイアウトには[最近の記事](#最近の記事)を表示するオプションがあります。 + +## ページレイアウト + +デフォルトのレイアウトはページレイアウトです。これはシンプルにMarkdownコンテンツを表示します。静的なウェブサイトには最適で、多くの柔軟性を提供します。 + +![Screenshot of homepage layout](home-page.jpg) + +ページレイアウトを有効にするには、 `params.toml` 設定ファイルで `homepage.layout = "page"` を設定します。 + +## プロフィールレイアウト + +プロフィールレイアウトは、個人のウェブサイトやブログに最適です。画像とソーシャル・プロフィールへのリンクを提供することで、著者の詳細を前面に押し出します。 + +![Screenshot of profile layout](home-profile.jpg) + +著者情報は `languages` 設定ファイルで提供されます。パラメーターの詳細については、[はじめに]({{< ref "getting-started" >}})と[言語と国際化]({{< ref "configuration#言語と国際化" >}})セクションを参照してください。 + +さらに、ホームページのコンテンツで提供されるすべてのMarkdownコンテンツは、著者プロフィールの下に配置されます。これにより、ショートコードを使用した著者の略歴やその他のカスタムコンテンツを表示するための柔軟性が増します。 + +プロフィールレイアウトを有効にするには、 `params.toml` 設定ファイルで `homepage.layout = "profile"` を設定します。 + +## カスタムレイアウト + +組み込みのホームページレイアウトがあなたのニーズに十分でない場合は、独自のカスタムレイアウトを提供するオプションがあります。これにより、ページの内容を完全にコントロールすることができ、白紙の状態から作成することができます。 + +カスタムレイアウトを有効にするには、 `params.toml` 設定ファイルで `homepage.layout = "custom"` を設定します。 + +設定値が設定された状態で、新しい `custom.html` ファイルを作成し、 `layouts/partials/home/custom.html` に配置してください。これで、 `custom.html` ファイルにあるものは何でも、サイトのホームページのコンテンツエリアに配置されるようになります。レイアウトの定義には、HTML、Tailwind、Hugoのテンプレート関数など、お好きなものをお使いください。 + +カスタムレイアウトに[最近の記事](#最近の記事)を含めるには、 `recent-articles.html` パーシャルを使います。 + +例として、このサイトの[ホームページ]({{< ref "/" >}})では、カスタムレイアウトを使ってページとプロフィールのレイアウトを切り替えられるようにしています。[GitHub repo](https://github.com/jpanther/congo/blob/dev/exampleSite/layouts/partials/home/custom.html)を訪問して、どのように動作するか見てみましょう。 + +## 最近の記事 + +すべてのホームページレイアウトには、メインページコンテンツの下に最近の記事を表示するオプションがあります。これを有効にするには、 `params.toml` 設定ファイルの `homepage.showRecent` 設定を `true` にするだけです。 + +![Profile layout with recent articles](home-profile-list.jpg) + +このセクションにリストされる記事は、 `mainSections` 設定から派生したもので、あなたのウェブサイトで使用しているコンテンツタイプに対応します。例えば、 _posts_ と _projects_ のコンテンツセクションがある場合、この設定を `["posts", "projects"]` に設定することで、これら2つのセクションにあるすべての記事が最近の記事リストに出力されます。Congoはこの設定が配列であることを想定しているので、すべてのコンテンツに1つのセクションしか使用しない場合は、この設定を適宜変更してください: `["blog"]` diff --git a/themes/congo/exampleSite/content/docs/homepage-layout/index.md b/themes/congo/exampleSite/content/docs/homepage-layout/index.md new file mode 100644 index 0000000..9c5b48b --- /dev/null +++ b/themes/congo/exampleSite/content/docs/homepage-layout/index.md @@ -0,0 +1,53 @@ +--- +title: "Homepage Layout" +date: 2020-08-13 +draft: false +description: "Configuring the homepage layout in the Congo theme." +summary: "Congo provides a fully flexible homepage layout with built-in templates and the ability to provide your own." +slug: "homepage-layout" +tags: ["homepage", "layouts", "docs"] +--- + +Congo provides a fully flexible homepage layout. There are two main templates to choose from with additional settings to adjust the design. Alternatively, you can also provide your own template and have complete control over the homepage content. + +The layout of the homepage is controlled by the `homepage.layout` setting in the `params.toml` configuration file. Additionally, all layouts have the option to include a listing of [recent articles](#recent-articles). + +## Page layout + +The default layout is the page layout. It's simply a normal content page that displays your Markdown content. It's great for static websites and provides a lot of flexibility. + +![Screenshot of homepage layout](home-page.jpg) + +To enable the page layout, set `homepage.layout = "page"` in the `params.toml` configuration file. + +## Profile layout + +The profile layout is great for personal websites and blogs. It puts the author's details front and centre by providing an image and links to social profiles. + +![Screenshot of profile layout](home-profile.jpg) + +The author information is provided in the languages configuration file. Refer to the [Getting Started]({{< ref "getting-started" >}}) and [Language Configuration]({{< ref "configuration##language-and-i18n" >}}) sections for parameter details. + +Additionally, any Markdown content that is provided in the homepage content will be placed below the author profile. This allows extra flexibility for displaying a bio or other custom content using shortcodes. + +To enable the profile layout, set `homepage.layout = "profile"` in the `params.toml` configuration file. + +## Custom layout + +If the built-in homepage layouts aren't sufficient for your needs, you have the option to provide your own custom layout. This allows you to have total control over the page content and essentially gives you a blank slate to work with. + +To enable the custom layout, set `homepage.layout = "custom"` in the `params.toml` configuration file. + +With the configuration value set, create a new `custom.html` file and place it in `layouts/partials/home/custom.html`. Now whatever is in the `custom.html` file will be placed in the content area of the site homepage. You may use whatever HTML, Tailwind, or Hugo templating functions you wish to define your layout. + +To include [recent articles](#recent-articles) on the custom layout, use the `recent-articles.html` partial. + +As an example, the [homepage]({{< ref "/" >}}) on this site uses the custom layout to allow toggling between the profile and page layouts. Visit the [GitHub repo](https://github.com/jpanther/congo/blob/dev/exampleSite/layouts/partials/home/custom.html) to see how it works. + +## Recent articles + +All homepage layouts have the option of displaying recent articles below the main page content. To enable this, simply set the `homepage.showRecent` setting to `true` in the `params.toml` configuration file. + +![Profile layout with recent articles](home-profile-list.jpg) + +The articles listed in this section are derived from the `mainSections` setting which allows for whatever content types you are using on your website. For instance, if you had content sections for _posts_ and _projects_ you could set this setting to `["posts", "projects"]` and all the articles in these two sections would be used to populate the recent list. The theme expects this setting to be an array so if you only use one section for all your content, you should set this accordingly: `["blog"]`. diff --git a/themes/congo/exampleSite/content/docs/homepage-layout/index.zh-cn.md b/themes/congo/exampleSite/content/docs/homepage-layout/index.zh-cn.md new file mode 100644 index 0000000..4411678 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/homepage-layout/index.zh-cn.md @@ -0,0 +1,53 @@ +--- +title: "主页布局" +date: 2020-08-13 +draft: false +description: "在 Congo 主题中配置首页布局。" +summary: "Congo 提供了一个完全灵活的首页布局,内置了模板并支持自定义。" +slug: "homepage-layout" +tags: ["homepage", "layouts", "docs"] +--- + +Congo 提供了完全灵活的首页布局。有两个主要的模板可供选择,并提供额外的设置以调整设计。此外,您还可以提供自己的模板,完全掌控首页内容。 + +首页的布局由`params.toml`配置文件中的 `homepage.layout` 设置控制。另外,所有布局都可以选择包含[最近的文章](#recent-articles)列表。 + +## Page布局 + +默认布局是page布局。它只是一个显示您的 Markdown 内容的普通内容页面。非常适用于静态网站,并提供了很大的灵活性。 + +![首页布局截图](home-page.jpg) + +要启用页面布局,请在 `params.toml` 配置文件中设置 `homepage.layout = "page"`。 + +## Profile布局 + +profile布局非常适用于个人网站和博客。它通过提供图像和社交媒体链接,将作者的详细信息置于中心位置。 + +![个人资料布局截图](home-profile.jpg) + +作者信息存储在语言配置文件中。有关参数详细信息,请参阅 [入门指南]({{< ref "getting-started" >}}) 和 [语言配置]({{< ref "configuration##language-and-i18n" >}}) 部分。 + +此外,提供在主页内容中的任何 Markdown 内容将显示在作者资料下方。这允许额外的灵活性,以使用 Shortcodes 显示生物或其他自定义内容。 + +要启用profile布局,请在 `params.toml` 配置文件中设置 `homepage.layout = "profile"`。 + +## custom布局 + +如果内置的首页布局不满足您的需求,您可以选择提供自己的自定义布局。这允许您完全掌控页面内容,基本上为您提供了一个空白的画布。 + +要启用自定义布局,请在 `params.toml` 配置文件中设置 `homepage.layout = "custom"`。 + +配置值设置后,创建一个新的 `custom.html` 文件并将其放置在 `layouts/partials/home/custom.html`。现在,`custom.html` 文件中的任何内容都将放置在站点首页的内容区域。您可以使用任何 HTML、Tailwind 或 Hugo 模板函数来定义布局。 + +要在自定义布局中包含[最近的文章](#recent-articles),请使用 `recent-articles.html` 部分。 + +例如,这个站点的[首页]({{< ref "/" >}})使用自定义布局,允许在profile和page布局之间切换。访问 [GitHub 仓库](https://github.com/jpanther/congo/blob/dev/exampleSite/layouts/partials/home/custom.html) 查看它是如何工作的。 + +## 最近的文章 + +所有首页布局都可以选择在主页面内容下方显示最近的文章。要启用此功能,只需在 `params.toml` 配置文件中将 `homepage.showRecent` 设置为 `true`。 + +![具有最近文章的个人资料布局](home-profile-list.jpg) + +此部分中列出的文章来自 `mainSections` 设置,该设置允许使用您网站上使用的所有内容类型。例如,如果您有用于 _posts_ 和 _projects_ 的内容部分,可以将此设置设置为 `["posts", "projects"]`,所有这两个部分中的文章都将用于填充最近的列表。主题期望此设置为数组,因此如果您只使用一个部分来存储所有内容,您应相应地设置为 `["blog"]`。 diff --git a/themes/congo/exampleSite/content/docs/homepage-layout/thumb-heatmap.svg b/themes/congo/exampleSite/content/docs/homepage-layout/thumb-heatmap.svg new file mode 100644 index 0000000..35a64ca --- /dev/null +++ b/themes/congo/exampleSite/content/docs/homepage-layout/thumb-heatmap.svg @@ -0,0 +1 @@ +heatmap \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/hosting-deployment/github-pages-source.jpg b/themes/congo/exampleSite/content/docs/hosting-deployment/github-pages-source.jpg new file mode 100644 index 0000000..27ef3fe Binary files /dev/null and b/themes/congo/exampleSite/content/docs/hosting-deployment/github-pages-source.jpg differ diff --git a/themes/congo/exampleSite/content/docs/hosting-deployment/github-workflow-permissions.jpg b/themes/congo/exampleSite/content/docs/hosting-deployment/github-workflow-permissions.jpg new file mode 100644 index 0000000..e76efac Binary files /dev/null and b/themes/congo/exampleSite/content/docs/hosting-deployment/github-workflow-permissions.jpg differ diff --git a/themes/congo/exampleSite/content/docs/hosting-deployment/index.ja.md b/themes/congo/exampleSite/content/docs/hosting-deployment/index.ja.md new file mode 100644 index 0000000..6f55eac --- /dev/null +++ b/themes/congo/exampleSite/content/docs/hosting-deployment/index.ja.md @@ -0,0 +1,146 @@ +--- +title: "ホスティングとデプロイ" +date: 2020-08-07 +draft: false +description: "Congoサイトのデプロイについて" +summary: "Congoは、ほとんどすべてのデプロイシナリオに柔軟に対応できるように設計されています。プロジェクトを一般的なホスティングプラットフォームにデプロイする方法については、こちらをご覧ください。" +slug: "hosting-deployment" +tags: ["hosting", "deployment", "docs", "github", "netlify", "render"] +--- + +Congoで構築したHugoウェブサイトを展開する方法はたくさんあります。このテーマは、ほとんどすべてのデプロイシナリオに柔軟に対応できるように設計されています。 + +Congoはテーマ全体で相対URLを使って構築されています。これにより、サイトをサブディレクトリやGitHub Pagesのようなホストに簡単に配置することができます。通常、 `config.toml` ファイルで `baseURL` パラメーターが設定されていれば、特別な設定は必要ありません。 + +Hugo公式ドキュメントの[Hosting and Deployment](https://gohugo.io/hosting-and-deployment/)は、あなたのサイトをデプロイする方法を学ぶのに最適な場所です。以下のセクションには、特定のプラットフォームで役立つ、特定のテーマ設定の詳細が含まれています。 + +**デプロイ先を選んでください:** + +- [GitHub Pages](#github-pages) +- [Netlify](#netlify) +- [Render](#render) +- [Cloudflare Pages](#cloudflare-pages) +- [共有ホスティング、VPS、または自身のWebサーバー](#共有ホスティングvpsまたは自身のwebサーバー) + +--- + +## GitHub Pages + +GitHubでは、Actionsを使って[GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages)上でホスティングすることができます。この機能を有効にするには、リポジトリでPagesを有効にし、新しいActionsワークフローを作成してサイトをビルド、デプロイします。 + +ファイルはYAML形式で、GitHubリポジトリの `.github/workflows/` ディレクトリに置き、拡張子を `.yml` とします。 + +{{< alert >}} +**重要:** `branches` とデプロイステップの `if` パラメーターにプロジェクトで使用しているブランチ名を正しく設定してください。 +{{< /alert >}} + +```yaml +# .github/workflows/gh-pages.yml + +name: GitHub Pages + +on: + push: + branches: + - main + +jobs: + build-deploy: + runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + fetch-depth: 0 + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: "latest" + + - name: Build + run: hugo --minify + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + if: ${{ github.ref == 'refs/heads/main' }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_branch: gh-pages + publish_dir: ./public +``` + +設定ファイルをGitHubにプッシュすると、アクションが自動的に実行されるはずです。初回は失敗するかもしれないので、GitHubリポジトリの **Settings > Pages** にアクセスして、ソースが正しいか確認してください。 `gh-pages` ブランチを使うように設定されているべきです。 + +{{< screenshot src="github-pages-source.jpg" alt="Screen capture of GitHub Pages source" >}} + +設定が完了したら、アクションを再実行し、サイトを正しくビルドしてデプロイします。すべてが正常にデプロイされたことを確認するためにアクションログを参照することができます。 + +## Netlify + +[Netlify](https://www.netlify.com)にデプロイするには、Netlify側に新しいデプロイサイトを作成し、ソースコードとリンクします。Netlify UIでは、ビルド設定は空白のまま、使用するドメインだけを設定する必要があります。 + +{{< screenshot src="netlify-build-settings.jpg" alt="Screen capture of Netlify build settings" >}} + +次に、サイト・リポジトリのルートに `netlify.toml` ファイルを作成します: + +```toml +# netlify.toml + +[build] + command = "hugo mod get -u && hugo --gc --minify -b $URL" + publish = "public" + +[build.environment] + HUGO_VERSION = "0.118.2" + NODE_ENV = "production" + GO_VERSION = "1.20" + TZ = "UTC" # Set to preferred timezone + +[context.production.environment] + HUGO_ENV = "production" +``` + +上の例は、CongoをHugoモジュールとしてデプロイすることを想定しています。別の方法でテーマをインストールした場合は、ビルドコマンドを `hugo --gc --minify -b $URL` に変更してください。 + +設定ファイルをリポジトリにプッシュすると、Netlifyは自動的にサイトをデプロイします。Netlify UIでデプロイのログを確認し、エラーがないかチェックすることができます。 + +## Render + +[Render](https://render.com)へのデプロイは非常に簡単で、すべての設定はRender UIを介して行います。 + +新しい**静的サイト**を作成し、プロジェクトのコード・リポジトリにリンクします。そして、ビルドコマンドを `hugo --gc --minify` に、公開ディレクトリを `public` に設定するだけです。 + +{{< screenshot src="render-settings.jpg" alt="Screen capture of Render settings" >}} + +あなたが変更をリポジトリにプッシュするたびに、自動的にビルドとデプロイを行います。 + +## Cloudflare Pages + +CloudflareはHugoサイトをホストできる[Pages](https://pages.cloudflare.com/)サービスを提供しています。Gitリポジトリからサイトを構築し、CloudflareのCDNでホスティングします。[Hugoデプロイメントガイド](https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site)に従って始めてください。 + +The Rocket Loader™ feature offered by Cloudflare tries to speed up rendering of web pages with JavaScript, but it breaks the appearance switcher in the theme. It can also cause an annoying light/dark screen flash when browsing your site due to scripts loading in the wrong order. + +Cloudflareが提供するRocket Loader™は、JavaScriptを使用したウェブページのレンダリングを高速化するものですが、テーマの外観スイッチャーを壊してしまいます。また、スクリプトのロード順序が正しくないため、サイトを閲覧する際に煩わしい画面の明暗が点滅することがあります。 + +これらの問題は下記を無効にすることで解決できます: + +- [Cloudflare dashboard](https://dash.cloudflare.com)にアクセスする +- あなたのドメイン名をクリックする +- _Speed_ セクションの中にある _Optimization_ をクリックする +- _Rocket Loader™_ までスクロールし、これを無効にする + +Congoで構築されたサイトは、この機能を無効にしても十分に読み込みが速いです。 + +## 共有ホスティング、VPS、または自身のWebサーバー + +従来のウェブホスティングを使用する場合や自分のサーバーにデプロイする場合は、Hugoサイトを構築してファイルをホストに転送するだけです。 + +`config.toml` の `baseURL` パラメーターに、あなたのウェブサイトのルートへの完全なURLが設定されていることを確認してください。 + +それから `hugo` コマンドを使ってサイトを構築し、出力ディレクトリの内容をウェブサーバのルートにコピーすれば準備完了です。デフォルトでは、出力ディレクトリは `public` という名前になっています。 + +_ホスティングプロバイダーが必要な場合は、[Vultr](https://www.vultr.com/?ref=8957394-8H)または[DigitalOcean](https://m.do.co/c/36841235e565)をチェックしてください。これらのアフィリエイトリンクを使用してサインアップすると、最大100ドルの無料クレジットがもらえます。_ diff --git a/themes/congo/exampleSite/content/docs/hosting-deployment/index.md b/themes/congo/exampleSite/content/docs/hosting-deployment/index.md new file mode 100644 index 0000000..bbe1f32 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/hosting-deployment/index.md @@ -0,0 +1,148 @@ +--- +title: "Hosting & Deployment" +date: 2020-08-07 +draft: false +description: "Learn how to deploy a Congo site." +summary: "Congo is designed to be flexible in almost any deployment scenario. Learn more about how to deploy your project to some common hosting platforms." +slug: "hosting-deployment" +tags: ["hosting", "deployment", "docs", "github", "netlify", "render"] +--- + +There are many ways to deploy your Hugo website built with Congo. The theme is designed to be flexible in almost any deployment scenario. + +Congo is built using relative URLs throughout the theme. This enables sites to easily be deployed to sub-folders and hosts like GitHub Pages. There's usually no special configuration required for this to work as long as the `baseURL` parameter has been configured in the `config.toml` file. + +The official Hugo [Hosting and Deployment](https://gohugo.io/hosting-and-deployment/) docs are the best place to learn how to deploy your site. The sections below contain some specific theme configuration details that can help you deploy smoothly with certain providers. + +**Choose your provider:** + +- [GitHub Pages](#github-pages) +- [Netlify](#netlify) +- [Render](#render) +- [Cloudflare Pages](#cloudflare-pages) +- [Shared hosting, VPS or private web server](#shared-hosting-vps-or-private-web-server) + +--- + +## GitHub Pages + +GitHub allows hosting on [GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages) using Actions. To enable this functionality, enable Pages on your repo and create a new Actions workflow to build and deploy your site. + +The file needs to be in YAML format, placed within the `.github/workflows/` directory of your GitHub repository and named with a `.yml` extension. + +{{< alert >}} +**Important:** Ensure you set the correct branch name under `branches` and in the deploy step `if` parameter to the source branch used in your project. +{{< /alert >}} + +```yaml +# .github/workflows/gh-pages.yml + +name: GitHub Pages + +on: + push: + branches: + - main + +jobs: + build-deploy: + runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + fetch-depth: 0 + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: "latest" + extended: true + + - name: Build + run: hugo --minify + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + if: ${{ github.ref == 'refs/heads/main' }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_branch: gh-pages + publish_dir: ./public +``` + +Push the config file to GitHub and the action should automatically run. It may fail the first time and you'll need to visit the **Settings > Pages** section of your GitHub repo to check the source is correct. It should be set to use the `gh-pages` branch. + +{{< screenshot src="github-pages-source.jpg" alt="Screen capture of GitHub Pages source settings" >}} + +You should also visit the **Settings > Actions > General** section and check that the workflow permissions allow actions to make changes to your repo. + +{{< screenshot src="github-workflow-permissions.jpg" alt="Screen capture of GitHub Workflow Permissions settings" >}} + +Once the settings are configured, re-run the action and the site should build and deploy correctly. You can consult the actions log to check everything deployed successfully. + +## Netlify + +To deploy to [Netlify](https://www.netlify.com), create a new continuous deployment site and link it to your source code. The build settings can be left blank in the Netlify UI. You will only need to configure the domain you'll be using. + +{{< screenshot src="netlify-build-settings.jpg" alt="Screen capture of Netlify build settings" >}} + +Then in the root of your site repository, create a `netlify.toml` file: + +```toml +# netlify.toml + +[build] + command = "hugo mod get -u && hugo --gc --minify -b $URL" + publish = "public" + +[build.environment] + HUGO_VERSION = "0.119.0" + NODE_ENV = "production" + TZ = "UTC" # Set to preferred timezone + +[context.production.environment] + HUGO_ENV = "production" +``` + +This configuration assumes you are deploying Congo as a Hugo module. If you have installed the theme using another method, change the build command to simply `hugo --gc --minify -b $URL`. + +When you push the config file to your repo, Netlify should automatically deploy your site. You can check the deploy logs in the Netlify UI to check for any errors. + +## Render + +Deploying to [Render](https://render.com) is very straightforward and all configuration is via the Render UI. + +Create a new **Static Site** and link it to your project's code repository. Then simply configure the build command to be `hugo --gc --minify` and publish directory to be `public`. + +{{< screenshot src="render-settings.jpg" alt="Screen capture of Render settings" >}} + +The site will automatically build and deploy whenever you push a change to your repo. + +## Cloudflare Pages + +Cloudflare offers the [Pages](https://pages.cloudflare.com/) service that can host Hugo blogs. It builds the site from a git repository and then hosts it on Cloudflare's CDN. Follow their [Hugo deployment guide](https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site) to get started. + +The Rocket Loader™ feature offered by Cloudflare tries to speed up rendering of web pages with JavaScript, but it breaks the appearance switcher in the theme. It can also cause an annoying light/dark screen flash when browsing your site due to scripts loading in the wrong order. + +This problem can be fixed by disabling it: + +- Go to the [Cloudflare dashboard](https://dash.cloudflare.com) +- Click on your domain name in the list +- Click _Optimization_ in the _Speed_ section +- Scroll down to _Rocket Loader™_ and disable it + +Hugo sites built with Congo still load very quickly, even with this feature disabled. + +## Shared hosting, VPS or private web server + +Using traditional web hosting, or deploying to your own web server, is as simple as building your Hugo site and transferring the files to your host. + +Make sure that the `baseURL` parameter in `config.toml` is set to the full URL to the root of your website (including any sub domains or sub-folders). + +Then build your site using `hugo` and copy the contents of the output directory to the root of your web server and you will be ready to go. By default, the output directory is named `public`. + +_If you need a hosting provider, check out [Vultr](https://www.vultr.com/?ref=8957394-8H) or [DigitalOcean](https://m.do.co/c/36841235e565). Signing up using these affiliate links will give you up to $100 in free credit so you can try the service._ diff --git a/themes/congo/exampleSite/content/docs/hosting-deployment/index.zh-cn.md b/themes/congo/exampleSite/content/docs/hosting-deployment/index.zh-cn.md new file mode 100644 index 0000000..0e07adc --- /dev/null +++ b/themes/congo/exampleSite/content/docs/hosting-deployment/index.zh-cn.md @@ -0,0 +1,148 @@ +--- +title: "部署" +date: 2020-08-07 +draft: false +description: "学习如何部署 Congo 网站。" +summary: "Congo 被设计为在几乎任何部署场景中都具有灵活性。了解如何将项目部署到一些常见的主机平台。" +slug: "hosting-deployment" +tags: ["hosting", "deployment", "docs", "github", "netlify", "render"] +--- + +有许多方法可以部署使用 Congo 构建的 Hugo 网站。该主题被设计为在几乎任何部署场景中都具有灵活性。 + +Congo 在整个主题中使用相对 URL。这使得站点可以轻松部署到子文件夹和像 GitHub Pages 这样的主机。通常情况下,只要在 config.toml 文件中配置了 baseURL 参数,就不需要特殊的配置。 + +要学习如何部署您的站点,Hugo 官方的主机与部署文档是最佳选择。下面的部分包含一些特定的主题配置细节,可以帮助您在某些提供商那里顺利部署。 + +**选择您的提供商:** + +- [GitHub Pages](#github-pages) +- [Netlify](#netlify) +- [Render](#render) +- [Cloudflare Pages](#cloudflare-pages) +- [共享主机、VPS 或私有 Web 服务器](#shared-hosting-vps-or-private-web-server) + +--- + +## GitHub Pages + +GitHub 允许使用 [GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages) 在 Actions 中托管网站。要启用此功能,请在您的存储库上启用 Pages,并创建一个新的 Actions 工作流来构建和部署您的站点。 + +该文件需要采用 YAML 格式,放置在您的 GitHub 存储库的 `.github/workflows/` 目录中,并以 `.yml` 扩展名命名。 + +{{< alert >}} +**重要提示:**确保在 `branches` 下设置正确的分支名称,并在部署步骤的 `if` 参数中设置用于项目的源分支。 +{{< /alert >}} + +```yaml +# .github/workflows/gh-pages.yml + +name: GitHub Pages + +on: + push: + branches: + - main + +jobs: + build-deploy: + runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + fetch-depth: 0 + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: "latest" + + - name: Build + run: hugo --minify + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + if: ${{ github.ref == 'refs/heads/main' }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_branch: gh-pages + publish_dir: ./public +``` + +将配置文件推送到 GitHub,操作应会自动运行。第一次可能会失败,您需要访问 GitHub 存储库的 **Settings > Pages** 部分以检查源是否正确。它应该设置为使用 `gh-pages` 分支。 + +{{< screenshot src="github-pages-source.jpg" alt="GitHub Pages source settings 屏幕截图" >}} + +您还应该访问 **Settings > Actions > General** 部分,检查工作流权限是否允许操作对您的存储库进行更改。 + +{{< screenshot src="github-workflow-permissions.jpg" alt="GitHub Workflow Permissions 设置屏幕截图" >}} + +配置设置后,重新运行操作,站点应该能够正确构建和部署。您可以查看操作日志以确保一切都成功部署。 + +## Netlify + +要部署到 [Netlify](https://www.netlify.com),创建一个新的持续部署站点并将其链接到您的源代码。在 Netlify UI 中,可以将构建设置留空。您只需要配置将要使用的域。 + +{{< screenshot src="netlify-build-settings.jpg" alt="Netlify 构建设置屏幕截图" >}} + +然后在您站点存储库的根目录中,创建一个 `netlify.toml` 文件: + +```toml +# netlify.toml + +[build] + command = "hugo mod get -u && hugo --gc --minify -b $URL" + publish = "public" + +[build.environment] + HUGO_VERSION = "0.118.2" + NODE_ENV = "production" + GO_VERSION = "1.20" + TZ = "UTC" # Set to preferred timezone + +[context.production.environment] + HUGO_ENV = "production" +``` + +此配置假设您正在将 Congo 部署为 Hugo 模块。如果您使用其他方法安装了主题,请将构建命令更改为简单的 `hugo --gc --minify -b $URL`。 + +当您将配置文件推送到存储库时,Netlify 应会自动部署您的站点。您可以在 Netlify UI 中检查部署日志以查看是否有任何错误。 + +## Render + +部署到 [Render](https://render.com) 非常简单,所有配置都通过 Render UI 进行。 + +创建一个新的 **Static Site** 并将其链接到项目的代码存储库。然后简单地配置构建命令为 `hugo --gc --minify`,发布目录为 `public`。 + +{{< screenshot src="render-settings.jpg" alt="Render 设置屏幕截图" >}} + +只要您对存储库进行更改,站点将自动构建和部署。 + +## Cloudflare Pages + +Cloudflare 提供 [Pages](https://pages.cloudflare.com/) 服务,可以托管 Hugo 博客。它从 git 存储库构建站点,然后在 Cloudflare 的 CDN 上托管。请按照他们的 [Hugo 部署指南](https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site) 开始使用。 + +Cloudflare 提供的 Rocket Loader™ 功能试图加速带有 JavaScript 的网页渲染,但它会破坏主题中的外观切换器。它还可能导致浏览站点时因脚本加载顺序错误而出现令人讨厌的浅色/深色屏幕闪烁。 + +可以通过禁用此功能来解决这个问题: + +- 转到 [Cloudflare 仪表板](https://dash.cloudflare.com) +- 在列表中点击您的域名 +- 在 _Speed_ 部分中点击 _Optimization_ +- 滚动到 _Rocket Loader™_ 并禁用它 + +使用 Congo 构建的 Hugo 站点即使禁用此功能仍然加载非常快。 + +## 共享托管、VPS 或私有 Web 服务器 + +使用传统的 Web 托管,或部署到自己的 Web 服务器,只需构建 Hugo 站点并将文件传输到主机即可。 + +确保 `config.toml` 中的 `baseURL` 参数设置为您网站根目录的完整 URL(包括任何子域或子文件夹)。 + +然后使用 `hugo` 构建您的站点,将输出目录的内容复制到 Web 服务器的根目录,您就准备好了。默认情况下,输出目录的名称为 `public`。 + +_如果您需要托管提供商,请查看 [Vultr](https://www.vultr.com/?ref=8957394-8H) 或 [DigitalOcean](https://m.do.co/c/36841235e565)。使用这些推广链接注册将为您提供最多 100 美元的免费信用,以便您可以尝试该服务。_ diff --git a/themes/congo/exampleSite/content/docs/hosting-deployment/netlify-build-settings.jpg b/themes/congo/exampleSite/content/docs/hosting-deployment/netlify-build-settings.jpg new file mode 100644 index 0000000..aa15005 Binary files /dev/null and b/themes/congo/exampleSite/content/docs/hosting-deployment/netlify-build-settings.jpg differ diff --git a/themes/congo/exampleSite/content/docs/hosting-deployment/render-settings.jpg b/themes/congo/exampleSite/content/docs/hosting-deployment/render-settings.jpg new file mode 100644 index 0000000..293b3c4 Binary files /dev/null and b/themes/congo/exampleSite/content/docs/hosting-deployment/render-settings.jpg differ diff --git a/themes/congo/exampleSite/content/docs/hosting-deployment/thumb-server-down.svg b/themes/congo/exampleSite/content/docs/hosting-deployment/thumb-server-down.svg new file mode 100644 index 0000000..e1bab07 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/hosting-deployment/thumb-server-down.svg @@ -0,0 +1 @@ +server down \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/installation/index.ja.md b/themes/congo/exampleSite/content/docs/installation/index.ja.md new file mode 100644 index 0000000..725339d --- /dev/null +++ b/themes/congo/exampleSite/content/docs/installation/index.ja.md @@ -0,0 +1,178 @@ +--- +title: "インストール" +date: 2020-08-16 +draft: false +description: "Congoをインストール" +summary: "全く何もない状態からHugoとCongoを使い始める方法を紹介します。初めての方はここから始めるのが最適です。" +slug: "installation" +tags: ["installation", "docs"] +--- + +Hugoの標準的な[Quick Start](https://gohugo.io/getting-started/quick-start/)に従うだけで、すぐに使い始めることができます。 + +詳しいインストール方法は以下をご覧ください。[更新のインストール](#更新のインストール)についても解説しています。 + +## インストール + +この手順を読めば、HugoとCongoをまったく何もない状態から使い始めることができます。このガイドで述べられている依存関係のほとんどは、あなたのプラットフォームで選択したパッケージマネージャを使ってインストールできます。 + +### Hugoのインストール + +Hugoを使ったことがない場合は、[インストール](https://gohugo.io/getting-started/installing)する必要があります。すでにインストールされているかは、 `hugo version` コマンドで確認できます。 + +{{< alert >}} +CongoはHugoの最新機能の一部を利用しているため、 **Hugoバージョン0.87.0** 以降を使用していることを確認してください。 +{{< /alert >}} + +[Hugo docs](https://gohugo.io/getting-started/installing)に、あなたのプラットフォーム用の詳しいインストール手順があります。 + +### 新しいサイトを作成 + +コマンド `hugo new site mywebsite` を実行して、 `mywebsite` というディレクトリに新しいHugoサイトを作成します。 + +プロジェクト・ディレクトリは好きな名前をつけることができますが、以下では説明の便宜上 `mywebsite` という名前を使います。それ以外の名前を使う場合は、適宜置き換えてください。 + +### Congoのダウンロード + +CongoをHugoのウェブサイトにインストールするには、いくつかの方法があります。インストールとメンテナンスが最も簡単なものから最も難しいものまで、次のとおりです: + +- [Hugo module](#install-using-hugo) (recommended) +- [Git submodule](#install-using-git) +- [Manual file copy](#install-manually) + +わからない場合は、 _Hugo module_ の方法を選んでください。 + +#### Install using Hugo + +この方法はテーマを最新の状態に保つのに最も早く、簡単です。Hugoはモジュールの初期化と管理に **Go** を使うので、先に進む前に `go` がインストールされていることを確認する必要があります。 + +1. [Download](https://golang.org/dl/)をクリックし、Goをインストールしてください。すでにインストールされているかは、 `go version` コマンドで確認できます。 + + {{< alert >}} + Hugoがモジュールを正しく動作させるために、 **Goバージョン1.12** 以降を使用していることを確認してください。 + {{< /alert >}} + +2. Hugoプロジェクトのディレクトリ (上記で作成したもの)から、ウェブサイトのモジュールを初期化します: + + ```shell + # GitHubでプロジェクトを管理している場合 + hugo mod init github.com// + + # ローカルでプロジェクトを管理している場合 + hugo mod init my-project + ``` + +3. Congoを設定に追加するには、 `config/_default/module.toml` ファイルを新規作成し、以下を追加します: + + ```toml + [[imports]] + path = "github.com/jpanther/congo/v2" + ``` + +4. `hugo server` を使用してサーバーを起動すると、テーマが自動的にダウンロードされます。 +5. [テーマ設定ファイルのセットアップ](#テーマ設定ファイルのセットアップ)に進みます。 + +#### Install using Git + +この方法では、ローカルマシンに **Git** がインストールされていることを確認する必要があります。 + +Hugoプロジェクトのディレクトリ(上で作成したもの)に移動し、新しく `git` リポジトリを初期化してCongoをサブモジュールとして追加します。 + +```bash +cd mywebsite +git init +git submodule add -b stable https://github.com/jpanther/congo.git themes/congo +``` + +[テーマ設定ファイルのセットアップ](#テーマ設定ファイルのセットアップ)に進みます。 + +#### Install manually + +1. Congoのソースコードの最新リリースをダウンロードする。 + + {{< button href="https://github.com/jpanther/congo/releases/latest" target="_blank" >}}Download from Github{{< /button >}} + +2. アーカイブを解凍し、ディレクトリ名を `congo` に変更して、Hugoプロジェクト内の `themes/` ディレクトリに移動します。 +3. [テーマ設定ファイルのセットアップ](#テーマ設定ファイルのセットアップ)に進みます。 + +### テーマ設定ファイルのセットアップ + +ウェブサイトのルートディレクトリで、Hugoによって生成された `config.toml` ファイルを削除します。テーマの `*.toml` 設定ファイルを `config/_default/` ディレクトリにコピーします。これでCongoの設定がすべて正しくなり、必要に応じてCongoを簡単にカスタマイズできるようになります。 + +{{< alert >}} +**注記:** プロジェクト内にすでに `module.toml` ファイルが存在する場合は上書きしないでください! +{{< /alert >}} + +テーマのインストール方法によって、テーマの設定ファイルは異なる場所にあります。: + +- **Hugo Modules:** Hugoのキャッシュディレクトリ、またはGitHubから[コピーをダウンロード](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/jpanther/congo/tree/stable/config/_default)してください。 +- **Git submodule or Manual install:** `themes/congo/config/_default` + +ファイルをコピーしたら、設定ディレクトリは以下のようになっているはずです: + +```shell +config/_default/ +├─ config.toml +├─ markup.toml +├─ menus.toml +├─ module.toml # if you installed using Hugo Modules +└─ params.toml +``` + +{{< alert >}} +**重要:** Hugoモジュールを使ってCongoをインストールしなかった場合は、 `config.toml` ファイルの先頭に `theme = "congo"` という行を追加する必要があります。 +{{< /alert >}} + +### Next steps + +これで基本的なCongoのインストールは完了です。テーマの設定についての詳細は、[はじめに]({{< ref "getting-started" >}})セクションに進んでください。 + +--- + +## 更新のインストール + +時折、テーマに修正を適用し、新しい機能を追加した[新しいリリース](https://github.com/jpanther/congo/releases)が投稿されます。これらの変更を利用するには、ウェブサイトのテーマファイルを更新する必要があります。 + +この方法は、テーマを最初にインストールしたときに選択したインストール方法によって異なります。各方法の手順は以下にあります。 + +- [Hugo module](#update-using-hugo) +- [Git submodule](#update-using-git) +- [Manual file copy](#update-manually) + +### Update using Hugo + +Hugoはモジュールのアップデートをとても簡単にしてくれます。プロジェクトディレクトリに移動して、以下のコマンドを実行するだけです: + +```shell +hugo mod get -u +``` + +Hugoはプロジェクトに必要なモジュールを自動的にアップデートします。これは `module.toml` と `go.mod` ファイルを検査することで行われます。アップデートに問題がある場合は、これらのファイルが正しく設定されているか確認してください。 + +その後、サイトを再構築し、すべてが期待通りに動作することを確認してください。 + +### Update using git + +Gitサブモジュールは `git` コマンドを使って更新できます。次のコマンドを実行するだけで、テーマの最新バージョンがローカルリポジトリにダウンロードされます: + +```shell +git submodule update --remote --merge +``` + +サブモジュールのアップデートが完了したら、サイトを再構築し、すべてが期待通りに動作することを確認してください。 + +### Update manually + +Congoを手動で更新するには、テーマの最新コピーをダウンロードして、プロジェクト内の古いバージョンを置き換える必要があります。 + +{{< alert >}} +テーマファイルに対して行ったローカルでのカスタマイズは、この処理中に失われますのでご注意ください。 +{{< /alert >}} + +1. Congoのソースコードの最新リリースをダウンロードする。 + + {{< button href="https://github.com/jpanther/congo/releases/latest" target="_blank" >}}Download from Github{{< /button >}} + +2. アーカイブを解凍し、ディレクトリ名を `congo` に変更して、Hugoプロジェクトのルートディレクトリ内の `themes/` ディレクトリに移動します。すべてのテーマファイルを置き換えるには、既存のディレクトリを上書きする必要があります。 + +3. サイトを再構築し、すべてが期待通りに動作することを確認してください。 diff --git a/themes/congo/exampleSite/content/docs/installation/index.md b/themes/congo/exampleSite/content/docs/installation/index.md new file mode 100644 index 0000000..ad3f69f --- /dev/null +++ b/themes/congo/exampleSite/content/docs/installation/index.md @@ -0,0 +1,182 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Congo theme." +summary: "Learn how to get up and running using Hugo and Congo from a completely blank state. It's the best place to start if you're a new user." +slug: "installation" +tags: ["installation", "docs"] +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for [updating the theme](#installing-updates) are also available. + +## Installation + +These instructions will get you up and running using Hugo and Congo from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. + +### Install Hugo + +If you haven't used Hugo before, you will need to [install it onto your local machine](https://gohugo.io/getting-started/installing). You can check if it's already installed by running the command `hugo version`. + +{{< alert >}} +Make sure you are using **Hugo extended version 0.87.0** or later as the theme takes advantage of some of the latest Hugo features. +{{< /alert >}} + +You can find detailed installation instructions for your platform in the [Hugo docs](https://gohugo.io/getting-started/installing). + +### Create a new site + +Run the command `hugo new site mywebsite` to create a new Hugo site in a directory named `mywebsite`. + +Note that you can name the project directory whatever you choose, but the instructions below will assume it's named `mywebsite`. If you use a different name, be sure to substitute it accordingly. + +### Download the Congo theme + +There several different ways to install the Congo theme into your Hugo website. From easiest to most difficult to install and maintain, they are: + +- [Hugo module](#install-using-hugo) (recommended) +- [Git submodule](#install-using-git) +- [Manual file copy](#install-manually) + +If you're unsure, choose the Hugo module method. + +#### Install using Hugo + +This method is the quickest and easiest for keeping the theme up-to-date. Hugo uses **Go** to initialise and manage modules so you need to ensure you have `go` installed before proceeding. + +1. [Download](https://golang.org/dl/) and install Go. You can check if it's already installed by using the command `go version`. + + {{< alert >}} + Make sure you are using **Go version 1.12** or later as Hugo requires this for modules to work correctly. + {{< /alert >}} + +2. From your Hugo project directory (that you created above), initialise modules for your website: + + ```shell + # If you're managing your project on GitHub + hugo mod init github.com// + + # If you're managing your project locally + hugo mod init my-project + ``` + +3. Add the theme to your configuration by creating a new file `config/_default/module.toml` and adding the following: + + ```toml + [[imports]] + path = "github.com/jpanther/congo/v2" + ``` + +4. Start your server using `hugo server` and the theme will be downloaded automatically. +5. Continue to [set up the theme configuration files](#set-up-theme-configuration-files). + +#### Install using git + +For this method you'll need to ensure you have **Git** installed on your local machine. + +Change into the directory for your Hugo website (that you created above), initialise a new `git` repository and add Congo as a submodule. + +```bash +cd mywebsite +git init +git submodule add -b stable https://github.com/jpanther/congo.git themes/congo +``` + +Then continue to [set up the theme configuration files](#set-up-theme-configuration-files). + +#### Install manually + +1. Download the latest release of the theme source code. + + {{< button href="https://github.com/jpanther/congo/releases/latest" target="_blank" >}}Download from Github{{< /button >}} + +2. Extract the archive, rename the folder to `congo` and move it to the `themes/` directory inside your Hugo project's root folder. +3. Continue to [set up the theme configuration files](#set-up-theme-configuration-files). + +### Set up theme configuration files + +In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder. This will ensure you have all the correct theme settings and will enable you to easily customise the theme to your needs. + +{{< alert >}} +**Note:** You should not overwrite the `module.toml` file if one already exists in your project! +{{< /alert >}} + +Depending on how you installed the theme you will find the theme config files in different places: + +- **Hugo Modules:** In the Hugo cache directory, or [download a copy](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/jpanther/congo/tree/stable/config/_default) from GitHub +- **Git submodule or Manual install:** `themes/congo/config/_default` + +Once you've copied the files, your config folder should look like this: + +```shell +config/_default/ +├─ config.toml +├─ markup.toml +├─ menus.toml +├─ module.toml # if you installed using Hugo Modules +└─ params.toml +``` + +{{< alert >}} +**Important:** If you didn't use Hugo Modules to install Congo, you must add the line `theme = "congo"` to the top of your `config.toml` file. +{{< /alert >}} + +### Next steps + +The basic Congo installation is now complete. Continue to the [Getting Started]({{< ref "getting-started" >}}) section to learn more about configuring the theme. + +--- + +## Installing updates + +From time to time there will be [new releases](https://github.com/jpanther/congo/releases) posted that apply fixes and add new functionality to the theme. In order to take advantage of these changes, you will need to update the theme files on your website. + +How you go about this will depend on the installation method you chose when the theme was originally installed. Instructions for each method can be found below. + +- [Hugo module](#update-using-hugo) +- [Git submodule](#update-using-git) +- [Manual file copy](#update-manually) + +### Update using Hugo + +Hugo makes updating modules super easy. Simply change into your project directory and execute the following command: + +```shell +hugo mod get -u +``` + +Hugo will automatically update any modules that are required for your project. It does this by inspecting your `module.toml` and `go.mod` files. If you have any issues with the update, check to ensure these files are still configured correctly. + +Then simply rebuild your site and check everything works as expected. + +{{< alert >}} +When updating modules, sometimes Hugo will cache an older version of the theme. If this happens, clear your local cache by using the `hugo mod clean` command and then rebuild your site. +{{< /alert >}} + +### Update using git + +Git submodules can be updated using the `git` command. Simply execute the following command and the latest version of the theme will be downloaded into your local repository: + +```shell +git submodule update --remote --merge +``` + +Once the submodule has been updated, rebuild your site and check everything works as expected. + +### Update manually + +Updating Congo manually requires you to download the latest copy of the theme and replace the old version in your project. + +{{< alert >}} +Note that any local customisations you have made to the theme files will be lost during this process. +{{< /alert >}} + +1. Download the latest release of the theme source code. + + {{< button href="https://github.com/jpanther/congo/releases/latest" target="_blank" >}}Download from Github{{< /button >}} + +2. Extract the archive, rename the folder to `congo` and move it to the `themes/` directory inside your Hugo project's root folder. You will need to overwrite the existing directory to replace all the theme files. + +3. Rebuild your site and check everything works as expected. diff --git a/themes/congo/exampleSite/content/docs/installation/index.zh-cn.md b/themes/congo/exampleSite/content/docs/installation/index.zh-cn.md new file mode 100644 index 0000000..e6c6a3d --- /dev/null +++ b/themes/congo/exampleSite/content/docs/installation/index.zh-cn.md @@ -0,0 +1,173 @@ +--- +title: "安装" +date: 2020-08-16 +draft: false +description: "如何安装Congo主题" +summary: "学习如何从0开始使用Hugo和Congo。如果您是新用户,这是开始的最佳位置。" +slug: "installation" +tags: ["installation", "docs"] +--- + +只需按照标准的Hugo [快速入门](https://gohugo.io/getting-started/quick-start/)流程,即可快速启动和运行。 + +下面提供了详细的安装说明。还有关于[更新主题](#installing-updates)的说明。 + +## 安装 + +以下说明将帮助您从0使用Hugo和Congo启动和运行。此指南中提到的大多数依赖项可以使用您平台上选择的包管理器进行安装。 + +### 安装Hugo + +如果您以前没有使用过Hugo,您需要[将其安装到本地计算机上](https://gohugo.io/getting-started/installing)。您可以通过运行命令 `hugo version` 来检查是否已经安装。 + +{{< alert >}} +确保您使用的是 **Hugo版本0.87.0** 或更高版本,因为该主题利用了一些最新的Hugo功能。 +{{< /alert >}} + +您可以在[Hugo文档](https://gohugo.io/getting-started/installing)中找到有关您平台的详细安装说明。 + +### 创建新站点 + +运行命令 `hugo new site mywebsite` 在名为 `mywebsite` 的目录中创建一个新的Hugo站点。 + +请注意,您可以将项目目录命名为任何您选择的名称,但下面的说明将假定其名称为 `mywebsite`。如果使用其他名称,请确保相应地进行替换。 + +### 下载Congo主题 + +有几种不同的方法可以将Congo主题安装到您的Hugo网站中。从最简单到最难安装和维护的方式,它们分别是: + +- [Hugo模块](#使用hugo安装)(推荐) +- [Git子模块](#使用git安装) +- [手动文件复制](#手动安装) + +如果不确定,请选择Hugo模块方法。 + +#### 使用Hugo安装 + +这种方法是保持主题最新的最快最简单的方法。Hugo使用 **Go** 来初始化和管理模块,因此在继续之前,您需要确保已安装 `go`。 + +1. [下载](https://golang.org/dl/)并安装Go。您可以通过使用命令 `go version` 来检查是否已安装。 + + {{< alert >}} + 确保您使用的是 **Go版本1.12** 或更高版本,因为Hugo需要这个版本以使模块正常工作。 + {{< /alert >}} + +2. 从Hugo项目目录(您上面创建的目录)中,为您的网站初始化模块: + + ```shell + # 如果您在GitHub上管理项目 + hugo mod init github.com// + + # 如果您在本地管理项目 + hugo mod init my-project + ``` + +3. 通过创建一个新文件 `config/_default/module.toml` 并添加以下内容,将主题添加到配置中: + + ```toml + [[imports]] + path = "github.com/jpanther/congo/v2" + ``` + +4. 使用 `hugo server` 启动您的服务器,主题将自动下载。 +5. 继续 [设置主题配置文件](#设置主题配置文件)。 + +#### 使用Git安装 + +对于这种方法,您需要确保在本地计算机上安装了 **Git**。 + +切换到您的Hugo网站目录(上面创建的目录),初始化一个新的 `git` 存储库并将刚果添加为子模块。 + +```bash +cd mywebsite +git init +git submodule add -b stable https://github.com/jpanther/congo.git themes/congo +``` + +然后继续 [设置主题配置文件](#设置主题配置文件)。 + +### 设置主题配置文件 + +在您的网站根目录中,删除由Hugo生成的 `config.toml` 文件。将主题中的 `*.toml` 配置文件复制到您的 `config/_default/` 文件夹中。这将确保您具有所有正确的主题设置,并使您能够轻松地根据需要自定义主题。 + +{{< alert >}} +**注意:** 如果您的项目中已存在 `module.toml` 文件,则不应覆盖它! +{{< /alert >}} + +根据您安装主题的方式,您将在不同的位置找到主题配置文件: + +- **Hugo模块:** 在Hugo缓存目录中,或者从GitHub[下载一份副本](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/jpanther/congo/tree/stable/config/_default) +- **Git子模块或手动安装:** `themes/congo/config/_default` + +复制文件后,您的配置文件夹应如下所示: + +```shell +config/_default/ +├─ config.toml +├─ markup.toml +├─ menus.toml +├─ module.toml # 如果使用Hugo模块安装 +└─ params.toml +``` + +{{< alert >}} +**重要:** 如果您不是使用Hugo模块的方法安装Congo,则必须在您的 `config.toml` 文件顶部添加 `theme = "congo"` 这一行。 +{{< /alert >}} + +### 下一步 + +基本的刚果安装现在已经完成。继续查看 [入门](#入门) 部分,了解有关配置主题的更多信息。 + +--- + +## 安装更新 + +我们不时会发布[新的版本](https://github.com/jpanther/congo/releases),其中包含对主题的修复和新功能。为了利用这些更改,您需要更新网站上的主题文件。 + +您执行此操作的方式将取决于主题最初安装时选择的安装方法。下面是每种方法的说明。 + +- [Hugo模块](#使用Hugo更新) +- [Git子模块](#使用Git更新) +- [手动文件复制](#手动更新) + +### 使用Hugo更新 + +Hugo使更新模块变得非常容易。只需切换到项目目录并执行以下命令: + +```shell +hugo mod get -u +``` + +Hugo将自动更新项目所需的任何模块。它通过检查您的 `module.toml` 和 `go.mod` 文件来完成。如果更新时出现任何问题,请检查这些文件是否仍然正确配置。 + +然后只需重新构建您的站点,并检查一切是否按预期工作。 + +{{< alert >}} +在更新模块时,有时Hugo会缓存主题的较旧版本。如果发生这种情况,请使用 `hugo mod clean` 命令清除本地缓存,然后重新构建您的站点。 +{{< /alert >}} + +### 使用Git更新 + +可以使用 `git` 命令更新Git子模块。只需执行以下命令,最新版本的主题将被下载到本地存储库中: + +```shell +git submodule update --remote --merge +``` + +一旦子模块已更新,重新构建您的站点并检查一切是否按预期工作。 + +### 手动更新 + +手动更新刚果需要您下载主题的最新副本,并替换项目中的旧版本。 + +{{< alert >}} +请注意,在此过程中,您对主题文件的任何本地自定义将丢失。 +{{< /alert >}} + +1. 下载主题源代码的最新发布版本。 + + {{< button href="https://github.com/jpanther/congo/releases/latest" target="_blank" >}}从Github下载{{< /button >}} + +2. 解压缩存档,将文件夹重命名为 `congo`,并将其移动到Hugo项目根文件夹内的 `themes/` 目录。您需要覆盖现有目录以替换所有主题文件。 + +3. 重新构建您的站点 diff --git a/themes/congo/exampleSite/content/docs/installation/thumb-cloud-files.svg b/themes/congo/exampleSite/content/docs/installation/thumb-cloud-files.svg new file mode 100644 index 0000000..545fd91 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/installation/thumb-cloud-files.svg @@ -0,0 +1 @@ +cloud_files \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/partials/fathom-analytics.jpg b/themes/congo/exampleSite/content/docs/partials/fathom-analytics.jpg new file mode 100644 index 0000000..ed862c6 Binary files /dev/null and b/themes/congo/exampleSite/content/docs/partials/fathom-analytics.jpg differ diff --git a/themes/congo/exampleSite/content/docs/partials/index.ja.md b/themes/congo/exampleSite/content/docs/partials/index.ja.md new file mode 100644 index 0000000..469edac --- /dev/null +++ b/themes/congo/exampleSite/content/docs/partials/index.ja.md @@ -0,0 +1,99 @@ +--- +title: "パーシャル" +date: 2020-08-10 +draft: false +description: "Congoで利用できるすべてのパーシャルについて" +summary: "パーシャルは、アナリティクス、コメント、ファビコン、カスタムスクリプトなどの特別な機能をテーマに追加するために使用されます。" +slug: "partials" +tags: ["partials", "analytics", "privacy", "comments", "favicons", "icon", "docs"] +--- + +## アナリティクス + +CongoはFathom AnalyticsとGoogle Analyticsをビルトインでサポートしています。Fathomはユーザーのプライバシーを尊重するGoogle Analyticsの有料代替サービスです。ご興味のある方は、このアフィリエイトリンクから[10ドルのクレジット](https://usefathom.com/ref/RLAJSV)を受け取ってください。 + +### Fathom Analytics + +Fathom Analyticsのサポートを有効にするには、 `config/_default/params.toml` ファイルにFathomサイトコードを記述するだけです。Fathomのカスタムドメイン機能を使用し、ドメインからスクリプトを提供したい場合は、 `domain` 設定値を追加で指定することもできます。 `domain` の値を指定しない場合、スクリプトはFathom DNSから直接読み込まれます。 + +```toml +# config/_default/params.toml + +[fathomAnalytics] + site = "ABC12345" + domain = "llama.yoursite.com" +``` + +### Google Analytics + +Google Analyticsのサポートは内部のHugoパーシャルを通して提供されます。 `config/_default/config.toml` ファイルに `googleAnalytics` キーを指定するだけで、スクリプトが自動的に追加されます。 + +提供された設定値に基づいて、バージョン3(analytics.js)とバージョン4(gtag.js)の両方がサポートされています: + +```toml +# config/_default/config.toml + +# version 3 +googleAnalytics = "UA-PROPERTY_ID" +# version 4 +googleAnalytics = "G-MEASUREMENT_ID" +``` + +### Custom analytics providers + +別のアナリティクスプロバイダーを使いたい場合は、アナリティクスパーシャルをオーバーライドして独自のスクリプトを提供することもできます。 `layouts/partials/analytics.html` ファイルをプロジェクトに作成するだけで、ウェブサイトの `` に自動的にインクルードされます。 + +## コメント + +記事にコメント機能を追加するために、Congoは各記事ページのベースに含まれるコメントパーシャルのサポートを含んでいます。 `layouts/partials/comments.html` を提供するだけで、選択したコメントを表示するために必要なコードが含まれます。 + +組み込みのHugo Disqusテンプレートを使用するか、独自のカスタムコードを提供することができます。詳しくは[Hugo docs](https://gohugo.io/content-management/comments/)を参照してください。 + +コメントを表示する場所をより細かく制御するために `showComments` パラメーターを使用します。この値は `params.toml` の[テーマパラメーター]({{< ref "configuration#テーマパラメーター" >}})として設定するか、[フロントマター]({{< ref "front-matter" >}})に含めることで記事ごとに設定するか、選ぶことができます。このパラメーターはデフォルトで `false` に設定されているので、コメントを表示させるにはこれらの場所のいずれかで `true` に設定する必要があります。 + +## ファビコン + +Congoはデフォルトで空白のファビコンセットを提供しますが、それを上書きするために独自のアセットを設定することができます。新しいファビコンを入手する最も簡単な方法は、[favicon.io](https://favicon.io)のようなサードパーティプロバイダーを使って生成することです。 + +アイコンアセットは、ウェブサイトの `static/` に直接配置し、以下のリストに従って名前を付けてください。[favicon.io](https://favicon.io)を使用する場合、これらは自動的に生成されるファイル名になりますが、必要に応じて独自のアセットを提供することもできます。 + +```shell +static/ +├─ android-chrome-192x192.png +├─ android-chrome-512x512.png +├─ apple-touch-icon.png +├─ favicon-16x16.png +├─ favicon-32x32.png +├─ favicon.ico +└─ site.webmanifest +``` + +また、デフォルトのファビコンの動作を完全にオーバーライドすることもできます。 `layouts/partials/favicons.html` ファイルをプロジェクトに提供するだけで、デフォルトのアセットの代わりに `` に注入されます。 + +## アイコン + +[ショートコード - アイコン]({{< ref "shortcodes#アイコン" >}})と同様に、Congoの `icon.html` パーシャルを使うことで、独自のテンプレートやパーシャルにアイコンを含めることができます。このパーシャルにはアイコンの名前を指定します。 + +**例:** + +```go + {{ partial "icon.html" "github" }} +``` + +アイコンはHugo Pipesを使って配置されるため、非常に柔軟性があります。Congoには、ソーシャル、リンク、その他の目的のために多くのビルトインアイコンが含まれています。サポートされているアイコンの完全なリストは、[サンプル - アイコン]({{< ref "samples/icons" >}}) ページをチェックしてください。 + +カスタムアイコンはプロジェクトの `assets/icons/` ディレクトリに独自のアイコンアセットを提供することで追加できます。アイコンは拡張子 `.svg` を除いたSVGファイル名でパーシャルから参照できます。 + +## Extensions + +Congoは基本機能の拡張を可能にする多くのパーシャルを提供しています。 + +### 記事リンク + +記事リンクの後に追加のコードを挿入したい場合は、 `layouts/partials/extend-article-link.html` ファイルを作成してください。これは、特定の記事のメタデータをハイライトするために使用できる[`バッジ`]({{< ref "shortcodes#バッジ" >}})ショートコードと組み合わせると特に強力です。 + +### HeadとFooter + +テンプレートの `` と `
    ` に直接追加コードを挿入することができます。これらはテーマの一部ではないスクリプトやその他のロジックを提供するのに便利です。 + +`layouts/partials/extend-head.html` または `layouts/partials/extend-footer.html` を作成するだけで、これらは自動的にあなたのウェブサイトに挿入されます。どちらのパーシャルも `` と `
    ` の最後の項目として挿入されるので、テーマのデフォルトを上書きするために使用することができます。 diff --git a/themes/congo/exampleSite/content/docs/partials/index.md b/themes/congo/exampleSite/content/docs/partials/index.md new file mode 100644 index 0000000..23d8847 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/partials/index.md @@ -0,0 +1,129 @@ +--- +title: "Partials" +date: 2020-08-10 +draft: false +description: "All the partials available in Congo." +summary: "Partials are used to add special functionality to the theme including analytics, comments, favicons, custom scripts and more." +slug: "partials" +tags: ["partials", "analytics", "privacy", "comments", "favicons", "icon", "docs"] +--- + +## Analytics + +Congo provides support for various analytics providers out of the box, as well as the ability to include custom code for any provider of your choice. If you don't currently have an analytics provider, check out Fathom Analytics. + +### Fathom Analytics + +Fathom Analytics is a privacy-first service that is a great alternative to Google Analytics. It allows you to get all the visitor information you need, without spying on them. As a Congo user, you can use this affiliate link to [receive $10 credit](https://usefathom.com/ref/RLAJSV) and try the service. + +[![Fathom Analytics. Website analytics without compromise. Zero cookies, GDPR compliant, and privacy-first. Start a free trial.](fathom-analytics.jpg)](https://usefathom.com/ref/RLAJSV) + +To enable Fathom Analytics support, simply provide your Fathom site code in the `config/_default/params.toml` file. The script will load in your site directly from the Fathom Analytics CDN. + +```toml +# config/_default/params.toml + +[fathomAnalytics] + site = "ABC12345" +``` + +### Plausible Analytics + +To enable Plausible analytics support, simply provide the domain of the website you want to track in the `config/_default/params.toml` file. If you are using a self-hosted Plausible, or wish to use a [proxied analytics](https://plausible.io/docs/proxy/introduction) script and event API router, you can also provide additional `event` and `script` configuration values. If you do not provide these two values, the script will load directly with Plausible's default managed service. Refer to [Using a proxy for analytics](https://plausible.io/docs/proxy/introduction) for more details. + +```toml +# config/_default/params.toml + +[plausibleAnalytics] + domain = "blog.yoursite.com" + event = "https://plausible.yoursite.com/api/event" + script = "https://plausible.yoursite.com/js/script.js" +``` + +### Umami Analytics + +To enable support for Umami Analytics, insert the _tracking code token_ provided by Umami into the `site` parameter to monitor the site. You can also insert a `region` parameter to indicate the region of Umami Analytics servers that you want to connect to. The values can be `eu` or `us`. Refer to [getting started section at umami.is](https://umami.is/docs/getting-started) for more details. + +```toml +# config/_default/params.toml + +[umamiAnalytics] + site = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + region = "eu" # can be either "eu" or "us" +``` + +### Google Analytics + +Google Analytics support is provided through the internal Hugo partial. Simply provide the `googleAnalytics` key in the `config/_default/config.toml` file and the script will be added automatically. + +Both version 3 (analytics.js) and version 4 (gtag.js) are supported, based on the configuration value provided: + +```toml +# config/_default/config.toml + +# version 3 +googleAnalytics = "UA-PROPERTY_ID" +# version 4 +googleAnalytics = "G-MEASUREMENT_ID" +``` + +### Custom analytics providers + +If you wish to use a different analytics provider on your website you can also override the analytics partial and provide your own script. Simply create the file `layouts/partials/analytics.html` in your project and it will automatically include it in the `` of the website. + +## Comments + +To add comments to your articles, Congo includes support for a comments partial that is included at the base of each article page. Simply provide a `layouts/partials/comments.html` which contains the code required to display your chosen comments. + +You can use either the built-in Hugo Disqus template, or provide your own custom code. Refer to the [Hugo docs](https://gohugo.io/content-management/comments/) for further information. + +Once the partial has been provided, finer control over where comments are displayed is then managed using the `showComments` parameter. This value can be set at the theme level in the `params.toml` [config file]({{< ref "configuration#theme-parameters" >}}), or on a per-article basis by including it in the [front matter]({{< ref "front-matter" >}}). The parameter defaults to `false` so it must be set to `true` in one of these locations in order for comments to be displayed. + +## Favicons + +Congo provides a default set of blank favicons to get started but you can provide your own assets to override them. The easiest way to obtain new favicon assets is to generate them using a third-party provider like [favicon.io](https://favicon.io). + +Icon assets should be placed directly in the `static/` folder of your website and named as per the listing below. If you use [favicon.io](https://favicon.io), these will be the filenames that are automatically generated for you, but you can provide your own assets if you wish. + +```shell +static/ +├─ android-chrome-192x192.png +├─ android-chrome-512x512.png +├─ apple-touch-icon.png +├─ favicon-16x16.png +├─ favicon-32x32.png +├─ favicon.ico +└─ site.webmanifest +``` + +Alternatively, you can also completely override the default favicon behaviour and provide your own favicon HTML tags and assets. Simply provide a `layouts/partials/favicons.html` file in your project and this will be injected into the site `` in place of the default assets. + +## Icon + +Similar to the [icon shortcode]({{< ref "shortcodes#icon" >}}), you can include icons in your own templates and partials by using Congo's `icon.html` partial. The partial takes one parameter which is the name of the icon to be included. + +**Example:** + +```go + {{ partial "icon.html" "github" }} +``` + +Icons are populated using Hugo pipelines which makes them very flexible. Congo includes a number of built-in icons for social, links and other purposes. Check the [icon samples]({{< ref "samples/icons" >}}) page for a full list of supported icons. + +Custom icons can be added by providing your own icon assets in the `assets/icons/` directory of your project. The icon can then be referenced in the partial by using the SVG filename without the `.svg` extension. + +Icons can also be used in article content by calling the [icon shortcode]({{< ref "shortcodes#icon" >}}). + +## Extensions + +Congo also provides for a number of extension partials that allow for expanding upon base functionality. + +### Article link + +If you wish to insert additional code after article links, create a `layouts/partials/extend-article-link.html` file. This is especially powerful when combined with the [`badge`]({{< ref "shortcodes#badge" >}}) shortcode which can be used to highlight metadata for certain articles. + +### Head and Footer + +The theme allows for inserting additional code directly into the `` and `
    ` sections of the template. These can be useful for providing scripts or other logic that isn't part of the theme. + +Simply create either `layouts/partials/extend-head.html` or `layouts/partials/extend-footer.html` and these will automatically be included in your website build. Both partials are injected as the last items in `` and `
    ` so they can be used to override theme defaults. diff --git a/themes/congo/exampleSite/content/docs/partials/index.zh-cn.md b/themes/congo/exampleSite/content/docs/partials/index.zh-cn.md new file mode 100644 index 0000000..8337854 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/partials/index.zh-cn.md @@ -0,0 +1,114 @@ +--- +title: "Partials" +date: 2020-08-10 +draft: false +description: "Congo 主题中的所有partial。" +summary: "partials用于向主题添加特殊功能,包括分析、评论、网站图标、自定义脚本等等。" +slug: "partials" +tags: ["partials", "analytics", "privacy", "comments", "favicons", "icon", "docs"] +--- + +## Analytics + +Congo内置支持Fathom Analytics和Google Analytics。Fathom是Google Analytics的付费替代方案,尊重用户隐私。如果您感兴趣,可以使用此[推广链接](https://usefathom.com/ref/RLAJSV)获得$10的信用并尝试该服务。 + +### Fathom Analytics + +要启用Fathom Analytics支持,只需在 `config/_default/params.toml` 文件中提供您的Fathom站点代码。如果您还使用Fathom的自定义域功能,并希望从您的域提供其脚本,还可以提供`domain`配置值。如果不提供`domain`值,则脚本将直接从Fathom DNS加载。 + +```toml +# config/_default/params.toml + +[fathomAnalytics] + site = "ABC12345" + domain = "llama.yoursite.com" +``` + +### Plausible Analytics + +要启用 Plausible 分析支持,只需在 `config/_default/params.toml` 文件中提供您要跟踪的网站域。如果您使用的是自托管的 Plausible,或者希望使用 [代理分析](https://plausible.io/docs/proxy/introduction) 脚本和事件 API 路由,您还可以提供额外的 `event` 和 `script` 配置值。如果不提供这两个值,脚本将直接加载 Plausible 的默认托管服务。有关更多详细信息,请参阅 [使用代理进行分析](https://plausible.io/docs/proxy/introduction)。 + +```toml +# config/_default/params.toml + +[plausibleAnalytics] + domain = "blog.yoursite.com" + event = "https://plausible.yoursite.com/api/event" + script = "https://plausible.yoursite.com/js/script.js" +``` + +### Google Analytics + +要启用 Google Analytics 支持,只需在 `config/_default/config.toml` 文件中提供 `googleAnalytics` 键,脚本将自动添加。 + +根据提供的配置值,支持版本 3 (analytics.js) 和版本 4 (gtag.js): + +```toml +# config/_default/config.toml + +# version 3 +googleAnalytics = "UA-PROPERTY_ID" +# version 4 +googleAnalytics = "G-MEASUREMENT_ID" +``` + +### 自定义分析提供商 + +如果您希望在您的网站上使用不同的分析提供商,您还可以覆盖分析 partial 并提供自己的脚本。只需在项目中创建文件 `layouts/partials/analytics.html`,它将自动包含在网站的 `` 中。 + +## 评论 + +要在文章中添加评论,Congo 包括对评论 partial 的支持,该 partial 包含在每篇文章页面的底部。只需提供一个包含显示您选择的评论所需代码的 `layouts/partials/comments.html`。 + +您可以使用内置的 Hugo Disqus 模板,也可以提供自己的自定义代码。有关详细信息,请参阅 [Hugo 文档](https://gohugo.io/content-management/comments/)。 + +一旦提供了 partial,就可以使用 `showComments` 参数来更精细地控制评论的显示位置。该值可以在 `params.toml` [配置文件]({{< ref "configuration#theme-parameters" >}})中在主题级别设置,也可以通过在 [front matter]({{< ref "front-matter" >}}) 中将其包含在每篇文章中。该参数默认为 `false`,因此必须在这些位置之一将其设置为 `true`,以便显示评论。 + +## 网站图标 + +Congo 提供了一组默认的空白网站图标,以便开始使用,但您可以提供自己的资产来覆盖它们。获取新网站图标资产的最简单方法是使用第三方提供商(例如 [favicon.io](https://favicon.io))生成它们。 + +图标资产应直接放置在您网站的 `static/` 文件夹中,并按下面的清单命名。如果您使用 [favicon.io](https://favicon.io),这些将是为您自动生成的文件名,但如果愿意,您也可以提供自己的资产。 + +```shell +static/ +├─ android-chrome-192x192.png +├─ android-chrome-512x512.png +├─ apple-touch-icon.png +├─ favicon-16x16.png +├─ favicon-32x32.png +├─ favicon.ico +└─ site.webmanifest +``` + +或者,您还可以完全覆盖默认的网站图标行为,并提供自己的网站图标 HTML 标签和资产。只需在您的项目中提供一个 `layouts/partials/favicons.html` 文件,它将被注入到站点的 `` 中,取代默认的资产。 + +## 图标 + +与 [图标 shortcode]({{< ref "shortcodes#icon" >}}) 类似,您可以通过使用 Congo 的 `icon.html` 部分在自己的模板和部分中包含图标。该部分接受一个参数,即要包含的图标的名称。 + +**例:** + +```go + {{ partial "icon.html" "github" }} +``` + +图标是使用 Hugo 管道生成的,这使它们非常灵活。Congo 包含了许多内置的图标,用于社交、链接和其他用途。查看 [图标示例]({{< ref "samples/icons" >}}) 页面,以获取支持的所有图标的完整列表。 + +您可以通过在项目的 `assets/icons/` 目录中提供自己的图标资产来添加自定义图标。然后,可以通过在没有 `.svg` 扩展名的情况下使用 SVG 文件名在部分中引用该图标。 + +图标还可以通过调用 [图标 shortcode]({{< ref "shortcodes#icon" >}}) 在文章内容中使用。 + +## 扩展 + +Congo 还提供了许多扩展部分,允许扩展基本功能。 + +### 文章链接 + +如果希望在文章链接后插入其他代码,请创建一个 `layouts/partials/extend-article-link.html` 文件。当与 [`badge`]({{< ref "shortcodes#badge" >}}) shortcode 结合使用时,这特别强大,可以用于突出显示某些文章的元数据。 + +### 头部和页脚 + +该主题允许直接将额外的代码插入到模板的 `` 和 `
    ` 部分。这对于提供不是主题一部分的脚本或其他逻辑非常有用。 + +只需创建 `layouts/partials/extend-head.html` 或 `layouts/partials/extend-footer.html`,它们将自动包含在您的网站构建中。这两个部分都被注入为 `` 和 `
    ` 中的最后一项,因此它们可以用于覆盖主题默认值。 diff --git a/themes/congo/exampleSite/content/docs/partials/thumb-charts.svg b/themes/congo/exampleSite/content/docs/partials/thumb-charts.svg new file mode 100644 index 0000000..3435c37 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/partials/thumb-charts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/screenshot.png b/themes/congo/exampleSite/content/docs/screenshot.png new file mode 100644 index 0000000..7046134 Binary files /dev/null and b/themes/congo/exampleSite/content/docs/screenshot.png differ diff --git a/themes/congo/exampleSite/content/docs/shortcodes/abstract.jpg b/themes/congo/exampleSite/content/docs/shortcodes/abstract.jpg new file mode 100644 index 0000000..134ced3 Binary files /dev/null and b/themes/congo/exampleSite/content/docs/shortcodes/abstract.jpg differ diff --git a/themes/congo/exampleSite/content/docs/shortcodes/index.ja.md b/themes/congo/exampleSite/content/docs/shortcodes/index.ja.md new file mode 100644 index 0000000..6ef62ec --- /dev/null +++ b/themes/congo/exampleSite/content/docs/shortcodes/index.ja.md @@ -0,0 +1,236 @@ +--- +title: "ショートコード" +date: 2020-08-11 +draft: false +description: "Congoで利用できるすべてのショートコードについて" +summary: Congoには、画像、図表、ボタンなどのリッチコンテンツを記事に追加するショートコードが含まれています。 +slug: "shortcodes" +tags: ["shortcodes", "mermaid", "icon", "lead", "docs"] +--- + +すべての[デフォルトのHugoショートコード](https://gohugo.io/content-management/shortcodes/)に加えて、Congoは追加機能のためにいくつか追加しています。 + +## アラート + +`alert` は、その内容をスタイル化されたメッセージボックスとして記事内に出力します。読者に見逃してほしくない重要な情報に注意を促すのに便利です。 + +入力はMarkdownで書かれているので、好きなようにフォーマットできます。 + +デフォルトでは、警告の三角形アイコンで表示されます。アイコンを変更するには、アイコン名をショートコードに含めます。アイコンの使い方については、[アイコン](#アイコン)をご覧ください。 + +**例:** + +```md +{{}} +**警告!** この行為は破壊的です! +{{}} + +{{}} +Twitterで私を[フォロー](https://twitter.com/jpanther)することをお忘れなく! +{{}} +``` + +{{< alert >}} +**警告!** この行為は破壊的です! +{{< /alert >}} +  +{{< alert "twitter" >}} +Twitterで私を[フォロー](https://twitter.com/jpanther)することをお忘れなく! +{{< /alert >}} + +## バッジ + +`badge` は、メタデータを表示するのに便利なスタイル付きバッジコンポーネントを出力します。 + +**例:** + +```md +{{}} +新着記事! +{{}} +``` + +{{< badge >}} +新着記事! +{{< /badge >}} + +## ボタン + +`button` は主要なアクションを強調するために使用できるスタイル付きボタンコンポーネントを出力します。オプションで3つのパラメーターを持ちます: + + +|Parameter|Description| +|---|---| +|`href`|ボタンがリンクするURL。| +|`target`|リンクのターゲット。| +|`download`|ブラウザがURLに移動するのではなく、リソースをダウンロードするかどうか。このパラメーターの値はダウンロードされるファイルの名前になります。| + + +**例:** + +```md +{{}} +Click! +{{}} +``` + +{{< button href="#button" target="_self" >}} +Click! +{{< /button >}} + +## チャート + +`chart` は、Chart.jsライブラリを使用して、単純な構造化データを使用して記事にチャートを埋め込みます。多くの[異なるチャートスタイル](https://www.chartjs.org/docs/latest/samples/)をサポートしており、全てはショートコード内から設定することができます。ショートコードのタグの間にチャートのパラメーターを指定するだけで、あとはChart.jsがやってくれます。 + +構文とサポートされるチャート・タイプの詳細については、[Chart.js公式ドキュメント](https://www.chartjs.org/docs/latest/general/)を参照してください。 + +**例:** + +```js +{{}} +type: 'bar', +data: { + labels: ['Tomato', 'Blueberry', 'Banana', 'Lime', 'Orange'], + datasets: [{ + label: '# of votes', + data: [12, 19, 3, 5, 3], + }] +} +{{}} +``` + + +{{< chart >}} +type: 'bar', +data: { + labels: ['Tomato', 'Blueberry', 'Banana', 'Lime', 'Orange'], + datasets: [{ + label: '# of votes', + data: [12, 19, 3, 5, 3], + }] +} +{{< /chart >}} + + +[サンプル - チャート]({{< ref "charts" >}})で、他のサンプルを見るこができます。 + +## 図 + +Congoには、コンテンツに画像を追加するための `figure` ショートコードが含まれています。このショートコードは、Hugoの基本機能を置き換えることで、さらなるパフォーマンス上の利点を提供します。 + +提供された画像がページリソースである場合、Hugo Pipesを使用して最適化され、さまざまなデバイスの解像度に適した画像が提供されるように拡大縮小されます。静的アセットや外部画像へのURLが提供された場合は、Hugoによる画像処理は行われず、そのまま含まれます。 + +`figure` は6つのパラメーターを受け入れます: + + +|Parameter|Description| +|---|---| +|`src`| **必須** 画像のローカルパス/ファイル名またはURL。パスとファイル名を指定すると、テーマは次の順番で画像を探します: まず、ページにバンドルされている[ページリソース](https://gohugo.io/content-management/page-resources/)、次に `assets/` ディレクトリ、最後に `static/` ディレクトリ。| +|`alt`|画像の[代替テキスト説明](https://moz.com/learn/seo/alt-text)。| +|`caption`|画像の下に表示される画像キャプションのMarkdown文字列。| +|`class`|画像に適用する追加のCSSクラス。| +|`href`|画像のリンク先URL。| +|`default`|デフォルトのHugo `figure` の動作に戻す際には `default=true` を指定し、通常の[Hugo ショートコード構文](https://gohugo.io/content-management/shortcodes/#figure)を参照してください。| + + +Congoは、標準的なMarkdown構文を使用した場合の画像についても自動変換をサポートしています。以下のフォーマットを使用するだけで処理します: + +```md +![Alt text](image.jpg "Image caption") +``` + +**例:** + +```md +{{}} + + + +![抽象的な紫色のアートワーク](abstract.jpg "Photo by [Jr Korpa](https://unsplash.com/@jrkorpa) on [Unsplash](https://unsplash.com/)") +``` + +{{< figure src="abstract.jpg" alt="抽象的な紫色のアートワーク" caption="Photo by [Jr Korpa](https://unsplash.com/@jrkorpa) on [Unsplash](https://unsplash.com/)" >}} + +## アイコン + +`icon` はアイコンの名前を唯一のパラメーターとして受け取り、SVGアイコンを出力します。アイコンは現在のテキストサイズに合わせて自動的に拡大縮小されます。 + +**例:** + +```md +{{}} +``` + +**出力:** {{< icon "github" >}} + +アイコンはHugo Pipesを使って配置されるため、非常に柔軟性があります。Congoには、ソーシャル、リンク、その他の目的のために多くのビルトインアイコンが含まれています。サポートされているアイコンの完全なリストは、[サンプル - アイコン]({{< ref "samples/icons" >}})ページをチェックしてください。 + +カスタムアイコンは、プロジェクトの `assets/icons/` ディレクトリに独自のアイコンアセットを提供することで追加できます。アイコンは拡張子 `.svg` を除いたSVGファイル名でショートコードから参照できます。 + +アイコンは[パーシャル - アイコン]({{< ref "partials#アイコン" >}})を呼び出すことでパーシャルでも使用できます。 + +## Katex + +`katex` を使うと、KaTeXパッケージを使って記事の内容に数式を追加することができます。利用可能な構文については[supported TeX functions](https://katex.org/docs/supported.html)のオンラインリファレンスを参照してください。 + +記事中に数式を含めるには、コンテンツ内の任意の場所にショートコードを配置するだけです。記事ごとに一度記述するだけで、KaTeXが自動的にそのページのマークアップをレンダリングします。インライン表記とブロック表記の両方がサポートされています。 + +インライン記法は、式を区切り記号 `\\(` と `\\)` で囲むことで生成できます。ブロック記法の場合は `$$` です。 + +**例:** + +```md +{{}} +\\(f(a,b,c) = (a^2+b^2+c^2)^3\\) +``` + +{{< katex >}} +\\(f(a,b,c) = (a^2+b^2+c^2)^3\\) + +[数学的表記のサンプル]({{< ref "mathematical-notation" >}})でより多くの例をチェックしてください。 + +## リード + +`lead` は記事の冒頭を強調するために使われます。導入部のスタイルや、重要な情報を呼び出すために使用することができます。Markdownのコンテンツを `lead` で囲むだけです。 + +**例:** + +```md +{{}} +人生があなたにレモンを与えるなら、それでレモネードを作りなさい。 +{{}} +``` + +{{< lead >}} +人生があなたにレモンを与えるなら、それでレモネードを作りなさい。 +{{< /lead >}} + +## Mermaid + +`mermaid` を使えば、テキストを使って詳細なダイアグラムやビジュアライゼーションを描くことができます。Mermaidを使用しており、様々なダイアグラム、チャート、その他の出力形式をサポートしています。 + +`mermaid` 内にMermaid構文を記述するだけで、あとはプラグインにおまかせです。 + +構文とサポートされている図の種類の詳細については、[Mermaid公式ドキュメント](https://mermaid-js.github.io/)を参照してください。 + +**例:** + +```md +{{}} +graph LR; +A[レモン]-->B[レモネード]; +B-->C[利益] +{{}} +``` + +{{< mermaid >}} +graph LR; +A[レモン]-->B[レモネード]; +B-->C[利益] +{{< /mermaid >}} + +[ダイアグラムとフローチャートのサンプル]({{< ref "diagrams-flowcharts" >}})で、他の例を見ることができます。 diff --git a/themes/congo/exampleSite/content/docs/shortcodes/index.md b/themes/congo/exampleSite/content/docs/shortcodes/index.md new file mode 100644 index 0000000..f3c43fe --- /dev/null +++ b/themes/congo/exampleSite/content/docs/shortcodes/index.md @@ -0,0 +1,236 @@ +--- +title: "Shortcodes" +date: 2020-08-11 +draft: false +description: "All the shortcodes available in Congo." +summary: Congo includes several shortcodes for adding rich content to articles including images, charts, diagrams, buttons and more. +slug: "shortcodes" +tags: ["shortcodes", "mermaid", "icon", "lead", "docs"] +--- + +In addition to all the [default Hugo shortcodes](https://gohugo.io/content-management/shortcodes/), Congo adds a few extras for additional functionality. + +## Alert + +`alert` outputs its contents as a stylised message box within your article. It's useful for drawing attention to important information that you don't want the reader to miss. + +The input is written in Markdown so you can format it however you please. + +By default, the alert is presented with an exclaimation triangle icon. To change the icon, include the icon name in the shortcode. Check out the [icon shortcode](#icon) for more details on using icons. + +**Example:** + +```md +{{}} +**Warning!** This action is destructive! +{{}} + +{{}} +Don't forget to [follow me](https://twitter.com/jpanther) on Twitter. +{{}} +``` + +{{< alert >}} +**Warning!** This action is destructive! +{{< /alert >}} +  +{{< alert "twitter" >}} +Don't forget to [follow me](https://twitter.com/jpanther) on Twitter. +{{< /alert >}} + +## Badge + +`badge` outputs a styled badge component which is useful for displaying metadata. + +**Example:** + +```md +{{}} +New article! +{{}} +``` + +{{< badge >}} +New article! +{{< /badge >}} + +## Button + +`button` outputs a styled button component which can be used to highlight a primary action. It has three optional parameters: + + +|Parameter|Description| +|---|---| +|`href`|The URL that the button should link to.| +|`target`|The target of the link.| +|`download`|Whether browser should download the resource rather than navigate to the URL. The value of this parameter will be the name of the downloaded file.| + + +**Example:** + +```md +{{}} +Call to action +{{}} +``` + +{{< button href="#button" target="_self" >}} +Call to action +{{< /button >}} + +## Chart + +`chart` uses the Chart.js library to embed charts into articles using simple structured data. It supports a number of [different chart styles](https://www.chartjs.org/docs/latest/samples/) and everything can be configured from within the shortcode. Simply provide the chart parameters between the shortcode tags and Chart.js will do the rest. + +Refer to the [official Chart.js docs](https://www.chartjs.org/docs/latest/general/) for details on syntax and supported chart types. + +**Example:** + +```js +{{}} +type: 'bar', +data: { + labels: ['Tomato', 'Blueberry', 'Banana', 'Lime', 'Orange'], + datasets: [{ + label: '# of votes', + data: [12, 19, 3, 5, 3], + }] +} +{{}} +``` + + +{{< chart >}} +type: 'bar', +data: { + labels: ['Tomato', 'Blueberry', 'Banana', 'Lime', 'Orange'], + datasets: [{ + label: '# of votes', + data: [12, 19, 3, 5, 3], + }] +} +{{< /chart >}} + + +You can see some additional Chart.js examples on the [charts samples]({{< ref "charts" >}}) page. + +## Figure + +Congo includes a `figure` shortcode for adding images to content. The shortcode replaces the base Hugo functionality in order to provide additional performance benefits. + +When a provided image is a page resource, it will be optimised using Hugo Pipes and scaled in order to provide images appropriate to different device resolutions. If a static asset or URL to an external image is provided, it will be included as-is without any image processing by Hugo. + +The `figure` shortcode accepts six parameters: + + +|Parameter|Description| +|---|---| +|`src`| **Required.** The local path/filename or URL of the image. When providing a path and filename, the theme will attempt to locate the image using the following lookup order: Firstly, as a [page resource](https://gohugo.io/content-management/page-resources/) bundled with the page; then an asset in the `assets/` directory; then finally, a static image in the `static/` directory.| +|`alt`|[Alternative text description](https://moz.com/learn/seo/alt-text) for the image.| +|`caption`|Markdown for the image caption, which will be displayed below the image.| +|`class`|Additional CSS classes to apply to the image.| +|`href`|URL that the image should be linked to.| +|`default`|Special parameter to revert to default Hugo `figure` behaviour. Simply provide `default=true` and then use normal [Hugo shortcode syntax](https://gohugo.io/content-management/shortcodes/#figure).| + + +Congo also supports automatic conversion of images included using standard Markdown syntax. Simply use the following format and the theme will handle the rest: + +```md +![Alt text](image.jpg "Image caption") +``` + +**Example:** + +```md +{{}} + + + +![Abstract purple artwork](abstract.jpg "Photo by [Jr Korpa](https://unsplash.com/@jrkorpa) on [Unsplash](https://unsplash.com/)") +``` + +{{< figure src="abstract.jpg" alt="Abstract purple artwork" caption="Photo by [Jr Korpa](https://unsplash.com/@jrkorpa) on [Unsplash](https://unsplash.com/)" >}} + +## Icon + +`icon` outputs an SVG icon and takes the icon name as its only parameter. The icon is scaled to match the current text size. + +**Example:** + +```md +{{}} +``` + +**Output:** {{< icon "github" >}} + +Icons are populated using Hugo pipelines which makes them very flexible. Congo includes a number of built-in icons for social, links and other purposes. Check the [icon samples]({{< ref "samples/icons" >}}) page for a full list of supported icons. + +Custom icons can be added by providing your own icon assets in the `assets/icons/` directory of your project. The icon can then be referenced in the shortcode by using the SVG filename without the `.svg` extension. + +Icons can also be used in partials by calling the [icon partial]({{< ref "partials#icon" >}}). + +## Katex + +The `katex` shortcode can be used to add mathematical expressions to article content using the KaTeX package. Refer to the online reference of [supported TeX functions](https://katex.org/docs/supported.html) for the available syntax. + +To include mathematical expressions in an article, simply place the shortcode anywhere with the content. It only needs to be included once per article and KaTeX will automatically render any markup on that page. Both inline and block notation are supported. + +Inline notation can be generated by wrapping the expression in `\\(` and `\\)` delimiters. Alternatively, block notation can be generated using `$$` delimiters. + +**Example:** + +```md +{{}} +\\(f(a,b,c) = (a^2+b^2+c^2)^3\\) +``` + +{{< katex >}} +\\(f(a,b,c) = (a^2+b^2+c^2)^3\\) + +Check out the [mathematical notation samples]({{< ref "mathematical-notation" >}}) page for more examples. + +## Lead + +`lead` is used to bring emphasis to the start of an article. It can be used to style an introduction, or to call out an important piece of information. Simply wrap any Markdown content in the `lead` shortcode. + +**Example:** + +```md +{{}} +When life gives you lemons, make lemonade. +{{}} +``` + +{{< lead >}} +When life gives you lemons, make lemonade. +{{< /lead >}} + +## Mermaid + +`mermaid` allows you to draw detailed diagrams and visualisations using text. It uses Mermaid under the hood and supports a wide variety of diagrams, charts and other output formats. + +Simply write your Mermaid syntax within the `mermaid` shortcode and let the plugin do the rest. + +Refer to the [official Mermaid docs](https://mermaid-js.github.io/) for details on syntax and supported diagram types. + +**Example:** + +```md +{{}} +graph LR; +A[Lemons]-->B[Lemonade]; +B-->C[Profit] +{{}} +``` + +{{< mermaid >}} +graph LR; +A[Lemons]-->B[Lemonade]; +B-->C[Profit] +{{< /mermaid >}} + +You can see some additional Mermaid examples on the [diagrams and flowcharts samples]({{< ref "diagrams-flowcharts" >}}) page. diff --git a/themes/congo/exampleSite/content/docs/shortcodes/index.zh-cn.md b/themes/congo/exampleSite/content/docs/shortcodes/index.zh-cn.md new file mode 100644 index 0000000..9fc5e27 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/shortcodes/index.zh-cn.md @@ -0,0 +1,236 @@ +--- +title: "短代码" +date: 2020-08-11 +draft: false +description: "Congo提供的所有短代码" +summary: Congo提供了多个短代码,可用于向文章添加丰富的内容,包括图像、图表、图表、按钮等。 +slug: "shortcodes" +tags: ["shortcodes", "mermaid", "icon", "lead", "docs"] +--- + +除了[默认的 Hugo 短代码](https://gohugo.io/content-management/shortcodes/)外,Congo 还额外添加了一些功能。 + +## Alert + +`alert`以样式化的消息框形式输出其内容在文章中。它对于引起读者注意的重要信息很有用。 + +输入是用Markdown编写的,因此您可以按照自己的喜好进行格式化。 + +默认情况下,警报将以感叹号三角形图标的形式呈现。要更改图标,请在短代码中包含图标名称。有关使用图标的更多详细信息,请查看[图标短代码](#icon)。 + +**示例:** + +```md +{{}} +**警告!** 这个操作是破坏性的! +{{}} + +{{}} +别忘了在Twitter上[关注我](https://twitter.com/jpanther)。 +{{}} +``` + +{{< alert >}} +**警告!** 这个操作是破坏性的! +{{< /alert >}} +  +{{< alert "twitter" >}} +别忘了在Twitter上[关注我](https://twitter.com/jpanther)。 +{{< /alert >}} + +## Badge + +`badge`输出一个带有样式的徽章组件,用于显示元数据。 + +**示例:** + +```md +{{}} +新文章! +{{}} +``` + +{{< badge >}} +新文章! +{{< /badge >}} + +## Button + +`button` 输出一个样式化的按钮组件,用于突出显示主要操作。它有三个可选参数: + + +|参数|描述| +|---|---| +|`href`|按钮应链接到的 URL。| +|`target`|链接的目标。| +|`download`|浏览器是否应下载资源而不是导航到 URL。此参数的值将是下载文件的名称。| + + +**示例:** + +```md +{{}} +Call to action +{{}} +``` + +{{< button href="#button" target="_self" >}} +Call to action +{{< /button >}} + +## Chart + +`chart` 使用 Chart.js 库通过简单的结构化数据嵌入图表到文章中。它支持多种[不同的图表样式](https://www.chartjs.org/docs/latest/samples/),并且一切都可以通过短代码内部进行配置。只需在短代码标签之间提供图表参数,Chart.js 将完成其余工作。 + +有关语法和支持的图表类型的详细信息,请参阅[官方 Chart.js 文档](https://www.chartjs.org/docs/latest/general/)。 + +**示例:** + +```js +{{}} +type: 'bar', +data: { + labels: ['Tomato', 'Blueberry', 'Banana', 'Lime', 'Orange'], + datasets: [{ + label: '# of votes', + data: [12, 19, 3, 5, 3], + }] +} +{{}} +``` + + +{{< chart >}} +type: 'bar', +data: { + labels: ['Tomato', 'Blueberry', 'Banana', 'Lime', 'Orange'], + datasets: [{ + label: '# of votes', + data: [12, 19, 3, 5, 3], + }] +} +{{< /chart >}} + + +你可以在 [图表示例]({{< ref "charts" >}}) 页面看到一些额外的 Chart.js 示例。 + +## Figure + +Congo 包含一个 `figure` 短代码,用于向内容添加图片。该短代码替代了基本的 Hugo 功能,以提供额外的性能优势。 + +当提供的图像是页面资源时,它将使用 Hugo Pipes 进行优化,并进行缩放,以提供适用于不同设备分辨率的图像。如果提供的是静态资源或指向外部图像的 URL,则将其原样包含,Hugo 不会对其进行任何图像处理。 + +`figure` 短代码接受六个参数: + + +|参数|描述| +|---|---| +|`src`| **必需。** 图像的本地路径/文件名或 URL。当提供路径和文件名时,主题将尝试使用以下查找顺序定位图像:首先,作为[页面资源](https://gohugo.io/content-management/page-resources/)与页面捆绑;然后是 `assets/` 目录中的资源;最后是 `static/` 目录中的静态图像。| +|`alt`|图像的[替代文本描述](https://moz.com/learn/seo/alt-text)。| +|`caption`|图像说明的 Markdown,将显示在图像下方。| +|`class`|应用于图像的额外 CSS 类。| +|`href`|图像应链接到的 URL。| +|`default`|特殊参数,用于恢复默认的 Hugo `figure` 行为。只需提供 `default=true`,然后使用正常的[Hugo 短代码语法](https://gohugo.io/content-management/shortcodes/#figure)。| + + +Congo 还支持使用标准 Markdown 语法包含的图像的自动转换。只需使用以下格式,主题将处理其余部分: + +```md +![Alt text](image.jpg "Image caption") +``` + +**示例:** + +```md +{{}} + + + +![抽象紫色艺术品](abstract.jpg "照片由[Jr Korpa](https://unsplash.com/@jrkorpa)拍摄,来自[Unsplash](https://unsplash.com/)") +``` + +{{< figure src="abstract.jpg" alt="抽象紫色艺术品" caption="照片由[Jr Korpa](https://unsplash.com/@jrkorpa)拍摄,来自[Unsplash](https://unsplash.com/)" >}} + +## Icon + +`icon` 输出一个 SVG 图标,并将图标名称作为其唯一参数。图标的大小会根据当前文本大小进行缩放。 + +**示例:** + +```md +{{}} +``` + +**输出:** {{< icon "github" >}} + +图标是使用 Hugo 管道填充的,这使它们非常灵活。Congo 包含许多用于社交、链接和其他用途的内置图标。请查看 [图标示例]({{< ref "samples/icons" >}}) 页面以获取支持的图标的完整列表。 + +通过在项目的 `assets/icons/` 目录中提供自己的图标资产,可以添加自定义图标。然后,可以通过在短代码中使用不带 `.svg` 扩展名的 SVG 文件名来引用图标。 + +图标还可以通过调用 [图标部分]({{< ref "partials#icon" >}}) 在局部中使用。 + +## Katex + +`katex` 短代码可用于使用 KaTeX 包向文章内容添加数学表达式。有关可用语法,请参阅[支持的 TeX 函数](https://katex.org/docs/supported.html)的在线参考。 + +要在文章中包含数学表达式,只需在内容中的任何位置放置短代码。它只需要在每篇文章中包含一次,KaTeX 将自动呈现页面上的任何标记。支持行内和块表示法。 + +可以通过将表达式包装在 `\\(` 和 `\\)` 定界符中来生成行内表示法。或者,可以使用 `$$` 定界符生成块表示法。 + +**示例:** + +```md +{{}} +\\(f(a,b,c) = (a^2+b^2+c^2)^3\\) +``` + +{{< katex >}} +\\(f(a,b,c) = (a^2+b^2+c^2)^3\\) + +查看 [数学符号示例]({{< ref "mathematical-notation" >}}) 页面以获取更多示例。 + +## Lead + +`lead` 用于突出显示文章开头的内容。它可用于设计引言,或者强调重要信息。只需将任何 Markdown 内容包装在 `lead` 短代码中即可。 + +**示例:** + +```md +{{}} +当生活给你柠檬时,做柠檬水。 +{{}} +``` + +{{< lead >}} +当生活给你柠檬时,做柠檬水。 +{{< /lead >}} + +## Mermaid + +`mermaid` 允许您使用文本绘制详细的图表和可视化效果。它在幕后使用 Mermaid,并支持各种图表、图表和其他输出格式。 + +只需在 `mermaid` 短代码中编写您的 Mermaid 语法,然后让插件处理剩下的工作。 + +有关语法和支持的图表类型的详细信息,请参阅 [官方 Mermaid 文档](https://mermaid-js.github.io/)。 + +**示例:** + +```md +{{}} +graph LR; +A[Lemons]-->B[Lemonade]; +B-->C[Profit] +{{}} +``` + +{{< mermaid >}} +graph LR; +A[Lemons]-->B[Lemonade]; +B-->C[Profit] +{{< /mermaid >}} + +您可以在 [图表和流程图示例]({{< ref "diagrams-flowcharts" >}}) 页面上看到一些额外的 Mermaid 示例。 diff --git a/themes/congo/exampleSite/content/docs/shortcodes/thumb-website-builder.svg b/themes/congo/exampleSite/content/docs/shortcodes/thumb-website-builder.svg new file mode 100644 index 0000000..d092cc8 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/shortcodes/thumb-website-builder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/version-2/_index.ja.md b/themes/congo/exampleSite/content/docs/version-2/_index.ja.md new file mode 100644 index 0000000..58b8fc9 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/version-2/_index.ja.md @@ -0,0 +1,97 @@ +--- +title: "What's New in 2.0 ✨" +date: 2022-01-19 +draft: false +description: "Congo 2.0の新機能について" +summary: "Version 2.0では、Congoを新たな高みへと導き、その軽量さを維持しながらも、テーマをさらに強力なものにしています。" +tags: ["new", "docs"] +--- + +{{< lead >}} +Congo 2.0には、大量の新機能と最適化が詰め込まれています。 +{{< /lead >}} + +Congoの当初の目的は、シンプルで軽量なテーマを開発することでした。Version 2では、これをさらに一歩進め、軽量でありながら、よりパワフルなテーマとなっています。 + +新機能については以下をご覧ください。アップグレードの準備ができましたら、[アップグレードガイド]({{< ref "upgrade" >}})をご覧ください。 + +## Tailwind CSS 3.0 + +Tailwind CSSはCongoの中核であり、この新しいリリースには最新の[Tailwind CSS version 3](https://tailwindcss.com/blog/tailwindcss-v3)が含まれています。Tailwind CSS 3.0では、パフォーマンスが最適化され、新しいCSS機能がサポートされています。 + +{{< youtube "TmWIrBPE6Bc" >}} + +この新バージョンを実装することで、テーマからTailwindプラグインの依存関係をいくつか削除し、全体的なフットプリントを軽量に保つことができるようになりました。 + +## 多言語対応 + +要望の多かった多言語対応を行いました!複数の言語でコンテンツを公開する場合、サイトはすべての翻訳が利用可能な状態で構築されます。 + +
    :gb: :de: :fr: :es: :cn: :jp: :brazil: :tr: :bangladesh:
    + +コミュニティの貢献によって、Congoはすでに[23言語](https://github.com/jpanther/congo/tree/dev/i18n)以上に翻訳されています。新しい翻訳も[Pull Request](https://github.com/jpanther/congo/pulls)からいつでも歓迎しています! + +## Right to Left言語のサポート + +新しいTailwindの利点の一つは、RTL言語サポートを追加する機能です。有効にすると、サイト全体のコンテンツが右から左にリフローされます。テーマ内のすべての要素は、RTL言語でも見栄えが良くなるように再構築されています。 + +RTLは言語ごとに制御されるため、プロジェクト内でRTLとLTRの両方のコンテンツを混ぜてマッチさせることができ、テーマはそれに応じて対応します。 + +## 画像の自動リサイズ + +Congo 2.0の大きな変更点は、画像の自動リサイズ機能の追加です。Hugo Pipesのパワーを使って、Markdownコンテンツ内の画像が自動的に異なる出力サイズに拡大縮小されるようになりました。これらの画像はHTMLの `srcset` 属性を使って表示され、サイト訪問者に最適化されたファイルサイズを提供することができます。 + +![](image-resizing.png) + +```html + +My image +``` + +あなたは何も変更する必要がありません!標準的なMarkdown画像構文を挿入するだけで、あとはテーマにお任せください。もう少しコントロールしたい場合は、 `figure` ショートコードを完全に書き換えて、同じリサイズの利点を提供します。 + +## パフォーマンスの改善 + +今回のアップデートでは、全体的にパフォーマンスが向上している。今回のリリースの主な目的はLighthouseのスコアを向上させることで、Congoは4つの指標すべてで100点満点を獲得しました。 + +{{< screenshot src="lighthouse.jpg" >}} + +個々の変更点が多すぎて、ここでは紹介しきれませんが、さらに詳しく知りたい場合は、[Lighthouseのレポート](lighthouse.html)をご覧ください。実際のパフォーマンスは、サーバーの構成によって異なります。 + +## サイト内検索 + +[Fuse.js](https://fusejs.io)を利用したサイト内検索で、訪問者が素早く簡単にコンテンツを見つけることができます。すべての検索はクライアントサイドで実行されるため、サーバー上で設定する必要がなく、クエリは超高速で実行されます。サイト設定でこの機能を有効にするだけで準備は完了です。また、フルキーボードナビゲーションにも対応しています! + +## 記事ページ内の目次 + +要望の多かった記事ページ内の目次をサポートしました。このページで実際にご覧いただけます。コンテンツは完全にレスポンシブで、異なる画面解像度で利用可能なスペースを活用するように調整されます。 + +グローバルまたは記事単位で利用可能な目次は、Hugoの標準設定値を使用して完全にカスタマイズすることができます。 + +## アクセシビリティの改善 + +より多くの項目にARIA記述を追加し、特定のテキスト要素のコントラストを調整してアクセシビリティを改善しました。 + +Congo 2.0では、クイックナビゲーションを可能にする「コンテンツへスキップ」と「トップへスクロール」リンクも導入されています。また、マウスに手を伸ばすことなく検索などの項目を有効にするためのキーボードショートカットもあります。 + +新しい画像サイズ変更機能は、 `alt` と `title` 要素の完全なコントロールを提供し、すべての訪問者にアクセシブルな体験を提供します。 + +## その他もろもろ + +他にも数え切れないほどの細かな変更があります。記事やリストページでTaxonomyを表示できるようになったり、新しい `headline` の著者パラメーターを使ってホームページをカスタマイズできるようになったり。また、SEOのパフォーマンスをさらに最適化するJSON-LDも改善されています。さらに、一貫したデザイン言語を保証するために、テーマ全体がさらに洗練されました。 + +:rocket: 詳細は[full changelog](https://github.com/jpanther/congo/blob/dev/CHANGELOG.md)をご覧ください。 + +## Next steps + +準備ができたら[Version 1.xからのアップグレードガイド]({{< ref "upgrade" >}})をお読みください。Congoを初めてお使いになる方は[インストール]({{< ref "docs/installation" >}})に進んでください。 + +--- diff --git a/themes/congo/exampleSite/content/docs/version-2/_index.md b/themes/congo/exampleSite/content/docs/version-2/_index.md new file mode 100644 index 0000000..2f4c738 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/version-2/_index.md @@ -0,0 +1,97 @@ +--- +title: "What's New in 2.0 ✨" +date: 2022-01-19 +draft: false +description: "Discover what's new in Congo version 2.0." +summary: "Version 2 takes Congo to new heights, making the theme even more powerful while still maintaining its lightweight footprint." +tags: ["new", "docs"] +--- + +{{< lead >}} +Congo 2.0 is packed with tons of new features and optimisations. +{{< /lead >}} + +The original aim of Congo was to develop a theme that was simple and lightweight. Version 2 takes this one step further and makes the theme even more powerful while still maintaining its lightweight footprint. + +Continue reading below to discover what's new. When you're ready to upgrade, check out the [guide to upgrading]({{< ref "upgrade" >}}). + +## Tailwind CSS 3.0 + +Tailwind CSS is at the heart of Congo and this new release contains the very latest [Tailwind CSS version 3](https://tailwindcss.com/blog/tailwindcss-v3). It brings with it performance optimisations and support for some great new CSS features. + +{{< youtube "TmWIrBPE6Bc" >}} + +Implementing this new version has also removed some Tailwind plugin dependencies from the theme, allowing the overall footprint to remain lightweight. + +## Multilingual support + +A highly requested feature, Congo is now multilingual! If you publish your content in multiple languages, the site will be built with all the translations available. + +
    :gb: :de: :fr: :es: :cn: :brazil: :tr: :bangladesh:
    + +Thanks to submissions from the community, Congo has already been translated into [23 languages](https://github.com/jpanther/congo/tree/dev/i18n) with more to be added over time. By the way, [pull requests](https://github.com/jpanther/congo/pulls) for new languages are always welcome! + +## RTL language support + +One of the benefits of the new Tailwind and Multilingual features is the ability to add RTL language support. When enabled, the entire site will reflow content from right-to-left. Every element in the theme has been restyled to ensure it looks great in this mode which aids authors who wish to generate content in RTL languages. + +RTL is controlled on a per-language basis so you can mix and match both RTL and LTR content in your projects and the theme will respond accordingly. + +## Automatic image resizing + +A big change in Congo 2.0 is the addition of automatic image resizing. Using the power of Hugo Pipes, images in Markdown content are now automatically scaled to different output sizes. These are then presented using HTML `srcset` attributes enabling optimised file sizes to be served to your site visitors. + +![](image-resizing.png) + +```html + +My image +``` + +Best of all there's nothing you need to change! Simply insert standard Markdown image syntax and let the theme do the rest. If you want a little more control, the `figure` shortcode has been completely rewritten to provide the same resizing benefits. + +## Performance improvements + +This update packs performance improvements throughout. A key objective for this release was to improve Lighthouse scores and Congo now scores a perfect 100 on all four metrics. + +{{< screenshot src="lighthouse.jpg" >}} + +There's too many individual changes to highlight them here but the results speak for themselves. If you want to dig deeper, you can [view the Lighthouse report](lighthouse.html). Real world performance will vary based upon server configuration. + +## Site search + +Powered by [Fuse.js](https://fusejs.io), site search allows visitors to quickly and easily find your content. All searches are performed client-side meaning there's nothing to configure on the server and queries are performed super fast. Simply enable the feature in your site configuration and you're all set. Oh, and it also supports full keyboard navigation! + +## Tables of contents + +A highly requested feature, Congo now supports tables of contents on article pages. You can see it in action on this page. The contents are fully responsive and will adjust to take advantage of the space available at different screen resolutions. + +Available on a global or per article basis, the table of contents can be fully customised using standard Hugo configuration values, allowing you to adjust the behaviour to suit your project. + +## Accessibility improvements + +From adding ARIA descriptions to more items or simply adjusting the contrast of certain text elements, this release is the most accessible yet. + +Version 2 also introduces "skip to content" and "scroll to top" links that enable quick navigation. There's also keyboard shortcuts for enabling items like search without reaching for the mouse. + +The new image resizing features also provide full control over `alt` and `title` elements enabling an accessible experience for all visitors. + +## A whole lot more + +There's countless other minor changes to explore. From being able to display taxonomies on articles and list pages, to using the new `headline` author parameter to customise your homepage. There's also improved JSON-LD strucured data which further optimises SEO performance. Plus the entire theme has had extra polish to ensure a consistent design language. + +:rocket: Check out the [full changelog](https://github.com/jpanther/congo/blob/dev/CHANGELOG.md) to learn more. + +## Next steps + +If you're ready to upgrade, read the [upgrading from version 1 guide]({{< ref "upgrade" >}}) to get started. If you're new to Congo, check out the [Installation guide]({{< ref "docs/installation" >}}) to begin a new project. + +--- diff --git a/themes/congo/exampleSite/content/docs/version-2/_index.zh-cn.md b/themes/congo/exampleSite/content/docs/version-2/_index.zh-cn.md new file mode 100644 index 0000000..1e0fae2 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/version-2/_index.zh-cn.md @@ -0,0 +1,97 @@ +--- +title: "2.0版本新特性 ✨" +date: 2022-01-19 +draft: false +description: "探索Congo 2.0的新功能" +summary: "2.0版本将Congo推向新的高度,使主题变得更加强大,同时仍然保持其轻量的特点。" +tags: ["new", "docs"] +--- + +{{< lead >}} +Congo 2.0版本中包含了大量的新功能和优化。 +{{< /lead >}} + +Congo最初的目标是开发一个简单轻量的主题。第2版更进一步,使主题变得更加强大,同时仍然保持其轻量级的特点。 + +继续阅读下面的内容,了解新的特性。当您准备升级时,请查看 [升级指南]({{< ref "upgrade" >}})。 + +## Tailwind CSS 3.0 + +Tailwind CSS是Congo的核心,这个新版本包含最新的 [Tailwind CSS 版本 3](https://tailwindcss.com/blog/tailwindcss-v3)。它带来了性能优化和对一些出色的新CSS功能的支持。 + +{{< youtube "TmWIrBPE6Bc" >}} + +实现这个新版本还删除了主题中的一些Tailwind插件依赖,使整体体积保持轻量。 + +## 国际化支持 + +一个备受期待的功能,Congo现在支持多语言了!如果您发布内容支持多种语言,网站将构建包含所有可用翻译的版本。 + +
    :gb: :de: :fr: :es: :cn: :jp: :brazil: :tr: :bangladesh:
    + +通过社区的贡献,Congo已经被翻译成[23种语言](https://github.com/jpanther/congo/tree/dev/i18n)以上。欢迎随时通过[Pull Request](https://github.com/jpanther/congo/pulls)提交新的翻译! + +## RTL语言支持 + +新的Tailwind和多语言功能的一个好处是能够添加RTL(从右到左)语言支持。启用时,整个站点的内容都将从右到左重新排列。主题中的每个元素都经过重新设计,以确保在此模式下看起来很棒,有助于希望使用RTL语言生成内容的作者。 + +RTL是基于每种语言的控制,因此您可以在项目中混合和匹配RTL和LTR内容,主题将相应地进行响应。 + +## 自动图像调整大小 + +Congo 2.0的一个重大变化是添加了自动图像调整大小的功能。利用Hugo Pipes的强大功能,Markdown内容中的图像现在会自动缩放到不同的输出大小。然后使用HTML的 `srcset` 属性来呈现,从而能够为您的站点访问者提供优化过的文件大小。 + +![](image-resizing.png) + +```html + +My image +``` + +最重要的是,您无需进行任何更改!只需插入标准的Markdown图像语法,让主题来处理其余的事情。如果您想要更多控制,`figure` shortcode已经完全重写,以提供相同的调整大小优势。 + +## 性能优化 + +此更新在整个主题中进行了性能优化。这个版本的一个关键目标是提高Lighthouse分数,而现在Congo在所有四个指标上都得分完美的100。 + +{{< screenshot src="lighthouse.jpg" >}} + +有太多单独的更改,无法在这里一一突出显示,但结果不言而喻。如果您想深入了解,可以[查看Lighthouse报告](lighthouse.html)。实际的性能将根据服务器配置而有所不同。 + +## 站内搜索 + +该功能由 [Fuse.js](https://fusejs.io) 提供支持,站内搜索允许访问者快速轻松地找到您的内容。所有搜索都在客户端执行,这意味着在服务器上无需进行任何配置,查询速度非常快。只需在站点配置中启用此功能,就可以轻松使用。对了,它还支持完整的键盘导航! + +## 目录 + +这是一个备受期待的功能,Congo现在支持在文章页面上显示目录。您可以在此页面上看到它的效果。目录是完全响应式的,将根据不同屏幕分辨率的可用空间进行调整。 + +可以在全局或每篇文章的基础上使用,目录可以使用标准的Hugo配置值进行全面定制,从而使您能够调整其行为以适应您的项目。 + +## 可访问性改进 + +从为更多项目添加ARIA描述到可以调整某些文本元素的对比度,此版本是迄今为止最具可访问性的。 + +第2版还引入了"跳转到内容"和"返回顶部"的链接,以实现快速导航。还有用于启用诸如搜索之类的项目的键盘快捷键,无需使用鼠标。 + +新的图像调整大小功能还提供对`alt`和`title`元素的完全控制,为所有访问者提供了可访问的体验。 + +## 还有很多改进 + +还有无数其他的小改变值得探索。从能够在文章和列表页面上显示分类法,到使用新的`headline`作者参数自定义您的主页。还有改进的JSON-LD结构化数据,进一步优化了SEO性能。此外,整个主题都经过了额外的润色,以确保一致的设计语言。 + +:rocket: 查看[完整的更改日志](https://github.com/jpanther/congo/blob/dev/CHANGELOG.md)以了解更多信息。 + +## 下一步 + +如果您准备升级,请阅读 [从版本1升级的指南]({{< ref "upgrade" >}}) 开始。如果您是Congo的新用户,请查看 [安装指南]({{< ref "docs/installation" >}}) 开始一个新项目。 + +--- diff --git a/themes/congo/exampleSite/content/docs/version-2/image-resizing.png b/themes/congo/exampleSite/content/docs/version-2/image-resizing.png new file mode 100644 index 0000000..396f2fa Binary files /dev/null and b/themes/congo/exampleSite/content/docs/version-2/image-resizing.png differ diff --git a/themes/congo/exampleSite/content/docs/version-2/lighthouse.html b/themes/congo/exampleSite/content/docs/version-2/lighthouse.html new file mode 100644 index 0000000..1a72b63 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/version-2/lighthouse.html @@ -0,0 +1,11700 @@ + + + + + Lighthouse Report + + + + + + +
    + + +
    + + + + http://localhost:8008/congo/samples/emoji/ + + +
    +
    + + +
    + + +
    +
    +
    +
    +
    +
    +
    + + +
    + + + + +
    +
    100
    + +
    Performance
    +
    + + + +
    + + + + +
    +
    100
    + +
    Accessibility
    +
    + + + +
    + + + + +
    +
    100
    + +
    Best Practices
    +
    + + + +
    + + + + +
    +
    100
    + +
    SEO
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Progressive Web App
    +
    +
    +
    + 0–49 + 50–89 + 90–100 +
    +
    +
    + +
    +
    + +
    Metrics
    + + +
    +
    + First Contentful Paint +
    1.4 s
    +
    First Contentful Paint marks the time at which the first text or image is painted. Learn more.
    +
    +
    +
    + Speed Index +
    1.4 s
    +
    Speed Index shows how quickly the contents of a page are visibly populated. Learn more.
    +
    +
    +
    + Largest Contentful Paint +
    1.5 s
    +
    Largest Contentful Paint marks the time at which the largest text or image is painted. Learn more
    +
    +
    +
    + Time to Interactive +
    1.4 s
    +
    Time to interactive is the amount of time it takes for the page to become fully interactive. Learn more.
    +
    +
    +
    + Total Blocking Time +
    10 ms
    +
    Sum of all time periods between FCP and Time to Interactive, when task length exceeded 50ms, expressed in milliseconds. Learn more.
    +
    +
    +
    + Cumulative Layout Shift +
    0
    +
    Cumulative Layout Shift measures the movement of visible elements within the viewport. Learn more.
    +
    +
    Values are estimated and may vary. The performance score is calculated directly from these metrics.See calculator.
    Screenshot
    Screenshot
    Screenshot
    Screenshot
    Screenshot
    Screenshot
    Screenshot
    Screenshot
    Screenshot
    Screenshot
    Show audits relevant to:
    OpportunitiesThese suggestions can help your page load faster. They don't directly affect the Performance score.
    +
    Opportunity
    +
    Estimated Savings
    +
    +
    + +
    +
    +
    + +
    Reduce unused CSS
    +
    +
    +
    +
    +
    +
    0.29 s
    +
    + + + + +
    +
    +
    +
    +
    +
    Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. Learn more.FCPLCP
    +
    + + +
    + +
    +
    URL
    Transfer Size
    Potential Savings
    39.7 KiB
    27.9 KiB
    +
    +
    + +
    +
    +
    + +
    Reduce unused JavaScript
    +
    +
    +
    +
    +
    +
    0.15 s
    +
    + + + + +
    +
    +
    +
    +
    +
    Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. Learn more.LCP
    +
    + + +
    + +
    +
    URL
    Transfer Size
    Potential Savings
    27.2 KiB
    21.4 KiB
    +
    DiagnosticsMore information about the performance of your application. These numbers don't directly affect the Performance score.
    +
    + +
    + + + Avoid chaining critical requests + 1 chain found + +
    + + + + +
    +
    +
    +
    The Critical Request Chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load. Learn more.FCPLCP
    +
    +
    + +
    +
    + Maximum critical path latency: 20 ms +
    +
    +
    +
    Initial Navigation
    + + + +
    + + + + + +
    …samples/emoji
    (localhost)
    +
    + +
    + + + + + + - 0 ms, 39.71 KiB +
    +
    +
    +
    +
    + +
    + + + Keep request counts low and transfer sizes small + 4 requests • 92 KiB + +
    + + + + +
    +
    +
    +
    To set budgets for the quantity and size of page resources, add a budget.json file. Learn more.
    +
    +
    Resource Type
    Requests
    Transfer Size
    Total
    4
    91.7 KiB
    Stylesheet
    1
    39.7 KiB
    Script
    1
    27.2 KiB
    Document
    1
    17.0 KiB
    Image
    1
    7.7 KiB
    Media
    0
    0.0 KiB
    Font
    0
    0.0 KiB
    Other
    0
    0.0 KiB
    Third-party
    0
    0.0 KiB
    +
    +
    + +
    + + + Largest Contentful Paint element + 1 element found + +
    + + + + +
    +
    +
    +
    This is the largest contentful element painted within the viewport. Learn MoreLCP
    +
    +
    Element
    Note: The rendering of these glyphs depends on the browser and the platform. To…
    <span class="dark:text-neutral-300">
    +
    +
    + +
    + + + Avoid long main-thread tasks + 2 long tasks found + +
    + + + + +
    +
    +
    +
    Lists the longest tasks on the main thread, useful for identifying worst contributors to input delay. Learn moreTBT
    +
    + + +
    + +
    +
    URL
    Start Time
    Duration
    …samples/emoji
    (localhost)
    785 ms
    584 ms
    …samples/emoji
    (localhost)
    1,369 ms
    61 ms
    +
    +
    + +
    + + + Avoid non-composited animations + 18 animated elements found + +
    + + + + +
    +
    +
    +
    Animations which are not composited can be janky and increase CLS. Learn moreCLS
    +
    +
    Element
    Name
    ↓Skip to main content
    <a class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 dark:bg-neutr…" href="#main-content">
    Unsupported CSS Property: background-color
    background-color
    Unsupported CSS Property: color
    color
    Congo
    <a class="hover:underline hover:decoration-primary-500 hover:decoration-2 hover:unde…" rel="me" href="/congo/">
    Unsupported CSS Property: color
    color
    Docs
    <a class="hover:underline hover:decoration-primary-500 hover:decoration-2 hover:unde…" href="/congo/docs/">
    Unsupported CSS Property: color
    color
    Samples
    <a class="hover:underline hover:decoration-primary-500 hover:decoration-2 hover:unde…" href="/congo/samples/">
    Unsupported CSS Property: color
    color
    Users
    <a class="hover:underline hover:decoration-primary-500 hover:decoration-2 hover:unde…" href="/congo/users/">
    Unsupported CSS Property: color
    color
    GitHub
    <a class="hover:underline hover:decoration-primary-500 hover:decoration-2 hover:unde…" href="https://github.com/jpanther/congo">
    Unsupported CSS Property: color
    color
    button
    <button id="search-button" class="text-base hover:text-primary-600 dark:hover:text-primary-400">
    Unsupported CSS Property: color
    color
    Content Samples
    <a class="hover:underline hover:decoration-neutral-300 dark:underline-neutral-600" href="/congo/samples/">
    Unsupported CSS Property: color
    color
    site configuration
    <a href="http://localhost:8008/congo/docs/configuration/#site-configuration">
    Unsupported CSS Property: color
    color
    Unsupported CSS Property: text-decoration-color
    text-decoration-color
    Emoji cheat sheet
    <a href="http://www.emoji-cheat-sheet.com/">
    Unsupported CSS Property: color
    color
    Unsupported CSS Property: text-decoration-color
    text-decoration-color
    Twitter
    <a class="px-1 hover:text-primary-700 dark:hover:text-primary-400" href="https://twitter.com/" target="_blank" aria-label="Twitter" rel="me noopener noreferrer">
    Unsupported CSS Property: color
    color
    Facebook
    <a class="px-1 hover:text-primary-700 dark:hover:text-primary-400" href="https://facebook.com/" target="_blank" aria-label="Facebook" rel="me noopener noreferrer">
    Unsupported CSS Property: color
    color
    Linkedin
    <a class="px-1 hover:text-primary-700 dark:hover:text-primary-400" href="https://linkedin.com/" target="_blank" aria-label="Linkedin" rel="me noopener noreferrer">
    Unsupported CSS Property: color
    color
    Youtube
    <a class="px-1 hover:text-primary-700 dark:hover:text-primary-400" href="https://youtube.com/" target="_blank" aria-label="Youtube" rel="me noopener noreferrer">
    Unsupported CSS Property: color
    color
    ← +Diagrams and Flowcharts +6 March 2019
    <a class="flex" href="/congo/samples/diagrams-flowcharts/">
    Unsupported CSS Property: color
    color
    button
    <button id="close-search-button" class="flex items-center justify-center w-8 h-8 text-neutral-700 dark:text-neutra…">
    Unsupported CSS Property: color
    color
    Hugo
    <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">
    Unsupported CSS Property: color
    color
    Congo
    <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" href="https://git.io/hugo-congo" target="_blank" rel="noopener noreferrer">
    Unsupported CSS Property: color
    color
    +
    + +
    +
    + Passed audits + (28) + + +
    +
    + + + + + +
    +
    +
    +
    + +
    + + + Eliminate render-blocking resources + Potential savings of 0 ms + +
    + + + + +
    +
    +
    +
    Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. Learn more.FCPLCP
    +
    + + +
    + +
    +
    URL
    Transfer Size
    Potential Savings
    39.7 KiB
    480 ms
    +
    +
    + +
    + + + Properly size images + + +
    + + + + +
    +
    +
    +
    Serve images that are appropriately-sized to save cellular data and improve load time. Learn more.
    +
    +
    +
    +
    + +
    + + + Defer offscreen images + + +
    + + + + +
    +
    +
    +
    Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. Learn more.
    +
    +
    +
    +
    + +
    + + + Minify CSS + + +
    + + + + +
    +
    +
    +
    Minifying CSS files can reduce network payload sizes. Learn more.FCPLCP
    +
    +
    +
    +
    + +
    + + + Minify JavaScript + + +
    + + + + +
    +
    +
    +
    Minifying JavaScript files can reduce payload sizes and script parse time. Learn more.FCPLCP
    +
    +
    +
    +
    + +
    + + + Efficiently encode images + + +
    + + + + +
    +
    +
    +
    Optimized images load faster and consume less cellular data. Learn more.
    +
    +
    +
    +
    + +
    + + + Serve images in next-gen formats + + +
    + + + + +
    +
    +
    +
    Image formats like JPEG 2000, JPEG XR, and WebP often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. Learn more.
    +
    +
    +
    +
    + +
    + + + Preconnect to required origins + + +
    + + + + +
    +
    +
    +
    Consider adding `preconnect` or `dns-prefetch` resource hints to establish early connections to important third-party origins. Learn more.FCPLCP
    +
    +
    +
    +
    + +
    + + + Initial server response time was short + Root document took 0 ms + +
    + + + + +
    +
    +
    +
    Keep the server response time for the main document short because all other requests depend on it. Learn more.FCPLCP
    +
    + + +
    + +
    +
    URL
    Time Spent
    …samples/emoji
    (localhost)
    0 ms
    +
    +
    + +
    + + + Avoid multiple page redirects + + +
    + + + + +
    +
    +
    +
    Redirects introduce additional delays before the page can be loaded. Learn more.FCPLCP
    +
    +
    +
    +
    + +
    + + + Preload key requests + + +
    + + + + +
    +
    +
    +
    Consider using `<link rel=preload>` to prioritize fetching resources that are currently requested later in page load. Learn more.FCPLCP
    +
    +
    +
    +
    + +
    + + + Use HTTP/2 + + +
    + + + + +
    +
    +
    +
    HTTP/2 offers many benefits over HTTP/1.1, including binary headers and multiplexing. Learn more.
    +
    +
    +
    +
    + +
    + + + Use video formats for animated content + + +
    + + + + +
    +
    +
    +
    Large GIFs are inefficient for delivering animated content. Consider using MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF to save network bytes. Learn moreLCP
    +
    +
    +
    +
    + +
    + + + Remove duplicate modules in JavaScript bundles + + +
    + + + + +
    +
    +
    +
    Remove large, duplicate JavaScript modules from bundles to reduce unnecessary bytes consumed by network activity. TBT
    +
    +
    +
    +
    + +
    + + + Avoid serving legacy JavaScript to modern browsers + Potential savings of 0 KiB + +
    + + + + +
    +
    +
    +
    Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. For your bundled JavaScript, adopt a modern script deployment strategy using module/nomodule feature detection to reduce the amount of code shipped to modern browsers, while retaining support for legacy browsers. Learn MoreTBT
    +
    + + +
    + +
    +
    URL
    Potential Savings
    0.2 KiB
    @babel/plugin-transform-classes
    +
    +
    + +
    + + + Preload Largest Contentful Paint image + + +
    + + + + +
    +
    +
    +
    Preload the image used by the LCP element in order to improve your LCP time. Learn more.LCP
    +
    +
    +
    +
    + +
    + + + Avoids enormous network payloads + Total size was 92 KiB + +
    + + + + +
    +
    +
    +
    Large network payloads cost users real money and are highly correlated with long load times. Learn more.LCP
    +
    + + +
    + +
    +
    URL
    Transfer Size
    39.7 KiB
    27.2 KiB
    …samples/emoji
    (localhost)
    17.0 KiB
    7.7 KiB
    +
    +
    + +
    + + + Avoids an excessive DOM size + 120 elements + +
    + + + + +
    +
    +
    +
    A large DOM will increase memory usage, cause longer style calculations, and produce costly layout reflows. Learn more.TBT
    +
    +
    Statistic
    Element
    Value
    Total DOM Elements
    120
    Maximum DOM Depth
    path
    <path fill="currentcolor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645.0 138.72-105.583 298.558-2…">
    12
    Maximum Child Elements
    body
    <body class="flex flex-col h-screen px-6 m-auto text-lg leading-7 bg-neutral text-neutr…">
    5
    +
    +
    + +
    + + + User Timing marks and measures + + +
    + + + + +
    +
    +
    +
    Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. Learn more.
    +
    +
    +
    +
    + +
    + + + JavaScript execution time + 0.0 s + +
    + + + + +
    +
    +
    +
    Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn more.TBT
    +
    + + +
    + +
    +
    URL
    Total CPU Time
    Script Evaluation
    Script Parse
    …samples/emoji
    (localhost)
    1,411 ms
    4 ms
    1 ms
    +
    +
    + +
    + + + Minimizes main-thread work + 1.5 s + +
    + + + + +
    +
    +
    +
    Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn moreTBT
    +
    +
    Category
    Time Spent
    Style & Layout
    1,117 ms
    Rendering
    252 ms
    Other
    53 ms
    Script Evaluation
    20 ms
    Parse HTML & CSS
    8 ms
    Script Parsing & Compilation
    3 ms
    +
    +
    + +
    + + + All text remains visible during webfont loads + + +
    + + + + +
    +
    +
    +
    Leverage the font-display CSS feature to ensure text is user-visible while webfonts are loading. Learn more.FCPLCP
    +
    +
    +
    +
    + +
    + + + Minimize third-party usage + + +
    + + + + +
    +
    +
    +
    Third-party code can significantly impact load performance. Limit the number of redundant third-party providers and try to load third-party code after your page has primarily finished loading. Learn more.TBT
    +
    +
    +
    +
    + +
    + + + Lazy load third-party resources with facades + + +
    + + + + +
    +
    +
    +
    Some third-party embeds can be lazy loaded. Consider replacing them with a facade until they are required. Learn more.TBT
    +
    +
    +
    +
    + +
    + + + Avoid large layout shifts + + +
    + + + + +
    +
    +
    +
    These DOM elements contribute most to the CLS of the page.CLS
    +
    +
    +
    +
    + +
    + + + Uses passive listeners to improve scrolling performance + + +
    + + + + +
    +
    +
    +
    Consider marking your touch and wheel event listeners as `passive` to improve your page's scroll performance. Learn more.
    +
    +
    +
    +
    + +
    + + + Avoids document.write() + + +
    + + + + +
    +
    +
    +
    For users on slow connections, external scripts dynamically injected via `document.write()` can delay page load by tens of seconds. Learn more.
    +
    +
    +
    +
    + +
    + + + Image elements have explicit width and height + + +
    + + + + +
    +
    +
    +
    Set an explicit width and height on image elements to reduce layout shifts and improve CLS. Learn moreCLS
    +
    +
    +
    +
    + +
    These checks highlight opportunities to improve the accessibility of your web app. Only a subset of accessibility issues can be automatically detected so manual testing is also encouraged.
    +
    +
    + +
    +
    + Additional items to manually check + (10) + + + These items address areas which an automated testing tool cannot cover. Learn more in our guide on conducting an accessibility review.
    +
    + + + + + +
    +
    +
    +
    + +
    + + + The page has a logical tab order + + +
    + + + + +
    +
    +
    +
    Tabbing through the page follows the visual layout. Users cannot focus elements that are offscreen. Learn more.
    +
    +
    +
    +
    + +
    + + + Interactive controls are keyboard focusable + + +
    + + + + +
    +
    +
    +
    Custom interactive controls are keyboard focusable and display a focus indicator. Learn more.
    +
    +
    +
    +
    + +
    + + + Interactive elements indicate their purpose and state + + +
    + + + + +
    +
    +
    +
    Interactive elements, such as links and buttons, should indicate their state and be distinguishable from non-interactive elements. Learn more.
    +
    +
    +
    +
    + +
    + + + The user's focus is directed to new content added to the page + + +
    + + + + +
    +
    +
    +
    If new content, such as a dialog, is added to the page, the user's focus is directed to it. Learn more.
    +
    +
    +
    +
    + +
    + + + User focus is not accidentally trapped in a region + + +
    + + + + +
    +
    +
    +
    A user can tab into and out of any control or region without accidentally trapping their focus. Learn more.
    +
    +
    +
    +
    + +
    + + + Custom controls have associated labels + + +
    + + + + +
    +
    +
    +
    Custom interactive controls have associated labels, provided by aria-label or aria-labelledby. Learn more.
    +
    +
    +
    +
    + +
    + + + Custom controls have ARIA roles + + +
    + + + + +
    +
    +
    +
    Custom interactive controls have appropriate ARIA roles. Learn more.
    +
    +
    +
    +
    + +
    + + + Visual order on the page follows DOM order + + +
    + + + + +
    +
    +
    +
    DOM order matches the visual order, improving navigation for assistive technology. Learn more.
    +
    +
    +
    +
    + +
    + + + Offscreen content is hidden from assistive technology + + +
    + + + + +
    +
    +
    +
    Offscreen content is hidden with display: none or aria-hidden=true. Learn more.
    +
    +
    +
    +
    + +
    + + + HTML5 landmark elements are used to improve navigation + + +
    + + + + +
    +
    +
    +
    Landmark elements (<main>, <nav>, etc.) are used to improve the keyboard navigation of the page for assistive technology. Learn more.
    +
    +
    +
    + +
    +
    + Passed audits + (18) + + +
    +
    + + + + + +
    +
    +
    +
    + +
    + + + [aria-*] attributes match their roles + + +
    + + + + +
    +
    +
    +
    Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. Learn more.
    +
    +
    +
    +
    + +
    + + + [aria-hidden="true"] is not present on the document <body> + + +
    + + + + +
    +
    +
    +
    Assistive technologies, like screen readers, work inconsistently when `aria-hidden="true"` is set on the document `<body>`. Learn more.
    +
    +
    +
    +
    + +
    + + + [aria-hidden="true"] elements do not contain focusable descendents + + +
    + + + + +
    +
    +
    +
    Focusable descendents within an `[aria-hidden="true"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + [aria-*] attributes have valid values + + +
    + + + + +
    +
    +
    +
    Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid values. Learn more.
    +
    +
    +
    +
    + +
    + + + [aria-*] attributes are valid and not misspelled + + +
    + + + + +
    +
    +
    +
    Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid names. Learn more.
    +
    +
    +
    +
    + +
    + + + Buttons have an accessible name + + +
    + + + + +
    +
    +
    +
    When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + The page contains a heading, skip link, or landmark region + + +
    + + + + +
    +
    +
    +
    Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. Learn more.
    +
    +
    +
    +
    + +
    + + + Background and foreground colors have a sufficient contrast ratio + + +
    + + + + +
    +
    +
    +
    Low-contrast text is difficult or impossible for many users to read. Learn more.
    +
    +
    +
    +
    + +
    + + + Document has a <title> element + + +
    + + + + +
    +
    +
    +
    The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. Learn more.
    +
    +
    +
    +
    + +
    + + + [id] attributes on active, focusable elements are unique + + +
    + + + + +
    +
    +
    +
    All focusable elements must have a unique `id` to ensure that they're visible to assistive technologies. Learn more.
    +
    +
    +
    +
    + +
    + + + Heading elements appear in a sequentially-descending order + + +
    + + + + +
    +
    +
    +
    Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. Learn more.
    +
    +
    +
    +
    + +
    + + + <html> element has a [lang] attribute + + +
    + + + + +
    +
    +
    +
    If a page doesn't specify a lang attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. Learn more.
    +
    +
    +
    +
    + +
    + + + <html> element has a valid value for its [lang] attribute + + +
    + + + + +
    +
    +
    +
    Specifying a valid BCP 47 language helps screen readers announce text properly. Learn more.
    +
    +
    +
    +
    + +
    + + + Image elements have [alt] attributes + + +
    + + + + +
    +
    +
    +
    Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. Learn more.
    +
    +
    +
    +
    + +
    + + + Lists contain only <li> elements and script supporting elements (<script> and <template>). + + +
    + + + + +
    +
    +
    +
    Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. Learn more.
    +
    +
    +
    +
    + +
    + + + List items (<li>) are contained within <ul> or <ol> parent elements + + +
    + + + + +
    +
    +
    +
    Screen readers require list items (`<li>`) to be contained within a parent `<ul>` or `<ol>` to be announced properly. Learn more.
    +
    +
    +
    +
    + +
    + + + [user-scalable="no"] is not used in the <meta name="viewport"> element and the [maximum-scale] attribute is not less than 5. + + +
    + + + + +
    +
    +
    +
    Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. Learn more.
    +
    +
    +
    + +
    +
    + Not applicable + (26) + + +
    +
    + + + + + +
    +
    +
    +
    + +
    + + + [accesskey] values are unique + + +
    + + + + +
    +
    +
    +
    Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. Learn more.
    +
    +
    +
    +
    + +
    + + + button, link, and menuitem elements have accessible names + + +
    + + + + +
    +
    +
    +
    When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + ARIA input fields have accessible names + + +
    + + + + +
    +
    +
    +
    When an input field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + ARIA meter elements have accessible names + + +
    + + + + +
    +
    +
    +
    When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + ARIA progressbar elements have accessible names + + +
    + + + + +
    +
    +
    +
    When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + [role]s have all required [aria-*] attributes + + +
    + + + + +
    +
    +
    +
    Some ARIA roles have required attributes that describe the state of the element to screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + Elements with an ARIA [role] that require children to contain a specific [role] have all required children. + + +
    + + + + +
    +
    +
    +
    Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. Learn more.
    +
    +
    +
    +
    + +
    + + + [role]s are contained by their required parent element + + +
    + + + + +
    +
    +
    +
    Some ARIA child roles must be contained by specific parent roles to properly perform their intended accessibility functions. Learn more.
    +
    +
    +
    +
    + +
    + + + [role] values are valid + + +
    + + + + +
    +
    +
    +
    ARIA roles must have valid values in order to perform their intended accessibility functions. Learn more.
    +
    +
    +
    +
    + +
    + + + ARIA toggle fields have accessible names + + +
    + + + + +
    +
    +
    +
    When a toggle field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + ARIA tooltip elements have accessible names + + +
    + + + + +
    +
    +
    +
    When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + ARIA treeitem elements have accessible names + + +
    + + + + +
    +
    +
    +
    When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + <dl>'s contain only properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements. + + +
    + + + + +
    +
    +
    +
    When definition lists are not properly marked up, screen readers may produce confusing or inaccurate output. Learn more.
    +
    +
    +
    +
    + +
    + + + Definition list items are wrapped in <dl> elements + + +
    + + + + +
    +
    +
    +
    Definition list items (`<dt>` and `<dd>`) must be wrapped in a parent `<dl>` element to ensure that screen readers can properly announce them. Learn more.
    +
    +
    +
    +
    + +
    + + + ARIA IDs are unique + + +
    + + + + +
    +
    +
    +
    The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. Learn more.
    +
    +
    +
    +
    + +
    + + + No form fields have multiple labels + + +
    + + + + +
    +
    +
    +
    Form fields with multiple labels can be confusingly announced by assistive technologies like screen readers which use either the first, the last, or all of the labels. Learn more.
    +
    +
    +
    +
    + +
    + + + <frame> or <iframe> elements have a title + + +
    + + + + +
    +
    +
    +
    Screen reader users rely on frame titles to describe the contents of frames. Learn more.
    +
    +
    +
    +
    + +
    + + + <input type="image"> elements have [alt] text + + +
    + + + + +
    +
    +
    +
    When an image is being used as an `<input>` button, providing alternative text can help screen reader users understand the purpose of the button. Learn more.
    +
    +
    +
    +
    + +
    + + + Form elements have associated labels + + +
    + + + + +
    +
    +
    +
    Labels ensure that form controls are announced properly by assistive technologies, like screen readers. Learn more.
    +
    +
    +
    +
    + +
    + + + The document does not use <meta http-equiv="refresh"> + + +
    + + + + +
    +
    +
    +
    Users do not expect a page to refresh automatically, and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. Learn more.
    +
    +
    +
    +
    + +
    + + + <object> elements have [alt] text + + +
    + + + + +
    +
    +
    +
    Screen readers cannot translate non-text content. Adding alt text to `<object>` elements helps screen readers convey meaning to users. Learn more.
    +
    +
    +
    +
    + +
    + + + No element has a [tabindex] value greater than 0 + + +
    + + + + +
    +
    +
    +
    A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. Learn more.
    +
    +
    +
    +
    + +
    + + + Cells in a <table> element that use the [headers] attribute refer to table cells within the same table. + + +
    + + + + +
    +
    +
    +
    Screen readers have features to make navigating tables easier. Ensuring `<td>` cells using the `[headers]` attribute only refer to other cells in the same table may improve the experience for screen reader users. Learn more.
    +
    +
    +
    +
    + +
    + + + <th> elements and elements with [role="columnheader"/"rowheader"] have data cells they describe. + + +
    + + + + +
    +
    +
    +
    Screen readers have features to make navigating tables easier. Ensuring table headers always refer to some set of cells may improve the experience for screen reader users. Learn more.
    +
    +
    +
    +
    + +
    + + + [lang] attributes have a valid value + + +
    + + + + +
    +
    +
    +
    Specifying a valid BCP 47 language on elements helps ensure that text is pronounced correctly by a screen reader. Learn more.
    +
    +
    +
    +
    + +
    + + + <video> elements contain a <track> element with [kind="captions"] + + +
    + + + + +
    +
    +
    +
    When a video provides a caption it is easier for deaf and hearing impaired users to access its information. Learn more.
    +
    +
    +
    + +
    Trust and Safety
    +
    + +
    + + + Ensure CSP is effective against XSS attacks + + +
    + + + + +
    +
    +
    +
    A strong Content Security Policy (CSP) significantly reduces the risk of cross-site scripting (XSS) attacks. Learn more
    +
    +
    Description
    Directive
    Severity
    No CSP found in enforcement mode
    High
    +
    + +
    +
    + Passed audits + (17) + + +
    +
    + + + + + +
    +
    +
    +
    + +
    + + + Uses HTTPS + + +
    + + + + +
    +
    +
    +
    All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding mixed content, where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. Learn more.
    +
    +
    +
    +
    + +
    + + + Links to cross-origin destinations are safe + + +
    + + + + +
    +
    +
    +
    Add `rel="noopener"` or `rel="noreferrer"` to any external links to improve performance and prevent security vulnerabilities. Learn more.
    +
    +
    +
    +
    + +
    + + + Avoids requesting the geolocation permission on page load + + +
    + + + + +
    +
    +
    +
    Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. Learn more.
    +
    +
    +
    +
    + +
    + + + Avoids requesting the notification permission on page load + + +
    + + + + +
    +
    +
    +
    Users are mistrustful of or confused by sites that request to send notifications without context. Consider tying the request to user gestures instead. Learn more.
    +
    +
    +
    +
    + +
    + + + Avoids front-end JavaScript libraries with known security vulnerabilities + + +
    + + + + +
    +
    +
    +
    Some third-party scripts may contain known security vulnerabilities that are easily identified and exploited by attackers. Learn more.
    +
    +
    +
    +
    + +
    + + + Allows users to paste into password fields + + +
    + + + + +
    +
    +
    +
    Preventing password pasting undermines good security policy. Learn more.
    +
    +
    +
    +
    + +
    + + + Displays images with correct aspect ratio + + +
    + + + + +
    +
    +
    +
    Image display dimensions should match natural aspect ratio. Learn more.
    +
    +
    +
    +
    + +
    + + + Serves images with appropriate resolution + + +
    + + + + +
    +
    +
    +
    Image natural dimensions should be proportional to the display size and the pixel ratio to maximize image clarity. Learn more.
    +
    +
    +
    +
    + +
    + + + Page has the HTML doctype + + +
    + + + + +
    +
    +
    +
    Specifying a doctype prevents the browser from switching to quirks-mode. Learn more.
    +
    +
    +
    +
    + +
    + + + Properly defines charset + + +
    + + + + +
    +
    +
    +
    A character encoding declaration is required. It can be done with a `<meta>` tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. Learn more.
    +
    +
    +
    +
    + +
    + + + Avoids unload event listeners + + +
    + + + + +
    +
    +
    +
    The `unload` event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Consider using the `pagehide` or `visibilitychange` events instead. Learn more
    +
    +
    +
    +
    + +
    + + + Avoids Application Cache + + +
    + + + + +
    +
    +
    +
    Application Cache is deprecated. Learn more.
    +
    +
    +
    +
    + +
    + + + Detected JavaScript libraries + + +
    + + + + +
    +
    +
    +
    All front-end JavaScript libraries detected on the page. Learn more.
    +
    +
    Name
    Version
    FuseJS
    +
    +
    + +
    + + + Avoids deprecated APIs + + +
    + + + + +
    +
    +
    +
    Deprecated APIs will eventually be removed from the browser. Learn more.
    +
    +
    +
    +
    + +
    + + + No browser errors logged to the console + + +
    + + + + +
    +
    +
    +
    Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. Learn more
    +
    +
    +
    +
    + +
    + + + Page has valid source maps + + +
    + + + + +
    +
    +
    +
    Source maps translate minified code to the original source code. This helps developers debug in production. In addition, Lighthouse is able to provide further insights. Consider deploying source maps to take advantage of these benefits. Learn more.
    +
    +
    +
    +
    + +
    + + + No issues in the Issues panel in Chrome Devtools + + +
    + + + + +
    +
    +
    +
    Issues logged to the `Issues` panel in Chrome Devtools indicate unresolved problems. They can come from network request failures, insufficient security controls, and other browser concerns. Open up the Issues panel in Chrome DevTools for more details on each issue.
    +
    +
    +
    + +
    +
    + Not applicable + (1) + + +
    +
    + + + + + +
    +
    +
    +
    + +
    + + + Fonts with font-display: optional are preloaded + + +
    + + + + +
    +
    +
    +
    Preload `optional` fonts so first-time visitors may use them. Learn more
    +
    +
    +
    +
    + +
    These checks ensure that your page is optimized for search engine results ranking. There are additional factors Lighthouse does not check that may affect your search ranking. Learn more.
    +
    +
    + +
    +
    + Additional items to manually check + (1) + + + Run these additional validators on your site to check additional SEO best practices.
    +
    + + + + + +
    +
    +
    +
    + +
    + + + Structured data is valid + + +
    + + + + +
    +
    +
    +
    Run the Structured Data Testing Tool and the Structured Data Linter to validate structured data. Learn more.
    +
    +
    +
    + +
    +
    + Passed audits + (13) + + +
    +
    + + + + + +
    +
    +
    +
    + +
    + + + Has a <meta name="viewport"> tag with width or initial-scale + + +
    + + + + +
    +
    +
    +
    Add a `<meta name="viewport">` tag to optimize your app for mobile screens. Learn more.
    +
    +
    +
    +
    + +
    + + + Document has a <title> element + + +
    + + + + +
    +
    +
    +
    The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. Learn more.
    +
    +
    +
    +
    + +
    + + + Document has a meta description + + +
    + + + + +
    +
    +
    +
    Meta descriptions may be included in search results to concisely summarize page content. Learn more.
    +
    +
    +
    +
    + +
    + + + Page has successful HTTP status code + + +
    + + + + +
    +
    +
    +
    Pages with unsuccessful HTTP status codes may not be indexed properly. Learn more.
    +
    +
    +
    +
    + +
    + + + Links are crawlable + + +
    + + + + +
    +
    +
    +
    Search engines may use `href` attributes on links to crawl websites. Ensure that the `href` attribute of anchor elements links to an appropriate destination, so more pages of the site can be discovered. Learn More
    +
    +
    +
    +
    + +
    + + + Page isn’t blocked from indexing + + +
    + + + + +
    +
    +
    +
    Search engines are unable to include your pages in search results if they don't have permission to crawl them. Learn more.
    +
    +
    +
    +
    + +
    + + + Image elements have [alt] attributes + + +
    + + + + +
    +
    +
    +
    Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. Learn more.
    +
    +
    +
    +
    + +
    + + + Document has a valid hreflang + + +
    + + + + +
    +
    +
    +
    hreflang links tell search engines what version of a page they should list in search results for a given language or region. Learn more.
    +
    +
    +
    +
    + +
    + + + Document has a valid rel=canonical + + +
    + + + + +
    +
    +
    +
    Canonical links suggest which URL to show in search results. Learn more.
    +
    +
    +
    +
    + +
    + + + Document uses legible font sizes + 99.75% legible text + +
    + + + + +
    +
    +
    +
    Font sizes less than 12px are too small to be legible and require mobile visitors to “pinch to zoom” in order to read. Strive to have >60% of page text ≥12px. Learn more.
    +
    + + +
    + +
    +
    Source
    Selector
    % of Page Text
    Font Size
    .text-\[0\.6rem\]
    0.25%
    9.6px
    Legible text
    99.75%
    ≥ 12px
    +
    +
    + +
    + + + Document avoids plugins + + +
    + + + + +
    +
    +
    +
    Search engines can't index plugin content, and many devices restrict plugins or don't support them. Learn more.
    +
    +
    +
    +
    + +
    + + + Tap targets are sized appropriately + 100% appropriately sized tap targets + +
    + + + + +
    +
    +
    +
    Interactive elements like buttons and links should be large enough (48x48px), and have enough space around them, to be easy enough to tap without overlapping onto other elements. Learn more.
    +
    +
    +
    + +
    +
    + Not applicable + (1) + + +
    +
    + + + + + +
    +
    +
    +
    + +
    + + + robots.txt is valid + + +
    + + + + +
    +
    +
    +
    If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. Learn more.
    +
    +
    +
    + +
    Installable
    +
    + +
    + + + Web app manifest and service worker meet the installability requirements + + +
    + + + + +
    +
    +
    +
    Service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. With proper service worker and manifest implementations, browsers can proactively prompt users to add your app to their homescreen, which can lead to higher engagement. Learn more.
    +
    +
    +
    PWA Optimized
    +
    + +
    + + + Does not register a service worker that controls page and start_url + + +
    + + + + +
    +
    +
    +
    The service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. Learn more.
    +
    +
    +
    +
    + +
    + + + Redirects HTTP traffic to HTTPS + + +
    + + + + +
    +
    +
    +
    If you've already set up HTTPS, make sure that you redirect all HTTP traffic to HTTPS in order to enable secure web features for all your users. Learn more.
    +
    +
    +
    +
    + +
    + + + Configured for a custom splash screen + + +
    + + + + +
    +
    +
    +
    A themed splash screen ensures a high-quality experience when users launch your app from their homescreens. Learn more.
    +
    +
    +
    +
    + +
    + + + Does not set a theme color for the address bar.
    Failures: No `<meta name="theme-color">` tag found.
    + +
    +
    + + + + +
    +
    +
    +
    The browser address bar can be themed to match your site. Learn more.
    +
    +
    +
    +
    + +
    + + + Content is sized correctly for the viewport + + +
    + + + + +
    +
    +
    +
    If the width of your app's content doesn't match the width of the viewport, your app might not be optimized for mobile screens. Learn more.
    +
    +
    +
    +
    + +
    + + + Has a <meta name="viewport"> tag with width or initial-scale + + +
    + + + + +
    +
    +
    +
    Add a `<meta name="viewport">` tag to optimize your app for mobile screens. Learn more.
    +
    +
    +
    +
    + +
    + + + Provides a valid apple-touch-icon + + +
    + + + + +
    +
    +
    +
    For ideal appearance on iOS when users add a progressive web app to the home screen, define an `apple-touch-icon`. It must point to a non-transparent 192px (or 180px) square PNG. Learn More.
    +
    +
    +
    +
    + +
    + + + Manifest has a maskable icon + + +
    + + + + +
    +
    +
    +
    A maskable icon ensures that the image fills the entire shape without being letterboxed when installing the app on a device. Learn more.
    +
    +
    +
    + +
    +
    + Additional items to manually check + (3) + + + These checks are required by the baseline PWA Checklist but are not automatically checked by Lighthouse. They do not affect your score but it's important that you verify them manually.
    +
    + + + + + +
    +
    +
    +
    + +
    + + + Site works cross-browser + + +
    + + + + +
    +
    +
    +
    To reach the most number of users, sites should work across every major browser. Learn more.
    +
    +
    +
    +
    + +
    + + + Page transitions don't feel like they block on the network + + +
    + + + + +
    +
    +
    +
    Transitions should feel snappy as you tap around, even on a slow network. This experience is key to a user's perception of performance. Learn more.
    +
    +
    +
    +
    + +
    + + + Each page has a URL + + +
    + + + + +
    +
    +
    +
    Ensure individual pages are deep linkable via URL and that URLs are unique for the purpose of shareability on social media. Learn more.
    +
    +
    +
    + +
    + +
    +
    Runtime Settings
    +
      + + +
    • + URL + http://localhost:8008/congo/samples/emoji/ +
    • + +
    • + Fetch Time + Jan 19, 2022, 7:17 PM GMT+11 +
    • + +
    • + Device + Emulated Moto G4 +
    • + +
    • + Network throttling + 150 ms TCP RTT, 1,638.4 Kbps throughput (Simulated) +
    • + +
    • + CPU throttling + 4x slowdown (Simulated) +
    • + +
    • + Channel + cli +
    • + +
    • + User agent (host) + Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/96.0.4664.110 Safari/537.36 +
    • + +
    • + User agent (network) + Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4420.0 Mobile Safari/537.36 Chrome-Lighthouse +
    • + +
    • + CPU/Memory Power + 1949 +
    • + +
    • + Axe version + 4.2.1 +
    • +
    +
    + +
    + + Generated by Lighthouse 8.0.0 | + File an issue +
    +
    +
    + +
    + + + + + + + + \ No newline at end of file diff --git a/themes/congo/exampleSite/content/docs/version-2/lighthouse.jpg b/themes/congo/exampleSite/content/docs/version-2/lighthouse.jpg new file mode 100644 index 0000000..22a895c Binary files /dev/null and b/themes/congo/exampleSite/content/docs/version-2/lighthouse.jpg differ diff --git a/themes/congo/exampleSite/content/docs/version-2/thumb-online-party.svg b/themes/congo/exampleSite/content/docs/version-2/thumb-online-party.svg new file mode 100644 index 0000000..31cf2ad --- /dev/null +++ b/themes/congo/exampleSite/content/docs/version-2/thumb-online-party.svg @@ -0,0 +1 @@ + diff --git a/themes/congo/exampleSite/content/docs/version-2/upgrade/index.ja.md b/themes/congo/exampleSite/content/docs/version-2/upgrade/index.ja.md new file mode 100644 index 0000000..098475d --- /dev/null +++ b/themes/congo/exampleSite/content/docs/version-2/upgrade/index.ja.md @@ -0,0 +1,198 @@ +--- +title: "Congo 1.xからのアップグレード" +date: 2022-01-20 +draft: false +description: "Congo 1.xからのアップグレード" +tags: ["new", "docs"] +--- + +Congo 2.0には多くの変更点が含まれていますが、最新リリースへのアップグレードに必要な労力を最小限に抑えるように設計されています。 + +とはいえ、Version 1.xで構築された既存のサイトには、調整が必要な場合もあります。このガイドでは、そのプロセスを順を追って説明し、考慮すべき点を説明します。 + +## Step 1: Hugoのアップグレード + +{{< alert >}} +Congo 2.0は**Hugo v0.87.0以上**が必要です。 +{{< /alert >}} + +Congoは、Hugoの最新機能のいくつかを利用するように作られています。問題を避けるために、定期的にHugoのインストールを最新の状態に保つ必要があります。 + +Hugoのバージョンは `hugo version` コマンドで確認できます。あなたのプラットフォーム用の新しいリリースを入手する方法については、[Hugoのドキュメント](https://gohugo.io/getting-started/installing/)をご覧ください。 + +## Step 2: Congoのアップグレード + +Congoをアップグレードする手順は、プロジェクトにどのようにテーマを含めるかによって異なります。各手順は以下にあります。 + +- [Upgrade using Hugo](#upgrade-using-hugo) +- [Upgrade using Git](#upgrade-using-git) +- [Upgrade manually](#upgrade-manually) + +### Upgrade using Hugo + +Goモジュールを新しいメジャーリリースにアップグレードするには、 `modules.toml` と `go.mod` ファイルを更新する必要があります。それぞれのファイルで、テーマへのパスを `github.com/jpanther/congo` から `github.com/jpanther/congo/v2` に更新してください。 + +そして、プロジェクト・ディレクトリに移動し、以下のコマンドを実行してください。 + +```shell +hugo mod get -u +``` + +Hugo がローカルにモジュールをキャッシュしているため、状況によってはこのステップで問題が発生する場合があることに注意してください。上記のコマンドがうまくいかない場合は、 `hugo mod clean` を使ってローカルキャッシュを消去し、モジュールを再ダウンロードしてみてください。 + +Congoがアップグレードされたら、次のステップに進みます。 + +### Upgrade using Git + +Git サブモジュールは `git` コマンドを使ってアップグレードできます。次のコマンドを実行するだけで、最新バージョンのテーマがローカルリポジトリにダウンロードされます: + +```shell +git submodule update --remote --merge +``` + +サブモジュールがアップデートされたら、次のステップに進みます。 + +### Upgrade manually + +Congoを手動で更新するには、テーマの最新コピーをダウンロードして、プロジェクト内の古いバージョンを置き換える必要があります。 + +{{< alert >}} +テーマファイルに対して行ったローカルでのカスタマイズは、この処理中に失われますのでご注意ください。 +{{< /alert >}} + +1. テーマのソースコードの最新リリースをダウンロードする。 + + {{< button href="https://github.com/jpanther/congo/releases/latest" target="_blank" >}}Download from Github{{< /button >}} + +2. アーカイブを解凍し、ディレクトリ名を `congo` に変更して、Hugoプロジェクトのルートディレクトリ内の `themes/` ディレクトリに移動します。すべてのテーマファイルを置き換えるには、既存のディレクトリを上書きする必要があります。 + +3. 次のステップに進んでください。 + +## Step 3: テーマの設定 + +Congo 2.0では新しいテーマ設定パラメーターが多数導入されています。このテーマは既存のバージョン1の設定に適応しますが、より新しいテーマ機能のいくつかを利用するためには、既存の設定を調整する必要があります。 + +これを行う最も簡単な方法は、テーマのデフォルト設定のコピーを取り、既存のファイルと比較することです。以下にその手順を詳しく説明します。 + +### languages.toml + +多言語サポートを提供するために、言語固有のテーマパラメーターは新しい設定ファイル `languages.[lang-code].toml` に移動されました。テーマにはテンプレート `languages.en.toml` ファイルが付属しており、ガイドとして使用することができます。 + +{{< alert >}} +多言語サポートが必要ない場合は、このステップは必要ありません。 +{{< /alert >}} + +言語設定ファイルはこのような構造になっています: + +```toml +# config/_default/languagues.en.toml + +languageCode = "en" +languageName = "English" +displayName = "EN" +htmlCode = "en" +weight = 1 +rtl = false + +# Language-specific parameters go here +``` + +お好みの言語を使って、 `config/_default/` に新しいファイルを作成し、既存の設定ファイルから言語固有のパラメーターをこの新しいファイルに移動するだけです。下の表は移動させる必要のあるパラメーターの概要です。 + +| Parameter | Old location | +| ------------- | ------------- | +| `title` | `config.toml` | +| `description` | `params.toml` | +| `copyright` | `config.toml` | +| `dateFormat` | `params.toml` | +| `[author]` | `config.toml` | + +値を移行したら、これらのパラメーターは元の場所から削除すべきです。 + +### menus.toml + +テーマが言語を認識するようになったので、 `menus.toml` ファイルの名前も言語コードを含むように変更する必要があります。既存の `menus.toml` を `menus.[lang-code].toml` にリネームしてください。言語コードは前のセクションの `languages.toml` ファイルで使用したコードと同じです。 + +### config.toml + +config.toml`ファイルには、Hugoの基本設定値のみが含まれるようになりました。上記の言語固有の文字列を削除した以外に、考慮すべき変更は2つだけです。 + +英語以外の言語を使用している場合は、その言語用に作成した設定ファイルの言語コードと一致する `defaultContentLanguage` 値を指定してください。次に、Congo 2.0の新しいサイト内検索を利用するために、 `[outputs]` ブロックを用意する必要があります。 + +```toml +# config/_default/config.toml + +defaultContentLanguage = "en" + +enableRobotsTXT = true +paginate = 10 +summaryLength = 0 + +[outputs] + home = ["HTML", "RSS", "JSON"] +``` + +### markup.toml + +Congo 2.0では記事ページの目次がサポートされました。Hugoには目次を生成するためのデフォルト設定が同梱されていますが、 `markup.toml` ファイルに新しい `[tableOfContents]` ブロックを追加することで、この動作を調整することができます。 + +推奨設定は以下のとおりで、目次にレベル2、3、4のの見出しを含みます: + +```toml +# config/_default/markup.toml + +[tableOfContents] + startLevel = 2 + endLevel = 4 +``` + +### params.toml + +Congo 2.0では多くの新しいテーマ・パラメーターが導入されました。既存の設定にも若干の変更が必要です。パラメーターが提供されない場合、常にデフォルト値に戻ることを覚えておいてください。 + +Congoでのダークモードの動作方法が変更され、より柔軟に設定できるようになりました。従来の `darkMode` と `darkToggle` パラメーターは **削除され、3つの新しいパラメーターに置き換えられました**。これらの新しいオプションはそれぞれ独立して動作するため、強制的に表示させることができ、またユーザーが上書きすることもできます。 + + +| New parameter | Type | Default | Description | +| --- | --- | --- | --- | +| `defaultAppearance` | String | `"light"` | デフォルトの外観; `light` か `dark` のどちらか。
    :warning: _`light` に設定すると以前の `darkMode = false` の設定が再現され、 `dark` に設定すると `darkMode = true` の設定が再現される。_ | +| `autoSwitchAppearance` | Boolean | `true` | 外観をオペレーティングシステムの環境設定に基づいて自動的に切り替えるかどうか。 `false` に設定すると、常に `defaultAppearance` を使用します。
    :warning: _これを `true` にすることで以前の `darkMode = "auto"` 設定が再現されます。_ | +| `showAppearanceSwitcher` | Boolean | `false` | 外観スイッチャーをフッターに表示するかどうか。
    :warning: _この設定は `darkToggle` を置き換えます。_ | + + +次の表は、Version 2の新機能を制御する、その他の主要なパラメーターの概要です: + +| New parameter | Type | Default | +| ----------------------------- | ------- | ------- | +| `enableSearch` | Boolean | `false` | +| `showScrollToTop` | Boolean | `true` | +| `article.showTaxonomies` | Boolean | `false` | +| `article.showTableOfContents` | Boolean | `false` | +| `list.showTableOfContents` | Boolean | `false` | + +サポートされるすべてのパラメーターについては[設定]({{< ref "docs/configuration" >}})を参照ください。 + +## Step 4: assetsの移動 + +ファビコンを除くすべてのassetsが、Hugo Pipesにて最適化されるようになりました。テーマがあなたのファイルを見つけるためには、以前の `static/` から `assets/` ディレクトリに移動する必要があります。主に、著者画像とサイトロゴです: + +`static/me.jpg` **→** `assets/me.jpg` +`static/logo.jpg` **→** `assets/logo.jpg` + +著者画像やサイトロゴを提供した場合は、これらのアセットを `static/` から `assets/` に移動するだけです。同じディレクトリ構造を使用している場合、テーマはこれらのファイルがどこにあるかを自動的に認識します。新しいパスを指定したい場合は、 `logo` と `author.image` の設定値を適宜更新してください。 + +このステップは、プロジェクト内の静的なassetsには適用されないことに注意してください。例えば、記事内から直接リンクしているPDFファイルは静的なassetsです。これらのファイルは、Hugoがサイトを構築するときに出力ディレクトリに確実にコピーされるよう、`static/` ディレクトリに残しておく必要があります。 + +## Step 5: コンテンツの確認 + +Congo 2.0では `figure` ショートコードの振る舞いが変わります。記事内で `figure` を使用している場合、パラメーターを調整する必要があるかもしれません。 + +サポートされているパラメーターについては、[shortcode]({{< ref "docs/shortcodes#figure" >}})を参照してください。 + +## Step 6: 再構築 + +これですべての設定変更が完了したので、いよいよサイトを再構築します。 `hugo` またはあなたのビルドコマンドを実行し、すべてが期待通りに動作することを確認してください。 + +エラーに遭遇した場合は、設定が正しいことを確認し、[ドキュメント]({{}})を参照してください。テーマに同梱されている設定ファイルの例には、デフォルトのパラメーターがすべて含まれており、出発点として最適です。 + +🙋‍♀️ それでもまだ助けが必要な場合は、[GitHub Discussions](https://github.com/jpanther/congo/discussions)で遠慮なく質問してください。 diff --git a/themes/congo/exampleSite/content/docs/version-2/upgrade/index.md b/themes/congo/exampleSite/content/docs/version-2/upgrade/index.md new file mode 100644 index 0000000..cb681f3 --- /dev/null +++ b/themes/congo/exampleSite/content/docs/version-2/upgrade/index.md @@ -0,0 +1,198 @@ +--- +title: "Upgrading from Congo 1.x" +date: 2022-01-20 +draft: false +description: "Discover what's new in Congo version 2.0." +tags: ["new", "docs"] +--- + +Although Congo 2.0 contains a large number of changes, the theme has been designed to minimise the effort required to upgrade to the latest release. + +That said, there are some changes that require adjustments to existing sites that are built with Congo version 1.x. This guide will step you through the process and highlight things you need to consider. + +## Step 1: Upgrade Hugo + +{{< alert >}} +Congo 2.0 requires a minimum of **Hugo v0.87.0 or later** +{{< /alert >}} + +Congo is built to take advantage of some of the latest Hugo features. You should regularly keep your Hugo installation up to date to avoid any issues. + +You can check your current version using the command `hugo version`. Visit the [Hugo docs](https://gohugo.io/getting-started/installing/) for information on obtaining a newer release for your platform. + +## Step 2: Upgrade Congo + +The process for upgrading Congo will depend on how you include the theme in your project. Instructions for each method can be found below. + +- [Upgrade using Hugo](#upgrade-using-hugo) +- [Upgrade using git](#upgrade-using-git) +- [Upgrade manually](#upgrade-manually) + +### Upgrade using Hugo + +To upgrade a go module to a new major release, the `modules.toml` and `go.mod` files need to be updated. In each file, update the path to the theme from `github.com/jpanther/congo` to `github.com/jpanther/congo/v2`. + +Then change into your project directory and execute the following command: + +```shell +hugo mod get -u +``` + +Note that in some circumstances there may be issues with this step due to the way that Hugo locally caches modules. If the command above doesn't work, try using `hugo mod clean` to clear out the local cache and re-download any modules. + +Once the theme has been upgraded, continue to the [next section](#step-3-theme-configuration). + +### Upgrade using git + +Git submodules can be upgraded using the `git` command. Simply execute the following command and the latest version of the theme will be downloaded into your local repository: + +```shell +git submodule update --remote --merge +``` + +Once the submodule has been upgraded, continue to the [next section](#step-3-theme-configuration). + +### Upgrade manually + +Updating Congo manually requires you to download the latest copy of the theme and replace the old version in your project. + +{{< alert >}} +Note that any local customisations you have made to the theme files will be lost during this process. +{{< /alert >}} + +1. Download the latest release of the theme source code. + + {{< button href="https://github.com/jpanther/congo/releases/latest" target="_blank" >}}Download from Github{{< /button >}} + +2. Extract the archive, rename the folder to `congo` and move it to the `themes/` directory inside your Hugo project's root folder. You will need to overwrite the existing directory to replace all the theme files. + +3. Continue to the [next section](#step-3-theme-configuration). + +## Step 3: Theme configuration + +Congo 2.0 introduces a number of new theme configuration parameters. Although the theme will adapt to existing version 1 configurations, in order to take advantage of some of the newer theme features, you will need to adjust your existing configuration. + +The simplest way to do this is to take a copy of the theme's default configuration and compare it to your existing files. The process is outlined in greater detail below. + +### Languages.toml + +In order to provide multilingual support, language-specific theme parameters have been moved to a new config file `languages.[lang-code].toml`. The theme comes with a template `languages.en.toml` file which can be used as a guide. + +{{< alert >}} +This step is optional if you do not need multilingual support, although completing it now will make future theme upgrades easier. +{{< /alert >}} + +The languages config file follows this structure: + +```toml +# config/_default/languagues.en.toml + +languageCode = "en" +languageName = "English" +displayName = "EN" +htmlCode = "en" +weight = 1 +rtl = false + +# Language-specific parameters go here +``` + +Using your preferred language, simply create this new file in `config/_default/` and then move the language-specific parameters from any existing config files over to this new file. The table below outlines the parameters that need to be moved. + +| Parameter | Old location | +| ------------- | ------------- | +| `title` | `config.toml` | +| `description` | `params.toml` | +| `copyright` | `config.toml` | +| `dateFormat` | `params.toml` | +| `[author]` | `config.toml` | + +Once the values have been moved to the new location, these parameters should be deleted from their original locations. + +### Menus.toml + +As the theme is now aware of languages, the `menus.toml` file should also be renamed to include a language code. Rename the existing `menus.toml` to `menus.[lang-code].toml`, where the language code matches the code used in the `languages.toml` file in the previous section. + +### Config.toml + +The `config.toml` file now only contains base Hugo configuration values. Other than removing the language-specific strings above, there are only two changes to consider. + +If you're using a language other than English, provide a `defaultContentLanguage` value that matches the language code in the config file you created for your language. Secondly, to take advange of the new site search in Congo 2.0, an `[outputs]` block needs to be provided. + +```toml +# config/_default/config.toml + +defaultContentLanguage = "en" + +enableRobotsTXT = true +paginate = 10 +summaryLength = 0 + +[outputs] + home = ["HTML", "RSS", "JSON"] +``` + +### Markup.toml + +Congo 2.0 adds support for tables of contents on article pages. Although Hugo ships with default settings for generating contents listings, you can adjust this behaviour by adding a new `[tableOfContents]` block to your `markup.toml` file. + +The recommended settings are as follows, which includes any headings in the Markdown content at levels 2, 3 and 4: + +```toml +# config/_default/markup.toml + +[tableOfContents] + startLevel = 2 + endLevel = 4 +``` + +### Params.toml + +A number of new theme parameters have been introduced in Congo 2.0. Some minor changes are requried to existing configurations. Remember, the theme will always revert to a sensible default if a parameter is not provided. + +The way that dark mode works in Congo has been changed to allow greater flexibility around configuration. The old `darkMode` and `darkToggle` parameters have been **removed and replaced** by three new parameters. These new options operate independently of each other, making it possible to force the appearance while still allowing the user to override. + + +| New parameter | Type | Default | Description | +| --- | --- | --- | --- | +| `defaultAppearance` | String | `"light"` | Default theme appearance; either `light` or `dark`.
    :warning: _Setting this to `light` replicates the old `darkMode = false` setting, while `dark` replicates `darkMode = true`._ | +| `autoSwitchAppearance` | Boolean | `true` | Whether the theme appearance automatically switches based upon the operating system preference. Set to `false` to force the site to always use the `defaultAppearance`.
    :warning: _Setting this to `true` replicates the old `darkMode = "auto"` setting._ | +| `showAppearanceSwitcher` | Boolean | `false` | Whether the theme appearance switcher is dispalyed in the site footer.
    :warning: _This parameter replaces `darkToggle`._ | + + +The following table outlines some other key **new parameters** that control new features in version 2: + +| New parameter | Type | Default | +| ----------------------------- | ------- | ------- | +| `enableSearch` | Boolean | `false` | +| `showScrollToTop` | Boolean | `true` | +| `article.showTaxonomies` | Boolean | `false` | +| `article.showTableOfContents` | Boolean | `false` | +| `list.showTableOfContents` | Boolean | `false` | + +For the full list of supported parameters, refer to the [Configuration]({{< ref "docs/configuration" >}}) docs. + +## Step 4: Move assets + +All site assets, with the exception of favicons, now use Hugo Pipes to build an optimised version of your project. In order for the theme to locate your files, any previously static theme assets need to be moved to the Hugo assets folder. Primarily this is the author image and site logo: + +`static/me.jpg` **→** `assets/me.jpg` +`static/logo.jpg` **→** `assets/logo.jpg` + +If you have provided an author image or site logo, simply move these assets from `static/` to `assets/`. If you use the same directory structure the theme will know where to find these files automatically. If you would like to provide a new path, update the `logo` and `author.image` config values accordingly. + +Note that this step does not apply to any assets in your project that are actually static. For example, a PDF file that you link directly to from within an article is a static asset. These files should remain in the `static/` directory to ensure they are copied to the output folder when Hugo builds the site. + +## Step 5: Check content + +The behavior of the `figure` shortcode is different in version 2. If you are using `figure` in your content and have advanced use cases, you may need to adjust the parameters you are providing. + +Consult the [shortcode docs]({{< ref "docs/shortcodes#figure" >}}) to learn more about supported parameters. + +## Step 6: Rebuild + +Now that all the configuration changes are complete, it's time to rebuild the site. Run `hugo`, or your build command, and check that everything works as expected. + +If you come across any errors, check the configuration is correct and refer to the [full documentation]({{< ref "docs" >}}) for further guidance. Remember, the example config files bundled with the theme contain all the default parameters and are a great starting point. + +🙋‍♀️ If you still need help, feel free to ask your question on [GitHub Discussions](https://github.com/jpanther/congo/discussions). diff --git a/themes/congo/exampleSite/content/docs/version-2/upgrade/index.zh-cn.md b/themes/congo/exampleSite/content/docs/version-2/upgrade/index.zh-cn.md new file mode 100644 index 0000000..b47970c --- /dev/null +++ b/themes/congo/exampleSite/content/docs/version-2/upgrade/index.zh-cn.md @@ -0,0 +1,223 @@ +--- +title: "从Congo 1.x升级" +date: 2022-01-20 +draft: false +description: "探索2.0的新特性" +tags: ["new", "docs"] +--- + +尽管 Congo 2.0 包含大量变化,但主题已经经过设计,以最小化升级到最新版本所需的努力。 + +话虽如此,有一些变化需要调整使用 Congo 1.x 构建的现有站点。本指南将引导你完成整个过程,并突出需要考虑的事项。 + +## 步骤1:升级Hugo + +{{< alert >}} +Congo 2.0 要求最低 **Hugo v0.87.0 或更高版本** +{{< /alert >}} + +Congo被设计以充分利用一些最新的Hugo功能。为避免任何问题,你应该定期保持Hugo的安装版本。 + +你可以使用命令 `hugo version` 检查你当前的版本。请访问[Hugo文档](https://gohugo.io/getting-started/installing/)获取适用于你平台的更新版本的信息。 + +## 步骤2:升级Congo + +升级Congo的过程取决于你如何在项目中引入主题。每种方法的说明如下。 + +- [使用Hugo升级](#使用Hugo升级) +- [使用git升级](#使用git升级) +- [手动升级](#手动升级) + +### 使用Hugo升级 + +要将go模块升级到新的主版本,需要更新 `modules.toml` 和 `go.mod` 文件。在每个文件中,将主题的路径从 `github.com/jpanther/congo` 更新为 `github.com/jpanther/congo/v2`。 + +然后进入你的项目目录并执行以下命令: + +```shell +hugo mod get -u +``` + +请注意,在某些情况下,由于Hugo本地缓存模块的方式,此步骤可能会出现问题。如果上述命令不起作用,请尝试使用 `hugo mod clean` 来清除本地缓存并重新下载任何模块。 + +一旦主题已经升级,继续到[下一节](#步骤-3-主题配置)。 + +### 使用git升级 + +可以使用`git`命令升级Git子模块。只需执行以下命令,最新版本的主题将被下载到你的本地存储库中: + +```shell +git submodule update --remote --merge +``` + +一旦子模块升级完成,继续到[下一节](#step-3-theme-configuration)。 + +### 手动升级 + +手动更新Congo需要下载主题的最新副本,并替换项目中的旧版本。 + +{{< alert >}} +请注意,在此过程中,您对主题文件所做的任何本地自定义将会丢失。 +{{< /alert >}} + +1. 下载主题源代码的最新发布。 + + {{< button href="https://github.com/jpanther/congo/releases/latest" target="_blank" >}}从Github下载{{< /button >}} + +2. 解压缩存档,将文件夹重命名为 `congo` 并将其移动到Hugo项目根目录下的 `themes/` 目录。你需要覆盖现有目录以替换所有主题文件。 + +3. 继续到[下一节](#step-3-theme-configuration)。 + +## 步骤 3:主题配置 + +Congo 2.0 引入了许多新的主题配置参数。虽然主题会适应现有的版本1配置,但为了利用一些新的主题功能,你需要调整你现有的配置。 + +最简单的方法是复制主题的默认配置并将其与你的现有文件进行比较。下面详细介绍了这个过程。 + +### Languages.toml + +为了提供多语言支持,特定于语言的主题参数已移至新的配置文件 `languages.[lang-code].toml`。主题附带一个模板文件 `languages.en.toml`,可作为参考。 + +{{< alert >}} +如果您不需要多语言支持,此步骤是可选的,但现在完成它将使未来的主题升级更容易。 +{{< /alert >}} + +语言配置文件遵循以下结构: + +```toml +# config/_default/languagues.en.toml + +languageCode = "en" +languageName = "English" +displayName = "EN" +htmlCode = "en" +weight = 1 +rtl = false + +# Language-specific parameters go here +``` + +### Languages.toml + +为了提供多语言支持,特定于语言的主题参数已移至新的配置文件 `languages.[lang-code].toml`。主题附带一个模板文件 `languages.en.toml`,可作为参考。 + +{{< alert >}} +如果您不需要多语言支持,此步骤是可选的,但现在完成它将使未来的主题升级更容易。 +{{< /alert >}} + +语言配置文件遵循以下结构: + +```toml +# config/_default/languagues.en.toml + +languageCode = "en" +languageName = "English" +displayName = "EN" +htmlCode = "en" +weight = 1 +rtl = false + +# 此处放置特定于语言的参数 +``` + +使用你喜欢的语言,在 `config/_default/` 中创建这个新文件,然后将任何现有配置文件中的特定于语言的参数移到这个新文件中。下表概述了需要移动的参数。 + +| 参数 | 旧位置 | +| ------------- | ------------- | +| `title` | `config.toml` | +| `description` | `params.toml` | +| `copyright` | `config.toml` | +| `dateFormat` | `params.toml` | +| `[author]` | `config.toml` | + +一旦值已经移动到新位置,应该从其原始位置删除这些参数。 + +### Menus.toml + +由于主题现在支持多语言,`menus.toml` 文件也应该重命名,包含语言代码。将现有的 `menus.toml` 重命名为 `menus.[lang-code].toml`,其中语言代码与前一节中的 `languages.toml` 文件中使用的代码匹配。 + +### Config.toml + +`config.toml` 文件现在只包含基本的Hugo配置值。除了删除上述特定于语言的字符串之外,只有两个更改需要考虑。 + +如果你使用的是英语以外的语言,请提供一个与你为语言创建的配置文件中的语言代码匹配的 `defaultContentLanguage` 值。其次,为了利用Congo 2.0中的新站点搜索,需要提供一个 `[outputs]` 块。 + +```toml +# config/_default/config.toml + +defaultContentLanguage = "en" + +enableRobotsTXT = true +paginate = 10 +summaryLength = 0 + +[outputs] + home = ["HTML", "RSS", "JSON"] +``` + +### Markup.toml + +Congo 2.0 添加了对文章页面上目录的支持。尽管Hugo默认提供了生成目录列表的默认设置,你可以通过在 `markup.toml` 文件中添加一个新的 `[tableOfContents]` 块来调整此行为。 + +建议的设置如下,包括Markdown内容中的任何标题,级别为2、3和4: + +```toml +# config/_default/markup.toml + +[tableOfContents] + startLevel = 2 + endLevel = 4 +``` + +### Params.toml + +Congo 2.0 引入了许多新的主题参数。一些现有配置需要进行一些小的更改。请记住,如果未提供参数,主题将始终恢复为合理的默认值。 + +Congo中深色模式的工作方式已更改,以提供更大的配置灵活性。旧的 `darkMode` 和 `darkToggle` 参数已被 **删除并替换** 为三个新参数。这些新选项彼此独立操作,使得可以强制外观同时仍然允许用户覆盖。 + + +| 新参数 | 类型 | 默认值 | 描述 | +| --- | --- | --- | --- | +| `defaultAppearance` | 字符串 | `"light"` | 默认主题外观;可以是 `light` 或 `dark`。
    :warning: _将其设置为 `light` 复制了旧的 `darkMode = false` 设置,而 `dark` 复制了 `darkMode = true`。_ | +| `autoSwitchAppearance` | 布尔值 | `true` | 主题外观是否根据操作系统首选项自动切换。将其设置为 `false` 可始终强制站点使用 `defaultAppearance`。
    :warning: _将其设置为 `true` 复制了旧的 `darkMode = "auto"` 设置。_ | +| `showAppearanceSwitcher` | 布尔值 | `false` | 主题外观切换器是否显示在站点页脚中。
    :warning: _此参数替代了 `darkToggle`。_ | + + +以下表格概述了版本2中控制新功能的一些其他关键 **新参数**。 + +| 新 + +参数 | 类型 | 默认值 | +| ----------------------- | ------- | ------- | +| `enableSearch` | 布尔值 | `false` | +| `showScrollToTop` | 布尔值 | `true` | +| `article.showTaxonomies` | 布尔值 | `false` | +| `article.showTableOfContents` | 布尔值 | `false` | +| `list.showTableOfContents` | 布尔值 | `false` | + +有关支持的所有参数的完整列表,请参阅[配置]({{< ref "docs/configuration" >}})文档。 + +## 步骤4:移动assets + +除了favicon之外,现在所有站点assets都使用Hugo Pipes构建项目的优化版本。为了使主题能够定位你的文件,任何先前的静态主题assets需要移动到Hugo资产文件夹。主要是作者图片和站点标志: + +`static/me.jpg` **→** `assets/me.jpg` +`static/logo.jpg` **→** `assets/logo.jpg` + +如果你提供了作者图片或站点标志,只需将这些资产从 `static/` 移动到 `assets/`。如果使用相同的目录结构,主题将自动知道在哪里找到这些文件。如果想提供新的路径,相应地更新 `logo` 和 `author.image` 配置值。 + +请注意,此步骤不适用于项目中实际上是静态的任何assets。例如,直接从文章中链接的PDF文件是静态资产。这些文件应保留在 `static/` 目录中,以确保在Hugo构建站点时将它们复制到输出文件夹中。 + +## 步骤5:检查内容 + +版本2中 `figure` 短代码 的行为不同。如果在内容中使用 `figure` 并且有高级用例,可能需要调整提供的参数。 + +查阅[短代码文档]({{< ref "docs/shortcodes#figure" >}})以了解有关支持的参数的更多信息。 + +## 步骤6:重新构建 + +现在所有配置更改都已完成,是时候重新构建站点了。运行 `hugo` 或你的构建命令,并检查一切是否按预期工作。 + +如果遇到任何错误,请检查配置是否正确,并参考[完整文档]({{< ref "docs" >}})获取进一步的指导。记住,主题捆绑的示例配置文件包含所有默认参数,并且是一个很好的起点。 + +🙋‍♀️ 如果仍然需要帮助,请随时在[GitHub Discussions](https://github.com/jpanther/congo/discussions)上提问。 diff --git a/themes/congo/exampleSite/content/festivities.svg b/themes/congo/exampleSite/content/festivities.svg new file mode 100644 index 0000000..872d4c2 --- /dev/null +++ b/themes/congo/exampleSite/content/festivities.svg @@ -0,0 +1 @@ +festivities \ No newline at end of file diff --git a/themes/congo/exampleSite/content/samples/_index.de.md b/themes/congo/exampleSite/content/samples/_index.de.md new file mode 100644 index 0000000..1328ba6 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/_index.de.md @@ -0,0 +1,18 @@ +--- +title: "Beispiele für Inhalte" +description: "Sieh dir an, was mit Congo möglich ist." + +cascade: + showEdit: false + showSummary: true +--- + +{{< lead >}} +Congo erweckt deinen Inhalt zum Leben. :heart_eyes: +{{< /lead >}} + +Dieser Abschnitt enthält einige Demoseiten, die zeigen, wie Congo verschiedene Arten von Inhalten wiedergibt. Sie können auch eine Beispielseite für ein [Taxonomieverzeichnis]({{< ref "tags" >}}) sehen. + +_**Hinweis:** Diese Seite ist nur eine standardmäßige Congo-Artikelauflistung und Hugo wurde so konfiguriert, dass er einen Inhaltstyp "Beispiele" generiert und Artikelzusammenfassungen anzeigt._ + +--- diff --git a/themes/congo/exampleSite/content/samples/_index.es.md b/themes/congo/exampleSite/content/samples/_index.es.md new file mode 100644 index 0000000..a4b7ebd --- /dev/null +++ b/themes/congo/exampleSite/content/samples/_index.es.md @@ -0,0 +1,18 @@ +--- +title: "Páginas de ejemplo" +description: "Vea lo que es posible con Congo." + +cascade: + showEdit: false + showSummary: true +--- + +{{< lead >}} +Congo da vida a su contenido. :heart_eyes: +{{< /lead >}} + +Esta sección contiene ejemplos que muestran cómo Congo representa diferentes tipos de contenido. También puedes ver una página con una [lista de taxonomía]({{< ref "tags" >}}) de ejemplo. + +_**Nota al margen:** Esta página es solo una lista estándar de artículos de Congo, y Hugo se ha configurado para generar un tipo de contenido de `ejemplos` y mostrar resúmenes de artículos._ + +--- diff --git a/themes/congo/exampleSite/content/samples/_index.ja.md b/themes/congo/exampleSite/content/samples/_index.ja.md new file mode 100644 index 0000000..5ca5411 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/_index.ja.md @@ -0,0 +1,18 @@ +--- +title: "サンプル" +description: "Congoの可能性を見てみましょう" + +cascade: + showEdit: false + showSummary: true +--- + +{{< lead >}} +Congoはあなたのコンテンツに命を吹き込みます :heart_eyes: +{{< /lead >}} + +このセクションには、Congoがさまざまなタイプのコンテンツをどのようにレンダリングするかを示すいくつかのデモページがあります。また、[Tags]({{< ref "tags" >}})ページの例も見ることができます。 + +_**補足:** このページは標準的なCongoの記事リストであり、Hugoは `samples` コンテンツタイプを生成し、記事の要約を表示するように設定されています。_ + +--- diff --git a/themes/congo/exampleSite/content/samples/_index.md b/themes/congo/exampleSite/content/samples/_index.md new file mode 100644 index 0000000..2d9820c --- /dev/null +++ b/themes/congo/exampleSite/content/samples/_index.md @@ -0,0 +1,18 @@ +--- +title: "Content Samples" +description: "See what's possible with Congo." + +cascade: + showEdit: false + showSummary: true +--- + +{{< lead >}} +Congo brings your content to life. :heart_eyes: +{{< /lead >}} + +This section contains some demo pages that show how Congo renders different types of content. You can also see an example [taxonomy listing]({{< ref "tags" >}}) page. + +_**Sidenote:** This page is just a standard Congo article listing and Hugo has been configured to generate a `samples` content type and display article summaries._ + +--- diff --git a/themes/congo/exampleSite/content/samples/_index.zh-cn.md b/themes/congo/exampleSite/content/samples/_index.zh-cn.md new file mode 100644 index 0000000..78fda9f --- /dev/null +++ b/themes/congo/exampleSite/content/samples/_index.zh-cn.md @@ -0,0 +1,18 @@ +--- +title: "内容样例" +description: "探索Congo的无限可能" + +cascade: + showEdit: false + showSummary: true +--- + +{{< lead >}} +Congo让您的内容栩栩如生。 :heart_eyes: +{{< /lead >}} + +这个部分包含一些演示页面,展示了Congo 如何呈现不同类型的内容。您还可以查看一个 [分类法列表]({{< ref "tags" >}}) 页面的示例。 + +_**附注:** 此页面只是一个标准的Congo文章列表,Hugo已经配置生成了一个`samples`内容类型并显示文章摘要。_ + +--- diff --git a/themes/congo/exampleSite/content/samples/charts/index.de.md b/themes/congo/exampleSite/content/samples/charts/index.de.md new file mode 100644 index 0000000..eb1e219 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/charts/index.de.md @@ -0,0 +1,85 @@ +--- +title: "Charts" +date: 2019-03-06 +description: "Leitfaden zur Verwendung von Chart.js mit Congo" +summary: "Congo enthält Chart.js für leistungsstarke Charts und Datenvisualisierungen." +tags: ["Chart", "Beispiele", "Graph", "Shortcodes"] +--- + +Congo bietet Unterstützung für Chart.js unter Verwendung des Shortcodes `chart`. Füge einfach das Chart-Markup in den Shortcode ein. Congo gestaltet die Charts automatisch so, dass sie der Konfiguration des Parameters `colorScheme` entsprechen. Die Farben können jedoch mit der normalen Chart.js-Syntax angepasst werden. + +Weitere Details findest du in der [Chart-Shortcode-Dokumentation]({{< ref path="docs/shortcodes#chart" lang="en" >}}). + +Die folgenden Beispiele sind eine kleine Auswahl aus der [offiziellen Chart.js-Dokumentation](https://www.chartjs.org/docs/latest/samples). Du kannst auch [die Quelle der Seite](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/charts/index.de.md) auf GitHub aufrufen, um das Markup zu sehen. + +## Säulendiagramm + + +{{< chart >}} +type: 'bar', +data: { + labels: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli'], + datasets: [{ + label: 'Mein erster Datensatz', + data: [65, 59, 80, 81, 56, 55, 40], + backgroundColor: [ + 'rgba(255, 99, 132, 0.2)', + 'rgba(255, 159, 64, 0.2)', + 'rgba(255, 205, 86, 0.2)', + 'rgba(75, 192, 192, 0.2)', + 'rgba(54, 162, 235, 0.2)', + 'rgba(153, 102, 255, 0.2)', + 'rgba(201, 203, 207, 0.2)' + ], + borderColor: [ + 'rgb(255, 99, 132)', + 'rgb(255, 159, 64)', + 'rgb(255, 205, 86)', + 'rgb(75, 192, 192)', + 'rgb(54, 162, 235)', + 'rgb(153, 102, 255)', + 'rgb(201, 203, 207)' + ], + borderWidth: 1 + }] +} +{{< /chart >}} + + +## Linien-Diagramm + + +{{< chart >}} +type: 'line', +data: { + labels: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli'], + datasets: [{ + label: 'Mein erster Datensatz', + data: [65, 59, 80, 81, 56, 55, 40], + tension: 0.2 + }] +} +{{< /chart >}} + + +## Doughnut-Chart + + +{{< chart >}} +type: 'doughnut', +data: { + labels: ['Rot', 'Blau', 'Gelb'], + datasets: [{ + label: 'Mein erster Datensatz', + data: [300, 50, 100], + backgroundColor: [ + 'rgba(255, 99, 132, 0.7)', + 'rgba(54, 162, 235, 0.7)', + 'rgba(255, 205, 86, 0.7)' + ], + borderWidth: 0, + hoverOffset: 4 + }] +} +{{< /chart >}} + diff --git a/themes/congo/exampleSite/content/samples/charts/index.es.md b/themes/congo/exampleSite/content/samples/charts/index.es.md new file mode 100644 index 0000000..6b75503 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/charts/index.es.md @@ -0,0 +1,87 @@ +--- +title: "Gráficos" +date: 2019-03-06 +description: "Guía para usar Chart.js en Congo" +summary: "Congo incluye Chart.js para mostrar potentes gráficos y visualizaciones de datos." +tags: ["chart", "sample", "graph", "shortcodes"] +--- + +Congo incluye soporte para Chart.js usando el shortcode `chart`. Simplemente encierra las etiquetas del gráfico dentro del shortcode. + +Congo crea temas de gráficos automáticamente para que coincidan con el parámetro `colorScheme` configurado. Sin embargo, los colores se pueden personalizar usando la sintaxis normal de Chart.js. + +Consulta la documentación del [chart shortcode]({{< ref path="docs/shortcodes#chart" lang="en" >}}) para obtener más detalles. + +Los ejemplos a continuación son una pequeña selección tomada de la [documentación oficial de Chart.js](https://www.chartjs.org/docs/latest/samples). También puedes ver el [código fuente de la página](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/charts.es.md) en GitHub para ver la sintaxis. + +## Gráfico de barras + + +{{< chart >}} +type: 'bar', +data: { + labels: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio'], + datasets: [{ + label: 'Mi primer Dataset', + data: [65, 59, 80, 81, 56, 55, 40], + backgroundColor: [ + 'rgba(255, 99, 132, 0.2)', + 'rgba(255, 159, 64, 0.2)', + 'rgba(255, 205, 86, 0.2)', + 'rgba(75, 192, 192, 0.2)', + 'rgba(54, 162, 235, 0.2)', + 'rgba(153, 102, 255, 0.2)', + 'rgba(201, 203, 207, 0.2)' + ], + borderColor: [ + 'rgb(255, 99, 132)', + 'rgb(255, 159, 64)', + 'rgb(255, 205, 86)', + 'rgb(75, 192, 192)', + 'rgb(54, 162, 235)', + 'rgb(153, 102, 255)', + 'rgb(201, 203, 207)' + ], + borderWidth: 1 + }] +} +{{< /chart >}} + + +## Gráfico de linea + + +{{< chart >}} +type: 'line', +data: { + labels: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio'], + datasets: [{ + label: 'Mi primer Dataset', + data: [65, 59, 80, 81, 56, 55, 40], + tension: 0.2 + }] +} +{{< /chart >}} + + +## Gráfico de anillos + + +{{< chart >}} +type: 'doughnut', +data: { + labels: ['Rojo', 'Azul', 'Amarillo'], + datasets: [{ + label: 'Mi primer Dataset', + data: [300, 50, 100], + backgroundColor: [ + 'rgba(255, 99, 132, 0.7)', + 'rgba(54, 162, 235, 0.7)', + 'rgba(255, 205, 86, 0.7)' + ], + borderWidth: 0, + hoverOffset: 4 + }] +} +{{< /chart >}} + diff --git a/themes/congo/exampleSite/content/samples/charts/index.ja.md b/themes/congo/exampleSite/content/samples/charts/index.ja.md new file mode 100644 index 0000000..a85e02f --- /dev/null +++ b/themes/congo/exampleSite/content/samples/charts/index.ja.md @@ -0,0 +1,85 @@ +--- +title: "チャート(グラフ)" +date: 2019-03-06 +description: "Chart.jsの使い方について" +summary: "CongoにはChart.jsが含まれており、パワフルなチャートとデータのビジュアライゼーションが可能です。" +tags: ["chart", "sample", "graph", "shortcodes"] +--- + +Congoは、 `chart` ショートコードを使ったChart.jsをサポートしています。チャートのマークアップをショートコードにラップするだけです。Congoは設定された `colorScheme` パラメーターに合うように自動的にチャートをテーマ化しますが、通常のChart.js構文を使って色をカスタマイズすることもできます。 + +詳細は[ショートコード - チャート]({{< ref "docs/shortcodes#チャート" >}})のドキュメントを参照してください。 + +以下の例は、[Chart.jsの公式ドキュメント](https://www.chartjs.org/docs/latest/samples)から抜粋したものです。GitHubの[ページのソースを見る](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/charts.md)からもマークアップを見ることができます。 + +## バーチャート(棒グラフ) + + +{{< chart >}} +type: 'bar', +data: { + labels: ['睦月', '如月', '弥生', '卯月', '皐月', '水無月', '文月'], + datasets: [{ + label: 'データセット', + data: [65, 59, 80, 81, 56, 55, 40], + backgroundColor: [ + 'rgba(255, 99, 132, 0.2)', + 'rgba(255, 159, 64, 0.2)', + 'rgba(255, 205, 86, 0.2)', + 'rgba(75, 192, 192, 0.2)', + 'rgba(54, 162, 235, 0.2)', + 'rgba(153, 102, 255, 0.2)', + 'rgba(201, 203, 207, 0.2)' + ], + borderColor: [ + 'rgb(255, 99, 132)', + 'rgb(255, 159, 64)', + 'rgb(255, 205, 86)', + 'rgb(75, 192, 192)', + 'rgb(54, 162, 235)', + 'rgb(153, 102, 255)', + 'rgb(201, 203, 207)' + ], + borderWidth: 1 + }] +} +{{< /chart >}} + + +## ラインチャート(折れ線グラフ) + + +{{< chart >}} +type: 'line', +data: { + labels: ['睦月', '如月', '弥生', '卯月', '皐月', '水無月', '文月'], + datasets: [{ + label: 'データセット', + data: [65, 59, 80, 81, 56, 55, 40], + tension: 0.2 + }] +} +{{< /chart >}} + + +## ドーナツチャート(円グラフ) + + +{{< chart >}} +type: 'doughnut', +data: { + labels: ['赤', '青', '黄'], + datasets: [{ + label: 'My First Dataset', + data: [300, 50, 100], + backgroundColor: [ + 'rgba(255, 99, 132, 0.7)', + 'rgba(54, 162, 235, 0.7)', + 'rgba(255, 205, 86, 0.7)' + ], + borderWidth: 0, + hoverOffset: 4 + }] +} +{{< /chart >}} + diff --git a/themes/congo/exampleSite/content/samples/charts/index.md b/themes/congo/exampleSite/content/samples/charts/index.md new file mode 100644 index 0000000..477ae4d --- /dev/null +++ b/themes/congo/exampleSite/content/samples/charts/index.md @@ -0,0 +1,85 @@ +--- +title: "Charts" +date: 2019-03-06 +description: "Guide to Chart.js usage in Congo" +summary: "Congo includes Chart.js for powerful charts and data visualisations." +tags: ["chart", "sample", "graph", "shortcodes"] +--- + +Congo includes support for Chart.js using the `chart` shortcode. Simply wrap the chart markup within the shortcode. Congo automatically themes charts to match the configured `colorScheme` parameter, however the colours can be customised using normal Chart.js syntax. + +Refer to the [chart shortcode]({{< ref "docs/shortcodes#chart" >}}) docs for more details. + +The examples below are a small selection taken from the [official Chart.js docs](https://www.chartjs.org/docs/latest/samples). You can also [view the page source](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/charts/index.md) on GitHub to see the markup. + +## Bar chart + + +{{< chart >}} +type: 'bar', +data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + label: 'My First Dataset', + data: [65, 59, 80, 81, 56, 55, 40], + backgroundColor: [ + 'rgba(255, 99, 132, 0.2)', + 'rgba(255, 159, 64, 0.2)', + 'rgba(255, 205, 86, 0.2)', + 'rgba(75, 192, 192, 0.2)', + 'rgba(54, 162, 235, 0.2)', + 'rgba(153, 102, 255, 0.2)', + 'rgba(201, 203, 207, 0.2)' + ], + borderColor: [ + 'rgb(255, 99, 132)', + 'rgb(255, 159, 64)', + 'rgb(255, 205, 86)', + 'rgb(75, 192, 192)', + 'rgb(54, 162, 235)', + 'rgb(153, 102, 255)', + 'rgb(201, 203, 207)' + ], + borderWidth: 1 + }] +} +{{< /chart >}} + + +## Line chart + + +{{< chart >}} +type: 'line', +data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + label: 'My First Dataset', + data: [65, 59, 80, 81, 56, 55, 40], + tension: 0.2 + }] +} +{{< /chart >}} + + +## Doughnut chart + + +{{< chart >}} +type: 'doughnut', +data: { + labels: ['Red', 'Blue', 'Yellow'], + datasets: [{ + label: 'My First Dataset', + data: [300, 50, 100], + backgroundColor: [ + 'rgba(255, 99, 132, 0.7)', + 'rgba(54, 162, 235, 0.7)', + 'rgba(255, 205, 86, 0.7)' + ], + borderWidth: 0, + hoverOffset: 4 + }] +} +{{< /chart >}} + diff --git a/themes/congo/exampleSite/content/samples/charts/index.zh-cn.md b/themes/congo/exampleSite/content/samples/charts/index.zh-cn.md new file mode 100644 index 0000000..f74f760 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/charts/index.zh-cn.md @@ -0,0 +1,85 @@ +--- +title: "表格" +date: 2019-03-06 +description: "Chart.js在Congo中的用法" +summary: "Congo使用chart.js来提供强大的表格支持和数据可视化。" +tags: ["chart", "sample", "graph", "shortcodes"] +--- + +Congo 包含对 Chart.js 的支持,使用 `chart` 短代码即可。只需将图表标记包裹在短代码内。Congo 会自动根据配置的 `colorScheme` 参数为图表添加主题,但颜色可以使用常规的 Chart.js 语法进行自定义。 + +有关更多详细信息,请参阅 [chart 短代码]({{< ref "docs/shortcodes#chart" >}}) 文档。 + +以下示例是从 [官方 Chart.js 文档](https://www.chartjs.org/docs/latest/samples) 中摘取的一小部分。您还可以在 GitHub 上 [查看页面源代码](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/charts/index.md) 以查看标记。 + +## 柱状图 + + +{{< chart >}} +type: 'bar', +data: { + labels: ['一月', '二月', '三月', '四月', '五月', '六月', '七月'], + datasets: [{ + label: '我的第一个数据集 ', + data: [65, 59, 80, 81, 56, 55, 40], + backgroundColor: [ + 'rgba(255, 99, 132, 0.2)', + 'rgba(255, 159, 64, 0.2)', + 'rgba(255, 205, 86, 0.2)', + 'rgba(75, 192, 192, 0.2)', + 'rgba(54, 162, 235, 0.2)', + 'rgba(153, 102, 255, 0.2)', + 'rgba(201, 203, 207, 0.2)' + ], + borderColor: [ + 'rgb(255, 99, 132)', + 'rgb(255, 159, 64)', + 'rgb(255, 205, 86)', + 'rgb(75, 192, 192)', + 'rgb(54, 162, 235)', + 'rgb(153, 102, 255)', + 'rgb(201, 203, 207)' + ], + borderWidth: 1 + }] +} +{{< /chart >}} + + +## 折线图 + + +{{< chart >}} +type: 'line', +data: { + labels: ['一月', '二月', '三月', '四月', '五月', '六月', '七月'], + datasets: [{ + label: '我的第一个数据集', + data: [65, 59, 80, 81, 56, 55, 40], + tension: 0.2 + }] +} +{{< /chart >}} + + +## 圆环图 + + +{{< chart >}} +type: 'doughnut', +data: { + labels: ['红', '蓝', '黄'], + datasets: [{ + label: 'My First Dataset', + data: [300, 50, 100], + backgroundColor: [ + 'rgba(255, 99, 132, 0.7)', + 'rgba(54, 162, 235, 0.7)', + 'rgba(255, 205, 86, 0.7)' + ], + borderWidth: 0, + hoverOffset: 4 + }] +} +{{< /chart >}} + diff --git a/themes/congo/exampleSite/content/samples/charts/thumb-jason-coudriet-eQux_nmDew0-unsplash.jpg b/themes/congo/exampleSite/content/samples/charts/thumb-jason-coudriet-eQux_nmDew0-unsplash.jpg new file mode 100644 index 0000000..697cb36 Binary files /dev/null and b/themes/congo/exampleSite/content/samples/charts/thumb-jason-coudriet-eQux_nmDew0-unsplash.jpg differ diff --git a/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.de.md b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.de.md new file mode 100644 index 0000000..2ccf604 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.de.md @@ -0,0 +1,92 @@ +--- +title: "Diagramme und Flussdiagramme" +date: 2019-03-06 +description: "Leitfaden zur Verwendung von Mermaid in Congo" +summary: "Mit Mermaid ist es einfach, Diagramme und Flussdiagramme zu Artikeln hinzuzufügen." +tags: ["Mermaid", "Beispiele", "Diagramm", "Shortcodes"] +--- + +Mermaid-Diagramme werden in Congo mit dem Shortcode `mermaid` unterstützt. Füge einfach das Diagramm-Markup in den Shortcode ein. Congo gestaltet Mermaid-Diagramme automatisch so, dass sie der Konfiguration des Parameters `colorScheme` entsprechen. + +Weitere Details findest du in der [Mermaid-Shortcode-Dokumentation]({{< ref path="docs/shortcodes#mermaid" lang="en">}}). + +Die folgenden Beispiele sind eine kleine Auswahl aus der [offiziellen Mermaid-Dokumentation](https://mermaid-js.github.io/mermaid/). Du kannst auch [die Quelle der Seite](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/diagrams-flowcharts/index.de.md) auf GitHub aufrufen, um das Markup zu sehen. + +## Flussdiagramm + +{{< mermaid >}} +graph TD +A[Weihnachten] -->|Erhalte Geld| B(Geh einkaufen) +B --> C{Lass mich nachdenken} +B --> G[/Sonstiges/] +C ==>|Eins| D[Laptop] +C -->|Zwei| E[iPhone] +C -->|Drei| F[Auto] +subgraph Section +C +D +E +F +G +end +{{< /mermaid >}} + +## Sequenzdiagramm + +{{< mermaid >}} +sequenceDiagram +autonumber +par Action 1 +Alice->>John: Hallo John, wie geht es dir? +and Action 2 +Alice->>Bob: Hallo Bob, wie geht es dir? +end +Alice->>+John: Hallo John, wie geht es dir? +Alice->>+John: John, kannst du mich hören? +John-->>-Alice: Hi Alice, ich kann dich hören! +Note right of John: John ist aufmerksam +John-->>-Alice: Mir geht es gut! +loop Jede Minute +John-->Alice: Super! +end +{{< /mermaid >}} + +## Klassendiagramm + +{{< mermaid >}} +classDiagram +Tier "1" <|-- Ente +Tier <|-- Fisch +Tier <--o Zebra +Tier : +int alter +Tier : +String geschlecht +Tier: +istSaeugetier() +Tier: +paaren() +class Ente{ ++String schnabelFarbe ++schwimmen() ++quaken() +} +class Fisch{ +-int groesseInFuss +-canFressen() +} +class Zebra{ ++bool ist_wild ++rennen() +} +{{< /mermaid >}} + +## Entitäts-Beziehungs-Diagramm + +{{< mermaid >}} +erDiagram +KUNDE }|..|{ LIEFER-ADRESSE : hat +KUNDE ||--o{ BESTELLUNG : platziert +KUNDE ||--o{ RECHNUNG : "zustaendig fuer" +LIEFER-ADRESSE ||--o{ BESTELLUNG : erhaelt +RECHNUNG ||--|{ BESTELLUNG : "deckt ab" +BESTELLUNG ||--|{ BESTELLTES-PRODUKT : enthaelt +PRODUKT-KATEGORIE ||--|{ PRODUKT : enthaelt +PRODUKT ||--o{ BESTELLTES-PRODUKT : "bestellt in" +{{< /mermaid >}} diff --git a/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.es.md b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.es.md new file mode 100644 index 0000000..b2c9a6b --- /dev/null +++ b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.es.md @@ -0,0 +1,92 @@ +--- +title: "Diagramas y diagramas de flujo" +date: 2019-03-06 +description: "Guía para el uso de Mermaid en Congo" +summary: "Es fácil agregar diagramas y diagramas de flujo a los artículos usando Mermaid." +tags: ["mermaid", "sample", "diagram", "shortcodes"] +--- + +Los diagramas Mermaid son compatibles con Congo utilizando el shortcode `mermaid`. Simplemente encierra las etiquetas del diagrama dentro del shortcode. Congo crea temas automáticamente a los diagramas Mermaid para que coincidan con el parámetro `colorScheme` configurado. + +Consulta la documentación del [shortcode Mermaid]({{< ref path="docs/shortcodes#mermaid" lang="en" >}}) para obtener más detalles. + +Los ejemplos a continuación son una pequeña selección tomada de la [documentación oficial de Mermaid](https://mermaid-js.github.io/mermaid/). También puedes ver el [código fuente de la página](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/diagrams-flowcharts/index.es.md) en GitHub para ver la sintaxis. + +## Diagrama de flujo + +{{< mermaid >}} +graph TD +A[Christmas] -->|Get money| B(Go shopping) +B --> C{Let me think} +B --> G[/Another/] +C ==>|One| D[Laptop] +C -->|Two| E[iPhone] +C -->|Three| F[Car] +subgraph Section +C +D +E +F +G +end +{{< /mermaid >}} + +## Diagrama de secuencia + +{{< mermaid >}} +sequenceDiagram +autonumber +par Action 1 +Alice->>John: Hello John, how are you? +and Action 2 +Alice->>Bob: Hello Bob, how are you? +end +Alice->>+John: Hello John, how are you? +Alice->>+John: John, can you hear me? +John-->>-Alice: Hi Alice, I can hear you! +Note right of John: John is perceptive +John-->>-Alice: I feel great! +loop Every minute +John-->Alice: Great! +end +{{< /mermaid >}} + +## Diagrama de clase + +{{< mermaid >}} +classDiagram +Animal "1" <|-- Duck +Animal <|-- Fish +Animal <--o Zebra +Animal : +int age +Animal : +String gender +Animal: +isMammal() +Animal: +mate() +class Duck{ ++String beakColor ++swim() ++quack() +} +class Fish{ +-int sizeInFeet +-canEat() +} +class Zebra{ ++bool is_wild ++run() +} +{{< /mermaid >}} + +## Diagrama entidad-relación + +{{< mermaid >}} +erDiagram +CUSTOMER }|..|{ DELIVERY-ADDRESS : has +CUSTOMER ||--o{ ORDER : places +CUSTOMER ||--o{ INVOICE : "liable for" +DELIVERY-ADDRESS ||--o{ ORDER : receives +INVOICE ||--|{ ORDER : covers +ORDER ||--|{ ORDER-ITEM : includes +PRODUCT-CATEGORY ||--|{ PRODUCT : contains +PRODUCT ||--o{ ORDER-ITEM : "ordered in" +{{< /mermaid >}} diff --git a/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.ja.md b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.ja.md new file mode 100644 index 0000000..ccc1bb9 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.ja.md @@ -0,0 +1,92 @@ +--- +title: "ダイアグラムとフローチャート" +date: 2019-03-06 +description: "CongoでMermaidを使うためのガイド" +summary: "It's easy to add diagrams and flowcharts to articles using Mermaid." +tags: ["mermaid", "sample", "diagram", "shortcodes"] +--- + +Mermaid構文を `mermaid` で囲むだけで、Congoは設定された `colorScheme` に合わせて図を出力します。 + +詳細は[ショートコード - Mermaid]({{< ref "docs/shortcodes#mermaid" >}})を参照してください。 + +以下の例は、[Mermaid公式ドキュメント](https://mermaid-js.github.io/mermaid/)から抜粋したものです。GitHubの[ページのソースを見る](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/diagrams-flowcharts.md)からもマークアップを見ることができます。 + +## フローチャート + +{{< mermaid >}} +graph TD +A[Christmas] -->|Get money| B(Go shopping) +B --> C{Let me think} +B --> G[/Another/] +C ==>|One| D[Laptop] +C -->|Two| E[iPhone] +C -->|Three| F[Car] +subgraph Section +C +D +E +F +G +end +{{< /mermaid >}} + +## シーケンス図 + +{{< mermaid >}} +sequenceDiagram +autonumber +par Action 1 +Alice->>John: Hello John, how are you? +and Action 2 +Alice->>Bob: Hello Bob, how are you? +end +Alice->>+John: Hello John, how are you? +Alice->>+John: John, can you hear me? +John-->>-Alice: Hi Alice, I can hear you! +Note right of John: John is perceptive +John-->>-Alice: I feel great! +loop Every minute +John-->Alice: Great! +end +{{< /mermaid >}} + +## クラス図 + +{{< mermaid >}} +classDiagram +Animal "1" <|-- Duck +Animal <|-- Fish +Animal <--o Zebra +Animal : +int age +Animal : +String gender +Animal: +isMammal() +Animal: +mate() +class Duck{ ++String beakColor ++swim() ++quack() +} +class Fish{ +-int sizeInFeet +-canEat() +} +class Zebra{ ++bool is_wild ++run() +} +{{< /mermaid >}} + +## ER図 + +{{< mermaid >}} +erDiagram +CUSTOMER }|..|{ DELIVERY-ADDRESS : has +CUSTOMER ||--o{ ORDER : places +CUSTOMER ||--o{ INVOICE : "liable for" +DELIVERY-ADDRESS ||--o{ ORDER : receives +INVOICE ||--|{ ORDER : covers +ORDER ||--|{ ORDER-ITEM : includes +PRODUCT-CATEGORY ||--|{ PRODUCT : contains +PRODUCT ||--o{ ORDER-ITEM : "ordered in" +{{< /mermaid >}} diff --git a/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.md b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.md new file mode 100644 index 0000000..f87c13a --- /dev/null +++ b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.md @@ -0,0 +1,92 @@ +--- +title: "Diagrams and Flowcharts" +date: 2019-03-06 +description: "Guide to Mermaid usage in Congo" +summary: "It's easy to add diagrams and flowcharts to articles using Mermaid." +tags: ["mermaid", "sample", "diagram", "shortcodes"] +--- + +Mermaid diagrams are supported in Congo using the `mermaid` shortcode. Simply wrap the diagram markup within the shortcode. Congo automatically themes Mermaid diagrams to match the configured `colorScheme` parameter. + +Refer to the [mermaid shortcode]({{< ref "docs/shortcodes#mermaid" >}}) docs for more details. + +The examples below are a small selection taken from the [official Mermaid docs](https://mermaid-js.github.io/mermaid/). You can also [view the page source](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/diagrams-flowcharts/index.md) on GitHub to see the markup. + +## Flowchart + +{{< mermaid >}} +graph TD +A[Christmas] -->|Get money| B(Go shopping) +B --> C{Let me think} +B --> G[/Another/] +C ==>|One| D[Laptop] +C -->|Two| E[iPhone] +C -->|Three| F[Car] +subgraph Section +C +D +E +F +G +end +{{< /mermaid >}} + +## Sequence diagram + +{{< mermaid >}} +sequenceDiagram +autonumber +par Action 1 +Alice->>John: Hello John, how are you? +and Action 2 +Alice->>Bob: Hello Bob, how are you? +end +Alice->>+John: Hello John, how are you? +Alice->>+John: John, can you hear me? +John-->>-Alice: Hi Alice, I can hear you! +Note right of John: John is perceptive +John-->>-Alice: I feel great! +loop Every minute +John-->Alice: Great! +end +{{< /mermaid >}} + +## Class diagram + +{{< mermaid >}} +classDiagram +Animal "1" <|-- Duck +Animal <|-- Fish +Animal <--o Zebra +Animal : +int age +Animal : +String gender +Animal: +isMammal() +Animal: +mate() +class Duck{ ++String beakColor ++swim() ++quack() +} +class Fish{ +-int sizeInFeet +-canEat() +} +class Zebra{ ++bool is_wild ++run() +} +{{< /mermaid >}} + +## Entity relationship diagram + +{{< mermaid >}} +erDiagram +CUSTOMER }|..|{ DELIVERY-ADDRESS : has +CUSTOMER ||--o{ ORDER : places +CUSTOMER ||--o{ INVOICE : "liable for" +DELIVERY-ADDRESS ||--o{ ORDER : receives +INVOICE ||--|{ ORDER : covers +ORDER ||--|{ ORDER-ITEM : includes +PRODUCT-CATEGORY ||--|{ PRODUCT : contains +PRODUCT ||--o{ ORDER-ITEM : "ordered in" +{{< /mermaid >}} diff --git a/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.zh-cn.md b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.zh-cn.md new file mode 100644 index 0000000..eca07fc --- /dev/null +++ b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/index.zh-cn.md @@ -0,0 +1,92 @@ +--- +title: "图表和流程图" +date: 2019-03-06 +description: "Congo中Mermaid使用教程" +summary: "使用Mermaid来绘制图表和流程图是非常简单的" +tags: ["mermaid", "sample", "diagram", "shortcodes"] +--- + +Congo 支持使用 `mermaid` 短代码插入 Mermaid 图表。只需将图表标记包裹在短代码内。Congo 会自动根据配置的 `colorScheme` 参数为 Mermaid 图表添加主题。 + +有关更多详细信息,请参阅 [mermaid 短代码]({{< ref "docs/shortcodes#mermaid" >}}) 文档。 + +以下示例是从 [官方 Mermaid 文档](https://mermaid-js.github.io/mermaid/) 中摘取的一小部分。您还可以在 GitHub 上 [查看页面源代码](https://raw.githubusercontent.com/jpanther/congo/dev/exampleSite/content/samples/diagrams-flowcharts/index.md) 以查看标记。 + +## 流程图 + +{{< mermaid >}} +graph TD +A[Christmas] -->|Get money| B(Go shopping) +B --> C{Let me think} +B --> G[/Another/] +C ==>|One| D[Laptop] +C -->|Two| E[iPhone] +C -->|Three| F[Car] +subgraph Section +C +D +E +F +G +end +{{< /mermaid >}} + +## 时序图 + +{{< mermaid >}} +sequenceDiagram +autonumber +par Action 1 +Alice->>John: Hello John, how are you? +and Action 2 +Alice->>Bob: Hello Bob, how are you? +end +Alice->>+John: Hello John, how are you? +Alice->>+John: John, can you hear me? +John-->>-Alice: Hi Alice, I can hear you! +Note right of John: John is perceptive +John-->>-Alice: I feel great! +loop Every minute +John-->Alice: Great! +end +{{< /mermaid >}} + +## 类图 + +{{< mermaid >}} +classDiagram +Animal "1" <|-- Duck +Animal <|-- Fish +Animal <--o Zebra +Animal : +int age +Animal : +String gender +Animal: +isMammal() +Animal: +mate() +class Duck{ ++String beakColor ++swim() ++quack() +} +class Fish{ +-int sizeInFeet +-canEat() +} +class Zebra{ ++bool is_wild ++run() +} +{{< /mermaid >}} + +## ER图 + +{{< mermaid >}} +erDiagram +CUSTOMER }|..|{ DELIVERY-ADDRESS : has +CUSTOMER ||--o{ ORDER : places +CUSTOMER ||--o{ INVOICE : "liable for" +DELIVERY-ADDRESS ||--o{ ORDER : receives +INVOICE ||--|{ ORDER : covers +ORDER ||--|{ ORDER-ITEM : includes +PRODUCT-CATEGORY ||--|{ PRODUCT : contains +PRODUCT ||--o{ ORDER-ITEM : "ordered in" +{{< /mermaid >}} diff --git a/themes/congo/exampleSite/content/samples/diagrams-flowcharts/thumb-christina-wocintechchat-com-tYVkjjMYFBo-unsplash.jpg b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/thumb-christina-wocintechchat-com-tYVkjjMYFBo-unsplash.jpg new file mode 100644 index 0000000..1ecd813 Binary files /dev/null and b/themes/congo/exampleSite/content/samples/diagrams-flowcharts/thumb-christina-wocintechchat-com-tYVkjjMYFBo-unsplash.jpg differ diff --git a/themes/congo/exampleSite/content/samples/emoji/feature-domingo-alvarez-e-Cs3y8Mn6-Gk-unsplash.jpg b/themes/congo/exampleSite/content/samples/emoji/feature-domingo-alvarez-e-Cs3y8Mn6-Gk-unsplash.jpg new file mode 100644 index 0000000..3abb4c5 Binary files /dev/null and b/themes/congo/exampleSite/content/samples/emoji/feature-domingo-alvarez-e-Cs3y8Mn6-Gk-unsplash.jpg differ diff --git a/themes/congo/exampleSite/content/samples/emoji/index.de.md b/themes/congo/exampleSite/content/samples/emoji/index.de.md new file mode 100644 index 0000000..e49d000 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/emoji/index.de.md @@ -0,0 +1,19 @@ +--- +title: "Emoji :parachute:" +date: 2019-03-05 +description: "Leitfaden zur Benutzung von Emoji in Congo" +summary: "📖🏞️🧗🏽🐉🧙🏽‍♂️🧚🏽👸" +tags: ["Emoji", "Beispiele"] +--- + +Congo unterstützt standardmäßig Emoji. Emoji können in Titeln, Menüpunkten und Artikelinhalten verwendet werden. + +{{< alert >}} +**Hinweis:** Das Rendering dieser Glyphen hängt vom Browser und von der Plattform ab. Um die Emoji zu gestalten, kannst du entweder eine Emoji-Schriftart eines Drittanbieters oder einen Font Stack verwenden. +{{< /alert >}} + +Die Ersetzung von Emoji erfolgt in Congo automatisch, so dass du in deinen Inhalten und im Front Matter Kurzzeichen verwenden können, die zum Zeitpunkt der Erstellung in die entsprechenden Symbole umgewandelt werden. + +**Beispiele für Kurzzeichen:** `see_no_evil` :see_no_evil:, `hear_no_evil` :hear_no_evil:, `speak_no_evil` :speak_no_evil:. + +[Emojipedia](https://emojipedia.org/) ist eine nützliche Referenz für Emoji-Kurzzeichen. diff --git a/themes/congo/exampleSite/content/samples/emoji/index.es.md b/themes/congo/exampleSite/content/samples/emoji/index.es.md new file mode 100644 index 0000000..62f0c14 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/emoji/index.es.md @@ -0,0 +1,19 @@ +--- +title: "Emoji :parachute:" +date: 2019-03-05 +description: "Guide to Emoji usage in Congo" +summary: "📖🏞️🧗🏽🐉🧙🏽‍♂️🧚🏽👸" +tags: ["emoji", "sample"] +--- + +Los Emojis son compatibles en Congo de forma predeterminada. Estos se pueden usar en títulos, elementos de menú y en el contenido de los artículos. + +{{< alert >}} +**Note:** La representación de estos glifos depende del navegador y de la plataforma. Para cambiar el estilo del emoji, puedes usar un font de emojis de terceros o una pila de fonts. +{{< /alert >}} + +El reemplazo de emojis es automático en Congo, por lo que puedes usar las formas abreviadas dentro de tu contenido y se convertirán a sus símbolos correspondientes en el momento de la compilación. + +**Ejemplo:** `see_no_evil` :see_no_evil:, `hear_no_evil` :hear_no_evil:, `speak_no_evil` :speak_no_evil:. + +[Emojipedia](https://emojipedia.org/) es una referencia útil para los códigos abreviados de los emojis. diff --git a/themes/congo/exampleSite/content/samples/emoji/index.ja.md b/themes/congo/exampleSite/content/samples/emoji/index.ja.md new file mode 100644 index 0000000..20e24d4 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/emoji/index.ja.md @@ -0,0 +1,19 @@ +--- +title: "絵文字 :parachute:" +date: 2019-03-05 +description: "絵文字の使い方について" +summary: "📖🏞️🧗🏽🐉🧙🏽‍♂️🧚🏽👸" +tags: ["emoji", "sample"] +--- + +Congo全体で絵文字(Emoji)をサポートしています。絵文字はタイトル、メニュー項目、記事内容で使用できます。 + +{{< alert >}} +**注記:** これらのグリフのレンダリングはブラウザとプラットフォームに依存します。絵文字をスタイルするには、サードパーティの絵文字フォントまたはフォントスタックを使用することができます。 +{{< /alert >}} + +絵文字の置き換えはコンテンツやフロントマターでショートコードを使用すれば、ビルド時に対応するグリフに自動的に変換されます。 + +**例:** `see_no_evil` :see_no_evil:, `hear_no_evil` :hear_no_evil:, `speak_no_evil` :speak_no_evil: + +[Emojipedia](https://emojipedia.org/)は、絵文字を探すための便利なリファレンスです。 diff --git a/themes/congo/exampleSite/content/samples/emoji/index.md b/themes/congo/exampleSite/content/samples/emoji/index.md new file mode 100644 index 0000000..8409706 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/emoji/index.md @@ -0,0 +1,19 @@ +--- +title: "Emoji :parachute:" +date: 2019-03-05 +description: "Guide to Emoji usage in Congo" +summary: "📖🏞️🧗🏽🐉🧙🏽‍♂️🧚🏽👸" +tags: ["emoji", "sample"] +--- + +Emoji is supported throughout Congo by default. Emoji can be used in titles, menu items and article content. + +{{< alert >}} +**Note:** The rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack. +{{< /alert >}} + +Emoji replacements are automatic throughout Congo, so you can use shorthand codes in your content and front matter and they will be converted to their corresponding symbols at build time. + +**Example:** `see_no_evil` :see_no_evil:, `hear_no_evil` :hear_no_evil:, `speak_no_evil` :speak_no_evil:. + +[Emojipedia](https://emojipedia.org/) is a useful reference for emoji shorthand codes. diff --git a/themes/congo/exampleSite/content/samples/emoji/index.zh-cn.md b/themes/congo/exampleSite/content/samples/emoji/index.zh-cn.md new file mode 100644 index 0000000..cb2a981 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/emoji/index.zh-cn.md @@ -0,0 +1,19 @@ +--- +title: "表情符号 :parachute:" +date: 2019-03-05 +description: "表情符号使用教程" +summary: "📖🏞️🧗🏽🐉🧙🏽‍♂️🧚🏽👸" +tags: ["emoji", "sample"] +--- + +Congo 默认支持在标题、菜单项和文章内容中使用 Emoji。Emoji 可以直接在内容和前置参数中使用简码。 + +{{< alert >}} +**注意:** 这些图形的渲染取决于浏览器和平台。要样式化 Emoji,您可以使用第三方 Emoji 字体或字体堆栈。 +{{< /alert >}} + +Congo 自动在整个主题中替换 Emoji,因此您可以在内容和前置参数中使用简码,它们将在构建时转换为相应的符号。 + +**示例:** `see_no_evil` :see_no_evil:, `hear_no_evil` :hear_no_evil:, `speak_no_evil` :speak_no_evil:。 + +[Emojipedia](https://emojipedia.org/) 是一个有用的 Emoji 简码参考网站。 diff --git a/themes/congo/exampleSite/content/samples/external/index.de.md b/themes/congo/exampleSite/content/samples/external/index.de.md new file mode 100644 index 0000000..c4d5fd6 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/external/index.de.md @@ -0,0 +1,14 @@ +--- +title: "Externer Artikel - Why I switched to Fathom Analytics" +date: 2019-01-24 +externalUrl: "https://jamespanther.com/writings/i-switched-from-google-analytics-to-fathom-analytics/" +summary: "Der Parameter `externalUrl` im Front Matter kann zu jeder URL verlinken. Der Artikel sieht aus wie jeder andere, aber verlinkt zu einem Post außerhalb des Hugo-Projekts." +showReadingTime: false +_build: + render: "never" + list: "local" +--- + +Diese Seite verwendet den Parameter `externalUrl`, um auf einen Artikel außerhalb dieser Hugo-Website zu verlinken. + +Es ist ideal für Dinge wie die Verlinkung zu Beiträgen auf Medium oder zu wissenschaftlichen Arbeiten, die Sie auf Websites von Dritten gehostet haben. diff --git a/themes/congo/exampleSite/content/samples/external/index.es.md b/themes/congo/exampleSite/content/samples/external/index.es.md new file mode 100644 index 0000000..7a5481b --- /dev/null +++ b/themes/congo/exampleSite/content/samples/external/index.es.md @@ -0,0 +1,14 @@ +--- +title: "Artículo externo - ¿Por qué cambié a Fathom Analytics?" +date: 2019-01-24 +externalUrl: "https://jamespanther.com/writings/i-switched-from-google-analytics-to-fathom-analytics/" +summary: "El parámetro `externalUrl` se puede vincular a cualquier URL. Este artículo se parece a cualquier otro, pero se vinculará a una publicación que está fuera del proyecto." +showReadingTime: false +_build: + render: "never" + list: "local" +--- + +Esta página utiliza el parámetro `externalUrl` para vincularlo a un artículo fuera de este sitio web. + +Es ideal para cosas como enlaces a publicaciones en Medium o para trabajos de investigación que puede haber alojado en sitios web de terceros. diff --git a/themes/congo/exampleSite/content/samples/external/index.ja.md b/themes/congo/exampleSite/content/samples/external/index.ja.md new file mode 100644 index 0000000..a8dd0c6 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/external/index.ja.md @@ -0,0 +1,14 @@ +--- +title: "外部記事 - 私がFathom Analyticsに乗り換えた理由" +date: 2019-01-24 +externalUrl: "https://jamespanther.com/writings/i-switched-from-google-analytics-to-fathom-analytics/" +summary: "`externalUrl` フロントマターパラメーターは任意のURLにリンクすることができます。この記事は他の記事と同じように見えますが、このウェブサイトの外にある記事にリンクしています。" +showReadingTime: false +_build: + render: "never" + list: "local" +--- + +`externalUrl` フロントマターパラメーターを使用して、このウェブサイトの外の記事にリンクします。 + +Mediumの投稿や、第三者のウェブサイトでホストしている研究論文へのリンクなどに最適です。 diff --git a/themes/congo/exampleSite/content/samples/external/index.md b/themes/congo/exampleSite/content/samples/external/index.md new file mode 100644 index 0000000..7fe4257 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/external/index.md @@ -0,0 +1,14 @@ +--- +title: "External Article - Why I switched to Fathom Analytics" +date: 2019-01-24 +externalUrl: "https://jamespanther.com/writings/i-switched-from-google-analytics-to-fathom-analytics/" +summary: "The `externalUrl` front matter parameter can link to any URL. This article looks just like any other, but will link to a post that is outside the Hugo project." +showReadingTime: false +_build: + render: "never" + list: "local" +--- + +This page uses the `externalUrl` front matter parameter to link to an article outside of this Hugo website. + +It's great for things like linking to posts on Medium or to research papers you may have hosted on third party websites. diff --git a/themes/congo/exampleSite/content/samples/external/index.zh-cn.md b/themes/congo/exampleSite/content/samples/external/index.zh-cn.md new file mode 100644 index 0000000..919e1b0 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/external/index.zh-cn.md @@ -0,0 +1,14 @@ +--- +title: "外部文章 - 为什么我改用 Fathom Analytics" +date: 2019-01-24 +externalUrl: "https://jamespanther.com/writings/i-switched-from-google-analytics-to-fathom-analytics/" +summary: "Front Matter中的`externalUrl` 参数可以链接到任何 URL。这篇文章看起来和其他文章没什么区别,但会链接到 Hugo 网站之外的一篇文章。" +showReadingTime: false +_build: + render: "never" + list: "local" +--- + +这个页面使用Front Matter中的`externalUrl`参数将链接指向了Hugo网站之外的一篇文章。 + +这对于像链接到Medium上的文章或者托管在第三方网站上的研究论文等情况非常方便。 diff --git a/themes/congo/exampleSite/content/samples/external/thumb-clint-adair-BW0vK-FA3eg-unsplash.jpg b/themes/congo/exampleSite/content/samples/external/thumb-clint-adair-BW0vK-FA3eg-unsplash.jpg new file mode 100644 index 0000000..b1031d1 Binary files /dev/null and b/themes/congo/exampleSite/content/samples/external/thumb-clint-adair-BW0vK-FA3eg-unsplash.jpg differ diff --git a/themes/congo/exampleSite/content/samples/icons/index.de.md b/themes/congo/exampleSite/content/samples/icons/index.de.md new file mode 100644 index 0000000..3242d7d --- /dev/null +++ b/themes/congo/exampleSite/content/samples/icons/index.de.md @@ -0,0 +1,89 @@ +--- +title: "Icons" +date: 2020-08-14 +lastmod: 2023-01-23 +draft: false +description: "Icon-Unterstützung in Congo." +slug: "icons" +tags: ["Icons", "Beispiele", "Shortcodes"] +showDateUpdated: true +--- + +Congo hat integrierte Unterstützung für eine Reihe von Icons von [FontAwesome 6](https://fontawesome.com/icons). Diese können entweder über den Partial [icon]({{< ref path="docs/partials#icon" lang="en" >}}) oder Shortcode [icon]({{< ref path="docs/shortcodes#icon" lang="en">}}) in deine Website eingebunden werden. + +Darüber hinaus werden auch benutzerdefinierte Icons vollständig unterstützt. Du kannst deine eigenen SVG-Icon-Assets im Ordner `assets/icons/` im Stammverzeichnis deines Projekts ablegen. Alle Icons in diesem Verzeichnis stehen dann im gesamten Theme zur Verfügung. + +Die vollständige Liste der integrierten Icons und ihre entsprechenden Namen findest du unten. + +| Icon-Name | Vorschau | +| -------------------- | --------------------------------- | +| amazon | {{< icon amazon >}} | +| apple | {{< icon apple >}} | +| bars | {{< icon bars >}} | +| blogger | {{< icon blogger >}} | +| bluesky | {{< icon bluesky >}} | +| bug | {{< icon bug >}} | +| check | {{< icon check >}} | +| chevron-down | {{< icon chevron-down >}} | +| chevron-up | {{< icon chevron-up >}} | +| circle-info | {{< icon circle-info >}} | +| codepen | {{< icon codepen >}} | +| coffee | {{< icon coffee >}} | +| comment | {{< icon comment >}} | +| dev | {{< icon dev >}} | +| dribbble | {{< icon dribbble >}} | +| edit | {{< icon edit >}} | +| email | {{< icon email >}} | +| facebook | {{< icon facebook >}} | +| flickr | {{< icon flickr >}} | +| foursquare | {{< icon foursquare >}} | +| github | {{< icon github >}} | +| gitlab | {{< icon gitlab >}} | +| globe | {{< icon globe >}} | +| google | {{< icon google >}} | +| google-scholar | {{< icon google-scholar >}} | +| hashnode | {{< icon hashnode >}} | +| instagram | {{< icon instagram >}} | +| keybase | {{< icon keybase >}} | +| kickstarter | {{< icon kickstarter >}} | +| lastfm | {{< icon lastfm >}} | +| lightbulb | {{< icon lightbulb >}} | +| line | {{< icon line >}} | +| link | {{< icon link >}} | +| linkedin | {{< icon linkedin >}} | +| list | {{< icon list >}} | +| mastodon | {{< icon mastodon >}} | +| medium | {{< icon medium >}} | +| mendeley | {{< icon mendeley>}} | +| microsoft | {{< icon microsoft >}} | +| mobile | {{< icon mobile >}} | +| moon | {{< icon moon >}} | +| orcid | {{< icon orcid >}} | +| patreon | {{< icon patreon >}} | +| pencil | {{< icon pencil >}} | +| phone | {{< icon phone >}} | +| pinterest | {{< icon pinterest >}} | +| reddit | {{< icon reddit >}} | +| researchgate | {{< icon researchgate >}} | +| search | {{< icon search >}} | +| skull-crossbones | {{< icon skull-crossbones >}} | +| slack | {{< icon slack >}} | +| snapchat | {{< icon snapchat >}} | +| soundcloud | {{< icon soundcloud >}} | +| stack-overflow | {{< icon stack-overflow >}} | +| steam | {{< icon steam >}} | +| sun | {{< icon sun >}} | +| tag | {{< icon tag >}} | +| telegram | {{< icon telegram >}} | +| threads | {{< icon threads >}} | +| tiktok | {{< icon tiktok >}} | +| translate | {{< icon translate >}} | +| triangle-exclamation | {{< icon triangle-exclamation >}} | +| tumblr | {{< icon tumblr >}} | +| twitch | {{< icon twitch >}} | +| twitter | {{< icon twitter >}} | +| weibo | {{< icon weibo >}} | +| whatsapp | {{< icon whatsapp >}} | +| x-twitter | {{< icon x-twitter >}} | +| xmark | {{< icon xmark >}} | +| youtube | {{< icon youtube >}} | diff --git a/themes/congo/exampleSite/content/samples/icons/index.es.md b/themes/congo/exampleSite/content/samples/icons/index.es.md new file mode 100644 index 0000000..f4091f9 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/icons/index.es.md @@ -0,0 +1,89 @@ +--- +title: "Iconos" +date: 2020-08-14 +lastmod: 2023-01-23 +draft: false +description: Soporte de iconos en Congo." +slug: "icons" +tags: ["icons", "sample", "shortcodes"] +showDateUpdated: true +--- + +Congo tiene soporte integrado para varios íconos de [FontAwesome 6](https://fontawesome.com/icons). Estos se pueden incluir en su sitio web a través del [ícono parcial]({{< ref path="docs/partials#icon" lang="en" >}}) o el [código abreviado]({{< ref path="docs/shortcodes#icon" lang="en" >}}) del ícono. + +Además, los íconos personalizados también son totalmente compatibles. Simplemente proporcione sus propios archivos en formato SVG y coloquelos en el directorio `assets/icons/` en la raíz de su proyecto. Cualquier ícono en el directorio de íconos estará disponible para usar en todo el tema. + +La lista completa de íconos incorporados y sus nombres correspondientes se pueden consultar a continuación. + +| Nombre del ícono | Previsualización | +| -------------------- | --------------------------------- | +| amazon | {{< icon amazon >}} | +| apple | {{< icon apple >}} | +| bars | {{< icon bars >}} | +| blogger | {{< icon blogger >}} | +| bluesky | {{< icon bluesky >}} | +| bug | {{< icon bug >}} | +| check | {{< icon check >}} | +| chevron-down | {{< icon chevron-down >}} | +| chevron-up | {{< icon chevron-up >}} | +| circle-info | {{< icon circle-info >}} | +| codepen | {{< icon codepen >}} | +| coffee | {{< icon coffee >}} | +| comment | {{< icon comment >}} | +| dev | {{< icon dev >}} | +| dribbble | {{< icon dribbble >}} | +| edit | {{< icon edit >}} | +| email | {{< icon email >}} | +| facebook | {{< icon facebook >}} | +| flickr | {{< icon flickr >}} | +| foursquare | {{< icon foursquare >}} | +| github | {{< icon github >}} | +| gitlab | {{< icon gitlab >}} | +| globe | {{< icon globe >}} | +| google | {{< icon google >}} | +| google-scholar | {{< icon google-scholar >}} | +| hashnode | {{< icon hashnode >}} | +| instagram | {{< icon instagram >}} | +| keybase | {{< icon keybase >}} | +| kickstarter | {{< icon kickstarter >}} | +| lastfm | {{< icon lastfm >}} | +| lightbulb | {{< icon lightbulb >}} | +| line | {{< icon line >}} | +| link | {{< icon link >}} | +| linkedin | {{< icon linkedin >}} | +| list | {{< icon list >}} | +| mastodon | {{< icon mastodon >}} | +| medium | {{< icon medium >}} | +| mendeley | {{< icon mendeley>}} | +| microsoft | {{< icon microsoft >}} | +| mobile | {{< icon mobile >}} | +| moon | {{< icon moon >}} | +| orcid | {{< icon orcid >}} | +| patreon | {{< icon patreon >}} | +| pencil | {{< icon pencil >}} | +| phone | {{< icon phone >}} | +| pinterest | {{< icon pinterest >}} | +| reddit | {{< icon reddit >}} | +| researchgate | {{< icon researchgate >}} | +| search | {{< icon search >}} | +| skull-crossbones | {{< icon skull-crossbones >}} | +| slack | {{< icon slack >}} | +| snapchat | {{< icon snapchat >}} | +| soundcloud | {{< icon soundcloud >}} | +| stack-overflow | {{< icon stack-overflow >}} | +| steam | {{< icon steam >}} | +| sun | {{< icon sun >}} | +| tag | {{< icon tag >}} | +| telegram | {{< icon telegram >}} | +| threads | {{< icon threads >}} | +| tiktok | {{< icon tiktok >}} | +| translate | {{< icon translate >}} | +| triangle-exclamation | {{< icon triangle-exclamation >}} | +| tumblr | {{< icon tumblr >}} | +| twitch | {{< icon twitch >}} | +| twitter | {{< icon twitter >}} | +| weibo | {{< icon weibo >}} | +| whatsapp | {{< icon whatsapp >}} | +| x-twitter | {{< icon x-twitter >}} | +| xmark | {{< icon xmark >}} | +| youtube | {{< icon youtube >}} | diff --git a/themes/congo/exampleSite/content/samples/icons/index.ja.md b/themes/congo/exampleSite/content/samples/icons/index.ja.md new file mode 100644 index 0000000..c986e32 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/icons/index.ja.md @@ -0,0 +1,89 @@ +--- +title: "アイコン" +date: 2020-08-14 +lastmod: 2023-01-23 +draft: false +description: "Congoでサポートされるアイコン" +slug: "icons" +tags: ["icons", "sample", "shortcodes"] +showDateUpdated: true +--- + +Congo は[FontAwesome 6](https://fontawesome.com/icons)のアイコンをサポートしています。これらのアイコンは、[パーシャル - アイコン]({{< ref "docs/partials#アイコン" >}}) または [ショートコード - アイコン]({{< ref "docs/shortcodes#アイコン" >}}) のいずれかを使ってウェブサイトに含めることができます。 + +さらに、カスタムアイコンも完全にサポートされています。プロジェクトのルートにある `assets/icons/` ディレクトリに SVG アイコンアセットを置くだけです。ディレクトリ内のアイコンは、テーマ全体で使用できるようになります。 + +内蔵アイコンの全リストと対応する名称は以下を参照してください。 + +| Icon name | Preview | +| -------------------- | --------------------------------- | +| amazon | {{< icon amazon >}} | +| apple | {{< icon apple >}} | +| bars | {{< icon bars >}} | +| blogger | {{< icon blogger >}} | +| bluesky | {{< icon bluesky >}} | +| bug | {{< icon bug >}} | +| check | {{< icon check >}} | +| chevron-down | {{< icon chevron-down >}} | +| chevron-up | {{< icon chevron-up >}} | +| circle-info | {{< icon circle-info >}} | +| codepen | {{< icon codepen >}} | +| coffee | {{< icon coffee >}} | +| comment | {{< icon comment >}} | +| dev | {{< icon dev >}} | +| dribbble | {{< icon dribbble >}} | +| edit | {{< icon edit >}} | +| email | {{< icon email >}} | +| facebook | {{< icon facebook >}} | +| flickr | {{< icon flickr >}} | +| foursquare | {{< icon foursquare >}} | +| github | {{< icon github >}} | +| gitlab | {{< icon gitlab >}} | +| globe | {{< icon globe >}} | +| google | {{< icon google >}} | +| google-scholar | {{< icon google-scholar >}} | +| hashnode | {{< icon hashnode >}} | +| instagram | {{< icon instagram >}} | +| keybase | {{< icon keybase >}} | +| kickstarter | {{< icon kickstarter >}} | +| lastfm | {{< icon lastfm >}} | +| lightbulb | {{< icon lightbulb >}} | +| line | {{< icon line >}} | +| link | {{< icon link >}} | +| linkedin | {{< icon linkedin >}} | +| list | {{< icon list >}} | +| mastodon | {{< icon mastodon >}} | +| medium | {{< icon medium >}} | +| mendeley | {{< icon mendeley>}} | +| microsoft | {{< icon microsoft >}} | +| mobile | {{< icon mobile >}} | +| moon | {{< icon moon >}} | +| orcid | {{< icon orcid >}} | +| patreon | {{< icon patreon >}} | +| pencil | {{< icon pencil >}} | +| phone | {{< icon phone >}} | +| pinterest | {{< icon pinterest >}} | +| reddit | {{< icon reddit >}} | +| researchgate | {{< icon researchgate >}} | +| search | {{< icon search >}} | +| skull-crossbones | {{< icon skull-crossbones >}} | +| slack | {{< icon slack >}} | +| snapchat | {{< icon snapchat >}} | +| soundcloud | {{< icon soundcloud >}} | +| stack-overflow | {{< icon stack-overflow >}} | +| steam | {{< icon steam >}} | +| sun | {{< icon sun >}} | +| tag | {{< icon tag >}} | +| telegram | {{< icon telegram >}} | +| threads | {{< icon threads >}} | +| tiktok | {{< icon tiktok >}} | +| translate | {{< icon translate >}} | +| triangle-exclamation | {{< icon triangle-exclamation >}} | +| tumblr | {{< icon tumblr >}} | +| twitch | {{< icon twitch >}} | +| twitter | {{< icon twitter >}} | +| weibo | {{< icon weibo >}} | +| whatsapp | {{< icon whatsapp >}} | +| x-twitter | {{< icon x-twitter >}} | +| xmark | {{< icon xmark >}} | +| youtube | {{< icon youtube >}} | diff --git a/themes/congo/exampleSite/content/samples/icons/index.md b/themes/congo/exampleSite/content/samples/icons/index.md new file mode 100644 index 0000000..3aa319b --- /dev/null +++ b/themes/congo/exampleSite/content/samples/icons/index.md @@ -0,0 +1,89 @@ +--- +title: "Icons" +date: 2020-08-14 +lastmod: 2023-01-23 +draft: false +description: "Icon support in Congo." +slug: "icons" +tags: ["icons", "sample", "shortcodes"] +showDateUpdated: true +--- + +Congo has built-in support for a number of [FontAwesome 6](https://fontawesome.com/icons) icons. These can be included in your website through either the [icon partial]({{< ref "docs/partials#icon" >}}) or [icon shortcode]({{< ref "docs/shortcodes#icon" >}}). + +Additionally, custom icons are also fully supported. Simply provide your own SVG icon assets by placing them in the `assets/icons/` directory in the root of your project. Any icons in the icons directory will then be available to use throughout the theme. + +The full list of built-in icons and their corresponding names can referenced below. + +| Icon name | Preview | +| -------------------- | --------------------------------- | +| amazon | {{< icon amazon >}} | +| apple | {{< icon apple >}} | +| bars | {{< icon bars >}} | +| blogger | {{< icon blogger >}} | +| bluesky | {{< icon bluesky >}} | +| bug | {{< icon bug >}} | +| check | {{< icon check >}} | +| chevron-down | {{< icon chevron-down >}} | +| chevron-up | {{< icon chevron-up >}} | +| circle-info | {{< icon circle-info >}} | +| codepen | {{< icon codepen >}} | +| coffee | {{< icon coffee >}} | +| comment | {{< icon comment >}} | +| dev | {{< icon dev >}} | +| dribbble | {{< icon dribbble >}} | +| edit | {{< icon edit >}} | +| email | {{< icon email >}} | +| facebook | {{< icon facebook >}} | +| flickr | {{< icon flickr >}} | +| foursquare | {{< icon foursquare >}} | +| github | {{< icon github >}} | +| gitlab | {{< icon gitlab >}} | +| globe | {{< icon globe >}} | +| google | {{< icon google >}} | +| google-scholar | {{< icon google-scholar >}} | +| hashnode | {{< icon hashnode >}} | +| instagram | {{< icon instagram >}} | +| keybase | {{< icon keybase >}} | +| kickstarter | {{< icon kickstarter >}} | +| lastfm | {{< icon lastfm >}} | +| lightbulb | {{< icon lightbulb >}} | +| line | {{< icon line >}} | +| link | {{< icon link >}} | +| linkedin | {{< icon linkedin >}} | +| list | {{< icon list >}} | +| mastodon | {{< icon mastodon >}} | +| medium | {{< icon medium >}} | +| mendeley | {{< icon mendeley>}} | +| microsoft | {{< icon microsoft >}} | +| mobile | {{< icon mobile >}} | +| moon | {{< icon moon >}} | +| orcid | {{< icon orcid >}} | +| patreon | {{< icon patreon >}} | +| pencil | {{< icon pencil >}} | +| phone | {{< icon phone >}} | +| pinterest | {{< icon pinterest >}} | +| reddit | {{< icon reddit >}} | +| researchgate | {{< icon researchgate >}} | +| search | {{< icon search >}} | +| skull-crossbones | {{< icon skull-crossbones >}} | +| slack | {{< icon slack >}} | +| snapchat | {{< icon snapchat >}} | +| soundcloud | {{< icon soundcloud >}} | +| stack-overflow | {{< icon stack-overflow >}} | +| steam | {{< icon steam >}} | +| sun | {{< icon sun >}} | +| tag | {{< icon tag >}} | +| telegram | {{< icon telegram >}} | +| threads | {{< icon threads >}} | +| tiktok | {{< icon tiktok >}} | +| translate | {{< icon translate >}} | +| triangle-exclamation | {{< icon triangle-exclamation >}} | +| tumblr | {{< icon tumblr >}} | +| twitch | {{< icon twitch >}} | +| twitter | {{< icon twitter >}} | +| weibo | {{< icon weibo >}} | +| whatsapp | {{< icon whatsapp >}} | +| x-twitter | {{< icon x-twitter >}} | +| xmark | {{< icon xmark >}} | +| youtube | {{< icon youtube >}} | diff --git a/themes/congo/exampleSite/content/samples/icons/index.zh-cn.md b/themes/congo/exampleSite/content/samples/icons/index.zh-cn.md new file mode 100644 index 0000000..fe10190 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/icons/index.zh-cn.md @@ -0,0 +1,85 @@ +--- +title: "图标" +date: 2020-08-14 +lastmod: 2023-01-23 +draft: false +description: "Congo中的图标支持" +slug: "icons" +tags: ["icons", "sample", "shortcodes"] +showDateUpdated: true +--- + +Congo内置了对多个[FontAwesome 6](https://fontawesome.com/icons)图标的支持。这些图标可以通过[图标partial]({{< ref "docs/partials#图标" >}})或[图标shortcode]({{< ref "docs/shortcodes#icon" >}})来包含在您的网站中。 + +此外,还完全支持自定义图标。只需将您自己的SVG图标文件放置在项目根目录的`assets/icons/`目录中。在icons目录中的任何图标都将在整个主题中可用。 + +下面是内置图标及其对应名称的完整列表。 + +| Icon name | Preview | +| -------------------- | --------------------------------- | +| amazon | {{< icon amazon >}} | +| apple | {{< icon apple >}} | +| bars | {{< icon bars >}} | +| blogger | {{< icon blogger >}} | +| bluesky | {{< icon bluesky >}} | +| bug | {{< icon bug >}} | +| check | {{< icon check >}} | +| chevron-down | {{< icon chevron-down >}} | +| chevron-up | {{< icon chevron-up >}} | +| circle-info | {{< icon circle-info >}} | +| codepen | {{< icon codepen >}} | +| coffee | {{< icon coffee >}} | +| comment | {{< icon comment >}} | +| dev | {{< icon dev >}} | +| dribbble | {{< icon dribbble >}} | +| edit | {{< icon edit >}} | +| email | {{< icon email >}} | +| facebook | {{< icon facebook >}} | +| flickr | {{< icon flickr >}} | +| foursquare | {{< icon foursquare >}} | +| github | {{< icon github >}} | +| gitlab | {{< icon gitlab >}} | +| globe | {{< icon globe >}} | +| google | {{< icon google >}} | +| hashnode | {{< icon hashnode >}} | +| instagram | {{< icon instagram >}} | +| keybase | {{< icon keybase >}} | +| kickstarter | {{< icon kickstarter >}} | +| lastfm | {{< icon lastfm >}} | +| lightbulb | {{< icon lightbulb >}} | +| link | {{< icon link >}} | +| linkedin | {{< icon linkedin >}} | +| list | {{< icon list >}} | +| mastodon | {{< icon mastodon >}} | +| medium | {{< icon medium >}} | +| microsoft | {{< icon microsoft >}} | +| mobile | {{< icon mobile >}} | +| moon | {{< icon moon >}} | +| orcid | {{< icon orcid >}} | +| patreon | {{< icon patreon >}} | +| pencil | {{< icon pencil >}} | +| phone | {{< icon phone >}} | +| pinterest | {{< icon pinterest >}} | +| reddit | {{< icon reddit >}} | +| researchgate | {{< icon researchgate >}} | +| search | {{< icon search >}} | +| skull-crossbones | {{< icon skull-crossbones >}} | +| slack | {{< icon slack >}} | +| snapchat | {{< icon snapchat >}} | +| soundcloud | {{< icon soundcloud >}} | +| stack-overflow | {{< icon stack-overflow >}} | +| steam | {{< icon steam >}} | +| sun | {{< icon sun >}} | +| tag | {{< icon tag >}} | +| telegram | {{< icon telegram >}} | +| threads | {{< icon threads >}} | +| tiktok | {{< icon tiktok >}} | +| translate | {{< icon translate >}} | +| triangle-exclamation | {{< icon triangle-exclamation >}} | +| tumblr | {{< icon tumblr >}} | +| twitch | {{< icon twitch >}} | +| twitter | {{< icon twitter >}} | +| whatsapp | {{< icon whatsapp >}} | +| x-twitter | {{< icon x-twitter >}} | +| xmark | {{< icon xmark >}} | +| youtube | {{< icon youtube >}} | diff --git a/themes/congo/exampleSite/content/samples/icons/thumb-harpal-singh-_zKxPsGOGKg-unsplash-2.jpg b/themes/congo/exampleSite/content/samples/icons/thumb-harpal-singh-_zKxPsGOGKg-unsplash-2.jpg new file mode 100644 index 0000000..7df1668 Binary files /dev/null and b/themes/congo/exampleSite/content/samples/icons/thumb-harpal-singh-_zKxPsGOGKg-unsplash-2.jpg differ diff --git a/themes/congo/exampleSite/content/samples/markdown/index.de.md b/themes/congo/exampleSite/content/samples/markdown/index.de.md new file mode 100644 index 0000000..bd2c5f9 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/markdown/index.de.md @@ -0,0 +1,145 @@ +--- +title: "Markdown" +date: 2019-03-11 +description: "Beispielartikel, der die grundlegende Markdown-Syntax und die Formatierung von HTML-Elementen zeigt." +tags: ["Markdown", "CSS", "HTML", "Beispiele"] +--- + +Dieser Artikel bietet ein Beispiel für die grundlegende Markdown-Formatierung, die in Congo verwendet werden kann, und zeigt auch, wie einige grundlegende HTML-Elemente genutzt werden können. + + + +## Überschriften + +Die folgenden HTML-Elemente `

    `-`

    ` stellen sechs Ebenen von Abschnittsüberschriften dar. `

    ` ist die höchste Abschnittsebene, während `

    ` die niedrigste ist. + +# H1 + +## H2 + +### H3 + +#### H4 + +##### H5 + +###### H6 + +## Absatz + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Zitate als Block + +Das blockquote-Element stellt Inhalte dar, die aus einer anderen Quelle zitiert werden, optional mit einem Zitat, das sich innerhalb eines `footer`- oder `cite`-Elements befinden muss, und optional mit Inline-Änderungen wie Anmerkungen und Abkürzungen. + +### Zitat als Block ohne Quellenangabe + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Hinweis**: _Markdown-Syntax_ kann innerhalb eines Zitat-Blocks verwendet werden. + +### Zitat als Block ohne Quellenangabe + +> Kommunizieren Sie nicht, indem Sie Erinnerungen teilen, sondern teilen Sie Erinnerungen, indem Sie kommunizieren.
    +> — Rob Pike[^1] + +[^1]: Das obige Zitat ist ein Auszug aus Rob Pikes [talk `about` nothing] (https://www.youtube.com/watch?v=PAAkCSZUG1c) während des Gopherfestes am 18. November 2015. + +## Tabellen + +Tabellen sind nicht Teil der Markdown-Kernspezifikation, aber Hugo unterstützt sie standardmäßig. + +| Name | Alter | +| ----- | ----- | +| Bob | 27 | +| Alice | 23 | + +### Inline-Markdown innerhalb von Tabellen + +| Kursiv | Fett | Code | +| -------- | -------- | ------ | +| _kursiv_ | **fett** | `code` | + +## Code-Blöcke + +### Code-Block mit backticks + +```html + + + + + Example HTML5 Document + + +

    Test

    + + +``` + +### Code-Block eingerückt mit vier Leerzeichen + + + + + + Example HTML5 Document + + +

    Test

    + + + +### Code-Block mit Hugos internem highlight-Shortcode + +{{< highlight html "linenos=table,hl_lines=4 7-9" >}} + + + + + + Example HTML5 Document + + +

    Test

    + + +{{< /highlight >}} + +## Arten von Listen + +### Geordnete Liste + +1. Erster Eintrag +2. Zweiter Eintrag +3. Dritter Eintrag + +### Ungeordnete Liste + +- Listen-Eintrag +- weiterer Eintrag +- noch ein weiterer Eintrag + +### Geschachtelte Liste + +- Obst + - Apfel + - Orange + - Banane +- Milchprodukte + - Milch + - Käse + +## Andere Elemente — abbr, sub, sup, kbd, mark + +GIF ist ein Bitmap-Bildformat. + +H2O + +Xn + Yn = Zn + +Drücke STRG+ALT+Entf, um die Sitzung zu beenden. + +Die meisten Salamander sind nachtaktiv und jagen nach Insekten, Würmern und anderen kleinen Lebewesen. diff --git a/themes/congo/exampleSite/content/samples/markdown/index.es.md b/themes/congo/exampleSite/content/samples/markdown/index.es.md new file mode 100644 index 0000000..78908c6 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/markdown/index.es.md @@ -0,0 +1,145 @@ +--- +title: "Markdown" +date: 2019-03-11 +description: "Ejemplo de artículo que muestra la sintaxis y el formato básico de Markdown para elementos HTML." +tags: ["markdown", "css", "html", "sample"] +--- + +Este artículo es la sintaxis de Markdown que se puede usar en Congo. También muestra cómo se decoran algunos elementos básicos de HTML. + + + +## Encabezados + +Los siguientes elementos HTML `

    `—`

    ` representan seis niveles de encabezados. `

    ` es el nivel de sección más alto, mientras que `

    ` es el más bajo. + +# H1 + +## H2 + +### H3 + +#### H4 + +##### H5 + +###### H6 + +## Párrafo + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Citas en bloque + +Las citas en bloque representan contenido que se cita de otra fuente, opcionalmente con una cita que debe estar dentro de un elemento `footer` o `cite`, y opcionalmente con cambios en línea como anotaciones y abreviaturas. + +### Cita en bloque sin atribución + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Nota** puedes usar _Sintaxis Markdown_ dentro de la cita en bloque. + +### Cita en bloque con atribución + +> Don't communicate by sharing memory, share memory by communicating.
    +> — Rob Pike[^1] + +[^1]: La cita anterior es un extracto de [talk `about` nothing](https://www.youtube.com/watch?v=PAAkCSZUG1c) durante el Gopherfest, November 18, 2015. + +## Tablas + +Las tablas no forman parte de la especificación principal de Markdown, pero Hugo las soporta por defecto. + +| Nombre | Edad | +| ------ | ---- | +| Bob | 27 | +| Alice | 23 | + +### Markdown dentro de las tablas + +| Cursiva | Negritas | Código | +| --------- | ----------- | -------- | +| _Cursiva_ | **Negrita** | `Código` | + +## Bloques de código + +### Bloque de código con acentos graves + +```html + + + + + Example HTML5 Document + + +

    Test

    + + +``` + +### Bloque de código indentado con cuatro espacios + + + + + + Example HTML5 Document + + +

    Test

    + + + +### Bloque de código con resaltado usando el shortcode interno de Hugo + +{{< highlight html "linenos=table,hl_lines=4 7-9" >}} + + + + + + Example HTML5 Document + + +

    Test

    + + +{{< /highlight >}} + +## Tipos de lista + +### Lista ordenada + +1. Primer artículo +2. Segundo artículo +3. Tercer artículo + +### Lista desordenada + +- Elemento de la lista +- Otro artículo +- Un artículo más + +### Lista anidada + +- Fruta + - Manzana + - Naranja + - Platano +- Lácteos + - Leche + - Queso + +## Otros elementos — abbr, sub, sup, kbd, mark + +GIF es un formato de imagen de mapa de bits. + +H2O + +Xn + Yn = Zn + +Presiona CTRL+ALT+Delete para terminar la sesión. + +La mayoría de las salamandras son nocturnas y cazan insectos, gusanos y otras criaturas pequeñas. diff --git a/themes/congo/exampleSite/content/samples/markdown/index.ja.md b/themes/congo/exampleSite/content/samples/markdown/index.ja.md new file mode 100644 index 0000000..ef7f432 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/markdown/index.ja.md @@ -0,0 +1,145 @@ +--- +title: "Markdown" +date: 2019-03-11 +description: "基本的なMarkdown構文とHTML要素のフォーマットを紹介するサンプル" +tags: ["markdown", "css", "html", "sample"] +--- + +この記事では、Congoで使用できる基本的なMarkdownフォーマットのサンプルを提供し、またいくつかの基本的なHTML要素がどのように装飾されているかを示します。 + + + +## 見出し + +以下のHTMLの `

    ` から `

    ` 要素は6段階のセクション見出しを表します。 `

    ` は最も高いセクションレベルであり、 `

    ` は最も低いセクションレベルです。 + +# H1 + +## H2 + +### H3 + +#### H4 + +##### H5 + +###### H6 + +## パラグラフ + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Blockquotes + +`blockquote` 要素は他のソースから引用された内容を表し、オプションとして引用元を `footer` 要素または `cite` 要素内に記述します。注釈や省略形などのインライン変更を記述することもできます。 + +### Blockquote without attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use _Markdown syntax_ within a blockquote. + +### Blockquote with attribution + +> Don't communicate by sharing memory, share memory by communicating.
    +> — Rob Pike[^1] + +[^1]: The above quote is excerpted from Rob Pike's [talk `about` nothing](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. + +## 表 + +表はMarkdownのコア仕様には含まれていませんが、Hugoはサポートしています。 + +| 名前 | 年齢 | +| ----- | ---- | +| Bob | 27 | +| Alice | 23 | + +### 表中のMarkdown + +| Italics | Bold | Code | +| --------- | -------- | ------ | +| _italics_ | **bold** | `code` | + +## Code Blocks + +### Code block with backticks + +```html + + + + + Example HTML5 Document + + +

    Test

    + + +``` + +### Code block indented with four spaces + + + + + + Example HTML5 Document + + +

    Test

    + + + +### Code block with Hugo's internal highlight shortcode + +{{< highlight html "linenos=table,hl_lines=4 7-9" >}} + + + + + + Example HTML5 Document + + +

    Test

    + + +{{< /highlight >}} + +## リスト + +### 順序付きリスト + +1. First item +2. Second item +3. Third item + +### 順序なしリスト + +- List item +- Another item +- And another item + +### ネストしたリスト + +- Fruit + - Apple + - Orange + - Banana +- Dairy + - Milk + - Cheese + +## その他の要素 — abbr, sub, sup, kbd, mark + +GIFはビットマップ形式の画像です. + +H2O + +Xn + Yn = Zn + +CTRL+ALT+Deleteを押下してください。 + +ほとんどのサンショウウオは夜行性で、昆虫やミミズなどの小さな生き物を狩る。 diff --git a/themes/congo/exampleSite/content/samples/markdown/index.md b/themes/congo/exampleSite/content/samples/markdown/index.md new file mode 100644 index 0000000..8ecf63f --- /dev/null +++ b/themes/congo/exampleSite/content/samples/markdown/index.md @@ -0,0 +1,145 @@ +--- +title: "Markdown" +date: 2019-03-11 +description: "Sample article showcasing basic Markdown syntax and formatting for HTML elements." +tags: ["markdown", "css", "html", "sample"] +--- + +This article offers a sample of basic Markdown formatting that can be used in Congo, also it shows how some basic HTML elements are decorated. + + + +## Headings + +The following HTML `

    `—`

    ` elements represent six levels of section headings. `

    ` is the highest section level while `

    ` is the lowest. + +# H1 + +## H2 + +### H3 + +#### H4 + +##### H5 + +###### H6 + +## Paragraph + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Blockquotes + +The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. + +### Blockquote without attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use _Markdown syntax_ within a blockquote. + +### Blockquote with attribution + +> Don't communicate by sharing memory, share memory by communicating.
    +> — Rob Pike[^1] + +[^1]: The above quote is excerpted from Rob Pike's [talk `about` nothing](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. + +## Tables + +Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. + +| Name | Age | +| ----- | --- | +| Bob | 27 | +| Alice | 23 | + +### Inline Markdown within tables + +| Italics | Bold | Code | +| --------- | -------- | ------ | +| _italics_ | **bold** | `code` | + +## Code Blocks + +### Code block with backticks + +```html + + + + + Example HTML5 Document + + +

    Test

    + + +``` + +### Code block indented with four spaces + + + + + + Example HTML5 Document + + +

    Test

    + + + +### Code block with Hugo's internal highlight shortcode + +{{< highlight html "linenos=table,hl_lines=4 7-9" >}} + + + + + + Example HTML5 Document + + +

    Test

    + + +{{< /highlight >}} + +## List Types + +### Ordered List + +1. First item +2. Second item +3. Third item + +### Unordered List + +- List item +- Another item +- And another item + +### Nested list + +- Fruit + - Apple + - Orange + - Banana +- Dairy + - Milk + - Cheese + +## Other Elements — abbr, sub, sup, kbd, mark + +GIF is a bitmap image format. + +H2O + +Xn + Yn = Zn + +Press CTRL+ALT+Delete to end the session. + +Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. diff --git a/themes/congo/exampleSite/content/samples/markdown/index.zh-cn.md b/themes/congo/exampleSite/content/samples/markdown/index.zh-cn.md new file mode 100644 index 0000000..7693b38 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/markdown/index.zh-cn.md @@ -0,0 +1,149 @@ +--- +title: "Markdown" +date: 2019-03-11 +description: "展示基本的Markdown语法和HTML元素格式的示例文章。" +tags: ["markdown", "css", "html", "sample"] +--- + +这篇文章提供了一些在Congo中可用的基本Markdown格式的示例,同时展示了如何装饰一些基本的HTML元素。 + + + +## 标题 + +以下的HTML `

    ` 到 `

    ` 元素代表了六个级别的章节标题。 `

    ` 是最高的章节级别,而 `

    ` 是最低的。 + +# H1 + +## H2 + +### H3 + +#### H4 + +##### H5 + +###### H6 + +## 段落 + +阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴 +阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴 +阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴 +阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴 +阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴 + +阿巴阿巴? 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴, 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴 阿巴阿巴. + +## 引用 + +这是一段关于Markdown中引用块(Blockquotes)的内容。引用块用于表示从其他来源引用的内容,可选地包含引用来源,引用来源可以放在 `footer` 或 `cite` 元素中,也可以包含内联更改,如注释和缩写。 + +### 无引用的引用块 + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **注意**,你可以在引用块内使用 _Markdown语法_。 + +### 带引用的引用块 + +> Don't communicate by sharing memory, share memory by communicating.
    +> — Rob Pike[^1] + +[^1]: 上面的引用摘自Rob Pike在Gopherfest于2015年11月18日的关于无关紧要的[演讲](https://www.youtube.com/watch?v=PAAkCSZUG1c)。 + +## 表格 + +表格不属于核心Markdown规范,但Hugo原生支持它们,无需额外配置。 + +| 名前 | 年齢 | +| ----- | ---- | +| Bob | 27 | +| Alice | 23 | + +### 表格内的行内Markdown + +| 斜体 | 粗体 | 代码 | +| ------ | -------- | ------ | +| _斜体_ | **粗体** | `代码` | + +## 代码块 + +### 使用反引号的代码块 + +```html + + + + + 示例HTML5文档 + + +

    测试

    + + +``` + +### 缩进四个空格的代码块 + + + + + + 示例HTML5文档 + + +

    测试

    + + + +### 使用Hugo内置的代码块高亮shortcode + +{{< highlight html "linenos=table,hl_lines=4 7-9" >}} + + + + + + 示例HTML5文档 + + +

    测试

    + + +{{< /highlight >}} + +## 列表类型 + +### 有序列表 + +1. 第一项 +2. 第二项 +3. 第三项 + +### 无序列表 + +- 列表项 +- 另一项 +- 还有一项 + +### 嵌套列表 + +- 水果 + - 苹果 + - 橙子 + - 香蕉 +- 乳制品 + - 牛奶 + - 奶酪 + +## 其他元素 — 缩写、下标、上标、键盘、标记 + +GIF 是一种位图图像格式。 + +H2O + +Xn + Yn = Zn + +按下 CTRL+ALT+Delete 结束会话。 + +大多数蝾螈是夜行动物,捕食昆虫、蠕虫和其他小动物。 diff --git a/themes/congo/exampleSite/content/samples/markdown/thumb-surendran-mp-IhWYiwSxm8g-unsplash.jpg b/themes/congo/exampleSite/content/samples/markdown/thumb-surendran-mp-IhWYiwSxm8g-unsplash.jpg new file mode 100644 index 0000000..8bd2a0c Binary files /dev/null and b/themes/congo/exampleSite/content/samples/markdown/thumb-surendran-mp-IhWYiwSxm8g-unsplash.jpg differ diff --git a/themes/congo/exampleSite/content/samples/mathematical-notation/feature-artturi-jalli-gYrYa37fAKI-unsplash.jpg b/themes/congo/exampleSite/content/samples/mathematical-notation/feature-artturi-jalli-gYrYa37fAKI-unsplash.jpg new file mode 100644 index 0000000..640b4d7 Binary files /dev/null and b/themes/congo/exampleSite/content/samples/mathematical-notation/feature-artturi-jalli-gYrYa37fAKI-unsplash.jpg differ diff --git a/themes/congo/exampleSite/content/samples/mathematical-notation/index.de.md b/themes/congo/exampleSite/content/samples/mathematical-notation/index.de.md new file mode 100644 index 0000000..dd82fd6 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/mathematical-notation/index.de.md @@ -0,0 +1,46 @@ +--- +title: Mathematische Notation +date: 2019-03-08 +description: Ein kurzes Beispiel für die mathematische Notation in Congo. +tags: ["Beispiele", "KaTeX", "Mathematik", "Shortcodes"] +--- + +KaTeX kann verwendet werden, um mathematische Notationen in Artikeln darzustellen. + + + +{{< katex >}} + +Congo bindet die KaTeX-Assets nur dann in das Projekt ein, wenn die mathematische Notation verwendet wird. Damit dies funktioniert, kann einfach der Shortcode [`katex`]({{< ref path="docs/shortcodes#katex" lang="en" >}}) in den Artikel eingefügt werden. Jede KaTeX-Syntax auf dieser Seite wird dann automatisch gerendert. + +Die Online-Referenz der [unterstützten TeX-Funktionen](https://katex.org/docs/supported.html) zeigt Syntax-Beispiele. + +## Inline-Schreibweise + +Die Inline-Schreibweise kann erzeugt werden, indem der Ausdruck in die Trennzeichen `\(` und `\)` eingeschlossen wird. + +**Beispiel:** + +```tex +% KaTeX Inline-Schreibweise +Inline-Schreibweise: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) +``` + +Inline-Schreibweise: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) + +## Schreibweise als Block + +Alternativ kann die Blockschreibweise mit Hilfe von `$$`-Trennzeichen erzeugt werden. Dadurch wird der Ausdruck in einem eigenen HTML-Block ausgegeben. + +**Beispiel:** + +```tex +% KaTeX mit Block-Schreibweise +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ +``` + +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/themes/congo/exampleSite/content/samples/mathematical-notation/index.es.md b/themes/congo/exampleSite/content/samples/mathematical-notation/index.es.md new file mode 100644 index 0000000..d9f77b8 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/mathematical-notation/index.es.md @@ -0,0 +1,46 @@ +--- +title: Notación matemática +date: 2019-03-08 +description: Una breve muestra de notación matemática en Congo. +tags: ["sample", "katex", "maths", "shortcodes"] +--- + +Una breve muestra de notación matemática en Congo. + + + +{{< katex >}} + +Congo solo incluirá los assets de KaTeX en su proyecto si utiliza notación matemática. Para que esto funcione, simplemente incluya el [`katex` shortcode]({{< ref path="docs/shortcodes#katex" lang="en" >}}) dentro del artículo. Cualquier sintaxis de KaTeX en esa página se renderizará automáticamente. + +Utilice la documentación en línea de [funciones TeX admitidas](https://katex.org/docs/supported.html) para conocer la sintaxis disponible. + +## Notación en línea + +La notación en línea se puede generar envolviendo la expresión en los delimitadores `\\(` y `\\)`. + +**Ejemplo:** + +```tex +% KaTeX notación en línea +Notación en línea: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) +``` + +Notación en línea: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) + +## Notación en bloque + +Alternativamente, la notación en bloque se puede generar usando delimitadores `$$`. Esto generará la expresión en su propio bloque HTML. + +**Ejemplo:** + +```tex +% KaTeX notación en bloque +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ +``` + +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/themes/congo/exampleSite/content/samples/mathematical-notation/index.ja.md b/themes/congo/exampleSite/content/samples/mathematical-notation/index.ja.md new file mode 100644 index 0000000..c12d134 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/mathematical-notation/index.ja.md @@ -0,0 +1,46 @@ +--- +title: 数学的表記 +date: 2019-03-08 +description: Congoによる数学的表記の簡単なサンプル +tags: ["sample", "katex", "maths", "shortcodes"] +--- + +記事中の数学的表記にKaTeXを使用することができます。 + + + +{{< katex >}} + +Congoは、数学的表記を使用する場合にのみ、KaTeXアセットをプロジェクトにバンドルします。これを動作させるには、単に記事内に[`katex` ショートコード]({{< ref "docs/shortcodes#katex" >}})をインクルードしてください。そのページ上のKaTeX構文は自動的にレンダリングされます。 + +使用可能な構文については、[supported TeX functions](https://katex.org/docs/supported.html)のオンラインリファレンスを参照してください。 + +## インライン記法 + +インライン記法は、式を `\\(` と `\\)` で囲むことで生成できます。 + +**例:** + +```tex +% KaTeX inline notation +インライン記法: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) +``` + +インライン記法: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) + +## ブロック記法 + +あるいは、 `$$` を使ってブロック記法で生成することもできます。これは式を独自のHTMLブロックとして出力します。 + +**例:** + +```tex +% KaTeX block notation +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ +``` + +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/themes/congo/exampleSite/content/samples/mathematical-notation/index.md b/themes/congo/exampleSite/content/samples/mathematical-notation/index.md new file mode 100644 index 0000000..0b18480 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/mathematical-notation/index.md @@ -0,0 +1,46 @@ +--- +title: Mathematical notation +date: 2019-03-08 +description: A brief sample of mathematical notation in Congo. +tags: ["sample", "katex", "maths", "shortcodes"] +--- + +KaTeX can be used to render mathematical notation within articles. + + + +{{< katex >}} + +Congo will only bundle the KaTeX assets into your project if you make use of mathematical notation. In order for this to work, simply include the [`katex` shortcode]({{< ref "docs/shortcodes#katex" >}}) within the article. Any KaTeX syntax on that page will then be automatically rendered. + +Use the online reference of [supported TeX functions](https://katex.org/docs/supported.html) for the available syntax. + +## Inline notation + +Inline notation can be generated by wrapping the expression in `\\(` and `\\)` delimiters. + +**Example:** + +```tex +% KaTeX inline notation +Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) +``` + +Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) + +## Block notation + +Alternatively, block notation can be generated using `$$` delimiters. This will output the expression in its own HTML block. + +**Example:** + +```tex +% KaTeX block notation +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ +``` + +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/themes/congo/exampleSite/content/samples/mathematical-notation/index.zh-cn.md b/themes/congo/exampleSite/content/samples/mathematical-notation/index.zh-cn.md new file mode 100644 index 0000000..9dc3a1d --- /dev/null +++ b/themes/congo/exampleSite/content/samples/mathematical-notation/index.zh-cn.md @@ -0,0 +1,46 @@ +--- +title: 数学符号 +date: 2019-03-08 +description: 在Congo中使用数学符号的简要示例。 +tags: ["sample", "katex", "maths", "shortcodes"] +--- + +KaTeX可以用于在文章中呈现数学符号。 + + + +{{< katex >}} + +只有在使用数学符号时,Congo才会将KaTeX资产打包到您的项目中。为了使其生效,只需在文章中包含[`katex` 短代码]({{< ref "docs/shortcodes#katex" >}})。页面上的任何KaTeX语法都将自动渲染。 + +请使用[支持的TeX函数的在线参考](https://katex.org/docs/supported.html)查看可用的语法。 + +## 内联符号 + +内联符号可以通过在表达式周围使用 `\\(` 和 `\\)` 定界符来生成。 + +**示例:** + +```tex +% KaTeX内联符号 +内联符号: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) +``` + +内联符号: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\) + +## 块符号 + +或者,可以使用 `$$` 定界符生成块符号。这将在其自己的HTML块中输出表达式。 + +**示例:** + +```tex +% KaTeX块符号 +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ +``` + +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/themes/congo/exampleSite/content/samples/placeholder-text/index.de.md b/themes/congo/exampleSite/content/samples/placeholder-text/index.de.md new file mode 100644 index 0000000..4f7548a --- /dev/null +++ b/themes/congo/exampleSite/content/samples/placeholder-text/index.de.md @@ -0,0 +1,39 @@ +--- +title: "Platzhalter-Text" +date: "2019-03-09" +lastmod: "2022-01-24" +draft: true +description: "Lorem Ipsum Dolor Si Amet" +tags: ["markdown", "text", "sample", "latin"] +showDateUpdated: true +xml: false +--- + +Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +## Vagus elidunt + + + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +### Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. diff --git a/themes/congo/exampleSite/content/samples/placeholder-text/index.es.md b/themes/congo/exampleSite/content/samples/placeholder-text/index.es.md new file mode 100644 index 0000000..5334639 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/placeholder-text/index.es.md @@ -0,0 +1,39 @@ +--- +title: "Placeholder Text" +date: "2019-03-09" +lastmod: "2022-01-24" +draft: true +description: "Lorem Ipsum Dolor Si Amet" +tags: ["markdown", "text", "sample", "latin"] +showDateUpdated: true +xml: false +--- + +Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +## Vagus elidunt + + + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +### Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. diff --git a/themes/congo/exampleSite/content/samples/placeholder-text/index.ja.md b/themes/congo/exampleSite/content/samples/placeholder-text/index.ja.md new file mode 100644 index 0000000..9f3f420 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/placeholder-text/index.ja.md @@ -0,0 +1,39 @@ +--- +title: "プレースホルダー" +date: "2019-03-09" +lastmod: "2022-01-24" +draft: true +description: "Lorem Ipsum Dolor Si Amet" +tags: ["markdown", "text", "sample", "latin"] +showDateUpdated: true +xml: false +--- + +Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +## Vagus elidunt + + + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +### Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. diff --git a/themes/congo/exampleSite/content/samples/placeholder-text/index.md b/themes/congo/exampleSite/content/samples/placeholder-text/index.md new file mode 100644 index 0000000..5334639 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/placeholder-text/index.md @@ -0,0 +1,39 @@ +--- +title: "Placeholder Text" +date: "2019-03-09" +lastmod: "2022-01-24" +draft: true +description: "Lorem Ipsum Dolor Si Amet" +tags: ["markdown", "text", "sample", "latin"] +showDateUpdated: true +xml: false +--- + +Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +## Vagus elidunt + + + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +### Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. diff --git a/themes/congo/exampleSite/content/samples/placeholder-text/index.zh-cn.md b/themes/congo/exampleSite/content/samples/placeholder-text/index.zh-cn.md new file mode 100644 index 0000000..d78e7ee --- /dev/null +++ b/themes/congo/exampleSite/content/samples/placeholder-text/index.zh-cn.md @@ -0,0 +1,39 @@ +--- +title: "占位符文本" +date: "2019-03-09" +lastmod: "2022-01-24" +draft: true +description: "Lorem Ipsum Dolor Si Amet" +tags: ["markdown", "text", "sample", "latin"] +showDateUpdated: true +xml: false +--- + +Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +## Vagus elidunt + + + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +### Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. diff --git a/themes/congo/exampleSite/content/samples/placeholder-text/thumb-kelly-sikkema-NBkMT8duVSI-unsplash.jpg b/themes/congo/exampleSite/content/samples/placeholder-text/thumb-kelly-sikkema-NBkMT8duVSI-unsplash.jpg new file mode 100644 index 0000000..4162e51 Binary files /dev/null and b/themes/congo/exampleSite/content/samples/placeholder-text/thumb-kelly-sikkema-NBkMT8duVSI-unsplash.jpg differ diff --git a/themes/congo/exampleSite/content/samples/rich-content/feature-alexander-shatov-mr4JG4SYOF8-unsplash.jpg b/themes/congo/exampleSite/content/samples/rich-content/feature-alexander-shatov-mr4JG4SYOF8-unsplash.jpg new file mode 100644 index 0000000..31e6d5f Binary files /dev/null and b/themes/congo/exampleSite/content/samples/rich-content/feature-alexander-shatov-mr4JG4SYOF8-unsplash.jpg differ diff --git a/themes/congo/exampleSite/content/samples/rich-content/index.de.md b/themes/congo/exampleSite/content/samples/rich-content/index.de.md new file mode 100644 index 0000000..30f4b76 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/rich-content/index.de.md @@ -0,0 +1,37 @@ +--- +title: "Reichhaltiger Inhalt" +date: 2019-03-10 +description: "Eine kurze Beschreibung von Hugo-Shortcodes" +summary: "Dies hier ist ein _Beispiel_ einer **reichhaltigen** Inhaltsübersicht." +coverAlt: "Ein Beispiel für ein Titelbild, das die Icons einiger bekannter Medienorganisationen zeigt." +coverCaption: "Dies ist ein Beispiel für ein Titelbild mit einer Bildunterschrift." +tags: ["Shortcodes", "Privatsphäre", "Beispiele", "Gist", "Twitter", "YouTube", "Vimeo"] +--- + +Hugo wird mit mehreren [eingebauten Shortcodes] (https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) für reichhaltige Inhalte geliefert, zusammen mit einer [Datenschutzkonfiguration] (https://gohugo.io/about/hugo-and-gdpr/) und einer Reihe von _einfachen Shortcodes_, die statische und No-JS-Versionen von Einbettungen verschiedener sozialer Medien ermöglichen. + +## YouTube + +Hier ist ein Beispiel des mitgelieferten `youtube`-Shortcodes. + +{{< youtube ZJthWmvUzzc >}} + +## Twitter + +Dieses Beispiel verwendet den Shortcode `twitter_simple`, um einen Tweet anzuzeigen. Er benötigt zwei benannte Parameter `user` und `id`. + +{{< twitter_simple user="DesignReviewed" id="1085870671291310081" >}} + +Alternativ kann der Shortcode `tweet` verwendet werden, um eine vollständig formatierte Twitter-Kachel einzubetten. + +## Gist + +Der Shortcode `gist` kann verwendet werden, um einen Gist von GitHub einzubetten. Er erfordert zwei unbenannte Parameter: den Benutzernamen und die ID des Gist. + +{{< gist jpanther a873e1219ffeaa80a926bbe8255f348e >}} + +## Vimeo + +Der Shortcode `vimeo_simple` bettet ein Video von Vimeo ein. + +{{< vimeo_simple 48912912 >}} diff --git a/themes/congo/exampleSite/content/samples/rich-content/index.es.md b/themes/congo/exampleSite/content/samples/rich-content/index.es.md new file mode 100644 index 0000000..43cd50c --- /dev/null +++ b/themes/congo/exampleSite/content/samples/rich-content/index.es.md @@ -0,0 +1,37 @@ +--- +title: "Contenido enriquecido" +date: 2019-03-10 +description: "Una breve descripción de los shortcuts de Hugo" +summary: "Este es un _ejemplo_ de un resumen de contenido **enriquecido**." +coverAlt: "Una imagen de portada de ejemplo que muestra logos de algunas redes sociales populares." +coverCaption: "Este es un ejemplo de pie de foto para una portada." +tags: ["shortcodes", "privacy", "sample", "gist", "twitter", "youtube", "vimeo"] +--- + +Hugo viene con varios [shortcuts integrados](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) para hacer contenido enriquecido, junto con una [configuración de privacidad](https://gohugo.io/about/hugo-and-gdpr/) y un conjunto de _shortcuts simples_ que permiten incrustar versiones estáticas y sin Javascript de varias redes sociales. + +## YouTube + +A continuación, se muestra un ejemplo que utiliza el shortcut integrado `youtube`. + +{{< youtube ZJthWmvUzzc >}} + +## Twitter + +Este ejemplo usa el shortcode `twitter_simple` para generar un Tweet. Requiere dos parámetros por nombre: `usuario` e `id`. + +{{< twitter_simple user="DesignReviewed" id="1085870671291310081" >}} + +Alternativamente, el shortcut `tweet` se puede usar para incrustar una tarjeta completa de Twitter. + +## Gist + +El shortcode `gist` se puede usar para incrustar un GitHub Gist. Requiere dos parámetros por posición: el nombre de usuario y el ID del Gist. + +{{< gist jpanther a873e1219ffeaa80a926bbe8255f348e >}} + +## Vimeo + +El shortcode `vimeo_simple` insertará un video de Vimeo. + +{{< vimeo_simple 48912912 >}} diff --git a/themes/congo/exampleSite/content/samples/rich-content/index.ja.md b/themes/congo/exampleSite/content/samples/rich-content/index.ja.md new file mode 100644 index 0000000..814e9c3 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/rich-content/index.ja.md @@ -0,0 +1,37 @@ +--- +title: "リッチコンテンツ" +date: 2019-03-10 +description: "リッチコンテンツに関する簡単な説明" +summary: "**リッチ** なコンテンツの _一例_" +coverAlt: "いくつかの人気メディアのアイコンを描いたカバー画像の例。" +coverCaption: "これはキャプション付きの `cover` 画像の例です。" +tags: ["shortcodes", "privacy", "sample", "gist", "twitter", "youtube", "vimeo"] +--- + +Hugoには、リッチコンテンツのためのいくつかの[組み込みショートコード](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes)と、[プライバシー設定](https://gohugo.io/about/hugo-and-gdpr/)、そして様々なソーシャルメディアの埋め込みを静的に可能にする _simple shortcodes_ のセットが同梱されています。 + +## YouTube + +以下は、組み込みの `youtube` ショートコードを使用した例です。 + +{{< youtube ZJthWmvUzzc >}} + +## Twitter + +この例では `twitter_simple` ショートコードを使っています。 `user` と `id` の2つの名前付きパラメーターが必要です。 + +{{< twitter_simple user="DesignReviewed" id="1085870671291310081" >}} + +`tweet` ショートコードを使えば、完全にマークアップされたTwitterカードを埋め込むこともできます。 + +## Gist + +`gist` ショートコードを使うと、GitHubのGistを埋め込むことができます。ユーザー名とGistのIDというパラメーターが必要です。 + +{{< gist jpanther a873e1219ffeaa80a926bbe8255f348e >}} + +## Vimeo + +`vimeo_simple` ショートコードでVimeoの動画を埋め込むことができます。 + +{{< vimeo_simple 48912912 >}} diff --git a/themes/congo/exampleSite/content/samples/rich-content/index.md b/themes/congo/exampleSite/content/samples/rich-content/index.md new file mode 100644 index 0000000..82f02c6 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/rich-content/index.md @@ -0,0 +1,37 @@ +--- +title: "Rich Content" +date: 2019-03-10 +description: "A brief description of Rich Content" +summary: "This is an _example_ of a **rich** content summary." +coverAlt: "An example cover image depicting icons of some popular media organisations." +coverCaption: "This is an example cover image with a caption." +tags: ["shortcodes", "privacy", "sample", "gist", "twitter", "youtube", "vimeo"] +--- + +Hugo ships with several [built-in shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [privacy config](https://gohugo.io/about/hugo-and-gdpr/) and a set of _simple shortcodes_ that enable static and no-JS versions of various social media embeds. + +## YouTube + +Below is an example using the built-in `youtube` shortcode. + +{{< youtube ZJthWmvUzzc >}} + +## Twitter + +This example uses the `twitter_simple` shortcode to output a Tweet. It requires two named parameters `user` and `id`. + +{{< twitter_simple user="DesignReviewed" id="1085870671291310081" >}} + +Alternatively, the `tweet` shortcode can be used to embed a fully marked up Twitter card. + +## Gist + +The `gist` shortcode can be used to embed a GitHub Gist. It requires two unnamed parameters: the username and ID of the Gist. + +{{< gist jpanther a873e1219ffeaa80a926bbe8255f348e >}} + +## Vimeo + +The `vimeo_simple` shortcode will embed a Vimeo video. + +{{< vimeo_simple 48912912 >}} diff --git a/themes/congo/exampleSite/content/samples/rich-content/index.zh-cn.md b/themes/congo/exampleSite/content/samples/rich-content/index.zh-cn.md new file mode 100644 index 0000000..ae03092 --- /dev/null +++ b/themes/congo/exampleSite/content/samples/rich-content/index.zh-cn.md @@ -0,0 +1,37 @@ +--- +title: "富文本" +date: 2019-03-10 +description: "富文本的简介" +summary: "这是一个 _富_ 文本的 _简介_ " +coverAlt: "一个示例封面图片,描绘了一些知名媒体机构的图标。" +coverCaption: "这是一个带有说明的封面图片示例。" +tags: ["shortcodes", "privacy", "sample", "gist", "twitter", "youtube", "vimeo"] +--- + +Hugo包含了多个[内置短代码](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes)以支持丰富的内容,同时还提供了[隐私配置](https://gohugo.io/about/hugo-and-gdpr/)和一组 _简单短代码_,用于启用各种社交媒体嵌入的静态和无JS版本。 + +## YouTube + +以下是使用内置的 `youtube` 短代码的示例。 + +{{< youtube ZJthWmvUzzc >}} + +## Twitter + +这个例子使用了 `twitter_simple` 短代码来输出一条推文。它需要两个命名参数 `user` 和 `id`。 + +{{< twitter_simple user="DesignReviewed" id="1085870671291310081" >}} + +或者,可以使用 `tweet` 短代码来嵌入一个完全标记的Twitter卡片。 + +## Gist + +`gist` 短代码可以用于嵌入GitHub Gist。它需要两个未命名参数:Gist的用户名和ID。 + +{{< gist jpanther a873e1219ffeaa80a926bbe8255f348e >}} + +## Vimeo + +`vimeo_simple` 短代码将嵌入Vimeo视频。 + +{{< vimeo_simple 48912912 >}} diff --git a/themes/congo/exampleSite/content/tags/_index.es.md b/themes/congo/exampleSite/content/tags/_index.es.md new file mode 100644 index 0000000..c8af415 --- /dev/null +++ b/themes/congo/exampleSite/content/tags/_index.es.md @@ -0,0 +1,9 @@ +--- +title: Etiquetas +--- + +Congo tiene soporte total para las taxonomías de Hugo y se adaptará a cualquier configuración de taxonomía. Las listas de taxonomías como esta también admiten contenido personalizado que se muestra encima de la lista de términos. + +Esta área podría usarse para agregar texto descriptivo adicional a cada taxonomía. Consulte el ejemplo de [etiquetas avanzadas]({{< ref path="advanced" >}}) a continuación para ver cómo llevar este concepto aún más lejos. + +--- diff --git a/themes/congo/exampleSite/content/tags/_index.ja.md b/themes/congo/exampleSite/content/tags/_index.ja.md new file mode 100644 index 0000000..538d924 --- /dev/null +++ b/themes/congo/exampleSite/content/tags/_index.ja.md @@ -0,0 +1,9 @@ +--- +title: Tags +--- + +CongoはHugoのTaxonomiesを完全にサポートしており、どのようなTaxonomiesの設定にも適応します。Taxonomiesのリストは、用語リストの上に表示されるカスタムコンテンツもサポートしています。 + +この領域は各Taxonomyに説明的なテキストを追加するために使用することができます。このコンセプトをさらに発展させる方法について、以下の[Tags/advanced]({{< ref "advanced" >}})も参照してください。 + +--- diff --git a/themes/congo/exampleSite/content/tags/_index.md b/themes/congo/exampleSite/content/tags/_index.md new file mode 100644 index 0000000..841d4d5 --- /dev/null +++ b/themes/congo/exampleSite/content/tags/_index.md @@ -0,0 +1,9 @@ +--- +title: Tags +--- + +Congo has full support for Hugo taxonomies and will adapt to any taxonomy set up. Taxonomy listings like this one also support custom content to be displayed above the list of terms. + +This area could be used to add some extra descriptive text to each taxonomy. Check out the [advanced tag]({{< ref "advanced" >}}) below to see how to take this concept even further. + +--- diff --git a/themes/congo/exampleSite/content/tags/_index.zh-CN.md b/themes/congo/exampleSite/content/tags/_index.zh-CN.md new file mode 100644 index 0000000..51011ef --- /dev/null +++ b/themes/congo/exampleSite/content/tags/_index.zh-CN.md @@ -0,0 +1,9 @@ +--- +title: Tags +--- + +Congo完全支持Hugo分类法,并将适应任何分类法设置。像这样的分类法列表还支持在术语列表上方显示自定义内容。 + +这个区域可以用来添加一些额外的描述性文本到每个分类法。查看下面的 [高级标签]({{< ref "advanced" >}}) 了解如何进一步学习这个概念。 + +--- diff --git a/themes/congo/exampleSite/content/tags/advanced/_index.es.md b/themes/congo/exampleSite/content/tags/advanced/_index.es.md new file mode 100644 index 0000000..a572a3a --- /dev/null +++ b/themes/congo/exampleSite/content/tags/advanced/_index.es.md @@ -0,0 +1,7 @@ +--- +title: Avanzada +--- + +Esta es la etiqueta avanzada. Al igual que otras páginas de listas en Congo, puede agregar contenido personalizado a los términos taxonómicos individuales y se mostrará en la parte superior de la lista de términos. :rocket: + +También puedes usar estas páginas de contenido para definir metadatos de Hugo como títulos y descripciones que se usarán para SEO y otros fines. diff --git a/themes/congo/exampleSite/content/tags/advanced/_index.ja.md b/themes/congo/exampleSite/content/tags/advanced/_index.ja.md new file mode 100644 index 0000000..e26b8a0 --- /dev/null +++ b/themes/congo/exampleSite/content/tags/advanced/_index.ja.md @@ -0,0 +1,7 @@ +--- +title: advanced +--- + +これは高度なタグです。Congoの他のリスティングページと同様に、個々のTaxonomy Termにカスタムコンテンツを追加することができ、Term Listの上部に表示されます。 :rocket: + +また、これらのコンテンツページを使用して、SEOやその他の目的で使用されるタイトルや説明文などのHugoのメタデータを定義することもできます。 diff --git a/themes/congo/exampleSite/content/tags/advanced/_index.md b/themes/congo/exampleSite/content/tags/advanced/_index.md new file mode 100644 index 0000000..2ade4bc --- /dev/null +++ b/themes/congo/exampleSite/content/tags/advanced/_index.md @@ -0,0 +1,7 @@ +--- +title: advanced +--- + +This is the advanced tag. Just like other listing pages in Congo, you can add custom content to individual taxonomy terms and it will be displayed at the top of the term listing. :rocket: + +You can also use these content pages to define Hugo metadata like titles and descriptions that will be used for SEO and other purposes. diff --git a/themes/congo/exampleSite/content/tags/advanced/_index.zh-CN.md b/themes/congo/exampleSite/content/tags/advanced/_index.zh-CN.md new file mode 100644 index 0000000..efd5bd5 --- /dev/null +++ b/themes/congo/exampleSite/content/tags/advanced/_index.zh-CN.md @@ -0,0 +1,7 @@ +--- +title: advanced +--- + +这是高级标签。就像Congo中的其他列表页面一样,您可以为单个分类术语添加自定义内容,并将其显示在术语列表的顶部。 :rocket: + +您还可以使用这些内容页面定义Hugo元数据,如标题和描述,这将用于SEO和其他目的。 diff --git a/themes/congo/exampleSite/content/users/cover-true-love.svg b/themes/congo/exampleSite/content/users/cover-true-love.svg new file mode 100644 index 0000000..af68715 --- /dev/null +++ b/themes/congo/exampleSite/content/users/cover-true-love.svg @@ -0,0 +1 @@ +true_love \ No newline at end of file diff --git a/themes/congo/exampleSite/content/users/index.es.md b/themes/congo/exampleSite/content/users/index.es.md new file mode 100644 index 0000000..d5a57a2 --- /dev/null +++ b/themes/congo/exampleSite/content/users/index.es.md @@ -0,0 +1,81 @@ +--- +title: "Usuarios" +date: 2020-08-14 +draft: false +description: "Algunos ejemplos reales de Congo." +slug: "users" +tags: ["users", "sample"] +showDate: false +showAuthor: false +showReadingTime: false +showEdit: false +--- + +{{< lead >}} +Sitios web reales que se han creado con Congo. +{{< /lead >}} + +La lista a continuación es solo un puñado de sitios web creados con el tema Congo. Échales un vistazo para descubrir algunos excelentes ejemplos de lo que el tema puede hacer. + +| Website | Details | +| ---------------------------------------------------------------------- | ------------------------------- | +| [jamespanther.com](https://jamespanther.com) | Personal site - Theme author | +| [antoinesoetewey.com](https://antoinesoetewey.com/) | Personal site | +| [leif.io](https://leif.io/) | Personal site and Tech blog | +| [dr460nf1r3.org](https://dr460nf1r3.org/) | Personal site and Blog | +| [OCram85.com](https://ocram85.com) | Personal site and Blog | +| [mackiser.github.io](https://mackiser.github.io) | Personal site and Blog | +| [jamesmillner.dev](https://jamesmillner.dev) | Personal site and Blog | +| [jeremic.ca](https://jeremic.ca) | Personal site and Blog | +| [rohn.tech](https://rohn.tech) | Personal site | +| [klimafreundlicher-kochen.de](https://www.klimafreundlicher-kochen.de) | Food blog (in German) | +| [datanalyze.be](https://datanalyze.be/) | Professional site | +| [sneaky-potato.github.io](https://sneaky-potato.github.io/) | Professional site and Blog | +| [kelset.dev](https://kelset.dev) | Personal site | +| [docteurelsavancaster.com](https://docteurelsavancaster.com/) | Professional site | +| [ruihao-li.github.io](https://ruihao-li.github.io/) | Personal site and Blog | +| [phalanxhead.dev](https://phalanxhead.dev) | Personal site and Blog | +| [Bible Multi Apps](https://hotlittlewhitedog.gitlab.io/biblemulti) | Personal site and Blog | +| [Jh123x](https://jh123x.com/) | Personal site and Blog | +| [sforzando LLC. and Inc.](https://sfz.dev/) | Corporate site and Blog | +| [szegedkungfu.hu](https://balance-se.github.io/) | Sports association site | +| [cbrincoveanu.com](https://www.cbrincoveanu.com/) | Personal site and Blog | +| [medical-humanities](https://medical-humanities.org) | Academic site | +| [boyersnet.com](https://boyersnet.com) | Personal site and Blog | +| [major.io](https://major.io) | Personal site and Blog | +| [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) | +| [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog | +| [adam.sr](https://adam.sr) | Personal site and Blog | +| [kpavlov.me](https://kpavlov.me) | Personal site and Blog | +| [pfisterer.dev](https://pfisterer.dev) | Personal site and Blog | +| [davidrothera.me](https://davidrothera.me) | Personal site and Blog | +| [sug.bitprism.net](https://sug.bitprism.net) | Personal Site and Blog | +| [arjuns.me](https://arjuns.me) | Personal Site and Blog | +| [statistix.be](https://statistix.be/) | Professional site | +| [sathyabh.at](https://sathyabh.at) | Personal Site and Blog | +| [leonidasv.com](https://leonidasv.com/) | Personal site and Blog | +| [andrew-jones.com](https://andrew-jones.com/) | Personal site and tech blog | +| [nikita.computer](https://nikita.computer/) | Personal site and tech blog | +| [blog.dejavu.moe](https://blog.dejavu.moe/) | Personal blog and weekly issues | +| [spiffyeight77.com](https://spiffyeight77.com/) | Personal blog | +| [Tomy's Blog](https://blog.tomy.me) | Personal site and Blog | +| [Beerjoa Blog](https://blog.beerjoa.dev) | Personal site and Blog | +| [simaosilva.com](https://simaosilva.com) | Personal Site | +| [kom.al](https://kom.al) | Personal Site | +| [andrea.mortaro.it](https://andrea.mortaro.it) | Personal Site and Blog | +| [yoganath.me](https://yoganath.me) | Personal Site and Blog | +| [josh-v.com](https://josh-v.com) | Personal Site and Tech blog | +| [rshmhrj.io](https://rshmhrj.io/) | Personal Site and Tech blog | +| [jamesjarvis.io](https://jamesjarvis.io) | Personal Site and Blog | +| [jnsgr.uk](https://jnsgr.uk) | Personal site and blog | +| [stupidjoey.net](https://stupidjoey.net) | Personal Site and Tech blog | +| [aminelch.github.io](https://aminelch.github.io) | Personal Site and Blog | +| [robertboscacci.com](https://robertboscacci.com) | Personal Site and Blog | +| [gorbe.io](https://www.gorbe.io) | Business Site and Blog | +| [techwolf12.nl](https://techwolf12.nl) | Personal Site and Tech Blog | +| [kylecapehart.com](https://kylecapehart.com/) | Personal Site and Blog | +| [hosni.info](https://hosni.info/) | Personal site and Tech Blog | +| [mattstrayer.com](https://www.mattstrayer.com/) | Personal Site and Blog | +| [noamlerner.com](https://www.noamlerner.com/) | Personal blog (English/Hebrew) | + +**¿Usuaria de congo?** Para agregar tu sitio a esta lista, [haz un pull request](https://github.com/jpanther/congo/blob/dev/exampleSite/content/users/index.md). diff --git a/themes/congo/exampleSite/content/users/index.ja.md b/themes/congo/exampleSite/content/users/index.ja.md new file mode 100644 index 0000000..d9b1656 --- /dev/null +++ b/themes/congo/exampleSite/content/users/index.ja.md @@ -0,0 +1,81 @@ +--- +title: "利用例" +date: 2020-08-14 +draft: false +description: "Congoの実用例。" +slug: "users" +tags: ["users", "sample"] +showDate: false +showAuthor: false +showReadingTime: false +showEdit: false +--- + +{{< lead >}} +Congoを使用して構築された実際のウェブサイト。 +{{< /lead >}} + +以下は、Congoを使って構築されたウェブサイトのほんの一握りです。このテーマでできることの素晴らしさをご覧ください。 + +| Website | Details | +| ---------------------------------------------------------------------- | ------------------------------- | +| [jamespanther.com](https://jamespanther.com) | Personal site - Theme author | +| [antoinesoetewey.com](https://antoinesoetewey.com/) | Personal site | +| [leif.io](https://leif.io/) | Personal site and Tech blog | +| [dr460nf1r3.org](https://dr460nf1r3.org/) | Personal site and Blog | +| [OCram85.com](https://ocram85.com) | Personal site and Blog | +| [mackiser.github.io](https://mackiser.github.io) | Personal site and Blog | +| [jamesmillner.dev](https://jamesmillner.dev) | Personal site and Blog | +| [jeremic.ca](https://jeremic.ca) | Personal site and Blog | +| [rohn.tech](https://rohn.tech) | Personal site | +| [klimafreundlicher-kochen.de](https://www.klimafreundlicher-kochen.de) | Food blog (in German) | +| [datanalyze.be](https://datanalyze.be/) | Professional site | +| [sneaky-potato.github.io](https://sneaky-potato.github.io/) | Professional site and Blog | +| [kelset.dev](https://kelset.dev) | Personal site | +| [docteurelsavancaster.com](https://docteurelsavancaster.com/) | Professional site | +| [ruihao-li.github.io](https://ruihao-li.github.io/) | Personal site and Blog | +| [phalanxhead.dev](https://phalanxhead.dev) | Personal site and Blog | +| [Bible Multi Apps](https://hotlittlewhitedog.gitlab.io/biblemulti) | Personal site and Blog | +| [Jh123x](https://jh123x.com/) | Personal site and Blog | +| [sforzando LLC. and Inc.](https://sfz.dev/) | Corporate site and Blog | +| [szegedkungfu.hu](https://balance-se.github.io/) | Sports association site | +| [cbrincoveanu.com](https://www.cbrincoveanu.com/) | Personal site and Blog | +| [medical-humanities](https://medical-humanities.org) | Academic site | +| [boyersnet.com](https://boyersnet.com) | Personal site and Blog | +| [major.io](https://major.io) | Personal site and Blog | +| [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) | +| [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog | +| [adam.sr](https://adam.sr) | Personal site and Blog | +| [kpavlov.me](https://kpavlov.me) | Personal site and Blog | +| [pfisterer.dev](https://pfisterer.dev) | Personal site and Blog | +| [davidrothera.me](https://davidrothera.me) | Personal site and Blog | +| [sug.bitprism.net](https://sug.bitprism.net) | Personal Site and Blog | +| [arjuns.me](https://arjuns.me) | Personal Site and Blog | +| [statistix.be](https://statistix.be/) | Professional site | +| [sathyabh.at](https://sathyabh.at) | Personal Site and Blog | +| [leonidasv.com](https://leonidasv.com/) | Personal site and Blog | +| [andrew-jones.com](https://andrew-jones.com/) | Personal site and tech blog | +| [nikita.computer](https://nikita.computer/) | Personal site and tech blog | +| [blog.dejavu.moe](https://blog.dejavu.moe/) | Personal blog and weekly issues | +| [spiffyeight77.com](https://spiffyeight77.com/) | Personal blog | +| [Tomy's Blog](https://blog.tomy.me) | Personal site and Blog | +| [Beerjoa Blog](https://blog.beerjoa.dev) | Personal site and Blog | +| [simaosilva.com](https://simaosilva.com) | Personal Site | +| [kom.al](https://kom.al) | Personal Site | +| [andrea.mortaro.it](https://andrea.mortaro.it) | Personal Site and Blog | +| [yoganath.me](https://yoganath.me) | Personal Site and Blog | +| [josh-v.com](https://josh-v.com) | Personal Site and Tech blog | +| [rshmhrj.io](https://rshmhrj.io/) | Personal Site and Tech blog | +| [jamesjarvis.io](https://jamesjarvis.io) | Personal Site and Blog | +| [jnsgr.uk](https://jnsgr.uk) | Personal site and blog | +| [stupidjoey.net](https://stupidjoey.net) | Personal Site and Tech blog | +| [aminelch.github.io](https://aminelch.github.io) | Personal Site and Blog | +| [robertboscacci.com](https://robertboscacci.com) | Personal Site and Blog | +| [gorbe.io](https://www.gorbe.io) | Business Site and Blog | +| [techwolf12.nl](https://techwolf12.nl) | Personal Site and Tech Blog | +| [kylecapehart.com](https://kylecapehart.com/) | Personal Site and Blog | +| [hosni.info](https://hosni.info/) | Personal site and Tech Blog | +| [mattstrayer.com](https://www.mattstrayer.com/) | Personal Site and Blog | +| [noamlerner.com](https://www.noamlerner.com/) | Personal blog (English/Hebrew) | + +**Congoを使っていますか?** あなたのウェブサイトを加えるために[Pull Request](https://github.com/jpanther/congo/blob/dev/exampleSite/content/users/index.md)を投げてください。 diff --git a/themes/congo/exampleSite/content/users/index.md b/themes/congo/exampleSite/content/users/index.md new file mode 100644 index 0000000..fa110ec --- /dev/null +++ b/themes/congo/exampleSite/content/users/index.md @@ -0,0 +1,81 @@ +--- +title: "Users" +date: 2020-08-14 +draft: false +description: "Some real-life Congo examples." +slug: "users" +tags: ["users", "sample"] +showDate: false +showAuthor: false +showReadingTime: false +showEdit: false +--- + +{{< lead >}} +Real websites that have been built using Congo. +{{< /lead >}} + +The list below is just a handful of the websites that are built using the Congo theme. Check them out to discover some great examples of what the theme can do. + +| Website | Details | +| ---------------------------------------------------------------------- | ------------------------------- | +| [jamespanther.com](https://jamespanther.com) | Personal site - Theme author | +| [antoinesoetewey.com](https://antoinesoetewey.com/) | Personal site | +| [leif.io](https://leif.io/) | Personal site and Tech blog | +| [dr460nf1r3.org](https://dr460nf1r3.org/) | Personal site and Blog | +| [OCram85.com](https://ocram85.com) | Personal site and Blog | +| [mackiser.github.io](https://mackiser.github.io) | Personal site and Blog | +| [jamesmillner.dev](https://jamesmillner.dev) | Personal site and Blog | +| [jeremic.ca](https://jeremic.ca) | Personal site and Blog | +| [rohn.tech](https://rohn.tech) | Personal site | +| [klimafreundlicher-kochen.de](https://www.klimafreundlicher-kochen.de) | Food blog (in German) | +| [datanalyze.be](https://datanalyze.be/) | Professional site | +| [sneaky-potato.github.io](https://sneaky-potato.github.io/) | Professional site and Blog | +| [kelset.dev](https://kelset.dev) | Personal site | +| [docteurelsavancaster.com](https://docteurelsavancaster.com/) | Professional site | +| [ruihao-li.github.io](https://ruihao-li.github.io/) | Personal site and Blog | +| [phalanxhead.dev](https://phalanxhead.dev) | Personal site and Blog | +| [Bible Multi Apps](https://hotlittlewhitedog.gitlab.io/biblemulti) | Personal site and Blog | +| [Jh123x](https://jh123x.com/) | Personal site and Blog | +| [sforzando LLC. and Inc.](https://sfz.dev/) | Corporate site and Blog | +| [szegedkungfu.hu](https://balance-se.github.io/) | Sports association site | +| [cbrincoveanu.com](https://www.cbrincoveanu.com/) | Personal site and Blog | +| [medical-humanities](https://medical-humanities.org) | Academic site | +| [boyersnet.com](https://boyersnet.com) | Personal site and Blog | +| [major.io](https://major.io) | Personal site and Blog | +| [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) | +| [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog | +| [adam.sr](https://adam.sr) | Personal site and Blog | +| [kpavlov.me](https://kpavlov.me) | Personal site and Blog | +| [pfisterer.dev](https://pfisterer.dev) | Personal site and Blog | +| [davidrothera.me](https://davidrothera.me) | Personal site and Blog | +| [sug.bitprism.net](https://sug.bitprism.net) | Personal Site and Blog | +| [statistix.be](https://statistix.be/) | Professional site | +| [sathyabh.at](https://sathyabh.at) | Personal Site and Blog | +| [leonidasv.com](https://leonidasv.com/) | Personal site and Blog | +| [andrew-jones.com](https://andrew-jones.com/) | Personal site and tech blog | +| [nikita.computer](https://nikita.computer/) | Personal site and tech blog | +| [blog.dejavu.moe](https://blog.dejavu.moe/) | Personal blog and weekly issues | +| [spiffyeight77.com](https://spiffyeight77.com/) | Personal blog | +| [Tomy's Blog](https://blog.tomy.me) | Personal site and Blog | +| [Beerjoa Blog](https://blog.beerjoa.dev) | Personal site and Blog | +| [simaosilva.com](https://simaosilva.com) | Personal Site | +| [kom.al](https://kom.al) | Personal Site | +| [andrea.mortaro.it](https://andrea.mortaro.it) | Personal Site and Blog | +| [yoganath.me](https://yoganath.me) | Personal Site and Blog | +| [josh-v.com](https://josh-v.com) | Personal Site and Tech blog | +| [rshmhrj.io](https://rshmhrj.io/) | Personal Site and Tech blog | +| [jamesjarvis.io](https://jamesjarvis.io) | Personal Site and Blog | +| [jnsgr.uk](https://jnsgr.uk) | Personal site and blog | +| [stupidjoey.net](https://stupidjoey.net) | Personal Site and Tech blog | +| [aminelch.github.io](https://aminelch.github.io) | Personal Site and Blog | +| [robertboscacci.com](https://robertboscacci.com) | Personal Site and Blog | +| [gorbe.io](https://www.gorbe.io) | Business Site and Blog | +| [techwolf12.nl](https://techwolf12.nl) | Personal Site and Tech Blog | +| [kylecapehart.com](https://kylecapehart.com/) | Personal Site and Blog | +| [hosni.info](https://hosni.info/) | Personal site and Tech Blog | +| [mattstrayer.com](https://www.mattstrayer.com/) | Personal Site and Blog | +| [noamlerner.com](https://www.noamlerner.com/) | Personal blog (English/Hebrew) | +| [jneidel.com](https://jneidel.com) | Personal site and blog | + +**Congo user?** To add your site to this list, [submit a pull request](https://github.com/jpanther/congo/blob/dev/exampleSite/content/users/index.md). diff --git a/themes/congo/exampleSite/content/users/index.zh-cn.md b/themes/congo/exampleSite/content/users/index.zh-cn.md new file mode 100644 index 0000000..f88b486 --- /dev/null +++ b/themes/congo/exampleSite/content/users/index.zh-cn.md @@ -0,0 +1,79 @@ +--- +title: "用户" +date: 2020-08-14 +draft: false +description: "Congo的使用用户。" +slug: "users" +tags: ["users", "sample"] +showDate: false +showAuthor: false +showReadingTime: false +showEdit: false +--- + +{{< lead >}} +使用Congo构建的真实网站 +{{< /lead >}} + +下面的列表包含了一些使用Congo主题构建的网站。你可以查看这些网站 ,发现一些展示Congo功能的优秀示例。 + +| Website | Details | +| ---------------------------------------------------------------------- | ------------------------------- | +| [jamespanther.com](https://jamespanther.com) | Personal site - Theme author | +| [antoinesoetewey.com](https://antoinesoetewey.com/) | Personal site | +| [leif.io](https://leif.io/) | Personal site and Tech blog | +| [dr460nf1r3.org](https://dr460nf1r3.org/) | Personal site and Blog | +| [OCram85.com](https://ocram85.com) | Personal site and Blog | +| [mackiser.github.io](https://mackiser.github.io) | Personal site and Blog | +| [jamesmillner.dev](https://jamesmillner.dev) | Personal site and Blog | +| [jeremic.ca](https://jeremic.ca) | Personal site and Blog | +| [rohn.tech](https://rohn.tech) | Personal site | +| [klimafreundlicher-kochen.de](https://www.klimafreundlicher-kochen.de) | Food blog (in German) | +| [datanalyze.be](https://datanalyze.be/) | Professional site | +| [sneaky-potato.github.io](https://sneaky-potato.github.io/) | Professional site and Blog | +| [kelset.dev](https://kelset.dev) | Personal site | +| [docteurelsavancaster.com](https://docteurelsavancaster.com/) | Professional site | +| [ruihao-li.github.io](https://ruihao-li.github.io/) | Personal site and Blog | +| [phalanxhead.dev](https://phalanxhead.dev) | Personal site and Blog | +| [Bible Multi Apps](https://hotlittlewhitedog.gitlab.io/biblemulti) | Personal site and Blog | +| [Jh123x](https://jh123x.com/) | Personal site and Blog | +| [sforzando LLC. and Inc.](https://sfz.dev/) | Corporate site and Blog | +| [szegedkungfu.hu](https://balance-se.github.io/) | Sports association site | +| [cbrincoveanu.com](https://www.cbrincoveanu.com/) | Personal site and Blog | +| [medical-humanities](https://medical-humanities.org) | Academic site | +| [boyersnet.com](https://boyersnet.com) | Personal site and Blog | +| [major.io](https://major.io) | Personal site and Blog | +| [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) | +| [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog | +| [adam.sr](https://adam.sr) | Personal site and Blog | +| [kpavlov.me](https://kpavlov.me) | Personal site and Blog | +| [pfisterer.dev](https://pfisterer.dev) | Personal site and Blog | +| [davidrothera.me](https://davidrothera.me) | Personal site and Blog | +| [sug.bitprism.net](https://sug.bitprism.net) | Personal Site and Blog | +| [arjuns.me](https://arjuns.me) | Personal Site and Blog | +| [statistix.be](https://statistix.be/) | Professional site | +| [sathyabh.at](https://sathyabh.at) | Personal Site and Blog | +| [leonidasv.com](https://leonidasv.com/) | Personal site and Blog | +| [andrew-jones.com](https://andrew-jones.com/) | Personal site and tech blog | +| [nikita.computer](https://nikita.computer/) | Personal site and tech blog | +| [blog.dejavu.moe](https://blog.dejavu.moe/) | Personal blog and weekly issues | +| [spiffyeight77.com](https://spiffyeight77.com/) | Personal blog | +| [Tomy's Blog](https://blog.tomy.me) | Personal site and Blog | +| [Beerjoa Blog](https://blog.beerjoa.dev) | Personal site and Blog | +| [simaosilva.com](https://simaosilva.com) | Personal Site | +| [kom.al](https://kom.al) | Personal Site | +| [andrea.mortaro.it](https://andrea.mortaro.it) | Personal Site and Blog | +| [yoganath.me](https://yoganath.me) | Personal Site and Blog | +| [josh-v.com](https://josh-v.com) | Personal Site and Tech blog | +| [rshmhrj.io](https://rshmhrj.io/) | Personal Site and Tech blog | +| [jamesjarvis.io](https://jamesjarvis.io) | Personal Site and Blog | +| [jnsgr.uk](https://jnsgr.uk) | Personal site and blog | +| [stupidjoey.net](https://stupidjoey.net) | Personal Site and Tech blog | +| [aminelch.github.io](https://aminelch.github.io) | Personal Site and Blog | +| [robertboscacci.com](https://robertboscacci.com) | Personal Site and Blog | +| [gorbe.io](https://www.gorbe.io) | Business Site and Blog | +| [techwolf12.nl](https://techwolf12.nl) | Personal Site and Tech Blog | +| [kylecapehart.com](https://kylecapehart.com/) | Personal Site and Blog | +| [hosni.info](https://hosni.info/) | Personal site and Tech Blog | + +**想成为Congo的用户?** 要将您的网站添加到此列表中,请提交[Pull Request](https://github.com/jpanther/congo/blob/dev/exampleSite/content/users/index.md)来添加。 diff --git a/themes/congo/exampleSite/layouts/partials/home/custom.html b/themes/congo/exampleSite/layouts/partials/home/custom.html new file mode 100644 index 0000000..a145efc --- /dev/null +++ b/themes/congo/exampleSite/layouts/partials/home/custom.html @@ -0,0 +1,13 @@ +{{ $jsHome := resources.Get "js/home.js" | resources.Minify | resources.Fingerprint "sha512" }} +
    + {{ partial "partials/home/page.html" . }} +
    + + diff --git a/themes/congo/exampleSite/layouts/shortcodes/swatches.html b/themes/congo/exampleSite/layouts/shortcodes/swatches.html new file mode 100644 index 0000000..7adf7c0 --- /dev/null +++ b/themes/congo/exampleSite/layouts/shortcodes/swatches.html @@ -0,0 +1,14 @@ +
    + + + +
    diff --git a/themes/congo/i18n/ar.yaml b/themes/congo/i18n/ar.yaml new file mode 100644 index 0000000..9ca9f24 --- /dev/null +++ b/themes/congo/i18n/ar.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "رابط الصفحة" + date: "{{ .Date }}" + date_updated: "تاريخ التحديث: {{ .Date }}" + draft: "مسودة" + edit_title: "تعديل المحتوى" + reading_time: + one: "دقيقة واحدة" + other: "{{ .Count }} من الدقائق" + reading_time_title: "وقت القراءة" + table_of_contents: "قائمة المحتويات" + word_count: + one: "كلمة واحدة" + other: "{{ .Count }} من الكلمات" + +author: + byline_title: "الكاتب" + +code: + copy: "نسخ" + copied: "تم النسخ" + +error: + 404_title: "لم يتم العثور على الصفحة :confused:" + 404_error: "خطأ 404" + 404_description: "يبدو بأن الصفحة التي تحاول الوصول إليها غير موجودة." + +footer: + dark_appearance: "حوّل إلى النمط الداكن" + light_appearance: "حوّل إلى النمط الفاتح" + powered_by: "مُمكن باستعمال {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "رابط إلى صفحة خارجية" + no_articles: "لا يوجد أي مقالات هنا حتى الآن." + +nav: + scroll_to_top_title: "اذهب إلى أعلى" + skip_to_main: "التخطي إلى المحتوى الرئيسي" + +search: + open_button_title: "بحث (/)" + close_button_title: "إغلاق (Esc)" + input_placeholder: "بحث" + +sharing: + email: "إرسال بواسطة البريد الإلكتروني" + facebook: "مشاركة على فيسبوك" + linkedin: "مشاركة على لينكد إن" + mastodon: "نشر تووت على ماستادون" + pinterest: "تثبيت على بينتريست" + reddit: "نشر على ريديت" + twitter: "تغريد على تويتر" + # threads: "Post on Threads" + telegram: "شارك على تيليجرام" + line: "شارك على لاين" + # weibo: "Share on Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "حديثًا" diff --git a/themes/congo/i18n/bg.yaml b/themes/congo/i18n/bg.yaml new file mode 100644 index 0000000..e812c38 --- /dev/null +++ b/themes/congo/i18n/bg.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Котва" + date: "{{ .Date }}" + date_updated: "Обновено: {{ .Date }}" + draft: "Чернова" + edit_title: "Редактиране на съдържание" + reading_time: + one: "{{ .Count }} минута" + other: "{{ .Count }} минути" + reading_time_title: "Време за четене" + table_of_contents: "Съдържание" + word_count: + one: "{{ .Count }} дума" + other: "{{ .Count }} думи" + +author: + byline_title: "Автор" + +code: + copy: "Копирай" + copied: "Копирано" + +error: + 404_title: "Страницата не е намерена :confused:" + 404_error: "Грешка 404" + 404_description: "Изглежда, че страницата, която търсите не съществува." + +footer: + dark_appearance: "Превключи към тъмна тема" + light_appearance: "Превключи към светла тема" + powered_by: "Осъществено чрез {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Връзка към външен сайт" + no_articles: "Тук няма статии за прелистване." + +nav: + scroll_to_top_title: "Превърти до началото" + skip_to_main: "Преминаване към основното съдържание" + +search: + open_button_title: "Търсене (/)" + close_button_title: "Затвори (Esc)" + input_placeholder: "Търси" + +sharing: + email: "Изпращане по имейл" + facebook: "Споделяне във Facebook" + linkedin: "Споделяне в LinkedIn" + mastodon: "Публикуване в Mastodon" + pinterest: "Пин в Pinterest" + reddit: "Публикуване в Reddit" + twitter: "Туит в Twitter" + telegram: "Споделете в Telegram" + # threads: "Post on Threads" + line: "Споделете в LINE" + weibo: "Споделете в Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Последни" diff --git a/themes/congo/i18n/bn.yaml b/themes/congo/i18n/bn.yaml new file mode 100644 index 0000000..7ddf63f --- /dev/null +++ b/themes/congo/i18n/bn.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Anchor" + date: "{{ .Date }}" + date_updated: "সর্বশেষ সম্পাদনার তারিখ: {{ .Date }}" + draft: "খসড়া" + edit_title: "সম্পাদনা করুন" + reading_time: + one: "{{ .Count }} মিনিট" + other: "{{ .Count }} মিনিট" + reading_time_title: "পড়ার সময়" + table_of_contents: "বিষয়সূচী" + word_count: + one: "{{ .Count }} টি শব্দ" + other: "{{ .Count }} টি শব্দ" + +author: + byline_title: "লেখক" + +code: + copy: "কপি করুন" + copied: "কপি হয়ে গেছে" + +error: + 404_title: "পেজটি খুঁজে পাওয়া যায়নি :confused:" + 404_error: "Error 404" + 404_description: "মনে হচ্ছে, আপনার অনুরোধ করা পেজটি খুঁজে পাওয়া যায়নি।" + +footer: + dark_appearance: "ডার্ক মোডে স্যুইচ করুন" + light_appearance: "লাইট মোডে স্যুইচ করুন" + powered_by: "{{ .Hugo }} এবং {{ .Congo }} দ্বারা চালিত" + +list: + externalurl_title: "অন্য ওয়েবসাইটের লিংক" + no_articles: "এখানে তালিকাভুক্ত করার মতো আপাতত কিছুই নেই।" + +nav: + scroll_to_top_title: "পেজের উপরের দিকে যান" + skip_to_main: "মূল বিষয়ে যান" + +search: + open_button_title: "খুঁজুন (/)" + close_button_title: "বন্ধ করুন (Esc)" + input_placeholder: "খুঁজুন" + +sharing: + email: "ইমেল করুন" + facebook: "ফেসবুকে শেয়ার করুন" + linkedin: "লিংকডইনে শেয়ার করুন" + # mastodon: "Toot on Mastodon" + pinterest: "পিন্টারেস্টে পিন করুন" + reddit: "রেড্ডিটে জমা দিন" + twitter: "ট্যুইট করুন" + # threads: "Post on Threads" + telegram: "টেলিগ্রামে শেয়ার করুন" + line: "লাইনে শেয়ার করুন" + # weibo: "Share on Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "সাম্প্রতিক" diff --git a/themes/congo/i18n/cs.yaml b/themes/congo/i18n/cs.yaml new file mode 100644 index 0000000..ce7ec73 --- /dev/null +++ b/themes/congo/i18n/cs.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Kotva" + date: "{{ .Date }}" + date_updated: "Aktualizováno: {{ .Date }}" + draft: "Koncept" + edit_title: "Upravit obsah" + reading_time: + one: "{{ .Count }} min" + other: "{{ .Count }} min" + reading_time_title: "Doba čtení" + table_of_contents: "Obsah" + word_count: + one: "{{ .Count }} slovo" + other: "{{ .Count }} slova" + +author: + byline_title: "Autor" + +code: + copy: "Kopírovat" + copied: "Zkopírováno" + +error: + 404_title: "Stránka nenalezena :confused:" + 404_error: "Chyba 404" + 404_description: "Zdá se, že požadovaná stránka neexistuje." + +footer: + dark_appearance: "Přepněte na tmavý vzhled" + light_appearance: "Přepněte na světlý vzhled" + powered_by: "Poháněno {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Odkaz na externí stránky" + no_articles: "Zde zatím nejsou k dispozici žádné články." + +nav: + scroll_to_top_title: "Přejděte nahoru" + skip_to_main: "Přejít na hlavní obsah" + +search: + open_button_title: "Vyhledávání (/)" + close_button_title: "Zavřít (Esc)" + input_placeholder: "Hledej" + +sharing: + email: "Odeslat e-mailem" + facebook: "Sdílet na Facebook" + linkedin: "Sdílet na LinkedIn" + mastodon: "Toot na Mastodon" + pinterest: "Pin na Pinterest" + reddit: "Odeslat na Reddit" + twitter: "Tweet na Twitter" + # threads: "Post on Threads" + telegram: "Sdílejte na Telegram" + line: "Sdílejte na LINE" + weibo: "Sdílejte na Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Nedávné" diff --git a/themes/congo/i18n/de.yaml b/themes/congo/i18n/de.yaml new file mode 100644 index 0000000..d2a0066 --- /dev/null +++ b/themes/congo/i18n/de.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Anker" + date: "{{ .Date }}" + date_updated: "Aktualisiert: {{ .Date }}" + draft: "Entwurf" + edit_title: "Inhalt bearbeiten" + reading_time: + one: "{{ .Count }} min" + other: "{{ .Count }} min" + reading_time_title: "Lesezeit" + table_of_contents: "Inhaltsverzeichnis" + word_count: + one: "{{ .Count }} Wort" + other: "{{ .Count }} Wörter" + +author: + byline_title: "Autor" + +code: + copy: "Kopieren" + copied: "Kopiert" + +error: + 404_title: "Seite nicht gefunden :confused:" + 404_error: "Fehler 404" + 404_description: "Es sieht so aus, als ob es diese Seite nicht gibt." + +footer: + dark_appearance: "Zum dunklen Erscheinungsbild wechseln" + light_appearance: "Zum hellen Erscheinungsbild wechseln" + powered_by: "Erstellt mit {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link zu einer externen Seite" + no_articles: "Es gibt hier noch keine Beiträge." + +nav: + scroll_to_top_title: "Zum Anfang scrollen" + skip_to_main: "Zum Hauptinhalt springen" + +search: + open_button_title: "Suche (/)" + close_button_title: "Schließen (Esc)" + input_placeholder: "Suchen" + +sharing: + email: "Per E-Mail teilen" + facebook: "Auf Facebook teilen" + linkedin: "Auf LinkedIn teilen" + mastodon: "Auf Mastodon posten" + pinterest: "Auf Pinterest pinnen" + reddit: "An Reddit senden" + twitter: "Auf Twitter teilen" + # threads: "Post on Threads" + telegram: "Auf Telegram teilen" + line: "Auf LINE teilen" + weibo: "Auf Weibo teilen" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Neue Beiträge" diff --git a/themes/congo/i18n/en.yaml b/themes/congo/i18n/en.yaml new file mode 100644 index 0000000..428377c --- /dev/null +++ b/themes/congo/i18n/en.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Anchor" + date: "{{ .Date }}" + date_updated: "Updated: {{ .Date }}" + draft: "Draft" + edit_title: "Edit content" + reading_time: + one: "{{ .Count }} min" + other: "{{ .Count }} mins" + reading_time_title: "Reading time" + table_of_contents: "Table of Contents" + word_count: + one: "{{ .Count }} word" + other: "{{ .Count }} words" + +author: + byline_title: "Author" + +code: + copy: "Copy" + copied: "Copied" + +error: + 404_title: "Page Not Found :confused:" + 404_error: "Error 404" + 404_description: "It seems that the page you've requested does not exist." + +footer: + dark_appearance: "Switch to dark appearance" + light_appearance: "Switch to light appearance" + powered_by: "Powered by {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link to external site" + no_articles: "There's no articles to list here yet." + +nav: + scroll_to_top_title: "Scroll to top" + skip_to_main: "Skip to main content" + +search: + open_button_title: "Search (/)" + close_button_title: "Close (Esc)" + input_placeholder: "Search" + +sharing: + email: "Send via email" + facebook: "Share on Facebook" + linkedin: "Share on LinkedIn" + mastodon: "Toot on Mastodon" + pinterest: "Pin on Pinterest" + reddit: "Submit to Reddit" + twitter: "Tweet on Twitter" + threads: "Post on Threads" + telegram: "Share on Telegram" + line: "Share on LINE" + weibo: "Share on Weibo" + x-twitter: "Post on X" + +shortcode: + recent_articles: "Recent" diff --git a/themes/congo/i18n/es.yaml b/themes/congo/i18n/es.yaml new file mode 100644 index 0000000..ce0bc16 --- /dev/null +++ b/themes/congo/i18n/es.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Ancla" + date: "{{ .Date }}" + date_updated: "Actualizado: {{ .Date }}" + draft: "Borrador" + edit_title: "Editar contenido" + reading_time: + one: "{{ .Count }} min" + other: "{{ .Count }} mins" + reading_time_title: "Tiempo de lectura" + table_of_contents: "Tabla de contenido" + word_count: + one: "{{ .Count }} palabra" + other: "{{ .Count }} palabras" + +author: + byline_title: "Autor" + +code: + copy: "Copiar" + copied: "Copiado" + +error: + 404_title: "Página no encontrada :confused:" + 404_error: "Error 404" + 404_description: "Parece que la página que solicitaste no existe." + +footer: + dark_appearance: "Cambiar a modo oscuro" + light_appearance: "Cambiar a modo claro" + powered_by: "Desarrollada con {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link a página externa" + no_articles: "Aún no hay artículos para listar aquí." + +nav: + scroll_to_top_title: "Ir arriba" + skip_to_main: "Ir al contenido" + +search: + open_button_title: "Buscar (/)" + close_button_title: "Cerrar (Esc)" + input_placeholder: "Buscar" + +sharing: + email: "Enviar vía email" + facebook: "Compartir en Facebook" + linkedin: "Compartir en LinkedIn" + # mastodon: "Toot on Mastodon" + pinterest: "Pinear en Pinterest" + reddit: "Publicar en Reddit" + twitter: "Tuitear en Twitter" + # threads: "Post on Threads" + telegram: "Compartir en Telegram" + line: "Compartir en LINE" + weibo: "Compartir en Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Reciente" diff --git a/themes/congo/i18n/fi.yaml b/themes/congo/i18n/fi.yaml new file mode 100644 index 0000000..64b7251 --- /dev/null +++ b/themes/congo/i18n/fi.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Ankkuri" + date: "{{ .Date }}" + date_updated: "Päivitetty: {{ .Date }}" + draft: "Luonnos" + edit_title: "Muokkaa sisältöä" + reading_time: + one: "{{ .Count }} minuutti" + other: "{{ .Count }} minuuttia" + reading_time_title: "Lukuaika" + table_of_contents: "Sisällysluettelo" + word_count: + one: "{{ .Count }} sana" + other: "{{ .Count }} sanaa" + +author: + byline_title: "Kirjoittaja" + +code: + copy: "Kopioi" + copied: "Kopioitu" + +error: + 404_title: "Sivua ei löydy :confused:" + 404_error: "Virhe 404" + 404_description: "Valitettavasti pyytämääsi sivua ei ole olemassa." + +footer: + dark_appearance: "Vaihda tummaan teemaan" + light_appearance: "Vaihda valoisaan teemaan" + powered_by: "Voimanlähteenä {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Linkki ulkoiselle sivustolle" + no_articles: "Täällä ei vielä ole listattavia artikkeleita, vielä." + +nav: + scroll_to_top_title: "Takaisin ylös" + skip_to_main: "Siirry pääsisältöön" + +search: + open_button_title: "Hae (/)" + close_button_title: "Sulje (Esc)" + input_placeholder: "Haku" + +sharing: + email: "Lähetä sähköpostilla" + facebook: "Jaa Facebookissa" + linkedin: "Jaa LinkedInissä" + # mastodon: "Toot on Mastodon" + pinterest: "Kiinnitä Pinterestiin" + reddit: "Lähetä Reddittiin" + twitter: "Twiittaa Twitterissä" + # threads: "Post on Threads" + telegram: "Jaa Telegramissa" + line: "Jaa LINEssä" + weibo: "Jaa Weibossä" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Viimeaikaiset" diff --git a/themes/congo/i18n/fr.yaml b/themes/congo/i18n/fr.yaml new file mode 100644 index 0000000..22f4ea0 --- /dev/null +++ b/themes/congo/i18n/fr.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Ancre" + date: "{{ .Date }}" + date_updated: "Mis à jour : {{ .Date }}" + draft: "Brouillon" + edit_title: "Modifier" + reading_time: + one: "{{ .Count }} min" + other: "{{ .Count }} mins" + reading_time_title: "Temps de lecture" + table_of_contents: "Sommaire" + word_count: + one: "{{ .Count }} mot" + other: "{{ .Count }} mots" + +author: + byline_title: "Auteur" + +code: + copy: "Copier" + copied: "Copié" + +error: + 404_title: "Cette page n'existe pas :confused:" + 404_error: "Erreur 404" + 404_description: "Il semble que la page que vous cherchiez n'existe pas." + +footer: + dark_appearance: "Passer au thème sombre" + light_appearance: "Passer au thème clair" + powered_by: "Propulsé par {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Lien d'article externe." + no_articles: "Il n'y a pas encore d'article ici." + +nav: + scroll_to_top_title: "Faire défiler jusqu'au bas de la page" + skip_to_main: "Aller au contenu" + +search: + open_button_title: "Rechercher (/)" + close_button_title: "Fermer (Esc)" + input_placeholder: "Rechercher" + +sharing: + email: "Envoyer par email" + facebook: "Poster sur Facebook" + linkedin: "Poster sur LinkedIn" + # mastodon: "Toot on Mastodon" + pinterest: "Poster sur Pinterest" + reddit: "Poster sur Reddit" + twitter: "Tweeter" + # threads: "Post on Threads" + telegram: "Partager sur Telegram" + line: "Partager sur LINE" + weibo: "Partager sur Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Articles récents" diff --git a/themes/congo/i18n/he.yaml b/themes/congo/i18n/he.yaml new file mode 100644 index 0000000..453d3f1 --- /dev/null +++ b/themes/congo/i18n/he.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "עוגן" + date: "{{ .Date }}" + date_updated: "עודכן: {{ .Date }}" + draft: "טיוטה" + edit_title: "ערוך תוכן" + reading_time: + one: "{{ .Count }} דקה" + other: "{{ .Count }} דקות" + reading_time_title: "זמן קריאה" + table_of_contents: "תוכן עניינים" + word_count: + one: "{{ .Count }} מילה" + other: "{{ .Count }} מילים" + +author: + byline_title: "מחבר" + +code: + copy: "העתק" + copied: "הועתק" + +error: + 404_title: "הדף לא נמצא :confused:" + 404_error: "שגיאה 404" + 404_description: "נראה שהדף שביקשת לא קיים." + +footer: + dark_appearance: "מעבר למצב לילה" + light_appearance: "מעבר למצב יום" + powered_by: "בנוי בעזרת {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "קישור לאתר חיצוני" + no_articles: "אין כרגע מאמרים ברשימה זו." + +nav: + scroll_to_top_title: "חזרה למעלה" + skip_to_main: "דילוג לתוכן" + +search: + open_button_title: "חיפוש (/)" + close_button_title: "סגירה (Esc)" + input_placeholder: "חיפוש" + +sharing: + email: "שליחת אימייל" + facebook: "שיתוף בפייסבוק" + linkedin: "שיתוף בלינקדאין" + # mastodon: "Toot on Mastodon" + pinterest: "שיתוף בפינטרסט" + reddit: "שליחה לרדיט" + twitter: "ציוץ בטוויטר" + # threads: "Post on Threads" + telegram: "שיתוף בטלגרם" + line: "שיתוף בליין" + # weibo: "Share on Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "חדשים" diff --git a/themes/congo/i18n/hu.yaml b/themes/congo/i18n/hu.yaml new file mode 100644 index 0000000..2f1a40e --- /dev/null +++ b/themes/congo/i18n/hu.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Horgony" + date: "{{ .Date }}" + date_updated: "Frissítve: {{ .Date }}" + draft: "Vázlat" + edit_title: "Tartalom szerkesztése" + reading_time: + one: "{{ .Count }} perc" + other: "{{ .Count }} perc" + reading_time_title: "Olvasási idő" + table_of_contents: "Tartalomjegyzék" + word_count: + one: "{{ .Count }} szó" + other: "{{ .Count }} szó" + +author: + byline_title: "Szerző" + +code: + copy: "Másolás" + copied: "Másolva" + +error: + 404_title: "Az oldal nem található :confused:" + 404_error: "404-es hiba" + 404_description: "Úgy tűnik a kért oldal nem található." + +footer: + dark_appearance: "Váltás sötét megjelenésre" + light_appearance: "Váltás világos megjelenésre" + powered_by: "Működteti {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link külső oldalra" + no_articles: "Itt még nincsenek tartalmak." + +nav: + scroll_to_top_title: "Görgess fel" + skip_to_main: "Ugrás a tartalomra" + +search: + open_button_title: "Keresés (/)" + close_button_title: "Bezárás (Esc)" + input_placeholder: "Keresés" + +sharing: + email: "Küldés emailben" + facebook: "Megosztás a Facebookon" + linkedin: "Megosztás a LinkedInen" + # mastodon: "Toot on Mastodon" + pinterest: "Megosztás a Pinteresten" + reddit: "Megosztás a Redditen" + twitter: "Megosztás a Twitteren" + # threads: "Post on Threads" + telegram: "Megosztás a Telegramon" + line: "Megosztás a LINE-on" + weibo: "Megosztás a Weibo-on" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Friss" diff --git a/themes/congo/i18n/id.yaml b/themes/congo/i18n/id.yaml new file mode 100644 index 0000000..07b21f5 --- /dev/null +++ b/themes/congo/i18n/id.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Anchor" + date: "{{ .Date }}" + date_updated: "Diperbarui: {{ .Date }}" + draft: "Draft" + edit_title: "Edit konten" + reading_time: + one: "{{ .Count }} menit" + other: "{{ .Count }} menit" + reading_time_title: "Waktu membaca" + table_of_contents: "Daftar isi" + word_count: + one: "{{ .Count }} kata" + other: "{{ .Count }} kata" + +author: + byline_title: "Penulis" + +code: + copy: "Salin" + copied: "Disalin" + +error: + 404_title: "Halaman Tidak Ditemukan :confused:" + 404_error: "Kesalahan 404" + 404_description: "Tampaknya halaman yang Anda minta tidak ada." + +footer: + dark_appearance: "Beralih ke tampilan gelap" + light_appearance: "Beralih ke tampilan terang" + powered_by: "Dipersembahkan oleh {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Tautan ke situs eksternal" + no_articles: "Belum ada artikel untuk dicantumkan di sini." + +nav: + scroll_to_top_title: "Gulir ke atas" + skip_to_main: "Lewati ke konten utama" + +search: + open_button_title: "Cari (/)" + close_button_title: "Tutup (Esc)" + input_placeholder: "Pencarian" + +sharing: + email: "Kirim lewat surel" + facebook: "Bagikan ke Facebook" + linkedin: "Bagikan ke LinkedIn" + mastodon: "Toot di Mastodon" + pinterest: "Pin di Pinterest" + reddit: "Kirim ke Reddit" + twitter: "Tweet di Twitter" + # threads: "Post on Threads" + telegram: "Bagikan ke Telegram" + line: "Bagikan ke LINE" + weibo: "Bagikan ke Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Terbaru" diff --git a/themes/congo/i18n/it.yaml b/themes/congo/i18n/it.yaml new file mode 100644 index 0000000..ed8a9f1 --- /dev/null +++ b/themes/congo/i18n/it.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Ancora" + date: "{{ .Date }}" + date_updated: "Aggiornato: {{ .Date }}" + draft: "Bozza" + edit_title: "Modifica i contenuti" + reading_time: + one: "{{ .Count }} minuto" + other: "{{ .Count }} minuti" + reading_time_title: "Tempo di lettura" + table_of_contents: "Indice dei contenuti" + word_count: + one: "{{ .Count }} parola" + other: "{{ .Count }} parole" + +author: + byline_title: "Autore" + +code: + copy: "Copia" + copied: "Copiato" + +error: + 404_title: "Pagina non trovata :confused:" + 404_error: "Errore 404" + 404_description: "Sembra che la pagina che hai richiesto non esista." + +footer: + dark_appearance: "Passa all'aspetto scuro" + light_appearance: "Passa all'aspetto chiaro" + powered_by: "Creato con {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link a sito esterno" + no_articles: "Non ci sono ancora articoli da elencare" + +nav: + scroll_to_top_title: "Torna in cima" + skip_to_main: "Salta al contenuto principale" + +search: + open_button_title: "Cerca (/)" + close_button_title: "Chiudi (Esc)" + input_placeholder: "Cerca" + +sharing: + email: "Invia tramite email" + facebook: "Condividi su Facebook" + linkedin: "Condividi su LinkedIn" + # mastodon: "Toot on Mastodon" + pinterest: "Pinna su Pinterest" + reddit: "Invia a Reddit" + twitter: "Tweetta su Twitter" + # threads: "Post on Threads" + telegram: "Condividi su Telegram" + line: "Condividi su LINE" + weibo: "Condividi su Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Recenti" diff --git a/themes/congo/i18n/ja.yaml b/themes/congo/i18n/ja.yaml new file mode 100644 index 0000000..836cfba --- /dev/null +++ b/themes/congo/i18n/ja.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "アンカー" + date: "{{ .Date }}" + date_updated: "更新日: {{ .Date }}" + draft: "下書き" + edit_title: "編集" + reading_time: + one: "{{ .Count }} 分" + other: "{{ .Count }} 分" + reading_time_title: "読むのに必要な時間" + table_of_contents: "目次" + word_count: + one: "{{ .Count }} 文字" + other: "{{ .Count }} 文字" + +author: + byline_title: "著者" + +code: + copy: "コピー" + copied: "コピーしました" + +error: + 404_title: "ページが見つかりませんでした。 :confused:" + 404_error: "Error 404" + 404_description: "ご要望のページは存在しないようです。" + +footer: + dark_appearance: "ダークモードへ切り替え" + light_appearance: "ライトモードへ切り替え" + powered_by: "Powered by {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "外部サイトへリンク" + no_articles: "ここに掲載する記事はまだありません。" + +nav: + scroll_to_top_title: "TOPへスクロール" + skip_to_main: "メインコンテンツへスキップ" + +search: + open_button_title: "検索 (/)" + close_button_title: "閉じる (Esc)" + input_placeholder: "Search" + +sharing: + email: " Eメールを送る" + facebook: "Facebookでシェアする" + linkedin: "LinkedInでシェアする" + mastodon: "Mastodonに投稿する" + pinterest: "Pinterestでピンする" + reddit: "Redditに投稿する" + twitter: "Twitterに投稿する" + # threads: "Post on Threads" + telegram: "Telegramでシェアする" + line: "LINEでシェアする" + weibo: "Weiboでシェアする" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "最近の記事" diff --git a/themes/congo/i18n/ko.yaml b/themes/congo/i18n/ko.yaml new file mode 100644 index 0000000..a14dc4e --- /dev/null +++ b/themes/congo/i18n/ko.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "앵커" + date: "{{ .Date }}" + date_updated: "수정됨: {{ .Date }}" + draft: "초안" + edit_title: "편집" + reading_time: + one: "{{ .Count }} 분" + other: "{{ .Count }} 분" + reading_time_title: "읽는 데 걸리는 시간" + table_of_contents: "목차" + word_count: + one: "{{ .Count }} 자" + other: "{{ .Count }} 자" + +author: + byline_title: "글쓴이" + +code: + copy: "복사" + copied: "복사됨" + +error: + 404_title: "페이지를 찾을 수 없어요 :confused:" + 404_error: "Error 404" + 404_description: "요청하신 페이지를 찾을 수 없어요." + +footer: + dark_appearance: "다크 모드로 전환" + light_appearance: "라이트 모드로 전환" + powered_by: "Powered by {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "외부 사이트 링크" + no_articles: "아직 글이 존재하지 않아요." + +nav: + scroll_to_top_title: "위로 스크롤" + skip_to_main: "메인 콘텐츠로 이동하기" + +search: + open_button_title: "검색 (/)" + close_button_title: "닫기 (Esc)" + input_placeholder: "검색" + +sharing: + email: "email로 보내기" + facebook: "Facebook에 공유하기" + linkedin: "LinkedIn에 공유하기" + mastodon: "Mastodon에 게시하기" + pinterest: "Pinterest에 핀하기" + reddit: "Reddit에 게시하기" + twitter: "Twitter에 트윗하기" + # threads: "Post on Threads" + telegram: "Telegram에 공유하기" + line: "LINE에 공유하기" + weibo: "Weibo에 공유하기" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "최신 글" diff --git a/themes/congo/i18n/nl.yaml b/themes/congo/i18n/nl.yaml new file mode 100644 index 0000000..0a40e92 --- /dev/null +++ b/themes/congo/i18n/nl.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Anker" + date: "{{ .Date }}" + date_updated: "Bijgewerkt: {{ .Date }}" + draft: "Concept" + edit_title: "Bewerk inhoud" + reading_time: + one: "{{ .Count }} minuut" + other: "{{ .Count }} minuten" + reading_time_title: "Leestijd" + table_of_contents: "Inhoudsopgave" + word_count: + one: "{{ .Count }} woord" + other: "{{ .Count }} woorden" + +author: + byline_title: "Auteur" + +code: + copy: "Kopieer" + copied: "Gekopieerd" + +error: + 404_title: "Pagina niet gevonden :confused:" + 404_error: "Fout 404" + 404_description: "Het lijkt er op dat de opgevraagde pagina niet bestaat." + +footer: + dark_appearance: "Omschakelen naar donker uiterlijk" + light_appearance: "Omschakelen naar licht uiterlijk" + powered_by: "Aangedreven door {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link naar externe site" + no_articles: "Er zijn nog geen artikelen om hier weer te geven." + +nav: + scroll_to_top_title: "Scroll naar toven" + skip_to_main: "Spring naar inhoud" + +search: + open_button_title: "Zoeken (/)" + close_button_title: "Sluiten (Esc)" + input_placeholder: "Zoeken" + +sharing: + email: "Verstuur via email" + facebook: "Deel op Facebook" + linkedin: "Deel op LinkedIn" + mastodon: "Toot met Mastodon" + pinterest: "Pin op Pinterest" + reddit: "Verzend naar Reddit" + twitter: "Tweet op Twitter" + # threads: "Post on Threads" + telegram: "Deel op Telegram" + line: "Deel op LINE" + weibo: "Deel op Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Recent" diff --git a/themes/congo/i18n/pl.yaml b/themes/congo/i18n/pl.yaml new file mode 100644 index 0000000..d1e8bcb --- /dev/null +++ b/themes/congo/i18n/pl.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Kotwica" + date: "{{ .Date }}" + date_updated: "Zaktualizowano: {{ .Date }}" + draft: "Szkic" + edit_title: "Edytuj treść" + reading_time: + one: "{{ .Count }} minuta" + other: "{{ .Count }} minut" + reading_time_title: "Przeczytasz w" + table_of_contents: "Spis treści" + word_count: + one: "{{ .Count }} słowo" + other: "{{ .Count }} słów" + +author: + byline_title: "Autor" + +code: + copy: "Kopiuj" + copied: "Skopiowano" + +error: + 404_title: "Strona nie została znaleziona :confused:" + 404_error: "Błąd 404" + 404_description: "Wygląda na to, że strona, której zażądałeś nie istnieje." + +footer: + dark_appearance: "Przełącz się na ciemny motyw" + light_appearance: "Przełączenie na jasny motyw" + powered_by: "Napędzany przez {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link do strony zewnętrznej" + no_articles: "Nie ma jeszcze artykułów, które można by tu wyświetlić." + +nav: + scroll_to_top_title: "Przewiń do góry" + skip_to_main: "Przejdź do głównej treści" + +search: + open_button_title: "Szukaj (/)" + close_button_title: "Zamknij (Esc)" + input_placeholder: "Szukaj" + +sharing: + email: "Wyślij przez e-mail" + facebook: "Udostępnij na Facebook" + linkedin: "Udostępnij na LinkedIn" + mastodon: "Udostępnij na Mastodon" + pinterest: "Udostępnij na Pinterest" + reddit: "Udostępnij na Reddit" + twitter: "Udostępnij na Twitter" + # threads: "Post on Threads" + telegram: "Udostępnij na Telegram" + line: "Udostępnij na LINE" + weibo: "Udostępnij na Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Ostatnie" diff --git a/themes/congo/i18n/pt-BR.yaml b/themes/congo/i18n/pt-BR.yaml new file mode 100644 index 0000000..ea30415 --- /dev/null +++ b/themes/congo/i18n/pt-BR.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Anchor" + date: "{{ .Date }}" + # date_updated: "Updated: {{ .Date }}" + draft: "Draft" + edit_title: "Editar Conteúdo" + reading_time: + one: "{{ .Count }} minuto" + other: "{{ .Count }} minutos" + reading_time_title: "Tempo de leitura" + # table_of_contents: "Table of Contents" + # word_count: + # one: "{{ .Count }} word" + # other: "{{ .Count }} words" + +author: + byline_title: "Autor" + +# code: +# copy: "Copy" +# copied: "Copied" + +error: + 404_title: "Página não econtrada :confused:" + 404_error: "Erro 404" + 404_description: "Aparentemente a página requisitada não existe." + +footer: + dark_appearance: "Mudar para modo escuro" + light_appearance: "Mudar para modo claro" + powered_by: "Movido por {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link para site externo" + no_articles: "Não tem artigos para lista aqui ainda." + +# nav: +# scroll_to_top_title: "Scroll to top" +# skip_to_main: "Skip to main content" + +# search: +# open_button_title: "Search (/)" +# close_button_title: "Close (Esc)" +# input_placeholder: "Search" + +sharing: + email: "Enviar por email" + facebook: "Compartilhar pelo Facebook" + linkedin: "Compartilhar pelo LinkedIn" + # mastodon: "Toot on Mastodon" + pinterest: "Pin no Pinterest" + reddit: "Postar no Reddit" + twitter: "Tweet no Twitter" + # threads: "Post on Threads" + telegram: "Compartilhar pelo Telegram" + line: "Compartilhar pelo LINE" + weibo: "Compartilhar pelo weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Recente" diff --git a/themes/congo/i18n/pt-PT.yaml b/themes/congo/i18n/pt-PT.yaml new file mode 100644 index 0000000..c63a251 --- /dev/null +++ b/themes/congo/i18n/pt-PT.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Anchor" + date: "{{ .Date }}" + date_updated: "Atualizado a: {{ .Date }}" + draft: "Rascunho" + edit_title: "Editar Conteúdo" + reading_time: + one: "{{ .Count }} minuto" + other: "{{ .Count }} minutos" + reading_time_title: "Tempo de leitura" + table_of_contents: "Tabela de conteúdos" + word_count: + one: "{{ .Count }} palavra" + other: "{{ .Count }} palavras" + +author: + byline_title: "Autor" + +code: + copy: "Copiar" + copied: "Copiado" + +error: + 404_title: "Página não econtrada :confused:" + 404_error: "Erro 404" + 404_description: "Aparentemente a página pretendida não existe." + +footer: + dark_appearance: "Mudar para modo escuro" + light_appearance: "Mudar para modo claro" + powered_by: "Movido por {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link para site externo" + no_articles: "Ainda não existem artigos para listar aqui." + +nav: + scroll_to_top_title: "Ir para o topo" + skip_to_main: "Ir para o conteúdo principal" + +search: + open_button_title: "Pesquisar (/)" + close_button_title: "Fechar (Esc)" + input_placeholder: "Pesquisar" + +sharing: + email: "Partilhar por email" + facebook: "Partilhar pelo Facebook" + linkedin: "Partilhar pelo LinkedIn" + # mastodon: "Toot on Mastodon" + pinterest: "Partilhar no Pinterest" + reddit: "Partilhar no Reddit" + twitter: "Partilhar no Twitter" + # threads: "Post on Threads" + telegram: "Partilhar pelo Telegram" + line: "Partilhar pelo LINE" + weibo: "Partilhar pelo Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Recente" diff --git a/themes/congo/i18n/ro.yaml b/themes/congo/i18n/ro.yaml new file mode 100644 index 0000000..d1bc12d --- /dev/null +++ b/themes/congo/i18n/ro.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Link" + date: "{{ .Date }}" + date_updated: "Modificat la: {{ .Date }}" + draft: "Draft" + edit_title: "Editează" + reading_time: + one: "{{ .Count }} min" + other: "{{ .Count }} minute" + reading_time_title: "Citit în" + table_of_contents: "Cuprins" + word_count: + one: "{{ .Count }} cuvânt" + other: "{{ .Count }} cuvinte" + +author: + byline_title: "Autor" + +code: + copy: "Copiază" + copied: "Copiat" + +error: + 404_title: "Pagină Lipsă :confused:" + 404_error: "Eroare 404" + 404_description: "Se pare că pagina pe care o cauți nu există." + +footer: + dark_appearance: "Schimbă la tema de noapte" + light_appearance: "Schimbă la tema normală" + powered_by: "Powered by {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Link la site extern" + no_articles: "Nu avem încă niciun articol." + +nav: + scroll_to_top_title: "Înapoi sus" + skip_to_main: "Sari la conținut" + +search: + open_button_title: "Caută (/)" + close_button_title: "Închide (Esc)" + input_placeholder: "Caută" + +sharing: + email: "Trimite pe email" + facebook: "Postează pe Facebook" + linkedin: "Postează LinkedIn" + # mastodon: "Toot on Mastodon" + pinterest: "Pune pe Pinterest" + reddit: "Postează pe Reddit" + twitter: "Scrie pe Twitter" + # threads: "Post on Threads" + telegram: "Trimite pe Telegram" + line: "Trimite pe LINE" + weibo: "Trimite pe Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Cele mai noi" diff --git a/themes/congo/i18n/ru.yaml b/themes/congo/i18n/ru.yaml new file mode 100644 index 0000000..b40527a --- /dev/null +++ b/themes/congo/i18n/ru.yaml @@ -0,0 +1,65 @@ +article: + anchor_label: "Якорь" + date: "{{ .Date }}" + date_updated: "Обновлено: {{ .Date }}" + draft: "Черновик" + edit_title: "Редактировать" + reading_time: + one: "{{ .Count }} минута" + few: "{{ .Count }} минуты" + many: "{{ .Count }} минут" + other: "{{ .Count }} минут" + reading_time_title: "Время чтения" + table_of_contents: "Содержание" + word_count: + one: "{{ .Count }} слово" + few: "{{ .Count }} слова" + many: "{{ .Count }} слов" + other: "{{ .Count }} слов" + +author: + byline_title: "Автор" + +code: + copy: "Копировать" + copied: "Скопировано" + +error: + 404_title: "Страница не найдена :confused:" + 404_error: "Ошибка 404" + 404_description: "Похоже, что запрошенная вами страница не существует." + +footer: + dark_appearance: "Переключиться на темную тему" + light_appearance: "Переключиться на светлую тему" + powered_by: "Работает на {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Ссылка на внешний сайт" + no_articles: "Здесь пока нет статей" + +nav: + scroll_to_top_title: "Вверх" + skip_to_main: "Перейти к содержанию" + +search: + open_button_title: "Поиск (/)" + close_button_title: "Закрыть (Esc)" + input_placeholder: "Поиск" + +sharing: + email: "Послать через email" + facebook: "Поделиться на Facebook" + linkedin: "Поделиться на LinkedIn" + mastodon: "Поделиться на Mastodon" + pinterest: "Поделиться на Pinterest" + reddit: "Опубликовать на Reddit" + twitter: "Опубликовать на Twitter" + # threads: "Post on Threads" + telegram: "Поделиться на Telegram" + line: "Поделиться на LINE" + weibo: "Поделиться на Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Последние" diff --git a/themes/congo/i18n/sk.yaml b/themes/congo/i18n/sk.yaml new file mode 100644 index 0000000..fc5a810 --- /dev/null +++ b/themes/congo/i18n/sk.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Kotva" + date: "{{ .Date }}" + date_updated: "Aktualizované: {{ .Date }}" + draft: "Koncept" + edit_title: "Upraviť obsah" + reading_time: + one: "{{ .Count }} min" + other: "{{ .Count }} min" + reading_time_title: "Čas čítania" + table_of_contents: "Obsah" + word_count: + one: "{{ .Count }} slovo" + other: "{{ .Count }} slov" + +author: + byline_title: "Autor" + +code: + copy: "Kopírovať" + copied: "Skopírované" + +error: + 404_title: "Stránka nenájdená :confused:" + 404_error: "Chyba 404" + 404_description: "Zdá sa, že požadovaná stránka neexistuje." + +footer: + dark_appearance: "Prepnúť na tmavý vzhľad." + light_appearance: "Prepnúť na svetlý vzhľad." + powered_by: "Používa {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Odkaz na externú stránku" + no_articles: "Zatiaľ tu nie sú žiadne články." + +nav: + scroll_to_top_title: "Prejdite na začiatok" + skip_to_main: "Preskočiť na hlavný obsah" + +search: + open_button_title: "Vyhľadávanie (/)" + close_button_title: "Zavrieť (Esc)" + input_placeholder: "Hľadaj" + +sharing: + email: "Odoslať e-mailom" + facebook: "Zdieľaj na Facebooku" + linkedin: "Zdieľaj na LinkedIn" + mastodon: "Toot na Mastodon" + pinterest: "Pin na Pinterest" + reddit: "Odoslať na Reddit" + twitter: "Tweet na Twitteri" + # threads: "Post on Threads" + telegram: "Zdieľaj na Telegram" + line: "Zdieľaj na LINE" + weibo: "Zdieľaj na Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Nedávne" diff --git a/themes/congo/i18n/sv.yaml b/themes/congo/i18n/sv.yaml new file mode 100644 index 0000000..692c8f3 --- /dev/null +++ b/themes/congo/i18n/sv.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Ankare" + date: "{{ .Date }}" + date_updated: "Uppdaterad: {{ .Date }}" + draft: "Utkast" + edit_title: "Redigera innehåll" + reading_time: + one: "{{ .Count }} min" + other: "{{ .Count }} min" + reading_time_title: "Lästid" + table_of_contents: "Innehållsförteckning" + word_count: + one: "{{ .Count }} ord" + other: "{{ .Count }} ord" + +author: + byline_title: "Författare" + +code: + copy: "Kopiera" + copied: "Kopierat" + +error: + 404_title: "Sidan hittades inte :confused:" + 404_error: "Error 404" + 404_description: "Den sida du har begärt verkar inte finnas." + +footer: + dark_appearance: "Byt till mörkt utseende" + light_appearance: "Byt till ljust utseende" + powered_by: "Drivs av {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Länk till extern webbplats" + no_articles: "Det finns inga artiklar att visa här ännu." + +nav: + scroll_to_top_title: "Scrolla till början" + skip_to_main: "Hoppa till huvudinnehåll" + +search: + open_button_title: "Sök (/)" + close_button_title: "Stäng (Esc)" + input_placeholder: "Sök" + +sharing: + email: "Skicka via e-post" + facebook: "Dela på Facebook" + linkedin: "Dela på LinkedIn" + mastodon: "Dela på Mastodon" + pinterest: "Fäst på Pinterest" + reddit: "Publicera på Reddit" + twitter: "Twittra på Twitter" + # threads: "Post on Threads" + telegram: "Dela på Telegram" + line: "Dela på LINE" + weibo: "Dela på Weibo" + x-twitter: "Publicera på X" + +shortcode: + recent_articles: "Senaste" diff --git a/themes/congo/i18n/ta.yaml b/themes/congo/i18n/ta.yaml new file mode 100644 index 0000000..3f4c248 --- /dev/null +++ b/themes/congo/i18n/ta.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "நங்கூரம்" + date: "{{ .Date }}" + date_updated: "புதுப்பிக்கப்பட்டது: {{ .Date }}" + draft: "வரைவு" + edit_title: "உள்ளடக்கத்தைத் திருத்தவும்" + reading_time: + one: "{{ .Count }} நிமிடம்" + other: "{{ .Count }} நிமிடங்கள்" + reading_time_title: "படிப்பதற்கு எடுக்கும் நேரம்" + table_of_contents: "பொருளடக்கம்" + word_count: + one: "{{ .Count }} சொல்" + other: "{{ .Count }} சொற்கள்" + +author: + byline_title: "நூலாசிரியர்" + +code: + copy: "நகலெடுக்கவும்" + copied: "நகலெடுக்கப்பட்டது" + +error: + 404_title: "பக்கம் கிடைக்கவில்லை :confused:" + 404_error: "பிழை 404" + 404_description: "நீங்கள் கோரிய பக்கம் இல்லை என்று தெரிகிறது." + +footer: + dark_appearance: "இருண்ட தோற்றத்திற்கு மாறவும்" + light_appearance: "ஒளி தோற்றத்திற்கு மாறவும்" + powered_by: "{{ .Hugo }} & {{ .Congo }} மூலம் இயக்கப்படுகிறது" + +list: + externalurl_title: "வெளிப்புற தளத்திற்கான இணைப்பு" + no_articles: "இங்கே பட்டியலிட இன்னும் கட்டுரைகள் எதுவும் இல்லை." + +nav: + scroll_to_top_title: "மேலே உருட்டவும்" + skip_to_main: "முக்கிய உள்ளடக்கத்திற்கு செல்க" + +search: + open_button_title: "தேடு (/)" + close_button_title: "மூடு (Esc)" + input_placeholder: "தேடு" + +sharing: + email: "மின்னஞ்சல் மூலம் அனுப்பவும்" + facebook: "Facebook இல் பகிரவும்" + linkedin: "LinkedIn இல் பகிரவும்" + mastodon: "Mastodon இல் டூட் செய்யவும்" + pinterest: "Pinterest இல் பின் செய்யவும்" + reddit: "Reddit க்கு சமர்ப்பிக்கவும்" + twitter: "Twitter இல் ட்வீட் செய்யுங்கள்" + # threads: "Post on Threads" + telegram: "Telegram இல் பகிரவும்" + line: "LINE இல் பகிரவும்" + weibo: "Weibo இல் பகிரவும்" + x-twitter: "X இல் இடுகையிடவும்" + +shortcode: + recent_articles: "சமீபத்திய கட்டுரைகள்" diff --git a/themes/congo/i18n/tr.yaml b/themes/congo/i18n/tr.yaml new file mode 100644 index 0000000..a974333 --- /dev/null +++ b/themes/congo/i18n/tr.yaml @@ -0,0 +1,61 @@ +article: + # anchor_label: "Anchor" + date: "{{ .Date }}" + date_updated: "Güncellendi: {{ .Date }}" + draft: "Taslak" + edit_title: "İçeriği düzenle" + reading_time: + one: "{{ .Count }} dk" + other: "{{ .Count }} dk" + reading_time_title: "Okuma süresi" + word_count: + one: "{{ .Count }} kelime" + other: "{{ .Count }} kelime" + +author: + byline_title: "Yazar" + +code: + copy: "Kopyala" + copied: "Kopyalandı" + +error: + 404_title: "Sayfa Bulunamadı :confused:" + 404_error: "Hata 404" + 404_description: "Görünüşe göre istediğiniz sayfa mevcut değil." + +footer: + dark_appearance: "Koyu görünüme geç" + light_appearance: "Açık görünüme geç" + powered_by: "{{ .Hugo }} & {{ .Congo }} tarafından desteklenmektedir." + +list: + externalurl_title: "Harici siteye bağlantı" + no_articles: "Henüz burada listelenecek bir makale yok." + +nav: + scroll_to_top_title: "Yukarı çık" + skip_to_main: "Ana içeriğe geç" + +search: + open_button_title: "Ara (/)" + close_button_title: "Kapat (Esc)" + input_placeholder: "Ara" + +sharing: + email: "Email ile gönder" + facebook: "Facebook'ta paylaş" + linkedin: "LinkedIn'te paylaş" + # mastodon: "Toot on Mastodon" + pinterest: "Pinterest'te pinle" + reddit: "Reddit'te gönder" + twitter: "Twitter'da Tweetle" + # threads: "Post on Threads" + telegram: "Telegram'da paylaş" + line: "LINE'da paylaş" + weibo: "Weibo'da paylaş" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Güncel" + icon_none: "Icon bulunamadı." diff --git a/themes/congo/i18n/uk.yaml b/themes/congo/i18n/uk.yaml new file mode 100644 index 0000000..e1ec2e5 --- /dev/null +++ b/themes/congo/i18n/uk.yaml @@ -0,0 +1,65 @@ +article: + anchor_label: "Закладка" + date: "{{ .Date }}" + date_updated: "Оновлено {{ .Date }}" + draft: "Чернетка" + edit_title: "Редагувати" + reading_time: + one: "{{ .Count }} хвилину" + few: "{{ .Count }} хвилини" + many: "{{ .Count }} хвилин" + other: "{{ .Count }} хвилини" + reading_time_title: "Прочитаєте за" + table_of_contents: "Зміст" + word_count: + one: "{{ .Count }} слово" + few: "{{ .Count }} слова" + many: "{{ .Count }} слів" + other: "{{ .Count }} слова" + +author: + byline_title: "Автор" + +code: + copy: "Копіювати" + copied: "Скопійовано" + +error: + 404_title: "Немає такої сторінки :confused:" + 404_error: "Помилка 404" + 404_description: "Здається, сторінки, яка вам потрібна, не існує." + +footer: + dark_appearance: "Увімкнути темний режим" + light_appearance: "Увімкнути світлий режим" + powered_by: "Сайт працює на рушії {{ .Hugo }} зі стилем {{ .Congo }}" + +list: + externalurl_title: "Зовнішнє посилання" + no_articles: "Дописів поки що немає" + +nav: + scroll_to_top_title: "Повернутися на початок сторінки" + skip_to_main: "До тексту" + +search: + open_button_title: "Шукати (/)" + close_button_title: "Закрити (Esc)" + input_placeholder: "Введіть запит тут" + +sharing: + email: "Надіслати електронною поштою" + facebook: "Поширити на Facebook" + linkedin: "Поширити на LinkedIn" + mastodon: "Поширити на Mastodon" + pinterest: "Зберегти на Pinterest" + reddit: "Опублікувати на Reddit" + twitter: "Поширити на Twitter" + # threads: "Post on Threads" + telegram: "Поширити на Telegram" + line: "Поширити на LINE" + weibo: "Поширити на Weibo" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "Недавні дописи" diff --git a/themes/congo/i18n/vi.yaml b/themes/congo/i18n/vi.yaml new file mode 100644 index 0000000..5b6376e --- /dev/null +++ b/themes/congo/i18n/vi.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "Neo" + date: "{{ .Date }}" + date_updated: "Đã cập nhật: {{ .Date }}" + draft: "Bản nháp" + edit_title: "Chỉnh sửa" + reading_time: + one: "{{ .Count }} phút" + other: "{{ .Count }} phút" + reading_time_title: "Thời gian đọc" + table_of_contents: "Mục lục" + word_count: + one: "{{ .Count }} từ" + other: "{{ .Count }} từ" + +author: + byline_title: "Tác giả" + +code: + copy: "Sao chép" + copied: "Đã sao chép" + +error: + 404_title: "Không tìm thấy trang :confused:" + 404_error: "Lỗi 404" + 404_description: "Có vẻ như trang bạn yêu cầu không tồn tại." + +footer: + dark_appearance: "Chuyển sang giao diện tối" + light_appearance: "Chuyển sang giao diện sáng" + powered_by: "Cung cấp bởi {{ .Hugo }} & {{ .Congo }}" + +list: + externalurl_title: "Liên kết đến trang web bên ngoài" + no_articles: "Chưa có bài viết ở đây." + +nav: + scroll_to_top_title: "Cuộn lên trên cùng" + skip_to_main: "Chuyển đến nội dung chính" + +search: + open_button_title: "Tìm kiếm (/)" + close_button_title: "Đóng (Esc)" + input_placeholder: "Tìm kiếm" + +sharing: + email: "Gửi qua email" + facebook: "Chia sẻ lên Facebook" + linkedin: "Chia sẻ lên LinkedIn" + mastodon: "Toot trên Mastodon" + pinterest: "Pin lên Pinterest" + reddit: "Gửi lên Reddit" + twitter: "Tweet lên Twitter" + # threads: "Post on Threads" + telegram: "Chia sẻ lên Telegram" + line: "Chia sẻ lên LINE" + weibo: "Chia sẻ lên Weibo" + x-twitter: "Đăng lên X" + +shortcode: + recent_articles: "Gần đây" diff --git a/themes/congo/i18n/zh-CN.yaml b/themes/congo/i18n/zh-CN.yaml new file mode 100644 index 0000000..79a1749 --- /dev/null +++ b/themes/congo/i18n/zh-CN.yaml @@ -0,0 +1,60 @@ +article: + anchor_label: "锚点" + date: "{{ .Date }}" + date_updated: "更新于 {{ .Date }}" + draft: "草稿" + edit_title: "编辑内容" + reading_time: + other: "{{ .Count }} 分钟" + reading_time_title: "预计阅读" + table_of_contents: "目录" + word_count: + one: "{{ .Count }} 字" + other: "{{ .Count }} 字" + +author: + byline_title: "作者" + +code: + copy: "复制" + copied: "已复制" + +error: + 404_title: "找不到网页 :confused:" + 404_error: "404 错误" + 404_description: "您请求的页面似乎不存在。" + +footer: + dark_appearance: "切换为深色模式" + light_appearance: "切换为浅色模式" + powered_by: "由 {{ .Hugo }} & {{ .Congo }} 强力驱动" + +list: + externalurl_title: "链接到外部网站" + no_articles: "这里还没有任何文章可以列出。" + +nav: + scroll_to_top_title: "回到顶部" + skip_to_main: "跳到主要内容" + +search: + open_button_title: "搜索 (/)" + close_button_title: "关闭 (Esc)" + input_placeholder: "搜索" + +sharing: + email: "通过电子邮件发送" + facebook: "分享到 Facebook" + linkedin: "分享到 LinkedIn" + mastodon: "嘟嘟到 Mastodon" + pinterest: "钉到 Pinterest" + reddit: "提交到 Reddit" + twitter: "分享到 Twitter" + # threads: "Post on Threads" + telegram: "分享到 Telegram" + line: "分享到 LINE" + weibo: "分享到 微博" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "最近的文章" diff --git a/themes/congo/i18n/zh-TW.yaml b/themes/congo/i18n/zh-TW.yaml new file mode 100644 index 0000000..b5e95ac --- /dev/null +++ b/themes/congo/i18n/zh-TW.yaml @@ -0,0 +1,61 @@ +article: + anchor_label: "定位點" + date: "{{ .Date }}" + date_updated: "上次編輯: {{ .Date }}" + draft: "草稿" + edit_title: "編輯內容" + reading_time: + one: "{{ .Count }} 分鐘" + other: "{{ .Count }} 分鐘" + reading_time_title: "預計閱讀時間" + table_of_contents: "目錄" + word_count: + one: "{{ .Count }} 字" + other: "{{ .Count }} 字" + +author: + byline_title: "作者" + +code: + copy: "複製" + copied: "已複製" + +error: + 404_title: "找不到網頁 :confused:" + 404_error: "404 錯誤" + 404_description: "您在尋找的頁面似乎不存在。" + +footer: + dark_appearance: "切換為深色模式" + light_appearance: "切換為淺色模式" + powered_by: "以 {{ .Hugo }} & {{ .Congo }} 製作" + +list: + externalurl_title: "外部網站連結" + no_articles: "這裡還沒有任何文章。" + +nav: + scroll_to_top_title: "捲動到頁頂" + skip_to_main: "快轉到主要內容" + +search: + open_button_title: "搜尋 (/)" + close_button_title: "關閉 (Esc)" + input_placeholder: "搜尋" + +sharing: + email: "以電子郵件發送" + facebook: "分享到 Facebook" + linkedin: "分享到 LinkedIn" + mastodon: "嘟到 Mastodon" + pinterest: "釘到 Pinterest" + reddit: "發送到 Reddit" + twitter: "推到 Twitter" + # threads: "Post on Threads" + telegram: "分享到 Telegram" + line: "分享到 LINE" + weibo: "分享到 微博" + # x-twitter: "Post on X" + +shortcode: + recent_articles: "最近的文章" diff --git a/themes/congo/images/home-page.jpg b/themes/congo/images/home-page.jpg new file mode 100644 index 0000000..2a619e0 Binary files /dev/null and b/themes/congo/images/home-page.jpg differ diff --git a/themes/congo/images/home-profile-list.jpg b/themes/congo/images/home-profile-list.jpg new file mode 100644 index 0000000..319da77 Binary files /dev/null and b/themes/congo/images/home-profile-list.jpg differ diff --git a/themes/congo/images/home-profile.jpg b/themes/congo/images/home-profile.jpg new file mode 100644 index 0000000..006c857 Binary files /dev/null and b/themes/congo/images/home-profile.jpg differ diff --git a/themes/congo/layouts/404.html b/themes/congo/layouts/404.html new file mode 100644 index 0000000..131cdac --- /dev/null +++ b/themes/congo/layouts/404.html @@ -0,0 +1,9 @@ +{{ define "main" }} +

    {{ i18n "error.404_title" | emojify }}

    +

    + {{ i18n "error.404_error" | emojify }} +

    +
    +

    {{ i18n "error.404_description" | emojify }}

    +
    +{{ end }} diff --git a/themes/congo/layouts/_default/_markup/render-heading.html b/themes/congo/layouts/_default/_markup/render-heading.html new file mode 100644 index 0000000..d1d4575 --- /dev/null +++ b/themes/congo/layouts/_default/_markup/render-heading.html @@ -0,0 +1 @@ +{{ .Text | safeHTML }} {{ if .Page.Params.showHeadingAnchors | default (.Page.Site.Params.article.showHeadingAnchors | default true) }}#{{ end }} \ No newline at end of file diff --git a/themes/congo/layouts/_default/_markup/render-image.html b/themes/congo/layouts/_default/_markup/render-image.html new file mode 100644 index 0000000..0f8cece --- /dev/null +++ b/themes/congo/layouts/_default/_markup/render-image.html @@ -0,0 +1,30 @@ +{{ $url := urls.Parse .Destination }} +{{ $altText := .Text }} +{{ $caption := .Title }} +{{ $class := "mx-auto my-0 rounded-md" }} + +{{ $file := $url.Path }} +{{ $img := .Page.Resources.GetMatch $file }} +{{- if and (not $img) .Page.File }} + {{ $path := path.Join .Page.File.Dir $file }} + {{ $img = resources.Get $path }} +{{ end -}} + +{{/* https://github.com/gohugoio/hugo/pull/10666 */}} +{{- $params := $url.Query -}} +{{- $x2Param := $params.Get "2x" -}} +{{- $x2 := false -}} +{{- if eq $x2Param "true" -}} + {{- $x2 = true -}} +{{- end -}} + +
    + {{- with $img -}} + {{ $lazy := $.Page.Site.Params.enableImageLazyLoading | default true }} + {{ $webp := $.Page.Site.Params.enableImageWebp | default true }} + {{ partial "picture.html" (dict "img" . "alt" $altText "class" $class "x2" $x2 "lazy" $lazy "webp" $webp) }} + {{- else -}} + {{ $altText }} + {{- end -}} + {{ with $caption }}
    {{ . | markdownify }}
    {{ end }} +
    diff --git a/themes/congo/layouts/_default/_markup/render-link.html b/themes/congo/layouts/_default/_markup/render-link.html new file mode 100644 index 0000000..6e73759 --- /dev/null +++ b/themes/congo/layouts/_default/_markup/render-link.html @@ -0,0 +1,17 @@ +{{- $link := .Destination -}} +{{- $isRemote := strings.HasPrefix $link "http" -}} +{{- if not $isRemote }} + {{- $url := urls.Parse .Destination -}} + {{- if $url.Path }} + {{- $fragment := "" }} + {{- with $url.Fragment }}{{ $fragment = printf "#%s" . }}{{ end -}} + {{- with .Page.GetPage $url.Path }} + {{ $link = printf "%s%s" .RelPermalink $fragment }} + {{ else }} + {{- if hasSuffix $url.Path ".md" }} + {{ warnf "[CONGO] Can't resolve: %s" .Destination }} + {{ end -}} + {{ end -}} + {{ end -}} +{{ end -}} +{{- .Text | safeHTML -}} \ No newline at end of file diff --git a/themes/congo/layouts/_default/baseof.html b/themes/congo/layouts/_default/baseof.html new file mode 100644 index 0000000..defe45f --- /dev/null +++ b/themes/congo/layouts/_default/baseof.html @@ -0,0 +1,51 @@ +{{- partial "partials/functions/warnings.html" .Site -}} +{{- partial "partials/functions/init.html" . -}} + + + {{- partial "head.html" . -}} + + + {{ $header := print "partials/header/" .Site.Params.header.layout ".html" }} + {{ if templates.Exists $header }} + {{ partial $header . }} + {{ else }} + {{ partial "partials/header/basic.html" . }} + {{ end }} +
    +
    + {{ block "main" . }}{{ end }} + {{ if and (.Site.Params.footer.showScrollToTop | default true) (gt .WordCount 200) }} + + {{ end }} +
    + {{- partial "footer.html" . -}} + {{ if .Site.Params.enableSearch | default false }} + {{- partial "search.html" . -}} + {{ end }} +
    + + diff --git a/themes/congo/layouts/_default/index.json b/themes/congo/layouts/_default/index.json new file mode 100644 index 0000000..d4e5dc6 --- /dev/null +++ b/themes/congo/layouts/_default/index.json @@ -0,0 +1,15 @@ +{{- $index := slice -}} +{{- range .Site.Pages -}} + {{- $section := .Site.GetPage "section" .Section -}} + {{- $showDate := .Params.showDate | default .Site.Params.article.showDate -}} + {{- $index = $index | append (dict + "date" (cond (and .IsPage $showDate) (.Date | time.Format (site.Params.dateFormat | default ":date_long")) nil) + "title" (.Title | emojify | safeJS) + "section" ($section.Title | emojify | safeJS) + "summary" (.Summary | emojify | safeJS) + "content" (.Plain | emojify | safeJS) + "permalink" .RelPermalink + ) + -}} +{{- end -}} +{{- $index | jsonify -}} diff --git a/themes/congo/layouts/_default/list.html b/themes/congo/layouts/_default/list.html new file mode 100644 index 0000000..b80fe91 --- /dev/null +++ b/themes/congo/layouts/_default/list.html @@ -0,0 +1,53 @@ +{{ define "main" }} + {{ $toc := and (.Params.showTableOfContents | default (.Site.Params.list.showTableOfContents | default false)) (in .TableOfContents " + {{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }} + {{ partial "breadcrumbs.html" . }} + {{ end }} +

    {{ .Title }}

    + +
    + {{ if $toc }} +
    +
    + {{ partial "toc.html" . }} +
    +
    + {{ end }} +
    + {{ .Content | emojify }} +
    +
    + {{ if .Data.Pages }} +
    + {{ if $.Params.groupByYear | default ($.Site.Params.list.groupByYear | default true) }} + {{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }} +

    + {{ .Key }} +

    +
    + {{ range .Pages }} + {{ partial "article-link.html" . }} + {{ end }} + {{ end }} + {{ else }} + {{ range (.Paginate .Pages).Pages }} + {{ partial "article-link.html" . }} + {{ end }} + {{ end }} +
    + {{ partial "pagination.html" . }} + {{ else }} +
    +

    + {{ i18n "list.no_articles" | emojify }} +

    +
    + {{ end }} +{{ end }} diff --git a/themes/congo/layouts/_default/simple.html b/themes/congo/layouts/_default/simple.html new file mode 100644 index 0000000..30e29eb --- /dev/null +++ b/themes/congo/layouts/_default/simple.html @@ -0,0 +1,18 @@ +{{ define "main" }} +
    +
    + {{ if .Params.showBreadcrumbs | default (.Site.Params.article.showBreadcrumbs | default false) }} + {{ partial "breadcrumbs.html" . }} + {{ end }} +

    + {{ .Title | emojify }} +

    +
    +
    + {{ .Content | emojify }} +
    +
    + {{ partial "sharing-links.html" . }} +
    +
    +{{ end }} diff --git a/themes/congo/layouts/_default/single.html b/themes/congo/layouts/_default/single.html new file mode 100644 index 0000000..2f2668c --- /dev/null +++ b/themes/congo/layouts/_default/single.html @@ -0,0 +1,66 @@ +{{ define "main" }} + {{- $images := .Resources.ByType "image" }} + {{- $cover := $images.GetMatch (.Params.cover | default "*cover*") }} + {{- $feature := $images.GetMatch (.Params.feature | default "*feature*") | default $cover }} +
    +
    + {{ if .Params.showBreadcrumbs | default (.Site.Params.article.showBreadcrumbs | default false) }} + {{ partial "breadcrumbs.html" . }} + {{ end }} +

    + {{ .Title | emojify }} +

    + {{ if or + (.Params.showDate | default (.Site.Params.article.showDate | default true)) + (and (.Params.showDateUpdated | default (.Site.Params.article.showDateUpdated | default false)) (ne (partial "functions/date.html" .Date) (partial "functions/date.html" .Lastmod))) + (and (.Params.showWordCount | default (.Site.Params.article.showWordCount | default false)) (ne .WordCount 0)) + (and (.Params.showReadingTime | default (.Site.Params.article.showReadingTime | default true)) (ne .ReadingTime 0)) + (.Params.showEdit | default (.Site.Params.article.showEdit | default false)) + }} +
    + {{ partial "article-meta.html" (dict "context" . "scope" "single") }} +
    + {{ end }} + {{ with $feature }} +
    + {{ $altText := $.Params.featureAlt | default $.Params.coverAlt | default "" }} + {{ $class := "mb-6 rounded-md" }} + {{ $webp := $.Page.Site.Params.enableImageWebp | default true }} + {{ partial "picture.html" (dict "img" . "alt" $altText "class" $class "lazy" false "webp" $webp) }} + {{ with $.Params.coverCaption }} +
    {{ . | markdownify }}
    + {{ end }} +
    + {{ end }} +
    +
    + {{ if and (.Params.showTableOfContents | default (.Site.Params.article.showTableOfContents | default false)) (in .TableOfContents " +
    + {{ partial "toc.html" . }} +
    +
  • + {{ end }} +
    + {{ .Content | emojify }} +
    + +
    + {{ partial "author.html" . }} + {{ partial "sharing-links.html" . }} + {{ partial "article-pagination.html" . }} + {{ if .Params.showComments | default (.Site.Params.article.showComments | default false) }} + {{ if templates.Exists "partials/comments.html" }} +
    +
    +
    + {{ partial "comments.html" . }} +
    +
    + {{ else }} + {{ warnf "[CONGO] Comments are enabled for %s but no comments partial exists." .File.Path }} + {{ end }} + {{ end }} +
    + +{{ end }} diff --git a/themes/congo/layouts/_default/sitemap.xml b/themes/congo/layouts/_default/sitemap.xml new file mode 100644 index 0000000..45789c6 --- /dev/null +++ b/themes/congo/layouts/_default/sitemap.xml @@ -0,0 +1,28 @@ +{{ printf "" | safeHTML }} + + {{ range .Data.Pages }} + {{ if not (in .Site.Params.sitemap.excludedKinds .Kind) }} + {{ if and (.Param "xml" | default true) (not (isset .Params "externalUrl")) }} + {{- if .Permalink -}} + + {{ .Permalink }}{{ if not .Lastmod.IsZero }} + {{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}{{ with .Sitemap.ChangeFreq }} + {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} + {{ .Sitemap.Priority }}{{ end }}{{ if .IsTranslated }}{{ range .Translations }} + {{ end }} + {{ end }} + + {{- end -}} + {{ end }} + {{ end }} + {{ end }} + diff --git a/themes/congo/layouts/_default/taxonomy.html b/themes/congo/layouts/_default/taxonomy.html new file mode 100644 index 0000000..a2a56f5 --- /dev/null +++ b/themes/congo/layouts/_default/taxonomy.html @@ -0,0 +1,34 @@ +{{ define "main" }} +
    + {{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }} + {{ partial "breadcrumbs.html" . }} + {{ end }} +

    {{ .Title }}

    +
    + {{ if .Content }} +
    +
    + {{ .Content | emojify }} +
    +
    + {{ end }} +
    + {{ range .Data.Terms }} +
    +

    + {{ .Page.Title }} + {{ if $.Site.Params.taxonomy.showTermCount | default true }} + · + + {{ .Count }} + + {{ end }} +

    +
    + {{ end }} +
    +{{ end }} diff --git a/themes/congo/layouts/_default/term.html b/themes/congo/layouts/_default/term.html new file mode 100644 index 0000000..4dba882 --- /dev/null +++ b/themes/congo/layouts/_default/term.html @@ -0,0 +1,43 @@ +{{ define "main" }} +
    + {{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }} + {{ partial "breadcrumbs.html" . }} + {{ end }} +

    {{ .Title }}

    +
    + {{ if .Content }} +
    +
    + {{ .Content | emojify }} +
    +
    + {{ end }} +
    + {{ if .Data.Pages }} +
    + {{ if $.Params.groupByYear | default ($.Site.Params.list.groupByYear | default true) }} + {{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }} +

    + {{ .Key }} +

    +
    + {{ range .Pages }} + {{ partial "article-link.html" . }} + {{ end }} + {{ end }} + {{ else }} + {{ range (.Paginate .Pages).Pages }} + {{ partial "article-link.html" . }} + {{ end }} + {{ end }} +
    + {{ partial "pagination.html" . }} + {{ else }} +
    +

    + {{ i18n "list.no_articles" | emojify }} +

    +
    + {{ end }} +
    +{{ end }} diff --git a/themes/congo/layouts/index.html b/themes/congo/layouts/index.html new file mode 100644 index 0000000..2feb97a --- /dev/null +++ b/themes/congo/layouts/index.html @@ -0,0 +1,8 @@ +{{ define "main" }} + {{ $partial := print "partials/home/" .Site.Params.homepage.layout ".html" }} + {{ if templates.Exists $partial }} + {{ partial $partial . }} + {{ else }} + {{ partial "partials/home/page.html" . }} + {{ end }} +{{ end }} diff --git a/themes/congo/layouts/partials/analytics.html b/themes/congo/layouts/partials/analytics.html new file mode 100644 index 0000000..133e13c --- /dev/null +++ b/themes/congo/layouts/partials/analytics.html @@ -0,0 +1,25 @@ +{{ if hugo.IsProduction }} + {{ with .Site.Params.fathomAnalytics.site }} + + {{ end }} + {{ with site.Params.plausibleAnalytics.domain }} + + {{ end }} + {{ with site.Params.umamiAnalytics }} + {{- $region := "eu" }} + {{- if isset . "region" }} + {{- $region = .region }} + {{- end }} + + {{ end }} + {{ template "_internal/google_analytics.html" . }} +{{ end }} diff --git a/themes/congo/layouts/partials/article-link.html b/themes/congo/layouts/partials/article-link.html new file mode 100644 index 0000000..8e78e1c --- /dev/null +++ b/themes/congo/layouts/partials/article-link.html @@ -0,0 +1,77 @@ +
    + {{- $images := $.Resources.ByType "image" }} + {{- $thumbnail := $images.GetMatch (.Params.thumbnail | default "*thumb*") }} + {{- $feature := $images.GetMatch (.Params.feature | default "*feature*") | default $thumbnail }} + {{- with $feature }} +
    + + {{ $.Params.featureAlt | default $.Params.thumbnailAlt | default + +
    + {{- end }} +
    +

    + {{ with .Params.externalUrl }} +
    + {{ $.Title | emojify }} + + + + +
    + {{ else }} + {{ .Title | emojify }} + {{ end }} + {{ if and .Draft .Site.Params.article.showDraftLabel }} +
    + {{ partial "badge.html" (i18n "article.draft" | emojify) }} +
    + {{ end }} + {{ if templates.Exists "partials/extend-article-link.html" }} + {{ partial "extend-article-link.html" . }} + {{ end }} +

    +
    + {{ partial "article-meta.html" . }} +
    + {{ if .Params.showSummary | default (.Site.Params.list.showSummary | default false) }} +
    + {{ .Summary | emojify }} +
    + {{ end }} +
    +
    diff --git a/themes/congo/layouts/partials/article-meta.html b/themes/congo/layouts/partials/article-meta.html new file mode 100644 index 0000000..dc7b771 --- /dev/null +++ b/themes/congo/layouts/partials/article-meta.html @@ -0,0 +1,67 @@ +{{/* Determine the correct context and scope */}} +{{/* This allows for different logic depending on where the partial is called */}} +{{ $context := . }} +{{ $scope := default nil }} + +{{ if (reflect.IsMap . ) }} + {{ $context = .context }} + {{ $scope = cond (not .scope) nil .scope }} +{{ end }} + +{{ with $context }} + {{ $meta := newScratch }} + + {{/* Gather partials for this context */}} + {{ if .Params.showDate | default (.Site.Params.article.showDate | default true) }} + {{ $meta.Add "partials" (slice (partial "meta/date.html" .Date)) }} + {{ end }} + + {{ if and (.Params.showDateUpdated | default (.Site.Params.article.showDateUpdated | default false)) (ne (partial "functions/date.html" .Date) (partial "functions/date.html" .Lastmod)) }} + {{ $meta.Add "partials" (slice (partial "meta/date-updated.html" .Lastmod)) }} + {{ end }} + + {{ if and (.Params.showWordCount | default (.Site.Params.article.showWordCount | default false)) (ne .WordCount 0) }} + {{ $meta.Add "partials" (slice (partial "meta/word-count.html" .)) }} + {{ end }} + + {{ if and (.Params.showReadingTime | default (.Site.Params.article.showReadingTime | default true)) (ne .ReadingTime 0) }} + {{ $meta.Add "partials" (slice (partial "meta/reading-time.html" .)) }} + {{ end }} + + {{ if and (eq $scope "single") (.Params.showEdit | default (.Site.Params.article.showEdit | default false)) }} + {{ $meta.Add "partials" (slice (partial "meta/edit.html" .)) }} + {{ end }} + + +
    + {{/* Output partials */}} + {{ with ($meta.Get "partials") }} + {{ delimit . "·" | safeHTML }} + {{ end }} + + {{/* Output draft label */}} + {{ if and (eq $scope "single") (and .Draft .Site.Params.article.showDraftLabel) }} + {{ partial "badge.html" (i18n "article.draft" | emojify) }} + {{ end }} +
    + + {{/* Output taxonomies */}} + {{ if or + (and (ne $scope "single") (.Params.showTaxonomies | default (.Site.Params.list.showTaxonomies | default (.Site.Params.article.showTaxonomies | default false)))) + (and (eq $scope "single") (.Params.showTaxonomies | default (.Site.Params.article.showTaxonomies | default false))) + }} +
    + {{ range $taxonomy, $terms := .Site.Taxonomies }} + {{ if (gt (len ($context.GetTerms $taxonomy)) 0) }} + {{ range $context.GetTerms $taxonomy }} + {{ .LinkTitle }} + {{ end }} + {{ end }} + {{ end }} +
    + {{ end }} +{{ end }} diff --git a/themes/congo/layouts/partials/article-pagination.html b/themes/congo/layouts/partials/article-pagination.html new file mode 100644 index 0000000..3700500 --- /dev/null +++ b/themes/congo/layouts/partials/article-pagination.html @@ -0,0 +1,59 @@ +{{ if .Params.showPagination | default (.Site.Params.article.showPagination | default true) }} + {{ if or .NextInSection .PrevInSection }} + {{ $next := .NextInSection }} + {{ $prev := .PrevInSection }} + {{ if .Params.invertPagination | default (.Site.Params.article.invertPagination | default false) }} + {{ $next = .PrevInSection }} + {{ $prev = .NextInSection }} + {{ end }} + + {{ end }} +{{ end }} diff --git a/themes/congo/layouts/partials/author-links.html b/themes/congo/layouts/partials/author-links.html new file mode 100644 index 0000000..d193fd8 --- /dev/null +++ b/themes/congo/layouts/partials/author-links.html @@ -0,0 +1,17 @@ +{{ with .Site.Language.Params.Author.links }} +
    + {{ range $links := . }} + {{ range $name, $url := $links }} + {{ partial "icon.html" $name }} + {{ end }} + {{ end }} +
    +{{ end }} diff --git a/themes/congo/layouts/partials/author.html b/themes/congo/layouts/partials/author.html new file mode 100644 index 0000000..97cdfc9 --- /dev/null +++ b/themes/congo/layouts/partials/author.html @@ -0,0 +1,27 @@ +{{ if .Params.showAuthor | default (.Site.Params.article.showAuthor | default true) }} +
    + {{ $lazy := .Params.enableImageLazyLoading|default .Site.Params.enableImageLazyLoading | default true }} + {{ $altText := ($.Site.Language.Params.Author.name | default "Author") }} + {{ with .Site.Language.Params.Author.image }} + {{ $authorImage := resources.Get . }} + {{ if $authorImage }} + {{ $imgClass := "!mb-0 !mt-0 me-4 w-24 h-auto rounded-full" }} + {{ partial "picture.html" (dict "img" $authorImage "alt" $altText "class" $imgClass "lazy" $lazy ) }} + {{ end }} + {{ end }} +
    + {{ with .Site.Language.Params.Author.name | markdownify | emojify }} +
    + {{ i18n "author.byline_title" | markdownify | emojify }} +
    +
    + {{ . }} +
    + {{ end }} + {{ with .Site.Language.Params.Author.bio | markdownify | emojify }} +
    {{ . }}
    + {{ end }} +
    {{ partialCached "author-links.html" . }}
    +
    +
    +{{ end }} diff --git a/themes/congo/layouts/partials/badge.html b/themes/congo/layouts/partials/badge.html new file mode 100644 index 0000000..daab821 --- /dev/null +++ b/themes/congo/layouts/partials/badge.html @@ -0,0 +1,7 @@ + + + {{ . }} + + diff --git a/themes/congo/layouts/partials/breadcrumbs.html b/themes/congo/layouts/partials/breadcrumbs.html new file mode 100644 index 0000000..8003504 --- /dev/null +++ b/themes/congo/layouts/partials/breadcrumbs.html @@ -0,0 +1,21 @@ +
      + {{ template "crumb" (dict "p1" . "p2" .) }} +
    +{{ define "crumb" }} + {{ if .p1.Parent }} + {{ template "crumb" (dict "p1" .p1.Parent "p2" .p2 ) }} + {{ else if not .p1.IsHome }} + {{ template "crumb" (dict "p1" .p1.Site.Home "p2" .p2 ) }} + {{ end }} +
  • + {{ if .p1.Title }} + {{- .p1.Title -}} + {{ else }} + {{- .p1.Section -}} + {{ end }}/ +
  • +{{ end }} diff --git a/themes/congo/layouts/partials/footer.html b/themes/congo/layouts/partials/footer.html new file mode 100644 index 0000000..9ea186e --- /dev/null +++ b/themes/congo/layouts/partials/footer.html @@ -0,0 +1,140 @@ +
    + {{/* Footer menu */}} + {{ if .Site.Menus.footer }} + + {{ end }} +
    +
    + {{/* Copyright */}} + {{ if .Site.Params.footer.showCopyright | default true }} +

    + {{- with site.Copyright }} + {{ . | emojify | markdownify }} + {{- else }} + © + {{ now.Format "2006" }} + {{ .Site.Language.Params.Author.name | markdownify | emojify }} + {{- end }} +

    + {{ end }} + {{/* Theme attribution */}} + {{ if .Site.Params.footer.showThemeAttribution | default true }} +

    + {{ $hugo := printf `Hugo` + }} + {{ $congo := printf `Congo` }} + {{ i18n "footer.powered_by" (dict "Hugo" $hugo "Congo" $congo) | safeHTML }} +

    + {{ end }} +
    +
    + {{/* Locale switcher */}} + {{ if and (.IsTranslated) (eq ($.Scratch.Get "localeCount") 0) }} +
    + {{ partial "translations.html" (dict "ctx" . "dir" "up") }} +
    + {{ end }} + {{/* Appearance switcher */}} + {{ if .Site.Params.footer.showAppearanceSwitcher | default false }} +
    + +
    + {{ end }} +
    +
    + {{/* Extend footer - eg. for extra scripts, etc. */}} + {{ if templates.Exists "partials/extend-footer.html" }} + {{ partial "extend-footer.html" . }} + {{ end }} +
    diff --git a/themes/congo/layouts/partials/functions/date.html b/themes/congo/layouts/partials/functions/date.html new file mode 100644 index 0000000..6234cb7 --- /dev/null +++ b/themes/congo/layouts/partials/functions/date.html @@ -0,0 +1 @@ +{{ return time.Format (site.Params.dateFormat | default ":date_long") . }} diff --git a/themes/congo/layouts/partials/functions/init.html b/themes/congo/layouts/partials/functions/init.html new file mode 100644 index 0000000..bdc0532 --- /dev/null +++ b/themes/congo/layouts/partials/functions/init.html @@ -0,0 +1,3 @@ +{{ $.Scratch.Set "searchCount" 0 }} +{{ $.Scratch.Set "switchCount" 0 }} +{{ $.Scratch.Set "localeCount" 0 }} diff --git a/themes/congo/layouts/partials/functions/warnings.html b/themes/congo/layouts/partials/functions/warnings.html new file mode 100644 index 0000000..8c00622 --- /dev/null +++ b/themes/congo/layouts/partials/functions/warnings.html @@ -0,0 +1,12 @@ +{{ if ne .Params.showAppearanceSwitcher nil }} + {{ warnf "[CONGO] Theme parameter `showAppearanceSwitcher` has been renamed to `footer.showAppearanceSwitcher`. Please update your site configuration." }} +{{ end }} +{{ if ne .Params.showScrollToTop nil }} + {{ warnf "[CONGO] Theme parameter `showScrollToTop` has been renamed to `footer.showScrollToTop`. Please update your site configuration." }} +{{ end }} +{{ if ne .Params.logo nil }} + {{ warnf "[CONGO] Theme parameter `logo` has been renamed to `header.logo`. Please update your site configuration." }} +{{ end }} +{{ if .Author }} + {{ warnf "[CONGO] Theme parameter `author` block in `languages.xx.toml` has been renamed to `params.author`. Please update your site configuration." }} +{{ end }} diff --git a/themes/congo/layouts/partials/head.html b/themes/congo/layouts/partials/head.html new file mode 100644 index 0000000..efb9c83 --- /dev/null +++ b/themes/congo/layouts/partials/head.html @@ -0,0 +1,146 @@ + + + + + {{/* Title */}} + {{ if .IsHome -}} + {{ .Site.Title | emojify }} + + {{- else -}} + {{ .Title | emojify }} · {{ .Site.Title | emojify }} + + {{- end }} + {{/* Asset bundles */}} + {{ $assets := newScratch }} + {{ $algorithm := .Site.Params.fingerprintAlgorithm | default "sha256" }} + {{ $jsAppearance := resources.Get "js/appearance.js" }} + {{ $jsAppearance = $jsAppearance | resources.Minify | resources.Fingerprint $algorithm }} + + {{ $cssScheme := resources.Get (printf "css/schemes/%s.css" (lower .Site.Params.colorScheme | default "congo")) }} + {{ if not $cssScheme }} + {{ $cssScheme = resources.Get "css/schemes/congo.css" }} + {{ end }} + {{ $assets.Add "css" (slice $cssScheme) }} + {{ $cssMain := resources.Get "css/compiled/main.css" }} + {{ $assets.Add "css" (slice $cssMain) }} + {{ $cssCustom := resources.Get "css/custom.css" }} + {{ if $cssCustom }} + {{ $assets.Add "css" (slice $cssCustom) }} + {{ end }} + {{ $bundleCSS := $assets.Get "css" | resources.Concat "css/main.bundle.css" | resources.Minify | resources.Fingerprint $algorithm }} + + {{ if .Site.Params.enableSearch | default false }} + {{ $jsFuse := resources.Get "lib/fuse/fuse.min.js" }} + {{ $jsSearch := resources.Get "js/search.js" }} + {{ $assets.Add "js" (slice $jsFuse $jsSearch) }} + {{ end }} + {{ if .Site.Params.enableQuicklink | default false }} + {{ $jsQuicklink := resources.Get "lib/quicklink/quicklink.umd.js" }} + {{ $jsQuicklinkInit := resources.Get "js/quicklink.js" }} + {{ $assets.Add "js" (slice $jsQuicklink $jsQuicklinkInit) }} + {{ end }} + {{ if .Site.Params.enableCodeCopy | default false }} + {{ $jsCode := resources.Get "js/code.js" }} + {{ $assets.Add "js" (slice $jsCode) }} + {{ end }} + {{ if or (eq .Site.Params.header.layout "hamburger") (eq .Site.Params.header.layout "hybrid") }} + {{ $jsMenu := resources.Get "js/menu.js" }} + {{ $assets.Add "js" (slice $jsMenu) }} + {{ end }} + {{ if eq (site.Language.LanguageDirection | default "ltr") "rtl" }} + {{ $jsRTL := resources.Get "js/rtl.js" }} + {{ $assets.Add "js" (slice $jsRTL) }} + {{ end }} + {{ if $assets.Get "js" }} + {{ $bundleJS := $assets.Get "js" | resources.Concat "js/main.bundle.js" | resources.Minify | resources.Fingerprint $algorithm }} + + {{ end }} + {{/* Metadata */}} + + {{ with union .Site.Params.keywords .Params.keywords -}} + + {{- end }} + {{ with .Site.Params.robots }} + + {{ end }} + {{ with .Params.robots }} + + {{ end }} + + {{ range .AlternativeOutputFormats -}} + {{ printf `` .Rel .MediaType.Type .RelPermalink ($.Site.Title | emojify) | safeHTML }} + {{ end -}} + {{/* Icons */}} + {{ if templates.Exists "partials/favicons.html" }} + {{ partialCached "favicons.html" .Site }} + {{ else }} + + + + + {{ end }} + {{/* Site Verification */}} + {{ with .Site.Params.verification.google }} + + {{ end }} + {{ with .Site.Params.verification.bing }} + + {{ end }} + {{ with .Site.Params.verification.pinterest }} + + {{ end }} + {{ with .Site.Params.verification.yandex }} + + {{ end }} + {{ with $.Params.externalUrl }} + + {{ end }} + {{/* Social */}} + {{ template "_internal/opengraph.html" . }} + {{ template "_internal/twitter_cards.html" . }} + {{/* Schema */}} + {{ partial "schema.html" . }} + {{/* Me */}} + {{ with .Site.Language.Params.Author.name }}{{ end }} + {{ with .Site.Language.Params.Author.links }} + {{ range $links := . }} + {{ range $name, $url := $links }}{{ end }} + {{ end }} + {{ end }} + {{/* Vendor */}} + {{ partial "vendor.html" . }} + {{/* Analytics */}} + {{ partial "analytics.html" . }} + {{/* Extend head - eg. for custom analytics scripts, etc. */}} + {{ if templates.Exists "partials/extend-head.html" }} + {{ partial "extend-head.html" . }} + {{ end }} + diff --git a/themes/congo/layouts/partials/header/basic.html b/themes/congo/layouts/partials/header/basic.html new file mode 100644 index 0000000..340826e --- /dev/null +++ b/themes/congo/layouts/partials/header/basic.html @@ -0,0 +1,112 @@ +
    + +
    diff --git a/themes/congo/layouts/partials/header/hamburger.html b/themes/congo/layouts/partials/header/hamburger.html new file mode 100644 index 0000000..018794b --- /dev/null +++ b/themes/congo/layouts/partials/header/hamburger.html @@ -0,0 +1,131 @@ +
    + +
    diff --git a/themes/congo/layouts/partials/header/hybrid.html b/themes/congo/layouts/partials/header/hybrid.html new file mode 100644 index 0000000..57beb74 --- /dev/null +++ b/themes/congo/layouts/partials/header/hybrid.html @@ -0,0 +1,234 @@ +
    + +
    diff --git a/themes/congo/layouts/partials/home/page.html b/themes/congo/layouts/partials/home/page.html new file mode 100644 index 0000000..60305a2 --- /dev/null +++ b/themes/congo/layouts/partials/home/page.html @@ -0,0 +1,11 @@ +
    + {{ with .Title }} +
    +

    {{ . | emojify }}

    +
    + {{ end }} +
    {{ .Content | emojify }}
    +
    +
    + {{ partial "recent-articles.html" . }} +
    diff --git a/themes/congo/layouts/partials/home/profile.html b/themes/congo/layouts/partials/home/profile.html new file mode 100644 index 0000000..2c35228 --- /dev/null +++ b/themes/congo/layouts/partials/home/profile.html @@ -0,0 +1,32 @@ +
    +
    + {{ $lazy := .Params.enableImageLazyLoading | default .Site.Params.enableImageLazyLoading | default true }} + {{ $altText := ($.Site.Language.Params.Author.name | default "Author") }} + {{ with .Site.Language.Params.Author.image }} + {{ $authorImage := resources.Get . }} + {{ if $authorImage }} + {{ $imgClass := "mb-2 h-auto w-36 rounded-full" }} + {{ partial "picture.html" (dict "img" $authorImage "alt" $altText "class" $imgClass "lazy" $lazy) }} + {{ end }} + {{ end }} +

    + {{ .Site.Language.Params.Author.name | default .Site.Title }} +

    + {{ with .Site.Language.Params.Author.headline }} +

    + {{ . | markdownify | emojify }} +

    + {{ end }} +
    + {{ partialCached "author-links.html" . }} +
    +
    +
    {{ .Content | emojify }}
    +
    +
    + {{ partial "recent-articles.html" . }} +
    diff --git a/themes/congo/layouts/partials/icon.html b/themes/congo/layouts/partials/icon.html new file mode 100644 index 0000000..d2c0f1c --- /dev/null +++ b/themes/congo/layouts/partials/icon.html @@ -0,0 +1,6 @@ +{{- $icon := resources.Get (print "icons/" . ".svg") -}} +{{- if $icon -}} + + {{- $icon.Content | safeHTML -}} + +{{- end -}} diff --git a/themes/congo/layouts/partials/logo.html b/themes/congo/layouts/partials/logo.html new file mode 100644 index 0000000..65f50ff --- /dev/null +++ b/themes/congo/layouts/partials/logo.html @@ -0,0 +1,34 @@ +{{- if .Site.Params.header.logo }} + {{- $logo := resources.Get .Site.Params.header.logo }} + {{- $logo_dark := resources.Get .Site.Params.header.logoDark }} + {{- if $logo }} + + + {{ .Site.Title }} + {{- if $logo_dark }} + {{ .Site.Title }} + {{- end }} + + {{- end }} +{{- end }} +{{- if .Site.Params.header.showTitle | default true }} + {{ .Site.Title | markdownify | emojify }} +{{- end }} diff --git a/themes/congo/layouts/partials/meta/date-updated.html b/themes/congo/layouts/partials/meta/date-updated.html new file mode 100644 index 0000000..cc25c69 --- /dev/null +++ b/themes/congo/layouts/partials/meta/date-updated.html @@ -0,0 +1,4 @@ + +{{- /* Trim EOF */ -}} diff --git a/themes/congo/layouts/partials/meta/date.html b/themes/congo/layouts/partials/meta/date.html new file mode 100644 index 0000000..654a6c7 --- /dev/null +++ b/themes/congo/layouts/partials/meta/date.html @@ -0,0 +1,4 @@ + +{{- /* Trim EOF */ -}} diff --git a/themes/congo/layouts/partials/meta/edit.html b/themes/congo/layouts/partials/meta/edit.html new file mode 100644 index 0000000..9318f49 --- /dev/null +++ b/themes/congo/layouts/partials/meta/edit.html @@ -0,0 +1,19 @@ +{{ $url := .Params.editURL | default (.Site.Params.article.editURL | default "#") }} +{{ $slash := "" }} +{{ if .Params.editAppendPath | default ( .Site.Params.article.editAppendPath | default false ) }} + {{ if ne (substr $url -1 1) "/" }} + {{ $slash = "/" }} + {{ end }} + {{ $url = printf "%s%s%s" $url $slash (path.Join .File.Path) }} +{{ end }} + + {{ partial "icon.html" "edit" }} + +{{- /* Trim EOF */ -}} diff --git a/themes/congo/layouts/partials/meta/reading-time.html b/themes/congo/layouts/partials/meta/reading-time.html new file mode 100644 index 0000000..71e706d --- /dev/null +++ b/themes/congo/layouts/partials/meta/reading-time.html @@ -0,0 +1,4 @@ + + {{- i18n "article.reading_time" .ReadingTime | markdownify | emojify -}} + +{{- /* Trim EOF */ -}} diff --git a/themes/congo/layouts/partials/meta/word-count.html b/themes/congo/layouts/partials/meta/word-count.html new file mode 100644 index 0000000..517101a --- /dev/null +++ b/themes/congo/layouts/partials/meta/word-count.html @@ -0,0 +1,4 @@ + + {{- i18n "article.word_count" .WordCount | markdownify | emojify -}} + +{{- /* Trim EOF */ -}} diff --git a/themes/congo/layouts/partials/pagination.html b/themes/congo/layouts/partials/pagination.html new file mode 100644 index 0000000..9fa6de8 --- /dev/null +++ b/themes/congo/layouts/partials/pagination.html @@ -0,0 +1,87 @@ +{{- with .Paginator }} + {{- $width := $.Site.Params.list.paginationWidth | default 1 }} + {{- $currentPageNumber := .PageNumber }} + {{- if gt .TotalPages 1 }} + {{- $start := math.Max 1 (sub .PageNumber $width) }} + {{- $end := math.Min .TotalPages (add $start (mul $width 2)) }} +
      + {{- with .Prev }} +
    • + +
    • + {{- end }} + {{- with .First }} + {{- if gt $currentPageNumber (add 1 $width) }} +
    • + + {{ .PageNumber }} + +
    • + {{- if gt $currentPageNumber (add 2 $width) }} +
    • + {{- end }} + {{- end }} + {{- end }} + {{- range $i := seq $start $end }} +
    • + {{- if eq $.Paginator.PageNumber $i }} + + {{ $i }} + + {{- else }} + + {{ $i }} + + {{- end }} +
    • + {{- end }} + {{- with .Last }} + {{- if and (lt $currentPageNumber (sub .TotalPages $width)) (lt $end .TotalPages) }} + {{- if lt $currentPageNumber (sub .TotalPages (add $width 1)) }} +
    • + {{- end }} +
    • + + {{ .PageNumber }} + +
    • + {{- end }} + {{- end }} + {{- with .Next }} +
    • + +
    • + {{- end }} +
    + {{- end }} +{{- end }} diff --git a/themes/congo/layouts/partials/picture.html b/themes/congo/layouts/partials/picture.html new file mode 100644 index 0000000..21b9cb5 --- /dev/null +++ b/themes/congo/layouts/partials/picture.html @@ -0,0 +1,111 @@ +{{ $img := .img }} +{{ $alt := .alt }} +{{ $class := .class }} +{{ $lazy := .lazy }} +{{ $webp := .webp }} +{{ $lqip := .lqip | default false }} +{{ $x2 := .x2 | default false }} + +{{ with $img }} + {{ if (eq .MediaType.SubType "svg") }} + {{ $width := "" }} + {{ $height := "" }} + {{ $svgContent := .Content }} + {{ range (findRESubmatch `]*width=["']([.0-9]*)["'a-zA-Z]` $svgContent 1) }} + {{ $width = index . 1 }} + {{ end }} + {{ range (findRESubmatch `]*height=["']([.0-9]*)["'a-zA-Z]` $svgContent 1) }} + {{ $height = index . 1 }} + {{ end }} + {{ if (eq "" $width $height) }} + {{ range (findRESubmatch `]*viewBox=["']?([.0-9]*) ([.0-9]*) ([.0-9]*) ([.0-9]*)` $svgContent 1) }} + {{ $width = index . 3 }} + {{ $height = index . 4 }} + {{ end }} + {{ end }} + {{ if (eq "" $width $height) }} + {{ warnf "[CONGO] Can't detect width and height for SVG %s" .RelPermalink }} + {{/* do not use lazy without dimensions */}} + {{ $lazy = false }} + {{ end }} + + + + + {{ else }} + + {{ $width := .Width }} + {{ $height := .Height }} + {{ if $x2 }} + {{ $width = div .Width 2 }} + {{ $height = div .Height 2 }} + {{ end }} + {{ if and $webp (ne .MediaType.SubType "gif") }} + + {{ end }} + + + {{ end }} +{{ end }} diff --git a/themes/congo/layouts/partials/recent-articles.html b/themes/congo/layouts/partials/recent-articles.html new file mode 100644 index 0000000..e326640 --- /dev/null +++ b/themes/congo/layouts/partials/recent-articles.html @@ -0,0 +1,6 @@ +{{ if .Site.Params.homepage.showRecent | default false }} +

    {{ i18n "shortcode.recent_articles" | emojify }}

    + {{ range first .Site.Params.homepage.recentLimit (.Paginate (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) .Site.Params.homepage.recentLimit).Pages }} + {{ partial "article-link.html" . }} + {{ end }} +{{ end }} diff --git a/themes/congo/layouts/partials/schema.html b/themes/congo/layouts/partials/schema.html new file mode 100644 index 0000000..1681f5f --- /dev/null +++ b/themes/congo/layouts/partials/schema.html @@ -0,0 +1,49 @@ +{{ if .IsHome -}} + +{{ else if .IsPage }} + {{- $iso8601 := "2006-01-02T15:04:05-07:00" -}} + +{{ end }} diff --git a/themes/congo/layouts/partials/search.html b/themes/congo/layouts/partials/search.html new file mode 100644 index 0000000..ed84857 --- /dev/null +++ b/themes/congo/layouts/partials/search.html @@ -0,0 +1,47 @@ + diff --git a/themes/congo/layouts/partials/sharing-links.html b/themes/congo/layouts/partials/sharing-links.html new file mode 100644 index 0000000..59212d4 --- /dev/null +++ b/themes/congo/layouts/partials/sharing-links.html @@ -0,0 +1,18 @@ +{{ with .Params.sharingLinks | default (.Site.Params.article.sharingLinks | default false) }} + {{ $links := site.Data.sharing }} +
    + {{ range . }} + {{ with index $links . }} + {{ partial "icon.html" .icon }} + {{ end }} + {{ end }} +
    +{{ end }} diff --git a/themes/congo/layouts/partials/toc.html b/themes/congo/layouts/partials/toc.html new file mode 100644 index 0000000..debcb2d --- /dev/null +++ b/themes/congo/layouts/partials/toc.html @@ -0,0 +1,10 @@ +
    + + {{ i18n "article.table_of_contents" }} + +
    + {{ .TableOfContents | emojify }} +
    +
    diff --git a/themes/congo/layouts/partials/translations.html b/themes/congo/layouts/partials/translations.html new file mode 100644 index 0000000..d2b8c2e --- /dev/null +++ b/themes/congo/layouts/partials/translations.html @@ -0,0 +1,60 @@ +{{- $ctx := "" -}} +{{- $dir := default "down" -}} +{{- if (reflect.IsMap . ) -}} + {{- $ctx = .ctx -}} + {{- $dir = cond (not .dir) nil .dir -}} +{{- else -}} + {{- $ctx = . -}} +{{- end -}} +{{ with page }} + {{ if .IsTranslated }} + {{ $currentLang := .Page.Lang }} + {{ if site.IsMultiLingual }} +
    + + {{ if eq $dir "down" }} + + {{ end }} +
    + {{ $siteLanguages := site.Languages }} + {{ $pageLang := .Page.Lang }} + {{ range .Page.AllTranslations }} + {{ $translation := . }} + {{ range $siteLanguages }} + {{ if eq $translation.Lang .Lang }} + {{ $selected := false }} +
    + {{ if eq $pageLang .Lang }} + {{ .LanguageName }}{{ partial "icon.html" "check" }} + {{ else }} + {{ .LanguageName }} + {{ end }} +
    + {{ end }} + {{ end }} + {{ end }} +
    +
    + {{ end }} + {{ end }} +{{ end }} diff --git a/themes/congo/layouts/partials/vendor.html b/themes/congo/layouts/partials/vendor.html new file mode 100644 index 0000000..e3e7297 --- /dev/null +++ b/themes/congo/layouts/partials/vendor.html @@ -0,0 +1,56 @@ +{{/* Mermaid */}} +{{ if .Page.HasShortcode "mermaid" }} + {{ $mermaidLib := resources.Get "lib/mermaid/mermaid.min.js" }} + {{ $mermaidConfig := resources.Get "js/mermaid.js" }} + {{ $mermaidConfig := $mermaidConfig | resources.Minify }} + {{ $mermaidJS := slice $mermaidLib $mermaidConfig | resources.Concat "js/mermaid.bundle.js" | resources.Fingerprint "sha512" }} + +{{ end }} +{{/* Chart */}} +{{ if .Page.HasShortcode "chart" }} + {{ $chartLib := resources.Get "lib/chart/chart.umd.js" }} + {{ $chartConfig := resources.Get "js/chart.js" }} + {{ $chartConfig := $chartConfig | resources.Minify }} + {{ $chartJS := slice $chartLib $chartConfig | resources.Concat "js/chart.bundle.js" | resources.Fingerprint "sha512" }} + +{{ end }} +{{/* Katex */}} +{{ if .Page.HasShortcode "katex" }} + {{ $katexCSS := resources.Get "lib/katex/katex.min.css" }} + {{ $katexCSS := $katexCSS | resources.Fingerprint "sha512" }} + + {{ $katexJS := resources.Get "lib/katex/katex.min.js" }} + {{ $katexJS := $katexJS | resources.Fingerprint "sha512" }} + + {{ $katexRenderJS := resources.Get "lib/katex/auto-render.min.js" }} + {{ $katexRenderJS := $katexRenderJS | resources.Fingerprint "sha512" }} + + {{ $katexFonts := resources.Match "lib/katex/fonts/*" }} + {{ range $katexFonts }} + {{ .Publish }} + {{ end }} +{{ end }} diff --git a/themes/congo/layouts/robots.txt b/themes/congo/layouts/robots.txt new file mode 100644 index 0000000..4f4ca44 --- /dev/null +++ b/themes/congo/layouts/robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Allow: / +Sitemap: {{ "sitemap.xml" | absURL }} diff --git a/themes/congo/layouts/shortcodes/alert.html b/themes/congo/layouts/shortcodes/alert.html new file mode 100644 index 0000000..f6299f9 --- /dev/null +++ b/themes/congo/layouts/shortcodes/alert.html @@ -0,0 +1,8 @@ +
    + + {{ partial "icon.html" (.Get 0 | default "triangle-exclamation") }} + + + {{- .Inner | markdownify -}} + +
    diff --git a/themes/congo/layouts/shortcodes/badge.html b/themes/congo/layouts/shortcodes/badge.html new file mode 100644 index 0000000..86d4e24 --- /dev/null +++ b/themes/congo/layouts/shortcodes/badge.html @@ -0,0 +1 @@ +{{ partial "badge.html" .Inner }} diff --git a/themes/congo/layouts/shortcodes/button.html b/themes/congo/layouts/shortcodes/button.html new file mode 100644 index 0000000..3dd80a7 --- /dev/null +++ b/themes/congo/layouts/shortcodes/button.html @@ -0,0 +1,9 @@ + + {{ .Inner }} + diff --git a/themes/congo/layouts/shortcodes/chart.html b/themes/congo/layouts/shortcodes/chart.html new file mode 100644 index 0000000..98ae8fa --- /dev/null +++ b/themes/congo/layouts/shortcodes/chart.html @@ -0,0 +1,12 @@ +
    + {{ $id := delimit (shuffle (seq 1 9)) "" }} + + +
    diff --git a/themes/congo/layouts/shortcodes/figure.html b/themes/congo/layouts/shortcodes/figure.html new file mode 100644 index 0000000..7f0e2ee --- /dev/null +++ b/themes/congo/layouts/shortcodes/figure.html @@ -0,0 +1,32 @@ +{{ if .Get "default" }} + {{ template "_internal/shortcodes/figure.html" . }} +{{ else }} + {{ $url := urls.Parse (.Get "src") }} + {{ $altText := .Get "alt" }} + {{ $caption := .Get "caption" }} + {{ $href := .Get "href" }} + {{ $class := default "mx-auto my-0 rounded-md" (.Get "class") }} + + {{ $file := $url.Path }} + {{ $img := .Page.Resources.GetMatch $file }} + {{- if and (not $img) .Page.File }} + {{ $path := path.Join .Page.File.Dir $file }} + {{ $img = resources.Get $path }} + {{ end -}} + + + + {{ with $href }}{{ end }} + + {{- with $img -}} + {{ $lazy := $.Page.Site.Params.enableImageLazyLoading | default true }} + {{ $webp := $.Page.Site.Params.enableImageWebp | default true }} + {{ partial "picture.html" (dict "img" . "alt" $altText "class" $class "lazy" $lazy "webp" $webp) }} + {{- else -}} + {{ $altText }} + {{- end -}} + + {{ with $href }}{{ end }} + {{ with $caption }}
    {{ . | markdownify }}
    {{ end }} + +{{ end }} diff --git a/themes/congo/layouts/shortcodes/icon.html b/themes/congo/layouts/shortcodes/icon.html new file mode 100644 index 0000000..fd56bc2 --- /dev/null +++ b/themes/congo/layouts/shortcodes/icon.html @@ -0,0 +1,8 @@ +{{ $icon := resources.Get (printf "icons/%s.svg" ($.Get 0)) }} +{{ if $icon }} + + {{ $icon.Content | safeHTML }} + +{{ else }} + {{ errorf `[CONGO] Shortcode "icon" error in "%s": Resource "%s" not found. Check the path is correct or remove the shortcode.` .Page.Path (printf "icons/%s.svg" ($.Get 0)) }} +{{ end }} diff --git a/themes/congo/layouts/shortcodes/katex.html b/themes/congo/layouts/shortcodes/katex.html new file mode 100644 index 0000000..a4160bf --- /dev/null +++ b/themes/congo/layouts/shortcodes/katex.html @@ -0,0 +1 @@ +{{/* Nothing to see here */}} diff --git a/themes/congo/layouts/shortcodes/lead.html b/themes/congo/layouts/shortcodes/lead.html new file mode 100644 index 0000000..d01e72f --- /dev/null +++ b/themes/congo/layouts/shortcodes/lead.html @@ -0,0 +1,3 @@ +
    + {{ .Inner | markdownify }} +
    diff --git a/themes/congo/layouts/shortcodes/mermaid.html b/themes/congo/layouts/shortcodes/mermaid.html new file mode 100644 index 0000000..7246bf8 --- /dev/null +++ b/themes/congo/layouts/shortcodes/mermaid.html @@ -0,0 +1,3 @@ +
    + {{ .Inner }} +
    diff --git a/themes/congo/layouts/shortcodes/screenshot.html b/themes/congo/layouts/shortcodes/screenshot.html new file mode 100644 index 0000000..793efc3 --- /dev/null +++ b/themes/congo/layouts/shortcodes/screenshot.html @@ -0,0 +1,27 @@ +{{ if .Get "src" }} + {{ $image := .Page.Resources.GetMatch (printf "*%s*" (.Get "src")) }} + + + {{- if .Get "href" -}} + + {{- end -}} + + {{ $altText := "" }} + {{ with .Get "alt" }} + {{ $altText = . }} + {{ else }} + {{ $altText = (.Get "caption") | markdownify | plainify }} + {{ end }} + + {{ $lazy := $.Page.Site.Params.enableImageLazyLoading | default true }} + {{ $webp := $.Page.Site.Params.enableImageWebp | default true }} + {{ partial "picture.html" (dict "img" $image "alt" $altText "x2" true "lazy" $lazy "webp" $webp) }} + + {{- if .Get "href" }}{{ end -}} + {{- if .Get "caption" -}} +
    + {{- .Get "caption" | markdownify -}} +
    + {{- end }} + +{{ end }} diff --git a/themes/congo/lighthouserc.js b/themes/congo/lighthouserc.js new file mode 100644 index 0000000..31dda91 --- /dev/null +++ b/themes/congo/lighthouserc.js @@ -0,0 +1,15 @@ +module.exports = { + ci: { + collect: { + startServerCommand: "npm run example -- --disableLiveReload --minify", + startServerReadyPattern: "Web Server is available", + url: ["http://localhost:8008/congo/samples/emoji/"], + settings: { + skipAudits: ["uses-text-compression", "uses-long-cache-ttl"], + }, + }, + upload: { + target: "temporary-public-storage", + }, + }, +}; diff --git a/themes/congo/netlify.toml b/themes/congo/netlify.toml new file mode 100644 index 0000000..e6f407c --- /dev/null +++ b/themes/congo/netlify.toml @@ -0,0 +1,18 @@ +[build] + command = "cd exampleSite && hugo --gc --minify -D -b $URL" + publish = "exampleSite/public" + +[build.environment] +HUGO_VERSION = "0.119.0" +HUGO_THEMESDIR = "../.." +HUGO_THEME = "repo" +TZ = "Australia/Melbourne" + +[context.production.environment] +HUGO_ENV = "production" + +[context.deploy-preview] +command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL" + +[context.branch-deploy] +command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL" diff --git a/themes/congo/package-lock.json b/themes/congo/package-lock.json new file mode 100644 index 0000000..d79b63e --- /dev/null +++ b/themes/congo/package-lock.json @@ -0,0 +1,6113 @@ +{ + "name": "hugo-congo-theme", + "version": "2.8.2", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "hugo-congo-theme", + "version": "2.8.2", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-free": "^6.5.2" + }, + "devDependencies": { + "@tailwindcss/typography": "^0.5.13", + "chart.js": "^4.4.2", + "fuse.js": "^7.0.0", + "jsdom": "^24.0.0", + "katex": "^0.16.10", + "mermaid": "^10.9.0", + "prettier": "^3.2.5", + "prettier-plugin-go-template": "^0.0.15", + "prettier-plugin-tailwindcss": "^0.5.14", + "quicklink": "^2.3.0", + "rimraf": "^5.0.5", + "tailwindcss": "^3.4.3", + "vendor-copy": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/jpanther" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@braintree/sanitize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", + "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==", + "dev": true + }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz", + "integrity": "sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@kurkle/color": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.1.tgz", + "integrity": "sha512-hW0GwZj06z/ZFUW2Espl7toVDjghJN+EKqyXzPSV8NV89d5BYp5rRMBJoc+aUN0x5OXDMeRQHazejr2Xmqj2tw==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.13.tgz", + "integrity": "sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@types/d3-scale": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.3.tgz", + "integrity": "sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==", + "dev": true, + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==", + "dev": true + }, + "node_modules/@types/d3-time": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", + "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==", + "dev": true + }, + "node_modules/@types/debug": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "dev": true, + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/mdast": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", + "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", + "dev": true + }, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chart.js": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.2.tgz", + "integrity": "sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==", + "dev": true, + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "dev": true, + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssstyle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz", + "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==", + "dev": true, + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cytoscape": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz", + "integrity": "sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==", + "dev": true, + "dependencies": { + "heap": "^0.2.6", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "dev": true, + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/d3": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.4.tgz", + "integrity": "sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==", + "dev": true, + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz", + "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==", + "dev": true, + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dev": true, + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dev": true, + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dev": true, + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dev": true, + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dev": true, + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "dev": true, + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "dev": true, + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "dev": true, + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dev": true, + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "dev": true + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dev": true, + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dev": true, + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dev": true, + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dev": true, + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre-d3-es": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", + "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "dev": true, + "dependencies": { + "d3": "^7.8.2", + "lodash-es": "^4.17.21" + } + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dev": true, + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/delaunator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "dev": true, + "dependencies": { + "robust-predicates": "^3.0.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/elkjs": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.1.tgz", + "integrity": "sha512-JWKDyqAdltuUcyxaECtYG6H4sqysXSLeoXuGUBfRNESMTkj+w+qdb0jya8Z/WI0jVd03WQtCGhS6FOFtlhD5FQ==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/fuse.js": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz", + "integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "peer": true + }, + "node_modules/jsdom": { + "version": "24.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.0.0.tgz", + "integrity": "sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==", + "dev": true, + "dependencies": { + "cssstyle": "^4.0.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.7", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.3", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.16.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^2.11.2" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/katex": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.10.tgz", + "integrity": "sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==", + "dev": true, + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/khroma": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", + "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==", + "dev": true + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "dev": true + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mermaid": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.0.tgz", + "integrity": "sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g==", + "dev": true, + "dependencies": { + "@braintree/sanitize-url": "^6.0.1", + "@types/d3-scale": "^4.0.3", + "@types/d3-scale-chromatic": "^3.0.0", + "cytoscape": "^3.28.1", + "cytoscape-cose-bilkent": "^4.1.0", + "d3": "^7.4.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.10", + "dayjs": "^1.11.7", + "dompurify": "^3.0.5", + "elkjs": "^0.9.0", + "katex": "^0.16.9", + "khroma": "^2.0.0", + "lodash-es": "^4.17.21", + "mdast-util-from-markdown": "^1.3.0", + "non-layered-tidy-tree-layout": "^2.0.2", + "stylis": "^4.1.3", + "ts-dedent": "^2.2.0", + "uuid": "^9.0.0", + "web-worker": "^1.2.0" + } + }, + "node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", + "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "dev": true, + "bin": { + "ncp": "bin/ncp" + } + }, + "node_modules/non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-go-template": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/prettier-plugin-go-template/-/prettier-plugin-go-template-0.0.15.tgz", + "integrity": "sha512-WqU92E1NokWYNZ9mLE6ijoRg6LtIGdLMePt2C7UBDjXeDH9okcRI3zRqtnWR4s5AloiqyvZ66jNBAa9tmRY5EQ==", + "dev": true, + "dependencies": { + "ulid": "^2.3.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "prettier": "^3.0.0" + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.14.tgz", + "integrity": "sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==", + "dev": true, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "@zackad/prettier-plugin-twig-melody": "*", + "prettier": "^3.0", + "prettier-plugin-astro": "*", + "prettier-plugin-css-order": "*", + "prettier-plugin-import-sort": "*", + "prettier-plugin-jsdoc": "*", + "prettier-plugin-marko": "*", + "prettier-plugin-organize-attributes": "*", + "prettier-plugin-organize-imports": "*", + "prettier-plugin-sort-imports": "*", + "prettier-plugin-style-order": "*", + "prettier-plugin-svelte": "*" + }, + "peerDependenciesMeta": { + "@ianvs/prettier-plugin-sort-imports": { + "optional": true + }, + "@prettier/plugin-pug": { + "optional": true + }, + "@shopify/prettier-plugin-liquid": { + "optional": true + }, + "@trivago/prettier-plugin-sort-imports": { + "optional": true + }, + "@zackad/prettier-plugin-twig-melody": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + }, + "prettier-plugin-css-order": { + "optional": true + }, + "prettier-plugin-import-sort": { + "optional": true + }, + "prettier-plugin-jsdoc": { + "optional": true + }, + "prettier-plugin-marko": { + "optional": true + }, + "prettier-plugin-organize-attributes": { + "optional": true + }, + "prettier-plugin-organize-imports": { + "optional": true + }, + "prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-style-order": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + } + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quicklink": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/quicklink/-/quicklink-2.3.0.tgz", + "integrity": "sha512-FyTanYArl5Gz2/C0ZjErvfFJtem/+d1RM4eK0jiXO6mL4Zjje+xsYtcK3ZtKX2Yb3HSfah5HekWrH2qhttYQjQ==", + "dev": true, + "dependencies": { + "route-manifest": "^1.0.0", + "throttles": "^1.0.0" + }, + "peerDependencies": { + "react": "^16.8.0", + "react-dom": "^16.8.0" + } + }, + "node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "peer": true + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regexparam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-1.3.0.tgz", + "integrity": "sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "dev": true, + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/robust-predicates": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz", + "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==", + "dev": true + }, + "node_modules/route-manifest": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/route-manifest/-/route-manifest-1.0.0.tgz", + "integrity": "sha512-qn0xJr4nnF4caj0erOLLAHYiNyzqhzpUbgDQcEHrmBoG4sWCDLnIXLH7VccNSxe9cWgbP2Kw/OjME+eH3CeRSA==", + "dev": true, + "dependencies": { + "regexparam": "^1.3.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "dev": true + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==", + "dev": true + }, + "node_modules/sucrase": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/tailwindcss": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", + "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throttles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttles/-/throttles-1.0.1.tgz", + "integrity": "sha512-fab7Xg+zELr9KOv4fkaBoe/b3L0GMGLd0IBSCn16GoE/Qx6/OfCr1eGNyEcDU2pUA79qQfZ8kPQWlRuok4YwTw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "dev": true, + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "engines": { + "node": ">=6.10" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/ulid": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", + "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "dev": true, + "bin": { + "ulid": "bin/cli.js" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "dev": true, + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vendor-copy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vendor-copy/-/vendor-copy-3.0.1.tgz", + "integrity": "sha512-XjQ707tDNDVR9HBH2XoDffBB6em2QmWmD52uh8mt+KbFjv94DjDtz/Sh9lXSEWU1POg/fWXnjswe8hW5fqgL+w==", + "dev": true, + "dependencies": { + "ncp": "^2.0.0" + }, + "bin": { + "vendor-copy": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/web-worker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", + "dev": true + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", + "dev": true, + "dependencies": { + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "dev": true, + "engines": { + "node": ">= 14" + } + } + }, + "dependencies": { + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true + }, + "@braintree/sanitize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", + "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==", + "dev": true + }, + "@fortawesome/fontawesome-free": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz", + "integrity": "sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q==" + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + } + } + }, + "@kurkle/color": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.1.tgz", + "integrity": "sha512-hW0GwZj06z/ZFUW2Espl7toVDjghJN+EKqyXzPSV8NV89d5BYp5rRMBJoc+aUN0x5OXDMeRQHazejr2Xmqj2tw==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@tailwindcss/typography": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.13.tgz", + "integrity": "sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==", + "dev": true, + "requires": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + } + }, + "@types/d3-scale": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.3.tgz", + "integrity": "sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==", + "dev": true, + "requires": { + "@types/d3-time": "*" + } + }, + "@types/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==", + "dev": true + }, + "@types/d3-time": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", + "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==", + "dev": true + }, + "@types/debug": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "dev": true, + "requires": { + "@types/ms": "*" + } + }, + "@types/mdast": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", + "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", + "dev": true, + "requires": { + "@types/unist": "*" + } + }, + "@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "dev": true + }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", + "dev": true + }, + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "dev": true + }, + "chart.js": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.2.tgz", + "integrity": "sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==", + "dev": true, + "requires": { + "@kurkle/color": "^0.3.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "dev": true, + "requires": { + "layout-base": "^1.0.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssstyle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz", + "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==", + "dev": true, + "requires": { + "rrweb-cssom": "^0.6.0" + } + }, + "cytoscape": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz", + "integrity": "sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==", + "dev": true, + "requires": { + "heap": "^0.2.6", + "lodash": "^4.17.21" + } + }, + "cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "dev": true, + "requires": { + "cose-base": "^1.0.0" + } + }, + "d3": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.4.tgz", + "integrity": "sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==", + "dev": true, + "requires": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + } + }, + "d3-array": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz", + "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==", + "dev": true, + "requires": { + "internmap": "1 - 2" + } + }, + "d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "dev": true + }, + "d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dev": true, + "requires": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + } + }, + "d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dev": true, + "requires": { + "d3-path": "1 - 3" + } + }, + "d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "dev": true + }, + "d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dev": true, + "requires": { + "d3-array": "^3.2.0" + } + }, + "d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dev": true, + "requires": { + "delaunator": "5" + } + }, + "d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "dev": true + }, + "d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dev": true, + "requires": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + } + }, + "d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dev": true, + "requires": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "dev": true + }, + "d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dev": true, + "requires": { + "d3-dsv": "1 - 3" + } + }, + "d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dev": true, + "requires": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + } + }, + "d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "dev": true + }, + "d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "dev": true, + "requires": { + "d3-array": "2.5.0 - 3" + } + }, + "d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "dev": true + }, + "d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dev": true, + "requires": { + "d3-color": "1 - 3" + } + }, + "d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "dev": true + }, + "d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "dev": true + }, + "d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "dev": true + }, + "d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "dev": true + }, + "d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "dev": true, + "requires": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + }, + "dependencies": { + "d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "dev": true, + "requires": { + "internmap": "^1.0.0" + } + }, + "d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true + }, + "d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dev": true, + "requires": { + "d3-path": "1" + } + }, + "internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "dev": true + } + } + }, + "d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dev": true, + "requires": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + } + }, + "d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "dev": true, + "requires": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + } + }, + "d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "dev": true + }, + "d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dev": true, + "requires": { + "d3-path": "^3.1.0" + } + }, + "d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dev": true, + "requires": { + "d3-array": "2 - 3" + } + }, + "d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dev": true, + "requires": { + "d3-time": "1 - 3" + } + }, + "d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "dev": true + }, + "d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dev": true, + "requires": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + } + }, + "d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dev": true, + "requires": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + } + }, + "dagre-d3-es": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", + "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "dev": true, + "requires": { + "d3": "^7.8.2", + "lodash-es": "^4.17.21" + } + }, + "data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "requires": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dev": true, + "requires": { + "character-entities": "^2.0.0" + } + }, + "delaunator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "dev": true, + "requires": { + "robust-predicates": "^3.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "dev": true + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==", + "dev": true + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "elkjs": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.1.tgz", + "integrity": "sha512-JWKDyqAdltuUcyxaECtYG6H4sqysXSLeoXuGUBfRNESMTkj+w+qdb0jya8Z/WI0jVd03WQtCGhS6FOFtlhD5FQ==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "fuse.js": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz", + "integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==", + "dev": true + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^3.1.1" + } + }, + "http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "peer": true + }, + "jsdom": { + "version": "24.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.0.0.tgz", + "integrity": "sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==", + "dev": true, + "requires": { + "cssstyle": "^4.0.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.7", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.3", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.16.0", + "xml-name-validator": "^5.0.0" + } + }, + "katex": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.10.tgz", + "integrity": "sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==", + "dev": true, + "requires": { + "commander": "^8.3.0" + } + }, + "khroma": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", + "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==", + "dev": true + }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true + }, + "layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "dev": true + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, + "lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true + }, + "mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + } + }, + "mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "mermaid": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.0.tgz", + "integrity": "sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g==", + "dev": true, + "requires": { + "@braintree/sanitize-url": "^6.0.1", + "@types/d3-scale": "^4.0.3", + "@types/d3-scale-chromatic": "^3.0.0", + "cytoscape": "^3.28.1", + "cytoscape-cose-bilkent": "^4.1.0", + "d3": "^7.4.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.10", + "dayjs": "^1.11.7", + "dompurify": "^3.0.5", + "elkjs": "^0.9.0", + "katex": "^0.16.9", + "khroma": "^2.0.0", + "lodash-es": "^4.17.21", + "mdast-util-from-markdown": "^1.3.0", + "non-layered-tidy-tree-layout": "^2.0.2", + "stylis": "^4.1.3", + "ts-dedent": "^2.2.0", + "uuid": "^9.0.0", + "web-worker": "^1.2.0" + } + }, + "micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "dev": true, + "requires": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "dev": true, + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "dev": true, + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "dev": true, + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "dev": true, + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "dev": true, + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "dev": true, + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "dev": true, + "requires": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "dev": true, + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "dev": true, + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "dev": true, + "requires": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "dev": true, + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "dev": true, + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "dev": true + }, + "micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "dev": true + }, + "micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "dev": true, + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "dev": true, + "requires": { + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-sanitize-uri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", + "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "dev": true, + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "dev": true, + "requires": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "dev": true + }, + "micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true + }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "dev": true + }, + "non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + } + }, + "postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.11" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + } + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true + }, + "prettier-plugin-go-template": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/prettier-plugin-go-template/-/prettier-plugin-go-template-0.0.15.tgz", + "integrity": "sha512-WqU92E1NokWYNZ9mLE6ijoRg6LtIGdLMePt2C7UBDjXeDH9okcRI3zRqtnWR4s5AloiqyvZ66jNBAa9tmRY5EQ==", + "dev": true, + "requires": { + "ulid": "^2.3.0" + } + }, + "prettier-plugin-tailwindcss": { + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.14.tgz", + "integrity": "sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==", + "dev": true, + "requires": {} + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quicklink": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/quicklink/-/quicklink-2.3.0.tgz", + "integrity": "sha512-FyTanYArl5Gz2/C0ZjErvfFJtem/+d1RM4eK0jiXO6mL4Zjje+xsYtcK3ZtKX2Yb3HSfah5HekWrH2qhttYQjQ==", + "dev": true, + "requires": { + "route-manifest": "^1.0.0", + "throttles": "^1.0.0" + } + }, + "react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "peer": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regexparam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-1.3.0.tgz", + "integrity": "sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "dev": true, + "requires": { + "glob": "^10.3.7" + } + }, + "robust-predicates": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz", + "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==", + "dev": true + }, + "route-manifest": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/route-manifest/-/route-manifest-1.0.0.tgz", + "integrity": "sha512-qn0xJr4nnF4caj0erOLLAHYiNyzqhzpUbgDQcEHrmBoG4sWCDLnIXLH7VccNSxe9cWgbP2Kw/OjME+eH3CeRSA==", + "dev": true, + "requires": { + "regexparam": "^1.3.0" + } + }, + "rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "dev": true + }, + "sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "requires": { + "mri": "^1.1.0" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } + } + }, + "stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==", + "dev": true + }, + "sucrase": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "tailwindcss": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", + "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "dev": true, + "requires": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + } + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throttles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttles/-/throttles-1.0.1.tgz", + "integrity": "sha512-fab7Xg+zELr9KOv4fkaBoe/b3L0GMGLd0IBSCn16GoE/Qx6/OfCr1eGNyEcDU2pUA79qQfZ8kPQWlRuok4YwTw==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + } + }, + "tr46": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "dev": true, + "requires": { + "punycode": "^2.3.1" + } + }, + "ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "ulid": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", + "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "dev": true + }, + "unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0" + } + }, + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true + }, + "uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "dev": true, + "requires": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + } + }, + "vendor-copy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vendor-copy/-/vendor-copy-3.0.1.tgz", + "integrity": "sha512-XjQ707tDNDVR9HBH2XoDffBB6em2QmWmD52uh8mt+KbFjv94DjDtz/Sh9lXSEWU1POg/fWXnjswe8hW5fqgL+w==", + "dev": true, + "requires": { + "ncp": "^2.0.0" + } + }, + "w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "requires": { + "xml-name-validator": "^5.0.0" + } + }, + "web-worker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", + "dev": true + }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true + }, + "whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "requires": { + "iconv-lite": "0.6.3" + } + }, + "whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true + }, + "whatwg-url": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", + "dev": true, + "requires": { + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "requires": {} + }, + "xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "dev": true + } + } +} diff --git a/themes/congo/package.json b/themes/congo/package.json new file mode 100644 index 0000000..6ae2314 --- /dev/null +++ b/themes/congo/package.json @@ -0,0 +1,85 @@ +{ + "name": "hugo-congo-theme", + "version": "2.8.2", + "description": "Congo theme for Hugo", + "scripts": { + "preinstall": "rimraf assets/lib", + "postinstall": "vendor-copy", + "assets": "rimraf assets/lib && vendor-copy", + "dev": "NODE_ENV=development ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit -w", + "build": "NODE_ENV=production ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit", + "example": "hugo server --bind 0.0.0.0 -p 8008 --source exampleSite --themesDir ../.. --buildDrafts -b http://localhost/congo/ ", + "lighthouse": "lhci autorun", + "add-icon": "node scripts/index.js add-icon" + }, + "repository": { + "type": "git", + "url": "https://github.com/jpanther/congo.git" + }, + "keywords": [ + "hugo", + "hugo-theme", + "tailwind", + "dark-mode" + ], + "author": "James Panther", + "funding": "https://github.com/sponsors/jpanther", + "license": "MIT", + "bugs": { + "url": "https://github.com/jpanther/congo/issues" + }, + "homepage": "https://github.com/jpanther/congo#readme", + "devDependencies": { + "@tailwindcss/typography": "^0.5.13", + "chart.js": "^4.4.2", + "fuse.js": "^7.0.0", + "jsdom": "^24.0.0", + "katex": "^0.16.10", + "mermaid": "^10.9.0", + "prettier": "^3.2.5", + "prettier-plugin-go-template": "^0.0.15", + "prettier-plugin-tailwindcss": "^0.5.14", + "quicklink": "^2.3.0", + "rimraf": "^5.0.5", + "tailwindcss": "^3.4.3", + "vendor-copy": "^3.0.1" + }, + "vendorCopy": [], + "devVendorCopy": [ + { + "from": "node_modules/mermaid/dist/mermaid.min.js", + "to": "assets/lib/mermaid/mermaid.min.js" + }, + { + "from": "node_modules/chart.js/dist/chart.umd.js", + "to": "assets/lib/chart/chart.umd.js" + }, + { + "from": "node_modules/katex/dist/katex.min.js", + "to": "assets/lib/katex/katex.min.js" + }, + { + "from": "node_modules/katex/dist/katex.min.css", + "to": "assets/lib/katex/katex.min.css" + }, + { + "from": "node_modules/katex/dist/contrib/auto-render.min.js", + "to": "assets/lib/katex/auto-render.min.js" + }, + { + "from": "node_modules/katex/dist/fonts/", + "to": "assets/lib/katex/fonts/" + }, + { + "from": "node_modules/fuse.js/dist/fuse.min.js", + "to": "assets/lib/fuse/fuse.min.js" + }, + { + "from": "node_modules/quicklink/dist/quicklink.umd.js", + "to": "assets/lib/quicklink/quicklink.umd.js" + } + ], + "dependencies": { + "@fortawesome/fontawesome-free": "^6.5.2" + } +} diff --git a/themes/congo/release.sh b/themes/congo/release.sh new file mode 100755 index 0000000..1505410 --- /dev/null +++ b/themes/congo/release.sh @@ -0,0 +1,68 @@ +#!bin/bash + +# get current branch +branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,') + +# push any local changes +git push + +# run a build to catch any uncommitted updates +npm run build + +# branch validation +if [ $branch = "dev" ]; then + # check current branch is clean + if output=$(git status --porcelain) && [ -z "$output" ]; then + + # get the version number + echo "Enter the release version (eg. 1.2.0):" + read version + + echo "Started releasing Congo v$version..." + + # update package version + jq --arg version "$version" '.version=$version' package.json > package.tmp && mv package.tmp package.json + sed -i "" -e "1s/^\(\/\*! Congo \)v[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/\1v$version/" assets/css/main.css + + # update changelog + chan release $version || exit + npx prettier --write CHANGELOG.md + + # build project + npm run build + + # commit version updates + git commit -a -m "🔨 Preparing release v$version" + git push + + # switch to stable branch + git checkout stable + + # pull latest from stable + git pull + + # merge in changes from dev branch + git merge --no-ff dev -m "🔖 Release v$version" + + # create tag + git tag "v$version" + + # push commit and tag to remote + git push + git push --tags + + # publish GitHub release + timeout 2 chan gh-release $version + + echo "Congo v$version successfully released! 🎉" + echo "Returning to dev branch..." + + git checkout dev + + else + echo "ERROR: There are unstaged changes in development!" + echo "Clean the working directory and try again." + fi +else + echo "ERROR: Releases can only be published from the dev branch!" +fi diff --git a/themes/congo/scripts/index.js b/themes/congo/scripts/index.js new file mode 100644 index 0000000..a22fb4a --- /dev/null +++ b/themes/congo/scripts/index.js @@ -0,0 +1,11 @@ +#!/usr/bin/env node +const { program } = require("commander"); +const { add_icon_to_congo } = require("./update_icon"); + +// Adds an icon to the project. +program + .command("add-icon ") + .description("Add icon to the project") + .action(add_icon_to_congo); + +program.parse(process.argv); diff --git a/themes/congo/scripts/update_icon.js b/themes/congo/scripts/update_icon.js new file mode 100644 index 0000000..f81eae9 --- /dev/null +++ b/themes/congo/scripts/update_icon.js @@ -0,0 +1,93 @@ +const jsdom = require("jsdom"); +const fs = require("fs"); + +const SVG_FILE_DIR = "node_modules/@fortawesome/fontawesome-free/svgs/brands"; +const DOC_DIR = "./exampleSite/content/samples/icons"; +const DEFAULT_TABLE_DELIMITER = "| -------------------- | --------------------------------- |"; + +/** + * Saves an icon to the congo project and update documentation. + * @param {string} icon_name Icon name from Font Awesome to download + * @returns null + */ +const add_icon_to_congo = async (icon_name) => { + try { + const file = await get_file(icon_name); + const final_svg = modify_svg_string(file); + const icon_download_path = create_icon_download_path(icon_name); + save_file(icon_download_path, final_svg); + add_documentation(icon_name); + } catch (e) { + console.log(e); + return; + } +}; + +const modify_svg_string = (svg_string) => { + try { + dom = new jsdom.JSDOM(svg_string); + svg = dom.window.document.documentElement.querySelector("svg"); + svg.querySelector("path").setAttribute("fill", "currentColor"); + return svg.outerHTML; + } catch (e) { + throw new Error("Invalid SVG file" + e); + } +}; + +const create_icon_download_path = (icon_name) => { + return `./assets/icons/${icon_name}.svg`; +}; + +const get_file = async (url) => { + return fs.readFileSync(SVG_FILE_DIR + `/${url}.svg`, "utf8"); +}; + +const save_file = (file_path, file) => { + console.log("Saving file at " + file_path + "..."); + fs.writeFile(file_path, file, function (err) { + if (err) throw err; + console.log("File saved!"); + }); +}; + +const add_documentation = async (icon_name) => { + files = get_md_docs(); + + for (const file of files) { + const file_path = `${DOC_DIR}/${file}`; + const file_contents = fs.readFileSync(file_path, "utf8"); + const file_result = process_file(file_contents, icon_name); + // Save file_result to file_path + fs.writeFile(file_path, file_result, function (err) { + if (err) throw err; + }); + console.log(`Updated ${file_path}`); + } +}; + +/** + * Process the file contents to include the icon name. + * @param {string} file_contents contents of the documentation files. + * @returns {string} processed file contents. + */ +const process_file = (file_contents, icon_name) => { + const [headers, table] = file_contents.split(DEFAULT_TABLE_DELIMITER); + const table_rows = table + .split("\n") + .map((x) => x.trim()) + .filter((row) => row !== ""); + table_rows.push(create_table_row(icon_name)); + table_rows.sort(); + const new_table = table_rows.join("\n"); + return `${headers.trimEnd()}\n${DEFAULT_TABLE_DELIMITER}\n${new_table}\n`; +}; + +const create_table_row = (name) => { + return `| ${name} | {{< icon ${name} >}} |`; +}; + +const get_md_docs = () => { + return fs.readdirSync(DOC_DIR).filter((file) => file.endsWith(".md")); +}; + +module.exports = { add_icon_to_congo }; diff --git a/themes/congo/static/android-chrome-192x192.png b/themes/congo/static/android-chrome-192x192.png new file mode 100644 index 0000000..eeb320e Binary files /dev/null and b/themes/congo/static/android-chrome-192x192.png differ diff --git a/themes/congo/static/android-chrome-512x512.png b/themes/congo/static/android-chrome-512x512.png new file mode 100644 index 0000000..698731a Binary files /dev/null and b/themes/congo/static/android-chrome-512x512.png differ diff --git a/themes/congo/static/apple-touch-icon.png b/themes/congo/static/apple-touch-icon.png new file mode 100644 index 0000000..e3ad14a Binary files /dev/null and b/themes/congo/static/apple-touch-icon.png differ diff --git a/themes/congo/static/favicon-16x16.png b/themes/congo/static/favicon-16x16.png new file mode 100644 index 0000000..8ecbbe9 Binary files /dev/null and b/themes/congo/static/favicon-16x16.png differ diff --git a/themes/congo/static/favicon-32x32.png b/themes/congo/static/favicon-32x32.png new file mode 100644 index 0000000..6f409e8 Binary files /dev/null and b/themes/congo/static/favicon-32x32.png differ diff --git a/themes/congo/static/favicon.ico b/themes/congo/static/favicon.ico new file mode 100644 index 0000000..879d755 Binary files /dev/null and b/themes/congo/static/favicon.ico differ diff --git a/themes/congo/static/site.webmanifest b/themes/congo/static/site.webmanifest new file mode 100644 index 0000000..4fc6502 --- /dev/null +++ b/themes/congo/static/site.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "Congo", + "short_name": "Congo", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any maskable" + } + ], + "theme_color": "#ffffff", + "background_color": "#7c3aed", + "display": "standalone" +} diff --git a/themes/congo/tailwind.config.js b/themes/congo/tailwind.config.js new file mode 100644 index 0000000..6c3b01f --- /dev/null +++ b/themes/congo/tailwind.config.js @@ -0,0 +1,133 @@ +module.exports = { + content: [ + "./layouts/**/*.html", + "./content/**/*.{html,md}", + "./themes/congo/layouts/**/*.html", + "./themes/congo/content/**/*.{html,md}", + ], + darkMode: "class", + theme: { + colors: { + transparent: "transparent", + neutral: { + DEFAULT: "rgba(var(--color-neutral), )", + 50: "rgba(var(--color-neutral-50), )", + 100: "rgba(var(--color-neutral-100), )", + 200: "rgba(var(--color-neutral-200), )", + 300: "rgba(var(--color-neutral-300), )", + 400: "rgba(var(--color-neutral-400), )", + 500: "rgba(var(--color-neutral-500), )", + 600: "rgba(var(--color-neutral-600), )", + 700: "rgba(var(--color-neutral-700), )", + 800: "rgba(var(--color-neutral-800), )", + 900: "rgba(var(--color-neutral-900), )", + }, + primary: { + 50: "rgba(var(--color-primary-50), )", + 100: "rgba(var(--color-primary-100), )", + 200: "rgba(var(--color-primary-200), )", + 300: "rgba(var(--color-primary-300), )", + 400: "rgba(var(--color-primary-400), )", + 500: "rgba(var(--color-primary-500), )", + 600: "rgba(var(--color-primary-600), )", + 700: "rgba(var(--color-primary-700), )", + 800: "rgba(var(--color-primary-800), )", + 900: "rgba(var(--color-primary-900), )", + }, + secondary: { + 50: "rgba(var(--color-secondary-50), )", + 100: "rgba(var(--color-secondary-100), )", + 200: "rgba(var(--color-secondary-200), )", + 300: "rgba(var(--color-secondary-300), )", + 400: "rgba(var(--color-secondary-400), )", + 500: "rgba(var(--color-secondary-500), )", + 600: "rgba(var(--color-secondary-600), )", + 700: "rgba(var(--color-secondary-700), )", + 800: "rgba(var(--color-secondary-800), )", + 900: "rgba(var(--color-secondary-900), )", + }, + }, + extend: { + typography: ({ theme }) => ({ + DEFAULT: { + css: { + "--tw-prose-body": theme("colors.neutral.700 / 1"), + "--tw-prose-headings": theme("colors.neutral.800 / 1"), + "--tw-prose-lead": theme("colors.neutral.500 / 1"), + "--tw-prose-links": theme("colors.primary.700 / 1"), + "--tw-prose-bold": theme("colors.neutral.900 / 1"), + "--tw-prose-counters": theme("colors.neutral.800 / 1"), + "--tw-prose-bullets": theme("colors.neutral.500 / 1"), + "--tw-prose-hr": theme("colors.neutral.200 / 1"), + "--tw-prose-quotes": theme("colors.neutral.700 / 1"), + "--tw-prose-quote-borders": theme("colors.primary.200 / 1"), + "--tw-prose-captions": theme("colors.neutral.500 / 1"), + "--tw-prose-code": theme("colors.secondary.700 / 1"), + "--tw-prose-pre-code": theme("colors.neutral.700 / 1"), + "--tw-prose-pre-bg": theme("colors.neutral.50 / 1"), + "--tw-prose-th-borders": theme("colors.neutral.500 / 1"), + "--tw-prose-td-borders": theme("colors.neutral.300 / 1"), + "--tw-prose-invert-body": theme("colors.neutral.300 / 1"), + "--tw-prose-invert-headings": theme("colors.neutral.50 / 1"), + "--tw-prose-invert-lead": theme("colors.neutral.500 / 1"), + "--tw-prose-invert-links": theme("colors.primary.400 / 1"), + "--tw-prose-invert-bold": theme("colors.neutral.DEFAULT / 1"), + "--tw-prose-invert-counters": theme("colors.neutral.400 / 1"), + "--tw-prose-invert-bullets": theme("colors.neutral.600 / 1"), + "--tw-prose-invert-hr": theme("colors.neutral.500 / 1"), + "--tw-prose-invert-quotes": theme("colors.neutral.200 / 1"), + "--tw-prose-invert-quote-borders": theme("colors.primary.900 / 1"), + "--tw-prose-invert-captions": theme("colors.neutral.400 / 1"), + "--tw-prose-invert-code": theme("colors.secondary.400 / 1"), + "--tw-prose-invert-pre-code": theme("colors.neutral.200 / 1"), + "--tw-prose-invert-pre-bg": theme("colors.neutral.700 / 1"), + "--tw-prose-invert-th-borders": theme("colors.neutral.500 / 1"), + "--tw-prose-invert-td-borders": theme("colors.neutral.700 / 1"), + a: { + textDecoration: "underline", + textDecorationColor: theme("colors.primary.300 / 1"), + fontWeight: "500", + "&:hover": { + color: theme("colors.neutral.DEFAULT / 1"), + textDecoration: "none", + backgroundColor: theme("colors.primary.600 / 1"), + borderRadius: "0.09rem", + }, + }, + "a code": { + color: "var(--tw-prose-code)", + }, + kbd: { + backgroundColor: theme("colors.neutral.200 / 1"), + padding: "0.1rem 0.4rem", + borderRadius: "0.25rem", + fontSize: "0.9rem", + fontWeight: "600", + }, + mark: { + color: theme("colors.neutral.800 / 1"), + backgroundColor: theme("colors.secondary.200 / 1"), + padding: "0.1rem 0.2rem", + borderRadius: "0.12rem", + }, + }, + }, + invert: { + css: { + a: { + textDecorationColor: theme("colors.neutral.600 / 1"), + }, + kbd: { + color: theme("colors.neutral.200 / 1"), + backgroundColor: theme("colors.neutral.700 / 1"), + }, + mark: { + backgroundColor: theme("colors.secondary.400 / 1"), + }, + }, + }, + }), + }, + }, + plugins: [require("@tailwindcss/typography")], +}; diff --git a/themes/congo/theme.toml b/themes/congo/theme.toml new file mode 100644 index 0000000..cfbb0fe --- /dev/null +++ b/themes/congo/theme.toml @@ -0,0 +1,16 @@ +# Congo theme for Hugo + +name = "congo" +license = "MIT" +licenselink = "https://github.com/jpanther/congo/blob/master/LICENSE" +description = "A powerful, lightweight theme for Hugo built with Tailwind CSS." + +homepage = "https://github.com/jpanther/congo/" +demosite = "https://jpanther.github.io/congo/" + +tags = ["blog", "minimal", "responsive", "dark mode", "dark", "light", "tailwind", "personal"] +features = ["syntax highlighting", "dark mode", "emoji"] + +[author] + name = "James Panther" + homepage = "https://jamespanther.com/"