tweak-ui 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/.assetsignore +2 -0
  2. package/dist/lib/builder.d.ts +7 -5
  3. package/dist/lib/builder.d.ts.map +1 -1
  4. package/dist/lib/components/controls/angle.d.ts +3 -3
  5. package/dist/lib/components/controls/angle.d.ts.map +1 -1
  6. package/dist/lib/components/controls/bitmask.d.ts +3 -3
  7. package/dist/lib/components/controls/bitmask.d.ts.map +1 -1
  8. package/dist/lib/components/controls/bool.d.ts +3 -3
  9. package/dist/lib/components/controls/bool.d.ts.map +1 -1
  10. package/dist/lib/components/controls/color-picker.d.ts +3 -3
  11. package/dist/lib/components/controls/color-picker.d.ts.map +1 -1
  12. package/dist/lib/components/controls/color.d.ts +3 -3
  13. package/dist/lib/components/controls/color.d.ts.map +1 -1
  14. package/dist/lib/components/controls/input.d.ts +3 -3
  15. package/dist/lib/components/controls/input.d.ts.map +1 -1
  16. package/dist/lib/components/controls/matrix.d.ts +3 -3
  17. package/dist/lib/components/controls/matrix.d.ts.map +1 -1
  18. package/dist/lib/components/controls/point.d.ts +12 -7
  19. package/dist/lib/components/controls/point.d.ts.map +1 -1
  20. package/dist/lib/components/controls/poll.d.ts +3 -3
  21. package/dist/lib/components/controls/poll.d.ts.map +1 -1
  22. package/dist/lib/components/controls/scalar.d.ts +3 -3
  23. package/dist/lib/components/controls/scalar.d.ts.map +1 -1
  24. package/dist/lib/components/controls/select.d.ts +2 -2
  25. package/dist/lib/components/controls/select.d.ts.map +1 -1
  26. package/dist/lib/components/controls/spherical.d.ts +10 -5
  27. package/dist/lib/components/controls/spherical.d.ts.map +1 -1
  28. package/dist/lib/components/controls/string.d.ts +3 -3
  29. package/dist/lib/components/controls/string.d.ts.map +1 -1
  30. package/dist/lib/components/controls/vector.d.ts +3 -3
  31. package/dist/lib/components/controls/vector.d.ts.map +1 -1
  32. package/dist/lib/components/elements/widget.d.ts +4 -0
  33. package/dist/lib/components/elements/widget.d.ts.map +1 -1
  34. package/dist/lib/core/utils.d.ts +1 -0
  35. package/dist/lib/core/utils.d.ts.map +1 -1
  36. package/dist/style.css +1 -1
  37. package/dist/tweak-ui.module.js +514 -501
  38. package/dist/tweak-ui.module.js.map +1 -1
  39. package/dist/tweak-ui.umd.js +3 -3
  40. package/dist/tweak-ui.umd.js.map +1 -1
  41. package/dist/wrangler.json +1 -0
  42. package/package.json +13 -5
@@ -1,5 +1,5 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.TweakUI={}))})(this,function(e){var t=document.createElement(`style`);t.textContent=`:root{--twk-size:1.375rem;--twk-gap:.125rem;--twk-inset:.125rem;--twk-radius:.25rem;--twk-label-size:7rem;--twk-label-pad-x:.25rem;--twk-label-pad-y:0rem;--twk-input-height:var(--twk-size);--twk-input-pad-x:.375rem;--twk-input-pad-y:0rem;--twk-button-height:var(--twk-size);--twk-button-pad-x:.5rem;--twk-button-pad-y:.25rem;--twk-color-base-100:#2a303c;--twk-color-base-200:#242933;--twk-color-base-300:#20252e;--twk-color-base-content:#b2ccd6;--twk-color-neutral:#1c212b;--twk-color-neutral-content:#b2ccd6;--twk-color-accent:#f9aa33;--twk-color-bool-true:#f9aa33;--twk-color-bool-false:#2a303c}.twk-dark{--twk-color-base-100:#1d232a;--twk-color-base-200:#191e24;--twk-color-base-300:#15191e;--twk-color-base-content:#ecf9ff;--twk-color-neutral:#09090b;t:#e4e4e7;--twk-color-accent:#f9aa33}.twk-light{--twk-color-base-100:#fff;--twk-color-base-200:#f5f5f5;--twk-color-base-300:#ebebeb;--twk-color-base-content:#000;--twk-color-neutral:#000;--twk-color-neutral-content:#fff;--twk-color-accent:#2196f3}.tweak-ui{interpolate-size:allow-keywords;background-color:var(--twk-color-base-200);color:var(--twk-color-base-content);gap:var(--twk-gap);font-family:monospace;line-height:1.5;font-size:var(--twk-font-size,12px);width:var(--twk-width,20rem);box-sizing:border-box;border-radius:calc(var(--twk-radius) + var(--twk-inset));padding:0;padding:var(--twk-inset,0);flex-direction:column;flex:none;margin:0;display:flex;overflow:hidden auto}.tweak-ui::-webkit-scrollbar{width:.5rem}.tweak-ui::-webkit-scrollbar-track{background-color:var(--twk-color-base-200)}.tweak-ui::-webkit-scrollbar-thumb{background-color:var(--twk-color-base-200);border-style:solid;border-width:1px;border-color:var(--twk-color-base-300);transition:background-color .2s ease-in-out}.tweak-ui::-webkit-scrollbar-thumb:hover{background-color:var(--twk-color-primary)}.tweak-ui button,.tweak-ui input,.tweak-ui select,.tweak-ui optgroup,.tweak-ui textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border:0;border-radius:0;min-width:0;margin:0;padding:0}.tweak-ui button:not([type=checkbox],select),.tweak-ui input:not([type=checkbox],select),.tweak-ui select:not([type=checkbox],select),.tweak-ui optgroup:not([type=checkbox],select),.tweak-ui textarea:not([type=checkbox],select){appearance:none!important}.tweak-ui button:focus-visible,.tweak-ui input:focus-visible,.tweak-ui select:focus-visible,.tweak-ui optgroup:focus-visible,.tweak-ui textarea:focus-visible{outline:none}.tweak-ui input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tweak-ui input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tweak-ui input[type=number]{-moz-appearance:textfield}.tweak-ui .twk-input{cursor:text;box-sizing:border-box;white-space:nowrap;vertical-align:middle;touch-action:manipulation;align-items:center;gap:var(--twk-gap);height:calc(var(--twk-size));min-width:0;line-height:calc(var(--twk-size));padding:var(--twk-input-pad-y) var(--twk-input-pad-x);color:var(--twk-color-base-content);border-radius:var(--twk-radius);border:none;flex:1;transition:color .2s ease-in-out,background-color .2s ease-in-out,outline-color .2s ease-in-out;display:flex;position:relative;appearance:none!important}.tweak-ui .twk-input input{flex:1}.tweak-ui .twk-input:not(.twk-input-readonly){outline-offset:-1px;outline:1px solid #0000}.tweak-ui .twk-input:not(.twk-input-readonly):hover{background-color:var(--twk-color-base-100)}.tweak-ui .twk-input:not(.twk-input-readonly):focus-within{outline-color:var(--twk-color-accent)}.tweak-ui label{min-width:0}.tweak-ui select,.tweak-ui button,.tweak-ui a{cursor:pointer;align-items:center}.tweak-ui select:focus,.tweak-ui input:not([type=checkbox]):focus{color:var(--twk-color-accent)}.tweak-ui select{appearance:base-select;border-radius:var(--twk-radius);background:var(--twk-color-base-100);border-color:var(--twk-color-base-300);border:none}.tweak-ui ::picker(select){appearance:base-select;border-radius:var(--twk-radius);background:var(--twk-color-base-100);border-color:var(--twk-color-base-300);border:none}.tweak-ui select option{justify-content:flex-start;gap:var(--twk-gap);padding-inline:var(--twk-button-pad-x);background:var(--twk-color-base-100);color:var(--twk-color-base-content);display:flex}.tweak-ui select option:hover,.tweak-ui select option:focus{background:var(--twk-color-base-200)}.tweak-ui select{padding-inline:var(--twk-button-pad-x)}.tweak-ui .twk-btn{--twk-btn-bg:var(--twk-color-base-100);--twk-btn-color:var(--twk-color-content);--twk-btn-size:var(--twk-size);cursor:pointer;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;color:var(--twk-btn-color);min-height:var(--twk-btn-size);border-radius:var(--twk-radius);outline-offset:1px;background-color:var(--twk-btn-bg);padding-inline:var(--twk-button-pad-x);text-align:center;white-space:nowrap;outline-color:var(--twk-color-neutral);font-weight:700}.tweak-ui .twk-btn:hover{background-color:color-mix(in oklab, var(--btn-color,var(--twk-btn-bg)), #000 7%)}.tweak-ui .twk-btn:focus{outline-color:var(--twk-color-accent)}.tweak-ui .twk-btn:active{transform:translateY(1px)}.tweak-ui .twk-btn.twk-btn-accent{--twk-btn-bg:var(--twk-color-accent);--twk-btn-color:var(--twk-color-neutral)}.tweak-ui .twk-btn.twk-btn-lg{--twk-btn-size:calc(var(--twk-size) * 1.25)}.tweak-ui .twk-btn.twk-btn-sq{width:var(--twk-btn-size);height:var(--twk-btn-size);flex:none;padding-inline:0}.tweak-ui .twk-btn.twk-btn-bl{width:100%}dialog.twk-dialog{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;border:none;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.twk-dialog-content{background-color:var(--twk-color-base-100);border-radius:var(--twk-radius);opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:100%;max-width:32rem;max-height:100vh;overflow-y:auto}dialog.twk-dialog[open]{pointer-events:auto;visibility:visible;opacity:1;background-color:oklch(0% 0 0/.4)}dialog.twk-dialog[open] .twk-dialog-content{opacity:1;translate:0;scale:1}.twk-flex{align-items:stretch;gap:var(--twk-gap);flex-flow:column;display:flex}.twk-flex-row{gap:var(--twk-gap);flex-flow:row;display:flex}.twk-grid{gap:var(--twk-gap);display:grid}.twk-divider{padding:0 calc(var(--twk-size) / 2);align-items:center;display:flex}.twk-divider:not(:empty){gap:calc(var(--twk-size) / 2)}.twk-divider{height:var(--twk-size)}.twk-divider:before,.twk-divider:after{content:"";opacity:.125;background-color:currentColor;flex-grow:1;width:100%;height:1px}.twk-divider-v{flex-flow:column;align-items:center;display:flex}.twk-divider-v:not(:empty){gap:calc(var(--twk-size) / 2)}.twk-divider-v{width:var(--twk-size);height:100%}.twk-divider-v:before,.twk-divider-v:after{content:"";opacity:.125;background-color:currentColor;flex-grow:1;width:1px;height:100%}.twk-group,.twk-group-content{gap:var(--twk-gap);flex-direction:column;display:flex}.twk-group-content.animate.enter{animation:.25s ease-out forwards twk-group-content-enter;overflow:hidden}.twk-group-content.leave{animation:.25s ease-out forwards twk-group-content-leave;overflow:hidden}@keyframes twk-group-content-enter{0%{opacity:0;height:0}50%{opacity:0;height:auto}to{opacity:1;height:auto}}@keyframes twk-group-content-leave{0%{opacity:1;height:auto}50%{opacity:0;height:auto}to{opacity:0;height:0}}.twk-group-title{width:auto;height:var(--twk-size);background-color:var(--twk-color-neutral);color:var(--twk-color-neutral-content);border-radius:var(--twk-radius,0);text-transform:uppercase;flex-direction:row;align-items:center;margin:0;padding:0 .5rem;font-weight:700;display:flex}.twk-group-collapsible>.twk-group-title{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.twk-group-collapsible>.twk-group-title:before{content:"";width:var(--twk-size);height:var(--twk-size);text-align:center;clip-path:polygon(50.05% 77.08%,83.58% 43.55%,87.11% 40.02%,80.03% 32.94%,76.5% 36.47%,50.03% 62.94%,23.56% 36.47%,20.03% 32.94%,12.95% 40.02%,16.48% 43.55%,46.48% 73.55%,50.02% 77.08%);background-color:currentColor;transition:opacity .2s ease-in-out,transform .2s ease-in-out;display:block;position:absolute;top:0;right:0;transform:scale(.5)rotate(0)}.twk-group-collapsed>.twk-group-title:before{transform:scale(.5)rotate(-90deg)}.twk-group:not(.twk-root>.twk-group) .twk-group{margin-left:calc(var(--twk-size) / 4)}.twk-group-description{opacity:.75;padding:.25rem .25rem .5rem 0;font-style:italic;line-height:1}.twk-tree{width:100%;height:100%;max-height:100vh;overflow-y:auto}.twk-tree-row{-webkit-user-select:none;user-select:none;width:100%;padding-left:calc(var(--twk-tree-row-depth) * .5 * var(--twk-tree-row-height));background-color:var(--twk-color-base-200);box-sizing:border-box;flex-direction:row;align-items:center;display:flex}.twk-tree-row:hover{background-color:var(--twk-color-base-100)}.twk-tree-row.selected{color:var(--twk-color-accent)}.twk-tree-toggle:before{content:"";width:var(--twk-tree-row-height);height:var(--twk-tree-row-height);text-align:center;transition:opacity .2s ease-in-out,transform .2s ease-in-out;display:block;transform:scale(.5)rotate(-90deg)}.twk-tree-toggle.expandable:before{clip-path:polygon(50.05% 77.08%,83.58% 43.55%,87.11% 40.02%,80.03% 32.94%,76.5% 36.47%,50.03% 62.94%,23.56% 36.47%,20.03% 32.94%,12.95% 40.02%,16.48% 43.55%,46.48% 73.55%,50.02% 77.08%);background-color:currentColor}.twk-tree-toggle.expanded:before{transform:scale(.5)rotate(0)}.twk-tree-icon{width:var(--twk-tree-row-height);height:var(--twk-tree-row-height);place-items:center;display:grid}.twk-tree-label{display:flex}.twk-tabs{border-color:var(--twk-color-base-300);align-items:stretch;gap:var(--twk-gap);flex-flow:wrap;display:flex}.twk-tabs button.twk-tab{background-color:var(--twk-color-base-100);color:color-mix(in srgb, var(--twk-color-base-content) 40%, transparent);flex:1;order:0}.twk-tabs button.twk-tab:hover{color:var(--twk-color-base-content)}.twk-tabs button.twk-tab.twk-btn:not(.active){background-color:#0000;font-weight:400}.twk-tabs button.twk-tab.twk-btn.active{color:var(--twk-color-accent);font-weight:700}.twk-tab-content{order:1;width:100%}.twk-tabs-vertical{grid-template-columns:auto 1fr;display:grid}.twk-tabs-vertical .twk-tab{grid-column:1}.twk-tabs-vertical .twk-tab-content{grid-area:1/2/-1}.twk-split-pane{overflow:hidden}.twk-split-pane.dragging{-webkit-user-select:none;user-select:none}.twk-split-pane>:not(.twk-split-gutter){flex:1;min-width:1rem;min-height:1rem}.twk-split-gutter:last-child{display:none}.twk-split-gutter:before{content:"";background-color:var(--twk-color-base-100);opacity:0;position:absolute}.twk-split-gutter:hover:before{background-color:var(--twk-color-base-100);opacity:1}.twk-split-gutter-v{cursor:row-resize;min-height:.25rem;position:relative}.twk-split-gutter-v:before{inset:1px .25rem}.twk-split-gutter-h{cursor:col-resize;min-width:.25rem;position:relative}.twk-split-gutter-h:before{inset:.25rem 1px}.twk-section{grid-template:"header""content"1fr"footer"/100%;width:100%;display:grid}.twk-section>*{grid-area:content}.twk-section-header,header{grid-area:header}.twk-section-content{grid-area:content}.twk-section-footer,footer{grid-area:footer}.twk-bar{gap:var(--twk-gap);min-height:var(--twk-size);grid-template-columns:auto 1fr auto;grid-template-areas:"start content end";align-items:center;display:grid}.twk-bar>*{grid-area:content}.twk-bar-start{grid-area:start}.twk-bar-content{grid-area:content}.twk-bar-end{grid-area:end}.twk-widget{gap:var(--twk-gap);grid-template-columns:.75fr 1fr;grid-template-areas:"label content";width:100%;display:grid}.twk-widget>*{grid-area:content;overflow:hidden}.twk-widget-label{min-height:var(--twk-size);padding:0 calc(var(--twk-size) / 4);color:color-mix(in srgb, var(--twk-color-base-content) 40%, transparent);flex:.75;grid-area:label;align-self:start;align-items:center;display:inline-flex;overflow:hidden}.twk-angle-label{height:var(--twk-size);white-space:nowrap;text-align:right}.twk-angle-input{gap:var(--twk-gap);column-gap:calc(var(--twk-gap) * 2);grid-template:"display input""display output"min-content/min-content auto;display:grid}.twk-angle-input .twk-scalar-input{grid-area:input}.twk-angle-input .twk-angle-label{grid-area:output}.twk-angle-pane{width:100%;width:var(--twk-size);height:var(--twk-size);outline:1px solid var(--twk-color-base-content);outline-offset:-1px;background-image:conic-gradient(from 0deg, var(--twk-color-base-content) calc(var(--angle-value) / 360 * 100%), transparent 0);border-radius:50%;grid-area:display}.twk-bitmask-input{gap:var(--twk-gap);flex-direction:column;display:flex}.twk-bitmask-input .twk-bitmask-row{gap:var(--twk-gap);cursor:pointer;flex-direction:row;display:flex}.twk-bitmask-input .twk-bitmask-row>*{flex:none}.twk-bitmask-input .twk-bitmask-name{text-overflow:ellipsis;flex:1;padding-left:.25rem;overflow:hidden}.twk-bitmask-input .twk-bitmask-bit{opacity:.5;padding-right:.25rem}.twk-bitmask-input .twk-bitmask-value{opacity:.5}.twk-bitmask-input .twk-bitmask-indicator{width:var(--twk-size);height:var(--twk-size);background-color:var(--twk-color-base-100)}.twk-bitmask-active .twk-bitmask-indicator:before{content:"";background-color:var(--twk-color-accent);width:50%;height:50%;margin:25%;display:block}.twk-bitmask-active .twk-bitmask-value{opacity:1}.twk-bool-input{align-items:center;gap:var(--twk-gap);flex-direction:row;display:flex}.twk-bool-input input{text-align:right;min-width:0}.twk-bool-input.twk-align-end{justify-content:flex-end}.twk-color-picker{gap:var(--twk-gap);flex-direction:row;flex:auto;display:flex}.twk-color-picker .color-picker-panel{flex:1;position:relative}.twk-color-picker .color-picker-inputs{gap:var(--twk-gap);flex-direction:column;flex:none;display:flex}.twk-color-picker .color-picker-inputs .input-r{border-left:2px solid red!important}.twk-color-picker .color-picker-inputs .input-g{border-left:2px solid #0f0!important}.twk-color-picker .color-picker-inputs .input-b{border-left:2px solid #00f!important}.twk-color-picker .color-picker-inputs .input-a{border-image:linear-gradient(90deg,#fff,#0000)}.twk-color-picker .color-picker-inputs .input-hex{border-left:2px solid #000!important}.twk-color-picker .color-picker-inputs input{flex:none;width:4rem;display:block}.twk-color-picker .color-picker-sv:focus,.twk-color-picker .color-picker-h:focus,.twk-color-picker .color-picker-a:focus{border-color:var(--twk-color-accent);outline:none}.twk-color-picker .color-picker-sv,.twk-color-picker .color-picker-h,.twk-color-picker .color-picker-a{border-radius:var(--twk-radius)}.twk-color-picker .color-picker-sv{box-sizing:border-box;cursor:crosshair;z-index:1;border-bottom:1px solid;border-color:var(--twk-color-base-300);width:100%;padding-top:100%;position:relative}.twk-color-picker .color-picker-sv-bg{border-radius:var(--twk-radius);position:absolute;inset:0}.twk-color-picker .color-picker-sv-cursor{box-sizing:border-box;border:1px solid #fff;border-radius:5px;width:10px;height:10px;margin-top:-5px;margin-left:-5px;position:absolute;box-shadow:0 0 2px 1px #000000bf}.twk-color-picker .color-picker-h,.twk-color-picker .color-picker-a{box-sizing:border-box;cursor:ew-resize;border-bottom:1px solid;border-color:var(--twk-color-base-300);height:1rem;position:relative}.twk-color-picker .color-picker-h-cursor,.twk-color-picker .color-picker-a-cursor{border:1px solid #fff;border-radius:2px;width:4px;height:calc(1rem - 2px);margin-left:-3px;position:absolute;box-shadow:0 0 2px 1px #000000bf}.twk-color-picker .color-picker-a{background-blend-mode:normal, difference, normal;background-image:linear-gradient(90deg,#0000,#0000),linear-gradient(90deg,gray 50%,#fff 50%),linear-gradient(gray 50%,#fff 50%);background-size:1rem 1rem}.twk-color-picker .color-picker-a-bg{position:absolute;inset:0}.twk-color-picker .color-picker-sv,.twk-color-picker .color-picker-h,.twk-color-picker .color-picker-a{border-color:var(--twk-color-base-300)}.twk-color-input{align-items:stretch;gap:var(--twk-gap);flex-direction:column;flex:auto;display:flex}.twk-color-input button.twk-btn{text-transform:uppercase;flex-direction:row;flex:1;justify-content:start;align-items:center;gap:.5rem;padding-left:0;display:flex}.twk-color-input button.twk-btn:before{content:"";width:calc(var(--twk-size));height:calc(var(--twk-size));background-color:var(--twk-color-value);border-radius:var(--twk-radius);flex:none;display:inline-block}.tweak-ui input[type=checkbox]{flex:none}input.twk-toggle[type=checkbox]{width:calc(var(--twk-size) * 2);height:calc(var(--twk-size));border-radius:var(--twk-size);border:2px solid var(--twk-color-base-100);background-color:var(--twk-color-base-100);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-shrink:0;grid-template-columns:1fr 1fr;place-content:center;margin:0;padding:2px;display:inline-grid}input.twk-toggle[type=checkbox]:checked{border-color:var(--twk-color-base-content)}input.twk-toggle[type=checkbox]:focus{border-color:var(--twk-color-accent)}input.twk-toggle[type=checkbox]:before{aspect-ratio:1;content:"";background-color:var(--twk-color-base-content);opacity:.25;border-radius:100%;grid-row-start:1;grid-column-start:1;transition:background-color .1s,translate .2s;translate:0}input.twk-toggle[type=checkbox]:checked:before{opacity:1;translate:100%}input.twk-check[type=checkbox]{width:calc(var(--twk-size) - 4px);height:calc(var(--twk-size) - 4px);border-radius:var(--twk-radius);cursor:pointer;appearance:none;background-color:var(--twk-color-base-300);outline:1px solid var(--twk-color-base-content);outline-offset:-1px;place-content:center;margin:2px;transition:background-color .1s;display:grid;flex:none!important}input.twk-check[type=checkbox]:checked{background-color:var(--twk-color-accent);outline-color:var(--twk-color-accent)}input.twk-check[type=checkbox]:checked:before{content:"";width:calc(var(--twk-size) / 2);height:calc(var(--twk-size) / 4);border-left:2px solid var(--twk-color-base-300);border-bottom:2px solid var(--twk-color-base-300);margin-top:-2px;transform:rotate(-45deg)}canvas.twk-graph{width:100%}table.twk-graph{text-align:right;border-collapse:collapse;table-layout:fixed;width:100%;margin:0;display:table!important}table.twk-graph thead,table.twk-graph tbody{width:100%}table.twk-graph td,table.twk-graph th{white-space:nowrap;text-overflow:ellipsis;padding:0 4px;overflow:hidden}table.twk-graph th:first-child,table.twk-graph td:first-child{width:var(--twk-label-size);text-align:left}table.twk-graph .twk-current{width:70px;font-weight:600}table.twk-graph .twk-stats{color:#888;width:110px;font-size:.85em}.twk-image{max-width:100%;display:block}.twk-image.twk-loading{opacity:0}.twk-matrix-input{gap:var(--twk-gap)}.twk-point .point-area{background-color:var(--twk-color-base-100);border-color:var(--twk-color-base-300);background-image:linear-gradient(var(--twk-color-base-200) 1px, transparent 1px), linear-gradient(90deg, var(--twk-color-base-200) 1px, transparent 1px);aspect-ratio:1;box-sizing:border-box;cursor:crosshair;z-index:1;background-size:10% 10%,10% 10%;align-self:end;width:100%;transition:border-color .2s ease-in-out,background-color .2s ease-in-out;position:relative;overflow:visible}.twk-point .point-area .point-x-axis,.twk-point .point-area .point-y-axis{background-color:var(--twk-color-base-300)}.twk-point .point-area:focus .point-x-axis,.twk-point .point-area:focus .point-y-axis{background-color:var(--twk-color-accent)}.twk-point .point-area:focus{border-color:var(--twk-color-accent);outline:none}.twk-scalar-input{align-items:center;gap:var(--twk-gap);grid-auto-flow:column;display:grid;position:relative}.twk-scalar-input input{text-align:right;min-width:0}.twk-scalar-input .unit{opacity:.5}.twk-scalar-dragable input{cursor:ew-resize}.twk-scalar-range:after{pointer-events:none;content:"";opacity:.125;background:linear-gradient(to right, var(--twk-color-accent) 0%, var(--twk-color-accent) calc(var(--twk-scalar-value,0) * 100%), transparent calc(var(--twk-scalar-value,0) * 100%), transparent 100%);border-radius:var(--twk-radius);width:100%;position:absolute;top:0;bottom:0;left:0}.twk-scalar-range:hover:after{opacity:.25}.twk-spherical-label{height:var(--twk-size);white-space:nowrap;text-align:center}.twk-spherical-pane{outline:3px solid var(--twk-color-base-content);outline-offset:-3px;border-radius:50%;width:100%;max-width:150px;margin:1rem auto}.twk-spherical-arm{border:1px solid var(--twk-color-base-content);border-radius:calc(var(--twk-size) / 2);background-image:linear-gradient(to right, var(--twk-color-base-content), var(--twk-color-base-content) calc(var(--polar-value) / 90 * 100%), var(--twk-color-base-300) calc(var(--polar-value) / 90 * 100%))}.twk-spherical-knob{background-color:var(--twk-color-base-content);-webkit-user-select:none;user-select:none;width:1rem;height:1rem;box-shadow:0 0 3px var(--twk-color-neutral);border-radius:50%}.twk-spherical-knob:focus,.twk-spherical-arm:focus{outline:2px solid var(--twk-color-accent);outline-offset:2px}.twk-string-input input,.twk-string-input .twk-input-value{flex:1}.twk-vector-input{gap:var(--twk-gap)}.twk-widget .twk-poll{flex:1}.tweak-ui .twk-p-0{padding:0}.tweak-ui .twk-p-1{padding:var(--twk-gap)}.tweak-ui .twk-p-2{padding:calc(var(--twk-gap) * 2)}.tweak-ui .twk-p-4{padding:calc(var(--twk-gap) * 4)}.tweak-ui .twk-px-0{padding-inline:0}.tweak-ui .twk-px-1{padding-inline:var(--twk-gap)}.tweak-ui .twk-px-2{padding-inline:calc(var(--twk-gap) * 2)}.tweak-ui .twk-px-4{padding-inline:calc(var(--twk-gap) * 4)}.tweak-ui .twk-py-0{padding-block:0}.tweak-ui .twk-py-1{padding-block:var(--twk-gap)}.tweak-ui .twk-py-2{padding-block:calc(var(--twk-gap) * 2)}.tweak-ui .twk-py-4{padding-block:calc(var(--twk-gap) * 4)}.tweak-ui .twk-p-inset{padding:var(--twk-inset)}.tweak-ui .twk-px-label{padding-inline:var(--twk-label-pad-x)}.tweak-ui .twk-px-input{padding-inline:var(--twk-input-pad-x)}.tweak-ui .twk-px-button{padding-inline:var(--twk-button-pad-x)}.tweak-ui .twk-gap-0{gap:0}.tweak-ui .twk-gap-1{gap:var(--twk-gap)}.tweak-ui .twk-gap-2{gap:calc(var(--twk-gap) * 2)}.tweak-ui .twk-gap-4{gap:calc(var(--twk-gap) * 4)}.tweak-ui .twk-w-full{width:100%}.tweak-ui .twk-w-label{width:var(--twk-label-size)}.tweak-ui .twk-h-input{height:var(--twk-input-height)}.tweak-ui .twk-h-btn{height:var(--twk-button-height)}.tweak-ui .twk-h-full{height:100%}.tweak-ui .twk-rounded-none{border-radius:0}.tweak-ui .twk-rounded{border-radius:var(--twk-radius)}.tweak-ui .twk-rounded-full{border-radius:9999px}.tweak-ui .twk-text-end{text-align:end}.tweak-ui .twk-text-right{text-align:right}.tweak-ui .twk-text-start{text-align:start}.tweak-ui .twk-text-left{text-align:left}.tweak-ui .twk-text-center{text-align:center}.tweak-ui .twk-text-xs{font-size:.625rem}.tweak-ui .twk-text-sm{font-size:.75rem}.tweak-ui .twk-text-md{font-size:.875rem}.tweak-ui .twk-bg-100{background-color:var(--twk-color-base-100)}.tweak-ui .twk-bg-200{background-color:var(--twk-color-base-200)}.tweak-ui .twk-bg-300{background-color:var(--twk-color-base-300)}.tweak-ui .twk-bg-content{background-color:var(--twk-color-base-content)}.tweak-ui .twk-bg-neutral{background-color:var(--twk-color-neutral)}.tweak-ui .twk-bg-neutral-content{background-color:var(--twk-color-neutral-content)}.tweak-ui .twk-bg-accent{background-color:var(--twk-color-accent)}.tweak-ui .twk-color-100{color:var(--twk-color-base-100)}.tweak-ui .twk-color-200{color:var(--twk-color-base-200)}.tweak-ui .twk-color-300{color:var(--twk-color-base-300)}.tweak-ui .twk-color-content{color:var(--twk-color-base-content)}.tweak-ui .twk-color-neutral{color:var(--twk-color-neutral)}.tweak-ui .twk-color-neutral-content{color:var(--twk-color-neutral-content)}.tweak-ui .twk-color-accent{color:var(--twk-color-accent)}.tweak-ui .twk-color-muted{color:color-mix(in srgb, var(--twk-color-base-content) 40%, transparent)}.tweak-ui .twk-color-dim{color:color-mix(in srgb, var(--twk-color-base-content) 20%, transparent)}.tweak-ui .twk-glass{background-color:color-mix(in srgb, var(--twk-glass-color,#000) var(--twk-glass-percent,50%), transparent);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.tweak-ui .twk-glass-100{--twk-glass-color:var(--twk-color-base-100)}.tweak-ui .twk-glass-200{--twk-glass-color:var(--twk-color-base-200)}.tweak-ui .twk-glass-300{--twk-glass-color:var(--twk-color-base-300)}@keyframes twk-fade{0%{opacity:0}to{opacity:1}}:root{--twk-pattern-color-a:color-mix(in srgb, var(--twk-color-base-300) 100%, transparent);--twk-pattern-color-b:color-mix(in srgb, var(--twk-color-base-100) 80%, transparent);--twk-pattern-color-line:color-mix(in srgb, var(--twk-color-base-content) 8%, transparent);--twk-pattern-size:.5rem;--twk-pattern-line-width:1px}.twk-bg-checker,.twk-bg-checker-coarse,.twk-bg-checker-fine{background-color:var(--twk-pattern-color-a);background-image:repeating-conic-gradient(var(--twk-pattern-color-b) 0% 25%, transparent 25% 50%);background-size:calc(var(--twk-pattern-size) * 2) calc(var(--twk-pattern-size) * 2);background-position:0 0}.twk-bg-checker-fine{--twk-pattern-size:.25rem}.twk-bg-checker-coarse{--twk-pattern-size:1rem}.twk-bg-grid{background-color:var(--twk-pattern-color-a);background-image:linear-gradient(to right, var(--twk-pattern-color-line) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width)), linear-gradient(to bottom, var(--twk-pattern-color-line) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width));background-size:var(--twk-pattern-size) var(--twk-pattern-size);background-position:0 0}.twk-bg-grid-axis{--twk-pattern-color-axis:color-mix(in srgb, var(--twk-color-base-content) 20%, transparent);background-color:var(--twk-pattern-color-a);background-image:linear-gradient(to right, var(--twk-pattern-color-axis) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width)), linear-gradient(to bottom, var(--twk-pattern-color-axis) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width)), linear-gradient(to right, var(--twk-pattern-color-line) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width)), linear-gradient(to bottom, var(--twk-pattern-color-line) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width));background-size:100% 100%, 100% 100%, var(--twk-pattern-size) var(--twk-pattern-size), var(--twk-pattern-size) var(--twk-pattern-size);background-position:0,50% 0,0 0,0 0}.twk-bg-dots{--twk-pattern-dot-size:1.5px;background-color:var(--twk-pattern-color-a);background-image:radial-gradient(circle, var(--twk-pattern-color-line) var(--twk-pattern-dot-size), transparent var(--twk-pattern-dot-size));background-size:var(--twk-pattern-size) var(--twk-pattern-size);background-position:0 0}.twk-bg-stripes{background-color:var(--twk-pattern-color-a);background-image:repeating-linear-gradient(-45deg, var(--twk-pattern-color-b) 0px, var(--twk-pattern-color-b) var(--twk-pattern-size), transparent var(--twk-pattern-size), transparent calc(var(--twk-pattern-size) * 2))}
2
- /*$vite$:1*/`,document.head.appendChild(t),Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),l=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e},u=(e,t,i)=>(i=e==null?{}:n(o(e)),l(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)),d=c(((e,t)=>{function n(e,t,n,r,i,a){return{tag:e,key:t,attrs:n,children:r,text:i,dom:a,is:void 0,domSize:void 0,state:void 0,events:void 0,instance:void 0}}n.normalize=function(e){return Array.isArray(e)?n(`[`,void 0,void 0,n.normalizeChildren(e),void 0,void 0):e==null||typeof e==`boolean`?null:typeof e==`object`?e:n(`#`,void 0,void 0,String(e),void 0,void 0)},n.normalizeChildren=function(e){for(var t=Array(e.length),r=0,i=0;i<e.length;i++)t[i]=n.normalize(e[i]),t[i]!==null&&t[i].key!=null&&r++;if(r!==0&&r!==e.length)throw TypeError(t.includes(null)?`In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.`:`In fragments, vnodes must either all have keys or none have keys.`);return t},t.exports=n})),f=c(((e,t)=>{var n=d();t.exports=function(e,t){return e==null||typeof e==`object`&&e.tag==null&&!Array.isArray(e)?t.length===1&&Array.isArray(t[0])&&(t=t[0]):(t=t.length===0&&Array.isArray(e)?e:[e,...t],e=void 0),n(``,e&&e.key,e,t)}})),p=c(((e,t)=>{t.exports={}.hasOwnProperty})),m=c(((e,t)=>{t.exports={}})),h=c(((e,t)=>{var n=m();t.exports=new Map([[n,!0]])})),g=c(((e,t)=>{var n=d(),r=f(),i=p(),a=m(),o=h(),s=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,c=Object.create(null);function l(e){for(var t in e)if(i.call(e,t))return!1;return!0}function u(e){return e===`value`||e===`checked`||e===`selectedIndex`||e===`selected`}function g(e){for(var t,n=`div`,r=[],i={},d=!0;t=s.exec(e);){var f=t[1],p=t[2];if(f===``&&p!==``)n=p;else if(f===`#`)i.id=p;else if(f===`.`)r.push(p);else if(t[3][0]===`[`){var m=t[6];m&&=m.replace(/\\(["'])/g,`$1`).replace(/\\\\/g,`\\`),t[4]===`class`?r.push(m):(i[t[4]]=m===``?m:m||!0,u(t[4])&&(d=!1))}}return r.length>0&&(i.className=r.join(` `)),l(i)?i=a:o.set(i,d),c[e]={tag:n,attrs:i,is:i.is}}function _(e,t){t.tag=e.tag;var n=t.attrs;if(n==null)return t.attrs=e.attrs,t.is=e.is,t;if(i.call(n,`class`)&&(n.class!=null&&(n.className=n.class),n.class=null),e.attrs!==a){var r=n.className;n=Object.assign({},e.attrs,n),e.attrs.className!=null&&(n.className=r==null?e.attrs.className:String(e.attrs.className)+` `+String(r))}return e.tag===`input`&&i.call(n,`type`)&&(n=Object.assign({type:n.type},n)),t.is=n.is,t.attrs=n,t}function v(e,t,...i){if(e==null||typeof e!=`string`&&typeof e!=`function`&&typeof e.view!=`function`)throw Error(`The selector must be either a string or a component.`);var a=r(t,i);return typeof e==`string`&&(a.children=n.normalizeChildren(a.children),e!==`[`)?_(c[e]||g(e),a):(a.attrs??={},a.tag=e,a)}t.exports=v})),_=c(((e,t)=>{var n=d();t.exports=function(e){return e??=``,n(`<`,void 0,void 0,e,void 0,void 0)}})),v=c(((e,t)=>{var n=d(),r=f();t.exports=function(e,...t){var i=r(e,t);return i.attrs??={},i.tag=`[`,i.children=n.normalizeChildren(i.children),i}})),y=c(((e,t)=>{var n=g();n.trust=_(),n.fragment=v(),t.exports=n})),b=c(((e,t)=>{t.exports=new WeakMap})),x=c(((e,t)=>{var n=b();function*r(e){var t=e.dom,r=e.domSize,i=n.get(t);if(t!=null)do{var a=t.nextSibling;n.get(t)===i&&(yield t,r--),t=a}while(r)}t.exports=r})),S=c(((e,t)=>{var n=d(),r=b(),i=x(),a=h();t.exports=function(){var e={svg:`http://www.w3.org/2000/svg`,math:`http://www.w3.org/1998/Math/MathML`},t,o;function s(e){return e.ownerDocument}function c(t){return t.attrs&&t.attrs.xmlns||e[t.tag]}function l(e,t){if(e.state!==t)throw Error(`'vnode.state' must not be modified.`)}function u(e){var t=e.state;try{return this.apply(t,arguments)}finally{l(e,t)}}function d(e){try{return s(e).activeElement}catch{return null}}function f(e,t,n,r,i,a,o){for(var s=n;s<r;s++){var c=t[s];c!=null&&p(e,c,i,o,a)}}function p(e,t,n,r,i){var a=t.tag;if(typeof a==`string`)switch(t.state={},t.attrs!=null&&H(t.attrs,t,n),a){case`#`:m(e,t,i);break;case`<`:g(e,t,r,i);break;case`[`:_(e,t,n,r,i);break;default:v(e,t,n,r,i)}else b(e,t,n,r,i)}function m(e,t,n){t.dom=s(e).createTextNode(t.children),N(e,t.dom,n)}var h={caption:`table`,thead:`table`,tbody:`table`,tfoot:`table`,tr:`tbody`,th:`tr`,td:`tr`,colgroup:`table`,col:`colgroup`};function g(e,t,n,r){var i=t.children.match(/^\s*?<(\w+)/im)||[],a=s(e).createElement(h[i[1]]||`div`);n===`http://www.w3.org/2000/svg`?(a.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg">`+t.children+`</svg>`,a=a.firstChild):a.innerHTML=t.children,t.dom=a.firstChild,t.domSize=a.childNodes.length;for(var o=s(e).createDocumentFragment(),c;c=a.firstChild;)o.appendChild(c);N(e,o,r)}function _(e,t,n,r,i){var a=s(e).createDocumentFragment();if(t.children!=null){var o=t.children;f(a,o,0,o.length,n,null,r)}t.dom=a.firstChild,t.domSize=a.childNodes.length,N(e,a,i)}function v(e,t,n,r,i){var a=t.tag,o=t.attrs,l=t.is;r=c(t)||r;var u=r?l?s(e).createElementNS(r,a,{is:l}):s(e).createElementNS(r,a):l?s(e).createElement(a,{is:l}):s(e).createElement(a);if(t.dom=u,o!=null&&re(t,o,r),N(e,u,i),!P(t)&&t.children!=null){var d=t.children;f(u,d,0,d.length,n,null,r),t.tag===`select`&&o!=null&&ae(t,o)}}function y(e,t){var r;if(typeof e.tag.view==`function`){if(e.state=Object.create(e.tag),r=e.state.view,r.$$reentrantLock$$!=null)return;r.$$reentrantLock$$=!0}else{if(e.state=void 0,r=e.tag,r.$$reentrantLock$$!=null)return;r.$$reentrantLock$$=!0,e.state=e.tag.prototype!=null&&typeof e.tag.prototype.view==`function`?new e.tag(e):e.tag(e)}if(H(e.state,e,t),e.attrs!=null&&H(e.attrs,e,t),e.instance=n.normalize(u.call(e.state.view,e)),e.instance===e)throw Error(`A view cannot return the vnode it received as argument`);r.$$reentrantLock$$=null}function b(e,t,n,r,i){y(t,n),t.instance==null?t.domSize=0:(p(e,t.instance,n,r,i),t.dom=t.instance.dom,t.domSize=t.instance.domSize)}function x(e,t,n,r,i,a){if(!(t===n||t==null&&n==null))if(t==null||t.length===0)f(e,n,0,n.length,r,i,a);else if(n==null||n.length===0)F(e,t,0,t.length);else{var o=t[0]!=null&&t[0].key!=null,s=n[0]!=null&&n[0].key!=null,c=0,l=0;if(!o)for(;l<t.length&&t[l]==null;)l++;if(!s)for(;c<n.length&&n[c]==null;)c++;if(o!==s)F(e,t,l,t.length),f(e,n,c,n.length,r,i,a);else if(s){for(var u=t.length-1,d=n.length-1,m,h,g,_,v,y;u>=l&&d>=c&&(_=t[u],v=n[d],_.key===v.key);)_!==v&&S(e,_,v,r,i,a),v.dom!=null&&(i=v.dom),u--,d--;for(;u>=l&&d>=c&&(h=t[l],g=n[c],h.key===g.key);)l++,c++,h!==g&&S(e,h,g,r,j(t,l,i),a);for(;u>=l&&d>=c&&!(c===d||h.key!==v.key||_.key!==g.key);)y=j(t,l,i),M(e,_,y),_!==g&&S(e,_,g,r,y,a),++c<=--d&&M(e,h,i),h!==v&&S(e,h,v,r,i,a),v.dom!=null&&(i=v.dom),l++,u--,_=t[u],v=n[d],h=t[l],g=n[c];for(;u>=l&&d>=c&&_.key===v.key;)_!==v&&S(e,_,v,r,i,a),v.dom!=null&&(i=v.dom),u--,d--,_=t[u],v=n[d];if(c>d)F(e,t,l,u+1);else if(l>u)f(e,n,c,d+1,r,i,a);else{var b=i,x=d-c+1,C=Array(x),w=0,T=0,E=2147483647,D=0,m,k;for(T=0;T<x;T++)C[T]=-1;for(T=d;T>=c;T--){m??=O(t,l,u+1),v=n[T];var N=m[v.key];N!=null&&(E=N<E?N:-1,C[T-c]=N,_=t[N],t[N]=null,_!==v&&S(e,_,v,r,i,a),v.dom!=null&&(i=v.dom),D++)}if(i=b,D!==u-l+1&&F(e,t,l,u+1),D===0)f(e,n,c,d+1,r,i,a);else if(E===-1)for(k=A(C),w=k.length-1,T=d;T>=c;T--)g=n[T],C[T-c]===-1?p(e,g,r,a,i):k[w]===T-c?w--:M(e,g,i),g.dom!=null&&(i=n[T].dom);else for(T=d;T>=c;T--)g=n[T],C[T-c]===-1&&p(e,g,r,a,i),g.dom!=null&&(i=n[T].dom)}}else{var P=t.length<n.length?t.length:n.length;for(c=c<l?c:l;c<P;c++)h=t[c],g=n[c],!(h===g||h==null&&g==null)&&(h==null?p(e,g,r,a,j(t,c+1,i)):g==null?L(e,h):S(e,h,g,r,j(t,c+1,i),a));t.length>P&&F(e,t,c,t.length),n.length>P&&f(e,n,c,n.length,r,i,a)}}}function S(e,t,n,r,i,a){var o=t.tag;if(o===n.tag&&t.is===n.is){if(n.state=t.state,n.events=t.events,W(n,t))return;if(typeof o==`string`)switch(n.attrs!=null&&U(n.attrs,n,r),o){case`#`:C(t,n);break;case`<`:w(e,t,n,a,i);break;case`[`:T(e,t,n,r,i,a);break;default:E(t,n,r,a)}else D(e,t,n,r,i,a)}else L(e,t),p(e,n,r,a,i)}function C(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children),t.dom=e.dom}function w(e,t,n,r,i){t.children===n.children?(n.dom=t.dom,n.domSize=t.domSize):(te(e,t),g(e,n,r,i))}function T(e,t,n,r,i,a){x(e,t.children,n.children,r,i,a);var o=0,s=n.children;if(n.dom=null,s!=null)for(var c=0;c<s.length;c++){var l=s[c];l!=null&&l.dom!=null&&(n.dom??=l.dom,o+=l.domSize||1)}n.domSize=o}function E(e,t,n,r){var i=t.dom=e.dom;r=c(t)||r,(e.attrs!=t.attrs||t.attrs!=null&&!a.get(t.attrs))&&oe(t,e.attrs,t.attrs,r),P(t)||x(i,e.children,t.children,n,null,r)}function D(e,t,r,i,a,o){if(r.instance=n.normalize(u.call(r.state.view,r)),r.instance===r)throw Error(`A view cannot return the vnode it received as argument`);U(r.state,r,i),r.attrs!=null&&U(r.attrs,r,i),r.instance==null?(t.instance!=null&&L(e,t.instance),r.domSize=0):(t.instance==null?p(e,r.instance,i,o,a):S(e,t.instance,r.instance,i,a,o),r.dom=r.instance.dom,r.domSize=r.instance.domSize)}function O(e,t,n){for(var r=Object.create(null);t<n;t++){var i=e[t];if(i!=null){var a=i.key;a!=null&&(r[a]=t)}}return r}var k=[];function A(e){for(var t=[0],n=0,r=0,i=0,a=k.length=e.length,i=0;i<a;i++)k[i]=e[i];for(var i=0;i<a;++i)if(e[i]!==-1){var o=t[t.length-1];if(e[o]<e[i]){k[i]=o,t.push(i);continue}for(n=0,r=t.length-1;n<r;){var s=(n>>>1)+(r>>>1)+(n&r&1);e[t[s]]<e[i]?n=s+1:r=s}e[i]<e[t[n]]&&(n>0&&(k[i]=t[n-1]),t[n]=i)}for(n=t.length,r=t[n-1];n-- >0;)t[n]=r,r=k[r];return k.length=0,t}function j(e,t,n){for(;t<e.length;t++)if(e[t]!=null&&e[t].dom!=null)return e[t].dom;return n}function M(e,t,n){if(t.dom!=null){var r;if(t.domSize==null||t.domSize===1)r=t.dom;else{r=s(e).createDocumentFragment();for(var a of i(t))r.appendChild(a)}N(e,r,n)}}function N(e,t,n){n==null?e.appendChild(t):e.insertBefore(t,n)}function P(e){if(e.attrs==null||e.attrs.contenteditable==null&&e.attrs.contentEditable==null)return!1;var t=e.children;if(t!=null&&t.length===1&&t[0].tag===`<`){var n=t[0].children;e.dom.innerHTML!==n&&(e.dom.innerHTML=n)}else if(t!=null&&t.length!==0)throw Error(`Child node of a contenteditable must be trusted.`);return!0}function F(e,t,n,r){for(var i=n;i<r;i++){var a=t[i];a!=null&&L(e,a)}}function ee(e,t,n,a){var s=t.state,c=u.call(n.onbeforeremove,t);if(c!=null){var d=o;for(var f of i(t))r.set(f,d);a.v++,Promise.resolve(c).finally(function(){l(t,s),I(e,t,a)})}}function I(e,t,n){--n.v===0&&(ne(t),te(e,t))}function L(e,t){var n={v:1};typeof t.tag!=`string`&&typeof t.state.onbeforeremove==`function`&&ee(e,t,t.state,n),t.attrs&&typeof t.attrs.onbeforeremove==`function`&&ee(e,t,t.attrs,n),I(e,t,n)}function te(e,t){if(t.dom!=null)if(t.domSize==null||t.domSize===1)e.removeChild(t.dom);else for(var n of i(t))e.removeChild(n)}function ne(e){if(typeof e.tag!=`string`&&typeof e.state.onremove==`function`&&u.call(e.state.onremove,e),e.attrs&&typeof e.attrs.onremove==`function`&&u.call(e.attrs.onremove,e),typeof e.tag!=`string`)e.instance!=null&&ne(e.instance);else{e.events!=null&&(e.events._=null);var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];r!=null&&ne(r)}}}function re(e,t,n){for(var r in t)R(e,r,null,t[r],n)}function R(e,t,n,r,i){if(!(t===`key`||r==null||ce(t)||n===r&&!se(e,t)&&typeof r!=`object`)){if(t[0]===`o`&&t[1]===`n`)return le(e,t,r);if(t.slice(0,6)===`xlink:`)e.dom.setAttributeNS(`http://www.w3.org/1999/xlink`,t.slice(6),r);else if(t===`style`)B(e.dom,n,r);else if(z(e,t,i)){if(t===`value`){if((e.tag===`input`||e.tag===`textarea`)&&e.dom.value===``+r||e.tag===`select`&&n!==null&&e.dom.value===``+r||e.tag===`option`&&n!==null&&e.dom.value===``+r)return;if(e.tag===`input`&&e.attrs.type===`file`&&``+r!=``){console.error("`value` is read-only on file inputs!");return}}e.tag===`input`&&t===`type`?e.dom.setAttribute(t,r):e.dom[t]=r}else typeof r==`boolean`?r?e.dom.setAttribute(t,``):e.dom.removeAttribute(t):e.dom.setAttribute(t===`className`?`class`:t,r)}}function ie(e,t,n,r){if(!(t===`key`||n==null||ce(t)))if(t[0]===`o`&&t[1]===`n`)le(e,t,void 0);else if(t===`style`)B(e.dom,n,null);else if(z(e,t,r)&&t!==`className`&&t!==`title`&&!(t===`value`&&(e.tag===`option`||e.tag===`select`&&e.dom.selectedIndex===-1&&e.dom===d(e.dom)))&&!(e.tag===`input`&&t===`type`))e.dom[t]=null;else{var i=t.indexOf(`:`);i!==-1&&(t=t.slice(i+1)),n!==!1&&e.dom.removeAttribute(t===`className`?`class`:t)}}function ae(e,t){if(`value`in t)if(t.value===null)e.dom.selectedIndex!==-1&&(e.dom.value=null);else{var n=``+t.value;(e.dom.value!==n||e.dom.selectedIndex===-1)&&(e.dom.value=n)}`selectedIndex`in t&&R(e,`selectedIndex`,null,t.selectedIndex,void 0)}function oe(e,t,n,r){var i;if(t!=null)for(var o in t===n&&!a.has(n)&&console.warn(`Don't reuse attrs object, use new object for every redraw, this will throw in next major`),t)(i=t[o])!=null&&(n==null||n[o]==null)&&ie(e,o,i,r);if(n!=null)for(var o in n)R(e,o,t&&t[o],n[o],r)}function se(e,t){return t===`value`||t===`checked`||t===`selectedIndex`||t===`selected`&&(e.dom===d(e.dom)||e.tag===`option`&&e.dom.parentNode===d(e.dom))}function ce(e){return e===`oninit`||e===`oncreate`||e===`onupdate`||e===`onremove`||e===`onbeforeremove`||e===`onbeforeupdate`}function z(e,t,n){return n===void 0&&(e.tag.indexOf(`-`)>-1||e.is||t!==`href`&&t!==`list`&&t!==`form`&&t!==`width`&&t!==`height`)&&t in e.dom}function B(e,t,n){if(t!==n)if(n==null)e.style=``;else if(typeof n!=`object`)e.style=n;else if(typeof t!=`object`||!t)for(var r in e.style=``,n){var i=n[r];i!=null&&(r.includes(`-`)?e.style.setProperty(r,String(i)):e.style[r]=String(i))}else{for(var r in t)t[r]!=null&&n[r]==null&&(r.includes(`-`)?e.style.removeProperty(r):e.style[r]=``);for(var r in n){var i=n[r];i!=null&&(i=String(i))!==String(t[r])&&(r.includes(`-`)?e.style.setProperty(r,i):e.style[r]=i)}}}function V(){this._=t}V.prototype=Object.create(null),V.prototype.handleEvent=function(e){var t=this[`on`+e.type],n;typeof t==`function`?n=t.call(e.currentTarget,e):typeof t.handleEvent==`function`&&t.handleEvent(e);var r=this;r._!=null&&(e.redraw!==!1&&(0,r._)(),n!=null&&typeof n.then==`function`&&Promise.resolve(n).then(function(){r._!=null&&e.redraw!==!1&&(0,r._)()})),n===!1&&(e.preventDefault(),e.stopPropagation())};function le(e,n,r){if(e.events!=null){if(e.events._=t,e.events[n]===r)return;r!=null&&(typeof r==`function`||typeof r==`object`)?(e.events[n]??e.dom.addEventListener(n.slice(2),e.events,!1),e.events[n]=r):(e.events[n]!=null&&e.dom.removeEventListener(n.slice(2),e.events,!1),e.events[n]=void 0)}else r!=null&&(typeof r==`function`||typeof r==`object`)&&(e.events=new V,e.dom.addEventListener(n.slice(2),e.events,!1),e.events[n]=r)}function H(e,t,n){typeof e.oninit==`function`&&u.call(e.oninit,t),typeof e.oncreate==`function`&&n.push(u.bind(e.oncreate,t))}function U(e,t,n){typeof e.onupdate==`function`&&n.push(u.bind(e.onupdate,t))}function W(e,t){do{if(e.attrs!=null&&typeof e.attrs.onbeforeupdate==`function`){var n=u.call(e.attrs.onbeforeupdate,e,t);if(n!==void 0&&!n)break}if(typeof e.tag!=`string`&&typeof e.state.onbeforeupdate==`function`){var n=u.call(e.state.onbeforeupdate,e,t);if(n!==void 0&&!n)break}return!1}while(!1);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}var G;return function(e,r,i){if(!e)throw TypeError(`DOM element being rendered to does not exist.`);if(G!=null&&e.contains(G))throw TypeError(`Node is currently being rendered to and thus is locked.`);var a=t,s=G,c=[],l=d(e),u=e.namespaceURI;G=e,t=typeof i==`function`?i:void 0,o={};try{e.vnodes??(e.textContent=``),r=n.normalizeChildren(Array.isArray(r)?r:[r]),x(e,e.vnodes,r,c,null,u===`http://www.w3.org/1999/xhtml`?void 0:u),e.vnodes=r,l!=null&&d(e)!==l&&typeof l.focus==`function`&&l.focus();for(var f=0;f<c.length;f++)c[f]()}finally{t=a,G=s}}}})),C=c(((e,t)=>{t.exports=S()()})),w=c(((e,t)=>{var n=d();t.exports=function(e,t,r){var i=[],a=!1,o=-1;function s(){for(o=0;o<i.length;o+=2)try{e(i[o],n(i[o+1]),c)}catch(e){r.error(e)}o=-1}function c(){a||(a=!0,t(function(){a=!1,s()}))}c.sync=s;function l(t,r){if(r!=null&&r.view==null&&typeof r!=`function`)throw TypeError(`m.mount expects a component, not a vnode.`);var a=i.indexOf(t);a>=0&&(i.splice(a,2),a<=o&&(o-=2),e(t,[])),r!=null&&(i.push(t,r),e(t,n(r),c))}return{mount:l,redraw:c}}})),T=c(((e,t)=>{var n=C();t.exports=w()(n,typeof requestAnimationFrame<`u`?requestAnimationFrame:null,typeof console<`u`?console:null)})),E=c(((e,t)=>{t.exports=function(e){if(Object.prototype.toString.call(e)!==`[object Object]`)return``;var t=[];for(var n in e)r(n,e[n]);return t.join(`&`);function r(e,n){if(Array.isArray(n))for(var i=0;i<n.length;i++)r(e+`[`+i+`]`,n[i]);else if(Object.prototype.toString.call(n)===`[object Object]`)for(var i in n)r(e+`[`+i+`]`,n[i]);else t.push(encodeURIComponent(e)+(n!=null&&n!==``?`=`+encodeURIComponent(n):``))}}})),D=c(((e,t)=>{var n=E();t.exports=function(e,t){if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw SyntaxError(`Template parameter names must be separated by either a '/', '-', or '.'.`);if(t==null)return e;var r=e.indexOf(`?`),i=e.indexOf(`#`),a=i<0?e.length:i,o=r<0?a:r,s=e.slice(0,o),c={};Object.assign(c,t);var l=s.replace(/:([^\/\.-]+)(\.{3})?/g,function(e,n,r){return delete c[n],t[n]==null?e:r?t[n]:encodeURIComponent(String(t[n]))}),u=l.indexOf(`?`),d=l.indexOf(`#`),f=d<0?l.length:d,p=u<0?f:u,m=l.slice(0,p);r>=0&&(m+=e.slice(r,a)),u>=0&&(m+=(r<0?`?`:`&`)+l.slice(u,f));var h=n(c);return h&&(m+=(r<0&&u<0?`?`:`&`)+h),i>=0&&(m+=e.slice(i)),d>=0&&(m+=(i<0?``:`&`)+l.slice(d)),m}})),O=c(((e,t)=>{var n=D(),r=p();t.exports=function(e,t){function i(e){return new Promise(e)}function a(t,i){return new Promise(function(a,s){t=n(t,i.params);var c=i.method==null?`GET`:i.method.toUpperCase(),l=i.body,u=(i.serialize==null||i.serialize===JSON.serialize)&&!(l instanceof e.FormData||l instanceof e.URLSearchParams),d=i.responseType||(typeof i.extract==`function`?``:`json`),f=new e.XMLHttpRequest,p=!1,m=!1,h=f,g,_=f.abort;for(var v in f.abort=function(){p=!0,_.call(this)},f.open(c,t,i.async!==!1,typeof i.user==`string`?i.user:void 0,typeof i.password==`string`?i.password:void 0),u&&l!=null&&!o(i,`content-type`)&&f.setRequestHeader(`Content-Type`,`application/json; charset=utf-8`),typeof i.deserialize!=`function`&&!o(i,`accept`)&&f.setRequestHeader(`Accept`,`application/json, text/*`),i.withCredentials&&(f.withCredentials=i.withCredentials),i.timeout&&(f.timeout=i.timeout),f.responseType=d,i.headers)r.call(i.headers,v)&&f.setRequestHeader(v,i.headers[v]);f.onreadystatechange=function(e){if(!p&&e.target.readyState===4)try{var n=e.target.status>=200&&e.target.status<300||e.target.status===304||/^file:\/\//i.test(t),r=e.target.response,o;if(d===`json`){if(!e.target.responseType&&typeof i.extract!=`function`)try{r=JSON.parse(e.target.responseText)}catch{r=null}}else (!d||d===`text`)&&(r??=e.target.responseText);if(typeof i.extract==`function`?(r=i.extract(e.target,i),n=!0):typeof i.deserialize==`function`&&(r=i.deserialize(r)),n){if(typeof i.type==`function`)if(Array.isArray(r))for(var c=0;c<r.length;c++)r[c]=new i.type(r[c]);else r=new i.type(r);a(r)}else{var l=function(){try{o=e.target.responseText}catch{o=r}var t=Error(o);t.code=e.target.status,t.response=r,s(t)};f.status===0?setTimeout(function(){m||l()}):l()}}catch(e){s(e)}},f.ontimeout=function(e){m=!0;var t=Error(`Request timed out`);t.code=e.target.status,s(t)},typeof i.config==`function`&&(f=i.config(f,i,t)||f,f!==h&&(g=f.abort,f.abort=function(){p=!0,g.call(this)})),l==null?f.send():typeof i.serialize==`function`?f.send(i.serialize(l)):l instanceof e.FormData||l instanceof e.URLSearchParams?f.send(l):f.send(JSON.stringify(l))})}i.prototype=Promise.prototype,i.__proto__=Promise;function o(e,t){for(var n in e.headers)if(r.call(e.headers,n)&&n.toLowerCase()===t)return!0;return!1}return{request:function(e,n){typeof e==`string`?n??={}:(n=e,e=e.url);var r=a(e,n);if(n.background===!0)return r;var o=0;function s(){--o===0&&typeof t==`function`&&t()}return c(r);function c(e){var t=e.then;return e.constructor=i,e.then=function(){o++;var n=t.apply(e,arguments);return n.then(s,function(e){if(s(),o===0)throw e}),c(n)},e}}}}})),k=c(((e,t)=>{var n=T();t.exports=O()(typeof window<`u`?window:null,n.redraw)})),A=c(((e,t)=>{var n=/%(?:[0-7]|(?!c[01]|e0%[89]|ed%[ab]|f0%8|f4%[9ab])(?:c|d|(?:e|f[0-4]%[89ab])[\da-f]%[89ab])[\da-f]%[89ab])[\da-f]/gi;t.exports=function(e){return String(e).replace(n,decodeURIComponent)}})),j=c(((e,t)=>{var n=A();t.exports=function(e){if(e===``||e==null)return{};e.charAt(0)===`?`&&(e=e.slice(1));for(var t=e.split(`&`),r={},i={},a=0;a<t.length;a++){var o=t[a].split(`=`),s=n(o[0]),c=o.length===2?n(o[1]):``;c===`true`?c=!0:c===`false`&&(c=!1);var l=s.split(/\]\[?|\[/),u=i;s.indexOf(`[`)>-1&&l.pop();for(var d=0;d<l.length;d++){var f=l[d],p=l[d+1],m=p==``||!isNaN(parseInt(p,10));if(f===``){var s=l.slice(0,d).join();r[s]??(r[s]=Array.isArray(u)?u.length:0),f=r[s]++}else if(f===`__proto__`)break;if(d===l.length-1)u[f]=c;else{var h=Object.getOwnPropertyDescriptor(u,f);h!=null&&(h=h.value),h??(u[f]=h=m?[]:{}),u=h}}}return i}})),M=c(((e,t)=>{var n=j();t.exports=function(e){var t=e.indexOf(`?`),r=e.indexOf(`#`),i=r<0?e.length:r,a=t<0?i:t,o=e.slice(0,a).replace(/\/{2,}/g,`/`);return o?o[0]!==`/`&&(o=`/`+o):o=`/`,{path:o,params:t<0?{}:n(e.slice(t+1,i))}}})),N=c(((e,t)=>{var n=M();t.exports=function(e){var t=n(e),r=Object.keys(t.params),i=[],a=RegExp(`^`+t.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,function(e,t,n){return t==null?`\\`+e:(i.push({k:t,r:n===`...`}),n===`...`?`(.*)`:n===`.`?`([^/]+)\\.`:`([^/]+)`+(n||``))})+`\\/?$`);return function(e){for(var n=0;n<r.length;n++)if(t.params[r[n]]!==e.params[r[n]])return!1;if(!i.length)return a.test(e.path);var o=a.exec(e.path);if(o==null)return!1;for(var n=0;n<i.length;n++)e.params[i[n].k]=i[n].r?o[n+1]:decodeURIComponent(o[n+1]);return!0}}})),P=c(((e,t)=>{var n=p(),r=/^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$/;t.exports=function(e,t){var i={};if(t!=null)for(var a in e)n.call(e,a)&&!r.test(a)&&t.indexOf(a)<0&&(i[a]=e[a]);else for(var a in e)n.call(e,a)&&!r.test(a)&&(i[a]=e[a]);return i}})),F=c(((e,t)=>{var n=d(),r=g(),i=A(),a=D(),o=M(),s=N(),c=P();t.exports=function(e,t){var l=Promise.resolve(),u=!1,d=!1,f=!1,p,m,h,g,_,v,y,b,x={onremove:function(){d=f=!1,e.removeEventListener(`popstate`,w,!1)},view:function(){var e=n(_,v.key,v);return g?g.render(e):[e]}},S=T.SKIP={};function C(){u=!1;var n=e.location.hash;T.prefix[0]!==`#`&&(n=e.location.search+n,T.prefix[0]!==`?`&&(n=e.location.pathname+n,n[0]!==`/`&&(n=`/`+n)));var r=i(n).slice(T.prefix.length),a=o(r);Object.assign(a.params,e.history.state);function s(e){console.error(e),T.set(h,null,{replace:!0})}c(0);function c(e){for(;e<m.length;e++)if(m[e].check(a)){var n=m[e].component,i=m[e].route,o=n,u=b=function(i){if(u===b){if(i===S)return c(e+1);_=i!=null&&(typeof i.view==`function`||typeof i==`function`)?i:`div`,v=a.params,y=r,b=null,g=n.render?n:null,f?t.redraw():(f=!0,t.mount(p,x))}};n.view||typeof n==`function`?(n={},u(o)):n.onmatch?l.then(function(){return n.onmatch(a.params,r,i)}).then(u,r===h?null:s):u();return}if(r===h)throw Error(`Could not resolve default route `+h+`.`);T.set(h,null,{replace:!0})}}function w(){u||(u=!0,setTimeout(C))}function T(t,n,r){if(!t)throw TypeError(`DOM element being rendered to does not exist.`);if(m=Object.keys(r).map(function(e){if(e[0]!==`/`)throw SyntaxError(`Routes must start with a '/'.`);if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw SyntaxError(`Route parameter names must be separated with either '/', '.', or '-'.`);return{route:e,component:r[e],check:s(e)}}),h=n,n!=null){var i=o(n);if(!m.some(function(e){return e.check(i)}))throw ReferenceError(`Default route doesn't match any known routes.`)}p=t,e.addEventListener(`popstate`,w,!1),d=!0,C()}return T.set=function(t,n,r){if(b!=null&&(r||={},r.replace=!0),b=null,t=a(t,n),d){w();var i=r?r.state:null,o=r?r.title:null;r&&r.replace?e.history.replaceState(i,o,T.prefix+t):e.history.pushState(i,o,T.prefix+t)}else e.location.href=T.prefix+t},T.get=function(){return y},T.prefix=`#!`,T.Link={view:function(e){var t=r(e.attrs.selector||`a`,c(e.attrs,[`options`,`params`,`selector`,`onclick`]),e.children),n,i,o;return(t.attrs.disabled=!!t.attrs.disabled)?(t.attrs.href=null,t.attrs[`aria-disabled`]=`true`):(n=e.attrs.options,i=e.attrs.onclick,o=a(t.attrs.href,e.attrs.params),t.attrs.href=T.prefix+o,t.attrs.onclick=function(e){var t;typeof i==`function`?t=i.call(e.currentTarget,e):typeof i!=`object`||!i||typeof i.handleEvent==`function`&&i.handleEvent(e),t!==!1&&!e.defaultPrevented&&(e.button===0||e.which===0||e.which===1)&&(!e.currentTarget.target||e.currentTarget.target===`_self`)&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey&&(e.preventDefault(),e.redraw=!1,T.set(o,null,n))}),t}},T.param=function(e){return v&&e!=null?v[e]:v},T}})),ee=c(((e,t)=>{var n=T();t.exports=F()(typeof window<`u`?window:null,n)})),I=u(c(((e,t)=>{var n=y(),r=T(),i=k(),a=ee(),o=function(){return n.apply(this,arguments)};o.m=n,o.trust=n.trust,o.fragment=n.fragment,o.Fragment=`[`,o.mount=r.mount,o.route=a,o.render=C(),o.redraw=r.redraw,o.request=i.request,o.parseQueryString=j(),o.buildQueryString=E(),o.parsePathname=M(),o.buildPathname=D(),o.vnode=d(),o.censor=P(),o.domFor=x(),t.exports=o}))(),1);function L(e,t){return(0,I.default)(R,e,t)}function te(e,t){return(0,I.default)(ie,e,t)}function ne(e,t){return(0,I.default)(ae,e,t)}function re(e,t){return(0,I.default)(oe,e,t)}var R=()=>({view:({attrs:{start:e,end:t,...n},children:r})=>(0,I.default)(`div.twk-bar`,n,[e?(0,I.default)(ie,e):null,r,t?(0,I.default)(ae,t):null])}),ie=()=>({view:({attrs:e,children:t})=>(0,I.default)(`div.twk-bar-start`,e,t)}),ae=()=>({view:({attrs:e,children:t})=>(0,I.default)(`div.twk-bar-end`,e,t)}),oe=()=>({view:({attrs:e,children:t})=>(0,I.default)(`div.twk-bar-content`,e,t)});function se(e,t){return(0,I.default)(ce,e,t)}var ce=()=>({view:e=>{let t=e.attrs;return(0,I.default)(`div.twk-grid`,{style:{gridTemplateColumns:typeof t.columns==`number`?`repeat(${t.columns}, 1fr)`:t.columns||`none`,gridTemplateRows:typeof t.rows==`number`?`repeat(${t.rows}, 1fr)`:t.rows||`none`,...t.style||{}}},e.children)}});function z(e){return typeof e==`string`}function B(e){return typeof e==`number`}function V(e){return typeof e==`function`}function le(e){return Array.isArray(e)}function H(e){return typeof e==`object`&&!!e&&!le(e)}function U(e,...t){return V(e)?e(...t):null}function W(e,t,n){if(e!=null){if(t!=null&&e<t)return t;if(n!=null&&e>n)return n}return e}function G(){if(arguments.length===1&&z(arguments[0]))return arguments[0];if(arguments.length===0)return``;let e=[],t=n=>{if(n){if(typeof n==`function`){t(n());return}if(typeof n==`string`){n&&e.push(n);return}if(Array.isArray(n)){for(let e of n)t(e);return}if(typeof n==`object`)for(let t in n){let r=n[t];(typeof r==`function`?r():r)&&e.push(t)}}};for(let e of arguments)t(e);return e.join(` `)}function ue(e,t,n){for(;e.length<t;)e=`${n}${e}`;return e}function de(e){let t=0,n=0;return`touches`in e?(t=e.touches.item(0).pageX,n=e.touches.item(0).pageY):(t=e.pageX,n=e.pageY),[t,n]}function fe(e,t,n){t||=e.target;let r=t.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,a=window.pageYOffset||document.documentElement.scrollTop,o=t.clientWidth,s=t.clientHeight,[c,l]=de(e);n&&(c+=n[0],l+=n[1]);let u=c-i-r.left,d=l-a-r.top;return{width:o,height:s,x:u,y:d,normalizedX:u/o,normalizedY:d/s}}function pe({onStart:e,onMove:t,onEnd:n}){let r={target:null,activate:i=>{r.deactivate(),r.target=i.target,e&&e(i),t&&(document.addEventListener(`mousemove`,t,{passive:!1}),document.addEventListener(`touchmove`,t,{passive:!1})),n&&(document.addEventListener(`mouseup`,n),document.addEventListener(`touchend`,n),document.addEventListener(`touchcancel`,n))},deactivate:()=>{r.target=null,t&&(document.removeEventListener(`mousemove`,t),document.removeEventListener(`touchmove`,t)),n&&(document.removeEventListener(`mouseup`,n),document.removeEventListener(`touchend`,n),document.removeEventListener(`touchcancel`,n))},onStart:e,onMove:t,onEnd:n};return r}function me(e,t,n){return new Promise(r=>{let i=!1,a=n=>{i=!0,e.removeEventListener(t,a),r(!0)};e.addEventListener(t,a),setTimeout(()=>{e.removeEventListener(t,a),i||(i=!0,r(!1))},n)})}function he(e,t){return(0,I.default)(ge,e,t)}var ge=()=>{let e,t,n,r,i=!1;function a(t){let i=t.attrs;e=i.title||``,n=!!i.collapsible,r??=!!i.collapsed}function o(){i=!0,r=!r}function s(){return!t&&!e&&!n?null:(0,I.default)(`div.twk-group-title`,{onclick:n?o:void 0},t,e)}return{oninit:a,onupdate:a,view:({attrs:a,children:o})=>(e=a.title||``,t=a.icon||``,n=!!a.collapsible,r??=!!a.collapsed,(0,I.default)(`div.twk-group`,{class:G({"twk-group-collapsible":!!n,"twk-group-collapsed":!!r}),style:a.style},I.default.fragment({},[s()]),r?null:(0,I.default)(_e,{animate:i},o)))}},_e=()=>({onbeforeremove:async({dom:e})=>{e.classList.remove(`enter`),e.classList.add(`leave`),await me(e,`animationstart`,50)&&await me(e,`animationend`,2e3)},view:({children:e,attrs:t})=>(0,I.default)(`div.twk-group-content`,{class:G({animate:t.animate,enter:!0})},e)});function ve(e,t){return(0,I.default)(ye,e,t)}var ye=()=>({view:({attrs:{flex:e,flow:t,style:n,...r},children:i})=>(0,I.default)(`div.twk-flex`,{style:{flex:e??`auto`,flexFlow:t||`column nowrap`,...n||{}},...r},i)});function be(e,t){return(0,I.default)(we,e,t)}function xe(e,t){return(0,I.default)(Te,e,t)}function Se(e,t){return(0,I.default)(Ee,e,t)}function Ce(e,t){return(0,I.default)(De,e,t)}var we=()=>({view:({attrs:{header:e,footer:t,...n},children:r})=>(0,I.default)(`div.twk-section`,n,[e?(0,I.default)(Te,e):null,r,t?(0,I.default)(Ee,t):null])}),Te=()=>({view:({attrs:e,children:t})=>(0,I.default)(`header.twk-section-header`,e,t)}),Ee=()=>({view:({attrs:e,children:t})=>(0,I.default)(`footer.twk-section-footer`,e,t)}),De=()=>({view:({attrs:e,children:t})=>(0,I.default)(`main.twk-section-content`,e,t)});function K(e){return Me(e,Oe(e))}function q(e,t){let n=je(e,t);return ke(e,n),n}function Oe(e){return e.binding?e.binding.get(e.value,e.field):e.value==null?null:e.field==null?e.value:e.value[e.field]}function ke(e,t){if(e.binding){e.binding.set?.(t,e.value,e.field);return}if(e.value!=null){if(e.field){if(!Ae(e.value,e.field)){console.warn(`Cannot write value to control model. Property "${String(e.field)}" is not writeable.`);return}e.value[e.field]=t;return}e.value=t}}function Ae(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return!n||!!n.writable||!!n.set}function je(e,t){return e.adapter?e.adapter.fromControl(t):t}function Me(e,t){return e.adapter?e.adapter.toControl(t):t}function Ne(e){return typeof e==`object`&&!!e&&`tag`in e}function Pe(e,t){return Array.isArray(e)?e.map((e,n,r)=>Ne(e)?t(e,n,r):e):Ne(e)?t(e,0,[e]):e}function Fe(e){return e==null?null:typeof e==`function`?e():Array.isArray(e)?e.map(e=>{if(Ie(e)){let{component:t,attributes:n,children:r}=e;return(0,I.default)(t,n,Fe(r||[]))}return e}):e}function Ie(e){return typeof e==`object`&&!!e&&`component`in e&&`attributes`in e}function Le(e){return()=>{let t;return arguments.length===1?t=arguments[0]||{}:arguments.length>1?(t=arguments[1]||{},t.label=arguments[0]):t={},(0,I.default)(e,t)}}function Re(e,t){return{get:()=>e[t],set:n=>e[t]=n}}var ze=I.default;function Be(e,t){let n=typeof e==`string`?document.querySelector(e):e;if(n.classList.add(`tweak-ui`),!t)I.default.mount(n,null);else if(Array.isArray(t))I.default.mount(n,{view:()=>t});else if(typeof t==`function`){let e=Kn.build(t);I.default.mount(n,{view:()=>Fe(e)})}else I.default.mount(n,t)}function Ve(e){let t=typeof e==`string`?document.querySelector(e):e;I.default.mount(t,null)}function He(){I.default.redraw()}function Ue(e,t){return(0,I.default)(Ke,e,t)}function We(e,t){return(0,I.default)(Ge,e,t)}var Ge=e=>({view:({attrs:e,children:t})=>ze(`div`,{...e,class:G({fluid:!!e.fluid},e.class)},t)}),Ke=()=>{let e=!1,t=0,n,r,i,a,o,s=null,c=null;function l(e,t,s,c){f(),e.stopPropagation(),n=e,r=s.dom?.getBoundingClientRect(),i=c.dom?.getBoundingClientRect(),a=s.dom,o=c.dom,window.addEventListener(`mousemove`,u),window.addEventListener(`mouseup`,f);let l=a.parentElement;l&&l.classList.add(`dragging`)}function u(c){if(!r||!i||!n||!a||!o)return;s??=d();let l=e?c.clientX-n.clientX:c.clientY-n.clientY,u=e?r.width:r.height,f=u+(e?i.width:i.height),p=Math.max(t,Math.min(u+l,f-t)),m=f-p,h=p/s*100,g=m/s*100;a.style.flex=`0 0 ${h}%`,o.style.flex=`0 0 ${g}%`}function d(){if(!c)return 0;let t=0;for(let n=0;n<c.children.length;n++){let r=c.children[n],i=r.getBoundingClientRect(),a=e?i.width:i.height;t+=a,r.classList.contains(`fluid`)?r.style.flex=`1`:r.style.flex=`0 0 ${a}px`}return t}function f(){let e=a?.parentElement;e&&e.classList.remove(`dragging`),a=null,o=null,r=null,i=null,n=null,s=null,window.removeEventListener(`mousemove`,u),window.removeEventListener(`mouseup`,f),d()}return{oncreate:({dom:e})=>{c=e},view:({attrs:{style:n,flow:r,minSize:i,...a},children:o})=>(e=r===`row`,t=i=Math.max(i||16,0),queueMicrotask(d),(0,I.default)(`div.twk-split-pane`,{...a,class:G({"twk-split-pane-h":e,"twk-split-pane-v":!e}),style:{...n||{},display:`flex`,flexDirection:e?`row`:`column`}},Pe(o,(t,n,r)=>t?[t,r[n+1]?(0,I.default)(`div.twk-split-gutter`,{class:G({"twk-split-gutter-h":e,"twk-split-gutter-v":!e}),onmousedown:e=>l(e,n,t,r[n+1])}):null]:null)))}},qe=Symbol(`tabsHost`),Je=()=>{let e,t;return{oninit:n=>{if(e=n.attrs[qe],t=n,!e)throw Error(`TabPane must be used inside a Tabs component`);e.attach(n)},onremove:()=>{e.detach(t)},view:({attrs:n,children:r})=>{let i=n.title,a=e.isActive(t);return[(0,I.default)(`button.twk-btn.twk-tab`,{class:G({active:a}),onclick:()=>e.activate(t)},i),a?(0,I.default)(`div.twk-tab-content`,{},r):null]}}};function Ye(e,t){return(0,I.default)(Xe,e,t)}var Xe=()=>{let e=[],t=null,n={attach(n){e.push(n),t||=n,n.attrs.active&&(t=n)},detach(n){let r=e.indexOf(n);r>=0&&e.splice(r,1),t===n&&(t=e[0]||null)},activate(e){t=e},isActive(e){return t===e}};function r(e){return Pe(e.children,e=>{if(!e)return e;if(e.tag===Je)return(0,I.default)(e.tag,{...e.attrs,[qe]:n},e.children);let t=e.attrs;return(0,I.default)(Je,{title:t.title||``,[qe]:n},(0,I.default)(e.tag,{...t,title:void 0},e.children))})}return{view:e=>(0,I.default)(`div.twk-tabs`,{class:G({"twk-tabs-vertical":!!e.attrs.vertical})},I.default.fragment({},[r(e)]))}};function Ze(e){return(0,I.default)(et,e)}function Qe(e,t,n=0,r=[]){for(let i of e){let e=t.isExpanded(i)??!1,a=t.nodeChildren(i);r.push({node:i,depth:n,expanded:e}),a&&e&&Qe(a,t,n+1,r)}return r}var $e=22,et=()=>{let e=0,t=null,n=0,r=[],i=null,a,o,s,c=[],l=null;return{onremove(){t?.disconnect()},oncreate({dom:e}){t=new ResizeObserver(e=>{let t=e[0].contentRect.height;t!==n&&(n=t,I.default.redraw())}),t.observe(e)},onupdate({attrs:{adapter:e}}){e.connect?.({scrollTo(e){let t=r.findIndex(t=>t.node===e);t>=0&&(l?.scrollTo({top:t*(o??$e),behavior:`instant`}),I.default.redraw())}})},view({attrs:t}){c=t.data,i=t.adapter,a=t.selectedId,o=t.rowHeight??$e,s=t.onSelect,r=Qe(c,i);let u=r.length,d=Math.ceil(n/o),f=Math.floor(e/o),p=Math.min(f+d,u),m=f*o,h=r.slice(f,p);return(0,I.default)(`div.twk-tree`,{style:t.style??{},oncreate:({dom:e})=>{l=e},onscroll:t=>{e=t.target.scrollTop}},(0,I.default)(`div.twk-tree-spacer`,{style:{height:`${u*o}px`}},(0,I.default)(`div.twk-tree-viewport`,{style:{"--twk-tree-row-height":`${o}px`,transform:`translateY(${m}px)`}},h.map(({node:e,depth:t,expanded:n})=>{let r=i.nodeId(e),c=r===a,l=i.nodeIcon(e,i.isExpanded(e)),u=!!i.nodeChildren(e);return(0,I.default)(`div.twk-tree-row`,{key:r,class:G({selected:c,expandable:u}),style:{height:`${o}px`,"--twk-tree-row-depth":t},onclick:()=>s?.(e)},[(0,I.default)(`span.twk-tree-toggle`,{class:G({expanded:n,expandable:u}),onclick:t=>{u&&(t.stopPropagation(),i.setExpanded(e,!n))}}),l?(0,I.default)(`span.twk-tree-icon`,{},l):null,(0,I.default)(`span.twk-tree-label`,{},i.nodeLabel(e))])}))))}}};function tt(e,t){return(0,I.default)(nt,e,t)}var nt=()=>{let e=null;return{oncreate:({dom:t})=>{e=t,e.addEventListener(`close`,He)},onremove:()=>{e?.removeEventListener(`close`,He),e=null},view:({attrs:t,children:n})=>(0,I.default)(`dialog.twk-dialog`,t,[e?.open?n:null])}};function rt(e,t){return(0,I.default)(it,e,t)}var it=()=>({view:({attrs:e,children:t})=>{let{square:n,block:r,class:i,style:a,...o}=e;return(0,I.default)(`button.twk-btn`,{type:`button`,class:G({"twk-btn-sq":!!n,"twk-btn-bl":!!r,"twk-btn-lg":!!e.large,"twk-btn-accent":!!e.accent},i),style:{flex:e.flex,...a||{}},...o},t)}});function at(e){return(0,I.default)(ot,e)}var ot=()=>({view:e=>(0,I.default)(`div.twk-divider`,e.attrs,e.children)});function st(e,t){let n={color:e.color,noGraph:e.noGraph,fractionDigits:e.fractionDigits,smoothing:e.smoothing??0,transform:ut,min:e.min??0,max:e.max??1,value:null,normalized:0,buffer:new Float32Array(t),head:0,count:0,index:0,sum:0,avg:0,minDeque:new Float32Array(t),maxDeque:new Float32Array(t),minIdx:new Uint32Array(t),maxIdx:new Uint32Array(t),minHead:0,minTail:0,maxHead:0,maxTail:0,minSeen:1/0,maxSeen:-1/0,sample:()=>dt(e.sample(),n)};switch(e.transform){case`log`:n.transform=ct;break;case`exp`:n.transform=lt;break;default:n.transform=ut;break}return n}function ct(e){return Math.log10(1+Math.max(0,e))}function lt(e){return Math.exp(e)-1}function ut(e){return e}function dt(e,t){if(t.value==null)t.value=e;else{let n=t.smoothing;t.value=n*t.value+(1-n)*e}let n=t.value,r=t.index++,i=t.buffer.length;if(t.count===i){let e=t.buffer[t.head];t.sum-=e}else t.count++;for(t.buffer[t.head]=n,t.head=(t.head+1)%i,t.sum+=n,t.avg=t.sum/t.count;t.minHead!==t.minTail;){let e=(t.minTail-1+i)%i;if(t.minDeque[e]<=n)break;t.minTail=e}for(t.minDeque[t.minTail]=n,t.minIdx[t.minTail]=r,t.minTail=(t.minTail+1)%i;t.minHead!==t.minTail&&t.minIdx[t.minHead]<=r-i;)t.minHead=(t.minHead+1)%i;for(;t.maxHead!==t.maxTail;){let e=(t.maxTail-1+i)%i;if(t.maxDeque[e]>=n)break;t.maxTail=e}for(t.maxDeque[t.maxTail]=n,t.maxIdx[t.maxTail]=r,t.maxTail=(t.maxTail+1)%i;t.maxHead!==t.maxTail&&t.maxIdx[t.maxHead]<=r-i;)t.maxHead=(t.maxHead+1)%i;let a=t.minHead===t.minTail?t.min:t.minDeque[t.minHead],o=t.maxHead===t.maxTail?t.max:t.maxDeque[t.maxHead];t.minSeen=a,t.maxSeen=o;let s=t.transform,c=s(n),l=s(Math.min(t.min,a)),u=s(Math.max(t.max,o))-l||1,d=(c-l)/u;return t.normalized=Math.max(0,Math.min(1,d)),t.normalized}function ft(e){let t=e.getContext(`webgl2`);if(!t)throw Error(`WebGL2 is not supported in this browser`);let n=gt(t),r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.enableVertexAttribArray(0),t.enableVertexAttribArray(1),t.enableVertexAttribArray(2),t.vertexAttribPointer(0,1,t.FLOAT,!1,12,0),t.vertexAttribPointer(1,1,t.FLOAT,!1,12,4),t.vertexAttribPointer(2,1,t.FLOAT,!1,12,8);let i=t.getUniformLocation(n,`u_history`),a=t.getUniformLocation(n,`u_width`),o=t.getUniformLocation(n,`u_height`),s=t.getUniformLocation(n,`u_rowH`),c=t.getUniformLocation(n,`u_padding`),l=t.getUniformLocation(n,`u_color`),u=!1,d=100,f=0,p,m,h,g=[],_=[];function v(e){u=!!e.collapsed,f=e.rows.length,d=Math.max(e.historySize||100,100),m=new Float32Array(f*d),h=new Uint32Array(f),p=new Float32Array(f*d*3),_.length=f,g.length=f;for(let t=0;t<f;t++){_[t]=st(e.rows[t],d);let n=e.rows[t].color;g[t]=[parseInt(n.slice(1,3),16)/255,parseInt(n.slice(3,5),16)/255,parseInt(n.slice(5,7),16)/255]}}function y(t,n){e.width=t,e.height=n}function b(){for(let e=0;e<_.length;e++)h[e]=(h[e]+1)%d,m[e*d+h[e]]=_[e].sample()}function x(){for(let e=0;e<f;e++)for(let t=0;t<d;t++){let n=(h[e]+t+1)%d,r=(e*d+t)*3;p[r+0]=t,p[r+1]=u?0:e,p[r+2]=m[e*d+n]}t.viewport(0,0,e.width,e.height),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.useProgram(n),t.uniform1f(i,d),t.uniform1f(a,e.width),t.uniform1f(o,e.height),t.uniform1f(c,0),t.uniform1f(s,(e.height-0-f*0)/(u?1:f)),t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,p,t.DYNAMIC_DRAW);for(let e=0;e<f;e++)_[e].noGraph||(t.uniform3fv(l,g[e]),t.drawArrays(t.LINE_STRIP,e*d,d))}return{resize:y,configure:v,update:b,render:x,sampler:e=>_[e],samplerCount:_.length}}var pt=`#version 300 es
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.TweakUI={}))})(this,function(e){var t=document.createElement(`style`);t.textContent=`:root{--twk-size:1.375rem;--twk-gap:.125rem;--twk-inset:.125rem;--twk-radius:.25rem;--twk-label-size:7rem;--twk-label-pad-x:.25rem;--twk-label-pad-y:0rem;--twk-input-height:var(--twk-size);--twk-input-pad-x:.375rem;--twk-input-pad-y:0rem;--twk-button-height:var(--twk-size);--twk-button-pad-x:.5rem;--twk-button-pad-y:.25rem;--twk-color-base-100:#2a303c;--twk-color-base-200:#242933;--twk-color-base-300:#20252e;--twk-color-base-content:#b2ccd6;--twk-color-neutral:#1c212b;--twk-color-neutral-content:#b2ccd6;--twk-color-accent:#f9aa33;--twk-color-bool-true:#f9aa33;--twk-color-bool-false:#2a303c}.twk-dark{--twk-color-base-100:#1d232a;--twk-color-base-200:#191e24;--twk-color-base-300:#15191e;--twk-color-base-content:#ecf9ff;--twk-color-neutral:#09090b;t:#e4e4e7;--twk-color-accent:#f9aa33}.twk-light{--twk-color-base-100:#fff;--twk-color-base-200:#f5f5f5;--twk-color-base-300:#ebebeb;--twk-color-base-content:#000;--twk-color-neutral:#000;--twk-color-neutral-content:#fff;--twk-color-accent:#2196f3}.twk-dragging *{cursor:none!important}.tweak-ui{interpolate-size:allow-keywords;background-color:var(--twk-color-base-200);color:var(--twk-color-base-content);gap:var(--twk-gap);font-family:monospace;line-height:1.5;font-size:var(--twk-font-size,12px);width:var(--twk-width,20rem);box-sizing:border-box;border-radius:calc(var(--twk-radius) + var(--twk-inset));padding:0;padding:var(--twk-inset,0);flex-direction:column;flex:none;margin:0;display:flex;overflow:hidden auto}.tweak-ui::-webkit-scrollbar{width:.5rem}.tweak-ui::-webkit-scrollbar-track{background-color:var(--twk-color-base-200)}.tweak-ui::-webkit-scrollbar-thumb{background-color:var(--twk-color-base-200);border-style:solid;border-width:1px;border-color:var(--twk-color-base-300);transition:background-color .2s ease-in-out}.tweak-ui::-webkit-scrollbar-thumb:hover{background-color:var(--twk-color-primary)}.tweak-ui button,.tweak-ui input,.tweak-ui select,.tweak-ui optgroup,.tweak-ui textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border:0;border-radius:0;min-width:0;margin:0;padding:0}.tweak-ui button:not([type=checkbox],select),.tweak-ui input:not([type=checkbox],select),.tweak-ui select:not([type=checkbox],select),.tweak-ui optgroup:not([type=checkbox],select),.tweak-ui textarea:not([type=checkbox],select){appearance:none!important}.tweak-ui button:focus-visible,.tweak-ui input:focus-visible,.tweak-ui select:focus-visible,.tweak-ui optgroup:focus-visible,.tweak-ui textarea:focus-visible{outline:none}.tweak-ui input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tweak-ui input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tweak-ui input[type=number]{-moz-appearance:textfield}.tweak-ui .twk-input{cursor:text;box-sizing:border-box;white-space:nowrap;vertical-align:middle;touch-action:manipulation;align-items:center;gap:var(--twk-gap);height:calc(var(--twk-size));min-width:0;line-height:calc(var(--twk-size));padding:var(--twk-input-pad-y) var(--twk-input-pad-x);color:var(--twk-color-base-content);border-radius:var(--twk-radius);border:none;flex:1;transition:color .2s ease-in-out,background-color .2s ease-in-out,outline-color .2s ease-in-out;display:flex;position:relative;appearance:none!important}.tweak-ui .twk-input input{flex:1}.tweak-ui .twk-input:not(.twk-input-readonly){outline-offset:-1px;outline:1px solid #0000}.tweak-ui .twk-input:not(.twk-input-readonly):hover{background-color:var(--twk-color-base-100)}.tweak-ui .twk-input:not(.twk-input-readonly):focus-within{outline-color:var(--twk-color-accent)}.tweak-ui label{min-width:0}.tweak-ui select,.tweak-ui button,.tweak-ui a{cursor:pointer;align-items:center}.tweak-ui select:focus,.tweak-ui input:not([type=checkbox]):focus{color:var(--twk-color-accent)}.tweak-ui select{appearance:base-select;border-radius:var(--twk-radius);background:var(--twk-color-base-100);border-color:var(--twk-color-base-300);border:none}.tweak-ui ::picker(select){appearance:base-select;border-radius:var(--twk-radius);background:var(--twk-color-base-100);border-color:var(--twk-color-base-300);border:none}.tweak-ui select option{justify-content:flex-start;gap:var(--twk-gap);padding-inline:var(--twk-button-pad-x);background:var(--twk-color-base-100);color:var(--twk-color-base-content);display:flex}.tweak-ui select option:hover,.tweak-ui select option:focus{background:var(--twk-color-base-200)}.tweak-ui select{padding-inline:var(--twk-button-pad-x)}.tweak-ui .twk-btn{--twk-btn-bg:var(--twk-color-base-100);--twk-btn-color:var(--twk-color-content);--twk-btn-size:var(--twk-size);cursor:pointer;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;color:var(--twk-btn-color);min-height:var(--twk-btn-size);border-radius:var(--twk-radius);outline-offset:1px;background-color:var(--twk-btn-bg);padding-inline:var(--twk-button-pad-x);text-align:center;white-space:nowrap;outline-color:var(--twk-color-neutral);font-weight:700}.tweak-ui .twk-btn:hover{background-color:color-mix(in oklab, var(--btn-color,var(--twk-btn-bg)), #000 7%)}.tweak-ui .twk-btn:focus{outline-color:var(--twk-color-accent)}.tweak-ui .twk-btn:active{transform:translateY(1px)}.tweak-ui .twk-btn.twk-btn-accent{--twk-btn-bg:var(--twk-color-accent);--twk-btn-color:var(--twk-color-neutral)}.tweak-ui .twk-btn.twk-btn-lg{--twk-btn-size:calc(var(--twk-size) * 1.25)}.tweak-ui .twk-btn.twk-btn-sq{width:var(--twk-btn-size);height:var(--twk-btn-size);flex:none;padding-inline:0}.tweak-ui .twk-btn.twk-btn-bl{width:100%}dialog.twk-dialog{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;border:none;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.twk-dialog-content{background-color:var(--twk-color-base-100);border-radius:var(--twk-radius);opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:100%;max-width:32rem;max-height:100vh;overflow-y:auto}dialog.twk-dialog[open]{pointer-events:auto;visibility:visible;opacity:1;background-color:oklch(0% 0 0/.4)}dialog.twk-dialog[open] .twk-dialog-content{opacity:1;translate:0;scale:1}.twk-flex{align-items:stretch;gap:var(--twk-gap);flex-flow:column;display:flex}.twk-flex-row{gap:var(--twk-gap);flex-flow:row;display:flex}.twk-grid{gap:var(--twk-gap);display:grid}.twk-divider{padding:0 calc(var(--twk-size) / 2);align-items:center;display:flex}.twk-divider:not(:empty){gap:calc(var(--twk-size) / 2)}.twk-divider{height:var(--twk-size)}.twk-divider:before,.twk-divider:after{content:"";opacity:.125;background-color:currentColor;flex-grow:1;width:100%;height:1px}.twk-divider-v{flex-flow:column;align-items:center;display:flex}.twk-divider-v:not(:empty){gap:calc(var(--twk-size) / 2)}.twk-divider-v{width:var(--twk-size);height:100%}.twk-divider-v:before,.twk-divider-v:after{content:"";opacity:.125;background-color:currentColor;flex-grow:1;width:1px;height:100%}.twk-group,.twk-group-content{gap:var(--twk-gap);flex-direction:column;display:flex}.twk-group-content.animate.enter{animation:.25s ease-out forwards twk-group-content-enter;overflow:hidden}.twk-group-content.leave{animation:.25s ease-out forwards twk-group-content-leave;overflow:hidden}@keyframes twk-group-content-enter{0%{opacity:0;height:0}50%{opacity:0;height:auto}to{opacity:1;height:auto}}@keyframes twk-group-content-leave{0%{opacity:1;height:auto}50%{opacity:0;height:auto}to{opacity:0;height:0}}.twk-group-title{width:auto;height:var(--twk-size);background-color:var(--twk-color-neutral);color:var(--twk-color-neutral-content);border-radius:var(--twk-radius,0);text-transform:uppercase;flex-direction:row;align-items:center;margin:0;padding:0 .5rem;font-weight:700;display:flex}.twk-group-collapsible>.twk-group-title{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.twk-group-collapsible>.twk-group-title:before{content:"";width:var(--twk-size);height:var(--twk-size);text-align:center;clip-path:polygon(50.05% 77.08%,83.58% 43.55%,87.11% 40.02%,80.03% 32.94%,76.5% 36.47%,50.03% 62.94%,23.56% 36.47%,20.03% 32.94%,12.95% 40.02%,16.48% 43.55%,46.48% 73.55%,50.02% 77.08%);background-color:currentColor;transition:opacity .2s ease-in-out,transform .2s ease-in-out;display:block;position:absolute;top:0;right:0;transform:scale(.5)rotate(0)}.twk-group-collapsed>.twk-group-title:before{transform:scale(.5)rotate(-90deg)}.twk-group:not(.twk-root>.twk-group) .twk-group{margin-left:calc(var(--twk-size) / 4)}.twk-group-description{opacity:.75;padding:.25rem .25rem .5rem 0;font-style:italic;line-height:1}.twk-tree{width:100%;height:100%;max-height:100vh;overflow-y:auto}.twk-tree-row{-webkit-user-select:none;user-select:none;width:100%;padding-left:calc(var(--twk-tree-row-depth) * .5 * var(--twk-tree-row-height));background-color:var(--twk-color-base-200);box-sizing:border-box;flex-direction:row;align-items:center;display:flex}.twk-tree-row:hover{background-color:var(--twk-color-base-100)}.twk-tree-row.selected{color:var(--twk-color-accent)}.twk-tree-toggle:before{content:"";width:var(--twk-tree-row-height);height:var(--twk-tree-row-height);text-align:center;transition:opacity .2s ease-in-out,transform .2s ease-in-out;display:block;transform:scale(.5)rotate(-90deg)}.twk-tree-toggle.expandable:before{clip-path:polygon(50.05% 77.08%,83.58% 43.55%,87.11% 40.02%,80.03% 32.94%,76.5% 36.47%,50.03% 62.94%,23.56% 36.47%,20.03% 32.94%,12.95% 40.02%,16.48% 43.55%,46.48% 73.55%,50.02% 77.08%);background-color:currentColor}.twk-tree-toggle.expanded:before{transform:scale(.5)rotate(0)}.twk-tree-icon{width:var(--twk-tree-row-height);height:var(--twk-tree-row-height);place-items:center;display:grid}.twk-tree-label{display:flex}.twk-tabs{border-color:var(--twk-color-base-300);align-items:stretch;gap:var(--twk-gap);flex-flow:wrap;display:flex}.twk-tabs button.twk-tab{background-color:var(--twk-color-base-100);color:color-mix(in srgb, var(--twk-color-base-content) 40%, transparent);flex:1;order:0}.twk-tabs button.twk-tab:hover{color:var(--twk-color-base-content)}.twk-tabs button.twk-tab.twk-btn:not(.active){background-color:#0000;font-weight:400}.twk-tabs button.twk-tab.twk-btn.active{color:var(--twk-color-accent);font-weight:700}.twk-tab-content{order:1;width:100%}.twk-tabs-vertical{grid-template-columns:auto 1fr;display:grid}.twk-tabs-vertical .twk-tab{grid-column:1}.twk-tabs-vertical .twk-tab-content{grid-area:1/2/-1}.twk-split-pane{overflow:hidden}.twk-split-pane.dragging{-webkit-user-select:none;user-select:none}.twk-split-pane>:not(.twk-split-gutter){flex:1;min-width:1rem;min-height:1rem}.twk-split-gutter:last-child{display:none}.twk-split-gutter:before{content:"";background-color:var(--twk-color-base-100);opacity:0;position:absolute}.twk-split-gutter:hover:before{background-color:var(--twk-color-base-100);opacity:1}.twk-split-gutter-v{cursor:row-resize;min-height:.25rem;position:relative}.twk-split-gutter-v:before{inset:1px .25rem}.twk-split-gutter-h{cursor:col-resize;min-width:.25rem;position:relative}.twk-split-gutter-h:before{inset:.25rem 1px}.twk-section{grid-template:"header""content"1fr"footer"/100%;width:100%;display:grid}.twk-section>*{grid-area:content}.twk-section-header,header{grid-area:header}.twk-section-content{grid-area:content}.twk-section-footer,footer{grid-area:footer}.twk-bar{gap:var(--twk-gap);min-height:var(--twk-size);grid-template-columns:auto 1fr auto;grid-template-areas:"start content end";align-items:center;display:grid}.twk-bar>*{grid-area:content}.twk-bar-start{grid-area:start}.twk-bar-content{grid-area:content}.twk-bar-end{grid-area:end}.twk-widget{gap:var(--twk-gap);grid-template-columns:1fr;grid-template-areas:"content";width:100%;display:grid}.twk-widget:has(>.twk-widget-label){grid-template-columns:.75fr 1fr;grid-template-areas:"label content"}.twk-widget>*{grid-area:content;overflow:hidden}.twk-widget-label{cursor:default;min-height:var(--twk-size);padding:0 calc(var(--twk-size) / 4);color:color-mix(in srgb, var(--twk-color-base-content) 40%, transparent);flex:.75;grid-area:label;align-self:start;align-items:center;display:inline-flex;overflow:hidden}.twk-angle-label{height:var(--twk-size);white-space:nowrap;text-align:right}.twk-angle-input{gap:var(--twk-gap);column-gap:calc(var(--twk-gap) * 2);grid-template:"display input""display output"min-content/min-content auto;display:grid}.twk-angle-input .twk-scalar-input{grid-area:input}.twk-angle-input .twk-angle-label{grid-area:output}.twk-angle-pane{width:100%;width:var(--twk-size);height:var(--twk-size);outline:1px solid var(--twk-color-base-content);outline-offset:-1px;background-image:conic-gradient(from 0deg, var(--twk-color-base-content) calc(var(--angle-value) / 360 * 100%), transparent 0);border-radius:50%;grid-area:display}.twk-bitmask-input{gap:var(--twk-gap);flex-direction:column;display:flex}.twk-bitmask-input .twk-bitmask-row{gap:var(--twk-gap);cursor:pointer;flex-direction:row;display:flex}.twk-bitmask-input .twk-bitmask-row>*{flex:none}.twk-bitmask-input .twk-bitmask-name{text-overflow:ellipsis;flex:1;padding-left:.25rem;overflow:hidden}.twk-bitmask-input .twk-bitmask-bit{opacity:.5;padding-right:.25rem}.twk-bitmask-input .twk-bitmask-value{opacity:.5}.twk-bitmask-input .twk-bitmask-indicator{width:var(--twk-size);height:var(--twk-size);background-color:var(--twk-color-base-100)}.twk-bitmask-active .twk-bitmask-indicator:before{content:"";background-color:var(--twk-color-accent);width:50%;height:50%;margin:25%;display:block}.twk-bitmask-active .twk-bitmask-value{opacity:1}.twk-bool-input{align-items:center;gap:var(--twk-gap);flex-direction:row;display:flex}.twk-bool-input input{text-align:right;min-width:0}.twk-bool-input.twk-align-end{justify-content:flex-end}.twk-color-picker{gap:var(--twk-gap);flex-direction:row;flex:auto;display:flex}.twk-color-picker .color-picker-panel{flex:1;position:relative}.twk-color-picker .color-picker-inputs{gap:var(--twk-gap);flex-direction:column;flex:none;display:flex}.twk-color-picker .color-picker-inputs .input-r{border-left:2px solid red!important}.twk-color-picker .color-picker-inputs .input-g{border-left:2px solid #0f0!important}.twk-color-picker .color-picker-inputs .input-b{border-left:2px solid #00f!important}.twk-color-picker .color-picker-inputs .input-a{border-image:linear-gradient(90deg,#fff,#0000)}.twk-color-picker .color-picker-inputs .input-hex{border-left:2px solid #000!important}.twk-color-picker .color-picker-inputs input{flex:none;width:4rem;display:block}.twk-color-picker .color-picker-sv:focus,.twk-color-picker .color-picker-h:focus,.twk-color-picker .color-picker-a:focus{border-color:var(--twk-color-accent);outline:none}.twk-color-picker .color-picker-sv,.twk-color-picker .color-picker-h,.twk-color-picker .color-picker-a{border-radius:var(--twk-radius)}.twk-color-picker .color-picker-sv{box-sizing:border-box;cursor:crosshair;z-index:1;border-bottom:1px solid;border-color:var(--twk-color-base-300);width:100%;padding-top:100%;position:relative}.twk-color-picker .color-picker-sv-bg{border-radius:var(--twk-radius);position:absolute;inset:0}.twk-color-picker .color-picker-sv-cursor{box-sizing:border-box;border:1px solid #fff;border-radius:5px;width:10px;height:10px;margin-top:-5px;margin-left:-5px;position:absolute;box-shadow:0 0 2px 1px #000000bf}.twk-color-picker .color-picker-h,.twk-color-picker .color-picker-a{box-sizing:border-box;cursor:ew-resize;border-bottom:1px solid;border-color:var(--twk-color-base-300);height:1rem;position:relative}.twk-color-picker .color-picker-h-cursor,.twk-color-picker .color-picker-a-cursor{border:1px solid #fff;border-radius:2px;width:4px;height:calc(1rem - 2px);margin-left:-3px;position:absolute;box-shadow:0 0 2px 1px #000000bf}.twk-color-picker .color-picker-a{background-blend-mode:normal, difference, normal;background-image:linear-gradient(90deg,#0000,#0000),linear-gradient(90deg,gray 50%,#fff 50%),linear-gradient(gray 50%,#fff 50%);background-size:1rem 1rem}.twk-color-picker .color-picker-a-bg{position:absolute;inset:0}.twk-color-picker .color-picker-sv,.twk-color-picker .color-picker-h,.twk-color-picker .color-picker-a{border-color:var(--twk-color-base-300)}.twk-color-input{align-items:stretch;gap:var(--twk-gap);flex-direction:column;flex:auto;display:flex}.twk-color-input button.twk-btn{text-transform:uppercase;flex-direction:row;flex:1;justify-content:start;align-items:center;gap:.5rem;padding-left:0;display:flex}.twk-color-input button.twk-btn:before{content:"";width:calc(var(--twk-size));height:calc(var(--twk-size));background-color:var(--twk-color-value);border-radius:var(--twk-radius);flex:none;display:inline-block}.tweak-ui input[type=checkbox]{flex:none}input.twk-toggle[type=checkbox]{width:calc(var(--twk-size) * 2);height:calc(var(--twk-size));border-radius:var(--twk-size);border:2px solid var(--twk-color-base-100);background-color:var(--twk-color-base-100);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-shrink:0;grid-template-columns:1fr 1fr;place-content:center;margin:0;padding:2px;display:inline-grid}input.twk-toggle[type=checkbox]:checked{border-color:var(--twk-color-base-content)}input.twk-toggle[type=checkbox]:focus{border-color:var(--twk-color-accent)}input.twk-toggle[type=checkbox]:before{aspect-ratio:1;content:"";background-color:var(--twk-color-base-content);opacity:.25;border-radius:100%;grid-row-start:1;grid-column-start:1;transition:background-color .1s,translate .2s;translate:0}input.twk-toggle[type=checkbox]:checked:before{opacity:1;translate:100%}input.twk-check[type=checkbox]{width:calc(var(--twk-size) - 4px);height:calc(var(--twk-size) - 4px);border-radius:var(--twk-radius);cursor:pointer;appearance:none;background-color:var(--twk-color-base-300);outline:1px solid var(--twk-color-base-content);outline-offset:-1px;place-content:center;margin:2px;transition:background-color .1s;display:grid;flex:none!important}input.twk-check[type=checkbox]:checked{background-color:var(--twk-color-accent);outline-color:var(--twk-color-accent)}input.twk-check[type=checkbox]:checked:before{content:"";width:calc(var(--twk-size) / 2);height:calc(var(--twk-size) / 4);border-left:2px solid var(--twk-color-base-300);border-bottom:2px solid var(--twk-color-base-300);margin-top:-2px;transform:rotate(-45deg)}canvas.twk-graph{width:100%}table.twk-graph{text-align:right;border-collapse:collapse;table-layout:fixed;width:100%;margin:0;display:table!important}table.twk-graph thead,table.twk-graph tbody{width:100%}table.twk-graph td,table.twk-graph th{white-space:nowrap;text-overflow:ellipsis;padding:0 4px;overflow:hidden}table.twk-graph th:first-child,table.twk-graph td:first-child{width:var(--twk-label-size);text-align:left}table.twk-graph .twk-current{width:70px;font-weight:600}table.twk-graph .twk-stats{color:#888;width:110px;font-size:.85em}.twk-image{max-width:100%;display:block}.twk-image.twk-loading{opacity:0}.twk-matrix-input{gap:var(--twk-gap)}.twk-point .point-area{background-color:var(--twk-color-base-100);border-color:var(--twk-color-base-300);background-image:linear-gradient(var(--twk-color-base-200) 1px, transparent 1px), linear-gradient(90deg, var(--twk-color-base-200) 1px, transparent 1px);aspect-ratio:1;box-sizing:border-box;cursor:crosshair;z-index:1;background-size:10% 10%,10% 10%;align-self:end;width:100%;transition:border-color .2s ease-in-out,background-color .2s ease-in-out;position:relative;overflow:visible}.twk-point .point-area .point-x-axis,.twk-point .point-area .point-y-axis{background-color:var(--twk-color-base-300)}.twk-point .point-area:focus .point-x-axis,.twk-point .point-area:focus .point-y-axis{background-color:var(--twk-color-accent)}.twk-point .point-area:focus{border-color:var(--twk-color-accent);outline:none}.twk-scalar-input{align-items:center;gap:var(--twk-gap);grid-auto-flow:column;display:grid;position:relative}.twk-scalar-input input{text-align:right;min-width:0}.twk-scalar-input .unit{opacity:.5}.twk-scalar-dragable input:not(:focus){cursor:ew-resize}.twk-scalar-range:after{pointer-events:none;content:"";opacity:.125;background:linear-gradient(to right, var(--twk-color-accent) 0%, var(--twk-color-accent) calc(var(--twk-scalar-value,0) * 100%), transparent calc(var(--twk-scalar-value,0) * 100%), transparent 100%);border-radius:var(--twk-radius);width:100%;position:absolute;top:0;bottom:0;left:0}.twk-scalar-range:hover:after{opacity:.25}.twk-spherical-input{align-items:center;gap:var(--twk-gap);flex-direction:row;display:flex}.twk-spherical-info{gap:calc(var(--twk-gap) / 2);flex-direction:column;flex:1;min-width:0;display:flex}.twk-spherical-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.twk-spherical-pane{--twk-spherical-grid-color:color-mix(in srgb, var(--twk-color-base-content) 18%, transparent);aspect-ratio:1;outline:3px solid var(--twk-color-base-content);outline-offset:-3px;cursor:crosshair;background-image:repeating-conic-gradient(from 0deg, var(--twk-spherical-grid-color) 0deg 1deg, transparent 1deg 30deg), repeating-radial-gradient(circle closest-side, transparent 0, transparent calc(33.333% - 1px), var(--twk-spherical-grid-color) calc(33.333% - 1px), var(--twk-spherical-grid-color) 33.333%), radial-gradient(circle closest-side, var(--twk-color-base-100) 0%, var(--twk-color-base-100) 33.333%, var(--twk-color-base-200) 33.333%, var(--twk-color-base-200) 66.666%, var(--twk-color-base-300) 66.666%, var(--twk-color-base-300) 100%);border-radius:50%;flex:none;width:100%;max-width:100px;margin:.5rem;position:relative}.twk-spherical-pane:focus,.twk-spherical-pane:focus-visible{outline-color:var(--twk-color-accent)}.twk-spherical-arm{background-color:var(--twk-color-base-content);transform-origin:0;z-index:1;pointer-events:none;height:1px;position:absolute;top:50%;left:50%}.twk-spherical-knob{background-color:var(--twk-color-base-content);width:.875rem;height:.875rem;box-shadow:0 0 3px var(--twk-color-neutral);z-index:2;-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:50%;transition:opacity .15s ease-in-out;position:absolute;transform:translate(-50%,-50%)}.twk-spherical-knob.is-back{z-index:0;opacity:.4}.twk-spherical-pane.is-dragging .twk-spherical-knob{transition:none}.twk-string-input input,.twk-string-input .twk-input-value{flex:1}.twk-vector-input{gap:var(--twk-gap)}.twk-widget .twk-poll{flex:1}.tweak-ui .twk-p-0{padding:0}.tweak-ui .twk-p-1{padding:var(--twk-gap)}.tweak-ui .twk-p-2{padding:calc(var(--twk-gap) * 2)}.tweak-ui .twk-p-4{padding:calc(var(--twk-gap) * 4)}.tweak-ui .twk-px-0{padding-inline:0}.tweak-ui .twk-px-1{padding-inline:var(--twk-gap)}.tweak-ui .twk-px-2{padding-inline:calc(var(--twk-gap) * 2)}.tweak-ui .twk-px-4{padding-inline:calc(var(--twk-gap) * 4)}.tweak-ui .twk-py-0{padding-block:0}.tweak-ui .twk-py-1{padding-block:var(--twk-gap)}.tweak-ui .twk-py-2{padding-block:calc(var(--twk-gap) * 2)}.tweak-ui .twk-py-4{padding-block:calc(var(--twk-gap) * 4)}.tweak-ui .twk-p-inset{padding:var(--twk-inset)}.tweak-ui .twk-px-label{padding-inline:var(--twk-label-pad-x)}.tweak-ui .twk-px-input{padding-inline:var(--twk-input-pad-x)}.tweak-ui .twk-px-button{padding-inline:var(--twk-button-pad-x)}.tweak-ui .twk-gap-0{gap:0}.tweak-ui .twk-gap-1{gap:var(--twk-gap)}.tweak-ui .twk-gap-2{gap:calc(var(--twk-gap) * 2)}.tweak-ui .twk-gap-4{gap:calc(var(--twk-gap) * 4)}.tweak-ui .twk-w-full{width:100%}.tweak-ui .twk-w-label{width:var(--twk-label-size)}.tweak-ui .twk-h-input{height:var(--twk-input-height)}.tweak-ui .twk-h-btn{height:var(--twk-button-height)}.tweak-ui .twk-h-full{height:100%}.tweak-ui .twk-rounded-none{border-radius:0}.tweak-ui .twk-rounded{border-radius:var(--twk-radius)}.tweak-ui .twk-rounded-full{border-radius:9999px}.tweak-ui .twk-text-end{text-align:end}.tweak-ui .twk-text-right{text-align:right}.tweak-ui .twk-text-start{text-align:start}.tweak-ui .twk-text-left{text-align:left}.tweak-ui .twk-text-center{text-align:center}.tweak-ui .twk-text-xs{font-size:.625rem}.tweak-ui .twk-text-sm{font-size:.75rem}.tweak-ui .twk-text-md{font-size:.875rem}.tweak-ui .twk-bg-100{background-color:var(--twk-color-base-100)}.tweak-ui .twk-bg-200{background-color:var(--twk-color-base-200)}.tweak-ui .twk-bg-300{background-color:var(--twk-color-base-300)}.tweak-ui .twk-bg-content{background-color:var(--twk-color-base-content)}.tweak-ui .twk-bg-neutral{background-color:var(--twk-color-neutral)}.tweak-ui .twk-bg-neutral-content{background-color:var(--twk-color-neutral-content)}.tweak-ui .twk-bg-accent{background-color:var(--twk-color-accent)}.tweak-ui .twk-color-100{color:var(--twk-color-base-100)}.tweak-ui .twk-color-200{color:var(--twk-color-base-200)}.tweak-ui .twk-color-300{color:var(--twk-color-base-300)}.tweak-ui .twk-color-content{color:var(--twk-color-base-content)}.tweak-ui .twk-color-neutral{color:var(--twk-color-neutral)}.tweak-ui .twk-color-neutral-content{color:var(--twk-color-neutral-content)}.tweak-ui .twk-color-accent{color:var(--twk-color-accent)}.tweak-ui .twk-color-muted{color:color-mix(in srgb, var(--twk-color-base-content) 40%, transparent)}.tweak-ui .twk-color-dim{color:color-mix(in srgb, var(--twk-color-base-content) 20%, transparent)}.tweak-ui .twk-glass{background-color:color-mix(in srgb, var(--twk-glass-color,#000) var(--twk-glass-percent,50%), transparent);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.tweak-ui .twk-glass-100{--twk-glass-color:var(--twk-color-base-100)}.tweak-ui .twk-glass-200{--twk-glass-color:var(--twk-color-base-200)}.tweak-ui .twk-glass-300{--twk-glass-color:var(--twk-color-base-300)}@keyframes twk-fade{0%{opacity:0}to{opacity:1}}:root{--twk-pattern-color-a:color-mix(in srgb, var(--twk-color-base-300) 100%, transparent);--twk-pattern-color-b:color-mix(in srgb, var(--twk-color-base-100) 80%, transparent);--twk-pattern-color-line:color-mix(in srgb, var(--twk-color-base-content) 8%, transparent);--twk-pattern-size:.5rem;--twk-pattern-line-width:1px}.twk-bg-checker,.twk-bg-checker-coarse,.twk-bg-checker-fine{background-color:var(--twk-pattern-color-a);background-image:repeating-conic-gradient(var(--twk-pattern-color-b) 0% 25%, transparent 25% 50%);background-size:calc(var(--twk-pattern-size) * 2) calc(var(--twk-pattern-size) * 2);background-position:0 0}.twk-bg-checker-fine{--twk-pattern-size:.25rem}.twk-bg-checker-coarse{--twk-pattern-size:1rem}.twk-bg-grid{background-color:var(--twk-pattern-color-a);background-image:linear-gradient(to right, var(--twk-pattern-color-line) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width)), linear-gradient(to bottom, var(--twk-pattern-color-line) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width));background-size:var(--twk-pattern-size) var(--twk-pattern-size);background-position:0 0}.twk-bg-grid-axis{--twk-pattern-color-axis:color-mix(in srgb, var(--twk-color-base-content) 20%, transparent);background-color:var(--twk-pattern-color-a);background-image:linear-gradient(to right, var(--twk-pattern-color-axis) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width)), linear-gradient(to bottom, var(--twk-pattern-color-axis) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width)), linear-gradient(to right, var(--twk-pattern-color-line) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width)), linear-gradient(to bottom, var(--twk-pattern-color-line) var(--twk-pattern-line-width), transparent var(--twk-pattern-line-width));background-size:100% 100%, 100% 100%, var(--twk-pattern-size) var(--twk-pattern-size), var(--twk-pattern-size) var(--twk-pattern-size);background-position:0,50% 0,0 0,0 0}.twk-bg-dots{--twk-pattern-dot-size:1.5px;background-color:var(--twk-pattern-color-a);background-image:radial-gradient(circle, var(--twk-pattern-color-line) var(--twk-pattern-dot-size), transparent var(--twk-pattern-dot-size));background-size:var(--twk-pattern-size) var(--twk-pattern-size);background-position:0 0}.twk-bg-stripes{background-color:var(--twk-pattern-color-a);background-image:repeating-linear-gradient(-45deg, var(--twk-pattern-color-b) 0px, var(--twk-pattern-color-b) var(--twk-pattern-size), transparent var(--twk-pattern-size), transparent calc(var(--twk-pattern-size) * 2))}
2
+ /*$vite$:1*/`,document.head.appendChild(t),Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),l=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e},u=(e,t,i)=>(i=e==null?{}:n(o(e)),l(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)),d=c(((e,t)=>{function n(e,t,n,r,i,a){return{tag:e,key:t,attrs:n,children:r,text:i,dom:a,is:void 0,domSize:void 0,state:void 0,events:void 0,instance:void 0}}n.normalize=function(e){return Array.isArray(e)?n(`[`,void 0,void 0,n.normalizeChildren(e),void 0,void 0):e==null||typeof e==`boolean`?null:typeof e==`object`?e:n(`#`,void 0,void 0,String(e),void 0,void 0)},n.normalizeChildren=function(e){for(var t=Array(e.length),r=0,i=0;i<e.length;i++)t[i]=n.normalize(e[i]),t[i]!==null&&t[i].key!=null&&r++;if(r!==0&&r!==e.length)throw TypeError(t.includes(null)?`In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.`:`In fragments, vnodes must either all have keys or none have keys.`);return t},t.exports=n})),f=c(((e,t)=>{var n=d();t.exports=function(e,t){return e==null||typeof e==`object`&&e.tag==null&&!Array.isArray(e)?t.length===1&&Array.isArray(t[0])&&(t=t[0]):(t=t.length===0&&Array.isArray(e)?e:[e,...t],e=void 0),n(``,e&&e.key,e,t)}})),p=c(((e,t)=>{t.exports={}.hasOwnProperty})),m=c(((e,t)=>{t.exports={}})),h=c(((e,t)=>{var n=m();t.exports=new Map([[n,!0]])})),g=c(((e,t)=>{var n=d(),r=f(),i=p(),a=m(),o=h(),s=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,c=Object.create(null);function l(e){for(var t in e)if(i.call(e,t))return!1;return!0}function u(e){return e===`value`||e===`checked`||e===`selectedIndex`||e===`selected`}function g(e){for(var t,n=`div`,r=[],i={},d=!0;t=s.exec(e);){var f=t[1],p=t[2];if(f===``&&p!==``)n=p;else if(f===`#`)i.id=p;else if(f===`.`)r.push(p);else if(t[3][0]===`[`){var m=t[6];m&&=m.replace(/\\(["'])/g,`$1`).replace(/\\\\/g,`\\`),t[4]===`class`?r.push(m):(i[t[4]]=m===``?m:m||!0,u(t[4])&&(d=!1))}}return r.length>0&&(i.className=r.join(` `)),l(i)?i=a:o.set(i,d),c[e]={tag:n,attrs:i,is:i.is}}function _(e,t){t.tag=e.tag;var n=t.attrs;if(n==null)return t.attrs=e.attrs,t.is=e.is,t;if(i.call(n,`class`)&&(n.class!=null&&(n.className=n.class),n.class=null),e.attrs!==a){var r=n.className;n=Object.assign({},e.attrs,n),e.attrs.className!=null&&(n.className=r==null?e.attrs.className:String(e.attrs.className)+` `+String(r))}return e.tag===`input`&&i.call(n,`type`)&&(n=Object.assign({type:n.type},n)),t.is=n.is,t.attrs=n,t}function v(e,t,...i){if(e==null||typeof e!=`string`&&typeof e!=`function`&&typeof e.view!=`function`)throw Error(`The selector must be either a string or a component.`);var a=r(t,i);return typeof e==`string`&&(a.children=n.normalizeChildren(a.children),e!==`[`)?_(c[e]||g(e),a):(a.attrs??={},a.tag=e,a)}t.exports=v})),_=c(((e,t)=>{var n=d();t.exports=function(e){return e??=``,n(`<`,void 0,void 0,e,void 0,void 0)}})),v=c(((e,t)=>{var n=d(),r=f();t.exports=function(e,...t){var i=r(e,t);return i.attrs??={},i.tag=`[`,i.children=n.normalizeChildren(i.children),i}})),y=c(((e,t)=>{var n=g();n.trust=_(),n.fragment=v(),t.exports=n})),b=c(((e,t)=>{t.exports=new WeakMap})),x=c(((e,t)=>{var n=b();function*r(e){var t=e.dom,r=e.domSize,i=n.get(t);if(t!=null)do{var a=t.nextSibling;n.get(t)===i&&(yield t,r--),t=a}while(r)}t.exports=r})),S=c(((e,t)=>{var n=d(),r=b(),i=x(),a=h();t.exports=function(){var e={svg:`http://www.w3.org/2000/svg`,math:`http://www.w3.org/1998/Math/MathML`},t,o;function s(e){return e.ownerDocument}function c(t){return t.attrs&&t.attrs.xmlns||e[t.tag]}function l(e,t){if(e.state!==t)throw Error(`'vnode.state' must not be modified.`)}function u(e){var t=e.state;try{return this.apply(t,arguments)}finally{l(e,t)}}function d(e){try{return s(e).activeElement}catch{return null}}function f(e,t,n,r,i,a,o){for(var s=n;s<r;s++){var c=t[s];c!=null&&p(e,c,i,o,a)}}function p(e,t,n,r,i){var a=t.tag;if(typeof a==`string`)switch(t.state={},t.attrs!=null&&V(t.attrs,t,n),a){case`#`:m(e,t,i);break;case`<`:g(e,t,r,i);break;case`[`:_(e,t,n,r,i);break;default:v(e,t,n,r,i)}else b(e,t,n,r,i)}function m(e,t,n){t.dom=s(e).createTextNode(t.children),M(e,t.dom,n)}var h={caption:`table`,thead:`table`,tbody:`table`,tfoot:`table`,tr:`tbody`,th:`tr`,td:`tr`,colgroup:`table`,col:`colgroup`};function g(e,t,n,r){var i=t.children.match(/^\s*?<(\w+)/im)||[],a=s(e).createElement(h[i[1]]||`div`);n===`http://www.w3.org/2000/svg`?(a.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg">`+t.children+`</svg>`,a=a.firstChild):a.innerHTML=t.children,t.dom=a.firstChild,t.domSize=a.childNodes.length;for(var o=s(e).createDocumentFragment(),c;c=a.firstChild;)o.appendChild(c);M(e,o,r)}function _(e,t,n,r,i){var a=s(e).createDocumentFragment();if(t.children!=null){var o=t.children;f(a,o,0,o.length,n,null,r)}t.dom=a.firstChild,t.domSize=a.childNodes.length,M(e,a,i)}function v(e,t,n,r,i){var a=t.tag,o=t.attrs,l=t.is;r=c(t)||r;var u=r?l?s(e).createElementNS(r,a,{is:l}):s(e).createElementNS(r,a):l?s(e).createElement(a,{is:l}):s(e).createElement(a);if(t.dom=u,o!=null&&ie(t,o,r),M(e,u,i),!N(t)&&t.children!=null){var d=t.children;f(u,d,0,d.length,n,null,r),t.tag===`select`&&o!=null&&oe(t,o)}}function y(e,t){var r;if(typeof e.tag.view==`function`){if(e.state=Object.create(e.tag),r=e.state.view,r.$$reentrantLock$$!=null)return;r.$$reentrantLock$$=!0}else{if(e.state=void 0,r=e.tag,r.$$reentrantLock$$!=null)return;r.$$reentrantLock$$=!0,e.state=e.tag.prototype!=null&&typeof e.tag.prototype.view==`function`?new e.tag(e):e.tag(e)}if(V(e.state,e,t),e.attrs!=null&&V(e.attrs,e,t),e.instance=n.normalize(u.call(e.state.view,e)),e.instance===e)throw Error(`A view cannot return the vnode it received as argument`);r.$$reentrantLock$$=null}function b(e,t,n,r,i){y(t,n),t.instance==null?t.domSize=0:(p(e,t.instance,n,r,i),t.dom=t.instance.dom,t.domSize=t.instance.domSize)}function x(e,t,n,r,i,a){if(!(t===n||t==null&&n==null))if(t==null||t.length===0)f(e,n,0,n.length,r,i,a);else if(n==null||n.length===0)P(e,t,0,t.length);else{var o=t[0]!=null&&t[0].key!=null,s=n[0]!=null&&n[0].key!=null,c=0,l=0;if(!o)for(;l<t.length&&t[l]==null;)l++;if(!s)for(;c<n.length&&n[c]==null;)c++;if(o!==s)P(e,t,l,t.length),f(e,n,c,n.length,r,i,a);else if(s){for(var u=t.length-1,d=n.length-1,m,h,g,_,v,y;u>=l&&d>=c&&(_=t[u],v=n[d],_.key===v.key);)_!==v&&S(e,_,v,r,i,a),v.dom!=null&&(i=v.dom),u--,d--;for(;u>=l&&d>=c&&(h=t[l],g=n[c],h.key===g.key);)l++,c++,h!==g&&S(e,h,g,r,A(t,l,i),a);for(;u>=l&&d>=c&&!(c===d||h.key!==v.key||_.key!==g.key);)y=A(t,l,i),j(e,_,y),_!==g&&S(e,_,g,r,y,a),++c<=--d&&j(e,h,i),h!==v&&S(e,h,v,r,i,a),v.dom!=null&&(i=v.dom),l++,u--,_=t[u],v=n[d],h=t[l],g=n[c];for(;u>=l&&d>=c&&_.key===v.key;)_!==v&&S(e,_,v,r,i,a),v.dom!=null&&(i=v.dom),u--,d--,_=t[u],v=n[d];if(c>d)P(e,t,l,u+1);else if(l>u)f(e,n,c,d+1,r,i,a);else{var b=i,x=d-c+1,C=Array(x),w=0,T=0,E=2147483647,D=0,m,O;for(T=0;T<x;T++)C[T]=-1;for(T=d;T>=c;T--){m??=ee(t,l,u+1),v=n[T];var M=m[v.key];M!=null&&(E=M<E?M:-1,C[T-c]=M,_=t[M],t[M]=null,_!==v&&S(e,_,v,r,i,a),v.dom!=null&&(i=v.dom),D++)}if(i=b,D!==u-l+1&&P(e,t,l,u+1),D===0)f(e,n,c,d+1,r,i,a);else if(E===-1)for(O=k(C),w=O.length-1,T=d;T>=c;T--)g=n[T],C[T-c]===-1?p(e,g,r,a,i):O[w]===T-c?w--:j(e,g,i),g.dom!=null&&(i=n[T].dom);else for(T=d;T>=c;T--)g=n[T],C[T-c]===-1&&p(e,g,r,a,i),g.dom!=null&&(i=n[T].dom)}}else{var N=t.length<n.length?t.length:n.length;for(c=c<l?c:l;c<N;c++)h=t[c],g=n[c],!(h===g||h==null&&g==null)&&(h==null?p(e,g,r,a,A(t,c+1,i)):g==null?I(e,h):S(e,h,g,r,A(t,c+1,i),a));t.length>N&&P(e,t,c,t.length),n.length>N&&f(e,n,c,n.length,r,i,a)}}}function S(e,t,n,r,i,a){var o=t.tag;if(o===n.tag&&t.is===n.is){if(n.state=t.state,n.events=t.events,U(n,t))return;if(typeof o==`string`)switch(n.attrs!=null&&H(n.attrs,n,r),o){case`#`:C(t,n);break;case`<`:w(e,t,n,a,i);break;case`[`:T(e,t,n,r,i,a);break;default:E(t,n,r,a)}else D(e,t,n,r,i,a)}else I(e,t),p(e,n,r,a,i)}function C(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children),t.dom=e.dom}function w(e,t,n,r,i){t.children===n.children?(n.dom=t.dom,n.domSize=t.domSize):(ne(e,t),g(e,n,r,i))}function T(e,t,n,r,i,a){x(e,t.children,n.children,r,i,a);var o=0,s=n.children;if(n.dom=null,s!=null)for(var c=0;c<s.length;c++){var l=s[c];l!=null&&l.dom!=null&&(n.dom??=l.dom,o+=l.domSize||1)}n.domSize=o}function E(e,t,n,r){var i=t.dom=e.dom;r=c(t)||r,(e.attrs!=t.attrs||t.attrs!=null&&!a.get(t.attrs))&&se(t,e.attrs,t.attrs,r),N(t)||x(i,e.children,t.children,n,null,r)}function D(e,t,r,i,a,o){if(r.instance=n.normalize(u.call(r.state.view,r)),r.instance===r)throw Error(`A view cannot return the vnode it received as argument`);H(r.state,r,i),r.attrs!=null&&H(r.attrs,r,i),r.instance==null?(t.instance!=null&&I(e,t.instance),r.domSize=0):(t.instance==null?p(e,r.instance,i,o,a):S(e,t.instance,r.instance,i,a,o),r.dom=r.instance.dom,r.domSize=r.instance.domSize)}function ee(e,t,n){for(var r=Object.create(null);t<n;t++){var i=e[t];if(i!=null){var a=i.key;a!=null&&(r[a]=t)}}return r}var O=[];function k(e){for(var t=[0],n=0,r=0,i=0,a=O.length=e.length,i=0;i<a;i++)O[i]=e[i];for(var i=0;i<a;++i)if(e[i]!==-1){var o=t[t.length-1];if(e[o]<e[i]){O[i]=o,t.push(i);continue}for(n=0,r=t.length-1;n<r;){var s=(n>>>1)+(r>>>1)+(n&r&1);e[t[s]]<e[i]?n=s+1:r=s}e[i]<e[t[n]]&&(n>0&&(O[i]=t[n-1]),t[n]=i)}for(n=t.length,r=t[n-1];n-- >0;)t[n]=r,r=O[r];return O.length=0,t}function A(e,t,n){for(;t<e.length;t++)if(e[t]!=null&&e[t].dom!=null)return e[t].dom;return n}function j(e,t,n){if(t.dom!=null){var r;if(t.domSize==null||t.domSize===1)r=t.dom;else{r=s(e).createDocumentFragment();for(var a of i(t))r.appendChild(a)}M(e,r,n)}}function M(e,t,n){n==null?e.appendChild(t):e.insertBefore(t,n)}function N(e){if(e.attrs==null||e.attrs.contenteditable==null&&e.attrs.contentEditable==null)return!1;var t=e.children;if(t!=null&&t.length===1&&t[0].tag===`<`){var n=t[0].children;e.dom.innerHTML!==n&&(e.dom.innerHTML=n)}else if(t!=null&&t.length!==0)throw Error(`Child node of a contenteditable must be trusted.`);return!0}function P(e,t,n,r){for(var i=n;i<r;i++){var a=t[i];a!=null&&I(e,a)}}function te(e,t,n,a){var s=t.state,c=u.call(n.onbeforeremove,t);if(c!=null){var d=o;for(var f of i(t))r.set(f,d);a.v++,Promise.resolve(c).finally(function(){l(t,s),F(e,t,a)})}}function F(e,t,n){--n.v===0&&(re(t),ne(e,t))}function I(e,t){var n={v:1};typeof t.tag!=`string`&&typeof t.state.onbeforeremove==`function`&&te(e,t,t.state,n),t.attrs&&typeof t.attrs.onbeforeremove==`function`&&te(e,t,t.attrs,n),F(e,t,n)}function ne(e,t){if(t.dom!=null)if(t.domSize==null||t.domSize===1)e.removeChild(t.dom);else for(var n of i(t))e.removeChild(n)}function re(e){if(typeof e.tag!=`string`&&typeof e.state.onremove==`function`&&u.call(e.state.onremove,e),e.attrs&&typeof e.attrs.onremove==`function`&&u.call(e.attrs.onremove,e),typeof e.tag!=`string`)e.instance!=null&&re(e.instance);else{e.events!=null&&(e.events._=null);var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];r!=null&&re(r)}}}function ie(e,t,n){for(var r in t)L(e,r,null,t[r],n)}function L(e,t,n,r,i){if(!(t===`key`||r==null||le(t)||n===r&&!ce(e,t)&&typeof r!=`object`)){if(t[0]===`o`&&t[1]===`n`)return ue(e,t,r);if(t.slice(0,6)===`xlink:`)e.dom.setAttributeNS(`http://www.w3.org/1999/xlink`,t.slice(6),r);else if(t===`style`)z(e.dom,n,r);else if(R(e,t,i)){if(t===`value`){if((e.tag===`input`||e.tag===`textarea`)&&e.dom.value===``+r||e.tag===`select`&&n!==null&&e.dom.value===``+r||e.tag===`option`&&n!==null&&e.dom.value===``+r)return;if(e.tag===`input`&&e.attrs.type===`file`&&``+r!=``){console.error("`value` is read-only on file inputs!");return}}e.tag===`input`&&t===`type`?e.dom.setAttribute(t,r):e.dom[t]=r}else typeof r==`boolean`?r?e.dom.setAttribute(t,``):e.dom.removeAttribute(t):e.dom.setAttribute(t===`className`?`class`:t,r)}}function ae(e,t,n,r){if(!(t===`key`||n==null||le(t)))if(t[0]===`o`&&t[1]===`n`)ue(e,t,void 0);else if(t===`style`)z(e.dom,n,null);else if(R(e,t,r)&&t!==`className`&&t!==`title`&&!(t===`value`&&(e.tag===`option`||e.tag===`select`&&e.dom.selectedIndex===-1&&e.dom===d(e.dom)))&&!(e.tag===`input`&&t===`type`))e.dom[t]=null;else{var i=t.indexOf(`:`);i!==-1&&(t=t.slice(i+1)),n!==!1&&e.dom.removeAttribute(t===`className`?`class`:t)}}function oe(e,t){if(`value`in t)if(t.value===null)e.dom.selectedIndex!==-1&&(e.dom.value=null);else{var n=``+t.value;(e.dom.value!==n||e.dom.selectedIndex===-1)&&(e.dom.value=n)}`selectedIndex`in t&&L(e,`selectedIndex`,null,t.selectedIndex,void 0)}function se(e,t,n,r){var i;if(t!=null)for(var o in t===n&&!a.has(n)&&console.warn(`Don't reuse attrs object, use new object for every redraw, this will throw in next major`),t)(i=t[o])!=null&&(n==null||n[o]==null)&&ae(e,o,i,r);if(n!=null)for(var o in n)L(e,o,t&&t[o],n[o],r)}function ce(e,t){return t===`value`||t===`checked`||t===`selectedIndex`||t===`selected`&&(e.dom===d(e.dom)||e.tag===`option`&&e.dom.parentNode===d(e.dom))}function le(e){return e===`oninit`||e===`oncreate`||e===`onupdate`||e===`onremove`||e===`onbeforeremove`||e===`onbeforeupdate`}function R(e,t,n){return n===void 0&&(e.tag.indexOf(`-`)>-1||e.is||t!==`href`&&t!==`list`&&t!==`form`&&t!==`width`&&t!==`height`)&&t in e.dom}function z(e,t,n){if(t!==n)if(n==null)e.style=``;else if(typeof n!=`object`)e.style=n;else if(typeof t!=`object`||!t)for(var r in e.style=``,n){var i=n[r];i!=null&&(r.includes(`-`)?e.style.setProperty(r,String(i)):e.style[r]=String(i))}else{for(var r in t)t[r]!=null&&n[r]==null&&(r.includes(`-`)?e.style.removeProperty(r):e.style[r]=``);for(var r in n){var i=n[r];i!=null&&(i=String(i))!==String(t[r])&&(r.includes(`-`)?e.style.setProperty(r,i):e.style[r]=i)}}}function B(){this._=t}B.prototype=Object.create(null),B.prototype.handleEvent=function(e){var t=this[`on`+e.type],n;typeof t==`function`?n=t.call(e.currentTarget,e):typeof t.handleEvent==`function`&&t.handleEvent(e);var r=this;r._!=null&&(e.redraw!==!1&&(0,r._)(),n!=null&&typeof n.then==`function`&&Promise.resolve(n).then(function(){r._!=null&&e.redraw!==!1&&(0,r._)()})),n===!1&&(e.preventDefault(),e.stopPropagation())};function ue(e,n,r){if(e.events!=null){if(e.events._=t,e.events[n]===r)return;r!=null&&(typeof r==`function`||typeof r==`object`)?(e.events[n]??e.dom.addEventListener(n.slice(2),e.events,!1),e.events[n]=r):(e.events[n]!=null&&e.dom.removeEventListener(n.slice(2),e.events,!1),e.events[n]=void 0)}else r!=null&&(typeof r==`function`||typeof r==`object`)&&(e.events=new B,e.dom.addEventListener(n.slice(2),e.events,!1),e.events[n]=r)}function V(e,t,n){typeof e.oninit==`function`&&u.call(e.oninit,t),typeof e.oncreate==`function`&&n.push(u.bind(e.oncreate,t))}function H(e,t,n){typeof e.onupdate==`function`&&n.push(u.bind(e.onupdate,t))}function U(e,t){do{if(e.attrs!=null&&typeof e.attrs.onbeforeupdate==`function`){var n=u.call(e.attrs.onbeforeupdate,e,t);if(n!==void 0&&!n)break}if(typeof e.tag!=`string`&&typeof e.state.onbeforeupdate==`function`){var n=u.call(e.state.onbeforeupdate,e,t);if(n!==void 0&&!n)break}return!1}while(!1);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}var W;return function(e,r,i){if(!e)throw TypeError(`DOM element being rendered to does not exist.`);if(W!=null&&e.contains(W))throw TypeError(`Node is currently being rendered to and thus is locked.`);var a=t,s=W,c=[],l=d(e),u=e.namespaceURI;W=e,t=typeof i==`function`?i:void 0,o={};try{e.vnodes??(e.textContent=``),r=n.normalizeChildren(Array.isArray(r)?r:[r]),x(e,e.vnodes,r,c,null,u===`http://www.w3.org/1999/xhtml`?void 0:u),e.vnodes=r,l!=null&&d(e)!==l&&typeof l.focus==`function`&&l.focus();for(var f=0;f<c.length;f++)c[f]()}finally{t=a,W=s}}}})),C=c(((e,t)=>{t.exports=S()()})),w=c(((e,t)=>{var n=d();t.exports=function(e,t,r){var i=[],a=!1,o=-1;function s(){for(o=0;o<i.length;o+=2)try{e(i[o],n(i[o+1]),c)}catch(e){r.error(e)}o=-1}function c(){a||(a=!0,t(function(){a=!1,s()}))}c.sync=s;function l(t,r){if(r!=null&&r.view==null&&typeof r!=`function`)throw TypeError(`m.mount expects a component, not a vnode.`);var a=i.indexOf(t);a>=0&&(i.splice(a,2),a<=o&&(o-=2),e(t,[])),r!=null&&(i.push(t,r),e(t,n(r),c))}return{mount:l,redraw:c}}})),T=c(((e,t)=>{var n=C();t.exports=w()(n,typeof requestAnimationFrame<`u`?requestAnimationFrame:null,typeof console<`u`?console:null)})),E=c(((e,t)=>{t.exports=function(e){if(Object.prototype.toString.call(e)!==`[object Object]`)return``;var t=[];for(var n in e)r(n,e[n]);return t.join(`&`);function r(e,n){if(Array.isArray(n))for(var i=0;i<n.length;i++)r(e+`[`+i+`]`,n[i]);else if(Object.prototype.toString.call(n)===`[object Object]`)for(var i in n)r(e+`[`+i+`]`,n[i]);else t.push(encodeURIComponent(e)+(n!=null&&n!==``?`=`+encodeURIComponent(n):``))}}})),D=c(((e,t)=>{var n=E();t.exports=function(e,t){if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw SyntaxError(`Template parameter names must be separated by either a '/', '-', or '.'.`);if(t==null)return e;var r=e.indexOf(`?`),i=e.indexOf(`#`),a=i<0?e.length:i,o=r<0?a:r,s=e.slice(0,o),c={};Object.assign(c,t);var l=s.replace(/:([^\/\.-]+)(\.{3})?/g,function(e,n,r){return delete c[n],t[n]==null?e:r?t[n]:encodeURIComponent(String(t[n]))}),u=l.indexOf(`?`),d=l.indexOf(`#`),f=d<0?l.length:d,p=u<0?f:u,m=l.slice(0,p);r>=0&&(m+=e.slice(r,a)),u>=0&&(m+=(r<0?`?`:`&`)+l.slice(u,f));var h=n(c);return h&&(m+=(r<0&&u<0?`?`:`&`)+h),i>=0&&(m+=e.slice(i)),d>=0&&(m+=(i<0?``:`&`)+l.slice(d)),m}})),ee=c(((e,t)=>{var n=D(),r=p();t.exports=function(e,t){function i(e){return new Promise(e)}function a(t,i){return new Promise(function(a,s){t=n(t,i.params);var c=i.method==null?`GET`:i.method.toUpperCase(),l=i.body,u=(i.serialize==null||i.serialize===JSON.serialize)&&!(l instanceof e.FormData||l instanceof e.URLSearchParams),d=i.responseType||(typeof i.extract==`function`?``:`json`),f=new e.XMLHttpRequest,p=!1,m=!1,h=f,g,_=f.abort;for(var v in f.abort=function(){p=!0,_.call(this)},f.open(c,t,i.async!==!1,typeof i.user==`string`?i.user:void 0,typeof i.password==`string`?i.password:void 0),u&&l!=null&&!o(i,`content-type`)&&f.setRequestHeader(`Content-Type`,`application/json; charset=utf-8`),typeof i.deserialize!=`function`&&!o(i,`accept`)&&f.setRequestHeader(`Accept`,`application/json, text/*`),i.withCredentials&&(f.withCredentials=i.withCredentials),i.timeout&&(f.timeout=i.timeout),f.responseType=d,i.headers)r.call(i.headers,v)&&f.setRequestHeader(v,i.headers[v]);f.onreadystatechange=function(e){if(!p&&e.target.readyState===4)try{var n=e.target.status>=200&&e.target.status<300||e.target.status===304||/^file:\/\//i.test(t),r=e.target.response,o;if(d===`json`){if(!e.target.responseType&&typeof i.extract!=`function`)try{r=JSON.parse(e.target.responseText)}catch{r=null}}else (!d||d===`text`)&&(r??=e.target.responseText);if(typeof i.extract==`function`?(r=i.extract(e.target,i),n=!0):typeof i.deserialize==`function`&&(r=i.deserialize(r)),n){if(typeof i.type==`function`)if(Array.isArray(r))for(var c=0;c<r.length;c++)r[c]=new i.type(r[c]);else r=new i.type(r);a(r)}else{var l=function(){try{o=e.target.responseText}catch{o=r}var t=Error(o);t.code=e.target.status,t.response=r,s(t)};f.status===0?setTimeout(function(){m||l()}):l()}}catch(e){s(e)}},f.ontimeout=function(e){m=!0;var t=Error(`Request timed out`);t.code=e.target.status,s(t)},typeof i.config==`function`&&(f=i.config(f,i,t)||f,f!==h&&(g=f.abort,f.abort=function(){p=!0,g.call(this)})),l==null?f.send():typeof i.serialize==`function`?f.send(i.serialize(l)):l instanceof e.FormData||l instanceof e.URLSearchParams?f.send(l):f.send(JSON.stringify(l))})}i.prototype=Promise.prototype,i.__proto__=Promise;function o(e,t){for(var n in e.headers)if(r.call(e.headers,n)&&n.toLowerCase()===t)return!0;return!1}return{request:function(e,n){typeof e==`string`?n??={}:(n=e,e=e.url);var r=a(e,n);if(n.background===!0)return r;var o=0;function s(){--o===0&&typeof t==`function`&&t()}return c(r);function c(e){var t=e.then;return e.constructor=i,e.then=function(){o++;var n=t.apply(e,arguments);return n.then(s,function(e){if(s(),o===0)throw e}),c(n)},e}}}}})),O=c(((e,t)=>{var n=T();t.exports=ee()(typeof window<`u`?window:null,n.redraw)})),k=c(((e,t)=>{var n=/%(?:[0-7]|(?!c[01]|e0%[89]|ed%[ab]|f0%8|f4%[9ab])(?:c|d|(?:e|f[0-4]%[89ab])[\da-f]%[89ab])[\da-f]%[89ab])[\da-f]/gi;t.exports=function(e){return String(e).replace(n,decodeURIComponent)}})),A=c(((e,t)=>{var n=k();t.exports=function(e){if(e===``||e==null)return{};e.charAt(0)===`?`&&(e=e.slice(1));for(var t=e.split(`&`),r={},i={},a=0;a<t.length;a++){var o=t[a].split(`=`),s=n(o[0]),c=o.length===2?n(o[1]):``;c===`true`?c=!0:c===`false`&&(c=!1);var l=s.split(/\]\[?|\[/),u=i;s.indexOf(`[`)>-1&&l.pop();for(var d=0;d<l.length;d++){var f=l[d],p=l[d+1],m=p==``||!isNaN(parseInt(p,10));if(f===``){var s=l.slice(0,d).join();r[s]??(r[s]=Array.isArray(u)?u.length:0),f=r[s]++}else if(f===`__proto__`)break;if(d===l.length-1)u[f]=c;else{var h=Object.getOwnPropertyDescriptor(u,f);h!=null&&(h=h.value),h??(u[f]=h=m?[]:{}),u=h}}}return i}})),j=c(((e,t)=>{var n=A();t.exports=function(e){var t=e.indexOf(`?`),r=e.indexOf(`#`),i=r<0?e.length:r,a=t<0?i:t,o=e.slice(0,a).replace(/\/{2,}/g,`/`);return o?o[0]!==`/`&&(o=`/`+o):o=`/`,{path:o,params:t<0?{}:n(e.slice(t+1,i))}}})),M=c(((e,t)=>{var n=j();t.exports=function(e){var t=n(e),r=Object.keys(t.params),i=[],a=RegExp(`^`+t.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,function(e,t,n){return t==null?`\\`+e:(i.push({k:t,r:n===`...`}),n===`...`?`(.*)`:n===`.`?`([^/]+)\\.`:`([^/]+)`+(n||``))})+`\\/?$`);return function(e){for(var n=0;n<r.length;n++)if(t.params[r[n]]!==e.params[r[n]])return!1;if(!i.length)return a.test(e.path);var o=a.exec(e.path);if(o==null)return!1;for(var n=0;n<i.length;n++)e.params[i[n].k]=i[n].r?o[n+1]:decodeURIComponent(o[n+1]);return!0}}})),N=c(((e,t)=>{var n=p(),r=/^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$/;t.exports=function(e,t){var i={};if(t!=null)for(var a in e)n.call(e,a)&&!r.test(a)&&t.indexOf(a)<0&&(i[a]=e[a]);else for(var a in e)n.call(e,a)&&!r.test(a)&&(i[a]=e[a]);return i}})),P=c(((e,t)=>{var n=d(),r=g(),i=k(),a=D(),o=j(),s=M(),c=N();t.exports=function(e,t){var l=Promise.resolve(),u=!1,d=!1,f=!1,p,m,h,g,_,v,y,b,x={onremove:function(){d=f=!1,e.removeEventListener(`popstate`,w,!1)},view:function(){var e=n(_,v.key,v);return g?g.render(e):[e]}},S=T.SKIP={};function C(){u=!1;var n=e.location.hash;T.prefix[0]!==`#`&&(n=e.location.search+n,T.prefix[0]!==`?`&&(n=e.location.pathname+n,n[0]!==`/`&&(n=`/`+n)));var r=i(n).slice(T.prefix.length),a=o(r);Object.assign(a.params,e.history.state);function s(e){console.error(e),T.set(h,null,{replace:!0})}c(0);function c(e){for(;e<m.length;e++)if(m[e].check(a)){var n=m[e].component,i=m[e].route,o=n,u=b=function(i){if(u===b){if(i===S)return c(e+1);_=i!=null&&(typeof i.view==`function`||typeof i==`function`)?i:`div`,v=a.params,y=r,b=null,g=n.render?n:null,f?t.redraw():(f=!0,t.mount(p,x))}};n.view||typeof n==`function`?(n={},u(o)):n.onmatch?l.then(function(){return n.onmatch(a.params,r,i)}).then(u,r===h?null:s):u();return}if(r===h)throw Error(`Could not resolve default route `+h+`.`);T.set(h,null,{replace:!0})}}function w(){u||(u=!0,setTimeout(C))}function T(t,n,r){if(!t)throw TypeError(`DOM element being rendered to does not exist.`);if(m=Object.keys(r).map(function(e){if(e[0]!==`/`)throw SyntaxError(`Routes must start with a '/'.`);if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw SyntaxError(`Route parameter names must be separated with either '/', '.', or '-'.`);return{route:e,component:r[e],check:s(e)}}),h=n,n!=null){var i=o(n);if(!m.some(function(e){return e.check(i)}))throw ReferenceError(`Default route doesn't match any known routes.`)}p=t,e.addEventListener(`popstate`,w,!1),d=!0,C()}return T.set=function(t,n,r){if(b!=null&&(r||={},r.replace=!0),b=null,t=a(t,n),d){w();var i=r?r.state:null,o=r?r.title:null;r&&r.replace?e.history.replaceState(i,o,T.prefix+t):e.history.pushState(i,o,T.prefix+t)}else e.location.href=T.prefix+t},T.get=function(){return y},T.prefix=`#!`,T.Link={view:function(e){var t=r(e.attrs.selector||`a`,c(e.attrs,[`options`,`params`,`selector`,`onclick`]),e.children),n,i,o;return(t.attrs.disabled=!!t.attrs.disabled)?(t.attrs.href=null,t.attrs[`aria-disabled`]=`true`):(n=e.attrs.options,i=e.attrs.onclick,o=a(t.attrs.href,e.attrs.params),t.attrs.href=T.prefix+o,t.attrs.onclick=function(e){var t;typeof i==`function`?t=i.call(e.currentTarget,e):typeof i!=`object`||!i||typeof i.handleEvent==`function`&&i.handleEvent(e),t!==!1&&!e.defaultPrevented&&(e.button===0||e.which===0||e.which===1)&&(!e.currentTarget.target||e.currentTarget.target===`_self`)&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey&&(e.preventDefault(),e.redraw=!1,T.set(o,null,n))}),t}},T.param=function(e){return v&&e!=null?v[e]:v},T}})),te=c(((e,t)=>{var n=T();t.exports=P()(typeof window<`u`?window:null,n)})),F=u(c(((e,t)=>{var n=y(),r=T(),i=O(),a=te(),o=function(){return n.apply(this,arguments)};o.m=n,o.trust=n.trust,o.fragment=n.fragment,o.Fragment=`[`,o.mount=r.mount,o.route=a,o.render=C(),o.redraw=r.redraw,o.request=i.request,o.parseQueryString=A(),o.buildQueryString=E(),o.parsePathname=j(),o.buildPathname=D(),o.vnode=d(),o.censor=N(),o.domFor=x(),t.exports=o}))(),1);function I(e,t){return(0,F.default)(L,e,t)}function ne(e,t){return(0,F.default)(ae,e,t)}function re(e,t){return(0,F.default)(oe,e,t)}function ie(e,t){return(0,F.default)(se,e,t)}var L=()=>({view:({attrs:{start:e,end:t,...n},children:r})=>(0,F.default)(`div.twk-bar`,n,[e?(0,F.default)(ae,e):null,r,t?(0,F.default)(oe,t):null])}),ae=()=>({view:({attrs:e,children:t})=>(0,F.default)(`div.twk-bar-start`,e,t)}),oe=()=>({view:({attrs:e,children:t})=>(0,F.default)(`div.twk-bar-end`,e,t)}),se=()=>({view:({attrs:e,children:t})=>(0,F.default)(`div.twk-bar-content`,e,t)});function ce(e,t){return(0,F.default)(le,e,t)}var le=()=>({view:e=>{let t=e.attrs;return(0,F.default)(`div.twk-grid`,{style:{gridTemplateColumns:typeof t.columns==`number`?`repeat(${t.columns}, 1fr)`:t.columns||`none`,gridTemplateRows:typeof t.rows==`number`?`repeat(${t.rows}, 1fr)`:t.rows||`none`,...t.style||{}}},e.children)}});function R(e){return typeof e==`string`}function z(e){return typeof e==`number`}function B(e){return typeof e==`function`}function ue(e){return Array.isArray(e)}function V(e){return typeof e==`object`&&!!e&&!ue(e)}function H(e,...t){return B(e)?e(...t):null}function U(e,t,n){if(e!=null){if(t!=null&&e<t)return t;if(n!=null&&e>n)return n}return e}function W(){if(arguments.length===1&&R(arguments[0]))return arguments[0];if(arguments.length===0)return``;let e=[],t=n=>{if(n){if(typeof n==`function`){t(n());return}if(typeof n==`string`){n&&e.push(n);return}if(Array.isArray(n)){for(let e of n)t(e);return}if(typeof n==`object`)for(let t in n){let r=n[t];(typeof r==`function`?r():r)&&e.push(t)}}};for(let e of arguments)t(e);return e.join(` `)}function de(e,t,n){for(;e.length<t;)e=`${n}${e}`;return e}function fe(e){let t=0,n=0;return`touches`in e?(t=e.touches.item(0).pageX,n=e.touches.item(0).pageY):(t=e.pageX,n=e.pageY),[t,n]}function G(e,t,n){t||=e.target;let r=t.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,a=window.pageYOffset||document.documentElement.scrollTop,o=t.clientWidth,s=t.clientHeight,[c,l]=fe(e);n&&(c+=n[0],l+=n[1]);let u=c-i-r.left,d=l-a-r.top;return{width:o,height:s,x:u,y:d,normalizedX:u/o,normalizedY:d/s}}function pe({onStart:e,onMove:t,onEnd:n}){let r={target:null,activate:i=>{r.deactivate(),r.target=i.target,e&&e(i),t&&(document.addEventListener(`mousemove`,t,{passive:!1}),document.addEventListener(`touchmove`,t,{passive:!1})),n&&(document.addEventListener(`mouseup`,n),document.addEventListener(`touchend`,n),document.addEventListener(`touchcancel`,n))},deactivate:()=>{r.target=null,t&&(document.removeEventListener(`mousemove`,t),document.removeEventListener(`touchmove`,t)),n&&(document.removeEventListener(`mouseup`,n),document.removeEventListener(`touchend`,n),document.removeEventListener(`touchcancel`,n))},onStart:e,onMove:t,onEnd:n};return r}function me(e,t,n){return new Promise(r=>{let i=!1,a=n=>{i=!0,e.removeEventListener(t,a),r(!0)};e.addEventListener(t,a),setTimeout(()=>{e.removeEventListener(t,a),i||(i=!0,r(!1))},n)})}function he(e,t){return(0,F.default)(ge,e,t)}var ge=()=>{let e,t,n,r,i=!1;function a(t){let i=t.attrs;e=i.title||``,n=!!i.collapsible,r??=!!i.collapsed}function o(){i=!0,r=!r}function s(){return!t&&!e&&!n?null:(0,F.default)(`div.twk-group-title`,{onclick:n?o:void 0},t,e)}return{oninit:a,onupdate:a,view:({attrs:a,children:o})=>(e=a.title||``,t=a.icon||``,n=!!a.collapsible,r??=!!a.collapsed,(0,F.default)(`div.twk-group`,{class:W({"twk-group-collapsible":!!n,"twk-group-collapsed":!!r}),style:a.style},F.default.fragment({},[s()]),r?null:(0,F.default)(_e,{animate:i},o)))}},_e=()=>({onbeforeremove:async({dom:e})=>{e.classList.remove(`enter`),e.classList.add(`leave`),await me(e,`animationstart`,50)&&await me(e,`animationend`,2e3)},view:({children:e,attrs:t})=>(0,F.default)(`div.twk-group-content`,{class:W({animate:t.animate,enter:!0})},e)});function ve(e,t){return(0,F.default)(ye,e,t)}var ye=()=>({view:({attrs:{flex:e,flow:t,style:n,...r},children:i})=>(0,F.default)(`div.twk-flex`,{style:{flex:e??`auto`,flexFlow:t||`column nowrap`,...n||{}},...r},i)});function be(e,t){return(0,F.default)(we,e,t)}function xe(e,t){return(0,F.default)(Te,e,t)}function Se(e,t){return(0,F.default)(Ee,e,t)}function Ce(e,t){return(0,F.default)(De,e,t)}var we=()=>({view:({attrs:{header:e,footer:t,...n},children:r})=>(0,F.default)(`div.twk-section`,n,[e?(0,F.default)(Te,e):null,r,t?(0,F.default)(Ee,t):null])}),Te=()=>({view:({attrs:e,children:t})=>(0,F.default)(`header.twk-section-header`,e,t)}),Ee=()=>({view:({attrs:e,children:t})=>(0,F.default)(`footer.twk-section-footer`,e,t)}),De=()=>({view:({attrs:e,children:t})=>(0,F.default)(`main.twk-section-content`,e,t)});function K(e){return Me(e,Oe(e))}function q(e,t){let n=je(e,t);return ke(e,n),n}function Oe(e){return e.binding?e.binding.get(e.value,e.field):e.value==null?null:e.field==null?e.value:e.value[e.field]}function ke(e,t){if(e.binding){e.binding.set?.(t,e.value,e.field);return}if(e.value!=null){if(e.field){if(!Ae(e.value,e.field)){console.warn(`Cannot write value to control model. Property "${String(e.field)}" is not writeable.`);return}e.value[e.field]=t;return}e.value=t}}function Ae(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return!n||!!n.writable||!!n.set}function je(e,t){return e.adapter?e.adapter.fromControl(t):t}function Me(e,t){return e.adapter?e.adapter.toControl(t):t}function Ne(e){return typeof e==`object`&&!!e&&`tag`in e}function Pe(e,t){return Array.isArray(e)?e.map((e,n,r)=>Ne(e)?t(e,n,r):e):Ne(e)?t(e,0,[e]):e}function Fe(e){return e==null?null:typeof e==`function`?e():Array.isArray(e)?e.map(e=>{if(Ie(e)){let{component:t,attributes:n,children:r}=e;return(0,F.default)(t,n,Fe(r||[]))}return e}):e}function Ie(e){return typeof e==`object`&&!!e&&`component`in e&&`attributes`in e}function Le(e){return()=>{let t;return arguments.length===1?t=arguments[0]||{}:arguments.length>1?(t=arguments[1]||{},t.label=arguments[0]):t={},(0,F.default)(e,t)}}function Re(e,t){return{get:()=>e[t],set:n=>e[t]=n}}var ze=F.default;function Be(e,t){let n=typeof e==`string`?document.querySelector(e):e;if(n.classList.add(`tweak-ui`),!t)F.default.mount(n,null);else if(Array.isArray(t))F.default.mount(n,{view:()=>t});else if(typeof t==`function`){let e=Zn.build(t);F.default.mount(n,{view:()=>Fe(e)})}else F.default.mount(n,t)}function Ve(e){let t=typeof e==`string`?document.querySelector(e):e;F.default.mount(t,null)}function He(){F.default.redraw()}function Ue(e,t){return(0,F.default)(Ke,e,t)}function We(e,t){return(0,F.default)(Ge,e,t)}var Ge=e=>({view:({attrs:e,children:t})=>ze(`div`,{...e,class:W({fluid:!!e.fluid},e.class)},t)}),Ke=()=>{let e=!1,t=0,n,r,i,a,o,s=null,c=null;function l(e,t,s,c){f(),e.stopPropagation(),n=e,r=s.dom?.getBoundingClientRect(),i=c.dom?.getBoundingClientRect(),a=s.dom,o=c.dom,window.addEventListener(`mousemove`,u),window.addEventListener(`mouseup`,f);let l=a.parentElement;l&&l.classList.add(`dragging`)}function u(c){if(!r||!i||!n||!a||!o)return;s??=d();let l=e?c.clientX-n.clientX:c.clientY-n.clientY,u=e?r.width:r.height,f=u+(e?i.width:i.height),p=Math.max(t,Math.min(u+l,f-t)),m=f-p,h=p/s*100,g=m/s*100;a.style.flex=`0 0 ${h}%`,o.style.flex=`0 0 ${g}%`}function d(){if(!c)return 0;let t=0;for(let n=0;n<c.children.length;n++){let r=c.children[n],i=r.getBoundingClientRect(),a=e?i.width:i.height;t+=a,r.classList.contains(`fluid`)?r.style.flex=`1`:r.style.flex=`0 0 ${a}px`}return t}function f(){let e=a?.parentElement;e&&e.classList.remove(`dragging`),a=null,o=null,r=null,i=null,n=null,s=null,window.removeEventListener(`mousemove`,u),window.removeEventListener(`mouseup`,f),d()}return{oncreate:({dom:e})=>{c=e},view:({attrs:{style:n,flow:r,minSize:i,...a},children:o})=>(e=r===`row`,t=i=Math.max(i||16,0),queueMicrotask(d),(0,F.default)(`div.twk-split-pane`,{...a,class:W({"twk-split-pane-h":e,"twk-split-pane-v":!e}),style:{...n||{},display:`flex`,flexDirection:e?`row`:`column`}},Pe(o,(t,n,r)=>t?[t,r[n+1]?(0,F.default)(`div.twk-split-gutter`,{class:W({"twk-split-gutter-h":e,"twk-split-gutter-v":!e}),onmousedown:e=>l(e,n,t,r[n+1])}):null]:null)))}},qe=Symbol(`tabsHost`),Je=()=>{let e,t;return{oninit:n=>{if(e=n.attrs[qe],t=n,!e)throw Error(`TabPane must be used inside a Tabs component`);e.attach(n)},onremove:()=>{e.detach(t)},view:({attrs:n,children:r})=>{let i=n.title,a=e.isActive(t);return[(0,F.default)(`button.twk-btn.twk-tab`,{class:W({active:a}),onclick:()=>e.activate(t)},i),a?(0,F.default)(`div.twk-tab-content`,{},r):null]}}};function Ye(e,t){return(0,F.default)(Xe,e,t)}var Xe=()=>{let e=[],t=null,n={attach(n){e.push(n),t||=n,n.attrs.active&&(t=n)},detach(n){let r=e.indexOf(n);r>=0&&e.splice(r,1),t===n&&(t=e[0]||null)},activate(e){t=e},isActive(e){return t===e}};function r(e){return Pe(e.children,e=>{if(!e)return e;if(e.tag===Je)return(0,F.default)(e.tag,{...e.attrs,[qe]:n},e.children);let t=e.attrs;return(0,F.default)(Je,{title:t.title||``,[qe]:n},(0,F.default)(e.tag,{...t,title:void 0},e.children))})}return{view:e=>(0,F.default)(`div.twk-tabs`,{class:W({"twk-tabs-vertical":!!e.attrs.vertical})},F.default.fragment({},[r(e)]))}};function Ze(e){return(0,F.default)(et,e)}function Qe(e,t,n=0,r=[]){for(let i of e){let e=t.isExpanded(i)??!1,a=t.nodeChildren(i);r.push({node:i,depth:n,expanded:e}),a&&e&&Qe(a,t,n+1,r)}return r}var $e=22,et=()=>{let e=0,t=null,n=0,r=[],i=null,a,o,s,c=[],l=null;return{onremove(){t?.disconnect()},oncreate({dom:e}){t=new ResizeObserver(e=>{let t=e[0].contentRect.height;t!==n&&(n=t,F.default.redraw())}),t.observe(e)},onupdate({attrs:{adapter:e}}){e.connect?.({scrollTo(e){let t=r.findIndex(t=>t.node===e);t>=0&&(l?.scrollTo({top:t*(o??$e),behavior:`instant`}),F.default.redraw())}})},view({attrs:t}){c=t.data,i=t.adapter,a=t.selectedId,o=t.rowHeight??$e,s=t.onSelect,r=Qe(c,i);let u=r.length,d=Math.ceil(n/o),f=Math.floor(e/o),p=Math.min(f+d,u),m=f*o,h=r.slice(f,p);return(0,F.default)(`div.twk-tree`,{style:t.style??{},oncreate:({dom:e})=>{l=e},onscroll:t=>{e=t.target.scrollTop}},(0,F.default)(`div.twk-tree-spacer`,{style:{height:`${u*o}px`}},(0,F.default)(`div.twk-tree-viewport`,{style:{"--twk-tree-row-height":`${o}px`,transform:`translateY(${m}px)`}},h.map(({node:e,depth:t,expanded:n})=>{let r=i.nodeId(e),c=r===a,l=i.nodeIcon(e,i.isExpanded(e)),u=!!i.nodeChildren(e);return(0,F.default)(`div.twk-tree-row`,{key:r,class:W({selected:c,expandable:u}),style:{height:`${o}px`,"--twk-tree-row-depth":t},onclick:()=>s?.(e)},[(0,F.default)(`span.twk-tree-toggle`,{class:W({expanded:n,expandable:u}),onclick:t=>{u&&(t.stopPropagation(),i.setExpanded(e,!n))}}),l?(0,F.default)(`span.twk-tree-icon`,{},l):null,(0,F.default)(`span.twk-tree-label`,{},i.nodeLabel(e))])}))))}}};function tt(e,t){return(0,F.default)(nt,e,t)}var nt=()=>{let e=null;return{oncreate:({dom:t})=>{e=t,e.addEventListener(`close`,He)},onremove:()=>{e?.removeEventListener(`close`,He),e=null},view:({attrs:t,children:n})=>(0,F.default)(`dialog.twk-dialog`,t,[e?.open?n:null])}};function rt(e,t){return(0,F.default)(it,e,t)}var it=()=>({view:({attrs:e,children:t})=>{let{square:n,block:r,class:i,style:a,...o}=e;return(0,F.default)(`button.twk-btn`,{type:`button`,class:W({"twk-btn-sq":!!n,"twk-btn-bl":!!r,"twk-btn-lg":!!e.large,"twk-btn-accent":!!e.accent},i),style:{flex:e.flex,...a||{}},...o},t)}});function at(e){return(0,F.default)(ot,e)}var ot=()=>({view:e=>(0,F.default)(`div.twk-divider`,e.attrs,e.children)});function st(e,t){let n={color:e.color,noGraph:e.noGraph,fractionDigits:e.fractionDigits,smoothing:e.smoothing??0,transform:ut,min:e.min??0,max:e.max??1,value:null,normalized:0,buffer:new Float32Array(t),head:0,count:0,index:0,sum:0,avg:0,minDeque:new Float32Array(t),maxDeque:new Float32Array(t),minIdx:new Uint32Array(t),maxIdx:new Uint32Array(t),minHead:0,minTail:0,maxHead:0,maxTail:0,minSeen:1/0,maxSeen:-1/0,sample:()=>dt(e.sample(),n)};switch(e.transform){case`log`:n.transform=ct;break;case`exp`:n.transform=lt;break;default:n.transform=ut;break}return n}function ct(e){return Math.log10(1+Math.max(0,e))}function lt(e){return Math.exp(e)-1}function ut(e){return e}function dt(e,t){if(t.value==null)t.value=e;else{let n=t.smoothing;t.value=n*t.value+(1-n)*e}let n=t.value,r=t.index++,i=t.buffer.length;if(t.count===i){let e=t.buffer[t.head];t.sum-=e}else t.count++;for(t.buffer[t.head]=n,t.head=(t.head+1)%i,t.sum+=n,t.avg=t.sum/t.count;t.minHead!==t.minTail;){let e=(t.minTail-1+i)%i;if(t.minDeque[e]<=n)break;t.minTail=e}for(t.minDeque[t.minTail]=n,t.minIdx[t.minTail]=r,t.minTail=(t.minTail+1)%i;t.minHead!==t.minTail&&t.minIdx[t.minHead]<=r-i;)t.minHead=(t.minHead+1)%i;for(;t.maxHead!==t.maxTail;){let e=(t.maxTail-1+i)%i;if(t.maxDeque[e]>=n)break;t.maxTail=e}for(t.maxDeque[t.maxTail]=n,t.maxIdx[t.maxTail]=r,t.maxTail=(t.maxTail+1)%i;t.maxHead!==t.maxTail&&t.maxIdx[t.maxHead]<=r-i;)t.maxHead=(t.maxHead+1)%i;let a=t.minHead===t.minTail?t.min:t.minDeque[t.minHead],o=t.maxHead===t.maxTail?t.max:t.maxDeque[t.maxHead];t.minSeen=a,t.maxSeen=o;let s=t.transform,c=s(n),l=s(Math.min(t.min,a)),u=s(Math.max(t.max,o))-l||1,d=(c-l)/u;return t.normalized=Math.max(0,Math.min(1,d)),t.normalized}function ft(e){let t=e.getContext(`webgl2`);if(!t)throw Error(`WebGL2 is not supported in this browser`);let n=gt(t),r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.enableVertexAttribArray(0),t.enableVertexAttribArray(1),t.enableVertexAttribArray(2),t.vertexAttribPointer(0,1,t.FLOAT,!1,12,0),t.vertexAttribPointer(1,1,t.FLOAT,!1,12,4),t.vertexAttribPointer(2,1,t.FLOAT,!1,12,8);let i=t.getUniformLocation(n,`u_history`),a=t.getUniformLocation(n,`u_width`),o=t.getUniformLocation(n,`u_height`),s=t.getUniformLocation(n,`u_rowH`),c=t.getUniformLocation(n,`u_padding`),l=t.getUniformLocation(n,`u_color`),u=!1,d=100,f=0,p,m,h,g=[],_=[];function v(e){u=!!e.collapsed,f=e.rows.length,d=Math.max(e.historySize||100,100),m=new Float32Array(f*d),h=new Uint32Array(f),p=new Float32Array(f*d*3),_.length=f,g.length=f;for(let t=0;t<f;t++){_[t]=st(e.rows[t],d);let n=e.rows[t].color;g[t]=[parseInt(n.slice(1,3),16)/255,parseInt(n.slice(3,5),16)/255,parseInt(n.slice(5,7),16)/255]}}function y(t,n){e.width=t,e.height=n}function b(){for(let e=0;e<_.length;e++)h[e]=(h[e]+1)%d,m[e*d+h[e]]=_[e].sample()}function x(){for(let e=0;e<f;e++)for(let t=0;t<d;t++){let n=(h[e]+t+1)%d,r=(e*d+t)*3;p[r+0]=t,p[r+1]=u?0:e,p[r+2]=m[e*d+n]}t.viewport(0,0,e.width,e.height),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.useProgram(n),t.uniform1f(i,d),t.uniform1f(a,e.width),t.uniform1f(o,e.height),t.uniform1f(c,0),t.uniform1f(s,(e.height-0-f*0)/(u?1:f)),t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,p,t.DYNAMIC_DRAW);for(let e=0;e<f;e++)_[e].noGraph||(t.uniform3fv(l,g[e]),t.drawArrays(t.LINE_STRIP,e*d,d))}return{resize:y,configure:v,update:b,render:x,sampler:e=>_[e],samplerCount:_.length}}var pt=`#version 300 es
3
3
  precision highp float;
4
4
 
5
5
  layout(location=0) in float a_x;
@@ -29,5 +29,5 @@ out vec4 outColor;
29
29
  void main(){
30
30
  outColor = vec4(u_color,1.0);
31
31
  }
32
- `;function ht(e,t,n){let r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS))throw e.getShaderInfoLog(r);return r}function gt(e){let t=e.createProgram();return e.attachShader(t,ht(e,e.VERTEX_SHADER,pt)),e.attachShader(t,ht(e,e.FRAGMENT_SHADER,mt)),e.linkProgram(t),e.useProgram(t),t}function _t(e,t){return(0,I.default)(vt,e,t)}var vt=()=>{let e=null,t=null,n=null,r,i={rows:[]},a=[],o=null;function s(t){n=t,e?.observe(n),l(),o=setInterval(u,250)}function c(){e?.disconnect(),t!==null&&(cancelAnimationFrame(t),t=null),o!==null&&(clearInterval(o),o=null)}function l(){n?.isConnected?(r.update(),r.render(),t=requestAnimationFrame(l)):c()}function u(){bt(r,a)}function d({dom:t}){c();let n=t;if(!(n instanceof HTMLCanvasElement)){console.error(`Graph component must be a canvas element`);return}e=new ResizeObserver(e=>{let t=yt(e);t&&r&&r.resize(t.width,t.height)}),r=ft(n);for(let e=0;e<i.rows.length;e++)i.rows[e].color||=Ct(e);r.configure(i),s(n)}function f(){c()}function p(e){i={...e.attrs,rows:(e.attrs.rows||[]).map((e,t)=>({...e,name:e.name||`Row ${t+1}`,color:e.color||Ct(t)}))}}return{oninit:p,onupdate:p,onremove:()=>{c()},view:({attrs:{rowHeight:e,collapsed:t}})=>[(0,I.default)(`canvas.twk-graph`,{style:`width: 100%; height: ${(e||50)*(t?1:i.rows.length)*devicePixelRatio}px`,oncreate:d,onremove:f}),(0,I.default)(`table.twk-graph`,{},[(0,I.default)(`tbody`,{},i.rows.map((e,t)=>(0,I.default)(`tr`,{oncreate:({dom:e})=>a[t]=e},[(0,I.default)(`td`,{style:e.noGraph?{}:`color: ${e.color}`,title:e.name},[(0,I.default)(`span`,e.name)]),(0,I.default)(`td.twk-stats`,{title:`min / max / avg`},[]),(0,I.default)(`td.twk-current`,{})])))])]}};function yt(e){let t=e[0];return t.devicePixelContentBoxSize?{width:t.devicePixelContentBoxSize[0].inlineSize,height:t.devicePixelContentBoxSize[0].blockSize}:t.contentBoxSize?{width:Math.round(t.contentBoxSize[0].inlineSize*devicePixelRatio),height:Math.round(t.contentBoxSize[0].blockSize*devicePixelRatio)}:null}function bt(e,t){if(e)for(let n=0;n<t.length;n++){let r=t[n],i=e.sampler(n);if(!i||!r)continue;let a=r.querySelector(`.twk-current`),o=r.querySelector(`.twk-stats`);if(a&&(a.textContent=xt(i.value,i.fractionDigits)),o)if(i.noGraph)o.textContent=``;else{let e=i.fractionDigits;o.textContent=`${xt(i.minSeen,e)}/${xt(i.maxSeen,e)}/${xt(i.avg,e)}`}}}function xt(e,t){if(e==null)return`n/a`;if(t!=null)return e.toFixed(t);let n=Math.abs(e);return n<2**-52?`0`:n<1?e.toFixed(3):n<10?e.toFixed(2):n<100?e.toFixed(1):e.toFixed(0)}var St=[`#1F77B4`,`#FF7F0E`,`#2CA02C`,`#D62728`,`#9467BD`,`#8C564B`,`#E377C2`,`#7F7F7F`,`#5DA5DA`,`#F17CB0`,`#60BD68`,`#B2912F`,`#B276B2`,`#DECF3F`,`#F15854`,`#4D4D4D`,`#17BECF`,`#AEC7E8`,`#FFBB78`,`#98DF8A`];function Ct(e){return St[e%St.length]}function wt(e,t){return(0,I.default)(Tt,e,t)}var Tt=()=>{let e,t,n,r,i,a,o,s=0,c,l;function u(){return t!==c||e!==l}function d(e){return B(e)?`${e}px`:e}function f(e){return String(e||``)}function p(o){e=typeof o.src==`string`?o.src:``,t=o.src,n=o.render,i=f(o.aspect),r=d(o.width),a=o.fit||`fit`}async function m(){if(!o||!u())return;if(c=t,l=e,!n){o.src=e;return}s++;let r=s;o.classList.add(`twk-loading`);let i=await n(t);if(r!==s){i.close();return}await h(o,i),o.classList.remove(`twk-loading`)}async function h(e,t){let n=new OffscreenCanvas(t.width,t.height);n.getContext(`2d`).drawImage(t,0,0);let r=await n.convertToBlob({type:`image/png`});t.close();let i=URL.createObjectURL(r);URL.revokeObjectURL(e.src),e.src=i}function g(e){let{src:t,render:n,aspect:r,width:i,fit:a,...o}=e;return o}return{oninit({attrs:e}){p(e)},onbeforeupdate({attrs:e},t){p(e)},onupdate(){m()},view:({attrs:t})=>(0,I.default)(`img.twk-image`,{src:e,style:{width:r,aspectRatio:i,objectFit:a,...t.style||{}},onremove:()=>{o=null},oncreate:({dom:e})=>{o=e,m()},...g(t)})}},Et=()=>({view:e=>{let{label:t,tip:n,tagName:r,...i}=e.attrs;return[(0,I.default)(`${r||`div`}.twk-widget`,{...i},t===!1?null:(0,I.default)(`div.twk-widget-label`,{},t),e.children)]}});function J(e,t){return(0,I.default)(Et,e,t)}function Dt(e,t){return(0,I.default)(kt,e,t)}function Ot(e,t){return(0,I.default)(At,e,t)}var kt=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`label.twk-scalar-widget`,label:e??n.field,class:t},[(0,I.default)(At,n)])}),At=()=>{let e,t,n,r,i,a,o,s=!1,c=!1,l=!1,u=!1,d;function f(o){(!d||o.attrs.decimals!==a.decimals)&&(d=new Intl.NumberFormat(`en-US`,{minimumFractionDigits:o.attrs.decimals??1,maximumFractionDigits:o.attrs.decimals??1,useGrouping:!1})),a=o.attrs,e=a.min,t=a.max,n=a.step,u=!!a.range,i=K(a),r=!!a.readonly,s=e!=null&&t!=null,c=n!=null,l=s||c}function p(n,r){i=isNaN(r)?null:W(r,e,t),q(a,i),(n===`input`?a.oninput:a.onchange)?.(a.value,i),I.default.redraw()}function m(){o=!0}function h(){o=!1}function g(e){let t=e.target;p(`input`,parseFloat(t.value))}function _(e){let t=e.target;p(`change`,parseFloat(t.value))}function v(r){return r=W(r,e,t),n!=null&&(r=Math.round(r/n)*n),parseFloat(r.toFixed(5))}function y(e){!l||r||S.activate(e)}let b,x,S=pe({onStart:e=>{b=i,x=fe(e,S.target).normalizedX},onMove:r=>{r.preventDefault(),S.target?.blur();let i=x-fe(r,S.target).normalizedX,a=b;s?a-=i*(t-e):c&&(a-=Math.round(i*100)*n),p(`input`,v(a))},onEnd:()=>{p(`change`,i),S.deactivate()}});function C(e){if(!o)return;e.preventDefault();let t=(e.ctrlKey?.5:1)*W(e.deltaY,-1,1),r=(n||.2)*t;r&&p(`change`,v((i||0)-r))}return{onremove:()=>{S.deactivate()},oninit:f,onbeforeupdate:f,view:a=>{f(a);let l=s?(i-e)/(t-e):NaN;return(0,I.default)(`div.twk-input.twk-scalar-input`,{style:s?`--twk-scalar-value: ${l}`:``,class:G({"twk-input-readonly":r,"twk-scalar-dragable":!r&&(s||c),"twk-scalar-range":u},a.attrs.class)},[a.attrs.slotBefore?(0,I.default)(`span`,{},a.attrs.slotBefore):null,(0,I.default)(`input`,{type:o?`number`:`text`,min:e,max:t,step:n,value:o?i:d.format(i),onfocus:m,onblur:h,oninput:g,onchange:_,onwheel:C,onmousedown:y,ontouchstart:y,placeholder:void 0,disabled:r}),a.attrs.unit?(0,I.default)(`span.twk-color-muted`,{},a.attrs.unit):null,a.attrs.slotAfter?(0,I.default)(`span`,{},a.attrs.slotAfter):null])}}};function jt(e,t){return(0,I.default)(Nt,e,t)}function Mt(e,t){return(0,I.default)(Lt,e,t)}var Nt=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`label.twk-angle-widget`,label:e??n.field,class:t},[(0,I.default)(Lt,n)])}),Pt=180/Math.PI,Y=Math.PI/180,Ft={toControl:e=>e*Pt,fromControl:e=>e*Y},It={toControl:e=>e*Y,fromControl:e=>e*Pt},Lt=()=>{let e=0,t=!1,n=[0,0],r,i,a,o,s;function c(e){return i!=null&&a!=null?i<=a?e<i?e=i:e>a&&(e=a):e>=i||e<=a||(e=Math.abs(e-i)<Math.abs(e-a)?i:a):i==null?a!=null&&e>a&&(e=a):e<i&&(e=i),o!=null&&(e=Math.round(e/o)*o),e}function l(e){return e%=360,e<0&&(e+=360),e}function u(t){s=t.attrs,i=s.min,a=s.max,o=s.step,i=i==null?null:l(i)*Y,a=a==null?null:l(a)*Y,o=o==null?null:l(o)*Y,e=K(s)??e,s.degree&&(e*=Y),f()}function d(t){f();let n=s.degree?e*Pt:e;q(s,n),U(t===`input`?s.oninput:s.onchange,s.value,n)}function f(){n[0]=Math.cos(e),n[1]=Math.sin(e)}let p,m=pe({onStart:e=>{let t=fe(e);p=[-(t.x-t.width/2),-(t.y-t.height/2)]},onMove:n=>{n.preventDefault();let i=fe(n,r,p),a=i.normalizedX-.5,o=i.normalizedY-.5;t&&(e=Math.atan2(a,-o),e<0&&(e+=2*Math.PI)),e=c(e),d(`input`),I.default.redraw()},onEnd:()=>{m.deactivate(),t=!1,d(`change`),I.default.redraw()}});function h(e){return e<0&&(e+=360),e%360}return{onremove:()=>{m.deactivate()},oninit:e=>{u(e)},onupdate:e=>{u(e)},view:({attrs:{...n}})=>(0,I.default)(`div.twk-angle-input`,{style:{"--angle-value":`${h(e*Pt)}`}},[Ot({unit:s.degree?`°`:`rad`,range:!0,...n,slotAfter:(0,I.default)(`span.twk-flex-row`,[(0,I.default)(`span.twk-color-dim`,`/`),(s.degree?e:e*Pt).toFixed(1),(0,I.default)(`span.twk-color-dim`,s.degree?`rad`:`°`)])}),(0,I.default)(`div.twk-angle-pane`,{oncreate:e=>r=e.dom,class:G({"is-dragging":t}),style:{aspectRatio:`1`,display:`flex`,"align-items":`center`,"justify-content":`center`,position:`relative`}})])}};function Rt(e,t){return(0,I.default)(Bt,e,t)}function zt(e,t){return(0,I.default)(Vt,e,t)}var Bt=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`label.twk-bool-widget`,label:e??n.field,class:t},[(0,I.default)(Vt,n)])}),Vt=()=>{let e;function t(t){let n=t.target.checked;q(e,n),e.oninput?.(e.value,n),e.onchange?.(e.value,n)}return{view:n=>{e=n.attrs;let r=K(e)===!0,i=e.align===`end`;return(0,I.default)(`div.twk-bool-input`,{class:G({"twk-align-start":!i,"twk-align-end":!!i,"twk-bool-true":r,"twk-bool-false":!r})},[e.slotBefore,e.readonly?r?e.slotTrue||(0,I.default)(`span`,`true`):e.slotFalse||(0,I.default)(`span`,`false`):(0,I.default)(`input`,{class:G({"twk-toggle":!!e.toggle,"twk-check":!e.toggle}),type:`checkbox`,checked:r,onchange:t}),e.slotAfter,n.children])}}};function Ht(e){let t=e.h%360,n=W(e.s,0,1),r=W(e.v,0,1),i=r*n,a=i*(1-Math.abs(t/60%2-1)),o=r-i,s={r:0,g:0,b:0};return t<60?(s.r=i,s.g=a,s.b=0):t<120?(s.r=a,s.g=i,s.b=0):t<180?(s.r=0,s.g=i,s.b=a):t<240?(s.r=0,s.g=a,s.b=i):t<300?(s.r=a,s.g=0,s.b=i):(s.r=i,s.g=0,s.b=a),s.r+=o,s.g+=o,s.b+=o,s}function Ut(e){let t=e.r,n=e.g,r=e.b,i=Math.max(t,n,r),a=i-Math.min(t,n,r),o=0,s=0;return a!==0&&(o=a/i,i===t?(s=(n-r)/a+(n<r?6:0),s=s%6*60):i===n?(s=(r-t)/a+2,s*=60):(s=(t-n)/a+4,s*=60)),{h:s,s:o,v:i}}var Wt=class{constructor(e,t){this.components=e,this.normalized=t}toControl(e){e||=[];let t={r:0,g:0,b:0,a:1};return this.components.forEach((n,r)=>{t[n]=(e[r]||0)/(this.normalized?1:255)}),t}fromControl(e){return this.components.map(t=>(this.normalized?e[t]:Math.round(e[t]*255))||0)}},Gt=class{components=[`r`,`g`,`b`,`a`];constructor(e){this.components=e}toControl(e){e||=`rgba(0, 0, 0)`;let t={r:0,g:0,b:0,a:1},n=e.replace(/[rgba\(\)]/gi,``).split(/,\s*?/gi).map(Number);return this.components.forEach((e,r)=>{t[e]=(n[r]||0)/(e===`a`?1:255)}),t}fromControl(e){return this.components.join(``)+`(`+this.components.map(t=>t===`a`?e[t]:Math.round(e[t]*255)).join(`, `)+`)`}},Kt=class{constructor(e,t=`#`){this.components=e,this.prefix=t}toControl(e){e||=`#000`;let t={r:0,g:0,b:0,a:1},n=e.match(/[0-9a-f]+/i)?.[0];return n==null?t:(n.length===this.components.length&&(n=n.split(``).map(e=>`${e}${e}`).join(``)),this.components.forEach((e,r)=>{t[e]=parseInt(n.substr(r*2,2),16)/255}),t)}fromControl(e){return this.prefix+this.components.map(t=>ue(Math.round(e[t]*255).toString(16),2,`0`)).join(``)}},qt=class{componentsRev;constructor(e){this.components=e,this.componentsRev=e.slice().reverse()}toControl(e){e||=0;let t={r:0,g:0,b:0,a:1};return this.components.forEach((n,r)=>{t[n]=(e>>r*8&255)/255}),t}fromControl(e){let t=this.componentsRev.map(t=>ue(Math.round(e[t]*255||0).toString(16),2,`0`)).join(``);return parseInt(`0x`+t,16)}},Jt=[`r`,`g`,`b`,`a`],Yt=class{constructor(e,t){this.components=e,this.normalized=t}toControl(e){e||={};let t={r:0,g:0,b:0,a:1};return this.components.forEach((n,r)=>{t[Jt[r]]=(e[n]||0)/(this.normalized?1:255)}),t}fromControl(e){let t={};return this.components.forEach((n,r)=>{t[n]=(this.normalized?e[Jt[r]]:Math.round(e[n]*255))||0}),t}},X={};function Z(e=`rgb()`){if(e in X)return X[e];{let t=e.match(/^\[(n?)\]([rgba]+)?$/i);if(t){let n=!!t[1];return X[e]=new Wt((t[2]||`rgba`).toLowerCase().split(``),n),X[e]}}{let t=e.match(/^\{(n?)\}([rgbaxyzw]+)?$/i);if(t){let n=!!t[1];return X[e]=new Yt((t[2]||`rgba`).split(``),n),X[e]}}{let t=e.match(/^0x([rgba]+)?$/i);if(t)return X[e]=new qt((t[1]||`rgba`).toLowerCase().split(``)),X[e]}{let t=e.match(/^#([rgba]+)?$/);if(t)return X[e]=new Kt((t[1]||`rgba`).toLowerCase().split(``),`#`),X[e]}{let t=e.match(/^(rgb|rgba)\(\)$/);if(t)return X[e]=new Gt((t[2]||`rgba`).toLowerCase().split(``)),X[e]}return e.match(/^[rgba]+$/)&&(X[e]=new Kt(e.split(``),``)),X[e]}function Xt(e,t){return(0,I.default)(Qt,e,t)}function Zt(e,t){return(0,I.default)($t,e,t)}var Qt=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`div.twk-picker-color-widget`,label:e??n.field,class:t},[(0,I.default)($t,n)])}),$t=()=>{let e=0,t=0,n=0,r=0,i;function a(i=t,a=n){return{h:e*360,s:i,v:a,a:r}}function o(e=t,r=n){return Ht(a(e,r))}function s(e=t,i=n,a=r){return{...o(e,i),a}}function c(r){e=r.h/360,t=r.s,n=r.v}function l(e){c(e),r=e.a}function u(e,t){return Z(`#rgb`).fromControl(s(e,t))}function d(e,t){return Z(`#rgba`).fromControl(s(e,t))}function f(e=t,i=n,a=r){return Z(`rgba()`).fromControl(s(e,i,a))}function p(e,t){let n=Z(t||`rgb`).toControl(e);l({...Ut(n),a:n.a})}function m(e){return Z(e).fromControl(s())}function h(){let e=m(i.format),t=q(i,e);U(i.oninput,i.value,t)}function g(){let e=m(i.format),t=q(i,e);U(i.onchange,i.value,t)}function _(){return i.format?.match(/a/i)}function v(e){x(e,`r`)}function y(e){x(e,`g`)}function b(e){x(e,`b`)}function x(e,t){let n=s();n[t]=parseInt(e.target.value,10)/255,c(Ut(n)),h(),g()}function S(e){p(e.target.value,_()?`rgba`:`rgb`),h(),g()}let C=null,w;function T(e){w=`sv`,O(e.target),A(e)}function E(e){w=`h`,O(e.target),A(e)}function D(e){w=`a`,O(e.target),A(e)}function O(e){k(),C=e;let t={passive:!1};document.addEventListener(`mousemove`,A,t),document.addEventListener(`mouseup`,j,t),document.addEventListener(`touchmove`,A,t),document.addEventListener(`touchend`,j,t),document.addEventListener(`touchcancel`,j,t)}function k(){document.removeEventListener(`mousemove`,A),document.removeEventListener(`mouseup`,j),document.removeEventListener(`touchmove`,A),document.removeEventListener(`touchend`,j),document.removeEventListener(`touchcancel`,j)}function A(i){if(!C)return;i.preventDefault();let a=C.getBoundingClientRect(),o=window.pageXOffset||document.documentElement.scrollLeft,s=window.pageYOffset||document.documentElement.scrollTop,c=C.clientWidth,l=C.clientHeight,[u,d]=de(i);u=W((u-o-a.left)/c,0,1),d=W((d-s-a.top)/l,0,1),w===`sv`&&(t=u,n=1-d),w===`h`&&(e=1-u),w===`a`&&(r=u),h(),I.default.redraw()}function j(){C!=null&&(C=null,k(),g())}return{onremove:()=>{k()},oninit:e=>{i=e.attrs,p(K(i),i.format)},onupdate:e=>{i=e.attrs,p(K(i),i.format)},view:a=>{i=a.attrs,p(K(i),i.format);let o=s();return(0,I.default)(`div.twk-color-picker`,{},[(0,I.default)(`.color-picker-inputs`,(0,I.default)(`input.twk-input.input-hex[type='text']`,{value:_()?d():u(),onchange:S}),(0,I.default)(`input.twk-input.input-r[type='number']`,{min:0,max:255,step:1,value:Math.round(o.r*255),onchange:v}),(0,I.default)(`input.twk-input.input-g[type='number']`,{min:0,max:255,step:1,value:Math.round(o.g*255),onchange:y}),(0,I.default)(`input.twk-input.input-b[type='number']`,{min:0,max:255,step:1,value:Math.round(o.b*255),onchange:b})),(0,I.default)(`.color-picker-panel`,(0,I.default)(`.color-picker-sv`,{tabindex:0,onmousedown:T,ontouchstart:T,style:{"background-color":`${f(1,1,1)}`,"user-select":`none`}},(0,I.default)(`.color-picker-sv-bg`,{style:{background:`linear-gradient(to right,rgba(255,255,255,1),rgba(255,255,255,0))`,"user-select":`none`,"pointer-events":`none`}}),(0,I.default)(`.color-picker-sv-bg`,{style:{background:`linear-gradient(to top,rgba(0,0,0,1),rgba(0,0,0,0))`,"user-select":`none`,"pointer-events":`none`}}),(0,I.default)(`.color-picker-sv-cursor`,{style:{"user-select":`none`,"pointer-events":`none`,"background-color":`${f(e,t,1)}`,left:`${t*100}%`,top:`${(1-n)*100}%`}})),(0,I.default)(`.color-picker-h`,{tabindex:0,onmousedown:E,ontouchstart:E,style:{"user-select":`none`,background:`linear-gradient(to right, #f00 0, #f0f 17% , #00f 33% , #0ff 50% , #0f0 67% , #ff0 83% , #f00 100%)`}},(0,I.default)(`.color-picker-h-cursor`,{style:{"user-select":`none`,"pointer-events":`none`,"background-color":`${f(1,1,1)}`,position:`absolute`,left:`${(1-e)*100}%`}})),_()?(0,I.default)(`.color-picker-a`,{tabindex:0,onmousedown:D,ontouchstart:D,style:{"user-select":`none`}},(0,I.default)(`.color-picker-a-bg`,{style:{background:`linear-gradient(to right, ${f(t,n,0)}, ${f(t,n,1)})`}}),(0,I.default)(`.color-picker-a-cursor`,{style:{"user-select":`none`,"pointer-events":`none`,position:`absolute`,left:`${r*100}%`}})):null)])}}};function en(e,t){return(0,I.default)(nn,e,t)}function tn(e,t){return(0,I.default)(rn,e,t)}var nn=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`div.twk-color-widget`,label:e??n.field,class:t},[(0,I.default)(rn,n)])}),rn=()=>{let e,t=!1,n,r,i=Z(`rgba()`);function a(t){e=t.attrs,r=K(e),n=i.fromControl(Z(e.format).toControl(r))}function o(){t=!t}function s(t,n){q(e,n),e.oninput?.(e.value,n)}function c(t,n){q(e,n),e.onchange?.(e.value,n)}function l(){return z(r)?r:B(r)?`0x`+ue(r.toString(16),8,`0`):le(r)?r.map(e=>e<1&&e>0?e.toFixed(2):e).join(` , `):H(r)?Object.keys(r).map(e=>{let t=r[e];return`${e}: ${t<1&&t>0?t.toFixed(2):t}`}).join(` `):r==null?`null`:`?`}return{oninit:a,onbeforeupdate:a,view:({attrs:{value:e,field:r,binding:i,format:a}})=>[(0,I.default)(`div.twk-color-input`,{style:{"--twk-color-value":n}},(0,I.default)(`button.twk-btn[type='button']`,{onclick:o},l()||`?`),t?I.default.fragment({},[Zt({binding:i,value:e,field:r,format:a,oninput:s,onchange:c})]):null)]}};function an(e,t){return(0,I.default)(sn,e,t)}function on(e,t){return(0,I.default)(sn,e,t)}var sn=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`label.twk-input-widget`,label:e??n.field,class:t},(0,I.default)(cn,n))}),cn=()=>{let e;function t(t){let n=t.target.value;q(e,n),(t.type===`input`?e.oninput:e.onchange)?.(e.value,n)}return{view:n=>(e=n.attrs,(0,I.default)(`div.twk-input`,{},[n.attrs.slotBefore?(0,I.default)(`span`,{},n.attrs.slotBefore):null,(0,I.default)(`input`,{type:e.type||`text`,value:K(e),oninput:t,onchange:t,placeholder:e.placeholder,disabled:e.readonly}),n.attrs.slotAfter?(0,I.default)(`span`,{},n.attrs.slotAfter):null]))}};function ln(e,t){return(0,I.default)(un,e,t)}var un=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`label.twk-matrix-widget`,label:e??n.field,class:t},[(0,I.default)(fn,n)])});function dn(e,t){return(0,I.default)(fn,e,t)}var fn=()=>{let e;function t(t,n,r){let i=K(e)||{};i[n]=r,q(e,i),(t===`input`?e.oninput:e.onchange)?.(e.value,i)}function n(t,n){let r=[];n=e.rowMajor?t:n,t=e.rowMajor?n:t;for(let e=0;e<n;e++)for(let i=0;i<t;i++)r.push(i*n+e);return r}return{view:r=>{e=r.attrs;let i=e.cols??1,a=e.rows??1,o=K(e);return(0,I.default)(`div.twk-matrix-input`,{style:{display:`grid`,gridTemplateColumns:`repeat(${i}, auto)`}},n(a,i).map(n=>Ot({min:e.min,max:e.max,step:e.step,value:o,field:n,readonly:e.readonly,oninput:(e,r)=>t(`input`,n,r),onchange:(e,r)=>t(`change`,n,r)})))}}},pn=[0,1],mn=[`x`,`y`];function hn(e,t){return(0,I.default)(gn,e,t)}var gn=()=>{let e,t,n=pn,r=pn,i=0,a=0,o=0,s=0,c,l,u,d;function f(f){d=f.attrs;let p=d.keys||mn;e=p[0],t=p[1];let m=K(d)??{[e]:i,[t]:a};u=d.snap,i=m[e]||0,a=m[t]||0,n=d.rangeX||n,r=d.rangeY||r,o=(i-n[0])/(n[1]-n[0]),s=(a-r[0])/(r[1]-r[0]);let h=d.reset;h&&(c=(h[0]-n[0])/(n[1]-n[0]),l=(h[1]-r[0])/(r[1]-r[0]))}function p(){i=n[0]+(n[1]-n[0])*o,a=r[0]+(r[1]-r[0])*s,u>0&&(i=Math.floor(i/u)*u,a=Math.floor(a/u)*u,o=(i-n[0])/(n[1]-n[0]),s=(a-r[0])/(r[1]-r[0]))}function m(n){p();let r=K(d)??{[e]:i,[t]:a};r[e]=i,r[t]=a,U(n===`input`?d.oninput:d.onchange,d,r)}function h(e){g.activate(e)}let g=pe({onMove:e=>{e.preventDefault();let t=g.target,n=t.getBoundingClientRect(),r=window.pageXOffset||document.documentElement.scrollLeft,i=window.pageYOffset||document.documentElement.scrollTop,a=t.clientWidth,c=t.clientHeight,[l,u]=de(e);o=W((l-r-n.left)/a,0,1),s=W((u-i-n.top)/c,0,1),m(`input`),I.default.redraw()},onEnd:()=>{g.deactivate(),c!=null&&l!=null&&(o=c,s=l,m(`input`)),m(`change`),I.default.redraw()}});return{onremove:g.deactivate,oninit:f,onupdate:f,view:e=>(f(e),J({label:d.label,class:G(`twk-point`,d.class)},(0,I.default)(`.point-area`,{tabindex:0,onmousedown:h,ontouchstart:h},(0,I.default)(`.point-x-axis`,{style:{"pointer-events":`none`,position:`absolute`,left:0,right:0,top:`${s*100}%`,height:`1px`}}),(0,I.default)(`.point-y-axis`,{style:{"pointer-events":`none`,position:`absolute`,left:`${o*100}%`,top:0,bottom:0,width:`1px`}}),(0,I.default)(`.point-cursor`,{style:{"pointer-events":`none`,left:`${o*100}%`,top:`${s*100}%`,position:`absolute`,width:`11px`,height:`11px`,"margin-top":`-5px`,"margin-left":`-5px`,border:`1px solid white`,"border-radius":`5px`,"box-shadow":`0px 0px 2px 1px rgba(0, 0, 0, 0.75)`}}))))}};function _n(e){let t=[];for(let n of e){if(z(n)||B(n)){t.push({value:n,label:String(n)});continue}if(`value`in n){t.push(n);continue}}return t}function vn(e){let t=[];for(let n of e)z(n)||B(n)||n==null?t.push({value:n,label:String(n)}):`value`in n?t.push(n):`options`in n&&t.push({label:n.label,disabled:n.disabled,options:Array.isArray(n.options)?_n(n.options):yn(n.options)});return t}function yn(e){return Object.keys(e).sort().map(t=>({value:e[t],label:t}))}function bn(e){let t=e.attrs.options;return t?Array.isArray(t)?vn(t):yn(t):[]}function xn(e,t){return(0,I.default)(Sn,e,t)}var Sn=()=>{let e,t;function n(){let n=K(e),r=0;for(let e of t)if(`options`in e)for(let t of e.options){if(t.value===n)return r;r++}else{if(e.value===n)return r;r++}}function r(e){let n=0;for(let r of t)if(`options`in r)for(let t of r.options){if(n===e)return t.value;n+=1}else{if(n===e)return r.value;n+=1}return null}function i(t){let n=t.target,i=r(n.selectedIndex),a=q(e,i);e.onchange?.(e,a)}return{view:r=>(e=r.attrs,t=bn(r),J({tagName:`label.twk-select`,label:e.label??e.field,class:e.class},(0,I.default)(`select.twk-select-input`,{selectedIndex:n(),onchange:i,disabled:e.readonly},t.map(e=>`options`in e?(0,I.default)(`optgroup`,{disabled:!!e.disabled,label:e.label||``},e.options.map(Cn)):Cn(e)))))}};function Cn(e){return(0,I.default)(`option`,{value:e.value,label:e.label,disabled:!!e.disabled},e.label||``)}function wn(e,t){return(0,I.default)(Tn,e,t)}var Tn=()=>{let e=1,t=0,n=0,r=!1,i,a=null,o,s;function c(){return Dn(K(o)||On(e,t,n))}function l(i){o=i.attrs;let a=c();e=a.radius??1,t=a.azimuth??0,n=a.polar??0,r=n>Math.PI/2}function u(r){let i=On(e,t,n);q(o,i),U(r===`input`?o.oninput:o.onchange,o.value,i)}function d(e){return a=`pol`,p.activate(e),e.target.focus(),!1}function f(e){return a=`azi`,p.activate(e),e.target.focus(),!1}let p=pe({onStart:e=>{},onMove:e=>{let o=fe(e,i),s=o.normalizedX-.5,c=o.normalizedY-.5;if(a===`azi`)t=Math.atan2(c,s),t<0&&(t+=2*Math.PI);else if(a===`pol`){let e=[Math.cos(t),Math.sin(t)],i=[s,c],a=(e[0]*i[0]+e[1]*i[1])/Math.sqrt(e[0]*e[0]+e[1]*e[1]);n=Math.PI*W(a,0,.5),r&&(n=Math.PI-n)}u(`input`),I.default.redraw()},onEnd:e=>{p.deactivate(),a=null,u(`change`),I.default.redraw()}});return{onremove:()=>{p.deactivate()},oninit:l,onupdate:l,view:()=>(s=On(e,t,n,s),J({tagName:`label.twk-spherical`,label:o.label??o.field,class:o.class,style:{"--azimuth-value":`${En(t)}`,"--polar-value":`${En(n)}`}},[(0,I.default)(`div.twk-spherical-label`,{},`x: ${s.x.toFixed(2)} y: ${s.y.toFixed(2)} z: ${s.z.toFixed(2)}`),(0,I.default)(`div.twk-spherical-pane`,{oncreate:e=>i=e.dom,class:G({"is-dragging":!!a}),style:{aspectRatio:`1`,display:`flex`,"align-items":`center`,"justify-content":`center`,position:`relative`}},(0,I.default)(`div.twk-spherical-arm`,{onmousedown:d,ontouchstart:d,tabIndex:0,style:{width:`50%`,display:`flex`,justifyContent:`end`,alignItems:`center`,transform:`translateX(50%) rotate(${t}rad)`,transformOrigin:`left center`}},(0,I.default)(`div.twk-spherical-knob`,{onmousedown:f,ontouchstart:f,tabIndex:0,style:{aspectRatio:`1`,transform:`translateX(100%)`}})))]))}};function En(e){return 180/Math.PI*e}function Dn(e){let t=e?.x??0,n=e?.y??0,r=e?.z??0,i=Math.sqrt(t*t+n*n+r*r)||1;return{radius:i,azimuth:Math.atan2(r,t)||0,polar:Math.acos(n/i)||0}}function On(e,t,n,r){let i=Math.sin(n);return r||={},r.x=e*Math.cos(t)*i,r.y=e*Math.cos(n),r.z=e*Math.sin(t)*i,r}function kn(e,t){return(0,I.default)(jn,e,t)}function An(e,t){return(0,I.default)(Mn,e,t)}var jn=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`label.twk-string-widget`,label:e??n.field,class:t},[(0,I.default)(Mn,n)])}),Mn=()=>{let e;function t(t){let n=t.target.value;q(e,n),(t.type===`input`?e.oninput:e.onchange)?.(e.value,n)}return{view:n=>{e=n.attrs;let r=!e.readonly,i=K(e);return(0,I.default)(`div.twk-input.twk-string-input`,{class:G({"twk-input-readonly":!!e.readonly})},[e.slotStart??null,r?null:(0,I.default)(`div.twk-input-value`,i),r?(0,I.default)(e.rows?`textarea`:`input[type='text']`,{value:i,oninput:t,onchange:t,placeholder:e.placeholder,disabled:e.readonly,rows:e.rows}):null,e.slotEnd??null])}}};function Nn(e,t){return(0,I.default)(Fn,e,t)}function Pn(e,t){return(0,I.default)(Ln,e,t)}var Fn=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`label.twk-vector-widget`,label:e??n.field,class:t},[(0,I.default)(Ln,n)])}),In=[`x`,`y`,`z`],Ln=()=>{function e(e,t,n,r){let i=K(r)||{};i[t]=isNaN(n)?null:n,q(r,i),(e===`input`?r.oninput:r.onchange)?.(r.value,i,t)}return{view:({attrs:t})=>{let n=t.keys||In,r=t.cols||n.length,i=K(t);return(0,I.default)(`div.twk-vector-input`,{style:{display:`grid`,gridTemplateColumns:`repeat(${r}, 1fr)`}},n.map(n=>Ot({min:t.min,max:t.max,step:t.step,value:i,field:n,readonly:t.readonly,slotBefore:t.unlabeled?null:(0,I.default)(`span.twk-color-muted`,n),oninput:(r,i)=>e(`input`,n,i,t),onchange:(r,i)=>e(`change`,n,i,t),placeholder:n})))}}};function Rn(e,t){return(0,I.default)(zn,e,t)}var zn=()=>({view:({attrs:{label:e,class:t,...n}})=>J({tagName:`div.twk-Bitmask-widget`,label:e??n.field,class:t},[(0,I.default)(Vn,n)])});function Bn(e,t){return(0,I.default)(Vn,e,t)}var Vn=()=>{let e;function t(){return e.bitCount||32}function n(t){let n=K(e);n^=1<<t,r(n)}function r(t){q(e,t),e.oninput?.(e.value,t),e.onchange?.(e.value,t)}function i(e,t){return(e&1<<t)!=0}function a(t){if(e.names){for(let[n,r]of Object.entries(e.names))if(r===1<<t)return n}return null}return{view:r=>{e=r.attrs;let o=t(),s=K(e);return(0,I.default)(`div.twk-bitmask-input`,{},Array.from({length:o},(e,t)=>(0,I.default)(`label.twk-bitmask-row`,{tabindex:0,class:G({"twk-bitmask-active":i(s,t)}),onclick:()=>n(t)},[(0,I.default)(`div.twk-bitmask-indicator`,{}),(0,I.default)(`div.twk-bitmask-name`,{},a(t)||``),(0,I.default)(`div.twk-bitmask-bit`,{},`bit ${t}`),(0,I.default)(`div.twk-bitmask-value`,{},`0x`+String((2**t).toString(16)).padStart(Math.ceil(o/4),`0`))])))}}};function Hn(e,t){return(0,I.default)(Wn,e,t)}function Un(e,t){return(0,I.default)(Gn,e,t)}var Wn=()=>({view:({attrs:e})=>J({tagName:`label.twk-input.twk-input-readonly`,label:e.label??e.field,class:e.class},(0,I.default)(Gn,e))}),Gn=()=>{let e,t,n;return{oncreate({dom:r}){e=r,t=setInterval(()=>{let t=K(n)??``;e.textContent=String(t)},n.interval??500)},onremove(){clearInterval(t)},view:e=>(n=e.attrs,(0,I.default)(`div.twk-poll`,{}))}},Kn=class e{static build(t){let n=new e;return t(n),n.close()}schema=[];close(){let e=this.schema;return this.schema=[],e}group=qn(this,ge);flex=$(this,ye);grid=$(this,ce);tabs=$(this,Xe);split=$(this,Ke);splitContent=$(this,Ge);section=$(this,we);sectionHeader=$(this,Te);sectionFooter=$(this,Ee);bar=$(this,R);barStart=$(this,ie);barEnd=$(this,ae);barContent=$(this,oe);bool=Q(this,Bt);string=Q(this,jn);scalar=Q(this,kt);vector=Q(this,Fn);matrix=Q(this,un);select=Q(this,Sn);angle=Q(this,Nt);bitmask=Q(this,zn);poll=Q(this,Wn);color=Q(this,nn);colorPicker=Q(this,Qt);boolInput=Q(this,Vt);stringInput=Q(this,Mn);scalarInput=Q(this,At);vectorInput=Q(this,Ln);matrixInput=Q(this,fn);selectInput=Q(this,Sn);angleInput=Q(this,Lt);bitmaskInput=Q(this,Vn);pollInput=Q(this,Gn);colorInput=Q(this,rn);colorPickerInput=Q(this,$t);point=Q(this,gn);spherical=Q(this,Tn);button(e,t={}){this.add(it,t,e)}image(e){this.add(Tt,e)}divider(e){this.add(ot,{},e)}tree(e){this.add(et,e)}graph(e){this.add(vt,e)}widget(e,t){this.add(Et,{label:e},t)}pre(e,t){this.add(Et,{label:e,style:{whiteSpace:`pre`}},t)}view(e){this.add({view:e})}control(e,t){this.add(Et,e,t)}add(e,t,n){if(this.schema)this.schema.push({component:e,attributes:t,children:n});else throw Error(`Cannot use control builder after it was closed`)}};function qn(e,t){return function(){let{options:n,children:r}=Jn(e,arguments);e.add(t,n,r)}}function Q(e,t){return function(){e.add(t,Yn(arguments))}}function $(e,t){return function(){let{options:n,children:r}=Xn(e,arguments);e.add(t,n,r)}}function Jn(e,t){let n=null,r={},i=null;for(let e=0;e<t.length;e++){let a=t[e];z(a)?n=a:H(a)?r=a:V(a)&&(i=a)}n&&(r.title=n);let a=[];if(i){let t=e.schema;e.schema=a,i(e),e.schema=t}return{options:r,children:a}}function Yn(e){let t;return e.length===1?e[0]||{}:(e.length>1?(t=e[2]||{},t.value=e[0],t.field=e[1],t.label===void 0&&(t.label=String(t.field||``))):t={},t)}function Xn(e,t){let n=null,r=null;if(!t.length)return{options:{},children:[]};for(let e=0;e<t.length;e++){let i=t[e];H(i)?n=i:V(i)&&(r=i)}let i=[];if(r){let t=e.schema;e.schema=i,r(e),e.schema=t}return{options:n||{},children:i}}e.AngleInputComponent=Lt,e.AngleWidgetComponent=Nt,e.BarComponent=R,e.BarContentComponent=oe,e.BarEndComponent=ae,e.BarStartComponent=ie,e.BitmaskInputComponent=Vn,e.BitmaskWidgetComponent=zn,e.BoolInputComponent=Vt,e.BoolWidgetComponent=Bt,e.Builder=Kn,e.ButtonComponent=it,e.ColorComponent=rn,e.ColorPicker=$t,e.ColorPickerWidgetComponent=Qt,e.ColorWidgetComponent=nn,e.DialogComponent=nt,e.Divider=ot,e.FlexComponent=ye,e.GraphComponent=vt,e.GridComponent=ce,e.GroupComponent=ge,e.ImageComponent=Tt,e.InputComponent=cn,e.InputWidgetComponent=sn,e.MatrixInputComponent=fn,e.MatrixWidgetComponent=un,e.PointComponent=gn,e.PollComponent=Gn,e.PollWidgetComponent=Wn,e.ScalarInputComponent=At,e.ScalarWidgetComponent=kt,e.SectionComponent=we,e.SectionContentComponent=De,e.SectionFooterComponent=Ee,e.SectionHeaderComponent=Te,e.SelectComponent=Sn,e.SphericalComponent=Tn,e.SplitComponent=Ke,e.SplitContentComponent=Ge,e.StringInputComponent=Mn,e.StringWidgetComponent=jn,e.TabComponent=Je,e.TabsComponent=Xe,e.TreeComponent=et,e.VectorInputComponent=Ln,e.VectorWidgetComponent=Fn,e.WidgetComponent=Et,e.binding=Re,e.degToRadAdapter=It,e.getColorAdapter=Z,e.getControlValue=K,e.getRawValue=Oe,e.h=ze,e.hsv2rgb=Ht,e.isVnode=Ne,e.labeledFn=Le,e.mapChildren=Pe,e.mountUi=Be,e.radToDegAdapter=Ft,e.redrawUi=He,e.renderChildren=Fe,e.rgb2hsv=Ut,e.setControlValue=q,e.setRawValue=ke,e.uiAngleInput=Mt,e.uiAngleWidget=jt,e.uiBar=L,e.uiBarContent=re,e.uiBarEnd=ne,e.uiBarStart=te,e.uiBitmaskInput=Bn,e.uiBitmaskWidget=Rn,e.uiBoolInput=zt,e.uiBoolWidget=Rt,e.uiButton=rt,e.uiColor=tn,e.uiColorPicker=Zt,e.uiColorPickerWidget=Xt,e.uiColorWidget=en,e.uiDialog=tt,e.uiDivider=at,e.uiFlex=ve,e.uiGraph=_t,e.uiGrid=se,e.uiGroup=he,e.uiImage=wt,e.uiInput=on,e.uiInputWidget=an,e.uiMatrixInput=dn,e.uiMatrixWidget=ln,e.uiPoint=hn,e.uiPoll=Un,e.uiPollWidget=Hn,e.uiScalarInput=Ot,e.uiScalarWidget=Dt,e.uiSection=be,e.uiSectionContent=Ce,e.uiSectionFooter=Se,e.uiSectionHeader=xe,e.uiSelect=xn,e.uiSpherical=wn,e.uiSplit=Ue,e.uiSplitContent=We,e.uiString=An,e.uiStringWidget=kn,e.uiTabs=Ye,e.uiTree=Ze,e.uiVectorInput=Pn,e.uiVectorWidget=Nn,e.uiWidget=J,e.unmountUi=Ve});
32
+ `;function ht(e,t,n){let r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS))throw e.getShaderInfoLog(r);return r}function gt(e){let t=e.createProgram();return e.attachShader(t,ht(e,e.VERTEX_SHADER,pt)),e.attachShader(t,ht(e,e.FRAGMENT_SHADER,mt)),e.linkProgram(t),e.useProgram(t),t}function _t(e,t){return(0,F.default)(vt,e,t)}var vt=()=>{let e=null,t=null,n=null,r,i={rows:[]},a=[],o=null;function s(t){n=t,e?.observe(n),l(),o=setInterval(u,250)}function c(){e?.disconnect(),t!==null&&(cancelAnimationFrame(t),t=null),o!==null&&(clearInterval(o),o=null)}function l(){n?.isConnected?(r.update(),r.render(),t=requestAnimationFrame(l)):c()}function u(){bt(r,a)}function d({dom:t}){c();let n=t;if(!(n instanceof HTMLCanvasElement)){console.error(`Graph component must be a canvas element`);return}e=new ResizeObserver(e=>{let t=yt(e);t&&r&&r.resize(t.width,t.height)}),r=ft(n);for(let e=0;e<i.rows.length;e++)i.rows[e].color||=Ct(e);r.configure(i),s(n)}function f(){c()}function p(e){i={...e.attrs,rows:(e.attrs.rows||[]).map((e,t)=>({...e,name:e.name||`Row ${t+1}`,color:e.color||Ct(t)}))}}return{oninit:p,onupdate:p,onremove:()=>{c()},view:({attrs:{rowHeight:e,collapsed:t}})=>[(0,F.default)(`canvas.twk-graph`,{style:`width: 100%; height: ${(e||50)*(t?1:i.rows.length)*devicePixelRatio}px`,oncreate:d,onremove:f}),(0,F.default)(`table.twk-graph`,{},[(0,F.default)(`tbody`,{},i.rows.map((e,t)=>(0,F.default)(`tr`,{oncreate:({dom:e})=>a[t]=e},[(0,F.default)(`td`,{style:e.noGraph?{}:`color: ${e.color}`,title:e.name},[(0,F.default)(`span`,e.name)]),(0,F.default)(`td.twk-stats`,{title:`min / max / avg`},[]),(0,F.default)(`td.twk-current`,{})])))])]}};function yt(e){let t=e[0];return t.devicePixelContentBoxSize?{width:t.devicePixelContentBoxSize[0].inlineSize,height:t.devicePixelContentBoxSize[0].blockSize}:t.contentBoxSize?{width:Math.round(t.contentBoxSize[0].inlineSize*devicePixelRatio),height:Math.round(t.contentBoxSize[0].blockSize*devicePixelRatio)}:null}function bt(e,t){if(e)for(let n=0;n<t.length;n++){let r=t[n],i=e.sampler(n);if(!i||!r)continue;let a=r.querySelector(`.twk-current`),o=r.querySelector(`.twk-stats`);if(a&&(a.textContent=xt(i.value,i.fractionDigits)),o)if(i.noGraph)o.textContent=``;else{let e=i.fractionDigits;o.textContent=`${xt(i.minSeen,e)}/${xt(i.maxSeen,e)}/${xt(i.avg,e)}`}}}function xt(e,t){if(e==null)return`n/a`;if(t!=null)return e.toFixed(t);let n=Math.abs(e);return n<2**-52?`0`:n<1?e.toFixed(3):n<10?e.toFixed(2):n<100?e.toFixed(1):e.toFixed(0)}var St=[`#1F77B4`,`#FF7F0E`,`#2CA02C`,`#D62728`,`#9467BD`,`#8C564B`,`#E377C2`,`#7F7F7F`,`#5DA5DA`,`#F17CB0`,`#60BD68`,`#B2912F`,`#B276B2`,`#DECF3F`,`#F15854`,`#4D4D4D`,`#17BECF`,`#AEC7E8`,`#FFBB78`,`#98DF8A`];function Ct(e){return St[e%St.length]}function wt(e,t){return(0,F.default)(Tt,e,t)}var Tt=()=>{let e,t,n,r,i,a,o,s=0,c,l;function u(){return t!==c||e!==l}function d(e){return z(e)?`${e}px`:e}function f(e){return String(e||``)}function p(o){e=typeof o.src==`string`?o.src:``,t=o.src,n=o.render,i=f(o.aspect),r=d(o.width),a=o.fit||`fit`}async function m(){if(!o||!u())return;if(c=t,l=e,!n){o.src=e;return}s++;let r=s;o.classList.add(`twk-loading`);let i=await n(t);if(r!==s){i.close();return}await h(o,i),o.classList.remove(`twk-loading`)}async function h(e,t){let n=new OffscreenCanvas(t.width,t.height);n.getContext(`2d`).drawImage(t,0,0);let r=await n.convertToBlob({type:`image/png`});t.close();let i=URL.createObjectURL(r);URL.revokeObjectURL(e.src),e.src=i}function g(e){let{src:t,render:n,aspect:r,width:i,fit:a,...o}=e;return o}return{oninit({attrs:e}){p(e)},onbeforeupdate({attrs:e},t){p(e)},onupdate(){m()},view:({attrs:t})=>(0,F.default)(`img.twk-image`,{src:e,style:{width:r,aspectRatio:i,objectFit:a,...t.style||{}},onremove:()=>{o=null},oncreate:({dom:e})=>{o=e,m()},...g(t)})}},Et=()=>({view:e=>{let{label:t,tip:n,tagName:r,...i}=e.attrs;return[(0,F.default)(`${r||`div`}.twk-widget`,{...i},t===!1?null:(0,F.default)(`div.twk-widget-label`,{},t),e.children)]}});function J(e,t){return(0,F.default)(Et,e,t)}function Dt(e,t){return(0,F.default)(kt,e,t)}function Ot(e,t){return(0,F.default)(At,e,t)}var kt=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||`div`}.twk-scalar-widget`,label:t??r.field,class:n},[(0,F.default)(At,r)])}),At=()=>{let e,t,n,r,i,a,o,s=!1,c=!1,l=!1,u=!1,d;function f(o){(!d||o.attrs.decimals!==a.decimals)&&(d=new Intl.NumberFormat(`en-US`,{minimumFractionDigits:o.attrs.decimals??1,maximumFractionDigits:o.attrs.decimals??1,useGrouping:!1})),a=o.attrs,e=a.min,t=a.max,n=a.step,u=!!a.range,i=K(a),r=!!a.readonly,s=e!=null&&t!=null,c=n!=null,l=s||c}function p(n,r){i=isNaN(r)?null:U(r,e,t),q(a,i),(n===`input`?a.oninput:a.onchange)?.(a.value,i),F.default.redraw()}function m(){o=!0}function h(){o=!1}function g(e){let t=e.target;p(`input`,parseFloat(t.value))}function _(e){let t=e.target;p(`change`,parseFloat(t.value))}function v(r){return r=U(r,e,t),n!=null&&(r=Math.round(r/n)*n),parseFloat(r.toFixed(5))}function y(e){!l||r||document.activeElement!==e.target&&C.activate(e)}let b,x,S=!1,C=pe({onStart:e=>{e.preventDefault(),document.activeElement?.blur(),S=!1,b=i,x=G(e,C.target)},onMove:r=>{r.preventDefault(),document.body.classList.add(`twk-dragging`),S=!0,C.target?.blur();let i=G(r,C.target),a=(x.x-i.x)/Math.max(i.width,200),o=b;s?o-=a*(t-e):c&&(o-=Math.round(a*100)*n),p(`input`,v(o))},onEnd:e=>{document.body.classList.remove(`twk-dragging`);let t=C.target;S?p(`change`,i):t.focus(),C.deactivate()}});function w(e){if(!o)return;e.preventDefault();let t=(e.ctrlKey?.5:1)*U(e.deltaY,-1,1),r=(n||.2)*t;r&&p(`change`,v((i||0)-r))}return{onremove:()=>{C.deactivate()},oninit:f,onbeforeupdate:f,view:a=>{f(a);let l=s?(i-e)/(t-e):NaN;return(0,F.default)(`div.twk-input.twk-scalar-input`,{style:s?`--twk-scalar-value: ${l}`:``,class:W({"twk-input-readonly":r,"twk-scalar-dragable":!r&&(s||c),"twk-scalar-range":u,"twk-scalar-dragging":!!C.target},a.attrs.class)},[a.attrs.slotBefore?(0,F.default)(`span`,{},a.attrs.slotBefore):null,(0,F.default)(`input`,{type:o?`number`:`text`,min:e,max:t,step:n,value:o?i:d.format(i),onfocus:m,onblur:h,oninput:g,onchange:_,onwheel:w,onmousedown:y,ontouchstart:y,placeholder:void 0,disabled:r}),a.attrs.unit?(0,F.default)(`span.twk-color-muted`,{},a.attrs.unit):null,a.attrs.slotAfter?(0,F.default)(`span`,{},a.attrs.slotAfter):null])}}};function jt(e,t){return(0,F.default)(Nt,e,t)}function Mt(e,t){return(0,F.default)(Lt,e,t)}var Nt=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||`div`}.twk-angle-widget`,label:t??r.field,class:n},[(0,F.default)(Lt,r)])}),Pt=180/Math.PI,Y=Math.PI/180,Ft={toControl:e=>e*Pt,fromControl:e=>e*Y},It={toControl:e=>e*Y,fromControl:e=>e*Pt},Lt=()=>{let e=0,t=!1,n=[0,0],r,i,a,o,s;function c(e){return i!=null&&a!=null?i<=a?e<i?e=i:e>a&&(e=a):e>=i||e<=a||(e=Math.abs(e-i)<Math.abs(e-a)?i:a):i==null?a!=null&&e>a&&(e=a):e<i&&(e=i),o!=null&&(e=Math.round(e/o)*o),e}function l(e){return e%=360,e<0&&(e+=360),e}function u(t){s=t.attrs,i=s.min,a=s.max,o=s.step,i=i==null?null:l(i)*Y,a=a==null?null:l(a)*Y,o=o==null?null:l(o)*Y,e=K(s)??e,s.degree&&(e*=Y),f()}function d(t){f();let n=s.degree?e*Pt:e;q(s,n),H(t===`input`?s.oninput:s.onchange,s.value,n)}function f(){n[0]=Math.cos(e),n[1]=Math.sin(e)}let p,m=pe({onStart:e=>{let t=G(e);p=[-(t.x-t.width/2),-(t.y-t.height/2)]},onMove:n=>{n.preventDefault();let i=G(n,r,p),a=i.normalizedX-.5,o=i.normalizedY-.5;t&&(e=Math.atan2(a,-o),e<0&&(e+=2*Math.PI)),e=c(e),d(`input`),F.default.redraw()},onEnd:()=>{m.deactivate(),t=!1,d(`change`),F.default.redraw()}});function h(e){return e<0&&(e+=360),e%360}return{onremove:()=>{m.deactivate()},oninit:e=>{u(e)},onupdate:e=>{u(e)},view:({attrs:{...n}})=>(0,F.default)(`div.twk-angle-input`,{style:{"--angle-value":`${h(e*Pt)}`}},[Ot({unit:s.degree?`°`:`rad`,range:!0,...n,slotAfter:(0,F.default)(`span.twk-flex-row`,[(0,F.default)(`span.twk-color-dim`,`/`),(s.degree?e:e*Pt).toFixed(1),(0,F.default)(`span.twk-color-dim`,s.degree?`rad`:`°`)])}),(0,F.default)(`div.twk-angle-pane`,{oncreate:e=>r=e.dom,class:W({"is-dragging":t}),style:{aspectRatio:`1`,display:`flex`,"align-items":`center`,"justify-content":`center`,position:`relative`}})])}};function Rt(e,t){return(0,F.default)(Bt,e,t)}function zt(e,t){return(0,F.default)(Vt,e,t)}var Bt=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e}.twk-bool-widget`,label:t??r.field,class:n},[(0,F.default)(Vt,r)])}),Vt=()=>{let e;function t(t){let n=t.target.checked;q(e,n),e.oninput?.(e.value,n),e.onchange?.(e.value,n)}return{view:n=>{e=n.attrs;let r=K(e)===!0,i=e.align===`end`;return(0,F.default)(`div.twk-bool-input`,{class:W({"twk-align-start":!i,"twk-align-end":!!i,"twk-bool-true":r,"twk-bool-false":!r})},[e.slotBefore,e.readonly?r?e.slotTrue||(0,F.default)(`span`,`true`):e.slotFalse||(0,F.default)(`span`,`false`):(0,F.default)(`input`,{class:W({"twk-toggle":!!e.toggle,"twk-check":!e.toggle}),type:`checkbox`,checked:r,onchange:t}),e.slotAfter,n.children])}}};function Ht(e){let t=e.h%360,n=U(e.s,0,1),r=U(e.v,0,1),i=r*n,a=i*(1-Math.abs(t/60%2-1)),o=r-i,s={r:0,g:0,b:0};return t<60?(s.r=i,s.g=a,s.b=0):t<120?(s.r=a,s.g=i,s.b=0):t<180?(s.r=0,s.g=i,s.b=a):t<240?(s.r=0,s.g=a,s.b=i):t<300?(s.r=a,s.g=0,s.b=i):(s.r=i,s.g=0,s.b=a),s.r+=o,s.g+=o,s.b+=o,s}function Ut(e){let t=e.r,n=e.g,r=e.b,i=Math.max(t,n,r),a=i-Math.min(t,n,r),o=0,s=0;return a!==0&&(o=a/i,i===t?(s=(n-r)/a+(n<r?6:0),s=s%6*60):i===n?(s=(r-t)/a+2,s*=60):(s=(t-n)/a+4,s*=60)),{h:s,s:o,v:i}}var Wt=class{constructor(e,t){this.components=e,this.normalized=t}toControl(e){e||=[];let t={r:0,g:0,b:0,a:1};return this.components.forEach((n,r)=>{t[n]=(e[r]||0)/(this.normalized?1:255)}),t}fromControl(e){return this.components.map(t=>(this.normalized?e[t]:Math.round(e[t]*255))||0)}},Gt=class{components=[`r`,`g`,`b`,`a`];constructor(e){this.components=e}toControl(e){e||=`rgba(0, 0, 0)`;let t={r:0,g:0,b:0,a:1},n=e.replace(/[rgba\(\)]/gi,``).split(/,\s*?/gi).map(Number);return this.components.forEach((e,r)=>{t[e]=(n[r]||0)/(e===`a`?1:255)}),t}fromControl(e){return this.components.join(``)+`(`+this.components.map(t=>t===`a`?e[t]:Math.round(e[t]*255)).join(`, `)+`)`}},Kt=class{constructor(e,t=`#`){this.components=e,this.prefix=t}toControl(e){e||=`#000`;let t={r:0,g:0,b:0,a:1},n=e.match(/[0-9a-f]+/i)?.[0];return n==null?t:(n.length===this.components.length&&(n=n.split(``).map(e=>`${e}${e}`).join(``)),this.components.forEach((e,r)=>{t[e]=parseInt(n.substr(r*2,2),16)/255}),t)}fromControl(e){return this.prefix+this.components.map(t=>de(Math.round(e[t]*255).toString(16),2,`0`)).join(``)}},qt=class{componentsRev;constructor(e){this.components=e,this.componentsRev=e.slice().reverse()}toControl(e){e||=0;let t={r:0,g:0,b:0,a:1};return this.components.forEach((n,r)=>{t[n]=(e>>r*8&255)/255}),t}fromControl(e){let t=this.componentsRev.map(t=>de(Math.round(e[t]*255||0).toString(16),2,`0`)).join(``);return parseInt(`0x`+t,16)}},Jt=[`r`,`g`,`b`,`a`],Yt=class{constructor(e,t){this.components=e,this.normalized=t}toControl(e){e||={};let t={r:0,g:0,b:0,a:1};return this.components.forEach((n,r)=>{t[Jt[r]]=(e[n]||0)/(this.normalized?1:255)}),t}fromControl(e){let t={};return this.components.forEach((n,r)=>{t[n]=(this.normalized?e[Jt[r]]:Math.round(e[n]*255))||0}),t}},X={};function Z(e=`rgb()`){if(e in X)return X[e];{let t=e.match(/^\[(n?)\]([rgba]+)?$/i);if(t){let n=!!t[1];return X[e]=new Wt((t[2]||`rgba`).toLowerCase().split(``),n),X[e]}}{let t=e.match(/^\{(n?)\}([rgbaxyzw]+)?$/i);if(t){let n=!!t[1];return X[e]=new Yt((t[2]||`rgba`).split(``),n),X[e]}}{let t=e.match(/^0x([rgba]+)?$/i);if(t)return X[e]=new qt((t[1]||`rgba`).toLowerCase().split(``)),X[e]}{let t=e.match(/^#([rgba]+)?$/);if(t)return X[e]=new Kt((t[1]||`rgba`).toLowerCase().split(``),`#`),X[e]}{let t=e.match(/^(rgb|rgba)\(\)$/);if(t)return X[e]=new Gt((t[2]||`rgba`).toLowerCase().split(``)),X[e]}return e.match(/^[rgba]+$/)&&(X[e]=new Kt(e.split(``),``)),X[e]}function Xt(e,t){return(0,F.default)(Qt,e,t)}function Zt(e,t){return(0,F.default)($t,e,t)}var Qt=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||`div`}.twk-picker-color-widget`,label:t??r.field,class:n},[(0,F.default)($t,r)])}),$t=()=>{let e=0,t=0,n=0,r=0,i;function a(i=t,a=n){return{h:e*360,s:i,v:a,a:r}}function o(e=t,r=n){return Ht(a(e,r))}function s(e=t,i=n,a=r){return{...o(e,i),a}}function c(r){e=r.h/360,t=r.s,n=r.v}function l(e){c(e),r=e.a}function u(e,t){return Z(`#rgb`).fromControl(s(e,t))}function d(e,t){return Z(`#rgba`).fromControl(s(e,t))}function f(e=t,i=n,a=r){return Z(`rgba()`).fromControl(s(e,i,a))}function p(e,t){let n=Z(t||`rgb`).toControl(e);l({...Ut(n),a:n.a})}function m(e){return Z(e).fromControl(s())}function h(){let e=m(i.format),t=q(i,e);H(i.oninput,i.value,t)}function g(){let e=m(i.format),t=q(i,e);H(i.onchange,i.value,t)}function _(){return i.format?.match(/a/i)}function v(e){x(e,`r`)}function y(e){x(e,`g`)}function b(e){x(e,`b`)}function x(e,t){let n=s();n[t]=parseInt(e.target.value,10)/255,c(Ut(n)),h(),g()}function S(e){p(e.target.value,_()?`rgba`:`rgb`),h(),g()}let C=null,w;function T(e){w=`sv`,ee(e.target),k(e)}function E(e){w=`h`,ee(e.target),k(e)}function D(e){w=`a`,ee(e.target),k(e)}function ee(e){O(),C=e;let t={passive:!1};document.addEventListener(`mousemove`,k,t),document.addEventListener(`mouseup`,A,t),document.addEventListener(`touchmove`,k,t),document.addEventListener(`touchend`,A,t),document.addEventListener(`touchcancel`,A,t)}function O(){document.removeEventListener(`mousemove`,k),document.removeEventListener(`mouseup`,A),document.removeEventListener(`touchmove`,k),document.removeEventListener(`touchend`,A),document.removeEventListener(`touchcancel`,A)}function k(i){if(!C)return;i.preventDefault();let a=C.getBoundingClientRect(),o=window.pageXOffset||document.documentElement.scrollLeft,s=window.pageYOffset||document.documentElement.scrollTop,c=C.clientWidth,l=C.clientHeight,[u,d]=fe(i);u=U((u-o-a.left)/c,0,1),d=U((d-s-a.top)/l,0,1),w===`sv`&&(t=u,n=1-d),w===`h`&&(e=1-u),w===`a`&&(r=u),h(),F.default.redraw()}function A(){C!=null&&(C=null,O(),g())}return{onremove:()=>{O()},oninit:e=>{i=e.attrs,p(K(i),i.format)},onupdate:e=>{i=e.attrs,p(K(i),i.format)},view:a=>{i=a.attrs,p(K(i),i.format);let o=s();return(0,F.default)(`div.twk-color-picker`,{},[(0,F.default)(`.color-picker-inputs`,(0,F.default)(`input.twk-input.input-hex[type='text']`,{value:_()?d():u(),onchange:S}),(0,F.default)(`input.twk-input.input-r[type='number']`,{min:0,max:255,step:1,value:Math.round(o.r*255),onchange:v}),(0,F.default)(`input.twk-input.input-g[type='number']`,{min:0,max:255,step:1,value:Math.round(o.g*255),onchange:y}),(0,F.default)(`input.twk-input.input-b[type='number']`,{min:0,max:255,step:1,value:Math.round(o.b*255),onchange:b})),(0,F.default)(`.color-picker-panel`,(0,F.default)(`.color-picker-sv`,{tabindex:0,onmousedown:T,ontouchstart:T,style:{"background-color":`${f(1,1,1)}`,"user-select":`none`}},(0,F.default)(`.color-picker-sv-bg`,{style:{background:`linear-gradient(to right,rgba(255,255,255,1),rgba(255,255,255,0))`,"user-select":`none`,"pointer-events":`none`}}),(0,F.default)(`.color-picker-sv-bg`,{style:{background:`linear-gradient(to top,rgba(0,0,0,1),rgba(0,0,0,0))`,"user-select":`none`,"pointer-events":`none`}}),(0,F.default)(`.color-picker-sv-cursor`,{style:{"user-select":`none`,"pointer-events":`none`,"background-color":`${f(e,t,1)}`,left:`${t*100}%`,top:`${(1-n)*100}%`}})),(0,F.default)(`.color-picker-h`,{tabindex:0,onmousedown:E,ontouchstart:E,style:{"user-select":`none`,background:`linear-gradient(to right, #f00 0, #f0f 17% , #00f 33% , #0ff 50% , #0f0 67% , #ff0 83% , #f00 100%)`}},(0,F.default)(`.color-picker-h-cursor`,{style:{"user-select":`none`,"pointer-events":`none`,"background-color":`${f(1,1,1)}`,position:`absolute`,left:`${(1-e)*100}%`}})),_()?(0,F.default)(`.color-picker-a`,{tabindex:0,onmousedown:D,ontouchstart:D,style:{"user-select":`none`}},(0,F.default)(`.color-picker-a-bg`,{style:{background:`linear-gradient(to right, ${f(t,n,0)}, ${f(t,n,1)})`}}),(0,F.default)(`.color-picker-a-cursor`,{style:{"user-select":`none`,"pointer-events":`none`,position:`absolute`,left:`${r*100}%`}})):null)])}}};function en(e,t){return(0,F.default)(nn,e,t)}function tn(e,t){return(0,F.default)(rn,e,t)}var nn=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||``}.twk-color-widget`,label:t??r.field,class:n},[(0,F.default)(rn,r)])}),rn=()=>{let e,t=!1,n,r,i=Z(`rgba()`);function a(t){e=t.attrs,r=K(e),n=i.fromControl(Z(e.format).toControl(r))}function o(){t=!t}function s(t,n){q(e,n),e.oninput?.(e.value,n)}function c(t,n){q(e,n),e.onchange?.(e.value,n)}function l(){return R(r)?r:z(r)?`0x`+de(r.toString(16),8,`0`):ue(r)?r.map(e=>e<1&&e>0?e.toFixed(2):e).join(` , `):V(r)?Object.keys(r).map(e=>{let t=r[e];return`${e}: ${t<1&&t>0?t.toFixed(2):t}`}).join(` `):r==null?`null`:`?`}return{oninit:a,onbeforeupdate:a,view:({attrs:{value:e,field:r,binding:i,format:a}})=>[(0,F.default)(`div.twk-color-input`,{style:{"--twk-color-value":n}},(0,F.default)(`button.twk-btn[type='button']`,{onclick:o},l()||`?`),t?F.default.fragment({},[Zt({binding:i,value:e,field:r,format:a,oninput:s,onchange:c})]):null)]}};function an(e,t){return(0,F.default)(sn,e,t)}function on(e,t){return(0,F.default)(cn,e,t)}var sn=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||`div`}.twk-input-widget`,label:t??r.field,class:n},(0,F.default)(cn,r))}),cn=()=>{let e;function t(t){let n=t.target.value;q(e,n),(t.type===`input`?e.oninput:e.onchange)?.(e.value,n)}return{view:n=>(e=n.attrs,(0,F.default)(`div.twk-input`,{},[n.attrs.slotBefore?(0,F.default)(`span`,{},n.attrs.slotBefore):null,(0,F.default)(`input`,{type:e.type||`text`,value:K(e),oninput:t,onchange:t,placeholder:e.placeholder,disabled:e.readonly}),n.attrs.slotAfter?(0,F.default)(`span`,{},n.attrs.slotAfter):null]))}};function ln(e,t){return(0,F.default)(un,e,t)}var un=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||``}.twk-matrix-widget`,label:t??r.field,class:n},[(0,F.default)(fn,r)])});function dn(e,t){return(0,F.default)(fn,e,t)}var fn=()=>{let e;function t(t,n,r){let i=K(e)||{};i[n]=r,q(e,i),(t===`input`?e.oninput:e.onchange)?.(e.value,i)}function n(t,n){let r=[];n=e.rowMajor?t:n,t=e.rowMajor?n:t;for(let e=0;e<n;e++)for(let i=0;i<t;i++)r.push(i*n+e);return r}return{view:r=>{e=r.attrs;let i=e.cols??1,a=e.rows??1,o=K(e);return(0,F.default)(`div.twk-matrix-input`,{style:{display:`grid`,gridTemplateColumns:`repeat(${i}, auto)`}},n(a,i).map(n=>Ot({min:e.min,max:e.max,step:e.step,value:o,field:n,readonly:e.readonly,oninput:(e,r)=>t(`input`,n,r),onchange:(e,r)=>t(`change`,n,r)})))}}},pn=[0,1],mn=[`x`,`y`];function hn(e,t){return(0,F.default)(vn,e,t)}function gn(e,t){return(0,F.default)(vn,e,t)}function _n(e,t){return(0,F.default)(yn,e,t)}var vn=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||`div`}.twk-point-widget`,label:t??r.field,class:W(`twk-point`,n)},[(0,F.default)(yn,r)])}),yn=()=>{let e,t,n=pn,r=pn,i=0,a=0,o=0,s=0,c,l,u,d;function f(f){d=f.attrs;let p=d.keys||mn;e=p[0],t=p[1];let m=K(d)??{[e]:i,[t]:a};u=d.snap,i=m[e]||0,a=m[t]||0,n=d.rangeX||n,r=d.rangeY||r,o=(i-n[0])/(n[1]-n[0]),s=(a-r[0])/(r[1]-r[0]);let h=d.reset;h&&(c=(h[0]-n[0])/(n[1]-n[0]),l=(h[1]-r[0])/(r[1]-r[0]))}function p(){i=n[0]+(n[1]-n[0])*o,a=r[0]+(r[1]-r[0])*s,u>0&&(i=Math.floor(i/u)*u,a=Math.floor(a/u)*u,o=(i-n[0])/(n[1]-n[0]),s=(a-r[0])/(r[1]-r[0]))}function m(n){p();let r=K(d)??{[e]:i,[t]:a};r[e]=i,r[t]=a,H(n===`input`?d.oninput:d.onchange,d,r)}function h(e){g.activate(e)}let g=pe({onMove:e=>{e.preventDefault();let t=g.target,n=t.getBoundingClientRect(),r=window.pageXOffset||document.documentElement.scrollLeft,i=window.pageYOffset||document.documentElement.scrollTop,a=t.clientWidth,c=t.clientHeight,[l,u]=fe(e);o=U((l-r-n.left)/a,0,1),s=U((u-i-n.top)/c,0,1),m(`input`),F.default.redraw()},onEnd:()=>{g.deactivate(),c!=null&&l!=null&&(o=c,s=l,m(`input`)),m(`change`),F.default.redraw()}});return{onremove:g.deactivate,oninit:f,onupdate:f,view:e=>(f(e),(0,F.default)(`.point-area`,{tabindex:0,onmousedown:h,ontouchstart:h},(0,F.default)(`.point-x-axis`,{style:{"pointer-events":`none`,position:`absolute`,left:0,right:0,top:`${s*100}%`,height:`1px`}}),(0,F.default)(`.point-y-axis`,{style:{"pointer-events":`none`,position:`absolute`,left:`${o*100}%`,top:0,bottom:0,width:`1px`}}),(0,F.default)(`.point-cursor`,{style:{"pointer-events":`none`,left:`${o*100}%`,top:`${s*100}%`,position:`absolute`,width:`11px`,height:`11px`,"margin-top":`-5px`,"margin-left":`-5px`,border:`1px solid white`,"border-radius":`5px`,"box-shadow":`0px 0px 2px 1px rgba(0, 0, 0, 0.75)`}})))}};function bn(e){let t=[];for(let n of e){if(R(n)||z(n)){t.push({value:n,label:String(n)});continue}if(`value`in n){t.push(n);continue}}return t}function xn(e){let t=[];for(let n of e)R(n)||z(n)||n==null?t.push({value:n,label:String(n)}):`value`in n?t.push(n):`options`in n&&t.push({label:n.label,disabled:n.disabled,options:Array.isArray(n.options)?bn(n.options):Sn(n.options)});return t}function Sn(e){return Object.keys(e).sort().map(t=>({value:e[t],label:t}))}function Cn(e){let t=e.attrs.options;return t?Array.isArray(t)?xn(t):Sn(t):[]}function wn(e,t){return(0,F.default)(Tn,e,t)}var Tn=()=>{let e,t;function n(){let n=K(e),r=0;for(let e of t)if(`options`in e)for(let t of e.options){if(t.value===n)return r;r++}else{if(e.value===n)return r;r++}}function r(e){let n=0;for(let r of t)if(`options`in r)for(let t of r.options){if(n===e)return t.value;n+=1}else{if(n===e)return r.value;n+=1}return null}function i(t){let n=t.target,i=r(n.selectedIndex),a=q(e,i);e.onchange?.(e.value,a)}return{view:r=>(e=r.attrs,t=Cn(r),J({tagName:`${e.tagName||`div`}.twk-select`,label:e.label??e.field,class:e.class},(0,F.default)(`select.twk-select-input`,{selectedIndex:n(),onchange:i,disabled:e.readonly},t.map(e=>`options`in e?(0,F.default)(`optgroup`,{disabled:!!e.disabled,label:e.label||``},e.options.map(En)):En(e)))))}};function En(e){return(0,F.default)(`option`,{value:e.value,label:e.label,disabled:!!e.disabled},e.label||``)}function Dn(e,t){return(0,F.default)(An,e,t)}function On(e,t){return(0,F.default)(An,e,t)}function kn(e,t){return(0,F.default)(jn,e,t)}var An=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||`div`}.twk-spherical-widget`,label:t??r.field,class:n},[(0,F.default)(jn,r)])}),jn=()=>{let e=1,t=0,n=0,r,i=!1,a,o;function s(){return Mn(K(a)||Nn(e,t,n))}function c(){return n>Math.PI/2}function l(r){a=r.attrs;let i=s();e=i.radius??1,t=i.azimuth??0,n=i.polar??0}function u(r){let i=Nn(e,t,n);q(a,i),H(r===`input`?a.oninput:a.onchange,a.value,i)}function d(e,t){return t?(Math.PI-e)/(Math.PI/2):e/(Math.PI/2)}function f(e){i=!0,r?.focus(),h.activate(e)}function p(){n=Math.PI-n,u(`change`)}let m=!1,h=pe({onStart:()=>{m=c()},onMove:e=>{e.preventDefault();let i=G(e,r),a=(i.normalizedX-.5)*2,o=(i.normalizedY-.5)*2,s=U(Math.sqrt(a*a+o*o),0,1);t=Math.atan2(o,a),n=m?Math.PI-Math.PI/2*s:Math.PI/2*s,u(`input`),F.default.redraw()},onEnd:()=>{h.deactivate(),i=!1,u(`change`),F.default.redraw()}});return{onremove:()=>{h.deactivate()},oninit:l,onupdate:l,view:()=>{o=Nn(e,t,n,o);let a=c(),s=d(n,a),l=Math.cos(t)*s,u=Math.sin(t)*s;return(0,F.default)(`div.twk-spherical-input`,{},[(0,F.default)(`div.twk-spherical-info`,{},[(0,F.default)(`div.twk-spherical-label`,{},`x: ${o.x.toFixed(2)}`),(0,F.default)(`div.twk-spherical-label`,{},`y: ${o.y.toFixed(2)}`),(0,F.default)(`div.twk-spherical-label`,{},`z: ${o.z.toFixed(2)}`),(0,F.default)(`input.twk-toggle[type='checkbox']`,{checked:a,onchange:p,title:`Edit the back side of the sphere`})]),(0,F.default)(`div.twk-spherical-pane`,{oncreate:e=>r=e.dom,onmousedown:f,ontouchstart:f,tabIndex:0,class:W({"is-dragging":i})},[(0,F.default)(`div.twk-spherical-arm`,{style:{width:`${s*50}%`,transform:`rotate(${t}rad)`}}),(0,F.default)(`div.twk-spherical-knob`,{class:W({"is-back":a}),style:{left:`${50+l*50}%`,top:`${50+u*50}%`}})])])}}};function Mn(e){let t=e?.x??0,n=e?.y??0,r=e?.z??0,i=Math.sqrt(t*t+n*n+r*r)||1;return{radius:i,azimuth:Math.atan2(r,t)||0,polar:Math.acos(n/i)||0}}function Nn(e,t,n,r){let i=Math.sin(n);return r||={},r.x=e*Math.cos(t)*i,r.y=e*Math.cos(n),r.z=e*Math.sin(t)*i,r}function Pn(e,t){return(0,F.default)(In,e,t)}function Fn(e,t){return(0,F.default)(Ln,e,t)}var In=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||`div`}.twk-string-widget`,label:t??r.field,class:n},[(0,F.default)(Ln,r)])}),Ln=()=>{let e;function t(t){let n=t.target.value;q(e,n),(t.type===`input`?e.oninput:e.onchange)?.(e.value,n)}return{view:n=>{e=n.attrs;let r=!e.readonly,i=K(e);return(0,F.default)(`div.twk-input.twk-string-input`,{class:W({"twk-input-readonly":!!e.readonly})},[e.slotStart??null,r?null:(0,F.default)(`div.twk-input-value`,i),r?(0,F.default)(e.rows?`textarea`:`input[type='text']`,{value:i,oninput:t,onchange:t,placeholder:e.placeholder,disabled:e.readonly,rows:e.rows}):null,e.slotEnd??null])}}};function Rn(e,t){return(0,F.default)(Bn,e,t)}function zn(e,t){return(0,F.default)(Hn,e,t)}var Bn=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||`div`}.twk-vector-widget`,label:t??r.field,class:n},[(0,F.default)(Hn,r)])}),Vn=[`x`,`y`,`z`],Hn=()=>{function e(e,t,n,r){let i=K(r)||{};i[t]=isNaN(n)?null:n,q(r,i),(e===`input`?r.oninput:r.onchange)?.(r.value,i,t)}return{view:({attrs:t})=>{let n=t.keys||Vn,r=t.cols||n.length,i=K(t);return(0,F.default)(`div.twk-vector-input`,{style:{display:`grid`,gridTemplateColumns:`repeat(${r}, 1fr)`}},n.map(n=>Ot({min:t.min,max:t.max,step:t.step,value:i,field:n,readonly:t.readonly,slotBefore:t.unlabeled?null:(0,F.default)(`span.twk-color-muted`,n),oninput:(r,i)=>e(`input`,n,i,t),onchange:(r,i)=>e(`change`,n,i,t),placeholder:n})))}}};function Un(e,t){return(0,F.default)(Wn,e,t)}var Wn=()=>({view:({attrs:{tagName:e,label:t,class:n,...r}})=>J({tagName:`${e||`div`}.twk-Bitmask-widget`,label:t??r.field,class:n},[(0,F.default)(Kn,r)])});function Gn(e,t){return(0,F.default)(Kn,e,t)}var Kn=()=>{let e;function t(){return e.bitCount||32}function n(t){let n=K(e);n^=1<<t,r(n)}function r(t){q(e,t),e.oninput?.(e.value,t),e.onchange?.(e.value,t)}function i(e,t){return(e&1<<t)!=0}function a(t){if(e.names){for(let[n,r]of Object.entries(e.names))if(r===1<<t)return n}return null}return{view:r=>{e=r.attrs;let o=t(),s=K(e);return(0,F.default)(`div.twk-bitmask-input`,{},Array.from({length:o},(e,t)=>(0,F.default)(`label.twk-bitmask-row`,{tabindex:0,class:W({"twk-bitmask-active":i(s,t)}),onclick:()=>n(t)},[(0,F.default)(`div.twk-bitmask-indicator`,{}),(0,F.default)(`div.twk-bitmask-name`,{},a(t)||``),(0,F.default)(`div.twk-bitmask-bit`,{},`bit ${t}`),(0,F.default)(`div.twk-bitmask-value`,{},`0x`+String((2**t).toString(16)).padStart(Math.ceil(o/4),`0`))])))}}};function qn(e,t){return(0,F.default)(Yn,e,t)}function Jn(e,t){return(0,F.default)(Xn,e,t)}var Yn=()=>({view:({attrs:{tagName:e,label:t,field:n,class:r,...i}})=>J({tagName:`${e||`div`}.twk-input.twk-input-readonly`,label:t??n,class:r},(0,F.default)(Xn,i))}),Xn=()=>{let e,t,n;return{oncreate({dom:r}){e=r,t=setInterval(()=>{let t=K(n)??``;e.textContent=String(t)},n.interval??500)},onremove(){clearInterval(t)},view:e=>(n=e.attrs,(0,F.default)(`div.twk-poll`,{}))}},Zn=class e{static build(t){let n=new e;return t(n),n.close()}schema=[];close(){let e=this.schema;return this.schema=[],e}group=Qn(this,ge);flex=$(this,ye);grid=$(this,le);tabs=$(this,Xe);split=$(this,Ke);splitContent=$(this,Ge);section=$(this,we);sectionHeader=$(this,Te);sectionFooter=$(this,Ee);bar=$(this,L);barStart=$(this,ae);barEnd=$(this,oe);barContent=$(this,se);bool=Q(this,Bt);string=Q(this,In);scalar=Q(this,kt);vector=Q(this,Bn);matrix=Q(this,un);select=Q(this,Tn);angle=Q(this,Nt);bitmask=Q(this,Wn);poll=Q(this,Yn);color=Q(this,nn);colorPicker=Q(this,Qt);point=Q(this,vn);spherical=Q(this,An);boolInput=Q(this,Vt);stringInput=Q(this,Ln);scalarInput=Q(this,At);vectorInput=Q(this,Hn);matrixInput=Q(this,fn);selectInput=Q(this,Tn);angleInput=Q(this,Lt);bitmaskInput=Q(this,Kn);pollInput=Q(this,Xn);colorInput=Q(this,rn);colorPickerInput=Q(this,$t);pointInput=Q(this,yn);sphericalInput=Q(this,jn);button(e,t={}){this.add(it,t,e)}image(e){this.add(Tt,e)}divider(e){this.add(ot,{},e)}tree(e){this.add(et,e)}graph(e){this.add(vt,e)}widget(e,t){this.add(Et,{label:e},t)}pre(e,t){this.add(Et,{label:e,style:{whiteSpace:`pre`}},t)}view(e){this.add({view:e})}control(e,t){this.add(Et,e,t)}add(e,t,n){if(this.schema)this.schema.push({component:e,attributes:t,children:n});else throw Error(`Cannot use control builder after it was closed`)}};function Qn(e,t){return function(){let{options:n,children:r}=$n(e,arguments);e.add(t,n,r)}}function Q(e,t){return function(){e.add(t,er(arguments))}}function $(e,t){return function(){let{options:n,children:r}=tr(e,arguments);e.add(t,n,r)}}function $n(e,t){let n=null,r={},i=null;for(let e=0;e<t.length;e++){let a=t[e];R(a)?n=a:V(a)?r=a:B(a)&&(i=a)}n&&(r.title=n);let a=[];if(i){let t=e.schema;e.schema=a,i(e),e.schema=t}return{options:r,children:a}}function er(e){let t;return e.length===1?e[0]||{}:(e.length>1?(t=e[2]||{},t.value=e[0],t.field=e[1],t.label===void 0&&(t.label=String(t.field||``))):t={},t)}function tr(e,t){let n=null,r=null;if(!t.length)return{options:{},children:[]};for(let e=0;e<t.length;e++){let i=t[e];V(i)?n=i:B(i)&&(r=i)}let i=[];if(r){let t=e.schema;e.schema=i,r(e),e.schema=t}return{options:n||{},children:i}}e.AngleInputComponent=Lt,e.AngleWidgetComponent=Nt,e.BarComponent=L,e.BarContentComponent=se,e.BarEndComponent=oe,e.BarStartComponent=ae,e.BitmaskInputComponent=Kn,e.BitmaskWidgetComponent=Wn,e.BoolInputComponent=Vt,e.BoolWidgetComponent=Bt,e.Builder=Zn,e.ButtonComponent=it,e.ColorComponent=rn,e.ColorPicker=$t,e.ColorPickerWidgetComponent=Qt,e.ColorWidgetComponent=nn,e.DialogComponent=nt,e.Divider=ot,e.FlexComponent=ye,e.GraphComponent=vt,e.GridComponent=le,e.GroupComponent=ge,e.ImageComponent=Tt,e.InputComponent=cn,e.InputWidgetComponent=sn,e.MatrixInputComponent=fn,e.MatrixWidgetComponent=un,e.PointInputComponent=yn,e.PointWidgetComponent=vn,e.PollComponent=Xn,e.PollWidgetComponent=Yn,e.ScalarInputComponent=At,e.ScalarWidgetComponent=kt,e.SectionComponent=we,e.SectionContentComponent=De,e.SectionFooterComponent=Ee,e.SectionHeaderComponent=Te,e.SelectComponent=Tn,e.SphericalInputComponent=jn,e.SphericalWidgetComponent=An,e.SplitComponent=Ke,e.SplitContentComponent=Ge,e.StringInputComponent=Ln,e.StringWidgetComponent=In,e.TabComponent=Je,e.TabsComponent=Xe,e.TreeComponent=et,e.VectorInputComponent=Hn,e.VectorWidgetComponent=Bn,e.WidgetComponent=Et,e.binding=Re,e.degToRadAdapter=It,e.getColorAdapter=Z,e.getControlValue=K,e.getRawValue=Oe,e.h=ze,e.hsv2rgb=Ht,e.isVnode=Ne,e.labeledFn=Le,e.mapChildren=Pe,e.mountUi=Be,e.radToDegAdapter=Ft,e.redrawUi=He,e.renderChildren=Fe,e.rgb2hsv=Ut,e.setControlValue=q,e.setRawValue=ke,e.uiAngleInput=Mt,e.uiAngleWidget=jt,e.uiBar=I,e.uiBarContent=ie,e.uiBarEnd=re,e.uiBarStart=ne,e.uiBitmaskInput=Gn,e.uiBitmaskWidget=Un,e.uiBoolInput=zt,e.uiBoolWidget=Rt,e.uiButton=rt,e.uiColor=tn,e.uiColorPicker=Zt,e.uiColorPickerWidget=Xt,e.uiColorWidget=en,e.uiDialog=tt,e.uiDivider=at,e.uiFlex=ve,e.uiGraph=_t,e.uiGrid=ce,e.uiGroup=he,e.uiImage=wt,e.uiInput=on,e.uiInputWidget=an,e.uiMatrixInput=dn,e.uiMatrixWidget=ln,e.uiPoint=gn,e.uiPointInput=_n,e.uiPointWidget=hn,e.uiPoll=Jn,e.uiPollWidget=qn,e.uiScalarInput=Ot,e.uiScalarWidget=Dt,e.uiSection=be,e.uiSectionContent=Ce,e.uiSectionFooter=Se,e.uiSectionHeader=xe,e.uiSelect=wn,e.uiSpherical=On,e.uiSphericalInput=kn,e.uiSphericalWidget=Dn,e.uiSplit=Ue,e.uiSplitContent=We,e.uiString=Fn,e.uiStringWidget=Pn,e.uiTabs=Ye,e.uiTree=Ze,e.uiVectorInput=zn,e.uiVectorWidget=Rn,e.uiWidget=J,e.unmountUi=Ve});
33
33
  //# sourceMappingURL=tweak-ui.umd.js.map