@supportwire/messenger-js-sdk 1.0.26
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.
- package/README.md +80 -0
- package/dist/index-bfV4xNqW-CRQbrL80.js +1092 -0
- package/dist/index-bfV4xNqW-CRQbrL80.js.map +1 -0
- package/dist/index-bfV4xNqW-ChZOGalc.cjs +162 -0
- package/dist/index-bfV4xNqW-ChZOGalc.cjs.map +1 -0
- package/dist/index.cjs +921 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +149 -0
- package/dist/index.js +2646 -0
- package/dist/index.js.map +1 -0
- package/dist/snapdom-6yvsn_Iv-6uiY9rZc.js +3373 -0
- package/dist/snapdom-6yvsn_Iv-6uiY9rZc.js.map +1 -0
- package/dist/snapdom-6yvsn_Iv-OVmChxqF.cjs +9 -0
- package/dist/snapdom-6yvsn_Iv-OVmChxqF.cjs.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../widget-loader/dist/index.js","../src/settings-map.ts","../src/manager.ts","../src/index.ts"],"sourcesContent":["var ht = Object.defineProperty, gt = Object.defineProperties;\nvar mt = Object.getOwnPropertyDescriptors;\nvar De = Object.getOwnPropertySymbols;\nvar ft = Object.prototype.hasOwnProperty, wt = Object.prototype.propertyIsEnumerable;\nvar ke = (t, e, i) => e in t ? ht(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, G = (t, e) => {\n for (var i in e || (e = {}))\n ft.call(e, i) && ke(t, i, e[i]);\n if (De)\n for (var i of De(e))\n wt.call(e, i) && ke(t, i, e[i]);\n return t;\n}, te = (t, e) => gt(t, mt(e));\nvar L = (t, e, i) => ke(t, typeof e != \"symbol\" ? e + \"\" : e, i);\nconst yt = (t) => t && typeof t == \"string\" && t.trim() !== \"\" ? t.trim().replace(/\\/$/, \"\") : \"https://widget.supportwire.app\", bt = () => {\n const t = Date.now(), e = Math.random().toString(36).substring(2, 9);\n return `supportwire-iframe-${t}-${e}`;\n}, xt = () => {\n if (document.getElementById(\"supportwire-animation-styles\"))\n return;\n const t = document.createElement(\"style\");\n t.id = \"supportwire-animation-styles\", t.textContent = `\n\t\t/* ── Popup: open (fade + rise + subtle scale) ── */\n\t\t@keyframes supportwire-slide-up-fade-in {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translateY(12px) scale(0.96);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translateY(0) scale(1);\n\t\t\t}\n\t\t}\n\n\t\t/* ── Center modal: open ── */\n\t\t@keyframes supportwire-slide-up-fade-in-center {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translate(-50%, calc(-50% + 12px)) scale(0.96);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translate(-50%, -50%) scale(1);\n\t\t\t}\n\t\t}\n\n\t\t/* ── Popup: close (faster exit, sink + shrink) ── */\n\t\t@keyframes supportwire-slide-down-fade-out {\n\t\t\tfrom {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translateY(0) scale(1);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translateY(8px) scale(0.98);\n\t\t\t}\n\t\t}\n\n\t\t/* ── Center modal: close ── */\n\t\t@keyframes supportwire-slide-down-fade-out-center {\n\t\t\tfrom {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translate(-50%, -50%) scale(1);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translate(-50%, calc(-50% + 8px)) scale(0.98);\n\t\t\t}\n\t\t}\n\n\t\t.supportwire-widget-container {\n\t\t\ttransition: opacity 250ms cubic-bezier(0.22, 1, 0.36, 1), transform 250ms cubic-bezier(0.22, 1, 0.36, 1);\n\t\t}\n\n\t\t/* ── Popup (overshoot on open for \"pop\" feel) ── */\n\t\t.supportwire-widget-container.supportwire-opening {\n\t\t\tanimation: supportwire-slide-up-fade-in 300ms cubic-bezier(0, 1.2, 1, 1) forwards;\n\t\t}\n\t\t.supportwire-widget-container.supportwire-closing {\n\t\t\tanimation: supportwire-slide-down-fade-out 180ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t/* ── Drawer ── */\n\t\t.supportwire-widget-container.supportwire-drawer.supportwire-opening {\n\t\t\tanimation: supportwire-slide-up-fade-in 350ms cubic-bezier(0, 1.2, 1, 1) forwards;\n\t\t}\n\t\t.supportwire-widget-container.supportwire-drawer.supportwire-closing {\n\t\t\tanimation: supportwire-slide-down-fade-out 220ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t/* ── Center modal ── */\n\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-opening {\n\t\t\tanimation: supportwire-slide-up-fade-in-center 300ms cubic-bezier(0, 1.2, 1, 1) forwards;\n\t\t}\n\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-closing {\n\t\t\tanimation: supportwire-slide-down-fade-out-center 180ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t/* ── Reduced motion: fade only, no movement ── */\n\t\t@keyframes supportwire-fade-in {\n\t\t\tfrom { opacity: 0; }\n\t\t\tto { opacity: 1; }\n\t\t}\n\t\t@keyframes supportwire-fade-out {\n\t\t\tfrom { opacity: 1; }\n\t\t\tto { opacity: 0; }\n\t\t}\n\n\t\t/* ── Mobile fullscreen: take over viewport on narrow screens ── */\n\t\t@media (max-width: 480px) {\n\t\t\t.supportwire-widget-container.supportwire-popup,\n\t\t\t.supportwire-widget-container.supportwire-drawer,\n\t\t\t.supportwire-widget-container.supportwire-center\\\\ modal {\n\t\t\t\twidth: 100vw !important;\n\t\t\t\theight: 100vh !important;\n\t\t\t\theight: 100dvh !important;\n\t\t\t\tmax-height: none !important;\n\t\t\t\tmin-height: none !important;\n\t\t\t\ttop: 0 !important;\n\t\t\t\tleft: 0 !important;\n\t\t\t\tright: 0 !important;\n\t\t\t\tbottom: 0 !important;\n\t\t\t\tborder-radius: 0 !important;\n\t\t\t\ttransform: none !important;\n\t\t\t}\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.supportwire-widget-container {\n\t\t\t\ttransition: opacity 150ms ease-out !important;\n\t\t\t}\n\t\t\t.supportwire-widget-container.supportwire-opening,\n\t\t\t.supportwire-widget-container.supportwire-drawer.supportwire-opening,\n\t\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-opening {\n\t\t\t\tanimation: supportwire-fade-in 150ms ease-out forwards !important;\n\t\t\t}\n\t\t\t.supportwire-widget-container.supportwire-closing,\n\t\t\t.supportwire-widget-container.supportwire-drawer.supportwire-closing,\n\t\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-closing {\n\t\t\t\tanimation: supportwire-fade-out 150ms ease-out forwards !important;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(t);\n}, Qe = (t) => {\n requestAnimationFrame(() => {\n t.classList.remove(\"supportwire-closing\"), t.classList.add(\"supportwire-opening\");\n });\n}, et = (t, e) => {\n t.classList.remove(\"supportwire-opening\"), t.classList.add(\"supportwire-closing\"), setTimeout(() => {\n t.style.display = \"none\", t.classList.remove(\"supportwire-closing\");\n }, 230);\n};\nconst vt = (t, e) => {\n if (!e)\n return {\n bottom: \"20px\",\n right: \"20px\"\n };\n switch (t) {\n case \"bottom-right\":\n return {\n bottom: \"84px\",\n right: \"20px\"\n };\n case \"bottom-left\":\n return {\n bottom: \"84px\",\n left: \"20px\"\n };\n case \"top-right\":\n return {\n top: \"84px\",\n right: \"20px\"\n };\n case \"top-left\":\n return {\n top: \"84px\",\n left: \"20px\"\n };\n default:\n return {\n bottom: \"84px\",\n right: \"20px\"\n };\n }\n}, Et = () => {\n const t = \"supportwire-widget-tail-styles\";\n if (document.getElementById(t)) return;\n const e = document.createElement(\"style\");\n e.id = t, e.textContent = `\n\t\t.supportwire-widget-tail {\n\t\t\tposition: absolute;\n\t\t\twidth: 12px;\n\t\t\theight: 12px;\n\t\t\tbackground: inherit;\n\t\t\tborder-radius: 2px;\n\t\t\ttransform: rotate(45deg);\n\t\t\tz-index: -1;\n\t\t}\n\n\t\t.supportwire-widget-tail.bottom-right {\n\t\t\tbottom: -6px;\n\t\t\tright: 24px;\n\t\t\tbox-shadow: 2px 2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\n\t\t.supportwire-widget-tail.bottom-left {\n\t\t\tbottom: -6px;\n\t\t\tleft: 24px;\n\t\t\tbox-shadow: 2px 2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\n\t\t.supportwire-widget-tail.top-right {\n\t\t\ttop: -6px;\n\t\t\tright: 24px;\n\t\t\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\n\t\t.supportwire-widget-tail.top-left {\n\t\t\ttop: -6px;\n\t\t\tleft: 24px;\n\t\t\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\t`, document.head.appendChild(e);\n}, Ct = (t, e, i) => {\n Et();\n const r = t.querySelector(\".supportwire-widget-tail\");\n r && r.remove();\n const o = document.createElement(\"div\");\n o.className = `supportwire-widget-tail ${e || \"bottom-right\"}`, o.style.background = i === \"dark\" ? \"#1a1a1a\" : \"#ffffff\", t.appendChild(o);\n}, Be = (t, e) => {\n var o, n;\n const i = {\n position: \"fixed\",\n zIndex: \"999999\",\n display: \"none\",\n opacity: \"0\",\n backgroundColor: e.theme === \"dark\" ? \"#28282a\" : \"#f1f1f3\",\n transition: \"width 200ms ease-out, height 200ms ease-out\"\n }, r = !e.selector;\n switch (e.widgetType) {\n case \"popup\": {\n const s = (o = e.triggerPosition) != null && o.endsWith(\"left\") ? \"left\" : \"right\", l = (n = e.triggerPosition) != null && n.startsWith(\"top\") ? \"top\" : \"bottom\", c = G(te(G({}, i), {\n width: \"min(400px, max(0px, -20px + 100vw))\",\n height: \"min(704px, 100% - 104px)\",\n minHeight: \"80px\",\n maxHeight: \"704px\",\n borderRadius: \"24px\",\n boxShadow: e.theme === \"dark\" ? \"rgba(0, 0, 0, 0.5) 0px 5px 40px 0px\" : \"rgba(9, 14, 21, 0.12) 0px 5px 40px 0px\",\n overflow: \"hidden\",\n transformOrigin: `${s} ${l}`\n }), vt(e.triggerPosition, r));\n Object.assign(t.style, c);\n break;\n }\n case \"drawer\":\n Object.assign(t.style, i, {\n bottom: \"0\",\n right: \"0\",\n width: \"400px\",\n height: \"80vh\",\n borderTopLeftRadius: \"24px\",\n boxShadow: e.theme === \"dark\" ? \"rgba(0, 0, 0, 0.5) 0px 5px 40px 0px\" : \"rgba(9, 14, 21, 0.12) 0px 5px 40px 0px\",\n overflow: \"hidden\"\n });\n break;\n case \"center modal\":\n Object.assign(t.style, i, {\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"90%\",\n maxWidth: \"600px\",\n height: \"80vh\",\n borderRadius: \"24px\",\n boxShadow: e.theme === \"dark\" ? \"rgba(0, 0, 0, 0.5) 0px 5px 40px 0px\" : \"rgba(9, 14, 21, 0.12) 0px 5px 40px 0px\",\n overflow: \"hidden\"\n });\n break;\n }\n}, kt = (t, e, i) => {\n if (i === \"popup\")\n switch (e) {\n case \"bottom-right\":\n t.style.bottom = \"84px\", t.style.right = \"20px\", t.style.top = \"auto\", t.style.left = \"auto\";\n break;\n case \"bottom-left\":\n t.style.bottom = \"84px\", t.style.left = \"20px\", t.style.top = \"auto\", t.style.right = \"auto\";\n break;\n case \"top-right\":\n t.style.top = \"84px\", t.style.right = \"20px\", t.style.bottom = \"auto\", t.style.left = \"auto\";\n break;\n case \"top-left\":\n t.style.top = \"84px\", t.style.left = \"20px\", t.style.bottom = \"auto\", t.style.right = \"auto\";\n break;\n }\n}, St = `\n<svg width=\"28\" height=\"28\" viewBox=\"0 0 820 820\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path d=\"M306.256 103.089C374.06 121.601 405.862 142.59 421.597 163.509C431.539 176.728 436.259 191.483 438.492 209.449C438.57 210.082 438.643 210.717 438.715 211.352C406.945 214.037 377.275 229.548 354.7 259.981C341.9 277.237 334.444 294.617 333.557 312.794C332.669 330.997 338.511 347.065 346.837 361.327C354.975 375.267 366.267 388.769 377.867 401.971C389.907 415.672 402.475 429.27 415.535 445.247C430.794 463.914 439.389 485.957 441.679 506.319C444.009 527.042 439.644 543.751 432.155 553.715C422.208 566.947 404.553 576.35 383.329 579.578C373.766 558.908 367.432 536.332 364.99 512.317C360.559 468.74 346.585 426.481 324.199 401.287C312.749 388.401 297.053 377.839 277.666 377.481C258.099 377.12 240.782 387.253 226.463 402.846C202.178 429.296 203.512 469.846 215.138 504.134C227.276 539.932 252.808 576.859 289.195 603.059C308.607 617.036 332.485 624.471 356.456 626.188C389.051 678.63 440.001 717.759 499.915 737.633L464.425 790.873C438.535 829.709 381.465 829.709 355.575 790.873L232.25 605.888C227.46 598.704 221.294 592.538 214.11 587.748L29.1257 464.422C-9.70859 438.532-9.70855 381.468 29.1257 355.578L214.11 232.252C221.294 227.462 227.46 221.296 232.25 214.112L306.256 103.089ZM355.575 29.1266C381.465-9.70887 438.535-9.70887 464.425 29.1266L587.75 214.112C592.54 221.296 598.706 227.462 605.891 232.252L790.874 355.578C829.708 381.468 829.708 438.532 790.874 464.422L605.891 587.748C598.706 592.538 592.54 598.704 587.75 605.888L526.423 697.87C478.757 684.856 437.581 657.743 408.598 620.81C431.865 614.079 453.711 601.242 468.756 581.226C485.249 559.283 490.385 529.784 487.171 501.202C483.916 472.257 471.929 441.888 450.986 416.266C437.243 399.454 423.392 384.409 412.264 371.745C400.7 358.583 392.067 347.991 386.376 338.242C380.873 328.815 378.979 321.589 379.298 315.029C379.62 308.442 382.325 299.581 391.473 287.25C405.532 268.298 422.419 259.203 440.574 257.158C440.632 262.282 440.706 267.634 440.836 273.254C441.764 313.257 451.608 353.139 469.184 383.198C486.493 412.8 514.851 437.876 552.829 434.113C574.971 431.918 592.568 421.837 602.933 404.717C612.65 388.669 614.046 369.663 611.774 352.531C607.264 318.532 586.967 281.055 560.251 257.905C537.695 238.36 511.89 223.403 485.121 216.021C484.816 211.889 484.43 207.805 483.933 203.802C481.069 180.754 474.419 157.561 458.191 135.985C435.529 105.855 396.68 82.1759 332.931 63.0831L355.575 29.1266ZM276.816 423.261C279.023 423.301 283.573 424.501 289.975 431.705C303.292 446.695 315.474 477.943 319.44 516.941C321.485 537.048 325.758 556.267 331.954 574.436C326.083 572.154 320.674 569.306 315.946 565.902C287.519 545.433 267.66 516.46 258.497 489.436C248.821 460.902 252.942 441.706 260.189 433.813C269.148 424.057 274.786 423.224 276.816 423.261ZM486.475 264.816C501.078 270.831 515.992 280.136 530.268 292.507C548.705 308.484 563.375 335.868 566.384 358.548C567.87 369.751 566.162 377.039 563.765 381C562.014 383.891 558.471 387.543 548.313 388.55C536.044 389.765 521.828 382.532 508.704 360.087C495.847 338.098 487.398 306.189 486.609 272.194C486.553 269.765 486.511 267.3 486.475 264.816Z\" fill=\"currentColor\"/>\n</svg>\n`, Tt = `\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n`, It = () => {\n const t = \"supportwire-trigger-styles\";\n if (document.getElementById(t)) return;\n const e = document.createElement(\"style\");\n e.id = t, e.textContent = `\n\t\t/* ── Trigger entrance ── */\n\t\t@keyframes supportwire-trigger-enter {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: scale(0.8);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: scale(1);\n\t\t\t}\n\t\t}\n\n\t\t.supportwire-trigger-wrapper {\n\t\t\tposition: relative;\n\t\t\twidth: 48px;\n\t\t\theight: 48px;\n\t\t\tanimation: supportwire-trigger-enter 350ms cubic-bezier(0.22, 1, 0.36, 1) forwards;\n\t\t}\n\n\t\t.supportwire-widget-trigger {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tborder-radius: 50%;\n\t\t\tborder: none;\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\ttransition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1), opacity 100ms ease-out;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t/* Hover: instant on (0ms via override below), ease off (150ms base) */\n\t\t.supportwire-widget-trigger:hover {\n\t\t\topacity: 0.9;\n\t\t\ttransform: translateY(-2px);\n\t\t\ttransition-duration: 0ms;\n\t\t}\n\t\t.supportwire-widget-trigger:not(:hover) {\n\t\t\ttransition-duration: 150ms;\n\t\t}\n\n\t\t.supportwire-widget-trigger:active {\n\t\t\ttransform: scale(0.97);\n\t\t}\n\n\t\t.supportwire-widget-trigger:focus-visible {\n\t\t\toutline: 2px solid #0091FF;\n\t\t\toutline-offset: 2px;\n\t\t}\n\n\t\t/* ── Icon crossfade ── */\n\t\t.supportwire-widget-trigger .supportwire-trigger-icon {\n\t\t\tposition: absolute;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\ttransition: opacity 150ms ease-out, transform 150ms ease-out;\n\t\t}\n\t\t.supportwire-trigger-icon--hidden {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.8);\n\t\t}\n\t\t.supportwire-trigger-icon--visible {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.supportwire-trigger-wrapper {\n\t\t\t\tanimation: none;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\t.supportwire-widget-trigger {\n\t\t\t\ttransition: opacity 100ms ease-out;\n\t\t\t}\n\t\t\t.supportwire-widget-trigger .supportwire-trigger-icon {\n\t\t\t\ttransition: opacity 100ms ease-out;\n\t\t\t\ttransform: none !important;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(e);\n}, Rt = (t, e) => {\n var p, h;\n It();\n const i = document.createElement(\"div\");\n i.className = \"supportwire-trigger-wrapper\";\n const r = document.createElement(\"button\");\n r.className = \"supportwire-widget-trigger\", r.setAttribute(\"aria-label\", \"Open SupportWire chat\"), r.style.position = \"relative\";\n const o = document.createElement(\"span\");\n o.className = \"supportwire-trigger-icon supportwire-trigger-icon--visible\", o.setAttribute(\"data-icon\", \"logo\"), o.innerHTML = St;\n const n = document.createElement(\"span\");\n n.className = \"supportwire-trigger-icon supportwire-trigger-icon--hidden\", n.setAttribute(\"data-icon\", \"chevron\"), n.innerHTML = Tt, r.appendChild(o), r.appendChild(n), Object.assign(r.style, {\n backgroundColor: t.theme === \"dark\" ? \"#1a1a1a\" : \"#ffffff\",\n color: t.theme === \"dark\" ? \"#ffffff\" : \"#1a1a1a\",\n boxShadow: \"0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16)\"\n });\n const s = {\n \"bottom-right\": { bottom: \"20px\", right: \"20px\" },\n \"bottom-left\": { bottom: \"20px\", left: \"20px\" },\n \"top-right\": { top: \"20px\", right: \"20px\" },\n \"top-left\": { top: \"20px\", left: \"20px\" }\n }, l = (p = t.triggerPosition) != null ? p : \"bottom-right\", c = (h = s[l]) != null ? h : s[\"bottom-right\"];\n return Object.assign(i.style, G({\n position: \"fixed\",\n zIndex: \"999998\"\n }, c)), i.appendChild(r), r.addEventListener(\"click\", e), document.body.appendChild(i), i;\n}, Mt = (t, e) => {\n const i = {\n \"bottom-right\": { bottom: \"20px\", right: \"20px\", top: \"auto\", left: \"auto\" },\n \"bottom-left\": { bottom: \"20px\", left: \"20px\", top: \"auto\", right: \"auto\" },\n \"top-right\": { top: \"20px\", right: \"20px\", bottom: \"auto\", left: \"auto\" },\n \"top-left\": { top: \"20px\", left: \"20px\", bottom: \"auto\", right: \"auto\" }\n }, r = e && i[e] ? e : \"bottom-right\", o = i[r];\n Object.assign(t.style, o);\n}, $t = () => {\n const t = \"supportwire-widget-badge-styles\";\n if (document.getElementById(t))\n return;\n const e = document.createElement(\"style\");\n e.id = t, e.textContent = `\n\t\t.supportwire-widget-badge {\n\t\t\tposition: absolute;\n\t\t\ttop: -4px;\n\t\t\tright: -4px;\n\t\t\tmin-width: 20px;\n\t\t\theight: 20px;\n\t\t\tpadding: 0 6px;\n\t\t\tbackground-color: #ef4444;\n\t\t\tcolor: #ffffff;\n\t\t\tborder-radius: 10px;\n\t\t\tfont-size: 11px;\n\t\t\tfont-weight: 600;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\t\t\tline-height: 1;\n\t\t\tz-index: 999999;\n\t\t}\n\n\t\t.supportwire-widget-badge[data-animate=\"pop-in\"] {\n\t\t\tanimation: supportwire-badge-pop-in 280ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t.supportwire-widget-badge[data-animate=\"pulse\"] {\n\t\t\tanimation: supportwire-badge-pulse 180ms ease-out;\n\t\t}\n\n\t\t@keyframes supportwire-badge-pop-in {\n\t\t\t0% { transform: scale(0.95); opacity: 0; }\n\t\t\t100% { transform: scale(1); opacity: 1; }\n\t\t}\n\n\t\t@keyframes supportwire-badge-pulse {\n\t\t\t0% { transform: scale(1); }\n\t\t\t50% { transform: scale(1.05); }\n\t\t\t100% { transform: scale(1); }\n\t\t}\n\n\t\t@keyframes supportwire-badge-fade-in {\n\t\t\t0% { opacity: 0; }\n\t\t\t100% { opacity: 1; }\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.supportwire-widget-badge[data-animate=\"pop-in\"] {\n\t\t\t\tanimation: supportwire-badge-fade-in 200ms ease-out forwards;\n\t\t\t}\n\t\t\t.supportwire-widget-badge[data-animate=\"pulse\"] {\n\t\t\t\tanimation: none;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(e);\n}, we = (t, e) => {\n $t();\n let i = t.querySelector(\".supportwire-widget-badge\");\n if (e > 0) {\n const r = !i || i.style.display === \"none\";\n i || (i = document.createElement(\"span\"), i.className = \"supportwire-widget-badge\", t.appendChild(i)), i.textContent = e > 99 ? \"99+\" : String(e), i.style.display = \"flex\", i.removeAttribute(\"data-animate\"), i.offsetWidth, i.setAttribute(\"data-animate\", r ? \"pop-in\" : \"pulse\");\n } else\n i && (i.style.display = \"none\", i.removeAttribute(\"data-animate\"));\n}, Se = (t, e, i) => {\n const r = t.querySelector(\".supportwire-widget-trigger\");\n if (!r) return;\n const o = r.querySelector('[data-icon=\"logo\"]'), n = r.querySelector('[data-icon=\"chevron\"]');\n o && n && (e ? (o.className = \"supportwire-trigger-icon supportwire-trigger-icon--hidden\", n.className = \"supportwire-trigger-icon supportwire-trigger-icon--visible\") : (o.className = \"supportwire-trigger-icon supportwire-trigger-icon--visible\", n.className = \"supportwire-trigger-icon supportwire-trigger-icon--hidden\")), e ? (r.setAttribute(\"aria-label\", \"Close SupportWire chat\"), r.style.color = i === \"dark\" ? \"#ffffff\" : \"#1a1a1a\") : (r.setAttribute(\"aria-label\", \"Open SupportWire chat\"), r.style.color = \"\");\n}, Lt = (t, e, i, r) => {\n const o = document.createElement(\"iframe\");\n return o.id = e, o.src = `${i}?iframeId=${e}&theme=${r}`, o.style.width = \"100%\", o.style.height = \"100%\", o.style.border = \"none\", o.style.backgroundColor = r === \"dark\" ? \"#28282a\" : \"#f1f1f3\", o.setAttribute(\"allow\", \"clipboard-read; clipboard-write\"), o.setAttribute(\"sandbox\", \"allow-same-origin allow-scripts allow-forms allow-popups\"), t.appendChild(o), o;\n}, Ot = (t, e, i, r) => {\n if (!t || !t.contentWindow)\n return;\n const o = te(G({}, r), {\n iframeId: e\n });\n t.contentWindow.postMessage(o, \"*\");\n}, Ft = (t, e, i, r) => (o) => {\n var s, l;\n try {\n const c = new URL(e).origin;\n o.origin !== c && o.origin;\n } catch (c) {\n }\n const n = o.data;\n if (!(!n || n.iframeId !== t))\n switch (n.type) {\n case \"READY\":\n r.onReady && r.onReady();\n break;\n case \"OPENED\":\n i && (i.style.display = \"block\", Qe(i)), r.onOpen();\n break;\n case \"CLOSED\":\n i && et(i), r.onClose();\n break;\n case \"ERROR\":\n r.onError(new Error(n.error || \"Unknown error\"));\n break;\n case \"UNREAD_COUNT\":\n r.onUnreadCount && n.count !== void 0 && r.onUnreadCount(n.count);\n break;\n case \"OPEN_IMAGE_PREVIEW\":\n r.onImagePreview && n.imagePreview && r.onImagePreview(\n n.imagePreview.src,\n n.imagePreview.alt,\n n.imagePreview.filename\n );\n break;\n case \"TOGGLE_FULLSCREEN\":\n r.onToggleFullscreen && r.onToggleFullscreen();\n break;\n case \"MESSAGE_PREVIEW\":\n r.onMessagePreview && n.messagePreview && r.onMessagePreview(\n n.messagePreview.body,\n n.messagePreview.senderName,\n n.messagePreview.timestamp\n );\n break;\n case \"EVENT_RULES_REGISTERED\":\n r.onEventRulesRegistered && n.eventRules && r.onEventRulesRegistered(n.eventRules);\n break;\n case \"REQUEST_PAGE_SCREENSHOT\":\n r.onScreenshotRequest && r.onScreenshotRequest((l = (s = n.payload) == null ? void 0 : s.mode) != null ? l : \"full\");\n break;\n }\n};\nfunction Pt(t, e) {\n let i = null;\n const r = () => (i || (i = import(\"./index-bfV4xNqW.js\")), i), o = (c) => {\n var p;\n (p = t.contentWindow) == null || p.postMessage(te(G({}, c), { iframeId: e }), \"*\");\n }, n = async (c) => {\n const p = c.data;\n if (!(!p || typeof p != \"object\") && !(p.iframeId && p.iframeId !== e))\n switch (p.type) {\n case \"RECORDING:START\": {\n (await r()).recording.start({ guideId: p.guideId, title: p.title });\n return;\n }\n case \"RECORDING:STOP\": {\n const g = (await r()).recording.stop();\n g && o({\n type: \"RECORDING:DONE\",\n guideId: g.guideId,\n title: g.title,\n steps: g.steps\n });\n return;\n }\n case \"PLAYBACK:START\": {\n const h = await r();\n h.playback.onDone((g, y, w) => {\n o({\n type: \"PLAYBACK:DONE\",\n status: g,\n end_reason: y,\n current_step: w\n });\n }), h.playback.start({\n sessionId: p.sessionId,\n guideId: p.guideId,\n versionId: p.versionId,\n version: p.version\n });\n return;\n }\n case \"OPEN_URL\": {\n typeof p.url == \"string\" && window.open(p.url, \"_blank\", \"noopener\");\n return;\n }\n }\n }, s = (c) => {\n const p = c.detail;\n p && o({\n type: \"RECORDING:DONE\",\n guideId: p.guideId,\n title: p.title,\n steps: p.steps\n });\n };\n window.addEventListener(\"message\", n), window.addEventListener(\"sw-guide:recording-done\", s), (async () => {\n const c = await l();\n if (!c) return;\n const p = c.recording.maybeResume();\n p && c.recording.start({ guideId: p.guideId, title: p.title });\n const h = c.playback.maybeResume();\n h && (c.playback.onDone((w, T, b) => {\n o({\n type: \"PLAYBACK:DONE\",\n status: w,\n end_reason: T,\n current_step: b\n });\n }), c.playback.start({\n sessionId: h.sessionId,\n guideId: h.guideId,\n versionId: h.versionId,\n version: h.version,\n resumeStepIndex: h.stepIndex\n }));\n const y = new URLSearchParams(location.search).get(\"sw_guide\");\n y && o({ type: \"DEEP_LINK_GUIDE\", guideId: y });\n })();\n function l() {\n const c = !!localStorage.getItem(\"sw.guide.recording\"), p = !!localStorage.getItem(\"sw.guide.playback\"), h = new URLSearchParams(location.search).has(\"sw_guide\");\n return !c && !p && !h ? Promise.resolve(null) : r();\n }\n return {\n teardown: () => {\n window.removeEventListener(\"message\", n), window.removeEventListener(\"sw-guide:recording-done\", s);\n }\n };\n}\nlet U = null, ne = null, tt = \"\";\nconst Gt = `\n.supportwire-image-preview-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tbackground: rgba(0, 0, 0, 0);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tz-index: 2147483647;\n\tpadding: 24px;\n\topacity: 0;\n\ttransition: background 200ms ease-out, opacity 200ms ease-out;\n}\n\n.supportwire-image-preview-backdrop.visible {\n\tbackground: rgba(0, 0, 0, 0.9);\n\topacity: 1;\n}\n\n.supportwire-image-preview-backdrop.closing {\n\tbackground: rgba(0, 0, 0, 0);\n\topacity: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-backdrop {\n\t\ttransition: none;\n\t}\n}\n\n/* Floating buttons in top-right corner */\n.supportwire-image-preview-actions {\n\tposition: fixed;\n\ttop: 16px;\n\tright: 16px;\n\tdisplay: flex;\n\tgap: 8px;\n\tz-index: 2147483647;\n}\n\n.supportwire-image-preview-button {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tbackground: rgba(255, 255, 255, 0.1);\n\tbackdrop-filter: blur(8px);\n\t-webkit-backdrop-filter: blur(8px);\n\tborder: 1px solid rgba(255, 255, 255, 0.15);\n\tcolor: rgba(255, 255, 255, 0.9);\n\tcursor: pointer;\n\tpadding: 0;\n\ttransition: background 150ms ease, transform 150ms ease;\n\t-webkit-tap-highlight-color: transparent;\n}\n\n.supportwire-image-preview-button:hover {\n\tbackground: rgba(255, 255, 255, 0.2);\n\ttransform: scale(1.05);\n}\n\n.supportwire-image-preview-button:active {\n\ttransform: scale(0.95);\n}\n\n.supportwire-image-preview-button:focus {\n\toutline: 2px solid rgba(255, 255, 255, 0.5);\n\toutline-offset: 2px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-button {\n\t\ttransition: none;\n\t}\n\t.supportwire-image-preview-button:hover,\n\t.supportwire-image-preview-button:active {\n\t\ttransform: none;\n\t}\n}\n\n/* Image container */\n.supportwire-image-preview-image-container {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: relative;\n\tmax-width: 90vw;\n\tmax-height: 90vh;\n}\n\n.supportwire-image-preview-image {\n\tmax-width: 90vw;\n\tmax-height: 90vh;\n\tobject-fit: contain;\n\tborder-radius: 8px;\n\tbox-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n\topacity: 0;\n\ttransform: scale(0.95);\n\ttransition: opacity 200ms ease-out, transform 200ms ease-out;\n}\n\n.supportwire-image-preview-backdrop.visible .supportwire-image-preview-image {\n\topacity: 1;\n\ttransform: scale(1);\n}\n\n.supportwire-image-preview-backdrop.closing .supportwire-image-preview-image {\n\topacity: 0;\n\ttransform: scale(0.95);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-image {\n\t\ttransition: none;\n\t\ttransform: scale(1);\n\t\topacity: 1;\n\t}\n}\n\n.supportwire-image-preview-loader {\n\tposition: absolute;\n\twidth: 32px;\n\theight: 32px;\n\tborder: 3px solid rgba(255, 255, 255, 0.2);\n\tborder-top-color: #fff;\n\tborder-radius: 50%;\n\tanimation: supportwire-spin 0.8s linear infinite;\n}\n\n@keyframes supportwire-spin {\n\tto { transform: rotate(360deg); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-loader {\n\t\tanimation: none;\n\t\tborder-top-color: rgba(255, 255, 255, 0.2);\n\t\tborder-right-color: #fff;\n\t}\n}\n\n.supportwire-image-preview-error {\n\tcolor: #fff;\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n\tfont-size: 14px;\n\ttext-align: center;\n\tpadding: 40px;\n}\n\n/* Filename at bottom */\n.supportwire-image-preview-filename {\n\tposition: fixed;\n\tbottom: 16px;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\tfont-size: 13px;\n\tcolor: rgba(255, 255, 255, 0.7);\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n\tmargin: 0;\n\tpadding: 8px 16px;\n\tbackground: rgba(0, 0, 0, 0.5);\n\tbackdrop-filter: blur(8px);\n\t-webkit-backdrop-filter: blur(8px);\n\tborder-radius: 20px;\n\tmax-width: 80vw;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0;\n\ttransition: opacity 200ms ease-out;\n}\n\n.supportwire-image-preview-backdrop.visible .supportwire-image-preview-filename {\n\topacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-filename {\n\t\ttransition: none;\n\t\topacity: 1;\n\t}\n}\n\n/* Mobile responsiveness */\n@media (max-width: 480px) {\n\t.supportwire-image-preview-backdrop {\n\t\tpadding: 16px;\n\t}\n\n\t.supportwire-image-preview-actions {\n\t\ttop: 12px;\n\t\tright: 12px;\n\t}\n\n\t.supportwire-image-preview-button {\n\t\twidth: 40px;\n\t\theight: 40px;\n\t}\n\n\t.supportwire-image-preview-filename {\n\t\tbottom: 12px;\n\t\tfont-size: 12px;\n\t\tmax-width: 90vw;\n\t}\n}\n`;\nfunction Nt() {\n if (document.getElementById(\"supportwire-image-preview-styles\")) return;\n const t = document.createElement(\"style\");\n t.id = \"supportwire-image-preview-styles\", t.textContent = Gt, document.head.appendChild(t);\n}\nfunction At() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"/>\n\t\t<polyline points=\"7 10 12 15 17 10\"/>\n\t\t<line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"/>\n\t</svg>`;\n}\nfunction _t() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/>\n\t\t<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/>\n\t</svg>`;\n}\nfunction Ht() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M12 20h9\"/>\n\t\t<path d=\"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z\"/>\n\t</svg>`;\n}\nfunction Te() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"/>\n\t\t<path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"/>\n\t</svg>`;\n}\nfunction We() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<polyline points=\"20 6 9 17 4 12\"/>\n\t</svg>`;\n}\nasync function zt(t, e) {\n try {\n const r = await (await fetch(t)).blob(), o = URL.createObjectURL(r), n = document.createElement(\"a\");\n n.href = o, n.download = e || \"image\", document.body.appendChild(n), n.click(), document.body.removeChild(n), URL.revokeObjectURL(o);\n } catch (i) {\n window.open(t, \"_blank\");\n }\n}\nfunction ie() {\n if (!U) return;\n const t = U;\n ne && (document.removeEventListener(\"keydown\", ne), ne = null), document.body.style.overflow = tt, t.classList.remove(\"visible\"), t.classList.add(\"closing\"), window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ? (t.remove(), U = null) : setTimeout(() => {\n t.remove(), U === t && (U = null);\n }, 200);\n}\nfunction Ut(t, e, i, r) {\n U && (U.remove(), U = null), Nt(), tt = document.body.style.overflow, document.body.style.overflow = \"hidden\";\n const o = document.createElement(\"div\");\n o.className = \"supportwire-image-preview-backdrop\", o.setAttribute(\"role\", \"dialog\"), o.setAttribute(\"aria-modal\", \"true\"), o.setAttribute(\"aria-label\", e || \"Image preview\"), o.onclick = (w) => {\n (w.target === o || w.target.classList.contains(\"supportwire-image-preview-image-container\")) && ie();\n };\n const n = document.createElement(\"div\");\n n.className = \"supportwire-image-preview-actions\";\n const s = document.createElement(\"button\");\n s.className = \"supportwire-image-preview-button\", s.setAttribute(\"aria-label\", \"Copy link\"), s.innerHTML = Te(), s.onclick = async (w) => {\n w.stopPropagation();\n try {\n await navigator.clipboard.writeText(t), s.innerHTML = We(), setTimeout(() => {\n s.innerHTML = Te();\n }, 2e3);\n } catch (T) {\n const b = document.createElement(\"textarea\");\n b.value = t, b.style.position = \"fixed\", b.style.opacity = \"0\", document.body.appendChild(b), b.select(), document.execCommand(\"copy\"), document.body.removeChild(b), s.innerHTML = We(), setTimeout(() => {\n s.innerHTML = Te();\n }, 2e3);\n }\n };\n const l = document.createElement(\"button\");\n l.className = \"supportwire-image-preview-button\", l.setAttribute(\"aria-label\", \"Download image\"), l.innerHTML = At(), l.onclick = (w) => {\n w.stopPropagation(), zt(t, i);\n };\n let c = null;\n r && (c = document.createElement(\"button\"), c.className = \"supportwire-image-preview-button\", c.setAttribute(\"aria-label\", \"Annotate image\"), c.innerHTML = Ht(), c.onclick = async (w) => {\n w.stopPropagation();\n try {\n const b = await (await fetch(t)).blob(), E = await new Promise((k, x) => {\n const I = new FileReader();\n I.onload = () => k(I.result), I.onerror = x, I.readAsDataURL(b);\n });\n ie(), r(E);\n } catch (T) {\n const b = document.createElement(\"canvas\"), E = new Image();\n E.crossOrigin = \"anonymous\", E.onload = () => {\n b.width = E.naturalWidth, b.height = E.naturalHeight;\n const k = b.getContext(\"2d\");\n if (k) {\n k.drawImage(E, 0, 0);\n const x = b.toDataURL(\"image/png\");\n ie(), r(x);\n }\n }, E.onerror = () => {\n console.warn(\"Could not load image for annotation\");\n }, E.src = t;\n }\n });\n const p = document.createElement(\"button\");\n p.className = \"supportwire-image-preview-button\", p.setAttribute(\"aria-label\", \"Close preview\"), p.innerHTML = _t(), p.onclick = (w) => {\n w.stopPropagation(), ie();\n }, n.appendChild(s), n.appendChild(l), c && n.appendChild(c), n.appendChild(p);\n const h = document.createElement(\"div\");\n h.className = \"supportwire-image-preview-image-container\";\n const g = document.createElement(\"div\");\n g.className = \"supportwire-image-preview-loader\", h.appendChild(g);\n const y = document.createElement(\"img\");\n if (y.className = \"supportwire-image-preview-image\", y.alt = e || \"Image preview\", y.onload = () => {\n g.remove();\n }, y.onerror = () => {\n g.remove();\n const w = document.createElement(\"div\");\n w.className = \"supportwire-image-preview-error\", w.textContent = \"Failed to load image\", h.appendChild(w);\n }, y.src = t, h.appendChild(y), i) {\n const w = document.createElement(\"p\");\n w.className = \"supportwire-image-preview-filename\", w.textContent = i, o.appendChild(w);\n }\n o.appendChild(n), o.appendChild(h), document.body.appendChild(o), U = o, requestAnimationFrame(() => {\n o.classList.add(\"visible\");\n }), ne = (w) => {\n w.key === \"Escape\" && ie();\n }, document.addEventListener(\"keydown\", ne), p.focus();\n}\nlet Z = null, se = null, it = \"\";\nconst u = \"supportwire-ss-editor\", Dt = `\n.${u}-backdrop {\n\tposition: fixed;\n\tinset: 0;\n\tz-index: 2147483647;\n\tbackground: rgba(0, 0, 0, 0.6);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0;\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n}\n.${u}-modal {\n\tbackground: #fff;\n\tborder-radius: 16px;\n\tbox-shadow: 0 25px 50px -12px rgba(0,0,0,0.4);\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 95vw;\n\theight: 95vh;\n\toverflow: hidden;\n}\n.${u}-header {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: 12px 16px;\n\tborder-bottom: 1px solid #e5e7eb;\n}\n.${u}-title {\n\tfont-size: 14px;\n\tfont-weight: 600;\n\tcolor: #111;\n}\n.${u}-close-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 32px;\n\theight: 32px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n}\n.${u}-close-btn:hover { background: #f3f4f6; color: #111; }\n.${u}-canvas-wrap {\n\tposition: relative;\n\tflex: 1;\n\tmin-height: 300px;\n\toverflow: hidden;\n\tcursor: crosshair;\n\tbackground: #f9fafb;\n}\n.${u}-canvas-wrap.select-mode { cursor: default; }\n.${u}-canvas-wrap.select-mode-moving { cursor: grabbing; }\n.${u}-img {\n\tdisplay: block;\n\tpointer-events: none;\n\tuser-select: none;\n}\n.${u}-canvas {\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tpointer-events: none;\n}\n.${u}-toolbar {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tflex-wrap: wrap;\n\tgap: 8px;\n\tpadding: 12px 16px;\n\tborder-top: 1px solid #e5e7eb;\n}\n.${u}-tools {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n}\n.${u}-tool-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n}\n.${u}-tool-btn:hover { background: #f3f4f6; color: #111; }\n.${u}-tool-btn.active { background: #0091FF; color: #fff; }\n.${u}-color-picker {\n\twidth: 28px;\n\theight: 28px;\n\tborder: none;\n\tborder-radius: 50%;\n\tcursor: pointer;\n\tbackground: transparent;\n\tpadding: 0;\n}\n.${u}-separator {\n\twidth: 1px;\n\theight: 24px;\n\tbackground: #e5e7eb;\n\tmargin: 0 4px;\n}\n.${u}-color-swatches {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 3px;\n}\n.${u}-swatch {\n\twidth: 22px;\n\theight: 22px;\n\tborder-radius: 50%;\n\tborder: 2px solid transparent;\n\tcursor: pointer;\n\tpadding: 0;\n\tbox-sizing: border-box;\n}\n.${u}-swatch.active {\n\tborder-color: #111;\n\tbox-shadow: 0 0 0 1px #fff inset;\n}\n.${u}-swatch:hover { opacity: 0.8; }\n.${u}-thickness-wrap {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n}\n.${u}-thickness-label {\n\tfont-size: 11px;\n\tcolor: #888;\n\twhite-space: nowrap;\n}\n.${u}-thickness-slider {\n\twidth: 80px;\n\theight: 4px;\n\taccent-color: #0091FF;\n\tcursor: pointer;\n}\n.${u}-radius-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n\tfont-size: 11px;\n\tfont-weight: 600;\n}\n.${u}-radius-btn:hover { background: #f3f4f6; color: #111; }\n.${u}-radius-btn.active { background: #0091FF; color: #fff; }\n.${u}-actions {\n\tdisplay: flex;\n\tgap: 8px;\n\talign-items: center;\n}\n.${u}-btn-cancel {\n\tpadding: 8px 16px;\n\tfont-size: 13px;\n\tborder-radius: 8px;\n\tbackground: transparent;\n\tcolor: #333;\n\tborder: 1px solid #e5e7eb;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${u}-btn-cancel:hover { background: #f3f4f6; }\n.${u}-btn-done {\n\tpadding: 8px 16px;\n\tfont-size: 13px;\n\tborder-radius: 8px;\n\tbackground: #0091FF;\n\tcolor: #fff;\n\tborder: none;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${u}-btn-done:hover { opacity: 0.9; }\n.${u}-btn-crop-apply {\n\tpadding: 6px 12px;\n\tfont-size: 12px;\n\tborder-radius: 8px;\n\tbackground: #0091FF;\n\tcolor: #fff;\n\tborder: none;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${u}-text-overlay {\n\tposition: absolute;\n\tdisplay: flex;\n\tgap: 4px;\n\tz-index: 10;\n\tbackground: #fff;\n\tborder: 1px solid #e5e7eb;\n\tborder-radius: 8px;\n\tpadding: 4px;\n\tbox-shadow: 0 2px 8px rgba(0,0,0,0.1);\n}\n.${u}-text-input {\n\twidth: 140px;\n\tpadding: 4px 8px;\n\tfont-size: 13px;\n\tborder: none;\n\tborder-radius: 4px;\n\tbackground: #f3f4f6;\n\tcolor: #111;\n\toutline: none;\n\tfont-family: inherit;\n}\n.${u}-text-ok {\n\tpadding: 4px 8px;\n\tfont-size: 12px;\n\tborder-radius: 4px;\n\tbackground: #0091FF;\n\tcolor: #fff;\n\tborder: none;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${u}-undo-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n}\n.${u}-undo-btn:hover { background: #f3f4f6; color: #111; }\n.${u}-undo-btn:disabled { opacity: 0.3; cursor: default; }\n@media (max-width: 540px) {\n\t.${u}-modal { width: 100%; height: 100vh; border-radius: 0; }\n\t.${u}-backdrop { padding: 0; }\n}\n`;\nfunction Bt() {\n if (document.getElementById(`${u}-styles`)) return;\n const t = document.createElement(\"style\");\n t.id = `${u}-styles`, t.textContent = Dt, document.head.appendChild(t);\n}\nconst Ie = {\n select: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z\"/><path d=\"M13 13l6 6\"/></svg>',\n pen: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 19l7-7 3 3-7 7-3-3z\"/><path d=\"M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z\"/></svg>',\n arrow: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14\"/><path d=\"M12 5l7 7-7 7\"/></svg>',\n rect: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/></svg>',\n text: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 7V4h16v3\"/><path d=\"M9 20h6\"/><path d=\"M12 4v16\"/></svg>',\n crop: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 3v18\"/><path d=\"M18 3v18\"/><path d=\"M3 6h18\"/><path d=\"M3 18h18\"/></svg>',\n close: '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/></svg>',\n undo: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 7v6h6\"/><path d=\"M3 13a9 9 0 0 1 15.36-6.36\"/></svg>'\n};\nfunction rt(t, e, i, r, o, n) {\n const s = Math.min(n, Math.abs(r) / 2, Math.abs(o) / 2);\n t.beginPath(), t.moveTo(e + s, i), t.lineTo(e + r - s, i), t.arcTo(e + r, i, e + r, i + s, s), t.lineTo(e + r, i + o - s), t.arcTo(e + r, i + o, e + r - s, i + o, s), t.lineTo(e + s, i + o), t.arcTo(e, i + o, e, i + o - s, s), t.lineTo(e, i + s), t.arcTo(e, i, e + s, i, s), t.closePath(), t.stroke();\n}\nfunction je(t, e) {\n if (t.strokeStyle = e.color, t.fillStyle = e.color, t.lineWidth = \"width\" in e ? e.width : 2, t.lineCap = \"round\", t.lineJoin = \"round\", e.type === \"pen\" && e.points.length >= 4) {\n t.beginPath(), t.moveTo(e.points[0], e.points[1]);\n for (let i = 2; i < e.points.length; i += 2) t.lineTo(e.points[i], e.points[i + 1]);\n t.stroke();\n } else if (e.type === \"arrow\") {\n t.beginPath(), t.moveTo(e.x1, e.y1), t.lineTo(e.x2, e.y2), t.stroke();\n const i = 10, r = Math.atan2(e.y2 - e.y1, e.x2 - e.x1);\n t.beginPath(), t.moveTo(e.x2, e.y2), t.lineTo(e.x2 - i * Math.cos(r - 0.4), e.y2 - i * Math.sin(r - 0.4)), t.lineTo(e.x2 - i * Math.cos(r + 0.4), e.y2 - i * Math.sin(r + 0.4)), t.closePath(), t.fill();\n } else e.type === \"rect\" ? e.radius > 0 ? rt(t, e.x, e.y, e.w, e.h, e.radius) : t.strokeRect(e.x, e.y, e.w, e.h) : e.type === \"text\" && (t.font = \"16px system-ui, sans-serif\", t.fillText(e.text, e.x, e.y + 16));\n}\nfunction ot(t) {\n if (t.type === \"rect\")\n return { x: t.x, y: t.y, w: t.w, h: t.h };\n if (t.type === \"arrow\") {\n const e = Math.min(t.x1, t.x2), i = Math.min(t.y1, t.y2);\n return { x: e, y: i, w: Math.abs(t.x2 - t.x1), h: Math.abs(t.y2 - t.y1) };\n } else if (t.type === \"pen\" && t.points.length >= 4) {\n let e = t.points[0], i = t.points[0], r = t.points[1], o = t.points[1];\n for (let n = 2; n < t.points.length; n += 2)\n e = Math.min(e, t.points[n]), i = Math.max(i, t.points[n]), r = Math.min(r, t.points[n + 1]), o = Math.max(o, t.points[n + 1]);\n return { x: e, y: r, w: i - e, h: o - r };\n } else if (t.type === \"text\")\n return { x: t.x, y: t.y, w: 100, h: 20 };\n return { x: 0, y: 0, w: 0, h: 0 };\n}\nfunction Wt(t, e, i, r) {\n const o = r;\n if (t.type === \"rect\") {\n const { x: n, y: s, w: l, h: c } = t, p = i >= s - o && i <= s + o && e >= n - o && e <= n + l + o, h = i >= s + c - o && i <= s + c + o && e >= n - o && e <= n + l + o, g = e >= n - o && e <= n + o && i >= s - o && i <= s + c + o, y = e >= n + l - o && e <= n + l + o && i >= s - o && i <= s + c + o, w = e >= n && e <= n + l && i >= s && i <= s + c;\n return p || h || g || y || w;\n } else {\n if (t.type === \"arrow\")\n return Ye(e, i, t.x1, t.y1, t.x2, t.y2) <= o + t.width;\n if (t.type === \"pen\" && t.points.length >= 4) {\n for (let n = 0; n < t.points.length - 2; n += 2)\n if (Ye(e, i, t.points[n], t.points[n + 1], t.points[n + 2], t.points[n + 3]) <= o + t.width) return !0;\n return !1;\n } else if (t.type === \"text\") {\n const n = ot(t);\n return e >= n.x - o && e <= n.x + n.w + o && i >= n.y - o && i <= n.y + n.h + o;\n }\n }\n return !1;\n}\nfunction Ye(t, e, i, r, o, n) {\n const s = o - i, l = n - r, c = s * s + l * l;\n if (c === 0) return Math.hypot(t - i, e - r);\n let p = ((t - i) * s + (e - r) * l) / c;\n return p = Math.max(0, Math.min(1, p)), Math.hypot(t - (i + p * s), e - (r + p * l));\n}\nfunction jt(t, e, i) {\n if (t.type === \"rect\")\n t.x += e, t.y += i;\n else if (t.type === \"arrow\")\n t.x1 += e, t.y1 += i, t.x2 += e, t.y2 += i;\n else if (t.type === \"pen\")\n for (let r = 0; r < t.points.length; r += 2)\n t.points[r] += e, t.points[r + 1] += i;\n else t.type === \"text\" && (t.x += e, t.y += i);\n}\nfunction Yt(t, e) {\n const i = ot(e), r = 6;\n t.save(), t.strokeStyle = \"#0091FF\", t.lineWidth = 1.5, t.setLineDash([4, 3]), t.strokeRect(i.x - r, i.y - r, i.w + r * 2, i.h + r * 2), t.setLineDash([]);\n const o = 5;\n t.fillStyle = \"#fff\", t.strokeStyle = \"#0091FF\", t.lineWidth = 1.5;\n const n = [\n [i.x - r, i.y - r],\n [i.x + i.w + r, i.y - r],\n [i.x - r, i.y + i.h + r],\n [i.x + i.w + r, i.y + i.h + r]\n ];\n for (const [s, l] of n)\n t.beginPath(), t.arc(s, l, o, 0, Math.PI * 2), t.fill(), t.stroke();\n t.restore();\n}\nfunction re() {\n Z && (se && (document.removeEventListener(\"keydown\", se), se = null), document.body.style.overflow = it, Z.remove(), Z = null);\n}\nfunction qe(t, e, i) {\n Z && (Z.remove(), Z = null), Bt(), it = document.body.style.overflow, document.body.style.overflow = \"hidden\";\n let r = \"rect\", o = \"#FF3B30\", n = 3, s = 0, l = [], c = t, p = 0, h = 0, g = 1, y = 0, w = 0, T = !1, b = [], E = null, k = null, x = null, I = null, S = null, z = null, q = null;\n const de = document.createElement(\"div\");\n de.className = `${u}-backdrop`;\n const V = document.createElement(\"div\");\n V.className = `${u}-modal`, V.onclick = (a) => a.stopPropagation();\n const ce = document.createElement(\"div\");\n ce.className = `${u}-header`;\n const ve = document.createElement(\"span\");\n ve.className = `${u}-title`, ve.textContent = \"Edit screenshot\";\n const K = document.createElement(\"button\");\n K.className = `${u}-close-btn`, K.setAttribute(\"aria-label\", \"Close\"), K.innerHTML = Ie.close, K.onclick = () => {\n re(), i();\n }, ce.appendChild(ve), ce.appendChild(K);\n const C = document.createElement(\"div\");\n C.className = `${u}-canvas-wrap`;\n const B = document.createElement(\"img\");\n B.className = `${u}-img`, B.alt = \"Screenshot\";\n const F = document.createElement(\"canvas\");\n F.className = `${u}-canvas`, C.appendChild(B), C.appendChild(F);\n const J = document.createElement(\"div\");\n J.className = `${u}-toolbar`;\n const P = document.createElement(\"div\");\n P.className = `${u}-tools`;\n const Le = {}, at = [\"select\", \"pen\", \"arrow\", \"rect\", \"text\", \"crop\"], Oe = { select: \"Select & Move\", pen: \"Pen\", arrow: \"Arrow\", rect: \"Rectangle\", text: \"Text\", crop: \"Crop\" };\n for (const a of at) {\n const d = document.createElement(\"button\");\n d.className = `${u}-tool-btn${a === \"rect\" ? \" active\" : \"\"}`, d.setAttribute(\"aria-label\", Oe[a]), d.title = Oe[a], d.innerHTML = Ie[a], d.onclick = () => _e(a), Le[a] = d, P.appendChild(d);\n }\n const Fe = document.createElement(\"div\");\n Fe.className = `${u}-separator`, P.appendChild(Fe);\n const lt = [\"#FF3B30\", \"#FF9500\", \"#FFCC00\", \"#34C759\", \"#0091FF\", \"#AF52DE\", \"#FF2D55\", \"#000000\", \"#8E8E93\"], pe = document.createElement(\"div\");\n pe.className = `${u}-color-swatches`;\n const Pe = [];\n function Ee(a) {\n Pe.forEach((d) => d.classList.toggle(\"active\", d.dataset.color === a));\n }\n for (const a of lt) {\n const d = document.createElement(\"button\");\n d.className = `${u}-swatch${a === o ? \" active\" : \"\"}`, d.style.background = a, d.dataset.color = a, d.setAttribute(\"aria-label\", `Color ${a}`), d.onclick = () => {\n o = a, N.value = a, Ee(a), fe(\"color\", a);\n }, Pe.push(d), pe.appendChild(d);\n }\n const N = document.createElement(\"input\");\n N.type = \"color\", N.value = o, N.className = `${u}-color-picker`, N.setAttribute(\"aria-label\", \"Custom color\"), N.title = \"Custom color\", N.oninput = () => {\n o = N.value, Ee(\"\"), fe(\"color\", o);\n }, pe.appendChild(N), P.appendChild(pe);\n const Ge = document.createElement(\"div\");\n Ge.className = `${u}-separator`, P.appendChild(Ge);\n const ue = document.createElement(\"div\");\n ue.className = `${u}-thickness-wrap`;\n const Q = document.createElement(\"span\");\n Q.className = `${u}-thickness-label`, Q.textContent = \"3px\";\n const A = document.createElement(\"input\");\n A.type = \"range\", A.min = \"1\", A.max = \"12\", A.value = String(n), A.className = `${u}-thickness-slider`, A.setAttribute(\"aria-label\", \"Stroke thickness\"), A.oninput = () => {\n n = parseInt(A.value, 10), Q.textContent = `${n}px`, fe(\"width\", n);\n }, ue.appendChild(A), ue.appendChild(Q), P.appendChild(ue);\n const Ne = document.createElement(\"div\");\n Ne.className = `${u}-separator`, P.appendChild(Ne);\n const W = document.createElement(\"button\");\n W.className = `${u}-radius-btn`, W.setAttribute(\"aria-label\", \"Rounded corners\"), W.title = \"Rounded corners\", W.innerHTML = '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 9a6 6 0 0 1 6-6h6a6 6 0 0 1 6 6v6a6 6 0 0 1-6 6H9a6 6 0 0 1-6-6V9z\"/></svg>', W.onclick = () => {\n s = s === 0 ? 12 : 0, W.classList.toggle(\"active\", s > 0), fe(\"radius\", s);\n }, P.appendChild(W);\n const Ae = document.createElement(\"div\");\n Ae.className = `${u}-separator`, P.appendChild(Ae);\n const M = document.createElement(\"button\");\n M.className = `${u}-undo-btn`, M.setAttribute(\"aria-label\", \"Undo\"), M.title = \"Undo\", M.innerHTML = Ie.undo, M.disabled = !0, M.onclick = () => {\n l.length > 0 && (l.pop(), M.disabled = l.length === 0, x = null, R());\n }, P.appendChild(M);\n const _ = document.createElement(\"button\");\n _.className = `${u}-btn-crop-apply`, _.textContent = \"Apply crop\", _.style.display = \"none\", _.onclick = ct;\n const he = document.createElement(\"div\");\n he.className = `${u}-actions`;\n const ge = document.createElement(\"button\");\n ge.className = `${u}-btn-cancel`, ge.textContent = \"Cancel\", ge.onclick = () => {\n re(), i();\n };\n const me = document.createElement(\"button\");\n me.className = `${u}-btn-done`, me.textContent = \"Done\", me.onclick = ut, he.appendChild(ge), he.appendChild(me), J.appendChild(P), J.appendChild(_), J.appendChild(he), V.appendChild(ce), V.appendChild(C), V.appendChild(J), de.appendChild(V), document.body.appendChild(de), Z = de;\n function _e(a) {\n r = a;\n for (const [d, f] of Object.entries(Le))\n f.classList.toggle(\"active\", d === a);\n a !== \"crop\" && (S = null, z = null, _.style.display = \"none\"), a !== \"select\" && (x = null), C.classList.toggle(\"select-mode\", a === \"select\"), C.classList.remove(\"select-mode-moving\"), ee(), R();\n }\n function fe(a, d) {\n if (x === null || x >= l.length) return;\n const f = l[x];\n a === \"color\" ? f.color = d : a === \"width\" && \"width\" in f ? f.width = d : a === \"radius\" && f.type === \"rect\" && (f.radius = d), R();\n }\n function dt(a) {\n o = a.color, N.value = a.color, Ee(a.color), \"width\" in a && (n = a.width, A.value = String(a.width), Q.textContent = `${a.width}px`), a.type === \"rect\" && (s = a.radius, W.classList.toggle(\"active\", a.radius > 0));\n }\n function Ce(a, d) {\n const f = C.getBoundingClientRect();\n return {\n x: Math.round((a - f.left - y) / g),\n y: Math.round((d - f.top - w) / g)\n };\n }\n function He() {\n if (!p || !h) return;\n const a = C.clientWidth - 32, d = C.clientHeight - 32;\n g = Math.min(a / p, d / h, 1), y = (C.clientWidth - p * g) / 2, w = (C.clientHeight - h * g) / 2, B.style.width = `${p * g}px`, B.style.height = `${h * g}px`, B.style.marginLeft = `${y}px`, B.style.marginTop = `${w}px`, F.width = C.clientWidth, F.height = C.clientHeight, R();\n }\n function ze() {\n const a = new Image();\n a.onload = () => {\n p = a.naturalWidth, h = a.naturalHeight, B.src = c, He();\n }, a.src = c;\n }\n function R() {\n const a = F.getContext(\"2d\");\n if (a) {\n if (a.clearRect(0, 0, F.width, F.height), a.save(), a.translate(y, w), a.scale(g, g), l.forEach((d, f) => {\n je(a, d), f === x && Yt(a, d);\n }), T && b.length >= 4 && r === \"pen\") {\n a.strokeStyle = o, a.lineWidth = n, a.lineCap = \"round\", a.lineJoin = \"round\", a.beginPath(), a.moveTo(b[0], b[1]);\n for (let d = 2; d < b.length; d += 2) a.lineTo(b[d], b[d + 1]);\n a.stroke();\n }\n if (a.restore(), r === \"crop\" && S) {\n a.fillStyle = \"rgba(0,0,0,0.4)\", a.fillRect(0, 0, F.width, F.height);\n const d = y + S.x * g, f = w + S.y * g, m = S.w * g, v = S.h * g;\n a.clearRect(d, f, m, v), a.strokeStyle = \"#0091FF\", a.lineWidth = 2, a.strokeRect(d, f, m, v), _.style.display = \"\";\n }\n }\n }\n function ct() {\n if (!S || S.w < 10 || S.h < 10) return;\n const a = new Image();\n a.onload = () => {\n const d = document.createElement(\"canvas\");\n d.width = S.w, d.height = S.h;\n const f = d.getContext(\"2d\");\n f && (f.drawImage(a, S.x, S.y, S.w, S.h, 0, 0, S.w, S.h), c = d.toDataURL(\"image/png\"), l = [], M.disabled = !0, x = null, S = null, z = null, _.style.display = \"none\", _e(\"rect\"), ze());\n }, a.src = c;\n }\n function ee() {\n q && (q.remove(), q = null);\n }\n function pt(a, d) {\n ee();\n const f = document.createElement(\"div\");\n f.className = `${u}-text-overlay`, f.style.left = `${a * g + y}px`, f.style.top = `${d * g + w}px`;\n const m = document.createElement(\"input\");\n m.type = \"text\", m.className = `${u}-text-input`, m.placeholder = \"Text...\";\n const v = document.createElement(\"button\");\n v.className = `${u}-text-ok`, v.textContent = \"Add\";\n const H = () => {\n const j = m.value.trim();\n j && (l.push({ type: \"text\", x: a, y: d, text: j, color: o }), M.disabled = !1, R()), ee();\n };\n m.onkeydown = (j) => {\n j.key === \"Enter\" && H(), j.key === \"Escape\" && ee();\n }, v.onclick = H, f.appendChild(m), f.appendChild(v), C.appendChild(f), q = f, m.focus();\n }\n C.onmousedown = (a) => {\n const { x: d, y: f } = Ce(a.clientX, a.clientY);\n if (r === \"select\") {\n let m = -1;\n for (let v = l.length - 1; v >= 0; v--)\n if (Wt(l[v], d, f, 8)) {\n m = v;\n break;\n }\n m >= 0 ? (x = m, I = { x: d, y: f }, dt(l[m]), C.classList.add(\"select-mode-moving\")) : x = null, R();\n return;\n }\n if (r === \"crop\") {\n z = { x: d, y: f }, S = null, _.style.display = \"none\";\n return;\n }\n q || (x = null, r === \"pen\" ? (T = !0, b = [d, f]) : r === \"arrow\" ? E = { x: d, y: f } : r === \"rect\" ? k = { x: d, y: f } : r === \"text\" && pt(d, f));\n }, C.onmousemove = (a) => {\n const { x: d, y: f } = Ce(a.clientX, a.clientY);\n if (r === \"select\" && I && x !== null) {\n const m = d - I.x, v = f - I.y;\n (Math.abs(m) > 1 || Math.abs(v) > 1) && (jt(l[x], m, v), I = { x: d, y: f }, R());\n return;\n }\n if (r === \"crop\" && z) {\n const m = Math.min(z.x, d), v = Math.min(z.y, f);\n S = { x: m, y: v, w: Math.max(20, Math.abs(d - z.x)), h: Math.max(20, Math.abs(f - z.y)) }, R();\n } else if (T && r === \"pen\")\n b.push(d, f), R();\n else if (r === \"rect\" && k) {\n R();\n const m = F.getContext(\"2d\");\n if (m) {\n m.save(), m.translate(y, w), m.scale(g, g), m.strokeStyle = o, m.lineWidth = n, m.lineCap = \"round\", m.lineJoin = \"round\";\n const v = Math.min(k.x, d), H = Math.min(k.y, f), j = Math.abs(d - k.x), Ue = Math.abs(f - k.y);\n s > 0 ? rt(m, v, H, j, Ue, s) : m.strokeRect(v, H, j, Ue), m.restore();\n }\n } else if (r === \"arrow\" && E) {\n R();\n const m = F.getContext(\"2d\");\n if (m) {\n m.save(), m.translate(y, w), m.scale(g, g), m.strokeStyle = o, m.fillStyle = o, m.lineWidth = n, m.lineCap = \"round\", m.lineJoin = \"round\", m.beginPath(), m.moveTo(E.x, E.y), m.lineTo(d, f), m.stroke();\n const v = 10, H = Math.atan2(f - E.y, d - E.x);\n m.beginPath(), m.moveTo(d, f), m.lineTo(d - v * Math.cos(H - 0.4), f - v * Math.sin(H - 0.4)), m.lineTo(d - v * Math.cos(H + 0.4), f - v * Math.sin(H + 0.4)), m.closePath(), m.fill(), m.restore();\n }\n }\n }, C.onmouseup = (a) => {\n const { x: d, y: f } = Ce(a.clientX, a.clientY);\n if (r === \"select\") {\n I = null, C.classList.remove(\"select-mode-moving\");\n return;\n }\n if (r === \"crop\") {\n z = null;\n return;\n }\n if (r === \"pen\" && T)\n T = !1, b.length >= 4 && (l.push({ type: \"pen\", points: [...b], color: o, width: n }), M.disabled = !1, b = []);\n else if (r === \"arrow\" && E)\n l.push({ type: \"arrow\", x1: E.x, y1: E.y, x2: d, y2: f, color: o, width: n }), M.disabled = !1, E = null;\n else if (r === \"rect\" && k) {\n const m = Math.min(k.x, d), v = Math.min(k.y, f);\n l.push({ type: \"rect\", x: m, y: v, w: Math.abs(d - k.x), h: Math.abs(f - k.y), color: o, width: n, radius: s }), M.disabled = !1, k = null;\n }\n R();\n }, C.onmouseleave = (a) => {\n if (r === \"select\" && I) {\n I = null, C.classList.remove(\"select-mode-moving\");\n return;\n }\n C.onmouseup(a);\n };\n function ut() {\n const a = new Image();\n a.onload = () => {\n const d = document.createElement(\"canvas\");\n d.width = a.naturalWidth, d.height = a.naturalHeight;\n const f = d.getContext(\"2d\");\n if (!f) return;\n f.drawImage(a, 0, 0), l.forEach((v) => je(f, v));\n const m = d.toDataURL(\"image/png\");\n re(), e(m);\n }, a.onerror = () => {\n re(), e(c);\n }, a.src = c;\n }\n se = (a) => {\n a.key === \"Escape\" ? q ? ee() : r === \"crop\" && S ? (S = null, _.style.display = \"none\", R()) : x !== null ? (x = null, R()) : (re(), i()) : a.key === \"z\" && (a.ctrlKey || a.metaKey) && !a.shiftKey ? (a.preventDefault(), l.length > 0 && (l.pop(), M.disabled = l.length === 0, x = null, R())) : (a.key === \"Delete\" || a.key === \"Backspace\") && x !== null && !q && (a.preventDefault(), l.splice(x, 1), M.disabled = l.length === 0, x = null, R());\n }, document.addEventListener(\"keydown\", se), new ResizeObserver(() => {\n p && h && He();\n }).observe(C), ze();\n}\nconst Me = 3, Ze = 8, Ve = 14, qt = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 200 200\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<defs>\n\t\t<linearGradient id=\"sw-preview-grad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n\t\t\t<stop offset=\"0%\" stop-color=\"#0091FF\"/>\n\t\t\t<stop offset=\"33%\" stop-color=\"#FF02F0\"/>\n\t\t\t<stop offset=\"66%\" stop-color=\"#F76808\"/>\n\t\t\t<stop offset=\"100%\" stop-color=\"#6647F0\"/>\n\t\t</linearGradient>\n\t\t<linearGradient id=\"sw-preview-center\" x1=\"81\" y1=\"96\" x2=\"113\" y2=\"130\" gradientUnits=\"userSpaceOnUse\">\n\t\t\t<stop stop-color=\"white\"/>\n\t\t\t<stop offset=\"0.88\" stop-color=\"white\" stop-opacity=\"0.3\"/>\n\t\t</linearGradient>\n\t</defs>\n\t<path d=\"M100 0C86.1929 0 75 11.1929 75 25V39.2893L65.033 29.3223C55.2699 19.5592 39.4408 19.5592 29.6777 29.3223C19.9146 39.0854 19.9146 54.9146 29.6777 64.6777L40 75H25C11.1929 75 0 86.1929 0 100C0 113.807 11.1929 125 25 125H39L29.2563 134.744C19.4932 144.507 19.4932 160.336 29.2563 170.099C39.0194 179.862 54.8485 179.862 64.6116 170.099L75 159.711V175C75 188.807 86.1929 200 100 200C113.807 200 125 188.807 125 175V160L135.744 170.744C145.507 180.507 161.336 180.507 171.099 170.744C180.862 160.981 180.862 145.151 171.099 135.388L160.711 125H175C188.807 125 200 113.807 200 100C200 86.1929 188.807 75 175 75H159.711L170.678 64.033C180.441 54.2699 180.441 38.4408 170.678 28.6777C160.915 18.9146 145.085 18.9146 135.322 28.6777L125 39V25C125 11.1929 113.807 0 100 0Z\" fill=\"url(#sw-preview-grad)\"/>\n\t<circle cx=\"100\" cy=\"100\" r=\"30\" fill=\"url(#sw-preview-center)\"/>\n</svg>`;\nlet O = null, Y = null;\nconst $ = [];\nlet ae = !1;\nconst Xe = \"supportwire-message-preview-styles\";\nfunction Zt() {\n if (document.getElementById(Xe)) return;\n const t = document.createElement(\"style\");\n t.id = Xe, t.textContent = `\n\t\t.sw-preview-stack {\n\t\t\tposition: fixed;\n\t\t\tz-index: 999997;\n\t\t\twidth: 320px;\n\t\t}\n\n\t\t.sw-preview-dismiss {\n\t\t\tposition: absolute;\n\t\t\tbottom: 100%;\n\t\t\tright: 0;\n\t\t\twidth: 24px;\n\t\t\theight: 24px;\n\t\t\tmargin-bottom: 4px;\n\t\t\tborder: none;\n\t\t\tborder-radius: 50%;\n\t\t\tfont-size: 15px;\n\t\t\tline-height: 1;\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\topacity: 0;\n\t\t\ttransition: opacity 150ms ease, background 150ms ease;\n\t\t\tpointer-events: auto;\n\t\t\tz-index: 10;\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-dark {\n\t\t\tbackground: rgba(255, 255, 255, 0.1);\n\t\t\tcolor: rgba(255, 255, 255, 0.6);\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-dark:hover {\n\t\t\tbackground: rgba(255, 255, 255, 0.18);\n\t\t\tcolor: rgba(255, 255, 255, 0.9);\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-light {\n\t\t\tbackground: rgba(0, 0, 0, 0.06);\n\t\t\tcolor: rgba(0, 0, 0, 0.4);\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-light:hover {\n\t\t\tbackground: rgba(0, 0, 0, 0.1);\n\t\t\tcolor: rgba(0, 0, 0, 0.7);\n\t\t}\n\t\t.sw-preview-dismiss:active {\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\t.sw-preview-dismiss:focus-visible {\n\t\t\toutline: 2px solid #0091FF;\n\t\t\toutline-offset: 1px;\n\t\t\topacity: 1;\n\t\t}\n\t\t.sw-preview-stack:hover .sw-preview-dismiss {\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.sw-preview-card {\n\t\t\tposition: absolute;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\tborder-radius: 16px;\n\t\t\tpadding: 12px 14px;\n\t\t\tcursor: pointer;\n\t\t\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n\t\t\tbox-sizing: border-box;\n\t\t\tpointer-events: auto;\n\t\t\ttransition: transform 200ms cubic-bezier(0.32, 0.72, 0, 1), opacity 200ms cubic-bezier(0.32, 0.72, 0, 1);\n\t\t\ttransform-origin: bottom center;\n\t\t}\n\t\t.sw-preview-card:active {\n\t\t\ttransform: scale(0.97) !important;\n\t\t}\n\n\t\t.sw-preview-card.sw-card-dark {\n\t\t\tbackground: #1a1a1a;\n\t\t\tbox-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), 0 1px 4px rgba(0, 0, 0, 0.2);\n\t\t}\n\t\t.sw-preview-card.sw-card-light {\n\t\t\tbackground: #ffffff;\n\t\t\tborder: 1px solid rgba(0, 0, 0, 0.08);\n\t\t\tbox-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);\n\t\t}\n\n\t\t.sw-preview-header {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 8px;\n\t\t\tmargin-bottom: 6px;\n\t\t}\n\t\t.sw-preview-logo {\n\t\t\tflex-shrink: 0;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t}\n\t\t.sw-preview-meta {\n\t\t\tfont-size: 11px;\n\t\t\tline-height: 1.2;\n\t\t\tflex: 1;\n\t\t\tmin-width: 0;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\t.sw-card-dark .sw-preview-meta { color: rgba(255, 255, 255, 0.5); }\n\t\t.sw-card-light .sw-preview-meta { color: rgba(0, 0, 0, 0.45); }\n\n\t\t.sw-preview-body {\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 1.4;\n\t\t\tdisplay: -webkit-box;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\tword-break: break-word;\n\t\t}\n\t\t.sw-card-dark .sw-preview-body { color: rgba(255, 255, 255, 0.9); }\n\t\t.sw-card-light .sw-preview-body { color: rgba(0, 0, 0, 0.85); }\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.sw-preview-card {\n\t\t\t\ttransition: opacity 200ms ease-out !important;\n\t\t\t}\n\t\t\t.sw-preview-dismiss {\n\t\t\t\ttransition: opacity 150ms ease-out !important;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(t);\n}\nfunction be() {\n if (!(!O || $.length === 0))\n if (ae) {\n let t = 0;\n for (let e = 0; e < $.length; e++) {\n const { el: i, height: r } = $[e];\n i.style.zIndex = String(Me + 1 - e), i.style.transform = `translateY(-${t}px) scale(1)`, i.style.opacity = i.dataset.visible === \"true\" ? \"1\" : \"0\", t += r + Ze;\n }\n O.style.height = `${t - Ze}px`;\n } else {\n for (let t = 0; t < $.length; t++) {\n const { el: e } = $[t];\n e.style.zIndex = String(Me + 1 - t), e.style.transform = `translateY(-${t * Ve}px) scale(${1 - t * 0.05})`, e.style.opacity = e.dataset.visible === \"true\" ? \"1\" : \"0\";\n }\n O.style.height = `${$[0].height + ($.length - 1) * Ve}px`;\n }\n}\nfunction Vt(t) {\n if (!Number.isFinite(t) || t <= 0) return \"just now\";\n const e = Date.now(), i = t < 1e12 ? t * 1e3 : t, r = Math.max(0, e - i), o = Math.floor(r / 1e3);\n if (o < 60) return \"just now\";\n const n = Math.floor(o / 60);\n if (n < 60) return `${n}m ago`;\n const s = Math.floor(n / 60);\n return s < 24 ? `${s}h ago` : `${Math.floor(s / 24)}d ago`;\n}\nfunction Xt(t, e) {\n if (O) return O;\n const i = document.createElement(\"div\");\n i.className = \"sw-preview-stack\";\n const r = t.startsWith(\"bottom\"), o = t.endsWith(\"right\"), n = 20, s = 48, l = 8;\n return r ? i.style.bottom = `${n + s + l}px` : i.style.top = `${n + s + l}px`, o ? i.style.right = `${n}px` : i.style.left = `${n}px`, i.addEventListener(\"mouseenter\", () => {\n ae = !0, be();\n }), i.addEventListener(\"mouseleave\", () => {\n ae = !1, be();\n }), Y = document.createElement(\"button\"), Y.className = `sw-preview-dismiss sw-dismiss-${e}`, Y.setAttribute(\"aria-label\", \"Dismiss all message previews\"), Y.textContent = \"×\", Y.addEventListener(\"click\", (c) => {\n c.stopPropagation(), xe();\n }), i.appendChild(Y), document.body.appendChild(i), O = i, i;\n}\nfunction Kt(t, e, i, r, o, n) {\n Zt();\n const s = Xt(r, o);\n $.length >= Me && $.pop().el.remove();\n const l = document.createElement(\"div\");\n l.className = `sw-preview-card sw-card-${o}`, l.dataset.visible = \"false\";\n const c = document.createElement(\"div\");\n c.className = \"sw-preview-header\";\n const p = document.createElement(\"div\");\n p.className = \"sw-preview-logo\", p.innerHTML = qt;\n const h = document.createElement(\"div\");\n h.className = \"sw-preview-meta\", h.textContent = `${e || \"Support\"} · ${Vt(i)}`, c.appendChild(p), c.appendChild(h);\n const g = document.createElement(\"div\");\n g.className = \"sw-preview-body\", g.textContent = t, l.appendChild(c), l.appendChild(g), l.addEventListener(\"click\", () => {\n xe(!0), n();\n }), s.appendChild(l);\n const y = l.offsetHeight;\n $.unshift({ el: l, height: y }), be(), requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n l.dataset.visible = \"true\", be();\n });\n });\n}\nfunction xe(t) {\n if (t) {\n for (const i of $) i.el.remove();\n $.length = 0, O && (O.remove(), O = null), Y = null, ae = !1;\n return;\n }\n const e = [...$];\n $.length = 0;\n for (const i of e) {\n i.el.dataset.visible = \"false\", i.el.style.opacity = \"0\";\n const r = () => {\n i.el.removeEventListener(\"transitionend\", r), i.el.remove();\n };\n i.el.addEventListener(\"transitionend\", r), setTimeout(() => i.el.remove(), 300);\n }\n if (O) {\n const i = O;\n O = null, Y = null, ae = !1, setTimeout(() => i.remove(), 350);\n }\n}\nconst nt = \"supportwire-event-rule-executions\";\nfunction st() {\n try {\n const t = localStorage.getItem(nt);\n return t ? JSON.parse(t) : {};\n } catch (t) {\n return {};\n }\n}\nfunction $e(t) {\n return st()[t] || 0;\n}\nfunction Jt(t) {\n try {\n const e = st();\n e[t] = (e[t] || 0) + 1, localStorage.setItem(nt, JSON.stringify(e));\n } catch (e) {\n }\n}\nfunction Qt(t) {\n return t.max_executions == null || t.max_executions <= 0 ? !1 : $e(t.id) >= t.max_executions;\n}\nfunction ei(t, e) {\n try {\n const i = (s) => s.replace(/\\/+$/, \"\");\n if (!e.includes(\"*\"))\n return i(t) === i(e);\n const o = e.split(\"*\").map((s) => {\n let l = \"\";\n for (const c of s)\n \"-/\\\\^$*+?.()|[]{}\".indexOf(c) !== -1 && (l += \"\\\\\"), l += c;\n return l;\n }), n = new RegExp(\"^\" + o.join(\".*\") + \"$\");\n return n.test(t) || n.test(i(t));\n } catch (i) {\n return !1;\n }\n}\nfunction ti(t, e) {\n var r;\n const i = [];\n for (const o of t) {\n if (o.event_name !== \"SW_PAGE_VIEW\") continue;\n const n = (r = o.event_info) == null ? void 0 : r.url;\n if (!n) continue;\n if (Qt(o)) {\n $e(o.id);\n continue;\n }\n ei(e, n) && i.push({\n ruleId: o.id,\n delay: o.delay,\n messagesToSend: o.messages_to_send\n });\n }\n return i;\n}\nfunction ii(t, e) {\n var p;\n for (const h of t)\n (p = h.event_info) != null && p.url, h.max_executions != null && String(h.max_executions), $e(h.id);\n const i = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();\n let o = \"\";\n function n() {\n const h = window.location.href;\n if (h === o) return;\n o = h;\n const g = ti(t, h);\n for (const y of g) {\n if (r.has(y.ruleId))\n continue;\n r.add(y.ruleId);\n const w = (y.delay || 0) * 1e3, T = setTimeout(() => {\n i.delete(T), Jt(y.ruleId), e(y);\n }, w);\n i.add(T);\n }\n }\n const s = history.pushState.bind(history), l = history.replaceState.bind(history);\n history.pushState = function(...h) {\n s(...h), n();\n }, history.replaceState = function(...h) {\n l(...h), n();\n };\n const c = () => n();\n return window.addEventListener(\"popstate\", c), n(), () => {\n for (const h of i) clearTimeout(h);\n i.clear(), history.pushState = s, history.replaceState = l, window.removeEventListener(\"popstate\", c);\n };\n}\nconst ri = \"supportwire\", le = (t, e) => `${ri}-${e}-${t}`, Re = (t, e) => {\n try {\n e ? localStorage.setItem(le(t, \"open\"), \"1\") : localStorage.removeItem(le(t, \"open\"));\n } catch (i) {\n }\n}, oi = (t) => {\n try {\n return localStorage.getItem(le(t, \"open\")) === \"1\";\n } catch (e) {\n return !1;\n }\n}, ni = (t, e) => {\n try {\n localStorage.setItem(le(t, \"widget-size\"), JSON.stringify(e));\n } catch (i) {\n }\n}, si = (t) => {\n try {\n const e = localStorage.getItem(le(t, \"widget-size\"));\n return e ? JSON.parse(e) : null;\n } catch (e) {\n return null;\n }\n};\nvar ai = { success: { pattern: [{ duration: 30, intensity: 0.5 }, { delay: 60, duration: 40, intensity: 1 }] }, warning: { pattern: [{ duration: 40, intensity: 0.8 }, { delay: 100, duration: 40, intensity: 0.6 }] }, error: { pattern: [{ duration: 40, intensity: 0.9 }, { delay: 40, duration: 40, intensity: 0.9 }, { delay: 40, duration: 40, intensity: 0.9 }] }, light: { pattern: [{ duration: 15, intensity: 0.4 }] }, medium: { pattern: [{ duration: 25, intensity: 0.7 }] }, heavy: { pattern: [{ duration: 35, intensity: 1 }] }, soft: { pattern: [{ duration: 40, intensity: 0.5 }] }, rigid: { pattern: [{ duration: 10, intensity: 1 }] }, selection: { pattern: [{ duration: 8, intensity: 0.3 }] }, nudge: { pattern: [{ duration: 80, intensity: 0.8 }, { delay: 80, duration: 50, intensity: 0.3 }] }, buzz: { pattern: [{ duration: 1e3, intensity: 1 }] } }, li = 16, di = 184, Ke = 1e3, ye = 20;\nfunction ci(t) {\n if (typeof t == \"number\") return { vibrations: [{ duration: t }] };\n if (typeof t == \"string\") {\n let e = ai[t];\n return e ? { vibrations: e.pattern.map((i) => G({}, i)) } : (console.warn(`[web-haptics] Unknown preset: \"${t}\"`), null);\n }\n if (Array.isArray(t)) {\n if (t.length === 0) return { vibrations: [] };\n if (typeof t[0] == \"number\") {\n let e = t, i = [];\n for (let r = 0; r < e.length; r += 2) {\n let o = r > 0 ? e[r - 1] : 0;\n i.push(te(G({}, o > 0 && { delay: o }), { duration: e[r] }));\n }\n return { vibrations: i };\n }\n return { vibrations: t.map((e) => G({}, e)) };\n }\n return { vibrations: t.pattern.map((e) => G({}, e)) };\n}\nfunction pi(t, e) {\n if (e >= 1) return [t];\n if (e <= 0) return [];\n let i = Math.max(1, Math.round(ye * e)), r = ye - i, o = [], n = t;\n for (; n >= ye; ) o.push(i), o.push(r), n -= ye;\n if (n > 0) {\n let s = Math.max(1, Math.round(n * e));\n o.push(s);\n let l = n - s;\n l > 0 && o.push(l);\n }\n return o;\n}\nfunction ui(t, e) {\n var r, o;\n let i = [];\n for (let n = 0; n < t.length; n++) {\n let s = t[n], l = Math.max(0, Math.min(1, (r = s.intensity) != null ? r : e)), c = (o = s.delay) != null ? o : 0;\n c > 0 && (i.length > 0 && i.length % 2 === 0 ? i[i.length - 1] += c : (i.length === 0 && i.push(0), i.push(c)));\n let p = pi(s.duration, l);\n if (p.length === 0) {\n i.length > 0 && i.length % 2 === 0 ? i[i.length - 1] += s.duration : s.duration > 0 && (i.push(0), i.push(s.duration));\n continue;\n }\n for (let h of p) i.push(h);\n }\n return i;\n}\nvar hi = 0, D, gi = (D = class {\n constructor(e) {\n L(this, \"hapticLabel\", null);\n L(this, \"domInitialized\", !1);\n L(this, \"instanceId\");\n L(this, \"debug\");\n L(this, \"showSwitch\");\n L(this, \"rafId\", null);\n L(this, \"patternResolve\", null);\n L(this, \"audioCtx\", null);\n L(this, \"audioFilter\", null);\n L(this, \"audioGain\", null);\n L(this, \"audioBuffer\", null);\n var i, r;\n this.instanceId = ++hi, this.debug = (i = e == null ? void 0 : e.debug) != null ? i : !1, this.showSwitch = (r = e == null ? void 0 : e.showSwitch) != null ? r : !1;\n }\n async trigger(e = [{ duration: 25, intensity: 0.7 }], i) {\n var s, l, c, p;\n let r = ci(e);\n if (!r) return;\n let { vibrations: o } = r;\n if (o.length === 0) return;\n let n = Math.max(0, Math.min(1, (s = i == null ? void 0 : i.intensity) != null ? s : 0.5));\n for (let h of o) if (h.duration > Ke && (h.duration = Ke), !Number.isFinite(h.duration) || h.duration < 0 || h.delay !== void 0 && (!Number.isFinite(h.delay) || h.delay < 0)) {\n console.warn(\"[web-haptics] Invalid vibration values. Durations and delays must be finite non-negative numbers.\");\n return;\n }\n if (D.isSupported && navigator.vibrate(ui(o, n)), !D.isSupported || this.debug) {\n if (this.ensureDOM(), !this.hapticLabel) return;\n this.debug && await this.ensureAudio(), this.stopPattern();\n let h = ((c = (l = o[0]) == null ? void 0 : l.delay) != null ? c : 0) === 0;\n if (h && (this.hapticLabel.click(), this.debug && this.audioCtx)) {\n let g = Math.max(0, Math.min(1, (p = o[0].intensity) != null ? p : n));\n this.playClick(g);\n }\n await this.runPattern(o, n, h);\n }\n }\n cancel() {\n this.stopPattern(), D.isSupported && navigator.vibrate(0);\n }\n destroy() {\n this.stopPattern(), this.hapticLabel && (this.hapticLabel.remove(), this.hapticLabel = null, this.domInitialized = !1), this.audioCtx && (this.audioCtx.close(), this.audioCtx = null, this.audioFilter = null, this.audioGain = null, this.audioBuffer = null);\n }\n setDebug(e) {\n this.debug = e, !e && this.audioCtx && (this.audioCtx.close(), this.audioCtx = null, this.audioFilter = null, this.audioGain = null, this.audioBuffer = null);\n }\n setShowSwitch(e) {\n if (this.showSwitch = e, this.hapticLabel) {\n let i = this.hapticLabel.querySelector(\"input\");\n this.hapticLabel.style.display = e ? \"\" : \"none\", i && (i.style.display = e ? \"\" : \"none\");\n }\n }\n stopPattern() {\n var e;\n this.rafId !== null && (cancelAnimationFrame(this.rafId), this.rafId = null), (e = this.patternResolve) == null || e.call(this), this.patternResolve = null;\n }\n runPattern(e, i, r) {\n return new Promise((o) => {\n var g, y;\n this.patternResolve = o;\n let n = [], s = 0;\n for (let w of e) {\n let T = Math.max(0, Math.min(1, (g = w.intensity) != null ? g : i)), b = (y = w.delay) != null ? y : 0;\n b > 0 && (s += b, n.push({ end: s, isOn: !1, intensity: 0 })), s += w.duration, n.push({ end: s, isOn: !0, intensity: T });\n }\n let l = s, c = 0, p = -1, h = (w) => {\n var E, k;\n c === 0 && (c = w);\n let T = w - c;\n if (T >= l) {\n this.rafId = null, this.patternResolve = null, o();\n return;\n }\n let b = n[0];\n for (let x of n) if (T < x.end) {\n b = x;\n break;\n }\n if (b.isOn) {\n let x = li + (1 - b.intensity) * di;\n p === -1 ? (p = w, r || ((E = this.hapticLabel) == null || E.click(), this.debug && this.audioCtx && this.playClick(b.intensity), r = !0)) : w - p >= x && ((k = this.hapticLabel) == null || k.click(), this.debug && this.audioCtx && this.playClick(b.intensity), p = w);\n }\n this.rafId = requestAnimationFrame(h);\n };\n this.rafId = requestAnimationFrame(h);\n });\n }\n playClick(e) {\n if (!this.audioCtx || !this.audioFilter || !this.audioGain || !this.audioBuffer) return;\n let i = this.audioBuffer.getChannelData(0);\n for (let s = 0; s < i.length; s++) i[s] = (Math.random() * 2 - 1) * Math.exp(-s / 25);\n this.audioGain.gain.value = 0.5 * e;\n let r = 2e3 + e * 2e3, o = 1 + (Math.random() - 0.5) * 0.3;\n this.audioFilter.frequency.value = r * o;\n let n = this.audioCtx.createBufferSource();\n n.buffer = this.audioBuffer, n.connect(this.audioFilter), n.onended = () => n.disconnect(), n.start();\n }\n async ensureAudio() {\n var e;\n if (!this.audioCtx && typeof AudioContext < \"u\") {\n this.audioCtx = new AudioContext(), this.audioFilter = this.audioCtx.createBiquadFilter(), this.audioFilter.type = \"bandpass\", this.audioFilter.frequency.value = 4e3, this.audioFilter.Q.value = 8, this.audioGain = this.audioCtx.createGain(), this.audioFilter.connect(this.audioGain), this.audioGain.connect(this.audioCtx.destination);\n let i = 4e-3;\n this.audioBuffer = this.audioCtx.createBuffer(1, this.audioCtx.sampleRate * i, this.audioCtx.sampleRate);\n let r = this.audioBuffer.getChannelData(0);\n for (let o = 0; o < r.length; o++) r[o] = (Math.random() * 2 - 1) * Math.exp(-o / 25);\n }\n ((e = this.audioCtx) == null ? void 0 : e.state) === \"suspended\" && await this.audioCtx.resume();\n }\n ensureDOM() {\n if (this.domInitialized || typeof document > \"u\") return;\n let e = `web-haptics-${this.instanceId}`, i = document.createElement(\"label\");\n i.setAttribute(\"for\", e), i.textContent = \"Haptic feedback\", i.style.position = \"fixed\", i.style.bottom = \"10px\", i.style.left = \"10px\", i.style.padding = \"5px 10px\", i.style.backgroundColor = \"rgba(0, 0, 0, 0.7)\", i.style.color = \"white\", i.style.fontFamily = \"sans-serif\", i.style.fontSize = \"14px\", i.style.borderRadius = \"4px\", i.style.zIndex = \"9999\", i.style.userSelect = \"none\", this.hapticLabel = i;\n let r = document.createElement(\"input\");\n r.type = \"checkbox\", r.setAttribute(\"switch\", \"\"), r.id = e, r.style.all = \"initial\", r.style.appearance = \"auto\", this.showSwitch || (i.style.display = \"none\", r.style.display = \"none\"), i.appendChild(r), document.body.appendChild(i), this.domInitialized = !0;\n }\n}, L(D, \"isSupported\", typeof navigator < \"u\" && typeof navigator.vibrate == \"function\"), D);\nconst oe = new gi(), X = class X {\n constructor(e) {\n var i, r, o;\n if (this.iframe = null, this.container = null, this.trigger = null, this.isOpen = !1, this.isExpanded = !1, this.messageHandler = null, this.unreadCount = 0, this.titleModified = !1, this.visibilityHandler = null, this.eventRuleCleanup = null, this.triggerClickHandler = null, this.guideBridgeTeardown = null, !e.widgetSlug || typeof e.widgetSlug != \"string\" || e.widgetSlug.trim() === \"\")\n throw new Error(\"widgetSlug is required in widget config\");\n this.config = {\n widgetSlug: e.widgetSlug,\n appUrl: e.appUrl,\n selector: e.selector,\n theme: e.theme || \"light\",\n triggerPosition: e.triggerPosition || \"bottom-right\",\n widgetType: e.widgetType || \"popup\",\n userToken: e.userToken || \"\",\n userEmail: e.userEmail || \"\",\n userExternalUserId: e.userExternalUserId || \"\",\n userSignature: e.userSignature || \"\",\n userData: (i = e.userData) != null ? i : {},\n hideOnLaunch: (r = e.hideOnLaunch) != null ? r : !1,\n enableScreenshot: (o = e.enableScreenshot) != null ? o : !1,\n onOpen: e.onOpen || (() => {\n }),\n onClose: e.onClose || (() => {\n }),\n onError: e.onError || ((n) => console.error(\"SupportWireWidget error:\", n))\n }, this.iframeId = bt(), this.widgetUrl = this.buildWidgetUrl(), X.instances.set(this.iframeId, this), this.init();\n }\n updateDocumentTitle(e) {\n e > 0 && document.hidden ? (document.title = `(${e}) ${document.title.replace(/^\\(\\d+\\) /, \"\")}`, this.titleModified = !0) : this.titleModified && (document.title = document.title.replace(/^\\(\\d+\\) /, \"\"), this.titleModified = !1);\n }\n /**\n * Gets the localStorage key for unread count\n */\n getUnreadCountKey() {\n return `supportwire-unread-count-${this.config.widgetSlug}`;\n }\n /**\n * Loads unread count from localStorage\n */\n loadUnreadCountFromStorage() {\n if (typeof window == \"undefined\")\n return 0;\n try {\n const e = this.getUnreadCountKey(), i = localStorage.getItem(e);\n if (i) {\n const r = parseInt(i, 10);\n return isNaN(r) ? 0 : r;\n }\n } catch (e) {\n console.error(\"Failed to load unread count from localStorage:\", e);\n }\n return 0;\n }\n /**\n * Saves unread count to localStorage\n */\n saveUnreadCountToStorage(e) {\n if (typeof window != \"undefined\")\n try {\n const i = this.getUnreadCountKey();\n e > 0 ? localStorage.setItem(i, String(e)) : localStorage.removeItem(i);\n } catch (i) {\n console.error(\"Failed to save unread count to localStorage:\", i);\n }\n }\n buildWidgetUrl() {\n return `${yt(this.config.appUrl)}/w/${this.config.widgetSlug.trim()}/chat`;\n }\n init() {\n try {\n this.unreadCount = this.loadUnreadCountFromStorage(), this.createContainer(), this.createIframe(), this.setupMessageHandler(), this.setupTrigger(), this.config.hideOnLaunch && this.trigger && (this.trigger.style.display = \"none\"), this.unreadCount > 0 && (this.trigger && we(this.trigger, this.unreadCount), this.updateDocumentTitle(this.unreadCount)), this.visibilityHandler = () => {\n !document.hidden && this.titleModified && this.updateDocumentTitle(0);\n }, document.addEventListener(\"visibilitychange\", this.visibilityHandler), oi(this.config.widgetSlug) && this.open();\n } catch (e) {\n this.config.onError(e instanceof Error ? e : new Error(String(e)));\n }\n }\n createContainer() {\n this.container = document.createElement(\"div\"), this.container.id = `${this.config.widgetSlug}-container`, this.container.className = `supportwire-widget-container supportwire-${this.config.widgetType}`, xt(), Be(this.container, this.config);\n const e = si(this.config.widgetSlug);\n e && this.config.widgetType === \"popup\" && (this.container.style.width = `${e.width}px`, this.container.style.height = `${e.height}px`), this.config.widgetType === \"popup\" && this.addResizeHandle(this.container), this.config.widgetType === \"popup\" && !this.config.selector && Ct(this.container, this.config.triggerPosition, this.config.theme), document.body.appendChild(this.container);\n }\n createIframe() {\n this.container && (this.iframe = Lt(\n this.container,\n this.iframeId,\n this.widgetUrl,\n this.config.theme\n ));\n }\n setupMessageHandler() {\n this.messageHandler = Ft(\n this.iframeId,\n this.widgetUrl,\n this.container,\n {\n onReady: () => {\n this.sendMessageToIframe({\n type: \"CONFIG\",\n config: {\n widgetSlug: this.config.widgetSlug,\n theme: this.config.theme,\n triggerPosition: this.config.triggerPosition,\n widgetType: this.config.widgetType,\n userToken: this.config.userToken,\n userEmail: this.config.userEmail,\n userSignature: this.config.userSignature,\n userData: this.config.userData,\n enableScreenshot: this.config.enableScreenshot\n }\n });\n },\n onOpen: () => {\n this.isOpen = !0, this.unreadCount = 0, this.saveUnreadCountToStorage(0), this.trigger && we(this.trigger, 0), this.config.onOpen();\n },\n onClose: () => {\n this.isOpen = !1, Re(this.config.widgetSlug, !1), this.trigger && (Se(this.trigger, !1, this.config.theme), window.innerWidth <= 480 && (this.trigger.style.display = \"\")), this.config.onClose();\n },\n onError: this.config.onError,\n onUnreadCount: (e) => {\n e > this.unreadCount && oe.trigger(\"selection\"), this.unreadCount = e, this.saveUnreadCountToStorage(e), this.trigger && we(this.trigger, e), this.updateDocumentTitle(e);\n },\n onImagePreview: (e, i, r) => {\n Ut(e, i, r, (o) => {\n qe(\n o,\n (n) => {\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_RESULT\",\n payload: { dataUrl: n }\n });\n },\n () => {\n }\n );\n });\n },\n onToggleFullscreen: () => {\n this.toggleExpand();\n },\n onMessagePreview: (e, i, r) => {\n this.isOpen || Kt(e, i, r, this.config.triggerPosition, this.config.theme, () => this.open());\n },\n onScreenshotRequest: (e) => {\n this.capturePageScreenshot(e);\n },\n onEventRulesRegistered: (e) => {\n this.eventRuleCleanup && (this.eventRuleCleanup(), this.eventRuleCleanup = null), e.length !== 0 && (this.eventRuleCleanup = ii(e, (i) => {\n this.sendMessageToIframe({\n type: \"EVENT_RULE_MATCHED\",\n eventRule: {\n ruleId: i.ruleId,\n delay: i.delay,\n messagesToSend: i.messagesToSend\n }\n });\n }));\n }\n }\n ), window.addEventListener(\"message\", this.messageHandler), this.iframe && (this.guideBridgeTeardown = Pt(this.iframe, this.iframeId).teardown);\n }\n setupTrigger() {\n if (this.triggerClickHandler = () => this.toggle(), this.config.selector) {\n const e = document.querySelector(this.config.selector);\n e ? (this.trigger = e, this.trigger.addEventListener(\"click\", this.triggerClickHandler)) : (console.warn(`SupportWireWidget: Selector \"${this.config.selector}\" not found. Creating default trigger.`), this.createDefaultTrigger());\n } else\n this.createDefaultTrigger();\n }\n createDefaultTrigger() {\n this.triggerClickHandler || (this.triggerClickHandler = () => this.toggle()), this.trigger = Rt(this.config, this.triggerClickHandler);\n }\n sendMessageToIframe(e) {\n Ot(this.iframe, this.iframeId, this.widgetUrl, e);\n }\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n open() {\n !this.container || !this.iframe || (xe(!0), this.showTrigger(), this.isOpen = !0, oe.trigger(\"medium\"), Re(this.config.widgetSlug, !0), this.container.style.display = \"block\", Qe(this.container), this.unreadCount = 0, this.saveUnreadCountToStorage(0), this.updateDocumentTitle(0), this.trigger && (we(this.trigger, 0), Se(this.trigger, !0, this.config.theme), window.innerWidth <= 480 && (this.trigger.style.display = \"none\")), this.sendMessageToIframe({ type: \"OPEN\" }));\n }\n close() {\n this.container && (this.isOpen = !1, oe.trigger(\"light\"), Re(this.config.widgetSlug, !1), this.trigger && (Se(this.trigger, !1, this.config.theme), window.innerWidth <= 480 && (this.trigger.style.display = \"\")), et(this.container), this.sendMessageToIframe({ type: \"CLOSE\" }));\n }\n showTrigger() {\n this.trigger && (this.trigger.style.display = \"\");\n }\n hideTrigger() {\n this.trigger && (this.trigger.style.display = \"none\");\n }\n addResizeHandle(e) {\n const i = document.createElement(\"div\");\n i.innerHTML = `<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" style=\"opacity:0.3;transform:rotate(180deg)\">\n\t\t\t<line x1=\"9\" y1=\"1\" x2=\"1\" y2=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n\t\t\t<line x1=\"9\" y1=\"5\" x2=\"5\" y2=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n\t\t</svg>`, Object.assign(i.style, {\n position: \"absolute\",\n top: \"4px\",\n left: \"4px\",\n width: \"20px\",\n height: \"20px\",\n cursor: \"nw-resize\",\n zIndex: \"10\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"var(--muted-foreground, #999)\",\n borderRadius: \"4px\"\n }), i.addEventListener(\"mouseenter\", () => {\n const g = i.querySelector(\"svg\");\n g && (g.style.opacity = \"0.6\");\n }), i.addEventListener(\"mouseleave\", () => {\n const g = i.querySelector(\"svg\");\n g && (g.style.opacity = \"0.3\");\n });\n const r = 320, o = 700, n = 400;\n i.addEventListener(\"dblclick\", (g) => {\n g.stopPropagation(), oe.trigger(\"light\"), window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || (e.style.willChange = \"width, height\", e.style.transition = \"width 250ms cubic-bezier(0.22, 1, 0.36, 1), height 250ms cubic-bezier(0.22, 1, 0.36, 1), max-height 250ms cubic-bezier(0.22, 1, 0.36, 1)\", setTimeout(() => {\n e.style.willChange = \"\", e.style.transition = \"width 200ms ease-out, height 200ms ease-out\";\n }, 270)), e.style.width = \"min(400px, max(0px, -20px + 100vw))\", e.style.height = \"min(704px, 100% - 104px)\", e.style.maxHeight = \"704px\";\n try {\n localStorage.removeItem(`supportwire-widget-size-${this.config.widgetSlug}`);\n } catch (w) {\n }\n });\n let s = !1, l = 0, c = 0, p = 0, h = 0;\n i.addEventListener(\"pointerdown\", (g) => {\n g.stopPropagation(), g.preventDefault(), s = !0, l = g.clientX, c = g.clientY;\n const y = e.getBoundingClientRect();\n p = y.width, h = y.height, i.setPointerCapture(g.pointerId), e.style.transition = \"none\";\n }), i.addEventListener(\"pointermove\", (g) => {\n if (!s) return;\n const y = l - g.clientX, w = c - g.clientY, T = parseInt(e.style.right) || 20, b = parseInt(e.style.bottom) || 84, E = Math.min(o, window.innerWidth - T - 20), k = window.innerHeight - b - 20, x = Math.max(r, Math.min(E, p + y)), I = Math.max(n, Math.min(k, h + w));\n e.style.width = `${x}px`, e.style.height = `${I}px`, e.style.maxHeight = `${I}px`;\n }), i.addEventListener(\"pointerup\", (g) => {\n if (!s) return;\n s = !1, i.releasePointerCapture(g.pointerId), e.style.transition = \"\";\n const y = e.getBoundingClientRect();\n ni(this.config.widgetSlug, {\n width: Math.round(y.width),\n height: Math.round(y.height)\n });\n }), e.appendChild(i);\n }\n toggleExpand() {\n if (!this.container) return;\n oe.trigger(\"medium\"), window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || (this.container.style.willChange = \"width, height\", this.container.style.transition = \"width 300ms cubic-bezier(0.22, 1, 0.36, 1), height 300ms cubic-bezier(0.22, 1, 0.36, 1), max-height 300ms cubic-bezier(0.22, 1, 0.36, 1), bottom 300ms cubic-bezier(0.22, 1, 0.36, 1)\", setTimeout(() => {\n this.container && (this.container.style.willChange = \"\", this.container.style.transition = \"width 200ms ease-out, height 200ms ease-out\");\n }, 320)), this.isExpanded ? (this.container.style.width = \"min(400px, max(0px, -20px + 100vw))\", this.container.style.height = \"min(704px, 100% - 104px)\", this.container.style.maxHeight = \"704px\", this.container.style.bottom = \"84px\", this.isExpanded = !1) : (this.container.style.width = \"min(688px, max(0px, -20px + 100vw))\", this.container.style.height = \"calc(100% - 40px)\", this.container.style.maxHeight = \"calc(100% - 40px)\", this.container.style.bottom = \"20px\", this.isExpanded = !0);\n }\n async capturePageScreenshot(e) {\n var i, r;\n try {\n const o = (i = this.container) == null ? void 0 : i.style.display, n = (r = this.trigger) == null ? void 0 : r.style.display;\n this.container && (this.container.style.display = \"none\"), this.trigger && (this.trigger.style.display = \"none\");\n const { snapdom: s } = await import(\"./snapdom-6yvsn_Iv.js\"), c = (await s.toCanvas(document.documentElement, { scale: 1 })).toDataURL(\"image/png\");\n this.container && (this.container.style.display = o != null ? o : \"\"), this.trigger && (this.trigger.style.display = n != null ? n : \"\"), qe(\n c,\n (p) => {\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_RESULT\",\n payload: { dataUrl: p }\n });\n },\n () => {\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_ERROR\",\n payload: { error: \"Screenshot cancelled\" }\n });\n }\n );\n } catch (o) {\n this.container && (this.container.style.display = \"\"), this.trigger && (this.trigger.style.display = \"\");\n const n = o instanceof Error ? o.message : \"Screenshot capture failed\";\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_ERROR\",\n payload: { error: n }\n });\n }\n }\n updateConfig(e) {\n const i = G({}, this.config);\n e.appUrl !== void 0 && (this.config.appUrl = e.appUrl), e.theme !== void 0 && (this.config.theme = e.theme), e.triggerPosition !== void 0 && (this.config.triggerPosition = e.triggerPosition), e.widgetType !== void 0 && (this.config.widgetType = e.widgetType), e.userToken !== void 0 && (this.config.userToken = e.userToken), e.userEmail !== void 0 && (this.config.userEmail = e.userEmail), e.userSignature !== void 0 && (this.config.userSignature = e.userSignature), e.userData !== void 0 && (this.config.userData = e.userData), e.onOpen !== void 0 && (this.config.onOpen = e.onOpen), e.onClose !== void 0 && (this.config.onClose = e.onClose), e.onError !== void 0 && (this.config.onError = e.onError), e.hideOnLaunch !== void 0 && (this.config.hideOnLaunch = e.hideOnLaunch, this.trigger && (this.trigger.style.display = e.hideOnLaunch ? \"none\" : \"\")), e.enableScreenshot !== void 0 && (this.config.enableScreenshot = e.enableScreenshot);\n const r = e.appUrl !== void 0 && e.appUrl !== i.appUrl, o = e.theme !== void 0 && e.theme !== i.theme;\n (r || o) && (o && this.sendMessageToIframe({\n type: \"THEME\",\n theme: e.theme\n }), this.iframe && (this.widgetUrl = this.buildWidgetUrl(), this.iframe.src = `${this.widgetUrl}?iframeId=${this.iframeId}&theme=${this.config.theme}`)), e.widgetType !== void 0 && e.widgetType !== i.widgetType && this.container && Be(this.container, this.config), e.triggerPosition !== void 0 && this.trigger && !this.config.selector && (Mt(this.trigger, this.config.triggerPosition), this.config.widgetType === \"popup\" && this.container && kt(this.container, this.config.triggerPosition, this.config.widgetType)), this.sendMessageToIframe({\n type: \"UPDATE_CONFIG\",\n config: e\n });\n }\n sendMessage(e, i) {\n if (!e || typeof e != \"string\" || e.trim() === \"\") {\n this.config.onError(new Error(\"Message must be a non-empty string\"));\n return;\n }\n (i == null ? void 0 : i.openWidget) !== !1 && !this.isOpen && this.open(), this.sendMessageToIframe({\n type: \"SEND_MESSAGE\",\n message: e,\n openWidget: i == null ? void 0 : i.openWidget\n });\n }\n destroy() {\n xe(!0), this.updateDocumentTitle(0), this.eventRuleCleanup && (this.eventRuleCleanup(), this.eventRuleCleanup = null), this.visibilityHandler && (document.removeEventListener(\"visibilitychange\", this.visibilityHandler), this.visibilityHandler = null), this.messageHandler && (window.removeEventListener(\"message\", this.messageHandler), this.messageHandler = null), this.guideBridgeTeardown && (this.guideBridgeTeardown(), this.guideBridgeTeardown = null), this.trigger && this.triggerClickHandler && this.trigger.removeEventListener(\"click\", this.triggerClickHandler), this.trigger && !this.config.selector && this.trigger.remove(), this.trigger = null, this.triggerClickHandler = null, this.container && (this.container.remove(), this.container = null), this.iframe = null, this.isOpen = !1, X.instances.delete(this.iframeId);\n }\n /**\n * Returns all initialized widget instances, optionally filtered by widgetSlug.\n */\n static getInstances(e) {\n const i = Array.from(X.instances.values());\n return e !== void 0 ? i.filter((r) => r.config.widgetSlug === e) : i;\n }\n};\nX.instances = /* @__PURE__ */ new Map();\nlet Je = X;\nexport {\n Je as default\n};\n//# sourceMappingURL=index.js.map\n","import type { IntercomSettings } from './types.js';\n\n/** Standard Intercom keys we extract directly; the rest become custom attrs. */\nconst KNOWN_KEYS: ReadonlyArray<keyof IntercomSettings> = [\n\t'app_id',\n\t'user_id',\n\t'email',\n\t'user_hash',\n\t'name',\n\t'created_at',\n\t'phone',\n\t'avatar',\n\t'unsubscribed_from_emails',\n\t'language_override',\n\t'utm_campaign',\n\t'utm_content',\n\t'utm_medium',\n\t'utm_source',\n\t'utm_term',\n\t'page_title',\n\t'company',\n\t'companies',\n\t'alignment',\n\t'horizontal_padding',\n\t'vertical_padding',\n\t'hide_default_launcher',\n\t'hide_notifications',\n\t'custom_launcher_selector',\n\t'z_index',\n\t'action_color',\n\t'background_color',\n\t'link_color',\n\t'theme_mode',\n\t'session_duration',\n\t'region',\n\t'api_base'\n];\n\nexport interface MappedWidgetConfig {\n\twidgetSlug: string;\n\tuserEmail?: string;\n\tuserExternalUserId?: string;\n\tuserSignature?: string;\n\tuserData: Record<string, unknown>;\n\ttheme?: 'light' | 'dark';\n\tselector?: string;\n\thideOnLaunch?: boolean;\n\ttriggerPosition?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n}\n\n/**\n * Translate Intercom settings → SupportWireWidget config. Unknown keys\n * collapse into `userData` so customer-side custom attributes survive the\n * shim. `app_id` becomes `widgetSlug` (1:1).\n */\nexport function mapSettings(settings: IntercomSettings): MappedWidgetConfig {\n\tconst customAttrs: Record<string, unknown> = {};\n\n\tfor (const [key, value] of Object.entries(settings)) {\n\t\tif (!KNOWN_KEYS.includes(key as keyof IntercomSettings)) {\n\t\t\tcustomAttrs[key] = value;\n\t\t}\n\t}\n\n\t// Standard profile fields that Intercom uses but we don't surface as\n\t// first-class — keep them in attributes so admin sees the data.\n\tif (settings.name !== undefined) customAttrs.name = settings.name;\n\tif (settings.phone !== undefined) customAttrs.phone = settings.phone;\n\tif (settings.created_at !== undefined) customAttrs.created_at = settings.created_at;\n\tif (settings.company !== undefined) customAttrs.company = settings.company;\n\tif (settings.companies !== undefined) customAttrs.companies = settings.companies;\n\tif (settings.unsubscribed_from_emails !== undefined) {\n\t\tcustomAttrs.unsubscribed_from_emails = settings.unsubscribed_from_emails;\n\t}\n\n\treturn {\n\t\twidgetSlug: String(settings.app_id),\n\t\tuserEmail: typeof settings.email === 'string' ? settings.email : undefined,\n\t\tuserExternalUserId: typeof settings.user_id === 'string' ? settings.user_id : undefined,\n\t\tuserSignature: typeof settings.user_hash === 'string' ? settings.user_hash : undefined,\n\t\tuserData: customAttrs,\n\t\ttheme:\n\t\t\tsettings.theme_mode === 'dark' || settings.theme_mode === 'light'\n\t\t\t\t? settings.theme_mode\n\t\t\t\t: undefined,\n\t\tselector:\n\t\t\ttypeof settings.custom_launcher_selector === 'string'\n\t\t\t\t? settings.custom_launcher_selector\n\t\t\t\t: undefined,\n\t\thideOnLaunch:\n\t\t\ttypeof settings.hide_default_launcher === 'boolean'\n\t\t\t\t? settings.hide_default_launcher\n\t\t\t\t: undefined,\n\t\ttriggerPosition: mapAlignment(settings.alignment)\n\t};\n}\n\nfunction mapAlignment(\n\talignment: 'left' | 'right' | undefined\n): 'bottom-left' | 'bottom-right' | undefined {\n\tif (alignment === 'left') return 'bottom-left';\n\tif (alignment === 'right') return 'bottom-right';\n\treturn undefined;\n}\n","import SupportWireWidget from 'widget-loader';\nimport { mapSettings } from './settings-map.js';\nimport type {\n\tIntercomSettings,\n\tQueuedCall,\n\tUnreadCountListener,\n\tShowListener,\n\tHideListener,\n\tUserEmailSuppliedListener\n} from './types.js';\n\ndeclare global {\n\tinterface Window {\n\t\tSupportWireMessenger?: SupportWireMessengerStub;\n\t}\n}\n\ninterface SupportWireMessengerStub {\n\t(...args: unknown[]): void;\n\tq?: QueuedCall[];\n}\n\n/**\n * Module-level singleton. Intercom assumes a single messenger per page,\n * keyed by `app_id`. We follow the same model — calling `Intercom({...})`\n * twice with different `app_id`s replaces the instance.\n */\nlet instance: SupportWireWidget | null = null;\nlet currentSettings: IntercomSettings | null = null;\n\nconst showListeners = new Set<ShowListener>();\nconst hideListeners = new Set<HideListener>();\nconst unreadListeners = new Set<UnreadCountListener>();\nconst emailListeners = new Set<UserEmailSuppliedListener>();\n\nlet lastUnreadCount = 0;\nlet lastSuppliedEmail: string | null = null;\n\nfunction installQueueStub(): SupportWireMessengerStub {\n\tif (typeof window === 'undefined') return makeQueueStub();\n\tif (window.SupportWireMessenger) return window.SupportWireMessenger;\n\n\tconst stub = makeQueueStub();\n\twindow.SupportWireMessenger = stub;\n\treturn stub;\n}\n\nfunction makeQueueStub(): SupportWireMessengerStub {\n\tconst queue: QueuedCall[] = [];\n\tconst stub: SupportWireMessengerStub = (...args: unknown[]) => {\n\t\tqueue.push(args as QueuedCall);\n\t};\n\tstub.q = queue;\n\treturn stub;\n}\n\nfunction drainQueue(): void {\n\tif (typeof window === 'undefined') return;\n\tconst stub = window.SupportWireMessenger;\n\tif (!stub || !stub.q) return;\n\tconst queued = stub.q.slice();\n\tstub.q.length = 0;\n\n\t// Replace stub with a live dispatcher.\n\tconst live: SupportWireMessengerStub = (...args: unknown[]) => {\n\t\tconst [method, ...rest] = args;\n\t\tdispatch(method as string, ...rest);\n\t};\n\tlive.q = [];\n\twindow.SupportWireMessenger = live;\n\n\tfor (const call of queued) {\n\t\tconst [method, ...rest] = call;\n\t\tdispatch(method as string, ...rest);\n\t}\n}\n\nfunction dispatch(method: string, ...args: unknown[]): void {\n\tswitch (method) {\n\t\tcase 'boot':\n\t\t\tboot(args[0] as IntercomSettings);\n\t\t\tbreak;\n\t\tcase 'update':\n\t\t\tupdate(args[0] as Partial<IntercomSettings>);\n\t\t\tbreak;\n\t\tcase 'shutdown':\n\t\t\tshutdown();\n\t\t\tbreak;\n\t\tcase 'show':\n\t\t\tshow();\n\t\t\tbreak;\n\t\tcase 'hide':\n\t\t\thide();\n\t\t\tbreak;\n\t\tcase 'showNewMessage':\n\t\t\tshowNewMessage(args[0] as string | undefined);\n\t\t\tbreak;\n\t\tcase 'trackEvent':\n\t\t\ttrackEvent(args[0] as string, args[1] as Record<string, unknown> | undefined);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// Unknown command — log once and continue.\n\t\t\tconsole.warn(`[SupportWireMessenger] unknown command: ${method}`);\n\t}\n}\n\n/** Boot (or re-boot) the messenger with the given settings. */\nexport function boot(settings: IntercomSettings): void {\n\tif (typeof window === 'undefined') return;\n\tif (!settings || typeof settings.app_id !== 'string' || settings.app_id === '') {\n\t\tthrow new Error('[SupportWireMessenger] `app_id` is required');\n\t}\n\n\tinstallQueueStub();\n\n\t// Same app_id and instance already alive → update instead of re-mount.\n\tif (instance && currentSettings && currentSettings.app_id === settings.app_id) {\n\t\tupdate(settings);\n\t\treturn;\n\t}\n\n\tif (instance) {\n\t\tinstance.destroy();\n\t\tinstance = null;\n\t}\n\n\tconst cfg = mapSettings(settings);\n\tcurrentSettings = settings;\n\n\tconst widgetSlug = cfg.widgetSlug;\n\tconst previousEmail = lastSuppliedEmail;\n\n\tinstance = new SupportWireWidget({\n\t\twidgetSlug,\n\t\tuserEmail: cfg.userEmail,\n\t\tuserExternalUserId: cfg.userExternalUserId,\n\t\tuserSignature: cfg.userSignature,\n\t\tuserData: cfg.userData,\n\t\ttheme: cfg.theme,\n\t\tselector: cfg.selector,\n\t\thideOnLaunch: cfg.hideOnLaunch,\n\t\ttriggerPosition: cfg.triggerPosition,\n\t\tonOpen: () => {\n\t\t\tfor (const cb of showListeners) cb();\n\t\t},\n\t\tonClose: () => {\n\t\t\tfor (const cb of hideListeners) cb();\n\t\t}\n\t});\n\n\tif (cfg.userEmail && cfg.userEmail !== previousEmail) {\n\t\tlastSuppliedEmail = cfg.userEmail;\n\t\tfor (const cb of emailListeners) cb();\n\t}\n\n\tdrainQueue();\n}\n\n/** Cheap idempotent update — diff against current settings before forwarding. */\nexport function update(partial: Partial<IntercomSettings>): void {\n\tif (!instance) {\n\t\t// Allow `update` to behave like `boot` when called pre-boot with a full\n\t\t// settings object (Intercom does this too).\n\t\tif (partial && typeof partial.app_id === 'string') {\n\t\t\tboot(partial as IntercomSettings);\n\t\t}\n\t\treturn;\n\t}\n\n\tconst merged = { ...(currentSettings ?? {}), ...partial } as IntercomSettings;\n\tconst previousEmail = lastSuppliedEmail;\n\n\tcurrentSettings = merged;\n\tconst cfg = mapSettings(merged);\n\n\tinstance.updateConfig({\n\t\tuserEmail: cfg.userEmail || undefined,\n\t\tuserExternalUserId: cfg.userExternalUserId || undefined,\n\t\tuserSignature: cfg.userSignature || undefined,\n\t\tuserData: cfg.userData,\n\t\ttheme: cfg.theme\n\t});\n\n\tif (cfg.userEmail && cfg.userEmail !== previousEmail) {\n\t\tlastSuppliedEmail = cfg.userEmail;\n\t\tfor (const cb of emailListeners) cb();\n\t}\n}\n\n/**\n * Destroy the messenger and scrub session-local state so the next visitor\n * boots clean (Intercom's `shutdown` semantics).\n */\nexport function shutdown(): void {\n\tif (!instance) return;\n\tconst slug = currentSettings?.app_id;\n\tinstance.destroy();\n\tinstance = null;\n\tcurrentSettings = null;\n\tlastSuppliedEmail = null;\n\tlastUnreadCount = 0;\n\n\tif (typeof window !== 'undefined' && typeof localStorage !== 'undefined' && typeof slug === 'string') {\n\t\tfor (const key of Object.keys(localStorage)) {\n\t\t\tif (\n\t\t\t\tkey === `supportwire-unread-count-${slug}` ||\n\t\t\t\tkey.startsWith(`supportwire-widget-`) && key.endsWith(`-${slug}`)\n\t\t\t) {\n\t\t\t\ttry {\n\t\t\t\t\tlocalStorage.removeItem(key);\n\t\t\t\t} catch {\n\t\t\t\t\t/* ignore */\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function show(): void {\n\tinstance?.open();\n}\n\nexport function hide(): void {\n\tinstance?.close();\n}\n\n/**\n * Open the messenger with a pre-populated composer. We currently don't\n * support pre-filling the composer end-to-end, so we open and (if content\n * supplied) send it as a message — Intercom's `showNewMessage` is closer\n * to a hint than a guarantee, so call sites usually tolerate the delta.\n */\nexport function showNewMessage(content?: string): void {\n\tif (!instance) return;\n\tinstance.open();\n\tif (content && content.trim() !== '') {\n\t\tinstance.sendMessage(content);\n\t}\n}\n\nlet trackEventWarned = false;\nexport function trackEvent(name: string, _metadata?: Record<string, unknown>): void {\n\tif (!trackEventWarned) {\n\t\tconsole.warn(\n\t\t\t`[SupportWireMessenger] trackEvent(\"${name}\", ...) is a no-op until POST /v2/track_event ships.`\n\t\t);\n\t\ttrackEventWarned = true;\n\t}\n}\n\nexport function onShow(cb: ShowListener): () => void {\n\tshowListeners.add(cb);\n\treturn () => showListeners.delete(cb);\n}\n\nexport function onHide(cb: HideListener): () => void {\n\thideListeners.add(cb);\n\treturn () => hideListeners.delete(cb);\n}\n\nexport function onUnreadCountChange(cb: UnreadCountListener): () => void {\n\tunreadListeners.add(cb);\n\t// Immediately deliver the last-known count so late subscribers see state.\n\tcb(lastUnreadCount);\n\treturn () => unreadListeners.delete(cb);\n}\n\nexport function onUserEmailSupplied(cb: UserEmailSuppliedListener): () => void {\n\temailListeners.add(cb);\n\treturn () => emailListeners.delete(cb);\n}\n\nlet hideNotificationsWarned = false;\nexport function hideNotifications(_hidden: boolean): void {\n\tif (!hideNotificationsWarned) {\n\t\tconsole.warn(\n\t\t\t'[SupportWireMessenger] hideNotifications is a no-op for now; preview suppression lives in the widget app.'\n\t\t);\n\t\thideNotificationsWarned = true;\n\t}\n}\n\nexport function getVisitorId(): string | null {\n\t// Without a synchronous round-trip to the widget app we can't resolve\n\t// the live interactor id; Intercom's API is synchronous so we return\n\t// null for now. Async access can be added if/when needed.\n\treturn null;\n}\n\nexport function whoami(): null {\n\treturn null;\n}\n\nconst noopWarnedMap: Map<string, boolean> = new Map();\n\nfunction noop(method: string): (..._args: unknown[]) => void {\n\treturn (..._args: unknown[]) => {\n\t\tif (!noopWarnedMap.get(method)) {\n\t\t\tconsole.warn(`[SupportWireMessenger] ${method} is not implemented; ignoring call.`);\n\t\t\tnoopWarnedMap.set(method, true);\n\t\t}\n\t};\n}\n\nexport const startTour = noop('startTour');\nexport const showArticle = noop('showArticle');\nexport const showNews = noop('showNews');\nexport const startSurvey = noop('startSurvey');\nexport const startChecklist = noop('startChecklist');\nexport const showTicket = noop('showTicket');\nexport const showConversation = noop('showConversation');\nexport const showSpace = noop('showSpace');\nexport const showMessages = noop('showMessages');\n\n/* Used by index.ts to forward unread-count updates from the loader. Not\n * exported publicly — wiring lives inside the package. */\nexport function _emitUnreadCount(count: number): void {\n\tlastUnreadCount = count;\n\tfor (const cb of unreadListeners) cb(count);\n}\n","import {\n\tboot,\n\tupdate,\n\tshutdown,\n\tshow,\n\thide,\n\tshowNewMessage,\n\ttrackEvent,\n\tonShow,\n\tonHide,\n\tonUnreadCountChange,\n\tonUserEmailSupplied,\n\thideNotifications,\n\tgetVisitorId,\n\twhoami,\n\tstartTour,\n\tshowArticle,\n\tshowNews,\n\tstartSurvey,\n\tstartChecklist,\n\tshowTicket,\n\tshowConversation,\n\tshowSpace,\n\tshowMessages\n} from './manager.js';\nimport type { IntercomSettings } from './types.js';\n\n/**\n * Boot the SupportWire messenger. Accepts Intercom-shape settings so\n * `@intercom/messenger-js-sdk` integrations can drop this package in by\n * renaming the import:\n *\n * ```js\n * import SupportWire from '@supportwire/messenger-js-sdk';\n * SupportWire({ app_id: '<widget-slug>', user_id, email, user_hash });\n * ```\n *\n * For a literal drop-in, the same default export can be imported under\n * the name `Intercom` — default imports are renamed at the call site:\n *\n * ```js\n * import Intercom from '@supportwire/messenger-js-sdk';\n * Intercom({ app_id: '<widget-slug>' });\n * ```\n */\nfunction SupportWire(settings: IntercomSettings): void {\n\tboot(settings);\n}\n\nexport default SupportWire;\n\nexport {\n\tSupportWire,\n\tboot,\n\tupdate,\n\tshutdown,\n\tshow,\n\thide,\n\tshowNewMessage,\n\ttrackEvent,\n\tonShow,\n\tonHide,\n\tonUnreadCountChange,\n\tonUserEmailSupplied,\n\thideNotifications,\n\tgetVisitorId,\n\twhoami,\n\tstartTour,\n\tshowArticle,\n\tshowNews,\n\tstartSurvey,\n\tstartChecklist,\n\tshowTicket,\n\tshowConversation,\n\tshowSpace,\n\tshowMessages\n};\n\nexport type { IntercomSettings, IntercomSettings as SupportWireSettings } from './types.js';\n"],"names":["ht","gt","mt","De","ft","wt","ke","t","e","G","te","L","yt","bt","xt","Qe","et","vt","Et","Ct","r","o","Be","i","s","l","c","kt","St","Tt","It","Rt","p","h","n","Mt","$t","we","Se","Lt","Ot","Ft","Pt","g","y","w","T","b","U","ne","tt","Gt","Nt","At","_t","Ht","Te","We","zt","ie","Ut","E","k","x","I","Z","se","it","u","Dt","Bt","Ie","rt","je","ot","Wt","Ye","jt","Yt","re","qe","S","z","q","de","V","ce","ve","K","C","B","F","J","P","Le","at","Oe","d","_e","Fe","lt","pe","Pe","Ee","N","fe","Ge","ue","Q","A","Ne","W","Ae","M","R","_","ct","he","ge","me","ut","ee","dt","Ce","He","ze","v","pt","j","Ue","Me","Ze","Ve","qt","O","ae","Xe","Zt","be","Vt","Xt","xe","Kt","nt","st","$e","Jt","Qt","ei","ti","ii","ri","le","Re","oi","ni","si","ai","li","di","Ke","ye","ci","pi","ui","hi","D","gi","X","Je","KNOWN_KEYS","mapSettings","settings","customAttrs","key","value","mapAlignment","alignment","instance","currentSettings","showListeners","hideListeners","unreadListeners","emailListeners","lastUnreadCount","lastSuppliedEmail","installQueueStub","makeQueueStub","stub","queue","args","drainQueue","queued","live","method","rest","dispatch","call","boot","update","shutdown","show","hide","showNewMessage","trackEvent","cfg","widgetSlug","previousEmail","SupportWireWidget","cb","partial","merged","slug","content","trackEventWarned","name","_metadata","onShow","onHide","onUnreadCountChange","onUserEmailSupplied","hideNotificationsWarned","hideNotifications","_hidden","getVisitorId","whoami","noopWarnedMap","noop","_args","startTour","showArticle","showNews","startSurvey","startChecklist","showTicket","showConversation","showSpace","showMessages","SupportWire"],"mappings":"AAAA,IAAIA,KAAK,OAAO,gBAAgBC,KAAK,OAAO,kBACxCC,KAAK,OAAO,2BACZC,KAAK,OAAO,uBACZC,KAAK,OAAO,UAAU,gBAAgBC,KAAK,OAAO,UAAU,sBAC5DC,KAAK,CAACC,GAAGC,GAAG,MAAMA,KAAKD,IAAIP,GAAGO,GAAGC,GAAG,EAAE,YAAY,IAAI,cAAc,IAAI,UAAU,IAAI,OAAO,EAAC,CAAE,IAAID,EAAEC,CAAC,IAAI,GAAGC,IAAI,CAACF,GAAGC,MAAM;AAC9H,WAAS,KAAKA,MAAMA,IAAI,CAAA;AACtB,IAAAJ,GAAG,KAAKI,GAAG,CAAC,KAAKF,GAAGC,GAAG,GAAGC,EAAE,CAAC,CAAC;AAChC,MAAIL;AACF,aAAS,KAAKA,GAAGK,CAAC;AAChB,MAAAH,GAAG,KAAKG,GAAG,CAAC,KAAKF,GAAGC,GAAG,GAAGC,EAAE,CAAC,CAAC;AAClC,SAAOD;AACT,GAAGG,KAAK,CAACH,GAAGC,MAAMP,GAAGM,GAAGL,GAAGM,CAAC,CAAC,GACzBG,IAAI,CAACJ,GAAGC,GAAG,MAAMF,GAAGC,GAAG,OAAOC,KAAK,WAAWA,IAAI,KAAKA,GAAG,CAAC;AAC/D,MAAMI,KAAK,CAACL,MAAMA,KAAK,OAAOA,KAAK,YAAYA,EAAE,KAAI,MAAO,KAAKA,EAAE,KAAI,EAAG,QAAQ,OAAO,EAAE,IAAI,kCAAkCM,KAAK,MAAM;AAC1I,QAAMN,IAAI,KAAK,IAAG,GAAIC,IAAI,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC;AACnE,SAAO,sBAAsBD,CAAC,IAAIC,CAAC;AACrC,GAAGM,KAAK,MAAM;AACZ,MAAI,SAAS,eAAe,8BAA8B;AACxD;AACF,QAAMP,IAAI,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAE,KAAK,gCAAgCA,EAAE,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAyHrD,SAAS,KAAK,YAAYA,CAAC;AAC/B,GAAGQ,KAAK,CAACR,MAAM;AACb,wBAAsB,MAAM;AAC1B,IAAAA,EAAE,UAAU,OAAO,qBAAqB,GAAGA,EAAE,UAAU,IAAI,qBAAqB;AAAA,EAClF,CAAC;AACH,GAAGS,KAAK,CAACT,GAAGC,MAAM;AAChB,EAAAD,EAAE,UAAU,OAAO,qBAAqB,GAAGA,EAAE,UAAU,IAAI,qBAAqB,GAAG,WAAW,MAAM;AAClG,IAAAA,EAAE,MAAM,UAAU,QAAQA,EAAE,UAAU,OAAO,qBAAqB;AAAA,EACpE,GAAG,GAAG;AACR,GACMU,KAAK,CAACV,GAAGC,MAAM;AACnB,MAAI,CAACA;AACH,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,IACb;AACE,UAAQD,GAAC;AAAA,IACP,KAAK;AACH,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,MACf;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,OAAO;AAAA,MACf;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI;AACE,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,MACf;AAAA,EACA;AACA,GAAGW,KAAK,MAAM;AACZ,QAAMX,IAAI;AACV,MAAI,SAAS,eAAeA,CAAC,EAAG;AAChC,QAAMC,IAAI,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAE,KAAKD,GAAGC,EAAE,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkCxB,SAAS,KAAK,YAAYA,CAAC;AAC/B,GAAGW,KAAK,CAACZ,GAAGC,GAAG,MAAM;AACnB,EAAAU,GAAE;AACF,QAAME,IAAIb,EAAE,cAAc,0BAA0B;AACpD,EAAAa,KAAKA,EAAE,OAAM;AACb,QAAMC,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY,2BAA2Bb,KAAK,cAAc,IAAIa,EAAE,MAAM,aAAa,MAAM,SAAS,YAAY,WAAWd,EAAE,YAAYc,CAAC;AAC5I,GAAGC,KAAK,CAACf,GAAGC,MAAM;AAChB,MAAIa,GAAG;AACP,QAAME,IAAI;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,SAAS;AAAA,IACT,iBAAiBf,EAAE,UAAU,SAAS,YAAY;AAAA,IAClD,YAAY;AAAA,EAChB,GAAKY,IAAI,CAACZ,EAAE;AACV,UAAQA,EAAE,YAAU;AAAA,IAClB,KAAK,SAAS;AACZ,YAAMgB,KAAKH,IAAIb,EAAE,oBAAoB,QAAQa,EAAE,SAAS,MAAM,IAAI,SAAS,SAASI,KAAK,IAAIjB,EAAE,oBAAoB,QAAQ,EAAE,WAAW,KAAK,IAAI,QAAQ,UAAUkB,IAAIjB,EAAEC,GAAGD,EAAE,CAAA,GAAIc,CAAC,GAAG;AAAA,QACpL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,QACX,cAAc;AAAA,QACd,WAAWf,EAAE,UAAU,SAAS,wCAAwC;AAAA,QACxE,UAAU;AAAA,QACV,iBAAiB,GAAGgB,CAAC,IAAIC,CAAC;AAAA,MAClC,CAAO,GAAGR,GAAGT,EAAE,iBAAiBY,CAAC,CAAC;AAC5B,aAAO,OAAOb,EAAE,OAAOmB,CAAC;AACxB;AAAA,IACF;AAAA,IACA,KAAK;AACH,aAAO,OAAOnB,EAAE,OAAOgB,GAAG;AAAA,QACxB,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,qBAAqB;AAAA,QACrB,WAAWf,EAAE,UAAU,SAAS,wCAAwC;AAAA,QACxE,UAAU;AAAA,MAClB,CAAO;AACD;AAAA,IACF,KAAK;AACH,aAAO,OAAOD,EAAE,OAAOgB,GAAG;AAAA,QACxB,KAAK;AAAA,QACL,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,WAAWf,EAAE,UAAU,SAAS,wCAAwC;AAAA,QACxE,UAAU;AAAA,MAClB,CAAO;AACD;AAAA,EACN;AACA,GAAGmB,KAAK,CAACpB,GAAGC,GAAG,MAAM;AACnB,MAAI,MAAM;AACR,YAAQA,GAAC;AAAA,MACP,KAAK;AACH,QAAAD,EAAE,MAAM,SAAS,QAAQA,EAAE,MAAM,QAAQ,QAAQA,EAAE,MAAM,MAAM,QAAQA,EAAE,MAAM,OAAO;AACtF;AAAA,MACF,KAAK;AACH,QAAAA,EAAE,MAAM,SAAS,QAAQA,EAAE,MAAM,OAAO,QAAQA,EAAE,MAAM,MAAM,QAAQA,EAAE,MAAM,QAAQ;AACtF;AAAA,MACF,KAAK;AACH,QAAAA,EAAE,MAAM,MAAM,QAAQA,EAAE,MAAM,QAAQ,QAAQA,EAAE,MAAM,SAAS,QAAQA,EAAE,MAAM,OAAO;AACtF;AAAA,MACF,KAAK;AACH,QAAAA,EAAE,MAAM,MAAM,QAAQA,EAAE,MAAM,OAAO,QAAQA,EAAE,MAAM,SAAS,QAAQA,EAAE,MAAM,QAAQ;AACtF;AAAA,IACR;AACA,GAAGqB,KAAK;AAAA;AAAA;AAAA;AAAA,GAILC,KAAK;AAAA;AAAA;AAAA;AAAA,GAILC,KAAK,MAAM;AACZ,QAAMvB,IAAI;AACV,MAAI,SAAS,eAAeA,CAAC,EAAG;AAChC,QAAMC,IAAI,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAE,KAAKD,GAAGC,EAAE,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkFxB,SAAS,KAAK,YAAYA,CAAC;AAC/B,GAAGuB,KAAK,CAACxB,GAAGC,MAAM;AAChB,MAAIwB,GAAGC;AACP,EAAAH,GAAE;AACF,QAAMP,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY;AACd,QAAMH,IAAI,SAAS,cAAc,QAAQ;AACzC,EAAAA,EAAE,YAAY,8BAA8BA,EAAE,aAAa,cAAc,uBAAuB,GAAGA,EAAE,MAAM,WAAW;AACtH,QAAMC,IAAI,SAAS,cAAc,MAAM;AACvC,EAAAA,EAAE,YAAY,8DAA8DA,EAAE,aAAa,aAAa,MAAM,GAAGA,EAAE,YAAYO;AAC/H,QAAMM,IAAI,SAAS,cAAc,MAAM;AACvC,EAAAA,EAAE,YAAY,6DAA6DA,EAAE,aAAa,aAAa,SAAS,GAAGA,EAAE,YAAYL,IAAIT,EAAE,YAAYC,CAAC,GAAGD,EAAE,YAAYc,CAAC,GAAG,OAAO,OAAOd,EAAE,OAAO;AAAA,IAC9L,iBAAiBb,EAAE,UAAU,SAAS,YAAY;AAAA,IAClD,OAAOA,EAAE,UAAU,SAAS,YAAY;AAAA,IACxC,WAAW;AAAA,EACf,CAAG;AACD,QAAMiB,IAAI;AAAA,IACR,gBAAgB,EAAE,QAAQ,QAAQ,OAAO,OAAM;AAAA,IAC/C,eAAe,EAAE,QAAQ,QAAQ,MAAM,OAAM;AAAA,IAC7C,aAAa,EAAE,KAAK,QAAQ,OAAO,OAAM;AAAA,IACzC,YAAY,EAAE,KAAK,QAAQ,MAAM,OAAM;AAAA,EAC3C,GAAKC,KAAKO,IAAIzB,EAAE,oBAAoB,OAAOyB,IAAI,gBAAgBN,KAAKO,IAAIT,EAAEC,CAAC,MAAM,OAAOQ,IAAIT,EAAE,cAAc;AAC1G,SAAO,OAAO,OAAOD,EAAE,OAAOd,EAAE;AAAA,IAC9B,UAAU;AAAA,IACV,QAAQ;AAAA,EACZ,GAAKiB,CAAC,CAAC,GAAGH,EAAE,YAAYH,CAAC,GAAGA,EAAE,iBAAiB,SAASZ,CAAC,GAAG,SAAS,KAAK,YAAYe,CAAC,GAAGA;AAC1F,GAAGY,KAAK,CAAC5B,GAAGC,MAAM;AAChB,QAAM,IAAI;AAAA,IACR,gBAAgB,EAAE,QAAQ,QAAQ,OAAO,QAAQ,KAAK,QAAQ,MAAM,OAAM;AAAA,IAC1E,eAAe,EAAE,QAAQ,QAAQ,MAAM,QAAQ,KAAK,QAAQ,OAAO,OAAM;AAAA,IACzE,aAAa,EAAE,KAAK,QAAQ,OAAO,QAAQ,QAAQ,QAAQ,MAAM,OAAM;AAAA,IACvE,YAAY,EAAE,KAAK,QAAQ,MAAM,QAAQ,QAAQ,QAAQ,OAAO,OAAM;AAAA,EAC1E,GAAKY,IAAIZ,KAAK,EAAEA,CAAC,IAAIA,IAAI,gBAAgBa,IAAI,EAAED,CAAC;AAC9C,SAAO,OAAOb,EAAE,OAAOc,CAAC;AAC1B,GAAGe,KAAK,MAAM;AACZ,QAAM7B,IAAI;AACV,MAAI,SAAS,eAAeA,CAAC;AAC3B;AACF,QAAMC,IAAI,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAE,KAAKD,GAAGC,EAAE,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqDxB,SAAS,KAAK,YAAYA,CAAC;AAC/B,GAAG6B,KAAK,CAAC9B,GAAGC,MAAM;AAChB,EAAA4B,GAAE;AACF,MAAI,IAAI7B,EAAE,cAAc,2BAA2B;AACnD,MAAIC,IAAI,GAAG;AACT,UAAMY,IAAI,CAAC,KAAK,EAAE,MAAM,YAAY;AACpC,UAAM,IAAI,SAAS,cAAc,MAAM,GAAG,EAAE,YAAY,4BAA4Bb,EAAE,YAAY,CAAC,IAAI,EAAE,cAAcC,IAAI,KAAK,QAAQ,OAAOA,CAAC,GAAG,EAAE,MAAM,UAAU,QAAQ,EAAE,gBAAgB,cAAc,GAAG,EAAE,aAAa,EAAE,aAAa,gBAAgBY,IAAI,WAAW,OAAO;AAAA,EACtR;AACE,UAAM,EAAE,MAAM,UAAU,QAAQ,EAAE,gBAAgB,cAAc;AACpE,GAAGkB,KAAK,CAAC/B,GAAGC,GAAG,MAAM;AACnB,QAAMY,IAAIb,EAAE,cAAc,6BAA6B;AACvD,MAAI,CAACa,EAAG;AACR,QAAMC,IAAID,EAAE,cAAc,oBAAoB,GAAGc,IAAId,EAAE,cAAc,uBAAuB;AAC5F,EAAAC,KAAKa,MAAM1B,KAAKa,EAAE,YAAY,6DAA6Da,EAAE,YAAY,iEAAiEb,EAAE,YAAY,8DAA8Da,EAAE,YAAY,+DAA+D1B,KAAKY,EAAE,aAAa,cAAc,wBAAwB,GAAGA,EAAE,MAAM,QAAQ,MAAM,SAAS,YAAY,cAAcA,EAAE,aAAa,cAAc,uBAAuB,GAAGA,EAAE,MAAM,QAAQ;AAClgB,GAAGmB,KAAK,CAAChC,GAAGC,GAAG,GAAGY,MAAM;AACtB,QAAMC,IAAI,SAAS,cAAc,QAAQ;AACzC,SAAOA,EAAE,KAAKb,GAAGa,EAAE,MAAM,GAAG,CAAC,aAAab,CAAC,UAAUY,CAAC,IAAIC,EAAE,MAAM,QAAQ,QAAQA,EAAE,MAAM,SAAS,QAAQA,EAAE,MAAM,SAAS,QAAQA,EAAE,MAAM,kBAAkBD,MAAM,SAAS,YAAY,WAAWC,EAAE,aAAa,SAAS,iCAAiC,GAAGA,EAAE,aAAa,WAAW,0DAA0D,GAAGd,EAAE,YAAYc,CAAC,GAAGA;AAC3W,GAAGmB,KAAK,CAACjC,GAAGC,GAAG,GAAGY,MAAM;AACtB,MAAI,CAACb,KAAK,CAACA,EAAE;AACX;AACF,QAAMc,IAAIX,GAAGD,EAAE,CAAA,GAAIW,CAAC,GAAG;AAAA,IACrB,UAAUZ;AAAA,EACd,CAAG;AACD,EAAAD,EAAE,cAAc,YAAYc,GAAG,GAAG;AACpC,GAAGoB,KAAK,CAAClC,GAAGC,GAAG,GAAGY,MAAM,CAACC,MAAM;AAC7B,MAAIG,GAAG;AACP,MAAI;AACF,UAAME,IAAI,IAAI,IAAIlB,CAAC,EAAE;AACrB,IAAAa,EAAE,WAAWK,KAAKL,EAAE;AAAA,EACtB,QAAY;AAAA,EACZ;AACA,QAAMa,IAAIb,EAAE;AACZ,MAAI,EAAE,CAACa,KAAKA,EAAE,aAAa3B;AACzB,YAAQ2B,EAAE,MAAI;AAAA,MACZ,KAAK;AACH,QAAAd,EAAE,WAAWA,EAAE,QAAO;AACtB;AAAA,MACF,KAAK;AACH,cAAM,EAAE,MAAM,UAAU,SAASL,GAAG,CAAC,IAAIK,EAAE,OAAM;AACjD;AAAA,MACF,KAAK;AACH,aAAKJ,GAAG,CAAC,GAAGI,EAAE,QAAO;AACrB;AAAA,MACF,KAAK;AACH,QAAAA,EAAE,QAAQ,IAAI,MAAMc,EAAE,SAAS,eAAe,CAAC;AAC/C;AAAA,MACF,KAAK;AACH,QAAAd,EAAE,iBAAiBc,EAAE,UAAU,UAAUd,EAAE,cAAcc,EAAE,KAAK;AAChE;AAAA,MACF,KAAK;AACH,QAAAd,EAAE,kBAAkBc,EAAE,gBAAgBd,EAAE;AAAA,UACtCc,EAAE,aAAa;AAAA,UACfA,EAAE,aAAa;AAAA,UACfA,EAAE,aAAa;AAAA,QACzB;AACQ;AAAA,MACF,KAAK;AACH,QAAAd,EAAE,sBAAsBA,EAAE,mBAAkB;AAC5C;AAAA,MACF,KAAK;AACH,QAAAA,EAAE,oBAAoBc,EAAE,kBAAkBd,EAAE;AAAA,UAC1Cc,EAAE,eAAe;AAAA,UACjBA,EAAE,eAAe;AAAA,UACjBA,EAAE,eAAe;AAAA,QAC3B;AACQ;AAAA,MACF,KAAK;AACH,QAAAd,EAAE,0BAA0Bc,EAAE,cAAcd,EAAE,uBAAuBc,EAAE,UAAU;AACjF;AAAA,MACF,KAAK;AACH,QAAAd,EAAE,uBAAuBA,EAAE,qBAAqB,KAAKI,IAAIU,EAAE,YAAY,OAAO,SAASV,EAAE,SAAS,OAAO,IAAI,MAAM;AACnH;AAAA,IACR;AACA;AACA,SAASkB,GAAGnC,GAAGC,GAAG;AAChB,MAAI,IAAI;AACR,QAAMY,IAAI,OAAO,MAAM,IAAI,OAAO,8BAAqB,IAAI,IAAIC,IAAI,CAACK,MAAM;AACxE,QAAIM;AACJ,KAACA,IAAIzB,EAAE,kBAAkB,QAAQyB,EAAE,YAAYtB,GAAGD,EAAE,CAAA,GAAIiB,CAAC,GAAG,EAAE,UAAUlB,EAAC,CAAE,GAAG,GAAG;AAAA,EACnF,GAAG0B,IAAI,OAAOR,MAAM;AAClB,UAAMM,IAAIN,EAAE;AACZ,QAAI,EAAE,CAACM,KAAK,OAAOA,KAAK,aAAa,EAAEA,EAAE,YAAYA,EAAE,aAAaxB;AAClE,cAAQwB,EAAE,MAAI;AAAA,QACZ,KAAK,mBAAmB;AACtB,WAAC,MAAMZ,EAAC,GAAI,UAAU,MAAM,EAAE,SAASY,EAAE,SAAS,OAAOA,EAAE,MAAK,CAAE;AAClE;AAAA,QACF;AAAA,QACA,KAAK,kBAAkB;AACrB,gBAAMW,KAAK,MAAMvB,EAAC,GAAI,UAAU,KAAI;AACpC,UAAAuB,KAAKtB,EAAE;AAAA,YACL,MAAM;AAAA,YACN,SAASsB,EAAE;AAAA,YACX,OAAOA,EAAE;AAAA,YACT,OAAOA,EAAE;AAAA,UACrB,CAAW;AACD;AAAA,QACF;AAAA,QACA,KAAK,kBAAkB;AACrB,gBAAM,IAAI,MAAMvB,EAAC;AACjB,YAAE,SAAS,OAAO,CAAC,GAAGwB,GAAGC,MAAM;AAC7B,YAAAxB,EAAE;AAAA,cACA,MAAM;AAAA,cACN,QAAQ;AAAA,cACR,YAAYuB;AAAA,cACZ,cAAcC;AAAA,YAC5B,CAAa;AAAA,UACH,CAAC,GAAG,EAAE,SAAS,MAAM;AAAA,YACnB,WAAWb,EAAE;AAAA,YACb,SAASA,EAAE;AAAA,YACX,WAAWA,EAAE;AAAA,YACb,SAASA,EAAE;AAAA,UACvB,CAAW;AACD;AAAA,QACF;AAAA,QACA,KAAK,YAAY;AACf,iBAAOA,EAAE,OAAO,YAAY,OAAO,KAAKA,EAAE,KAAK,UAAU,UAAU;AACnE;AAAA,QACF;AAAA,MACR;AAAA,EACE,GAAGR,IAAI,CAACE,MAAM;AACZ,UAAMM,IAAIN,EAAE;AACZ,IAAAM,KAAKX,EAAE;AAAA,MACL,MAAM;AAAA,MACN,SAASW,EAAE;AAAA,MACX,OAAOA,EAAE;AAAA,MACT,OAAOA,EAAE;AAAA,IACf,CAAK;AAAA,EACH;AACA,SAAO,iBAAiB,WAAWE,CAAC,GAAG,OAAO,iBAAiB,2BAA2BV,CAAC,IAAI,YAAY;AACzG,UAAME,IAAI,MAAMD,EAAC;AACjB,QAAI,CAACC,EAAG;AACR,UAAMM,IAAIN,EAAE,UAAU,YAAW;AACjC,IAAAM,KAAKN,EAAE,UAAU,MAAM,EAAE,SAASM,EAAE,SAAS,OAAOA,EAAE,MAAK,CAAE;AAC7D,UAAM,IAAIN,EAAE,SAAS,YAAW;AAChC,UAAMA,EAAE,SAAS,OAAO,CAAC,GAAGoB,GAAGC,MAAM;AACnC,MAAA1B,EAAE;AAAA,QACA,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,YAAYyB;AAAA,QACZ,cAAcC;AAAA,MACtB,CAAO;AAAA,IACH,CAAC,GAAGrB,EAAE,SAAS,MAAM;AAAA,MACnB,WAAW,EAAE;AAAA,MACb,SAAS,EAAE;AAAA,MACX,WAAW,EAAE;AAAA,MACb,SAAS,EAAE;AAAA,MACX,iBAAiB,EAAE;AAAA,IACzB,CAAK;AACD,UAAMkB,IAAI,IAAI,gBAAgB,SAAS,MAAM,EAAE,IAAI,UAAU;AAC7D,IAAAA,KAAKvB,EAAE,EAAE,MAAM,mBAAmB,SAASuB,GAAG;AAAA,EAChD,GAAC;AACD,WAASnB,IAAI;AACX,UAAMC,IAAI,CAAC,CAAC,aAAa,QAAQ,oBAAoB,GAAGM,IAAI,CAAC,CAAC,aAAa,QAAQ,mBAAmB,GAAG,IAAI,IAAI,gBAAgB,SAAS,MAAM,EAAE,IAAI,UAAU;AAChK,WAAO,CAACN,KAAK,CAACM,KAAK,CAAC,IAAI,QAAQ,QAAQ,IAAI,IAAIZ,EAAC;AAAA,EACnD;AACA,SAAO;AAAA,IACL,UAAU,MAAM;AACd,aAAO,oBAAoB,WAAWc,CAAC,GAAG,OAAO,oBAAoB,2BAA2BV,CAAC;AAAA,IACnG;AAAA,EACJ;AACA;AACA,IAAIwB,IAAI,MAAMC,KAAK,MAAMC,KAAK;AAC9B,MAAMC,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmNX,SAASC,KAAK;AACZ,MAAI,SAAS,eAAe,kCAAkC,EAAG;AACjE,QAAM7C,IAAI,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAE,KAAK,oCAAoCA,EAAE,cAAc4C,IAAI,SAAS,KAAK,YAAY5C,CAAC;AAC5F;AACA,SAAS8C,KAAK;AACZ,SAAO;AAAA;AAAA;AAAA;AAAA;AAKT;AACA,SAASC,KAAK;AACZ,SAAO;AAAA;AAAA;AAAA;AAIT;AACA,SAASC,KAAK;AACZ,SAAO;AAAA;AAAA;AAAA;AAIT;AACA,SAASC,KAAK;AACZ,SAAO;AAAA;AAAA;AAAA;AAIT;AACA,SAASC,KAAK;AACZ,SAAO;AAAA;AAAA;AAGT;AACA,eAAeC,GAAGnD,GAAGC,GAAG;AACtB,MAAI;AACF,UAAMY,IAAI,OAAO,MAAM,MAAMb,CAAC,GAAG,QAAQc,IAAI,IAAI,gBAAgBD,CAAC,GAAGc,IAAI,SAAS,cAAc,GAAG;AACnG,IAAAA,EAAE,OAAOb,GAAGa,EAAE,WAAW1B,KAAK,SAAS,SAAS,KAAK,YAAY0B,CAAC,GAAGA,EAAE,SAAS,SAAS,KAAK,YAAYA,CAAC,GAAG,IAAI,gBAAgBb,CAAC;AAAA,EACrI,QAAY;AACV,WAAO,KAAKd,GAAG,QAAQ;AAAA,EACzB;AACF;AACA,SAASoD,KAAK;AACZ,MAAI,CAACX,EAAG;AACR,QAAMzC,IAAIyC;AACV,EAAAC,OAAO,SAAS,oBAAoB,WAAWA,EAAE,GAAGA,KAAK,OAAO,SAAS,KAAK,MAAM,WAAWC,IAAI3C,EAAE,UAAU,OAAO,SAAS,GAAGA,EAAE,UAAU,IAAI,SAAS,GAAG,OAAO,WAAW,kCAAkC,EAAE,WAAWA,EAAE,OAAM,GAAIyC,IAAI,QAAQ,WAAW,MAAM;AACtQ,IAAAzC,EAAE,OAAM,GAAIyC,MAAMzC,MAAMyC,IAAI;AAAA,EAC9B,GAAG,GAAG;AACR;AACA,SAASY,GAAGrD,GAAGC,GAAG,GAAGY,GAAG;AACtB,EAAA4B,MAAMA,EAAE,OAAM,GAAIA,IAAI,OAAOI,MAAMF,KAAK,SAAS,KAAK,MAAM,UAAU,SAAS,KAAK,MAAM,WAAW;AACrG,QAAM7B,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY,sCAAsCA,EAAE,aAAa,QAAQ,QAAQ,GAAGA,EAAE,aAAa,cAAc,MAAM,GAAGA,EAAE,aAAa,cAAcb,KAAK,eAAe,GAAGa,EAAE,UAAU,CAACwB,MAAM;AACjM,KAACA,EAAE,WAAWxB,KAAKwB,EAAE,OAAO,UAAU,SAAS,2CAA2C,MAAMc,GAAE;AAAA,EACpG;AACA,QAAMzB,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY;AACd,QAAMV,IAAI,SAAS,cAAc,QAAQ;AACzC,EAAAA,EAAE,YAAY,oCAAoCA,EAAE,aAAa,cAAc,WAAW,GAAGA,EAAE,YAAYgC,GAAE,GAAIhC,EAAE,UAAU,OAAOqB,MAAM;AACxI,IAAAA,EAAE,gBAAe;AACjB,QAAI;AACF,YAAM,UAAU,UAAU,UAAUtC,CAAC,GAAGiB,EAAE,YAAYiC,MAAM,WAAW,MAAM;AAC3E,QAAAjC,EAAE,YAAYgC,GAAE;AAAA,MAClB,GAAG,GAAG;AAAA,IACR,QAAY;AACV,YAAM,IAAI,SAAS,cAAc,UAAU;AAC3C,QAAE,QAAQjD,GAAG,EAAE,MAAM,WAAW,SAAS,EAAE,MAAM,UAAU,KAAK,SAAS,KAAK,YAAY,CAAC,GAAG,EAAE,OAAM,GAAI,SAAS,YAAY,MAAM,GAAG,SAAS,KAAK,YAAY,CAAC,GAAGiB,EAAE,YAAYiC,GAAE,GAAI,WAAW,MAAM;AACzM,QAAAjC,EAAE,YAAYgC,GAAE;AAAA,MAClB,GAAG,GAAG;AAAA,IACR;AAAA,EACF;AACA,QAAM/B,IAAI,SAAS,cAAc,QAAQ;AACzC,EAAAA,EAAE,YAAY,oCAAoCA,EAAE,aAAa,cAAc,gBAAgB,GAAGA,EAAE,YAAY4B,GAAE,GAAI5B,EAAE,UAAU,CAACoB,MAAM;AACvI,IAAAA,EAAE,gBAAe,GAAIa,GAAGnD,GAAG,CAAC;AAAA,EAC9B;AACA,MAAImB,IAAI;AACR,EAAAN,MAAMM,IAAI,SAAS,cAAc,QAAQ,GAAGA,EAAE,YAAY,oCAAoCA,EAAE,aAAa,cAAc,gBAAgB,GAAGA,EAAE,YAAY6B,GAAE,GAAI7B,EAAE,UAAU,OAAOmB,MAAM;AACzL,IAAAA,EAAE,gBAAe;AACjB,QAAI;AACF,YAAME,IAAI,OAAO,MAAM,MAAMxC,CAAC,GAAG,QAAQsD,IAAI,MAAM,IAAI,QAAQ,CAACC,GAAGC,MAAM;AACvE,cAAMC,IAAI,IAAI,WAAU;AACxB,QAAAA,EAAE,SAAS,MAAMF,EAAEE,EAAE,MAAM,GAAGA,EAAE,UAAUD,GAAGC,EAAE,cAAcjB,CAAC;AAAA,MAChE,CAAC;AACD,MAAAY,GAAE,GAAIvC,EAAEyC,CAAC;AAAA,IACX,QAAY;AACV,YAAM,IAAI,SAAS,cAAc,QAAQ,GAAGA,IAAI,IAAI,MAAK;AACzD,MAAAA,EAAE,cAAc,aAAaA,EAAE,SAAS,MAAM;AAC5C,UAAE,QAAQA,EAAE,cAAc,EAAE,SAASA,EAAE;AACvC,cAAM,IAAI,EAAE,WAAW,IAAI;AAC3B,YAAI,GAAG;AACL,YAAE,UAAUA,GAAG,GAAG,CAAC;AACnB,gBAAME,IAAI,EAAE,UAAU,WAAW;AACjC,UAAAJ,GAAE,GAAIvC,EAAE2C,CAAC;AAAA,QACX;AAAA,MACF,GAAGF,EAAE,UAAU,MAAM;AACnB,gBAAQ,KAAK,qCAAqC;AAAA,MACpD,GAAGA,EAAE,MAAMtD;AAAA,IACb;AAAA,EACF;AACA,QAAMyB,IAAI,SAAS,cAAc,QAAQ;AACzC,EAAAA,EAAE,YAAY,oCAAoCA,EAAE,aAAa,cAAc,eAAe,GAAGA,EAAE,YAAYsB,GAAE,GAAItB,EAAE,UAAU,CAACa,MAAM;AACtI,IAAAA,EAAE,gBAAe,GAAIc,GAAE;AAAA,EACzB,GAAGzB,EAAE,YAAYV,CAAC,GAAGU,EAAE,YAAYT,CAAC,GAAGC,KAAKQ,EAAE,YAAYR,CAAC,GAAGQ,EAAE,YAAYF,CAAC;AAC7E,QAAM,IAAI,SAAS,cAAc,KAAK;AACtC,IAAE,YAAY;AACd,QAAM,IAAI,SAAS,cAAc,KAAK;AACtC,IAAE,YAAY,oCAAoC,EAAE,YAAY,CAAC;AACjE,QAAMY,IAAI,SAAS,cAAc,KAAK;AACtC,MAAIA,EAAE,YAAY,mCAAmCA,EAAE,MAAMpC,KAAK,iBAAiBoC,EAAE,SAAS,MAAM;AAClG,MAAE,OAAM;AAAA,EACV,GAAGA,EAAE,UAAU,MAAM;AACnB,MAAE,OAAM;AACR,UAAMC,IAAI,SAAS,cAAc,KAAK;AACtC,IAAAA,EAAE,YAAY,mCAAmCA,EAAE,cAAc,wBAAwB,EAAE,YAAYA,CAAC;AAAA,EAC1G,GAAGD,EAAE,MAAMrC,GAAG,EAAE,YAAYqC,CAAC,GAAG,GAAG;AACjC,UAAMC,IAAI,SAAS,cAAc,GAAG;AACpC,IAAAA,EAAE,YAAY,sCAAsCA,EAAE,cAAc,GAAGxB,EAAE,YAAYwB,CAAC;AAAA,EACxF;AACA,EAAAxB,EAAE,YAAYa,CAAC,GAAGb,EAAE,YAAY,CAAC,GAAG,SAAS,KAAK,YAAYA,CAAC,GAAG2B,IAAI3B,GAAG,sBAAsB,MAAM;AACnG,IAAAA,EAAE,UAAU,IAAI,SAAS;AAAA,EAC3B,CAAC,GAAG4B,KAAK,CAACJ,MAAM;AACd,IAAAA,EAAE,QAAQ,YAAYc,GAAE;AAAA,EAC1B,GAAG,SAAS,iBAAiB,WAAWV,EAAE,GAAGjB,EAAE,MAAK;AACtD;AACA,IAAIiC,IAAI,MAAMC,KAAK,MAAMC,KAAK;AAC9B,MAAMC,IAAI,yBAAyBC,KAAK;AAAA,GACrCD,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAODA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,GAKDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYDA,CAAC;AAAA,GACDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQDA,CAAC;AAAA,GACDA,CAAC;AAAA,GACDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,GAKDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,GAKDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYDA,CAAC;AAAA,GACDA,CAAC;AAAA,GACDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,GAKDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASDA,CAAC;AAAA;AAAA;AAAA;AAAA,GAIDA,CAAC;AAAA,GACDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,GAKDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,GAKDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcDA,CAAC;AAAA,GACDA,CAAC;AAAA,GACDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,GAKDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUDA,CAAC;AAAA,GACDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUDA,CAAC;AAAA,GACDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUDA,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYDA,CAAC;AAAA,GACDA,CAAC;AAAA;AAAA,IAEAA,CAAC;AAAA,IACDA,CAAC;AAAA;AAAA;AAGL,SAASE,KAAK;AACZ,MAAI,SAAS,eAAe,GAAGF,CAAC,SAAS,EAAG;AAC5C,QAAM7D,IAAI,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAE,KAAK,GAAG6D,CAAC,WAAW7D,EAAE,cAAc8D,IAAI,SAAS,KAAK,YAAY9D,CAAC;AACvE;AACA,MAAMgE,KAAK;AAAA,EACT,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACR;AACA,SAASC,GAAGjE,GAAGC,GAAG,GAAGY,GAAGC,GAAGa,GAAG;AAC5B,QAAMV,IAAI,KAAK,IAAIU,GAAG,KAAK,IAAId,CAAC,IAAI,GAAG,KAAK,IAAIC,CAAC,IAAI,CAAC;AACtD,EAAAd,EAAE,UAAS,GAAIA,EAAE,OAAOC,IAAIgB,GAAG,CAAC,GAAGjB,EAAE,OAAOC,IAAIY,IAAII,GAAG,CAAC,GAAGjB,EAAE,MAAMC,IAAIY,GAAG,GAAGZ,IAAIY,GAAG,IAAII,GAAGA,CAAC,GAAGjB,EAAE,OAAOC,IAAIY,GAAG,IAAIC,IAAIG,CAAC,GAAGjB,EAAE,MAAMC,IAAIY,GAAG,IAAIC,GAAGb,IAAIY,IAAII,GAAG,IAAIH,GAAGG,CAAC,GAAGjB,EAAE,OAAOC,IAAIgB,GAAG,IAAIH,CAAC,GAAGd,EAAE,MAAMC,GAAG,IAAIa,GAAGb,GAAG,IAAIa,IAAIG,GAAGA,CAAC,GAAGjB,EAAE,OAAOC,GAAG,IAAIgB,CAAC,GAAGjB,EAAE,MAAMC,GAAG,GAAGA,IAAIgB,GAAG,GAAGA,CAAC,GAAGjB,EAAE,UAAS,GAAIA,EAAE,OAAM;AAC5S;AACA,SAASkE,GAAGlE,GAAGC,GAAG;AAChB,MAAID,EAAE,cAAcC,EAAE,OAAOD,EAAE,YAAYC,EAAE,OAAOD,EAAE,YAAY,WAAWC,IAAIA,EAAE,QAAQ,GAAGD,EAAE,UAAU,SAASA,EAAE,WAAW,SAASC,EAAE,SAAS,SAASA,EAAE,OAAO,UAAU,GAAG;AACjL,IAAAD,EAAE,UAAS,GAAIA,EAAE,OAAOC,EAAE,OAAO,CAAC,GAAGA,EAAE,OAAO,CAAC,CAAC;AAChD,aAAS,IAAI,GAAG,IAAIA,EAAE,OAAO,QAAQ,KAAK,EAAG,CAAAD,EAAE,OAAOC,EAAE,OAAO,CAAC,GAAGA,EAAE,OAAO,IAAI,CAAC,CAAC;AAClF,IAAAD,EAAE,OAAM;AAAA,EACV,WAAWC,EAAE,SAAS,SAAS;AAC7B,IAAAD,EAAE,UAAS,GAAIA,EAAE,OAAOC,EAAE,IAAIA,EAAE,EAAE,GAAGD,EAAE,OAAOC,EAAE,IAAIA,EAAE,EAAE,GAAGD,EAAE,OAAM;AACnE,UAAM,IAAI,IAAIa,IAAI,KAAK,MAAMZ,EAAE,KAAKA,EAAE,IAAIA,EAAE,KAAKA,EAAE,EAAE;AACrD,IAAAD,EAAE,UAAS,GAAIA,EAAE,OAAOC,EAAE,IAAIA,EAAE,EAAE,GAAGD,EAAE,OAAOC,EAAE,KAAK,IAAI,KAAK,IAAIY,IAAI,GAAG,GAAGZ,EAAE,KAAK,IAAI,KAAK,IAAIY,IAAI,GAAG,CAAC,GAAGb,EAAE,OAAOC,EAAE,KAAK,IAAI,KAAK,IAAIY,IAAI,GAAG,GAAGZ,EAAE,KAAK,IAAI,KAAK,IAAIY,IAAI,GAAG,CAAC,GAAGb,EAAE,aAAaA,EAAE,KAAI;AAAA,EACxM,MAAO,CAAAC,EAAE,SAAS,SAASA,EAAE,SAAS,IAAIgE,GAAGjE,GAAGC,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,MAAM,IAAID,EAAE,WAAWC,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,CAAC,IAAIA,EAAE,SAAS,WAAWD,EAAE,OAAO,8BAA8BA,EAAE,SAASC,EAAE,MAAMA,EAAE,GAAGA,EAAE,IAAI,EAAE;AAClN;AACA,SAASkE,GAAGnE,GAAG;AACb,MAAIA,EAAE,SAAS;AACb,WAAO,EAAE,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,EAAC;AACzC,MAAIA,EAAE,SAAS,SAAS;AACtB,UAAMC,IAAI,KAAK,IAAID,EAAE,IAAIA,EAAE,EAAE,GAAG,IAAI,KAAK,IAAIA,EAAE,IAAIA,EAAE,EAAE;AACvD,WAAO,EAAE,GAAGC,GAAG,GAAG,GAAG,GAAG,KAAK,IAAID,EAAE,KAAKA,EAAE,EAAE,GAAG,GAAG,KAAK,IAAIA,EAAE,KAAKA,EAAE,EAAE,EAAC;AAAA,EACzE,WAAWA,EAAE,SAAS,SAASA,EAAE,OAAO,UAAU,GAAG;AACnD,QAAIC,IAAID,EAAE,OAAO,CAAC,GAAG,IAAIA,EAAE,OAAO,CAAC,GAAGa,IAAIb,EAAE,OAAO,CAAC,GAAGc,IAAId,EAAE,OAAO,CAAC;AACrE,aAAS2B,IAAI,GAAGA,IAAI3B,EAAE,OAAO,QAAQ2B,KAAK;AACxC,MAAA1B,IAAI,KAAK,IAAIA,GAAGD,EAAE,OAAO2B,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG3B,EAAE,OAAO2B,CAAC,CAAC,GAAGd,IAAI,KAAK,IAAIA,GAAGb,EAAE,OAAO2B,IAAI,CAAC,CAAC,GAAGb,IAAI,KAAK,IAAIA,GAAGd,EAAE,OAAO2B,IAAI,CAAC,CAAC;AAC/H,WAAO,EAAE,GAAG1B,GAAG,GAAGY,GAAG,GAAG,IAAIZ,GAAG,GAAGa,IAAID,EAAC;AAAA,EACzC,WAAWb,EAAE,SAAS;AACpB,WAAO,EAAE,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAG,KAAK,GAAG,GAAE;AACxC,SAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAC;AACjC;AACA,SAASoE,GAAGpE,GAAGC,GAAG,GAAGY,GAAG;AACtB,QAAMC,IAAID;AACV,MAAIb,EAAE,SAAS,QAAQ;AACrB,UAAM,EAAE,GAAG2B,GAAG,GAAGV,GAAG,GAAGC,GAAG,GAAGC,EAAC,IAAKnB,GAAGyB,IAAI,KAAKR,IAAIH,KAAK,KAAKG,IAAIH,KAAKb,KAAK0B,IAAIb,KAAKb,KAAK0B,IAAIT,IAAIJ,GAAG,IAAI,KAAKG,IAAIE,IAAIL,KAAK,KAAKG,IAAIE,IAAIL,KAAKb,KAAK0B,IAAIb,KAAKb,KAAK0B,IAAIT,IAAIJ,GAAG,IAAIb,KAAK0B,IAAIb,KAAKb,KAAK0B,IAAIb,KAAK,KAAKG,IAAIH,KAAK,KAAKG,IAAIE,IAAIL,GAAGuB,IAAIpC,KAAK0B,IAAIT,IAAIJ,KAAKb,KAAK0B,IAAIT,IAAIJ,KAAK,KAAKG,IAAIH,KAAK,KAAKG,IAAIE,IAAIL,GAAGwB,IAAIrC,KAAK0B,KAAK1B,KAAK0B,IAAIT,KAAK,KAAKD,KAAK,KAAKA,IAAIE;AAC7V,WAAOM,KAAK,KAAK,KAAKY,KAAKC;AAAA,EAC7B,OAAO;AACL,QAAItC,EAAE,SAAS;AACb,aAAOqE,GAAGpE,GAAG,GAAGD,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,EAAE,KAAKc,IAAId,EAAE;AACnD,QAAIA,EAAE,SAAS,SAASA,EAAE,OAAO,UAAU,GAAG;AAC5C,eAAS2B,IAAI,GAAGA,IAAI3B,EAAE,OAAO,SAAS,GAAG2B,KAAK;AAC5C,YAAI0C,GAAGpE,GAAG,GAAGD,EAAE,OAAO2B,CAAC,GAAG3B,EAAE,OAAO2B,IAAI,CAAC,GAAG3B,EAAE,OAAO2B,IAAI,CAAC,GAAG3B,EAAE,OAAO2B,IAAI,CAAC,CAAC,KAAKb,IAAId,EAAE,MAAO,QAAO;AACtG,aAAO;AAAA,IACT,WAAWA,EAAE,SAAS,QAAQ;AAC5B,YAAM2B,IAAIwC,GAAGnE,CAAC;AACd,aAAOC,KAAK0B,EAAE,IAAIb,KAAKb,KAAK0B,EAAE,IAAIA,EAAE,IAAIb,KAAK,KAAKa,EAAE,IAAIb,KAAK,KAAKa,EAAE,IAAIA,EAAE,IAAIb;AAAA,IAChF;AAAA,EACF;AACA,SAAO;AACT;AACA,SAASuD,GAAGrE,GAAGC,GAAG,GAAGY,GAAGC,GAAGa,GAAG;AAC5B,QAAMV,IAAIH,IAAI,GAAGI,IAAIS,IAAId,GAAGM,IAAIF,IAAIA,IAAIC,IAAIA;AAC5C,MAAIC,MAAM,EAAG,QAAO,KAAK,MAAMnB,IAAI,GAAGC,IAAIY,CAAC;AAC3C,MAAIY,MAAMzB,IAAI,KAAKiB,KAAKhB,IAAIY,KAAKK,KAAKC;AACtC,SAAOM,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGA,CAAC,CAAC,GAAG,KAAK,MAAMzB,KAAK,IAAIyB,IAAIR,IAAIhB,KAAKY,IAAIY,IAAIP,EAAE;AACrF;AACA,SAASoD,GAAGtE,GAAGC,GAAG,GAAG;AACnB,MAAID,EAAE,SAAS;AACb,IAAAA,EAAE,KAAKC,GAAGD,EAAE,KAAK;AAAA,WACVA,EAAE,SAAS;AAClB,IAAAA,EAAE,MAAMC,GAAGD,EAAE,MAAM,GAAGA,EAAE,MAAMC,GAAGD,EAAE,MAAM;AAAA,WAClCA,EAAE,SAAS;AAClB,aAASa,IAAI,GAAGA,IAAIb,EAAE,OAAO,QAAQa,KAAK;AACxC,MAAAb,EAAE,OAAOa,CAAC,KAAKZ,GAAGD,EAAE,OAAOa,IAAI,CAAC,KAAK;AAAA,MACpC,CAAAb,EAAE,SAAS,WAAWA,EAAE,KAAKC,GAAGD,EAAE,KAAK;AAC9C;AACA,SAASuE,GAAGvE,GAAGC,GAAG;AAChB,QAAM,IAAIkE,GAAGlE,CAAC,GAAGY,IAAI;AACrB,EAAAb,EAAE,KAAI,GAAIA,EAAE,cAAc,WAAWA,EAAE,YAAY,KAAKA,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,GAAGA,EAAE,WAAW,EAAE,IAAIa,GAAG,EAAE,IAAIA,GAAG,EAAE,IAAIA,IAAI,GAAG,EAAE,IAAIA,IAAI,CAAC,GAAGb,EAAE,YAAY,EAAE;AACzJ,QAAMc,IAAI;AACV,EAAAd,EAAE,YAAY,QAAQA,EAAE,cAAc,WAAWA,EAAE,YAAY;AAC/D,QAAM2B,IAAI;AAAA,IACR,CAAC,EAAE,IAAId,GAAG,EAAE,IAAIA,CAAC;AAAA,IACjB,CAAC,EAAE,IAAI,EAAE,IAAIA,GAAG,EAAE,IAAIA,CAAC;AAAA,IACvB,CAAC,EAAE,IAAIA,GAAG,EAAE,IAAI,EAAE,IAAIA,CAAC;AAAA,IACvB,CAAC,EAAE,IAAI,EAAE,IAAIA,GAAG,EAAE,IAAI,EAAE,IAAIA,CAAC;AAAA,EACjC;AACE,aAAW,CAACI,GAAGC,CAAC,KAAKS;AACnB,IAAA3B,EAAE,UAAS,GAAIA,EAAE,IAAIiB,GAAGC,GAAGJ,GAAG,GAAG,KAAK,KAAK,CAAC,GAAGd,EAAE,KAAI,GAAIA,EAAE,OAAM;AACnE,EAAAA,EAAE,QAAO;AACX;AACA,SAASwE,KAAK;AACZ,EAAAd,MAAMC,OAAO,SAAS,oBAAoB,WAAWA,EAAE,GAAGA,KAAK,OAAO,SAAS,KAAK,MAAM,WAAWC,IAAIF,EAAE,OAAM,GAAIA,IAAI;AAC3H;AACA,SAASe,GAAGzE,GAAGC,GAAG,GAAG;AACnB,EAAAyD,MAAMA,EAAE,OAAM,GAAIA,IAAI,OAAOK,MAAMH,KAAK,SAAS,KAAK,MAAM,UAAU,SAAS,KAAK,MAAM,WAAW;AACrG,MAAI/C,IAAI,QAAQC,IAAI,WAAWa,IAAI,GAAGV,IAAI,GAAGC,IAAI,CAAA,GAAIC,IAAInB,GAAGyB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAGY,IAAI,GAAGC,IAAI,GAAGC,IAAI,IAAI,IAAI,IAAIe,IAAI,MAAM,IAAI,MAAME,IAAI,MAAMC,IAAI,MAAMiB,IAAI,MAAMC,IAAI,MAAMC,IAAI;AAC/K,QAAMC,KAAK,SAAS,cAAc,KAAK;AACvC,EAAAA,GAAG,YAAY,GAAGhB,CAAC;AACnB,QAAMiB,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY,GAAGjB,CAAC,UAAUiB,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAe;AAChE,QAAMC,KAAK,SAAS,cAAc,KAAK;AACvC,EAAAA,GAAG,YAAY,GAAGlB,CAAC;AACnB,QAAMmB,KAAK,SAAS,cAAc,MAAM;AACxC,EAAAA,GAAG,YAAY,GAAGnB,CAAC,UAAUmB,GAAG,cAAc;AAC9C,QAAMC,IAAI,SAAS,cAAc,QAAQ;AACzC,EAAAA,EAAE,YAAY,GAAGpB,CAAC,cAAcoB,EAAE,aAAa,cAAc,OAAO,GAAGA,EAAE,YAAYjB,GAAG,OAAOiB,EAAE,UAAU,MAAM;AAC/G,IAAAT,GAAE,GAAI,EAAC;AAAA,EACT,GAAGO,GAAG,YAAYC,EAAE,GAAGD,GAAG,YAAYE,CAAC;AACvC,QAAMC,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY,GAAGrB,CAAC;AAClB,QAAMsB,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY,GAAGtB,CAAC,QAAQsB,EAAE,MAAM;AAClC,QAAMC,IAAI,SAAS,cAAc,QAAQ;AACzC,EAAAA,EAAE,YAAY,GAAGvB,CAAC,WAAWqB,EAAE,YAAYC,CAAC,GAAGD,EAAE,YAAYE,CAAC;AAC9D,QAAMC,KAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,GAAE,YAAY,GAAGxB,CAAC;AAClB,QAAMyB,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY,GAAGzB,CAAC;AAClB,QAAM0B,KAAK,CAAA,GAAIC,KAAK,CAAC,UAAU,OAAO,SAAS,QAAQ,QAAQ,MAAM,GAAGC,KAAK,EAAE,QAAQ,iBAAiB,KAAK,OAAO,OAAO,SAAS,MAAM,aAAa,MAAM,QAAQ,MAAM,OAAM;AACjL,aAAW,KAAKD,IAAI;AAClB,UAAME,IAAI,SAAS,cAAc,QAAQ;AACzC,IAAAA,EAAE,YAAY,GAAG7B,CAAC,YAAY,MAAM,SAAS,YAAY,EAAE,IAAI6B,EAAE,aAAa,cAAcD,GAAG,CAAC,CAAC,GAAGC,EAAE,QAAQD,GAAG,CAAC,GAAGC,EAAE,YAAY1B,GAAG,CAAC,GAAG0B,EAAE,UAAU,MAAMC,GAAG,CAAC,GAAGJ,GAAG,CAAC,IAAIG,GAAGJ,EAAE,YAAYI,CAAC;AAAA,EAC/L;AACA,QAAME,KAAK,SAAS,cAAc,KAAK;AACvC,EAAAA,GAAG,YAAY,GAAG/B,CAAC,cAAcyB,EAAE,YAAYM,EAAE;AACjD,QAAMC,KAAK,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,GAAGC,KAAK,SAAS,cAAc,KAAK;AACjJ,EAAAA,GAAG,YAAY,GAAGjC,CAAC;AACnB,QAAMkC,KAAK,CAAA;AACX,WAASC,GAAG,GAAG;AACb,IAAAD,GAAG,QAAQ,CAACL,MAAMA,EAAE,UAAU,OAAO,UAAUA,EAAE,QAAQ,UAAU,CAAC,CAAC;AAAA,EACvE;AACA,aAAW,KAAKG,IAAI;AAClB,UAAMH,IAAI,SAAS,cAAc,QAAQ;AACzC,IAAAA,EAAE,YAAY,GAAG7B,CAAC,UAAU,MAAM/C,IAAI,YAAY,EAAE,IAAI4E,EAAE,MAAM,aAAa,GAAGA,EAAE,QAAQ,QAAQ,GAAGA,EAAE,aAAa,cAAc,SAAS,CAAC,EAAE,GAAGA,EAAE,UAAU,MAAM;AACjK,MAAA5E,IAAI,GAAGmF,EAAE,QAAQ,GAAGD,GAAG,CAAC,GAAGE,GAAG,SAAS,CAAC;AAAA,IAC1C,GAAGH,GAAG,KAAKL,CAAC,GAAGI,GAAG,YAAYJ,CAAC;AAAA,EACjC;AACA,QAAMO,IAAI,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAE,OAAO,SAASA,EAAE,QAAQnF,GAAGmF,EAAE,YAAY,GAAGpC,CAAC,iBAAiBoC,EAAE,aAAa,cAAc,cAAc,GAAGA,EAAE,QAAQ,gBAAgBA,EAAE,UAAU,MAAM;AAC1J,IAAAnF,IAAImF,EAAE,OAAOD,GAAG,EAAE,GAAGE,GAAG,SAASpF,CAAC;AAAA,EACpC,GAAGgF,GAAG,YAAYG,CAAC,GAAGX,EAAE,YAAYQ,EAAE;AACtC,QAAMK,KAAK,SAAS,cAAc,KAAK;AACvC,EAAAA,GAAG,YAAY,GAAGtC,CAAC,cAAcyB,EAAE,YAAYa,EAAE;AACjD,QAAMC,KAAK,SAAS,cAAc,KAAK;AACvC,EAAAA,GAAG,YAAY,GAAGvC,CAAC;AACnB,QAAMwC,KAAI,SAAS,cAAc,MAAM;AACvC,EAAAA,GAAE,YAAY,GAAGxC,CAAC,oBAAoBwC,GAAE,cAAc;AACtD,QAAMC,IAAI,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAE,OAAO,SAASA,EAAE,MAAM,KAAKA,EAAE,MAAM,MAAMA,EAAE,QAAQ,OAAO3E,CAAC,GAAG2E,EAAE,YAAY,GAAGzC,CAAC,qBAAqByC,EAAE,aAAa,cAAc,kBAAkB,GAAGA,EAAE,UAAU,MAAM;AAC3K,IAAA3E,IAAI,SAAS2E,EAAE,OAAO,EAAE,GAAGD,GAAE,cAAc,GAAG1E,CAAC,MAAMuE,GAAG,SAASvE,CAAC;AAAA,EACpE,GAAGyE,GAAG,YAAYE,CAAC,GAAGF,GAAG,YAAYC,EAAC,GAAGf,EAAE,YAAYc,EAAE;AACzD,QAAMG,KAAK,SAAS,cAAc,KAAK;AACvC,EAAAA,GAAG,YAAY,GAAG1C,CAAC,cAAcyB,EAAE,YAAYiB,EAAE;AACjD,QAAMC,IAAI,SAAS,cAAc,QAAQ;AACzC,EAAAA,EAAE,YAAY,GAAG3C,CAAC,eAAe2C,EAAE,aAAa,cAAc,iBAAiB,GAAGA,EAAE,QAAQ,mBAAmBA,EAAE,YAAY,8LAA8LA,EAAE,UAAU,MAAM;AAC3U,IAAAvF,IAAIA,MAAM,IAAI,KAAK,GAAGuF,EAAE,UAAU,OAAO,UAAUvF,IAAI,CAAC,GAAGiF,GAAG,UAAUjF,CAAC;AAAA,EAC3E,GAAGqE,EAAE,YAAYkB,CAAC;AAClB,QAAMC,KAAK,SAAS,cAAc,KAAK;AACvC,EAAAA,GAAG,YAAY,GAAG5C,CAAC,cAAcyB,EAAE,YAAYmB,EAAE;AACjD,QAAMC,IAAI,SAAS,cAAc,QAAQ;AACzC,EAAAA,EAAE,YAAY,GAAG7C,CAAC,aAAa6C,EAAE,aAAa,cAAc,MAAM,GAAGA,EAAE,QAAQ,QAAQA,EAAE,YAAY1C,GAAG,MAAM0C,EAAE,WAAW,IAAIA,EAAE,UAAU,MAAM;AAC/I,IAAAxF,EAAE,SAAS,MAAMA,EAAE,IAAG,GAAIwF,EAAE,WAAWxF,EAAE,WAAW,GAAGsC,IAAI,MAAMmD,EAAC;AAAA,EACpE,GAAGrB,EAAE,YAAYoB,CAAC;AAClB,QAAME,IAAI,SAAS,cAAc,QAAQ;AACzC,EAAAA,EAAE,YAAY,GAAG/C,CAAC,mBAAmB+C,EAAE,cAAc,cAAcA,EAAE,MAAM,UAAU,QAAQA,EAAE,UAAUC;AACzG,QAAMC,KAAK,SAAS,cAAc,KAAK;AACvC,EAAAA,GAAG,YAAY,GAAGjD,CAAC;AACnB,QAAMkD,KAAK,SAAS,cAAc,QAAQ;AAC1C,EAAAA,GAAG,YAAY,GAAGlD,CAAC,eAAekD,GAAG,cAAc,UAAUA,GAAG,UAAU,MAAM;AAC9E,IAAAvC,GAAE,GAAI,EAAC;AAAA,EACT;AACA,QAAMwC,KAAK,SAAS,cAAc,QAAQ;AAC1C,EAAAA,GAAG,YAAY,GAAGnD,CAAC,aAAamD,GAAG,cAAc,QAAQA,GAAG,UAAUC,IAAIH,GAAG,YAAYC,EAAE,GAAGD,GAAG,YAAYE,EAAE,GAAG3B,GAAE,YAAYC,CAAC,GAAGD,GAAE,YAAYuB,CAAC,GAAGvB,GAAE,YAAYyB,EAAE,GAAGhC,EAAE,YAAYC,EAAE,GAAGD,EAAE,YAAYI,CAAC,GAAGJ,EAAE,YAAYO,EAAC,GAAGR,GAAG,YAAYC,CAAC,GAAG,SAAS,KAAK,YAAYD,EAAE,GAAGnB,IAAImB;AACtR,WAASc,GAAG,GAAG;AACb,IAAA9E,IAAI;AACJ,eAAW,CAAC6E,GAAG,CAAC,KAAK,OAAO,QAAQH,EAAE;AACpC,QAAE,UAAU,OAAO,UAAUG,MAAM,CAAC;AACtC,UAAM,WAAWhB,IAAI,MAAMC,IAAI,MAAMiC,EAAE,MAAM,UAAU,SAAS,MAAM,aAAapD,IAAI,OAAO0B,EAAE,UAAU,OAAO,eAAe,MAAM,QAAQ,GAAGA,EAAE,UAAU,OAAO,oBAAoB,GAAGgC,GAAE,GAAIP,EAAC;AAAA,EACpM;AACA,WAAST,GAAG,GAAGR,GAAG;AAChB,QAAIlC,MAAM,QAAQA,KAAKtC,EAAE,OAAQ;AACjC,UAAM,IAAIA,EAAEsC,CAAC;AACb,UAAM,UAAU,EAAE,QAAQkC,IAAI,MAAM,WAAW,WAAW,IAAI,EAAE,QAAQA,IAAI,MAAM,YAAY,EAAE,SAAS,WAAW,EAAE,SAASA,IAAIiB,EAAC;AAAA,EACtI;AACA,WAASQ,GAAG,GAAG;AACb,IAAArG,IAAI,EAAE,OAAOmF,EAAE,QAAQ,EAAE,OAAOD,GAAG,EAAE,KAAK,GAAG,WAAW,MAAMrE,IAAI,EAAE,OAAO2E,EAAE,QAAQ,OAAO,EAAE,KAAK,GAAGD,GAAE,cAAc,GAAG,EAAE,KAAK,OAAO,EAAE,SAAS,WAAWpF,IAAI,EAAE,QAAQuF,EAAE,UAAU,OAAO,UAAU,EAAE,SAAS,CAAC;AAAA,EACtN;AACA,WAASY,GAAG,GAAG1B,GAAG;AAChB,UAAM,IAAIR,EAAE,sBAAqB;AACjC,WAAO;AAAA,MACL,GAAG,KAAK,OAAO,IAAI,EAAE,OAAO7C,KAAK,CAAC;AAAA,MAClC,GAAG,KAAK,OAAOqD,IAAI,EAAE,MAAMpD,KAAK,CAAC;AAAA,IACvC;AAAA,EACE;AACA,WAAS+E,KAAK;AACZ,QAAI,CAAC5F,KAAK,CAAC,EAAG;AACd,UAAM,IAAIyD,EAAE,cAAc,IAAIQ,IAAIR,EAAE,eAAe;AACnD,QAAI,KAAK,IAAI,IAAIzD,GAAGiE,IAAI,GAAG,CAAC,GAAGrD,KAAK6C,EAAE,cAAczD,IAAI,KAAK,GAAGa,KAAK4C,EAAE,eAAe,IAAI,KAAK,GAAGC,EAAE,MAAM,QAAQ,GAAG1D,IAAI,CAAC,MAAM0D,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAMA,EAAE,MAAM,aAAa,GAAG9C,CAAC,MAAM8C,EAAE,MAAM,YAAY,GAAG7C,CAAC,MAAM8C,EAAE,QAAQF,EAAE,aAAaE,EAAE,SAASF,EAAE,cAAcyB,EAAC;AAAA,EACnR;AACA,WAASW,KAAK;AACZ,UAAM,IAAI,IAAI,MAAK;AACnB,MAAE,SAAS,MAAM;AACf,MAAA7F,IAAI,EAAE,cAAc,IAAI,EAAE,eAAe0D,EAAE,MAAMhE,GAAGkG,GAAE;AAAA,IACxD,GAAG,EAAE,MAAMlG;AAAA,EACb;AACA,WAASwF,IAAI;AACX,UAAM,IAAIvB,EAAE,WAAW,IAAI;AAC3B,QAAI,GAAG;AACL,UAAI,EAAE,UAAU,GAAG,GAAGA,EAAE,OAAOA,EAAE,MAAM,GAAG,EAAE,KAAI,GAAI,EAAE,UAAU/C,GAAGC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAGpB,EAAE,QAAQ,CAACwE,GAAG,MAAM;AACxG,QAAAxB,GAAG,GAAGwB,CAAC,GAAG,MAAMlC,KAAKe,GAAG,GAAGmB,CAAC;AAAA,MAC9B,CAAC,GAAGnD,KAAK,EAAE,UAAU,KAAK1B,MAAM,OAAO;AACrC,UAAE,cAAcC,GAAG,EAAE,YAAYa,GAAG,EAAE,UAAU,SAAS,EAAE,WAAW,SAAS,EAAE,UAAS,GAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjH,iBAAS+D,IAAI,GAAGA,IAAI,EAAE,QAAQA,KAAK,EAAG,GAAE,OAAO,EAAEA,CAAC,GAAG,EAAEA,IAAI,CAAC,CAAC;AAC7D,UAAE,OAAM;AAAA,MACV;AACA,UAAI,EAAE,QAAO,GAAI7E,MAAM,UAAU6D,GAAG;AAClC,UAAE,YAAY,mBAAmB,EAAE,SAAS,GAAG,GAAGU,EAAE,OAAOA,EAAE,MAAM;AACnE,cAAMM,IAAIrD,IAAIqC,EAAE,IAAI,GAAG,IAAIpC,IAAIoC,EAAE,IAAI,GAAG,IAAIA,EAAE,IAAI,GAAG6C,IAAI7C,EAAE,IAAI;AAC/D,UAAE,UAAUgB,GAAG,GAAG,GAAG6B,CAAC,GAAG,EAAE,cAAc,WAAW,EAAE,YAAY,GAAG,EAAE,WAAW7B,GAAG,GAAG,GAAG6B,CAAC,GAAGX,EAAE,MAAM,UAAU;AAAA,MACnH;AAAA,IACF;AAAA,EACF;AACA,WAASC,KAAK;AACZ,QAAI,CAACnC,KAAKA,EAAE,IAAI,MAAMA,EAAE,IAAI,GAAI;AAChC,UAAM,IAAI,IAAI,MAAK;AACnB,MAAE,SAAS,MAAM;AACf,YAAMgB,IAAI,SAAS,cAAc,QAAQ;AACzC,MAAAA,EAAE,QAAQhB,EAAE,GAAGgB,EAAE,SAAShB,EAAE;AAC5B,YAAM,IAAIgB,EAAE,WAAW,IAAI;AAC3B,YAAM,EAAE,UAAU,GAAGhB,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,GAAG,GAAGA,EAAE,GAAGA,EAAE,CAAC,GAAGvD,IAAIuE,EAAE,UAAU,WAAW,GAAGxE,IAAI,CAAA,GAAIwF,EAAE,WAAW,IAAIlD,IAAI,MAAMkB,IAAI,MAAMC,IAAI,MAAMiC,EAAE,MAAM,UAAU,QAAQjB,GAAG,MAAM,GAAG2B;IACvL,GAAG,EAAE,MAAMnG;AAAA,EACb;AACA,WAAS+F,KAAK;AACZ,IAAAtC,MAAMA,EAAE,UAAUA,IAAI;AAAA,EACxB;AACA,WAAS4C,GAAG,GAAG9B,GAAG;AAChB,IAAAwB,GAAE;AACF,UAAM,IAAI,SAAS,cAAc,KAAK;AACtC,MAAE,YAAY,GAAGrD,CAAC,iBAAiB,EAAE,MAAM,OAAO,GAAG,IAAI,IAAIxB,CAAC,MAAM,EAAE,MAAM,MAAM,GAAGqD,IAAI,IAAIpD,CAAC;AAC9F,UAAM,IAAI,SAAS,cAAc,OAAO;AACxC,MAAE,OAAO,QAAQ,EAAE,YAAY,GAAGuB,CAAC,eAAe,EAAE,cAAc;AAClE,UAAM0D,IAAI,SAAS,cAAc,QAAQ;AACzC,IAAAA,EAAE,YAAY,GAAG1D,CAAC,YAAY0D,EAAE,cAAc;AAC9C,UAAM,IAAI,MAAM;AACd,YAAME,IAAI,EAAE,MAAM,KAAI;AACtB,MAAAA,MAAMvG,EAAE,KAAK,EAAE,MAAM,QAAQ,GAAG,GAAG,GAAGwE,GAAG,MAAM+B,GAAG,OAAO3G,EAAC,CAAE,GAAG4F,EAAE,WAAW,IAAIC,MAAMO,GAAE;AAAA,IAC1F;AACA,MAAE,YAAY,CAACO,MAAM;AACnB,MAAAA,EAAE,QAAQ,WAAW,EAAC,GAAIA,EAAE,QAAQ,YAAYP,GAAE;AAAA,IACpD,GAAGK,EAAE,UAAU,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,YAAYA,CAAC,GAAGrC,EAAE,YAAY,CAAC,GAAGN,IAAI,GAAG,EAAE,MAAK;AAAA,EACxF;AACA,EAAAM,EAAE,cAAc,CAAC,MAAM;AACrB,UAAM,EAAE,GAAGQ,GAAG,GAAG,EAAC,IAAK0B,GAAG,EAAE,SAAS,EAAE,OAAO;AAC9C,QAAIvG,MAAM,UAAU;AAClB,UAAI,IAAI;AACR,eAAS0G,IAAIrG,EAAE,SAAS,GAAGqG,KAAK,GAAGA;AACjC,YAAInD,GAAGlD,EAAEqG,CAAC,GAAG7B,GAAG,GAAG,CAAC,GAAG;AACrB,cAAI6B;AACJ;AAAA,QACF;AACF,WAAK,KAAK/D,IAAI,GAAGC,IAAI,EAAE,GAAGiC,GAAG,GAAG,KAAKyB,GAAGjG,EAAE,CAAC,CAAC,GAAGgE,EAAE,UAAU,IAAI,oBAAoB,KAAK1B,IAAI,MAAMmD,EAAC;AACnG;AAAA,IACF;AACA,QAAI9F,MAAM,QAAQ;AAChB,MAAA8D,IAAI,EAAE,GAAGe,GAAG,GAAG,EAAC,GAAIhB,IAAI,MAAMkC,EAAE,MAAM,UAAU;AAChD;AAAA,IACF;AACA,IAAAhC,MAAMpB,IAAI,MAAM3C,MAAM,SAAS0B,IAAI,IAAI,IAAI,CAACmD,GAAG,CAAC,KAAK7E,MAAM,UAAUyC,IAAI,EAAE,GAAGoC,GAAG,GAAG,EAAC,IAAK7E,MAAM,SAAS,IAAI,EAAE,GAAG6E,GAAG,GAAG,EAAC,IAAK7E,MAAM,UAAU2G,GAAG9B,GAAG,CAAC;AAAA,EACvJ,GAAGR,EAAE,cAAc,CAAC,MAAM;AACxB,UAAM,EAAE,GAAGQ,GAAG,GAAG,EAAC,IAAK0B,GAAG,EAAE,SAAS,EAAE,OAAO;AAC9C,QAAIvG,MAAM,YAAY4C,KAAKD,MAAM,MAAM;AACrC,YAAM,IAAIkC,IAAIjC,EAAE,GAAG8D,IAAI,IAAI9D,EAAE;AAC7B,OAAC,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI8D,CAAC,IAAI,OAAOjD,GAAGpD,EAAEsC,CAAC,GAAG,GAAG+D,CAAC,GAAG9D,IAAI,EAAE,GAAGiC,GAAG,GAAG,EAAC,GAAIiB,EAAC;AAC9E;AAAA,IACF;AACA,QAAI9F,MAAM,UAAU8D,GAAG;AACrB,YAAM,IAAI,KAAK,IAAIA,EAAE,GAAGe,CAAC,GAAG6B,IAAI,KAAK,IAAI5C,EAAE,GAAG,CAAC;AAC/C,MAAAD,IAAI,EAAE,GAAG,GAAG,GAAG6C,GAAG,GAAG,KAAK,IAAI,IAAI,KAAK,IAAI7B,IAAIf,EAAE,CAAC,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,KAAK,IAAI,IAAIA,EAAE,CAAC,CAAC,EAAC,GAAIgC,EAAC;AAAA,IAC/F,WAAWpE,KAAK1B,MAAM;AACpB,QAAE,KAAK6E,GAAG,CAAC,GAAGiB,EAAC;AAAA,aACR9F,MAAM,UAAU,GAAG;AAC1B,MAAA8F,EAAC;AACD,YAAM,IAAIvB,EAAE,WAAW,IAAI;AAC3B,UAAI,GAAG;AACL,UAAE,KAAI,GAAI,EAAE,UAAU/C,GAAGC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,cAAcxB,GAAG,EAAE,YAAYa,GAAG,EAAE,UAAU,SAAS,EAAE,WAAW;AAClH,cAAM4F,IAAI,KAAK,IAAI,EAAE,GAAG7B,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG+B,IAAI,KAAK,IAAI/B,IAAI,EAAE,CAAC,GAAGgC,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAC9F,QAAAzG,IAAI,IAAIgD,GAAG,GAAGsD,GAAG,GAAGE,GAAGC,IAAIzG,CAAC,IAAI,EAAE,WAAWsG,GAAG,GAAGE,GAAGC,EAAE,GAAG,EAAE,QAAO;AAAA,MACtE;AAAA,IACF,WAAW7G,MAAM,WAAWyC,GAAG;AAC7B,MAAAqD,EAAC;AACD,YAAM,IAAIvB,EAAE,WAAW,IAAI;AAC3B,UAAI,GAAG;AACL,UAAE,KAAI,GAAI,EAAE,UAAU/C,GAAGC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,cAAcxB,GAAG,EAAE,YAAYA,GAAG,EAAE,YAAYa,GAAG,EAAE,UAAU,SAAS,EAAE,WAAW,SAAS,EAAE,UAAS,GAAI,EAAE,OAAO2B,EAAE,GAAGA,EAAE,CAAC,GAAG,EAAE,OAAOoC,GAAG,CAAC,GAAG,EAAE,OAAM;AACvM,cAAM6B,IAAI,IAAI,IAAI,KAAK,MAAM,IAAIjE,EAAE,GAAGoC,IAAIpC,EAAE,CAAC;AAC7C,UAAE,aAAa,EAAE,OAAOoC,GAAG,CAAC,GAAG,EAAE,OAAOA,IAAI6B,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,IAAIA,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO7B,IAAI6B,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,IAAIA,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,KAAI,GAAI,EAAE,QAAO;AAAA,MACnM;AAAA,IACF;AAAA,EACF,GAAGrC,EAAE,YAAY,CAAC,MAAM;AACtB,UAAM,EAAE,GAAGQ,GAAG,GAAG,EAAC,IAAK0B,GAAG,EAAE,SAAS,EAAE,OAAO;AAC9C,QAAIvG,MAAM,UAAU;AAClB,MAAA4C,IAAI,MAAMyB,EAAE,UAAU,OAAO,oBAAoB;AACjD;AAAA,IACF;AACA,QAAIrE,MAAM,QAAQ;AAChB,MAAA8D,IAAI;AACJ;AAAA,IACF;AACA,QAAI9D,MAAM,SAAS0B;AACjB,MAAAA,IAAI,IAAI,EAAE,UAAU,MAAMrB,EAAE,KAAK,EAAE,MAAM,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAOJ,GAAG,OAAOa,EAAC,CAAE,GAAG+E,EAAE,WAAW,IAAI,IAAI,CAAA;AAAA,aACrG7F,MAAM,WAAWyC;AACxB,MAAApC,EAAE,KAAK,EAAE,MAAM,SAAS,IAAIoC,EAAE,GAAG,IAAIA,EAAE,GAAG,IAAIoC,GAAG,IAAI,GAAG,OAAO5E,GAAG,OAAOa,GAAG,GAAG+E,EAAE,WAAW,IAAIpD,IAAI;AAAA,aAC7FzC,MAAM,UAAU,GAAG;AAC1B,YAAM,IAAI,KAAK,IAAI,EAAE,GAAG6E,CAAC,GAAG6B,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC;AAC/C,MAAArG,EAAE,KAAK,EAAE,MAAM,QAAQ,GAAG,GAAG,GAAGqG,GAAG,GAAG,KAAK,IAAI7B,IAAI,EAAE,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,GAAG,OAAO5E,GAAG,OAAOa,GAAG,QAAQV,EAAC,CAAE,GAAGyF,EAAE,WAAW,IAAI,IAAI;AAAA,IACxI;AACA,IAAAC,EAAC;AAAA,EACH,GAAGzB,EAAE,eAAe,CAAC,MAAM;AACzB,QAAIrE,MAAM,YAAY4C,GAAG;AACvB,MAAAA,IAAI,MAAMyB,EAAE,UAAU,OAAO,oBAAoB;AACjD;AAAA,IACF;AACA,IAAAA,EAAE,UAAU,CAAC;AAAA,EACf;AACA,WAAS+B,KAAK;AACZ,UAAM,IAAI,IAAI,MAAK;AACnB,MAAE,SAAS,MAAM;AACf,YAAMvB,IAAI,SAAS,cAAc,QAAQ;AACzC,MAAAA,EAAE,QAAQ,EAAE,cAAcA,EAAE,SAAS,EAAE;AACvC,YAAM,IAAIA,EAAE,WAAW,IAAI;AAC3B,UAAI,CAAC,EAAG;AACR,QAAE,UAAU,GAAG,GAAG,CAAC,GAAGxE,EAAE,QAAQ,CAACqG,MAAMrD,GAAG,GAAGqD,CAAC,CAAC;AAC/C,YAAM,IAAI7B,EAAE,UAAU,WAAW;AACjC,MAAAlB,GAAE,GAAIvE,EAAE,CAAC;AAAA,IACX,GAAG,EAAE,UAAU,MAAM;AACnB,MAAAuE,GAAE,GAAIvE,EAAEkB,CAAC;AAAA,IACX,GAAG,EAAE,MAAMA;AAAA,EACb;AACA,EAAAwC,KAAK,CAAC,MAAM;AACV,MAAE,QAAQ,WAAWiB,IAAIsC,OAAOrG,MAAM,UAAU6D,KAAKA,IAAI,MAAMkC,EAAE,MAAM,UAAU,QAAQD,EAAC,KAAMnD,MAAM,QAAQA,IAAI,MAAMmD,EAAC,MAAOnC,MAAM,EAAC,KAAM,EAAE,QAAQ,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,eAAc,GAAItD,EAAE,SAAS,MAAMA,EAAE,IAAG,GAAIwF,EAAE,WAAWxF,EAAE,WAAW,GAAGsC,IAAI,MAAMmD,EAAC,OAAQ,EAAE,QAAQ,YAAY,EAAE,QAAQ,gBAAgBnD,MAAM,QAAQ,CAACoB,MAAM,EAAE,eAAc,GAAI1D,EAAE,OAAOsC,GAAG,CAAC,GAAGkD,EAAE,WAAWxF,EAAE,WAAW,GAAGsC,IAAI,MAAMmD;EACzb,GAAG,SAAS,iBAAiB,WAAWhD,EAAE,GAAG,IAAI,eAAe,MAAM;AACpE,IAAAlC,KAAK,KAAK4F,GAAE;AAAA,EACd,CAAC,EAAE,QAAQnC,CAAC,GAAGoC,GAAE;AACnB;AACA,MAAMK,KAAK,GAAGC,KAAK,GAAGC,KAAK,IAAIC,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBpC,IAAIC,IAAI,MAAM,IAAI;AAClB,MAAM,IAAI,CAAA;AACV,IAAIC,KAAK;AACT,MAAMC,KAAK;AACX,SAASC,KAAK;AACZ,MAAI,SAAS,eAAeD,EAAE,EAAG;AACjC,QAAMjI,IAAI,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAE,KAAKiI,IAAIjI,EAAE,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiIzB,SAAS,KAAK,YAAYA,CAAC;AAC/B;AACA,SAASmI,KAAK;AACZ,MAAI,EAAE,CAACJ,KAAK,EAAE,WAAW;AACvB,QAAIC,IAAI;AACN,UAAIhI,IAAI;AACR,eAASC,IAAI,GAAGA,IAAI,EAAE,QAAQA,KAAK;AACjC,cAAM,EAAE,IAAI,GAAG,QAAQY,EAAC,IAAK,EAAEZ,CAAC;AAChC,UAAE,MAAM,SAAS,OAAO0H,KAAK,IAAI1H,CAAC,GAAG,EAAE,MAAM,YAAY,eAAeD,CAAC,gBAAgB,EAAE,MAAM,UAAU,EAAE,QAAQ,YAAY,SAAS,MAAM,KAAKA,KAAKa,IAAI+G;AAAA,MAChK;AACA,MAAAG,EAAE,MAAM,SAAS,GAAG/H,IAAI4H,EAAE;AAAA,IAC5B,OAAO;AACL,eAAS5H,IAAI,GAAGA,IAAI,EAAE,QAAQA,KAAK;AACjC,cAAM,EAAE,IAAIC,MAAM,EAAED,CAAC;AACrB,QAAAC,EAAE,MAAM,SAAS,OAAO0H,KAAK,IAAI3H,CAAC,GAAGC,EAAE,MAAM,YAAY,eAAeD,IAAI6H,EAAE,aAAa,IAAI7H,IAAI,IAAI,KAAKC,EAAE,MAAM,UAAUA,EAAE,QAAQ,YAAY,SAAS,MAAM;AAAA,MACrK;AACA,MAAA8H,EAAE,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,KAAKF,EAAE;AAAA,IACvD;AACJ;AACA,SAASO,GAAGpI,GAAG;AACb,MAAI,CAAC,OAAO,SAASA,CAAC,KAAKA,KAAK,EAAG,QAAO;AAC1C,QAAMC,IAAI,KAAK,OAAO,IAAID,IAAI,OAAOA,IAAI,MAAMA,GAAGa,IAAI,KAAK,IAAI,GAAGZ,IAAI,CAAC,GAAGa,IAAI,KAAK,MAAMD,IAAI,GAAG;AAChG,MAAIC,IAAI,GAAI,QAAO;AACnB,QAAMa,IAAI,KAAK,MAAMb,IAAI,EAAE;AAC3B,MAAIa,IAAI,GAAI,QAAO,GAAGA,CAAC;AACvB,QAAMV,IAAI,KAAK,MAAMU,IAAI,EAAE;AAC3B,SAAOV,IAAI,KAAK,GAAGA,CAAC,UAAU,GAAG,KAAK,MAAMA,IAAI,EAAE,CAAC;AACrD;AACA,SAASoH,GAAGrI,GAAGC,GAAG;AAChB,MAAI8H,EAAG,QAAOA;AACd,QAAM,IAAI,SAAS,cAAc,KAAK;AACtC,IAAE,YAAY;AACd,QAAMlH,IAAIb,EAAE,WAAW,QAAQ,GAAGc,IAAId,EAAE,SAAS,OAAO,GAAG2B,IAAI,IAAIV,IAAI,IAAIC,IAAI;AAC/E,SAAOL,IAAI,EAAE,MAAM,SAAS,GAAGc,IAAIV,IAAIC,CAAC,OAAO,EAAE,MAAM,MAAM,GAAGS,IAAIV,IAAIC,CAAC,MAAMJ,IAAI,EAAE,MAAM,QAAQ,GAAGa,CAAC,OAAO,EAAE,MAAM,OAAO,GAAGA,CAAC,MAAM,EAAE,iBAAiB,cAAc,MAAM;AAC5K,IAAAqG,KAAK,IAAIG,GAAE;AAAA,EACb,CAAC,GAAG,EAAE,iBAAiB,cAAc,MAAM;AACzC,IAAAH,KAAK,IAAIG,GAAE;AAAA,EACb,CAAC,GAAG,IAAI,SAAS,cAAc,QAAQ,GAAG,EAAE,YAAY,iCAAiClI,CAAC,IAAI,EAAE,aAAa,cAAc,8BAA8B,GAAG,EAAE,cAAc,KAAK,EAAE,iBAAiB,SAAS,CAACkB,MAAM;AAClN,IAAAA,EAAE,gBAAe,GAAImH,GAAE;AAAA,EACzB,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,SAAS,KAAK,YAAY,CAAC,GAAGP,IAAI,GAAG;AAC7D;AACA,SAASQ,GAAGvI,GAAGC,GAAG,GAAGY,GAAGC,GAAGa,GAAG;AAC5B,EAAAuG,GAAE;AACF,QAAMjH,IAAIoH,GAAGxH,GAAGC,CAAC;AACjB,IAAE,UAAU6G,MAAM,EAAE,IAAG,EAAG,GAAG,OAAM;AACnC,QAAMzG,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY,2BAA2BJ,CAAC,IAAII,EAAE,QAAQ,UAAU;AAClE,QAAMC,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY;AACd,QAAMM,IAAI,SAAS,cAAc,KAAK;AACtC,EAAAA,EAAE,YAAY,mBAAmBA,EAAE,YAAYqG;AAC/C,QAAM,IAAI,SAAS,cAAc,KAAK;AACtC,IAAE,YAAY,mBAAmB,EAAE,cAAc,GAAG7H,KAAK,SAAS,MAAMmI,GAAG,CAAC,CAAC,IAAIjH,EAAE,YAAYM,CAAC,GAAGN,EAAE,YAAY,CAAC;AAClH,QAAM,IAAI,SAAS,cAAc,KAAK;AACtC,IAAE,YAAY,mBAAmB,EAAE,cAAcnB,GAAGkB,EAAE,YAAYC,CAAC,GAAGD,EAAE,YAAY,CAAC,GAAGA,EAAE,iBAAiB,SAAS,MAAM;AACxH,IAAAoH,GAAG,EAAE,GAAG3G,EAAC;AAAA,EACX,CAAC,GAAGV,EAAE,YAAYC,CAAC;AACnB,QAAMmB,IAAInB,EAAE;AACZ,IAAE,QAAQ,EAAE,IAAIA,GAAG,QAAQmB,EAAC,CAAE,GAAG8F,MAAM,sBAAsB,MAAM;AACjE,0BAAsB,MAAM;AAC1B,MAAAjH,EAAE,QAAQ,UAAU,QAAQiH,GAAE;AAAA,IAChC,CAAC;AAAA,EACH,CAAC;AACH;AACA,SAASG,GAAGtI,GAAG;AACb,MAAIA,GAAG;AACL,eAAW,KAAK,EAAG,GAAE,GAAG,OAAM;AAC9B,MAAE,SAAS,GAAG+H,MAAMA,EAAE,OAAM,GAAIA,IAAI,OAAO,IAAI,MAAMC,KAAK;AAC1D;AAAA,EACF;AACA,QAAM/H,IAAI,CAAC,GAAG,CAAC;AACf,IAAE,SAAS;AACX,aAAW,KAAKA,GAAG;AACjB,MAAE,GAAG,QAAQ,UAAU,SAAS,EAAE,GAAG,MAAM,UAAU;AACrD,UAAMY,IAAI,MAAM;AACd,QAAE,GAAG,oBAAoB,iBAAiBA,CAAC,GAAG,EAAE,GAAG,OAAM;AAAA,IAC3D;AACA,MAAE,GAAG,iBAAiB,iBAAiBA,CAAC,GAAG,WAAW,MAAM,EAAE,GAAG,OAAM,GAAI,GAAG;AAAA,EAChF;AACA,MAAIkH,GAAG;AACL,UAAM,IAAIA;AACV,IAAAA,IAAI,MAAM,IAAI,MAAMC,KAAK,IAAI,WAAW,MAAM,EAAE,OAAM,GAAI,GAAG;AAAA,EAC/D;AACF;AACA,MAAMQ,KAAK;AACX,SAASC,KAAK;AACZ,MAAI;AACF,UAAMzI,IAAI,aAAa,QAAQwI,EAAE;AACjC,WAAOxI,IAAI,KAAK,MAAMA,CAAC,IAAI,CAAA;AAAA,EAC7B,QAAY;AACV,WAAO,CAAA;AAAA,EACT;AACF;AACA,SAAS0I,GAAG1I,GAAG;AACb,SAAOyI,GAAE,EAAGzI,CAAC,KAAK;AACpB;AACA,SAAS2I,GAAG3I,GAAG;AACb,MAAI;AACF,UAAMC,IAAIwI,GAAE;AACZ,IAAAxI,EAAED,CAAC,KAAKC,EAAED,CAAC,KAAK,KAAK,GAAG,aAAa,QAAQwI,IAAI,KAAK,UAAUvI,CAAC,CAAC;AAAA,EACpE,QAAY;AAAA,EACZ;AACF;AACA,SAAS2I,GAAG5I,GAAG;AACb,SAAOA,EAAE,kBAAkB,QAAQA,EAAE,kBAAkB,IAAI,KAAK0I,GAAG1I,EAAE,EAAE,KAAKA,EAAE;AAChF;AACA,SAAS6I,GAAG7I,GAAGC,GAAG;AAChB,MAAI;AACF,UAAM,IAAI,CAACgB,MAAMA,EAAE,QAAQ,QAAQ,EAAE;AACrC,QAAI,CAAChB,EAAE,SAAS,GAAG;AACjB,aAAO,EAAED,CAAC,MAAM,EAAEC,CAAC;AACrB,UAAMa,IAAIb,EAAE,MAAM,GAAG,EAAE,IAAI,CAACgB,MAAM;AAChC,UAAI,IAAI;AACR,iBAAWE,KAAKF;AACd,4BAAoB,QAAQE,CAAC,MAAM,OAAO,KAAK,OAAO,KAAKA;AAC7D,aAAO;AAAA,IACT,CAAC,GAAGQ,IAAI,IAAI,OAAO,MAAMb,EAAE,KAAK,IAAI,IAAI,GAAG;AAC3C,WAAOa,EAAE,KAAK3B,CAAC,KAAK2B,EAAE,KAAK,EAAE3B,CAAC,CAAC;AAAA,EACjC,QAAY;AACV,WAAO;AAAA,EACT;AACF;AACA,SAAS8I,GAAG9I,GAAGC,GAAG;AAChB,MAAIY;AACJ,QAAMG,IAAI,CAAA;AACV,aAAWF,KAAKd,GAAG;AACjB,QAAIc,EAAE,eAAe,eAAgB;AACrC,UAAMa,KAAKd,IAAIC,EAAE,eAAe,OAAO,SAASD,EAAE;AAClD,QAAKc,GACL;AAAA,UAAIiH,GAAG9H,CAAC,GAAG;AACT,QAAA4H,GAAG5H,EAAE,EAAE;AACP;AAAA,MACF;AACA,MAAA+H,GAAG5I,GAAG0B,CAAC,KAAKX,EAAE,KAAK;AAAA,QACjB,QAAQF,EAAE;AAAA,QACV,OAAOA,EAAE;AAAA,QACT,gBAAgBA,EAAE;AAAA,MACxB,CAAK;AAAA;AAAA,EACH;AACA,SAAOE;AACT;AACA,SAAS+H,GAAG/I,GAAGC,GAAG;AAChB,MAAIwB;AACJ,aAAW,KAAKzB;AACd,KAACyB,IAAI,EAAE,eAAe,QAAQA,EAAE,KAAK,EAAE,kBAAkB,QAAQ,OAAO,EAAE,cAAc,GAAGiH,GAAG,EAAE,EAAE;AACpG,QAAM1H,IAAoB,oBAAI,IAAG,GAAI,IAAoB,oBAAI,IAAG;AAChE,MAAI,IAAI;AACR,WAASW,IAAI;AACX,UAAM,IAAI,OAAO,SAAS;AAC1B,QAAI,MAAM,EAAG;AACb,QAAI;AACJ,UAAM,IAAImH,GAAG9I,GAAG,CAAC;AACjB,eAAWqC,KAAK,GAAG;AACjB,UAAI,EAAE,IAAIA,EAAE,MAAM;AAChB;AACF,QAAE,IAAIA,EAAE,MAAM;AACd,YAAMC,KAAKD,EAAE,SAAS,KAAK,KAAKE,IAAI,WAAW,MAAM;AACnD,QAAAvB,EAAE,OAAOuB,CAAC,GAAGoG,GAAGtG,EAAE,MAAM,GAAGpC,EAAEoC,CAAC;AAAA,MAChC,GAAGC,CAAC;AACJ,MAAAtB,EAAE,IAAIuB,CAAC;AAAA,IACT;AAAA,EACF;AACA,QAAM,IAAI,QAAQ,UAAU,KAAK,OAAO,GAAGrB,IAAI,QAAQ,aAAa,KAAK,OAAO;AAChF,UAAQ,YAAY,YAAY,GAAG;AACjC,MAAE,GAAG,CAAC,GAAGS,EAAC;AAAA,EACZ,GAAG,QAAQ,eAAe,YAAY,GAAG;AACvC,IAAAT,EAAE,GAAG,CAAC,GAAGS,EAAC;AAAA,EACZ;AACA,QAAMR,IAAI,MAAMQ,EAAC;AACjB,SAAO,OAAO,iBAAiB,YAAYR,CAAC,GAAGQ,EAAC,GAAI,MAAM;AACxD,eAAW,KAAKX,EAAG,cAAa,CAAC;AACjC,IAAAA,EAAE,MAAK,GAAI,QAAQ,YAAY,GAAG,QAAQ,eAAeE,GAAG,OAAO,oBAAoB,YAAYC,CAAC;AAAA,EACtG;AACF;AACA,MAAM6H,KAAK,eAAeC,KAAK,CAACjJ,GAAGC,MAAM,GAAG+I,EAAE,IAAI/I,CAAC,IAAID,CAAC,IAAIkJ,KAAK,CAAClJ,GAAGC,MAAM;AACzE,MAAI;AACF,IAAAA,IAAI,aAAa,QAAQgJ,GAAGjJ,GAAG,MAAM,GAAG,GAAG,IAAI,aAAa,WAAWiJ,GAAGjJ,GAAG,MAAM,CAAC;AAAA,EACtF,QAAY;AAAA,EACZ;AACF,GAAGmJ,KAAK,CAACnJ,MAAM;AACb,MAAI;AACF,WAAO,aAAa,QAAQiJ,GAAGjJ,GAAG,MAAM,CAAC,MAAM;AAAA,EACjD,QAAY;AACV,WAAO;AAAA,EACT;AACF,GAAGoJ,KAAK,CAACpJ,GAAGC,MAAM;AAChB,MAAI;AACF,iBAAa,QAAQgJ,GAAGjJ,GAAG,aAAa,GAAG,KAAK,UAAUC,CAAC,CAAC;AAAA,EAC9D,QAAY;AAAA,EACZ;AACF,GAAGoJ,KAAK,CAACrJ,MAAM;AACb,MAAI;AACF,UAAMC,IAAI,aAAa,QAAQgJ,GAAGjJ,GAAG,aAAa,CAAC;AACnD,WAAOC,IAAI,KAAK,MAAMA,CAAC,IAAI;AAAA,EAC7B,QAAY;AACV,WAAO;AAAA,EACT;AACF;AACA,IAAIqJ,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,IAAI,WAAW,IAAG,GAAI,EAAE,OAAO,IAAI,UAAU,IAAI,WAAW,GAAG,EAAC,GAAI,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,IAAI,WAAW,OAAO,EAAE,OAAO,KAAK,UAAU,IAAI,WAAW,IAAG,CAAE,EAAC,GAAI,OAAO,EAAE,SAAS,CAAC,EAAE,UAAU,IAAI,WAAW,IAAG,GAAI,EAAE,OAAO,IAAI,UAAU,IAAI,WAAW,IAAG,GAAI,EAAE,OAAO,IAAI,UAAU,IAAI,WAAW,IAAG,CAAE,EAAC,GAAI,OAAO,EAAE,SAAS,CAAC,EAAE,UAAU,IAAI,WAAW,IAAG,CAAE,EAAC,GAAI,QAAQ,EAAE,SAAS,CAAC,EAAE,UAAU,IAAI,WAAW,IAAG,CAAE,EAAC,GAAI,OAAO,EAAE,SAAS,CAAC,EAAE,UAAU,IAAI,WAAW,EAAC,CAAE,EAAC,GAAI,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,IAAI,WAAW,IAAG,CAAE,EAAC,GAAI,OAAO,EAAE,SAAS,CAAC,EAAE,UAAU,IAAI,WAAW,EAAC,CAAE,EAAC,GAAI,WAAW,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,WAAW,IAAG,CAAE,EAAC,GAAI,OAAO,EAAE,SAAS,CAAC,EAAE,UAAU,IAAI,WAAW,IAAG,GAAI,EAAE,OAAO,IAAI,UAAU,IAAI,WAAW,IAAG,CAAE,EAAC,GAAI,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,WAAW,EAAC,CAAE,EAAC,EAAE,GAAIC,KAAK,IAAIC,KAAK,KAAKC,KAAK,KAAKC,KAAK;AACx3B,SAASC,GAAG3J,GAAG;AACb,MAAI,OAAOA,KAAK,SAAU,QAAO,EAAE,YAAY,CAAC,EAAE,UAAUA,EAAC,CAAE,EAAC;AAChE,MAAI,OAAOA,KAAK,UAAU;AACxB,QAAIC,IAAIqJ,GAAGtJ,CAAC;AACZ,WAAOC,IAAI,EAAE,YAAYA,EAAE,QAAQ,IAAI,CAAC,MAAMC,EAAE,CAAA,GAAI,CAAC,CAAC,EAAC,KAAM,QAAQ,KAAK,kCAAkCF,CAAC,GAAG,GAAG;AAAA,EACrH;AACA,MAAI,MAAM,QAAQA,CAAC,GAAG;AACpB,QAAIA,EAAE,WAAW,EAAG,QAAO,EAAE,YAAY,CAAA,EAAE;AAC3C,QAAI,OAAOA,EAAE,CAAC,KAAK,UAAU;AAC3B,UAAIC,IAAID,GAAG,IAAI,CAAA;AACf,eAASa,IAAI,GAAGA,IAAIZ,EAAE,QAAQY,KAAK,GAAG;AACpC,YAAIC,IAAID,IAAI,IAAIZ,EAAEY,IAAI,CAAC,IAAI;AAC3B,UAAE,KAAKV,GAAGD,EAAE,CAAA,GAAIY,IAAI,KAAK,EAAE,OAAOA,EAAC,CAAE,GAAG,EAAE,UAAUb,EAAEY,CAAC,EAAC,CAAE,CAAC;AAAA,MAC7D;AACA,aAAO,EAAE,YAAY,EAAC;AAAA,IACxB;AACA,WAAO,EAAE,YAAYb,EAAE,IAAI,CAACC,MAAMC,EAAE,CAAA,GAAID,CAAC,CAAC,EAAC;AAAA,EAC7C;AACA,SAAO,EAAE,YAAYD,EAAE,QAAQ,IAAI,CAACC,MAAMC,EAAE,CAAA,GAAID,CAAC,CAAC,EAAC;AACrD;AACA,SAAS2J,GAAG5J,GAAGC,GAAG;AAChB,MAAIA,KAAK,EAAG,QAAO,CAACD,CAAC;AACrB,MAAIC,KAAK,EAAG,QAAO,CAAA;AACnB,MAAI,IAAI,KAAK,IAAI,GAAG,KAAK,MAAMyJ,KAAKzJ,CAAC,CAAC,GAAGY,IAAI6I,KAAK,GAAG5I,IAAI,CAAA,GAAIa,IAAI3B;AACjE,SAAO2B,KAAK+H,KAAM,CAAA5I,EAAE,KAAK,CAAC,GAAGA,EAAE,KAAKD,CAAC,GAAGc,KAAK+H;AAC7C,MAAI/H,IAAI,GAAG;AACT,QAAIV,IAAI,KAAK,IAAI,GAAG,KAAK,MAAMU,IAAI1B,CAAC,CAAC;AACrC,IAAAa,EAAE,KAAKG,CAAC;AACR,QAAIC,IAAIS,IAAIV;AACZ,IAAAC,IAAI,KAAKJ,EAAE,KAAKI,CAAC;AAAA,EACnB;AACA,SAAOJ;AACT;AACA,SAAS+I,GAAG7J,GAAGC,GAAG;AAChB,MAAIY,GAAGC;AACP,MAAIE,IAAI,CAAA;AACR,WAASW,IAAI,GAAGA,IAAI3B,EAAE,QAAQ2B,KAAK;AACjC,QAAIV,IAAIjB,EAAE2B,CAAC,GAAGT,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,IAAIL,IAAII,EAAE,cAAc,OAAOJ,IAAIZ,CAAC,CAAC,GAAGkB,KAAKL,IAAIG,EAAE,UAAU,OAAOH,IAAI;AAC/G,IAAAK,IAAI,MAAMH,EAAE,SAAS,KAAKA,EAAE,SAAS,MAAM,IAAIA,EAAEA,EAAE,SAAS,CAAC,KAAKG,KAAKH,EAAE,WAAW,KAAKA,EAAE,KAAK,CAAC,GAAGA,EAAE,KAAKG,CAAC;AAC5G,QAAIM,IAAImI,GAAG3I,EAAE,UAAUC,CAAC;AACxB,QAAIO,EAAE,WAAW,GAAG;AAClB,MAAAT,EAAE,SAAS,KAAKA,EAAE,SAAS,MAAM,IAAIA,EAAEA,EAAE,SAAS,CAAC,KAAKC,EAAE,WAAWA,EAAE,WAAW,MAAMD,EAAE,KAAK,CAAC,GAAGA,EAAE,KAAKC,EAAE,QAAQ;AACpH;AAAA,IACF;AACA,aAAS,KAAKQ,EAAG,CAAAT,EAAE,KAAK,CAAC;AAAA,EAC3B;AACA,SAAOA;AACT;AACA,IAAI8I,KAAK,GAAGC,GAAGC,MAAMD,IAAI,MAAM;AAAA,EAC7B,YAAY,GAAG;AACb,IAAA3J,EAAE,MAAM,eAAe,IAAI,GAC3BA,EAAE,MAAM,kBAAkB,EAAE,GAC5BA,EAAE,MAAM,YAAY,GACpBA,EAAE,MAAM,OAAO,GACfA,EAAE,MAAM,YAAY,GACpBA,EAAE,MAAM,SAAS,IAAI,GACrBA,EAAE,MAAM,kBAAkB,IAAI,GAC9BA,EAAE,MAAM,YAAY,IAAI,GACxBA,EAAE,MAAM,eAAe,IAAI,GAC3BA,EAAE,MAAM,aAAa,IAAI,GACzBA,EAAE,MAAM,eAAe,IAAI;AAC3B,QAAIY,GAAGH;AACP,SAAK,aAAa,EAAEiJ,IAAI,KAAK,SAAS9I,IAAyB,GAAE,UAAU,OAAOA,IAAI,IAAI,KAAK,cAAcH,IAAyB,GAAE,eAAe,OAAOA,IAAI;AAAA,EACpK;AAAA,EACA,MAAM,QAAQ,IAAI,CAAC,EAAE,UAAU,IAAI,WAAW,KAAK,GAAGG,GAAG;AACvD,QAAIC,GAAGC,GAAGC,GAAGM;AACb,QAAIZ,IAAI8I,GAAG,CAAC;AACZ,QAAI,CAAC9I,EAAG;AACR,QAAI,EAAE,YAAYC,EAAC,IAAKD;AACxB,QAAIC,EAAE,WAAW,EAAG;AACpB,QAAIa,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,IAAIV,IAAyBD,GAAE,cAAc,OAAOC,IAAI,GAAG,CAAC;AACzF,aAASS,KAAKZ,EAAG,KAAIY,EAAE,WAAW+H,OAAO/H,EAAE,WAAW+H,KAAK,CAAC,OAAO,SAAS/H,EAAE,QAAQ,KAAKA,EAAE,WAAW,KAAKA,EAAE,UAAU,WAAW,CAAC,OAAO,SAASA,EAAE,KAAK,KAAKA,EAAE,QAAQ,IAAI;AAC7K,cAAQ,KAAK,mGAAmG;AAChH;AAAA,IACF;AACA,QAAIqI,EAAE,eAAe,UAAU,QAAQF,GAAG/I,GAAGa,CAAC,CAAC,GAAG,CAACoI,EAAE,eAAe,KAAK,OAAO;AAC9E,UAAI,KAAK,UAAS,GAAI,CAAC,KAAK,YAAa;AACzC,WAAK,SAAS,MAAM,KAAK,YAAW,GAAI,KAAK,YAAW;AACxD,UAAIrI,MAAMP,KAAKD,IAAIJ,EAAE,CAAC,MAAM,OAAO,SAASI,EAAE,UAAU,OAAOC,IAAI,OAAO;AAC1E,UAAIO,MAAM,KAAK,YAAY,MAAK,GAAI,KAAK,SAAS,KAAK,WAAW;AAChE,YAAIU,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,IAAIX,IAAIX,EAAE,CAAC,EAAE,cAAc,OAAOW,IAAIE,CAAC,CAAC;AACrE,aAAK,UAAUS,CAAC;AAAA,MAClB;AACA,YAAM,KAAK,WAAWtB,GAAGa,GAAGD,CAAC;AAAA,IAC/B;AAAA,EACF;AAAA,EACA,SAAS;AACP,SAAK,YAAW,GAAIqI,EAAE,eAAe,UAAU,QAAQ,CAAC;AAAA,EAC1D;AAAA,EACA,UAAU;AACR,SAAK,YAAW,GAAI,KAAK,gBAAgB,KAAK,YAAY,OAAM,GAAI,KAAK,cAAc,MAAM,KAAK,iBAAiB,KAAK,KAAK,aAAa,KAAK,SAAS,MAAK,GAAI,KAAK,WAAW,MAAM,KAAK,cAAc,MAAM,KAAK,YAAY,MAAM,KAAK,cAAc;AAAA,EAC5P;AAAA,EACA,SAAS,GAAG;AACV,SAAK,QAAQ,GAAG,CAAC,KAAK,KAAK,aAAa,KAAK,SAAS,SAAS,KAAK,WAAW,MAAM,KAAK,cAAc,MAAM,KAAK,YAAY,MAAM,KAAK,cAAc;AAAA,EAC1J;AAAA,EACA,cAAc,GAAG;AACf,QAAI,KAAK,aAAa,GAAG,KAAK,aAAa;AACzC,UAAI/I,IAAI,KAAK,YAAY,cAAc,OAAO;AAC9C,WAAK,YAAY,MAAM,UAAU,IAAI,KAAK,QAAQA,MAAMA,EAAE,MAAM,UAAU,IAAI,KAAK;AAAA,IACrF;AAAA,EACF;AAAA,EACA,cAAc;AACZ,QAAI;AACJ,SAAK,UAAU,SAAS,qBAAqB,KAAK,KAAK,GAAG,KAAK,QAAQ,QAAQ,IAAI,KAAK,mBAAmB,QAAQ,EAAE,KAAK,IAAI,GAAG,KAAK,iBAAiB;AAAA,EACzJ;AAAA,EACA,WAAW,GAAGA,GAAGH,GAAG;AAClB,WAAO,IAAI,QAAQ,CAACC,MAAM;AACxB,UAAIsB,GAAGC;AACP,WAAK,iBAAiBvB;AACtB,UAAIa,IAAI,IAAI,IAAI;AAChB,eAAS,KAAK,GAAG;AACf,YAAIY,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,IAAIH,IAAI,EAAE,cAAc,OAAOA,IAAIpB,CAAC,CAAC,GAAGwB,KAAKH,IAAI,EAAE,UAAU,OAAOA,IAAI;AACrG,QAAAG,IAAI,MAAM,KAAKA,GAAGb,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,IAAI,WAAW,EAAC,CAAE,IAAI,KAAK,EAAE,UAAUA,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,IAAI,WAAWY,EAAC,CAAE;AAAA,MAC3H;AACA,UAAIrB,IAAI,GAAGC,IAAI,GAAGM,IAAI,IAAIC,IAAI,CAAC,MAAM;AACnC,YAAI4B,GAAGC;AACP,QAAApC,MAAM,MAAMA,IAAI;AAChB,YAAIoB,IAAI,IAAIpB;AACZ,YAAIoB,KAAKrB,GAAG;AACV,eAAK,QAAQ,MAAM,KAAK,iBAAiB,MAAMJ,EAAC;AAChD;AAAA,QACF;AACA,YAAI0B,IAAIb,EAAE,CAAC;AACX,iBAAS6B,KAAK7B,EAAG,KAAIY,IAAIiB,EAAE,KAAK;AAC9B,UAAAhB,IAAIgB;AACJ;AAAA,QACF;AACA,YAAIhB,EAAE,MAAM;AACV,cAAIgB,IAAI+F,MAAM,IAAI/G,EAAE,aAAagH;AACjC,UAAA/H,MAAM,MAAMA,IAAI,GAAGZ,OAAOyC,IAAI,KAAK,gBAAgB,QAAQA,EAAE,SAAS,KAAK,SAAS,KAAK,YAAY,KAAK,UAAUd,EAAE,SAAS,GAAG3B,IAAI,OAAO,IAAIY,KAAK+B,OAAOD,IAAI,KAAK,gBAAgB,QAAQA,EAAE,MAAK,GAAI,KAAK,SAAS,KAAK,YAAY,KAAK,UAAUf,EAAE,SAAS,GAAGf,IAAI;AAAA,QAC3Q;AACA,aAAK,QAAQ,sBAAsBC,CAAC;AAAA,MACtC;AACA,WAAK,QAAQ,sBAAsBA,CAAC;AAAA,IACtC,CAAC;AAAA,EACH;AAAA,EACA,UAAU,GAAG;AACX,QAAI,CAAC,KAAK,YAAY,CAAC,KAAK,eAAe,CAAC,KAAK,aAAa,CAAC,KAAK,YAAa;AACjF,QAAIV,IAAI,KAAK,YAAY,eAAe,CAAC;AACzC,aAASC,IAAI,GAAGA,IAAID,EAAE,QAAQC,IAAK,CAAAD,EAAEC,CAAC,KAAK,KAAK,OAAM,IAAK,IAAI,KAAK,KAAK,IAAI,CAACA,IAAI,EAAE;AACpF,SAAK,UAAU,KAAK,QAAQ,MAAM;AAClC,QAAIJ,IAAI,MAAM,IAAI,KAAKC,IAAI,KAAK,KAAK,OAAM,IAAK,OAAO;AACvD,SAAK,YAAY,UAAU,QAAQD,IAAIC;AACvC,QAAIa,IAAI,KAAK,SAAS,mBAAkB;AACxC,IAAAA,EAAE,SAAS,KAAK,aAAaA,EAAE,QAAQ,KAAK,WAAW,GAAGA,EAAE,UAAU,MAAMA,EAAE,WAAU,GAAIA,EAAE,MAAK;AAAA,EACrG;AAAA,EACA,MAAM,cAAc;AAClB,QAAI;AACJ,QAAI,CAAC,KAAK,YAAY,OAAO,eAAe,KAAK;AAC/C,WAAK,WAAW,IAAI,aAAY,GAAI,KAAK,cAAc,KAAK,SAAS,mBAAkB,GAAI,KAAK,YAAY,OAAO,YAAY,KAAK,YAAY,UAAU,QAAQ,KAAK,KAAK,YAAY,EAAE,QAAQ,GAAG,KAAK,YAAY,KAAK,SAAS,WAAU,GAAI,KAAK,YAAY,QAAQ,KAAK,SAAS,GAAG,KAAK,UAAU,QAAQ,KAAK,SAAS,WAAW;AAC5U,UAAIX,IAAI;AACR,WAAK,cAAc,KAAK,SAAS,aAAa,GAAG,KAAK,SAAS,aAAaA,GAAG,KAAK,SAAS,UAAU;AACvG,UAAIH,IAAI,KAAK,YAAY,eAAe,CAAC;AACzC,eAASC,IAAI,GAAGA,IAAID,EAAE,QAAQC,IAAK,CAAAD,EAAEC,CAAC,KAAK,KAAK,OAAM,IAAK,IAAI,KAAK,KAAK,IAAI,CAACA,IAAI,EAAE;AAAA,IACtF;AACA,MAAE,IAAI,KAAK,aAAa,OAAO,SAAS,EAAE,WAAW,eAAe,MAAM,KAAK,SAAS,OAAM;AAAA,EAChG;AAAA,EACA,YAAY;AACV,QAAI,KAAK,kBAAkB,OAAO,WAAW,IAAK;AAClD,QAAI,IAAI,eAAe,KAAK,UAAU,IAAIE,IAAI,SAAS,cAAc,OAAO;AAC5E,IAAAA,EAAE,aAAa,OAAO,CAAC,GAAGA,EAAE,cAAc,mBAAmBA,EAAE,MAAM,WAAW,SAASA,EAAE,MAAM,SAAS,QAAQA,EAAE,MAAM,OAAO,QAAQA,EAAE,MAAM,UAAU,YAAYA,EAAE,MAAM,kBAAkB,sBAAsBA,EAAE,MAAM,QAAQ,SAASA,EAAE,MAAM,aAAa,cAAcA,EAAE,MAAM,WAAW,QAAQA,EAAE,MAAM,eAAe,OAAOA,EAAE,MAAM,SAAS,QAAQA,EAAE,MAAM,aAAa,QAAQ,KAAK,cAAcA;AACrZ,QAAIH,IAAI,SAAS,cAAc,OAAO;AACtC,IAAAA,EAAE,OAAO,YAAYA,EAAE,aAAa,UAAU,EAAE,GAAGA,EAAE,KAAK,GAAGA,EAAE,MAAM,MAAM,WAAWA,EAAE,MAAM,aAAa,QAAQ,KAAK,eAAeG,EAAE,MAAM,UAAU,QAAQH,EAAE,MAAM,UAAU,SAASG,EAAE,YAAYH,CAAC,GAAG,SAAS,KAAK,YAAYG,CAAC,GAAG,KAAK,iBAAiB;AAAA,EACpQ;AACF,GAAGZ,EAAE2J,GAAG,eAAe,OAAO,YAAY,OAAO,OAAO,UAAU,WAAW,UAAU,GAAGA;AAC1F,MAAM,KAAK,IAAIC,GAAE,GAAIC,KAAI,MAAMA,GAAE;AAAA,EAC/B,YAAYhK,GAAG;AACb,QAAI,GAAGY,GAAGC;AACV,QAAI,KAAK,SAAS,MAAM,KAAK,YAAY,MAAM,KAAK,UAAU,MAAM,KAAK,SAAS,IAAI,KAAK,aAAa,IAAI,KAAK,iBAAiB,MAAM,KAAK,cAAc,GAAG,KAAK,gBAAgB,IAAI,KAAK,oBAAoB,MAAM,KAAK,mBAAmB,MAAM,KAAK,sBAAsB,MAAM,KAAK,sBAAsB,MAAM,CAACb,EAAE,cAAc,OAAOA,EAAE,cAAc,YAAYA,EAAE,WAAW,KAAI,MAAO;AAChY,YAAM,IAAI,MAAM,yCAAyC;AAC3D,SAAK,SAAS;AAAA,MACZ,YAAYA,EAAE;AAAA,MACd,QAAQA,EAAE;AAAA,MACV,UAAUA,EAAE;AAAA,MACZ,OAAOA,EAAE,SAAS;AAAA,MAClB,iBAAiBA,EAAE,mBAAmB;AAAA,MACtC,YAAYA,EAAE,cAAc;AAAA,MAC5B,WAAWA,EAAE,aAAa;AAAA,MAC1B,WAAWA,EAAE,aAAa;AAAA,MAC1B,oBAAoBA,EAAE,sBAAsB;AAAA,MAC5C,eAAeA,EAAE,iBAAiB;AAAA,MAClC,WAAW,IAAIA,EAAE,aAAa,OAAO,IAAI,CAAA;AAAA,MACzC,eAAeY,IAAIZ,EAAE,iBAAiB,OAAOY,IAAI;AAAA,MACjD,mBAAmBC,IAAIb,EAAE,qBAAqB,OAAOa,IAAI;AAAA,MACzD,QAAQb,EAAE,WAAW,MAAM;AAAA,MAC3B;AAAA,MACA,SAASA,EAAE,YAAY,MAAM;AAAA,MAC7B;AAAA,MACA,SAASA,EAAE,YAAY,CAAC0B,MAAM,QAAQ,MAAM,4BAA4BA,CAAC;AAAA,IAC/E,GAAO,KAAK,WAAWrB,GAAE,GAAI,KAAK,YAAY,KAAK,eAAc,GAAI2J,GAAE,UAAU,IAAI,KAAK,UAAU,IAAI,GAAG,KAAK,KAAI;AAAA,EAClH;AAAA,EACA,oBAAoBhK,GAAG;AACrB,IAAAA,IAAI,KAAK,SAAS,UAAU,SAAS,QAAQ,IAAIA,CAAC,KAAK,SAAS,MAAM,QAAQ,aAAa,EAAE,CAAC,IAAI,KAAK,gBAAgB,MAAM,KAAK,kBAAkB,SAAS,QAAQ,SAAS,MAAM,QAAQ,aAAa,EAAE,GAAG,KAAK,gBAAgB;AAAA,EACrO;AAAA;AAAA;AAAA;AAAA,EAIA,oBAAoB;AAClB,WAAO,4BAA4B,KAAK,OAAO,UAAU;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA,EAIA,6BAA6B;AAC3B,QAAI,OAAO,SAAU;AACnB,aAAO;AACT,QAAI;AACF,YAAMA,IAAI,KAAK,kBAAiB,GAAI,IAAI,aAAa,QAAQA,CAAC;AAC9D,UAAI,GAAG;AACL,cAAMY,IAAI,SAAS,GAAG,EAAE;AACxB,eAAO,MAAMA,CAAC,IAAI,IAAIA;AAAA,MACxB;AAAA,IACF,SAASZ,GAAG;AACV,cAAQ,MAAM,kDAAkDA,CAAC;AAAA,IACnE;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,yBAAyBA,GAAG;AAC1B,QAAI,OAAO,SAAU;AACnB,UAAI;AACF,cAAM,IAAI,KAAK,kBAAiB;AAChC,QAAAA,IAAI,IAAI,aAAa,QAAQ,GAAG,OAAOA,CAAC,CAAC,IAAI,aAAa,WAAW,CAAC;AAAA,MACxE,SAAS,GAAG;AACV,gBAAQ,MAAM,gDAAgD,CAAC;AAAA,MACjE;AAAA,EACJ;AAAA,EACA,iBAAiB;AACf,WAAO,GAAGI,GAAG,KAAK,OAAO,MAAM,CAAC,MAAM,KAAK,OAAO,WAAW,KAAI,CAAE;AAAA,EACrE;AAAA,EACA,OAAO;AACL,QAAI;AACF,WAAK,cAAc,KAAK,2BAA0B,GAAI,KAAK,gBAAe,GAAI,KAAK,gBAAgB,KAAK,uBAAuB,KAAK,aAAY,GAAI,KAAK,OAAO,gBAAgB,KAAK,YAAY,KAAK,QAAQ,MAAM,UAAU,SAAS,KAAK,cAAc,MAAM,KAAK,WAAWyB,GAAG,KAAK,SAAS,KAAK,WAAW,GAAG,KAAK,oBAAoB,KAAK,WAAW,IAAI,KAAK,oBAAoB,MAAM;AAC9X,SAAC,SAAS,UAAU,KAAK,iBAAiB,KAAK,oBAAoB,CAAC;AAAA,MACtE,GAAG,SAAS,iBAAiB,oBAAoB,KAAK,iBAAiB,GAAGqH,GAAG,KAAK,OAAO,UAAU,KAAK,KAAK,KAAI;AAAA,IACnH,SAASlJ,GAAG;AACV,WAAK,OAAO,QAAQA,aAAa,QAAQA,IAAI,IAAI,MAAM,OAAOA,CAAC,CAAC,CAAC;AAAA,IACnE;AAAA,EACF;AAAA,EACA,kBAAkB;AAChB,SAAK,YAAY,SAAS,cAAc,KAAK,GAAG,KAAK,UAAU,KAAK,GAAG,KAAK,OAAO,UAAU,cAAc,KAAK,UAAU,YAAY,4CAA4C,KAAK,OAAO,UAAU,IAAIM,GAAE,GAAIQ,GAAG,KAAK,WAAW,KAAK,MAAM;AAChP,UAAMd,IAAIoJ,GAAG,KAAK,OAAO,UAAU;AACnC,IAAApJ,KAAK,KAAK,OAAO,eAAe,YAAY,KAAK,UAAU,MAAM,QAAQ,GAAGA,EAAE,KAAK,MAAM,KAAK,UAAU,MAAM,SAAS,GAAGA,EAAE,MAAM,OAAO,KAAK,OAAO,eAAe,WAAW,KAAK,gBAAgB,KAAK,SAAS,GAAG,KAAK,OAAO,eAAe,WAAW,CAAC,KAAK,OAAO,YAAYW,GAAG,KAAK,WAAW,KAAK,OAAO,iBAAiB,KAAK,OAAO,KAAK,GAAG,SAAS,KAAK,YAAY,KAAK,SAAS;AAAA,EAClY;AAAA,EACA,eAAe;AACb,SAAK,cAAc,KAAK,SAASoB;AAAA,MAC/B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,OAAO;AAAA,IAClB;AAAA,EACE;AAAA,EACA,sBAAsB;AACpB,SAAK,iBAAiBE;AAAA,MACpB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,QACE,SAAS,MAAM;AACb,eAAK,oBAAoB;AAAA,YACvB,MAAM;AAAA,YACN,QAAQ;AAAA,cACN,YAAY,KAAK,OAAO;AAAA,cACxB,OAAO,KAAK,OAAO;AAAA,cACnB,iBAAiB,KAAK,OAAO;AAAA,cAC7B,YAAY,KAAK,OAAO;AAAA,cACxB,WAAW,KAAK,OAAO;AAAA,cACvB,WAAW,KAAK,OAAO;AAAA,cACvB,eAAe,KAAK,OAAO;AAAA,cAC3B,UAAU,KAAK,OAAO;AAAA,cACtB,kBAAkB,KAAK,OAAO;AAAA,YAC5C;AAAA,UACA,CAAW;AAAA,QACH;AAAA,QACA,QAAQ,MAAM;AACZ,eAAK,SAAS,IAAI,KAAK,cAAc,GAAG,KAAK,yBAAyB,CAAC,GAAG,KAAK,WAAWJ,GAAG,KAAK,SAAS,CAAC,GAAG,KAAK,OAAO,OAAM;AAAA,QACnI;AAAA,QACA,SAAS,MAAM;AACb,eAAK,SAAS,IAAIoH,GAAG,KAAK,OAAO,YAAY,EAAE,GAAG,KAAK,YAAYnH,GAAG,KAAK,SAAS,IAAI,KAAK,OAAO,KAAK,GAAG,OAAO,cAAc,QAAQ,KAAK,QAAQ,MAAM,UAAU,MAAM,KAAK,OAAO,QAAO;AAAA,QACjM;AAAA,QACA,SAAS,KAAK,OAAO;AAAA,QACrB,eAAe,CAAC9B,MAAM;AACpB,UAAAA,IAAI,KAAK,eAAe,GAAG,QAAQ,WAAW,GAAG,KAAK,cAAcA,GAAG,KAAK,yBAAyBA,CAAC,GAAG,KAAK,WAAW6B,GAAG,KAAK,SAAS7B,CAAC,GAAG,KAAK,oBAAoBA,CAAC;AAAA,QAC1K;AAAA,QACA,gBAAgB,CAACA,GAAG,GAAGY,MAAM;AAC3B,UAAAwC,GAAGpD,GAAG,GAAGY,GAAG,CAACC,MAAM;AACjB,YAAA2D;AAAA,cACE3D;AAAA,cACA,CAACa,MAAM;AACL,qBAAK,oBAAoB;AAAA,kBACvB,MAAM;AAAA,kBACN,SAAS,EAAE,SAASA,EAAC;AAAA,gBACvC,CAAiB;AAAA,cACH;AAAA,cACA,MAAM;AAAA,cACN;AAAA,YACd;AAAA,UACU,CAAC;AAAA,QACH;AAAA,QACA,oBAAoB,MAAM;AACxB,eAAK,aAAY;AAAA,QACnB;AAAA,QACA,kBAAkB,CAAC1B,GAAG,GAAGY,MAAM;AAC7B,eAAK,UAAU0H,GAAGtI,GAAG,GAAGY,GAAG,KAAK,OAAO,iBAAiB,KAAK,OAAO,OAAO,MAAM,KAAK,MAAM;AAAA,QAC9F;AAAA,QACA,qBAAqB,CAACZ,MAAM;AAC1B,eAAK,sBAAsBA,CAAC;AAAA,QAC9B;AAAA,QACA,wBAAwB,CAACA,MAAM;AAC7B,eAAK,qBAAqB,KAAK,iBAAgB,GAAI,KAAK,mBAAmB,OAAOA,EAAE,WAAW,MAAM,KAAK,mBAAmB8I,GAAG9I,GAAG,CAAC,MAAM;AACxI,iBAAK,oBAAoB;AAAA,cACvB,MAAM;AAAA,cACN,WAAW;AAAA,gBACT,QAAQ,EAAE;AAAA,gBACV,OAAO,EAAE;AAAA,gBACT,gBAAgB,EAAE;AAAA,cAClC;AAAA,YACA,CAAa;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACR;AAAA,IACA,GAAO,OAAO,iBAAiB,WAAW,KAAK,cAAc,GAAG,KAAK,WAAW,KAAK,sBAAsBkC,GAAG,KAAK,QAAQ,KAAK,QAAQ,EAAE;AAAA,EACxI;AAAA,EACA,eAAe;AACb,QAAI,KAAK,sBAAsB,MAAM,KAAK,OAAM,GAAI,KAAK,OAAO,UAAU;AACxE,YAAMlC,IAAI,SAAS,cAAc,KAAK,OAAO,QAAQ;AACrD,MAAAA,KAAK,KAAK,UAAUA,GAAG,KAAK,QAAQ,iBAAiB,SAAS,KAAK,mBAAmB,MAAM,QAAQ,KAAK,gCAAgC,KAAK,OAAO,QAAQ,wCAAwC,GAAG,KAAK;IAC/M;AACE,WAAK,qBAAoB;AAAA,EAC7B;AAAA,EACA,uBAAuB;AACrB,SAAK,wBAAwB,KAAK,sBAAsB,MAAM,KAAK,OAAM,IAAK,KAAK,UAAUuB,GAAG,KAAK,QAAQ,KAAK,mBAAmB;AAAA,EACvI;AAAA,EACA,oBAAoBvB,GAAG;AACrB,IAAAgC,GAAG,KAAK,QAAQ,KAAK,UAAU,KAAK,WAAWhC,CAAC;AAAA,EAClD;AAAA,EACA,SAAS;AACP,SAAK,SAAS,KAAK,MAAK,IAAK,KAAK,KAAI;AAAA,EACxC;AAAA,EACA,OAAO;AACL,KAAC,KAAK,aAAa,CAAC,KAAK,WAAWqI,GAAG,EAAE,GAAG,KAAK,YAAW,GAAI,KAAK,SAAS,IAAI,GAAG,QAAQ,QAAQ,GAAGY,GAAG,KAAK,OAAO,YAAY,EAAE,GAAG,KAAK,UAAU,MAAM,UAAU,SAAS1I,GAAG,KAAK,SAAS,GAAG,KAAK,cAAc,GAAG,KAAK,yBAAyB,CAAC,GAAG,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAYsB,GAAG,KAAK,SAAS,CAAC,GAAGC,GAAG,KAAK,SAAS,IAAI,KAAK,OAAO,KAAK,GAAG,OAAO,cAAc,QAAQ,KAAK,QAAQ,MAAM,UAAU,UAAU,KAAK,oBAAoB,EAAE,MAAM,OAAM,CAAE;AAAA,EACvd;AAAA,EACA,QAAQ;AACN,SAAK,cAAc,KAAK,SAAS,IAAI,GAAG,QAAQ,OAAO,GAAGmH,GAAG,KAAK,OAAO,YAAY,EAAE,GAAG,KAAK,YAAYnH,GAAG,KAAK,SAAS,IAAI,KAAK,OAAO,KAAK,GAAG,OAAO,cAAc,QAAQ,KAAK,QAAQ,MAAM,UAAU,MAAMtB,GAAG,KAAK,SAAS,GAAG,KAAK,oBAAoB,EAAE,MAAM,QAAO,CAAE;AAAA,EACpR;AAAA,EACA,cAAc;AACZ,SAAK,YAAY,KAAK,QAAQ,MAAM,UAAU;AAAA,EAChD;AAAA,EACA,cAAc;AACZ,SAAK,YAAY,KAAK,QAAQ,MAAM,UAAU;AAAA,EAChD;AAAA,EACA,gBAAgBR,GAAG;AACjB,UAAM,IAAI,SAAS,cAAc,KAAK;AACtC,MAAE,YAAY;AAAA;AAAA;AAAA,WAGP,OAAO,OAAO,EAAE,OAAO;AAAA,MAC5B,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,cAAc;AAAA,IACpB,CAAK,GAAG,EAAE,iBAAiB,cAAc,MAAM;AACzC,YAAM,IAAI,EAAE,cAAc,KAAK;AAC/B,YAAM,EAAE,MAAM,UAAU;AAAA,IAC1B,CAAC,GAAG,EAAE,iBAAiB,cAAc,MAAM;AACzC,YAAM,IAAI,EAAE,cAAc,KAAK;AAC/B,YAAM,EAAE,MAAM,UAAU;AAAA,IAC1B,CAAC;AACD,UAAMY,IAAI,KAAKC,IAAI,KAAKa,IAAI;AAC5B,MAAE,iBAAiB,YAAY,CAAC,MAAM;AACpC,QAAE,gBAAe,GAAI,GAAG,QAAQ,OAAO,GAAG,OAAO,WAAW,kCAAkC,EAAE,YAAY1B,EAAE,MAAM,aAAa,iBAAiBA,EAAE,MAAM,aAAa,4IAA4I,WAAW,MAAM;AAClU,QAAAA,EAAE,MAAM,aAAa,IAAIA,EAAE,MAAM,aAAa;AAAA,MAChD,GAAG,GAAG,IAAIA,EAAE,MAAM,QAAQ,uCAAuCA,EAAE,MAAM,SAAS,4BAA4BA,EAAE,MAAM,YAAY;AAClI,UAAI;AACF,qBAAa,WAAW,2BAA2B,KAAK,OAAO,UAAU,EAAE;AAAA,MAC7E,QAAY;AAAA,MACZ;AAAA,IACF,CAAC;AACD,QAAIgB,IAAI,IAAIC,IAAI,GAAGC,IAAI,GAAGM,IAAI,GAAG,IAAI;AACrC,MAAE,iBAAiB,eAAe,CAAC,MAAM;AACvC,QAAE,gBAAe,GAAI,EAAE,eAAc,GAAIR,IAAI,IAAIC,IAAI,EAAE,SAASC,IAAI,EAAE;AACtE,YAAMkB,IAAIpC,EAAE,sBAAqB;AACjC,MAAAwB,IAAIY,EAAE,OAAO,IAAIA,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,GAAGpC,EAAE,MAAM,aAAa;AAAA,IACpF,CAAC,GAAG,EAAE,iBAAiB,eAAe,CAAC,MAAM;AAC3C,UAAI,CAACgB,EAAG;AACR,YAAMoB,IAAInB,IAAI,EAAE,SAASoB,IAAInB,IAAI,EAAE,SAASoB,IAAI,SAAStC,EAAE,MAAM,KAAK,KAAK,IAAI,IAAI,SAASA,EAAE,MAAM,MAAM,KAAK,IAAIqD,IAAI,KAAK,IAAIxC,GAAG,OAAO,aAAayB,IAAI,EAAE,GAAG,IAAI,OAAO,cAAc,IAAI,IAAIiB,IAAI,KAAK,IAAI3C,GAAG,KAAK,IAAIyC,GAAG7B,IAAIY,CAAC,CAAC,GAAGoB,IAAI,KAAK,IAAI9B,GAAG,KAAK,IAAI,GAAG,IAAIW,CAAC,CAAC;AACxQ,MAAArC,EAAE,MAAM,QAAQ,GAAGuD,CAAC,MAAMvD,EAAE,MAAM,SAAS,GAAGwD,CAAC,MAAMxD,EAAE,MAAM,YAAY,GAAGwD,CAAC;AAAA,IAC/E,CAAC,GAAG,EAAE,iBAAiB,aAAa,CAAC,MAAM;AACzC,UAAI,CAACxC,EAAG;AACR,MAAAA,IAAI,IAAI,EAAE,sBAAsB,EAAE,SAAS,GAAGhB,EAAE,MAAM,aAAa;AACnE,YAAMoC,IAAIpC,EAAE,sBAAqB;AACjC,MAAAmJ,GAAG,KAAK,OAAO,YAAY;AAAA,QACzB,OAAO,KAAK,MAAM/G,EAAE,KAAK;AAAA,QACzB,QAAQ,KAAK,MAAMA,EAAE,MAAM;AAAA,MACnC,CAAO;AAAA,IACH,CAAC,GAAGpC,EAAE,YAAY,CAAC;AAAA,EACrB;AAAA,EACA,eAAe;AACb,IAAK,KAAK,cACV,GAAG,QAAQ,QAAQ,GAAG,OAAO,WAAW,kCAAkC,EAAE,YAAY,KAAK,UAAU,MAAM,aAAa,iBAAiB,KAAK,UAAU,MAAM,aAAa,yLAAyL,WAAW,MAAM;AACrX,WAAK,cAAc,KAAK,UAAU,MAAM,aAAa,IAAI,KAAK,UAAU,MAAM,aAAa;AAAA,IAC7F,GAAG,GAAG,IAAI,KAAK,cAAc,KAAK,UAAU,MAAM,QAAQ,uCAAuC,KAAK,UAAU,MAAM,SAAS,4BAA4B,KAAK,UAAU,MAAM,YAAY,SAAS,KAAK,UAAU,MAAM,SAAS,QAAQ,KAAK,aAAa,OAAO,KAAK,UAAU,MAAM,QAAQ,uCAAuC,KAAK,UAAU,MAAM,SAAS,qBAAqB,KAAK,UAAU,MAAM,YAAY,qBAAqB,KAAK,UAAU,MAAM,SAAS,QAAQ,KAAK,aAAa;AAAA,EAC3e;AAAA,EACA,MAAM,sBAAsBA,GAAG;AAC7B,QAAI,GAAGY;AACP,QAAI;AACF,YAAMC,KAAK,IAAI,KAAK,cAAc,OAAO,SAAS,EAAE,MAAM,SAASa,KAAKd,IAAI,KAAK,YAAY,OAAO,SAASA,EAAE,MAAM;AACrH,WAAK,cAAc,KAAK,UAAU,MAAM,UAAU,SAAS,KAAK,YAAY,KAAK,QAAQ,MAAM,UAAU;AACzG,YAAM,EAAE,SAASI,EAAC,IAAK,MAAM,OAAO,gCAAuB,GAAGE,KAAK,MAAMF,EAAE,SAAS,SAAS,iBAAiB,EAAE,OAAO,GAAG,GAAG,UAAU,WAAW;AAClJ,WAAK,cAAc,KAAK,UAAU,MAAM,UAAUH,KAAgB,KAAK,KAAK,YAAY,KAAK,QAAQ,MAAM,UAAUa,KAAgB,KAAK8C;AAAA,QACxItD;AAAA,QACA,CAACM,MAAM;AACL,eAAK,oBAAoB;AAAA,YACvB,MAAM;AAAA,YACN,SAAS,EAAE,SAASA,EAAC;AAAA,UACjC,CAAW;AAAA,QACH;AAAA,QACA,MAAM;AACJ,eAAK,oBAAoB;AAAA,YACvB,MAAM;AAAA,YACN,SAAS,EAAE,OAAO,uBAAsB;AAAA,UACpD,CAAW;AAAA,QACH;AAAA,MACR;AAAA,IACI,SAASX,GAAG;AACV,WAAK,cAAc,KAAK,UAAU,MAAM,UAAU,KAAK,KAAK,YAAY,KAAK,QAAQ,MAAM,UAAU;AACrG,YAAMa,IAAIb,aAAa,QAAQA,EAAE,UAAU;AAC3C,WAAK,oBAAoB;AAAA,QACvB,MAAM;AAAA,QACN,SAAS,EAAE,OAAOa,EAAC;AAAA,MAC3B,CAAO;AAAA,IACH;AAAA,EACF;AAAA,EACA,aAAa1B,GAAG;AACd,UAAM,IAAIC,EAAE,IAAI,KAAK,MAAM;AAC3B,IAAAD,EAAE,WAAW,WAAW,KAAK,OAAO,SAASA,EAAE,SAASA,EAAE,UAAU,WAAW,KAAK,OAAO,QAAQA,EAAE,QAAQA,EAAE,oBAAoB,WAAW,KAAK,OAAO,kBAAkBA,EAAE,kBAAkBA,EAAE,eAAe,WAAW,KAAK,OAAO,aAAaA,EAAE,aAAaA,EAAE,cAAc,WAAW,KAAK,OAAO,YAAYA,EAAE,YAAYA,EAAE,cAAc,WAAW,KAAK,OAAO,YAAYA,EAAE,YAAYA,EAAE,kBAAkB,WAAW,KAAK,OAAO,gBAAgBA,EAAE,gBAAgBA,EAAE,aAAa,WAAW,KAAK,OAAO,WAAWA,EAAE,WAAWA,EAAE,WAAW,WAAW,KAAK,OAAO,SAASA,EAAE,SAASA,EAAE,YAAY,WAAW,KAAK,OAAO,UAAUA,EAAE,UAAUA,EAAE,YAAY,WAAW,KAAK,OAAO,UAAUA,EAAE,UAAUA,EAAE,iBAAiB,WAAW,KAAK,OAAO,eAAeA,EAAE,cAAc,KAAK,YAAY,KAAK,QAAQ,MAAM,UAAUA,EAAE,eAAe,SAAS,MAAMA,EAAE,qBAAqB,WAAW,KAAK,OAAO,mBAAmBA,EAAE;AACz5B,UAAMY,IAAIZ,EAAE,WAAW,UAAUA,EAAE,WAAW,EAAE,QAAQa,IAAIb,EAAE,UAAU,UAAUA,EAAE,UAAU,EAAE;AAChG,KAACY,KAAKC,OAAOA,KAAK,KAAK,oBAAoB;AAAA,MACzC,MAAM;AAAA,MACN,OAAOb,EAAE;AAAA,IACf,CAAK,GAAG,KAAK,WAAW,KAAK,YAAY,KAAK,eAAc,GAAI,KAAK,OAAO,MAAM,GAAG,KAAK,SAAS,aAAa,KAAK,QAAQ,UAAU,KAAK,OAAO,KAAK,MAAMA,EAAE,eAAe,UAAUA,EAAE,eAAe,EAAE,cAAc,KAAK,aAAac,GAAG,KAAK,WAAW,KAAK,MAAM,GAAGd,EAAE,oBAAoB,UAAU,KAAK,WAAW,CAAC,KAAK,OAAO,aAAa2B,GAAG,KAAK,SAAS,KAAK,OAAO,eAAe,GAAG,KAAK,OAAO,eAAe,WAAW,KAAK,aAAaR,GAAG,KAAK,WAAW,KAAK,OAAO,iBAAiB,KAAK,OAAO,UAAU,IAAI,KAAK,oBAAoB;AAAA,MAC3hB,MAAM;AAAA,MACN,QAAQnB;AAAA,IACd,CAAK;AAAA,EACH;AAAA,EACA,YAAYA,GAAG,GAAG;AAChB,QAAI,CAACA,KAAK,OAAOA,KAAK,YAAYA,EAAE,KAAI,MAAO,IAAI;AACjD,WAAK,OAAO,QAAQ,IAAI,MAAM,oCAAoC,CAAC;AACnE;AAAA,IACF;AACA,IAAsB,GAAE,eAAgB,MAAM,CAAC,KAAK,UAAU,KAAK,KAAI,GAAI,KAAK,oBAAoB;AAAA,MAClG,MAAM;AAAA,MACN,SAASA;AAAA,MACT,YAAiC,GAAE;AAAA,IACzC,CAAK;AAAA,EACH;AAAA,EACA,UAAU;AACR,IAAAqI,GAAG,EAAE,GAAG,KAAK,oBAAoB,CAAC,GAAG,KAAK,qBAAqB,KAAK,iBAAgB,GAAI,KAAK,mBAAmB,OAAO,KAAK,sBAAsB,SAAS,oBAAoB,oBAAoB,KAAK,iBAAiB,GAAG,KAAK,oBAAoB,OAAO,KAAK,mBAAmB,OAAO,oBAAoB,WAAW,KAAK,cAAc,GAAG,KAAK,iBAAiB,OAAO,KAAK,wBAAwB,KAAK,oBAAmB,GAAI,KAAK,sBAAsB,OAAO,KAAK,WAAW,KAAK,uBAAuB,KAAK,QAAQ,oBAAoB,SAAS,KAAK,mBAAmB,GAAG,KAAK,WAAW,CAAC,KAAK,OAAO,YAAY,KAAK,QAAQ,UAAU,KAAK,UAAU,MAAM,KAAK,sBAAsB,MAAM,KAAK,cAAc,KAAK,UAAU,UAAU,KAAK,YAAY,OAAO,KAAK,SAAS,MAAM,KAAK,SAAS,IAAI2B,GAAE,UAAU,OAAO,KAAK,QAAQ;AAAA,EAC3zB;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO,aAAahK,GAAG;AACrB,UAAM,IAAI,MAAM,KAAKgK,GAAE,UAAU,QAAQ;AACzC,WAAOhK,MAAM,SAAS,EAAE,OAAO,CAACY,MAAMA,EAAE,OAAO,eAAeZ,CAAC,IAAI;AAAA,EACrE;AACF;AACAgK,GAAE,YAA4B,oBAAI,IAAG;AACrC,IAAIC,KAAKD;ACp2ET,MAAME,KAAoD;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAmBO,SAASC,GAAYC,GAAgD;AAC3E,QAAMC,IAAuC,CAAA;AAE7C,aAAW,CAACC,GAAKC,CAAK,KAAK,OAAO,QAAQH,CAAQ;AACjD,IAAKF,GAAW,SAASI,CAA6B,MACrDD,EAAYC,CAAG,IAAIC;AAMrB,SAAIH,EAAS,SAAS,WAAWC,EAAY,OAAOD,EAAS,OACzDA,EAAS,UAAU,WAAWC,EAAY,QAAQD,EAAS,QAC3DA,EAAS,eAAe,WAAWC,EAAY,aAAaD,EAAS,aACrEA,EAAS,YAAY,WAAWC,EAAY,UAAUD,EAAS,UAC/DA,EAAS,cAAc,WAAWC,EAAY,YAAYD,EAAS,YACnEA,EAAS,6BAA6B,WACzCC,EAAY,2BAA2BD,EAAS,2BAG1C;AAAA,IACN,YAAY,OAAOA,EAAS,MAAM;AAAA,IAClC,WAAW,OAAOA,EAAS,SAAU,WAAWA,EAAS,QAAQ;AAAA,IACjE,oBAAoB,OAAOA,EAAS,WAAY,WAAWA,EAAS,UAAU;AAAA,IAC9E,eAAe,OAAOA,EAAS,aAAc,WAAWA,EAAS,YAAY;AAAA,IAC7E,UAAUC;AAAA,IACV,OACCD,EAAS,eAAe,UAAUA,EAAS,eAAe,UACvDA,EAAS,aACT;AAAA,IACJ,UACC,OAAOA,EAAS,4BAA6B,WAC1CA,EAAS,2BACT;AAAA,IACJ,cACC,OAAOA,EAAS,yBAA0B,YACvCA,EAAS,wBACT;AAAA,IACJ,iBAAiBI,GAAaJ,EAAS,SAAS;AAAA,EAAA;AAElD;AAEA,SAASI,GACRC,GAC6C;AAC7C,MAAIA,MAAc,OAAQ,QAAO;AACjC,MAAIA,MAAc,QAAS,QAAO;AAEnC;AC5EA,IAAIC,IAAqC,MACrCC,IAA2C;AAE/C,MAAMC,yBAAoB,IAAA,GACpBC,yBAAoB,IAAA,GACpBC,yBAAsB,IAAA,GACtBC,yBAAqB,IAAA;AAE3B,IAAIC,KAAkB,GAClBC,KAAmC;AAEvC,SAASC,KAA6C;AACrD,MAAI,OAAO,SAAW,IAAa,QAAOC,GAAA;AAC1C,MAAI,OAAO,qBAAsB,QAAO,OAAO;AAE/C,QAAMC,IAAOD,GAAA;AACb,gBAAO,uBAAuBC,GACvBA;AACR;AAEA,SAASD,KAA0C;AAClD,QAAME,IAAsB,CAAA,GACtBD,IAAiC,IAAIE,MAAoB;AAC9D,IAAAD,EAAM,KAAKC,CAAkB;AAAA,EAC9B;AACA,SAAAF,EAAK,IAAIC,GACFD;AACR;AAEA,SAASG,KAAmB;AAC3B,MAAI,OAAO,SAAW,IAAa;AACnC,QAAMH,IAAO,OAAO;AACpB,MAAI,CAACA,KAAQ,CAACA,EAAK,EAAG;AACtB,QAAMI,IAASJ,EAAK,EAAE,MAAA;AACtB,EAAAA,EAAK,EAAE,SAAS;AAGhB,QAAMK,IAAiC,IAAIH,MAAoB;AAC9D,UAAM,CAACI,GAAQ,GAAGC,CAAI,IAAIL;AAC1B,IAAAM,GAASF,GAAkB,GAAGC,CAAI;AAAA,EACnC;AACA,EAAAF,EAAK,IAAI,CAAA,GACT,OAAO,uBAAuBA;AAE9B,aAAWI,KAAQL,GAAQ;AAC1B,UAAM,CAACE,GAAQ,GAAGC,CAAI,IAAIE;AAC1B,IAAAD,GAASF,GAAkB,GAAGC,CAAI;AAAA,EACnC;AACD;AAEA,SAASC,GAASF,MAAmBJ,GAAuB;AAC3D,UAAQI,GAAA;AAAA,IACP,KAAK;AACJ,MAAAI,GAAKR,EAAK,CAAC,CAAqB;AAChC;AAAA,IACD,KAAK;AACJ,MAAAS,GAAOT,EAAK,CAAC,CAA8B;AAC3C;AAAA,IACD,KAAK;AACJ,MAAAU,GAAA;AACA;AAAA,IACD,KAAK;AACJ,MAAAC,GAAA;AACA;AAAA,IACD,KAAK;AACJ,MAAAC,GAAA;AACA;AAAA,IACD,KAAK;AACJ,MAAAC,GAAeb,EAAK,CAAC,CAAuB;AAC5C;AAAA,IACD,KAAK;AACJ,MAAAc,GAAWd,EAAK,CAAC,GAAaA,EAAK,CAAC,CAAwC;AAC5E;AAAA,IACD;AAEC,cAAQ,KAAK,2CAA2CI,CAAM,EAAE;AAAA,EAAA;AAEnE;AAGO,SAASI,GAAK1B,GAAkC;AACtD,MAAI,OAAO,SAAW,IAAa;AACnC,MAAI,CAACA,KAAY,OAAOA,EAAS,UAAW,YAAYA,EAAS,WAAW;AAC3E,UAAM,IAAI,MAAM,6CAA6C;AAM9D,MAHAc,GAAA,GAGIR,KAAYC,KAAmBA,EAAgB,WAAWP,EAAS,QAAQ;AAC9E,IAAA2B,GAAO3B,CAAQ;AACf;AAAA,EACD;AAEA,EAAIM,MACHA,EAAS,QAAA,GACTA,IAAW;AAGZ,QAAM2B,IAAMlC,GAAYC,CAAQ;AAChC,EAAAO,IAAkBP;AAElB,QAAMkC,IAAaD,EAAI,YACjBE,IAAgBtB;AAoBtB,MAlBAP,IAAW,IAAI8B,GAAkB;AAAA,IAChC,YAAAF;AAAA,IACA,WAAWD,EAAI;AAAA,IACf,oBAAoBA,EAAI;AAAA,IACxB,eAAeA,EAAI;AAAA,IACnB,UAAUA,EAAI;AAAA,IACd,OAAOA,EAAI;AAAA,IACX,UAAUA,EAAI;AAAA,IACd,cAAcA,EAAI;AAAA,IAClB,iBAAiBA,EAAI;AAAA,IACrB,QAAQ,MAAM;AACb,iBAAWI,KAAM7B,GAAe,CAAA6B,EAAA;AAAA,IACjC;AAAA,IACA,SAAS,MAAM;AACd,iBAAWA,KAAM5B,GAAe,CAAA4B,EAAA;AAAA,IACjC;AAAA,EAAA,CACA,GAEGJ,EAAI,aAAaA,EAAI,cAAcE,GAAe;AACrD,IAAAtB,KAAoBoB,EAAI;AACxB,eAAWI,KAAM1B,GAAgB,CAAA0B,EAAA;AAAA,EAClC;AAEA,EAAAlB,GAAA;AACD;AAGO,SAASQ,GAAOW,GAA0C;AAChE,MAAI,CAAChC,GAAU;AAGd,IAAIgC,KAAW,OAAOA,EAAQ,UAAW,YACxCZ,GAAKY,CAA2B;AAEjC;AAAA,EACD;AAEA,QAAMC,IAAS,EAAE,GAAIhC,KAAmB,CAAA,GAAK,GAAG+B,EAAA,GAC1CH,IAAgBtB;AAEtB,EAAAN,IAAkBgC;AAClB,QAAMN,IAAMlC,GAAYwC,CAAM;AAU9B,MARAjC,EAAS,aAAa;AAAA,IACrB,WAAW2B,EAAI,aAAa;AAAA,IAC5B,oBAAoBA,EAAI,sBAAsB;AAAA,IAC9C,eAAeA,EAAI,iBAAiB;AAAA,IACpC,UAAUA,EAAI;AAAA,IACd,OAAOA,EAAI;AAAA,EAAA,CACX,GAEGA,EAAI,aAAaA,EAAI,cAAcE,GAAe;AACrD,IAAAtB,KAAoBoB,EAAI;AACxB,eAAWI,KAAM1B,GAAgB,CAAA0B,EAAA;AAAA,EAClC;AACD;AAMO,SAAST,KAAiB;AAChC,MAAI,CAACtB,EAAU;AACf,QAAMkC,IAAOjC,GAAiB;AAO9B,MANAD,EAAS,QAAA,GACTA,IAAW,MACXC,IAAkB,MAClBM,KAAoB,MACpBD,KAAkB,GAEd,OAAO,SAAW,OAAe,OAAO,eAAiB,OAAe,OAAO4B,KAAS;AAC3F,eAAWtC,KAAO,OAAO,KAAK,YAAY;AACzC,UACCA,MAAQ,4BAA4BsC,CAAI,MACxCtC,EAAI,WAAW,qBAAqB,KAAKA,EAAI,SAAS,IAAIsC,CAAI,EAAE;AAEhE,YAAI;AACH,uBAAa,WAAWtC,CAAG;AAAA,QAC5B,QAAQ;AAAA,QAER;AAAA;AAIJ;AAEO,SAAS2B,KAAa;AAC5B,EAAAvB,GAAU,KAAA;AACX;AAEO,SAASwB,KAAa;AAC5B,EAAAxB,GAAU,MAAA;AACX;AAQO,SAASyB,GAAeU,GAAwB;AACtD,EAAKnC,MACLA,EAAS,KAAA,GACLmC,KAAWA,EAAQ,KAAA,MAAW,MACjCnC,EAAS,YAAYmC,CAAO;AAE9B;AAEA,IAAIC,KAAmB;AAChB,SAASV,GAAWW,GAAcC,GAA2C;AACnF,EAAKF,OACJ,QAAQ;AAAA,IACP,sCAAsCC,CAAI;AAAA,EAAA,GAE3CD,KAAmB;AAErB;AAEO,SAASG,GAAOR,GAA8B;AACpD,SAAA7B,GAAc,IAAI6B,CAAE,GACb,MAAM7B,GAAc,OAAO6B,CAAE;AACrC;AAEO,SAASS,GAAOT,GAA8B;AACpD,SAAA5B,GAAc,IAAI4B,CAAE,GACb,MAAM5B,GAAc,OAAO4B,CAAE;AACrC;AAEO,SAASU,GAAoBV,GAAqC;AACxE,SAAA3B,GAAgB,IAAI2B,CAAE,GAEtBA,EAAGzB,EAAe,GACX,MAAMF,GAAgB,OAAO2B,CAAE;AACvC;AAEO,SAASW,GAAoBX,GAA2C;AAC9E,SAAA1B,GAAe,IAAI0B,CAAE,GACd,MAAM1B,GAAe,OAAO0B,CAAE;AACtC;AAEA,IAAIY,KAA0B;AACvB,SAASC,GAAkBC,GAAwB;AACzD,EAAKF,OACJ,QAAQ;AAAA,IACP;AAAA,EAAA,GAEDA,KAA0B;AAE5B;AAEO,SAASG,KAA8B;AAI7C,SAAO;AACR;AAEO,SAASC,KAAe;AAC9B,SAAO;AACR;AAEA,MAAMC,yBAA0C,IAAA;AAEhD,SAASC,EAAKjC,GAA+C;AAC5D,SAAO,IAAIkC,MAAqB;AAC/B,IAAKF,GAAc,IAAIhC,CAAM,MAC5B,QAAQ,KAAK,0BAA0BA,CAAM,qCAAqC,GAClFgC,GAAc,IAAIhC,GAAQ,EAAI;AAAA,EAEhC;AACD;AAEO,MAAMmC,KAAYF,EAAK,WAAW,GAC5BG,KAAcH,EAAK,aAAa,GAChCI,KAAWJ,EAAK,UAAU,GAC1BK,KAAcL,EAAK,aAAa,GAChCM,KAAiBN,EAAK,gBAAgB,GACtCO,KAAaP,EAAK,YAAY,GAC9BQ,KAAmBR,EAAK,kBAAkB,GAC1CS,KAAYT,EAAK,WAAW,GAC5BU,KAAeV,EAAK,cAAc;AC3Q/C,SAASW,GAAYlE,GAAkC;AACtD,EAAA0B,GAAK1B,CAAQ;AACd;"}
|