chop-logic-components 2.0.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +4 -4
  2. package/dist/{icons → assets/icons}/index.d.ts +2 -2
  3. package/dist/{icons → assets/icons}/svg/ArrowDownIcon.d.ts +1 -1
  4. package/dist/{icons → assets/icons}/svg/ArrowUpIcon.d.ts +1 -1
  5. package/dist/{icons → assets/icons}/svg/BackIcon.d.ts +1 -1
  6. package/dist/{icons → assets/icons}/svg/CancelIcon.d.ts +1 -1
  7. package/dist/{icons → assets/icons}/svg/CheckMarkIcon.d.ts +1 -1
  8. package/dist/{icons → assets/icons}/svg/CheckboxCheckedIcon.d.ts +1 -1
  9. package/dist/{icons → assets/icons}/svg/CheckboxUncheckedIcon.d.ts +1 -1
  10. package/dist/{icons → assets/icons}/svg/ChevronDownIcon.d.ts +1 -1
  11. package/dist/{icons → assets/icons}/svg/ChevronLeftIcon.d.ts +1 -1
  12. package/dist/{icons → assets/icons}/svg/ChevronRightIcon.d.ts +1 -1
  13. package/dist/{icons → assets/icons}/svg/ChevronUpIcon.d.ts +1 -1
  14. package/dist/{icons → assets/icons}/svg/ClearIcon.d.ts +1 -1
  15. package/dist/{icons → assets/icons}/svg/CopyIcon.d.ts +1 -1
  16. package/dist/{icons → assets/icons}/svg/CutIcon.d.ts +1 -1
  17. package/dist/{icons → assets/icons}/svg/DeleteIcon.d.ts +1 -1
  18. package/dist/{icons → assets/icons}/svg/DownloadIcon.d.ts +1 -1
  19. package/dist/{icons → assets/icons}/svg/ErrorIcon.d.ts +1 -1
  20. package/dist/{icons → assets/icons}/svg/ForwardIcon.d.ts +1 -1
  21. package/dist/{icons → assets/icons}/svg/GraduateIcon.d.ts +1 -1
  22. package/dist/{icons → assets/icons}/svg/HelpIcon.d.ts +1 -1
  23. package/dist/{icons → assets/icons}/svg/HideIcon.d.ts +1 -1
  24. package/dist/{icons → assets/icons}/svg/HomeIcon.d.ts +1 -1
  25. package/dist/{icons → assets/icons}/svg/InfoIcon.d.ts +1 -1
  26. package/dist/{icons → assets/icons}/svg/LoginIcon.d.ts +1 -1
  27. package/dist/{icons → assets/icons}/svg/PasteIcon.d.ts +1 -1
  28. package/dist/{icons → assets/icons}/svg/QuestionIcon.d.ts +1 -1
  29. package/dist/{icons → assets/icons}/svg/RemoveIcon.d.ts +1 -1
  30. package/dist/{icons → assets/icons}/svg/SaveIcon.d.ts +1 -1
  31. package/dist/{icons → assets/icons}/svg/ShowIcon.d.ts +1 -1
  32. package/dist/{icons → assets/icons}/svg/UploadIcon.d.ts +1 -1
  33. package/dist/{icons → assets/icons}/svg/WarningIcon.d.ts +1 -1
  34. package/dist/chop-logic-components.css +1 -0
  35. package/dist/components/containers/grid/elements/Body.d.ts +1 -2
  36. package/dist/components/containers/grid/elements/Checkbox.d.ts +0 -2
  37. package/dist/components/containers/grid/elements/ColumnGroup.d.ts +1 -2
  38. package/dist/components/containers/grid/elements/DataCell.d.ts +0 -2
  39. package/dist/components/containers/grid/elements/Head.d.ts +1 -2
  40. package/dist/components/containers/grid/elements/HeaderCell.d.ts +0 -2
  41. package/dist/components/containers/grid/elements/Row.d.ts +0 -2
  42. package/dist/components/containers/grid/elements/SelectAllRowsCell.d.ts +0 -2
  43. package/dist/components/containers/grid/elements/SelectRowCell.d.ts +0 -2
  44. package/dist/components/containers/menu/elements/MenuItem.d.ts +1 -2
  45. package/dist/components/containers/menu/elements/MenuLeaf.d.ts +3 -5
  46. package/dist/components/containers/menu/elements/SubMenu.d.ts +1 -2
  47. package/dist/components/containers/tabs/elements/TabButton.d.ts +0 -2
  48. package/dist/components/containers/tabs/elements/TabContent.d.ts +1 -2
  49. package/dist/components/containers/tabs/elements/TabList.d.ts +1 -2
  50. package/dist/components/inputs/multi-select/elements/Combobox.d.ts +1 -2
  51. package/dist/components/inputs/multi-select/elements/Dropdown.d.ts +1 -2
  52. package/dist/components/inputs/multi-select/elements/Option.d.ts +1 -2
  53. package/dist/components/inputs/select/elements/Combobox.d.ts +1 -2
  54. package/dist/components/inputs/select/elements/Dropdown.d.ts +1 -2
  55. package/dist/components/inputs/select/elements/Option.d.ts +1 -2
  56. package/dist/components/modals/alert/elements/{Header.d.ts → AlertHeader.d.ts} +3 -5
  57. package/dist/components/modals/dialog/elements/{Header.d.ts → Header/index.d.ts} +0 -2
  58. package/dist/components/modals/dialog/elements/{Layout.d.ts → Layout/index.d.ts} +0 -2
  59. package/dist/contexts/form/context.d.ts +8 -0
  60. package/dist/contexts/index.d.ts +3 -2
  61. package/dist/contexts/theme/context.d.ts +6 -0
  62. package/dist/contexts/theme/provider.d.ts +6 -0
  63. package/dist/elements/error-message/ErrorMessage.d.ts +0 -2
  64. package/dist/elements/input-inner-button/InputInnerButton.d.ts +0 -2
  65. package/dist/elements/label/Label.d.ts +0 -2
  66. package/dist/enums/chop-logic-theme-mode.d.ts +2 -2
  67. package/dist/hooks/index.d.ts +1 -1
  68. package/dist/hooks/use-chop-logic-theme/index.d.ts +1 -1
  69. package/dist/index.cjs.js +4 -974
  70. package/dist/index.cjs.js.map +1 -1
  71. package/dist/index.es.js +1341 -3576
  72. package/dist/index.es.js.map +1 -1
  73. package/dist/models/components/form.d.ts +0 -5
  74. package/dist/models/index.d.ts +1 -2
  75. package/dist/utils/get-class-name.d.ts +5 -0
  76. package/dist/utils/index.d.ts +1 -1
  77. package/package.json +20 -17
  78. package/dist/components/containers/form/Form.styled.d.ts +0 -8
  79. package/dist/components/containers/grid/Grid.styled.d.ts +0 -37
  80. package/dist/components/containers/menu/Meny.styled.d.ts +0 -20
  81. package/dist/components/containers/tabs/Tabs.styled.d.ts +0 -18
  82. package/dist/components/inputs/button/Button.styled.d.ts +0 -12
  83. package/dist/components/inputs/checkbox/Checkbox.styled.d.ts +0 -6
  84. package/dist/components/inputs/numeric/NumericInput.styled.d.ts +0 -4
  85. package/dist/components/inputs/text/TextInput.styled.d.ts +0 -4
  86. package/dist/components/modals/alert/Alert.styled.d.ts +0 -11
  87. package/dist/components/modals/dialog/Dialog.styled.d.ts +0 -14
  88. package/dist/components/modals/tooltip/Tooltip.styled.d.ts +0 -4
  89. package/dist/contexts/chop-logic-form-context.d.ts +0 -3
  90. package/dist/contexts/chop-logic-theme-context.d.ts +0 -3
  91. package/dist/css/__docs__/ExampleDivContainer.styled.d.ts +0 -4
  92. package/dist/css/__docs__/ExampleGridContainer.styled.d.ts +0 -8
  93. package/dist/css/__docs__/story-wrapper-styles.d.ts +0 -2
  94. package/dist/css/animations.d.ts +0 -2
  95. package/dist/css/common/Select.styled.d.ts +0 -19
  96. package/dist/css/index.d.ts +0 -3
  97. package/dist/css/screen-breakpoints.d.ts +0 -7
  98. package/dist/css/themes.d.ts +0 -3
  99. package/dist/elements/error-message/ErrorMessage.styled.d.ts +0 -5
  100. package/dist/elements/input-inner-button/InputInnerButton.styled.d.ts +0 -4
  101. package/dist/elements/label/Label.styled.d.ts +0 -4
  102. package/dist/elements/loader/views/Arrow.styled.d.ts +0 -4
  103. package/dist/elements/loader/views/Brackets.styled.d.ts +0 -4
  104. package/dist/elements/loader/views/Circle.styled.d.ts +0 -4
  105. package/dist/elements/loader/views/Dots.styled.d.ts +0 -4
  106. package/dist/elements/loader/views/Filler.styled.d.ts +0 -4
  107. package/dist/elements/loader/views/Linear.styled.d.ts +0 -4
  108. package/dist/elements/loader/views/Pulse.styled.d.ts +0 -4
  109. package/dist/elements/loader/views/Rotation.styled.d.ts +0 -4
  110. package/dist/elements/loader/views/Square.styled.d.ts +0 -4
  111. package/dist/models/chop-logic-theme.d.ts +0 -35
  112. package/dist/utils/get-chop-logic-theme.d.ts +0 -2
  113. /package/dist/{icons → assets/icons}/__tests__/icons.test.d.ts +0 -0
  114. /package/dist/{__tests__ → components/__tests__}/index.test.d.ts +0 -0
  115. /package/dist/utils/__tests__/{get-chop-logic-theme.test.d.ts → get-class-name.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/styled-components/node_modules/tslib/tslib.es6.mjs","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Parser.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/styled-components/dist/styled-components.browser.esm.js","../src/css/animations.ts","../src/css/screen-breakpoints.ts","../src/css/themes.ts","../src/elements/error-message/ErrorMessage.styled.tsx","../src/elements/error-message/ErrorMessage.tsx","../src/icons/svg/ArrowDownIcon.tsx","../src/icons/svg/ArrowUpIcon.tsx","../src/icons/svg/BackIcon.tsx","../src/icons/svg/CancelIcon.tsx","../src/icons/svg/CheckboxCheckedIcon.tsx","../src/icons/svg/CheckboxUncheckedIcon.tsx","../src/icons/svg/CheckMarkIcon.tsx","../src/icons/svg/ChevronDownIcon.tsx","../src/icons/svg/ChevronLeftIcon.tsx","../src/icons/svg/ChevronRightIcon.tsx","../src/icons/svg/ChevronUpIcon.tsx","../src/icons/svg/ClearIcon.tsx","../src/icons/svg/CopyIcon.tsx","../src/icons/svg/CutIcon.tsx","../src/icons/svg/DeleteIcon.tsx","../src/icons/svg/DownloadIcon.tsx","../src/icons/svg/ErrorIcon.tsx","../src/icons/svg/ForwardIcon.tsx","../src/icons/svg/GraduateIcon.tsx","../src/icons/svg/HelpIcon.tsx","../src/icons/svg/HideIcon.tsx","../src/icons/svg/HomeIcon.tsx","../src/icons/svg/InfoIcon.tsx","../src/icons/svg/LoginIcon.tsx","../src/icons/svg/PasteIcon.tsx","../src/icons/svg/QuestionIcon.tsx","../src/icons/svg/RemoveIcon.tsx","../src/icons/svg/SaveIcon.tsx","../src/icons/svg/ShowIcon.tsx","../src/icons/svg/UploadIcon.tsx","../src/icons/svg/WarningIcon.tsx","../src/enums/chop-logic-alert-mode.ts","../src/enums/chop-logic-button-view.ts","../src/enums/chop-logic-icon-name.ts","../src/enums/chop-logic-loader-view.ts","../src/enums/chop-logic-orientation-mode.ts","../src/enums/chop-logic-theme-mode.ts","../src/enums/chop-logic-tooltip-container.ts","../src/icons/index.tsx","../src/elements/icon/Icon.tsx","../src/elements/input-inner-button/InputInnerButton.styled.tsx","../src/elements/input-inner-button/InputInnerButton.tsx","../src/elements/label/Label.styled.tsx","../src/elements/label/Label.tsx","../src/hocs/with-tooltip/index.tsx","../src/contexts/chop-logic-form-context.ts","../src/contexts/chop-logic-theme-context.ts","../src/utils/get-chop-logic-theme.ts","../src/utils/move-focus-on-element-by-id.ts","../src/utils/handle-dropdown-list-key-press.ts","../src/hooks/use-chop-logic-theme/index.ts","../src/hooks/use-click-outside/index.ts","../src/hooks/use-container-dimensions/index.ts","../src/hooks/use-element-ids/index.tsx","../src/hooks/use-key-press/index.ts","../src/hooks/use-modal-focus-trap/index.ts","../src/hooks/use-mount/index.ts","../src/hooks/use-reset-form-input/index.ts","../src/hooks/use-window-dimensions/index.ts","../src/hooks/use-tooltip-position/index.ts","../src/components/inputs/button/Button.styled.tsx","../src/components/inputs/button/Button.tsx","../src/components/inputs/checkbox/Checkbox.styled.tsx","../src/components/inputs/checkbox/helpers.ts","../src/components/inputs/checkbox/controller.ts","../src/components/inputs/checkbox/Checkbox.tsx","../src/css/common/Select.styled.tsx","../src/components/inputs/multi-select/elements/Combobox.tsx","../src/components/inputs/multi-select/elements/Option.tsx","../src/components/inputs/multi-select/elements/Dropdown.tsx","../src/components/inputs/multi-select/helpers.ts","../src/components/inputs/multi-select/controller.ts","../src/components/inputs/multi-select/MultiSelect.tsx","../src/components/inputs/numeric/helpers.ts","../src/components/inputs/numeric/controller.ts","../src/components/inputs/numeric/NumericInput.styled.tsx","../src/components/inputs/numeric/NumericInput.tsx","../src/components/inputs/select/elements/Combobox.tsx","../src/components/inputs/select/elements/Option.tsx","../src/components/inputs/select/elements/Dropdown.tsx","../src/components/inputs/select/helpers.ts","../src/components/inputs/select/controller.ts","../src/components/inputs/select/Select.tsx","../src/components/inputs/text/helpers.ts","../src/components/inputs/text/controller.ts","../src/components/inputs/text/TextInput.styled.tsx","../src/components/inputs/text/TextInput.tsx","../src/components/modals/dialog/Dialog.styled.tsx","../src/components/modals/dialog/elements/Header.tsx","../src/components/modals/dialog/elements/Layout.tsx","../src/components/modals/dialog/Dialog.tsx","../src/components/modals/tooltip/controller.ts","../src/components/modals/tooltip/Tooltip.styled.tsx","../src/components/modals/tooltip/Tooltip.tsx","../src/components/containers/form/helpers.ts","../src/components/containers/form/controller.ts","../src/components/containers/form/Form.styled.tsx","../src/components/containers/form/Form.tsx","../src/components/containers/grid/Grid.styled.tsx","../src/components/containers/grid/helpers.ts","../src/components/containers/grid/elements/DataCell.tsx","../src/components/containers/grid/elements/Checkbox.tsx","../src/components/containers/grid/elements/SelectRowCell.tsx","../src/components/containers/grid/elements/Row.tsx","../src/components/containers/grid/elements/Body.tsx","../src/components/containers/grid/elements/ColumnGroup.tsx","../src/components/containers/grid/elements/HeaderCell.tsx","../src/components/containers/grid/elements/SelectAllRowsCell.tsx","../src/components/containers/grid/elements/Head.tsx","../src/components/containers/grid/controller.ts","../src/components/containers/grid/Grid.tsx","../src/components/containers/menu/Meny.styled.ts","../src/components/containers/menu/elements/MenuLeaf.tsx","../src/components/containers/menu/elements/SubMenu.tsx","../src/components/containers/menu/elements/MenuItem.tsx","../src/components/containers/menu/Menu.tsx","../src/components/containers/portal/Portal.tsx","../src/components/containers/tabs/Tabs.styled.tsx","../src/components/containers/tabs/elements/TabContent.tsx","../src/components/containers/tabs/elements/TabButton.tsx","../src/components/containers/tabs/elements/TabList.tsx","../src/components/containers/tabs/Tabs.tsx","../src/components/modals/alert/Alert.styled.tsx","../src/components/modals/alert/helpers.tsx","../src/components/modals/alert/elements/Header.tsx","../src/components/modals/alert/Alert.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE$2\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = { configurable: !0, enumerable: !0, writable: !0 };\n Object.defineProperties(console, {\n log: assign({}, props, { value: prevLog }),\n info: assign({}, props, { value: prevInfo }),\n warn: assign({}, props, { value: prevWarn }),\n error: assign({}, props, { value: prevError }),\n group: assign({}, props, { value: prevGroup }),\n groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),\n groupEnd: assign({}, props, { value: prevGroupEnd })\n });\n }\n 0 > disabledDepth &&\n console.error(\n \"disabledDepth fell below zero. This is a bug in React. Please file an issue.\"\n );\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter =\n RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n _RunInRootFrame$Deter = namePropDescriptor = 0;\n namePropDescriptor < sampleLines.length &&\n !sampleLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n for (\n ;\n _RunInRootFrame$Deter < controlLines.length &&\n !controlLines[_RunInRootFrame$Deter].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n _RunInRootFrame$Deter++;\n if (\n namePropDescriptor === sampleLines.length ||\n _RunInRootFrame$Deter === controlLines.length\n )\n for (\n namePropDescriptor = sampleLines.length - 1,\n _RunInRootFrame$Deter = controlLines.length - 1;\n 1 <= namePropDescriptor &&\n 0 <= _RunInRootFrame$Deter &&\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter];\n\n )\n _RunInRootFrame$Deter--;\n for (\n ;\n 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter;\n namePropDescriptor--, _RunInRootFrame$Deter--\n )\n if (\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter]\n ) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do\n if (\n (namePropDescriptor--,\n _RunInRootFrame$Deter--,\n 0 > _RunInRootFrame$Deter ||\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter])\n ) {\n var _frame =\n \"\\n\" +\n sampleLines[namePropDescriptor].replace(\n \" at new \",\n \" at \"\n );\n fn.displayName &&\n _frame.includes(\"<anonymous>\") &&\n (_frame = _frame.replace(\"<anonymous>\", fn.displayName));\n \"function\" === typeof fn &&\n componentFrameCache.set(fn, _frame);\n return _frame;\n }\n while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n (reentry = !1),\n (ReactSharedInternals.H = previousDispatcher),\n reenableLogs(),\n (Error.prepareStackTrace = frame);\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(sampleLines)\n : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function describeUnknownElementTypeFrameInDEV(type) {\n if (null == type) return \"\";\n if (\"function\" === typeof type) {\n var prototype = type.prototype;\n return describeNativeComponentFrame(\n type,\n !(!prototype || !prototype.isReactComponent)\n );\n }\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return (type = describeNativeComponentFrame(type.render, !1)), type;\n case REACT_MEMO_TYPE:\n return describeUnknownElementTypeFrameInDEV(type.type);\n case REACT_LAZY_TYPE:\n prototype = type._payload;\n type = type._init;\n try {\n return describeUnknownElementTypeFrameInDEV(type(prototype));\n } catch (x) {}\n }\n return \"\";\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self\n ) {\n if (\n \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE$1 ||\n void 0 !== type.getModuleId))\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren], type);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children, type);\n } else {\n children = \"\";\n if (\n void 0 === type ||\n (\"object\" === typeof type &&\n null !== type &&\n 0 === Object.keys(type).length)\n )\n children +=\n \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\";\n null === type\n ? (isStaticChildren = \"null\")\n : isArrayImpl(type)\n ? (isStaticChildren = \"array\")\n : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE\n ? ((isStaticChildren =\n \"<\" +\n (getComponentNameFromType(type.type) || \"Unknown\") +\n \" />\"),\n (children =\n \" Did you accidentally export a JSX literal instead of a component?\"))\n : (isStaticChildren = typeof type);\n console.error(\n \"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",\n isStaticChildren,\n children\n );\n }\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(type, children, self, source, getOwner(), maybeKey);\n }\n function validateChildKeys(node, parentType) {\n if (\n \"object\" === typeof node &&\n node &&\n node.$$typeof !== REACT_CLIENT_REFERENCE\n )\n if (isArrayImpl(node))\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n isValidElement(child) && validateExplicitKey(child, parentType);\n }\n else if (isValidElement(node))\n node._store && (node._store.validated = 1);\n else if (\n (null === node || \"object\" !== typeof node\n ? (i = null)\n : ((i =\n (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) ||\n node[\"@@iterator\"]),\n (i = \"function\" === typeof i ? i : null)),\n \"function\" === typeof i &&\n i !== node.entries &&\n ((i = i.call(node)), i !== node))\n )\n for (; !(node = i.next()).done; )\n isValidElement(node.value) &&\n validateExplicitKey(node.value, parentType);\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function validateExplicitKey(element, parentType) {\n if (\n element._store &&\n !element._store.validated &&\n null == element.key &&\n ((element._store.validated = 1),\n (parentType = getCurrentComponentErrorInfo(parentType)),\n !ownerHasKeyUseWarning[parentType])\n ) {\n ownerHasKeyUseWarning[parentType] = !0;\n var childOwner = \"\";\n element &&\n null != element._owner &&\n element._owner !== getOwner() &&\n ((childOwner = null),\n \"number\" === typeof element._owner.tag\n ? (childOwner = getComponentNameFromType(element._owner.type))\n : \"string\" === typeof element._owner.name &&\n (childOwner = element._owner.name),\n (childOwner = \" It was passed a child from \" + childOwner + \".\"));\n var prevGetCurrentStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = function () {\n var stack = describeUnknownElementTypeFrameInDEV(element.type);\n prevGetCurrentStack && (stack += prevGetCurrentStack() || \"\");\n return stack;\n };\n console.error(\n 'Each child in a list should have a unique \"key\" prop.%s%s See https://react.dev/link/warning-keys for more information.',\n parentType,\n childOwner\n );\n ReactSharedInternals.getCurrentStack = prevGetCurrentStack;\n }\n }\n function getCurrentComponentErrorInfo(parentType) {\n var info = \"\",\n owner = getOwner();\n owner &&\n (owner = getComponentNameFromType(owner.type)) &&\n (info = \"\\n\\nCheck the render method of `\" + owner + \"`.\");\n info ||\n ((parentType = getComponentNameFromType(parentType)) &&\n (info =\n \"\\n\\nCheck the top-level render call using <\" + parentType + \">.\"));\n return info;\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n REACT_CLIENT_REFERENCE$2 = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n assign = Object.assign,\n REACT_CLIENT_REFERENCE$1 = Symbol.for(\"react.client.reference\"),\n isArrayImpl = Array.isArray,\n disabledDepth = 0,\n prevLog,\n prevInfo,\n prevWarn,\n prevError,\n prevGroup,\n prevGroupCollapsed,\n prevGroupEnd;\n disabledLog.__reactDisabledLog = !0;\n var prefix,\n suffix,\n reentry = !1;\n var componentFrameCache = new (\n \"function\" === typeof WeakMap ? WeakMap : Map\n )();\n var REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var didWarnAboutKeySpread = {},\n ownerHasKeyUseWarning = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n return jsxDEVImpl(type, config, maybeKey, !1, source, self);\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n return jsxDEVImpl(type, config, maybeKey, !0, source, self);\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import{__spreadArray as e,__assign as t}from\"tslib\";import n from\"@emotion/is-prop-valid\";import o,{useRef as r,useState as s,useMemo as i,useEffect as a,useContext as c,useDebugValue as l,createElement as u}from\"react\";import p from\"shallowequal\";import*as d from\"stylis\";import h from\"@emotion/unitless\";var f=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",m=\"active\",y=\"data-styled-version\",v=\"6.1.15\",g=\"/*!sc*/\\n\",S=\"undefined\"!=typeof window&&\"HTMLElement\"in window,w=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),b={},E=/invalid hook call/i,N=new Set,P=function(t,n){if(\"production\"!==process.env.NODE_ENV){var o=n?' with the id of \"'.concat(n,'\"'):\"\",s=\"The component \".concat(t).concat(o,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];E.test(t)?(a=!1,N.delete(s)):i.apply(void 0,e([t],n,!1))},r(),a&&!N.has(s)&&(console.warn(s),N.add(s))}catch(e){E.test(e.message)&&N.delete(s)}finally{console.error=i}}},_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set([\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"use\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"]),O=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,\"-\").replace(D,\"\")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n=\"\";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return(j(t%k)+n).replace(T,\"$1-$2\")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function L(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G=\"function\"==typeof Symbol&&Symbol.for,Y=G?Symbol.for(\"react.memo\"):60115,W=G?Symbol.for(\"react.forward_ref\"):60112,q={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[W]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return(\"type\"in(t=e)&&t.type.$$typeof)===Y?U:\"$$typeof\"in e?J[e.$$typeof]:q;var t}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function oe(e,t,n){if(\"string\"!=typeof t){if(ne){var o=te(t);o&&o!==ne&&oe(e,o,n)}var r=K(t);Q&&(r=r.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<r.length;++a){var c=r[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l)}catch(e){}}}}return e}function re(e){return\"function\"==typeof e}function se(e){return\"object\"==typeof e&&\"styledComponentId\"in e}function ie(e,t){return e&&t?\"\".concat(e,\" \").concat(t):e||t||\"\"}function ae(e,t){if(0===e.length)return\"\";for(var n=e[0],o=1;o<e.length;o++)n+=t?t+e[o]:e[o];return n}function ce(e){return null!==e&&\"object\"==typeof e&&e.constructor.name===Object.name&&!(\"props\"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=!1),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var o=0;o<t.length;o++)e[o]=le(e[o],t[o]);else if(ce(t))for(var o in t)e[o]=le(e[o],t[o]);return e}function ue(e,t){Object.defineProperty(e,\"toString\",{value:t})}var pe=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`\"}:{};function de(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],o=[],r=1,s=e.length;r<s;r+=1)o.push(e[r]);return o.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function he(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];return\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#\".concat(t,\" for more information.\").concat(n.length>0?\" Args: \".concat(n.join(\", \")):\"\")):new Error(de.apply(void 0,e([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,o=n.length,r=o;e>=r;)if((r<<=1)<0)throw he(16,\"\".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(n),this.length=r;for(var s=o;s<r;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),o=n+t;this.groupSizes[e]=0;for(var r=n;r<o;r++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],o=this.indexOfGroup(e),r=o+n,s=o;s<r;s++)t+=\"\".concat(this.tag.getRule(s)).concat(g);return t},e}(),me=1<<30,ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;if(\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>me))throw he(16,\"\".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e)},be=\"style[\".concat(f,\"][\").concat(y,'=\"').concat(v,'\"]'),Ee=new RegExp(\"^\".concat(f,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),Ne=function(e,t,n){for(var o,r=n.split(\",\"),s=0,i=r.length;s<i;s++)(o=r[s])&&e.registerName(t,o)},Pe=function(e,t){for(var n,o=(null!==(n=t.textContent)&&void 0!==n?n:\"\").split(g),r=[],s=0,i=o.length;s<i;s++){var a=o[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,r)),r.length=0}else r.push(a)}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,o=t.length;n<o;n++){var r=t[n];r&&r.getAttribute(f)!==m&&(Pe(e,r),r.parentNode&&r.parentNode.removeChild(r))}};function Ce(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,o=document.createElement(\"style\"),r=function(e){var t=Array.from(e.querySelectorAll(\"style[\".concat(f,\"]\")));return t[t.length-1]}(n),s=void 0!==r?r.nextSibling:null;o.setAttribute(f,m),o.setAttribute(y,v);var i=Ce();return i&&o.setAttribute(\"nonce\",i),n.insertBefore(o,s),o},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,o=t.length;n<o;n++){var r=t[n];if(r.ownerNode===e)return r}throw he(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:\"\"},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),De=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,o){void 0===e&&(e=C),void 0===n&&(n={});var r=this;this.options=t(t({},Te),e),this.gs=n,this.names=new Map(o),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=!1,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,o=\"\",r=function(n){var r=function(e){return ve.get(e)}(n);if(void 0===r)return\"continue\";var s=e.names.get(r),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return\"continue\";var a=\"\".concat(f,\".g\").concat(n,'[id=\"').concat(r,'\"]'),c=\"\";void 0!==s&&s.forEach(function(e){e.length>0&&(c+=\"\".concat(e,\",\"))}),o+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(g)},s=0;s<n;s++)r(s);return o}(r)})}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this)},e.prototype.reconstructWithOptions=function(n,o){return void 0===o&&(o=!0),new e(t(t({},this.options),n),this.gs,o&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),je=/&/g,xe=/^\\s*\\/\\/.*$/gm;function Ve(e,t){return e.map(function(e){return\"rule\"===e.type&&(e.value=\"\".concat(t,\" \").concat(e.value),e.value=e.value.replaceAll(\",\",\",\".concat(t,\" \")),e.props=e.props.map(function(e){return\"\".concat(t,\" \").concat(e)})),Array.isArray(e.children)&&\"@keyframes\"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,o,r=void 0===e?C:e,s=r.options,i=void 0===s?C:s,a=r.plugins,c=void 0===a?_:a,l=function(e,o,r){return r.startsWith(n)&&r.endsWith(n)&&r.replaceAll(n,\"\").length>0?\".\".concat(t):e},u=c.slice();u.push(function(e){e.type===d.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(je,n).replace(o,l))}),i.prefix&&u.push(d.prefixer),u.push(d.stringify);var p=function(e,r,s,a){void 0===r&&(r=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=r,o=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(xe,\"\"),l=d.compile(s||r?\"\".concat(s,\" \").concat(r,\" { \").concat(c,\" }\"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return d.serialize(l,d.middleware(u.concat(d.rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():\"\",p}var Me=new ke,ze=Fe(),$e=o.createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze}),Be=$e.Consumer,Le=o.createContext(void 0);function Ge(){return c($e)}function Ye(e){var t=s(e.stylisPlugins),n=t[0],r=t[1],c=Ge().styleSheet,l=i(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=i(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);a(function(){p(n,e.stylisPlugins)||r(e.stylisPlugins)},[e.stylisPlugins]);var d=i(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return o.createElement($e.Provider,{value:d},o.createElement(Le.Provider,{value:u},e.children))}var We=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var o=n.name+t.hash;e.hasNameForId(n.id,o)||e.insertRules(n.id,o,t(n.rules,o,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),qe=function(e){return e>=\"A\"&&e<=\"Z\"};function He(e){for(var t=\"\",n=0;n<e.length;n++){var o=e[n];if(1===n&&\"-\"===o&&\"-\"===e[0])return e;qe(o)?t+=\"-\"+o.toLowerCase():t+=o}return t.startsWith(\"ms-\")?\"-\"+t:t}var Ue=function(e){return null==e||!1===e||\"\"===e},Je=function(t){var n,o,r=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||re(i)?r.push(\"\".concat(He(s),\":\"),i,\";\"):ce(i)?r.push.apply(r,e(e([\"\".concat(s,\" {\")],Je(i),!1),[\"}\"],!1)):r.push(\"\".concat(He(s),\": \").concat((n=s,null==(o=i)||\"boolean\"==typeof o||\"\"===o?\"\":\"number\"!=typeof o||0===o||n in h||n.startsWith(\"--\")?String(o).trim():\"\".concat(o,\"px\")),\";\")))}return r};function Xe(e,t,n,o){if(Ue(e))return[];if(se(e))return[\".\".concat(e.styledComponentId)];if(re(e)){if(!re(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var r=e(t);return\"production\"===process.env.NODE_ENV||\"object\"!=typeof r||Array.isArray(r)||r instanceof We||ce(r)||null===r||console.error(\"\".concat(B(e),\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\")),Xe(r,t,n,o)}var s;return e instanceof We?n?(e.inject(n,o),[e.getName(o)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,o)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(re(n)&&!se(n))return!1}return!0}var Ke=z(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=M(Ke,t),this.baseStyle=n,ke.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var o=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):\"\";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))o=ie(o,this.staticRulesId);else{var r=ae(Xe(this.rules,e,t,n)),s=x(M(this.baseHash,r)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(r,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}o=ie(o,s),this.staticRulesId=s}else{for(var a=M(this.baseHash,n.hash),c=\"\",l=0;l<this.rules.length;l++){var u=this.rules[l];if(\"string\"==typeof u)c+=u,\"production\"!==process.env.NODE_ENV&&(a=M(a,u));else if(u){var p=ae(Xe(u,e,t,n));a=M(a,p+l),c+=p}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),o=ie(o,d)}}return o},e}(),et=o.createContext(void 0),tt=et.Consumer;function nt(){var e=c(et);if(!e)throw he(18);return e}function ot(e){var n=o.useContext(et),r=i(function(){return function(e,n){if(!e)throw he(14);if(re(e)){var o=e(n);if(\"production\"!==process.env.NODE_ENV&&(null===o||Array.isArray(o)||\"object\"!=typeof o))throw he(7);return o}if(Array.isArray(e)||\"object\"!=typeof e)throw he(8);return n?t(t({},n),e):e}(e.theme,n)},[e.theme,n]);return e.children?o.createElement(et.Provider,{value:r},e.children):null}var rt={},st=new Set;function it(e,r,s){var i=se(e),a=e,c=!L(e),p=r.attrs,d=void 0===p?_:p,h=r.componentId,f=void 0===h?function(e,t){var n=\"string\"!=typeof e?\"sc\":R(e);rt[n]=(rt[n]||0)+1;var o=\"\".concat(n,\"-\").concat($(v+n+rt[n]));return t?\"\".concat(t,\"-\").concat(o):o}(r.displayName,r.parentComponentId):h,m=r.displayName,y=void 0===m?function(e){return L(e)?\"styled.\".concat(e):\"Styled(\".concat(B(e),\")\")}(e):m,g=r.displayName&&r.componentId?\"\".concat(R(r.displayName),\"-\").concat(r.componentId):r.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=r.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(r.shouldForwardProp){var E=r.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)}}else w=b}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,r){return function(e,r,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=o.useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;\"production\"!==process.env.NODE_ENV&&l(d);var v=I(r,f,c)||C,g=function(e,n,o){for(var r,s=t(t({},n),{className:void 0,theme:o}),i=0;i<e.length;i+=1){var a=re(r=e[i])?r(s):r;for(var c in a)s[c]=\"className\"===c?ie(s[c],a[c]):\"style\"===c?t(t({},s[c]),a[c]):a[c]}return n.className&&(s.className=ie(s.className,n.className)),s}(i,r,v),S=g.as||h,w={};for(var b in g)void 0===g[b]||\"$\"===b[0]||\"as\"===b||\"theme\"===b&&g.theme===v||(\"forwardedAs\"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||\"development\"!==process.env.NODE_ENV||n(b)||st.has(b)||!A.has(S)||(st.add(b),console.warn('styled-components: it looks like an unknown prop \"'.concat(b,'\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),o=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return\"production\"!==process.env.NODE_ENV&&l(o),o}(a,g);\"production\"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=\" \"+E),g.className&&(N+=\" \"+g.className),w[L(S)&&!A.has(S)?\"class\":\"className\"]=N,s&&(w.ref=s),u(S,w)}(D,e,r)}O.displayName=y;var D=o.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):\"\",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var o=0,r=t;o<r.length;o++)le(e,r[o],!0);return e}({},a.defaultProps,e):e}}),\"production\"!==process.env.NODE_ENV&&(P(y,g),D.warnTooManyClasses=function(e,t){var n={},o=!1;return function(r){if(!o&&(n[r]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),o=!0,n={}}}}(y,g)),ue(D,function(){return\".\".concat(D.styledComponentId)}),c&&oe(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],o=0,r=t.length;o<r;o+=1)n.push(t[o],e[o+1]);return n}var ct=function(e){return Object.assign(e,{isCss:!0})};function lt(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];if(re(t)||ce(t))return ct(Xe(at(_,e([t],n,!0))));var r=t;return 0===n.length&&1===r.length&&\"string\"==typeof r[0]?Xe(r):ct(Xe(at(r,n)))}function ut(n,o,r){if(void 0===r&&(r=C),!o)throw he(1,o);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(o,r,lt.apply(void 0,e([t],s,!1)))};return s.attrs=function(e){return ut(n,o,t(t({},r),{attrs:Array.prototype.concat(r.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,o,t(t({},r),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e)});var ht=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Ze(e),ke.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,o){var r=o(ae(Xe(this.rules,t,n,o)),\"\"),s=this.componentId+e;n.insertRules(s,s,r)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,o){e>2&&ke.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,o)},e}();function ft(n){for(var r=[],s=1;s<arguments.length;s++)r[s-1]=arguments[s];var i=lt.apply(void 0,e([n],r,!1)),a=\"sc-global-\".concat($(JSON.stringify(i))),c=new ht(i,a);\"production\"!==process.env.NODE_ENV&&P(a);var l=function(e){var t=Ge(),n=o.useContext(et),r=o.useRef(t.styleSheet.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&o.Children.count(e.children)&&console.warn(\"The global style component \".concat(a,\" was given child JSX. createGlobalStyle does not render children.\")),\"production\"!==process.env.NODE_ENV&&i.some(function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")})&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),t.styleSheet.server&&u(r,e,t.styleSheet,n,t.stylis),o.useLayoutEffect(function(){if(!t.styleSheet.server)return u(r,e,t.styleSheet,n,t.stylis),function(){return c.removeStyles(r,t.styleSheet)}},[r,e,t.styleSheet,n,t.stylis]),null};function u(e,n,o,r,s){if(c.isStatic)c.renderStyles(e,b,o,s);else{var i=t(t({},n),{theme:I(n,r,l.defaultProps)});c.renderStyles(e,i,o,s)}}return o.memo(l)}function mt(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");var r=ae(lt.apply(void 0,e([t],n,!1))),s=$(r);return new We(s,r)}function yt(e){var n=o.forwardRef(function(n,r){var s=I(n,o.useContext(et),e.defaultProps);return\"production\"!==process.env.NODE_ENV&&void 0===s&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'.concat(B(e),'\"')),o.createElement(e,t({},n,{theme:s,ref:r}))});return n.displayName=\"WithTheme(\".concat(B(e),\")\"),oe(n,e)}var vt=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Ce(),o=ae([n&&'nonce=\"'.concat(n,'\"'),\"\".concat(f,'=\"true\"'),\"\".concat(y,'=\"').concat(v,'\"')].filter(Boolean),\" \");return\"<style \".concat(o,\">\").concat(t,\"</style>\")},this.getStyleTags=function(){if(e.sealed)throw he(2);return e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)throw he(2);var r=e.instance.toString();if(!r)return[];var s=((n={})[f]=\"\",n[y]=v,n.dangerouslySetInnerHTML={__html:r},n),i=Ce();return i&&(s.nonce=i),[o.createElement(\"style\",t({},s,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new ke({isServer:!0}),this.sealed=!1}return e.prototype.collectStyles=function(e){if(this.sealed)throw he(2);return o.createElement(Ye,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw he(3)},e}(),gt={StyleSheet:ke,mainSheet:Me};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var St=\"__sc-\".concat(f,\"__\");\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[St]||(window[St]=0),1===window[St]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[St]+=1);export{vt as ServerStyleSheet,Be as StyleSheetConsumer,$e as StyleSheetContext,Ye as StyleSheetManager,tt as ThemeConsumer,et as ThemeContext,ot as ThemeProvider,gt as __PRIVATE__,ft as createGlobalStyle,lt as css,dt as default,se as isStyledComponent,mt as keyframes,dt as styled,nt as useTheme,v as version,yt as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","export const fadeInAnimation = `\n animation: fadeIn ease 400ms;\n -webkit-animation: fadeIn ease 400ms;\n -moz-animation: fadeIn ease 400ms;\n\n @keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n\n @-moz-keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n`;\n\nexport const fadeOutAnimation = `\n animation: fadeOut ease 400ms;\n -webkit-animation: fadeOut ease 400ms;\n -moz-animation: fadeOut ease 400ms;\n\n @keyframes fadeOut {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n @-moz-keyframes fadeOut {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n @-webkit-keyframes fadeOut {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n`;\n","/* Breakpoints for common device groups */\nexport const SCREEN_BREAKPOINTS = Object.freeze({\n /* Very small devices (phones, 600px and down) */\n /* @media only screen and (max-width: 600px) {...} */\n phones: 'only screen and (max-width: 600px)',\n /* Small devices (portrait tablets and large phones, 600px and up) */\n /* @media only screen and (min-width: 600px) {...} */\n portraitTablets: 'only screen and (min-width: 600px)',\n /* Medium devices (landscape tablets, 768px and up) */\n /* @media only screen and (min-width: 768px) {...} */\n landscapeTablets: 'only screen and (min-width: 768px)',\n /* Large devices (laptops/desktops, 992px and up) */\n /* @media only screen and (min-width: 992px) {...} */\n laptops: 'only screen and (min-width: 992px)',\n /* Extra large devices (large laptops and desktops, 1200px and up) */\n /* @media only screen and (min-width: 1200px) {...} */\n desktops: 'only screen and (min-width: 1200px)',\n});\n","import { ChopLogicTheme } from '@models';\n\nexport const LIGHT_THEME: ChopLogicTheme = {\n // Colors\n fontColorBase: 'hsl(0, 0%, 24%)',\n fontColorLight: 'hsl(0, 0%, 62%)',\n fontColorAccent: 'hsl(345, 100%, 47%)',\n backgroundColorBase: 'hsl(0, 0%, 100%)',\n backgroundColorLight: 'hsl(0, 0%, 95%)',\n backgroundColorTransparent: 'hsla(0, 0%, 0%, 0.3)',\n // Gradients\n gradientShadow:\n 'linear-gradient(to left, hsl(340deg 100% 16%) 0%, hsl(340deg 100% 32%) 8%, hsl(340deg 100% 32%) 92%, hsl(340deg 100% 16%) 100%)',\n // Fonts\n fontFamilyCore: 'Arial, Helvetica, sans-serif',\n fontFamilyMonospace: `'Courier New', Courier, monospace`,\n fontSizeBase: '1.2rem',\n fontSizeSmall: '0.8rem',\n fontSizeHeader: '2rem',\n // Units\n gapSmall: '0.25rem',\n gapMedium: '0.6rem',\n gapBig: '1rem',\n iconSize: '1.2rem',\n blockBorderRadius: '0.25rem',\n // Shadows\n boxShadow: 'hsla(0, 0%, 0%, 0.15) 2.4px 2.4px 3.2px',\n textShadow: '2.4px 2.4px 3.2px hsla(0, 0%, 0%, 0.3)',\n // Borders\n borderBase: '1px solid hsl(0, 0%, 84%)',\n borderLight: '1px solid hsl(0, 0%, 89%)',\n borderAccent: '1px solid hsl(345, 100%, 47%)',\n borderOutline: '1px solid hsl(0, 0%, 24%)',\n // Z-indexes\n zIndexBase: '1',\n zIndexPopup: '100',\n zIndexModal: '200',\n};\n\nexport const DARK_THEME: ChopLogicTheme = {\n // Colors\n fontColorBase: 'hsl(0, 0%, 100%)',\n fontColorLight: 'hsl(0, 0%, 92%)',\n fontColorAccent: 'hsl(16, 82%, 52%)',\n backgroundColorBase: 'hsl(0, 0%, 17%)',\n backgroundColorLight: 'hsl(0, 0%, 24%)',\n backgroundColorTransparent: 'hsla(0, 0%, 92%, 0.3)',\n // Gradients\n gradientShadow: 'linear-gradient(to left, hsl(16, 86%, 26%) 0%, hsl(16, 86%, 30%) 8%, hsl(16, 86%, 30%) 92%, hsl(16, 86%, 26%) 100%)',\n // Fonts\n fontFamilyCore: 'Arial, Helvetica, sans-serif',\n fontFamilyMonospace: `'Courier New', Courier, monospace`,\n fontSizeBase: '1.2rem',\n fontSizeSmall: '0.8rem',\n fontSizeHeader: '2rem',\n // Units\n gapSmall: '0.25rem',\n gapMedium: '0.6rem',\n gapBig: '1rem',\n iconSize: '1.2rem',\n blockBorderRadius: '0.25rem',\n // Shadows\n boxShadow: 'hsla(0, 0%, 92%, 0.15) 2.4px 2.4px 3.2px',\n textShadow: '2.4px 2.4px 3.2px hsla(0, 0%, 92%, 0.3)',\n // Borders\n borderBase: '1px solid hsl(0, 0%, 11%)',\n borderLight: '1px solid hsl(0, 0%, 29%)',\n borderAccent: '1px solid hsl(16, 82%, 52%)',\n borderOutline: '1px solid hsl(0, 0%, 100%)',\n // Z-indexes\n zIndexBase: '1',\n zIndexPopup: '100',\n zIndexModal: '200',\n};\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation } from '@css';\n\nexport const StyledErrorMessage = styled.span<{ $visible: boolean; $theme: ChopLogicTheme }>`\n display: ${({ $visible }) => ($visible ? 'block' : 'none')};\n position: absolute;\n max-width: 100%;\n right: 0;\n top: 72px;\n opacity: 0.8;\n z-index: ${(props) => props.$theme.zIndexPopup};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n border: ${(props) => props.$theme.borderAccent};\n color: ${(props) => props.$theme.fontColorAccent};\n padding: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeSmall};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n box-shadow: ${(props) => props.$theme.boxShadow};\n pointer-events: none;\n\n ${fadeInAnimation}\n`;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledErrorMessage } from './ErrorMessage.styled';\n\ntype ChopLogicErrorMessageProps = {\n errorId: string;\n visible?: boolean;\n message?: string;\n testId?: string;\n style?: React.CSSProperties;\n theme: ChopLogicTheme;\n};\n\nconst ChopLogicErrorMessage: React.FC<ChopLogicErrorMessageProps> = ({\n errorId,\n testId,\n message = 'Invalid input',\n visible = false,\n style,\n theme,\n}) => {\n return (\n <StyledErrorMessage id={errorId} $visible={visible} data-testid={testId} style={style} $theme={theme} aria-hidden={!visible}>\n {message}\n </StyledErrorMessage>\n );\n};\n\nexport default ChopLogicErrorMessage;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowDownIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M21.886 5.536A1.002 1.002 0 0021 5H3a1.002 1.002 0 00-.822 1.569l9 13a.998.998 0 001.644 0l9-13a.998.998 0 00.064-1.033zM12 17.243L4.908 7h14.184L12 17.243z' />\n </svg>\n );\n}\n\nexport default ArrowDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowUpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M3 19h18a1.002 1.002 0 00.823-1.569l-9-13c-.373-.539-1.271-.539-1.645 0l-9 13A.999.999 0 003 19zm9-12.243L19.092 17H4.908L12 6.757z' />\n </svg>\n );\n}\n\nexport default ArrowUpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction BackIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M328 112L184 256l144 144' />\n </svg>\n );\n}\n\nexport default BackIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CancelIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 470 1000' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M452 656c12 12 18 26.333 18 43s-6 31-18 43c-12 10.667-26.333 16-43 16s-31-5.333-43-16L234 590 102 742c-12 10.667-26.333 16-43 16s-31-5.333-43-16C5.333 730 0 715.667 0 699s5.333-31 16-43l138-156L16 342C5.333 330 0 315.667 0 299s5.333-31 16-43c12-10.667 26.333-16 43-16s31 5.333 43 16l132 152 132-152c12-10.667 26.333-16 43-16s31 5.333 43 16c12 12 18 26.333 18 43s-6 31-18 43L314 500l138 156' />\n </svg>\n );\n}\n\nexport default CancelIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxCheckedIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='currentColor'\n d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM7 12.414L3.293 8.707l1.414-1.414L7 9.586l4.793-4.793 1.414 1.414L7 12.414z'\n />\n </svg>\n );\n}\n\nexport default CheckboxCheckedIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxUncheckedIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='currentColor' d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm0 14H2V2h12v12z' />\n </svg>\n );\n}\n\nexport default CheckboxUncheckedIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckMarkIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z' />\n </svg>\n );\n}\n\nexport default CheckMarkIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronDownIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M1.553 6.776a.5.5 0 01.67-.223L8 9.44l5.776-2.888a.5.5 0 11.448.894l-6 3a.5.5 0 01-.448 0l-6-3a.5.5 0 01-.223-.67z'\n />\n </svg>\n );\n}\n\nexport default ChevronDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronLeftIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M9.224 1.553a.5.5 0 01.223.67L6.56 8l2.888 5.776a.5.5 0 11-.894.448l-3-6a.5.5 0 010-.448l3-6a.5.5 0 01.67-.223z'\n />\n </svg>\n );\n}\n\nexport default ChevronLeftIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronRightIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M6.776 1.553a.5.5 0 01.671.223l3 6a.5.5 0 010 .448l-3 6a.5.5 0 11-.894-.448L9.44 8 6.553 2.224a.5.5 0 01.223-.671z'\n />\n </svg>\n );\n}\n\nexport default ChevronRightIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronUpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fillRule='evenodd' d='M7.776 5.553a.5.5 0 01.448 0l6 3a.5.5 0 11-.448.894L8 6.56 2.224 9.447a.5.5 0 11-.448-.894l6-3z' />\n </svg>\n );\n}\n\nexport default ChevronUpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ClearIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <defs>\n <style />\n </defs>\n <path d='M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6c-.3 1.5-.4 3-.4 4.4 0 14.4 11.6 26 26 26h723c1.5 0 3-.1 4.4-.4 14.2-2.4 23.7-15.9 21.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z' />\n </svg>\n );\n}\n\nexport default ClearIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CopyIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path d='M11 9 H20 A2 2 0 0 1 22 11 V20 A2 2 0 0 1 20 22 H11 A2 2 0 0 1 9 20 V11 A2 2 0 0 1 11 9 z' />\n <path d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1' />\n </svg>\n );\n}\n\nexport default CopyIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CutIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n role='img'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path stroke='none' d='M0 0h24v24H0z' />\n <path d='M10 17 A3 3 0 0 1 7 20 A3 3 0 0 1 4 17 A3 3 0 0 1 10 17 z' />\n <path d='M20 17 A3 3 0 0 1 17 20 A3 3 0 0 1 14 17 A3 3 0 0 1 20 17 z' />\n <path d='M9.15 14.85L18 4M6 4l8.85 10.85' />\n </svg>\n );\n}\n\nexport default CutIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DeleteIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z' />\n </svg>\n );\n}\n\nexport default DeleteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DownloadIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default DownloadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ErrorIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M11 7h2v7h-2zm0 8h2v2h-2z' />\n <path d='M21.707 7.293l-5-5A.996.996 0 0016 2H8a.996.996 0 00-.707.293l-5 5A.996.996 0 002 8v8c0 .266.105.52.293.707l5 5A.996.996 0 008 22h8c.266 0 .52-.105.707-.293l5-5A.996.996 0 0022 16V8a.996.996 0 00-.293-.707zM20 15.586L15.586 20H8.414L4 15.586V8.414L8.414 4h7.172L20 8.414v7.172z' />\n </svg>\n );\n}\n\nexport default ErrorIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ForwardIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M184 112l144 144-144 144' />\n </svg>\n );\n}\n\nexport default ForwardIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst GraduateIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 448 512' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M219.3.5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V160c0 70.7-57.3 128-128 128S96 230.7 96 160v-57.1l-48-9.6v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3S52.8 256 48 256H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64c0-11.4 8.1-21.3 19.3-23.5l200-40zM111.9 327.7c10.5-3.4 21.8.4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5 65 20.9 112 81.7 112 153.6 0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z' />\n </svg>\n);\n\nexport default GraduateIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HelpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M414.39 97.61A224 224 0 1097.61 414.39 224 224 0 10414.39 97.61zM192.13 260.18a64 64 0 1159.69 59.69 64.07 64.07 0 01-59.69-59.69zm240-66.64l-96.37 5.84a4.06 4.06 0 01-3.44-1.59 96 96 0 00-18.07-18.07 4.06 4.06 0 01-1.59-3.44l5.84-96.37a4 4 0 015.42-3.51A193 193 0 01435.6 188.12a4 4 0 01-3.51 5.42zM193.54 79.91l5.84 96.37a4.06 4.06 0 01-1.59 3.44 96 96 0 00-18.07 18.07 4.06 4.06 0 01-3.44 1.59l-96.37-5.84a4 4 0 01-3.51-5.42A193 193 0 01188.12 76.4a4 4 0 015.42 3.51zM79.91 318.46l96.37-5.84a4.06 4.06 0 013.44 1.59 96 96 0 0018.07 18.07 4.06 4.06 0 011.59 3.44l-5.84 96.37a4 4 0 01-5.42 3.51A193 193 0 0176.4 323.88a4 4 0 013.51-5.42zm238.55 113.63l-5.84-96.37a4.06 4.06 0 011.59-3.44 96 96 0 0018.07-18.07 4.06 4.06 0 013.44-1.59l96.37 5.84a4 4 0 013.51 5.42A193 193 0 01323.88 435.6a4 4 0 01-5.42-3.51z' />\n </svg>\n );\n}\n\nexport default HelpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HideIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 19c.946 0 1.81-.103 2.598-.281l-1.757-1.757c-.273.021-.55.038-.841.038-5.351 0-7.424-3.846-7.926-5a8.642 8.642 0 011.508-2.297L4.184 8.305c-1.538 1.667-2.121 3.346-2.132 3.379a.994.994 0 000 .633C2.073 12.383 4.367 19 12 19zm0-14c-1.837 0-3.346.396-4.604.981L3.707 2.293 2.293 3.707l18 18 1.414-1.414-3.319-3.319c2.614-1.951 3.547-4.615 3.561-4.657a.994.994 0 000-.633C21.927 11.617 19.633 5 12 5zm4.972 10.558l-2.28-2.28c.19-.39.308-.819.308-1.278 0-1.641-1.359-3-3-3-.459 0-.888.118-1.277.309L8.915 7.501A9.26 9.26 0 0112 7c5.351 0 7.424 3.846 7.926 5-.302.692-1.166 2.342-2.954 3.558z' />\n </svg>\n );\n}\n\nexport default HideIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst HomeIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M946.5 505 560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.9 63.9 0 0 0-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0 0 18.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z' />\n </svg>\n);\n\nexport default HomeIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction InfoIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z' />\n <path d='M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default InfoIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst LoginIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 0 1 520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 0 1 270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 0 1 0 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z' />\n </svg>\n);\n\nexport default LoginIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction PasteIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M20 11V5c0-1.103-.897-2-2-2h-3a1 1 0 00-1-1H8a1 1 0 00-1 1H4c-1.103 0-2 .897-2 2v13c0 1.103.897 2 2 2h7c0 1.103.897 2 2 2h7c1.103 0 2-.897 2-2v-7c0-1.103-.897-2-2-2zm-9 2v5H4V5h3v2h8V5h3v6h-5c-1.103 0-2 .897-2 2zm2 7v-7h7l.001 7H13z' />\n </svg>\n );\n}\n\nexport default PasteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction QuestionIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeMiterlimit={10} strokeWidth={32} d='M256 80a176 176 0 10176 176A176 176 0 00256 80z' />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeMiterlimit={10}\n strokeWidth={28}\n d='M200 202.29s.84-17.5 19.57-32.57C230.68 160.77 244 158.18 256 158c10.93-.14 20.69 1.67 26.53 4.45 10 4.76 29.47 16.38 29.47 41.09 0 26-17 37.81-36.37 50.8S251 281.43 251 296'\n />\n <path d='M270 348 A20 20 0 0 1 250 368 A20 20 0 0 1 230 348 A20 20 0 0 1 270 348 z' />\n </svg>\n );\n}\n\nexport default QuestionIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction RemoveIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='none'\n stroke='currentColor'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M135.19 390.14a28.79 28.79 0 0021.68 9.86h246.26A29 29 0 00432 371.13V140.87A29 29 0 00403.13 112H156.87a28.84 28.84 0 00-21.67 9.84v0L46.33 256l88.86 134.11z'\n />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33'\n />\n </svg>\n );\n}\n\nexport default RemoveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction SaveIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z' />\n </svg>\n );\n}\n\nexport default SaveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ShowIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 9a3.02 3.02 0 00-3 3c0 1.642 1.358 3 3 3 1.641 0 3-1.358 3-3 0-1.641-1.359-3-3-3z' />\n <path d='M12 5c-7.633 0-9.927 6.617-9.948 6.684L1.946 12l.105.316C2.073 12.383 4.367 19 12 19s9.927-6.617 9.948-6.684l.106-.316-.105-.316C21.927 11.617 19.633 5 12 5zm0 12c-5.351 0-7.424-3.846-7.926-5C4.578 10.842 6.652 7 12 7c5.351 0 7.424 3.846 7.926 5-.504 1.158-2.578 5-7.926 5z' />\n </svg>\n );\n}\n\nexport default ShowIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction UploadIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M.5 9.9a.5.5 0 01.5.5v2.5a1 1 0 001 1h12a1 1 0 001-1v-2.5a.5.5 0 011 0v2.5a2 2 0 01-2 2H2a2 2 0 01-2-2v-2.5a.5.5 0 01.5-.5z' />\n <path d='M7.646 1.146a.5.5 0 01.708 0l3 3a.5.5 0 01-.708.708L8.5 2.707V11.5a.5.5 0 01-1 0V2.707L5.354 4.854a.5.5 0 11-.708-.708l3-3z' />\n </svg>\n );\n}\n\nexport default UploadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction WarningIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' d='M0 0h24v24H0z' />\n <path d='M4 20v-6a8 8 0 1116 0v6h1v2H3v-2h1zm2 0h12v-6a6 6 0 10-12 0v6zm5-18h2v3h-2V2zm8.778 2.808l1.414 1.414-2.12 2.121-1.415-1.414 2.121-2.121zM2.808 6.222l1.414-1.414 2.121 2.12L4.93 8.344 2.808 6.222zM7 14a5 5 0 015-5v2a3 3 0 00-3 3H7z' />\n </svg>\n );\n}\n\nexport default WarningIcon;\n","export enum ChopLogicAlertMode {\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Help = 'help',\n}\n","export enum ChopLogicButtonView {\n Primary = 'primary',\n Flat = 'flat',\n Icon = 'icon',\n}\n","export enum ChopLogicIconName {\n ArrowDown = 'arrow-down',\n ArrowUp = 'arrow-up',\n Back = 'back',\n Cancel = 'cancel',\n CheckboxChecked = 'checkbox-checked',\n CheckboxUnchecked = 'checkbox-unchecked',\n CheckMark = 'check-mark',\n ChevronDown = 'chevron-down',\n ChevronLeft = 'chevron-left',\n ChevronRight = 'chevron-right',\n ChevronUp = 'chevron-up',\n Clear = 'clear',\n Copy = 'copy',\n Cut = 'cut',\n Delete = 'delete',\n Download = 'download',\n Error = 'error',\n Forward = 'forward',\n Graduate = 'graduate',\n Help = 'help',\n Hide = 'hide',\n Home = 'home',\n Info = 'info',\n Login = 'login',\n Paste = 'paste',\n Question = 'question',\n Save = 'save',\n Show = 'show',\n Upload = 'upload',\n Warning = 'warning',\n Remove = 'remove',\n}\n","export enum ChopLogicLoaderView {\n Dots = 'dots',\n Brackets = 'brackets',\n Linear = 'linear',\n Square = 'square',\n Circle = 'circle',\n Pulse = 'pulse',\n Arrow = 'arrow',\n Filler = 'filler',\n Rotation = 'rotation',\n}\n","export enum ChopLogicOrientationMode {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n","export enum ChopLogicThemeMode {\n Light = 'light',\n Dark = 'dark',\n}\n","export enum ChopLogicTooltipContainer {\n Span = 'span',\n Div = 'div',\n P = 'p',\n Strong = 'strong',\n Em = 'em',\n}\n","import ArrowDownIcon from './svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from './svg/ArrowUpIcon.tsx';\nimport BackIcon from './svg/BackIcon.tsx';\nimport CancelIcon from './svg/CancelIcon.tsx';\nimport CheckboxCheckedIcon from './svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from './svg/CheckboxUncheckedIcon.tsx';\nimport CheckMarkIcon from './svg/CheckMarkIcon.tsx';\nimport ChevronDownIcon from './svg/ChevronDownIcon.tsx';\nimport ChevronLeftIcon from './svg/ChevronLeftIcon.tsx';\nimport ChevronRightIcon from './svg/ChevronRightIcon.tsx';\nimport ChevronUpIcon from './svg/ChevronUpIcon.tsx';\nimport ClearIcon from './svg/ClearIcon.tsx';\nimport CopyIcon from './svg/CopyIcon.tsx';\nimport CutIcon from './svg/CutIcon.tsx';\nimport DeleteIcon from './svg/DeleteIcon.tsx';\nimport DownloadIcon from './svg/DownloadIcon.tsx';\nimport ErrorIcon from './svg/ErrorIcon.tsx';\nimport ForwardIcon from './svg/ForwardIcon.tsx';\nimport GraduateIcon from './svg/GraduateIcon.tsx';\nimport HelpIcon from './svg/HelpIcon.tsx';\nimport HideIcon from './svg/HideIcon.tsx';\nimport HomeIcon from './svg/HomeIcon.tsx';\nimport InfoIcon from './svg/InfoIcon.tsx';\nimport LoginIcon from './svg/LoginIcon.tsx';\nimport PasteIcon from './svg/PasteIcon.tsx';\nimport QuestionIcon from './svg/QuestionIcon.tsx';\nimport RemoveIcon from './svg/RemoveIcon.tsx';\nimport SaveIcon from './svg/SaveIcon.tsx';\nimport ShowIcon from './svg/ShowIcon.tsx';\nimport UploadIcon from './svg/UploadIcon.tsx';\nimport WarningIcon from './svg/WarningIcon.tsx';\nimport { ChopLogicSVGElementProps } from '@models';\nimport { ReactElement } from 'react';\nimport { ChopLogicIconName } from '@enums';\n\ntype ChopLogicIcons = { [key in ChopLogicIconName]: ({ title, ...rest }: ChopLogicSVGElementProps) => ReactElement };\n\nexport const ChopLogicIconDictionary: ChopLogicIcons = {\n [ChopLogicIconName.ArrowDown]: ArrowDownIcon,\n [ChopLogicIconName.ArrowUp]: ArrowUpIcon,\n [ChopLogicIconName.Back]: BackIcon,\n [ChopLogicIconName.Cancel]: CancelIcon,\n [ChopLogicIconName.CheckboxChecked]: CheckboxCheckedIcon,\n [ChopLogicIconName.CheckboxUnchecked]: CheckboxUncheckedIcon,\n [ChopLogicIconName.CheckMark]: CheckMarkIcon,\n [ChopLogicIconName.ChevronDown]: ChevronDownIcon,\n [ChopLogicIconName.ChevronUp]: ChevronUpIcon,\n [ChopLogicIconName.ChevronLeft]: ChevronLeftIcon,\n [ChopLogicIconName.ChevronRight]: ChevronRightIcon,\n [ChopLogicIconName.Clear]: ClearIcon,\n [ChopLogicIconName.Copy]: CopyIcon,\n [ChopLogicIconName.Cut]: CutIcon,\n [ChopLogicIconName.Delete]: DeleteIcon,\n [ChopLogicIconName.Download]: DownloadIcon,\n [ChopLogicIconName.Error]: ErrorIcon,\n [ChopLogicIconName.Forward]: ForwardIcon,\n [ChopLogicIconName.Graduate]: GraduateIcon,\n [ChopLogicIconName.Help]: HelpIcon,\n [ChopLogicIconName.Hide]: HideIcon,\n [ChopLogicIconName.Home]: HomeIcon,\n [ChopLogicIconName.Info]: InfoIcon,\n [ChopLogicIconName.Login]: LoginIcon,\n [ChopLogicIconName.Paste]: PasteIcon,\n [ChopLogicIconName.Question]: QuestionIcon,\n [ChopLogicIconName.Save]: SaveIcon,\n [ChopLogicIconName.Show]: ShowIcon,\n [ChopLogicIconName.Upload]: UploadIcon,\n [ChopLogicIconName.Warning]: WarningIcon,\n [ChopLogicIconName.Remove]: RemoveIcon,\n};\n","import React from 'react';\nimport { ChopLogicIconDictionary } from '@icons';\nimport { ChopLogicIconProps } from '@models';\n\nconst ChopLogicIcon: React.FC<ChopLogicIconProps> = ({ name, testId, ...rest }) => {\n if (!name) return null;\n const Component = ChopLogicIconDictionary[name];\n\n return <Component data-testid={testId} {...rest} />;\n};\n\nexport default ChopLogicIcon;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledInputInnerButton = styled.button<{ $theme: ChopLogicTheme }>`\n background: transparent;\n border: none;\n display: flex;\n align-items: center;\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorLight};\n padding: 0;\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: -1px;\n }\n\n &:hover {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n svg {\n cursor: pointer;\n height: ${(props) => props.$theme.iconSize};\n width: ${(props) => props.$theme.iconSize};\n }\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n`;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicIconName } from '@enums';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledInputInnerButton } from './InputInnerButton.styled';\n\ntype ClearInputButtonProps = {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n label: string;\n icon: ChopLogicIconName;\n disabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst InputInnerButton: React.FC<ClearInputButtonProps> = ({ onClick, label, icon, disabled, theme }) => {\n return (\n <StyledInputInnerButton onClick={onClick} aria-label={label} type='button' disabled={disabled} $theme={theme}>\n <ChopLogicIcon name={icon} />\n </StyledInputInnerButton>\n );\n};\n\nexport default InputInnerButton;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledLabel = styled.label<{ $theme: ChopLogicTheme }>`\n display: flex;\n align-items: center;\n font-size: ${(props) => props.$theme.fontSizeSmall};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n gap: ${(props) => props.$theme.gapSmall};\n color: ${(props) => props.$theme.fontColorBase};\n\n &:hover {\n text-shadow: ${(props) => props.$theme.textShadow};\n }\n\n & + span {\n text-wrap: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n & abbr {\n text-decoration: none;\n cursor: pointer;\n color: ${(props) => props.$theme.fontColorAccent};\n margin-left: ${(props) => props.$theme.gapSmall};\n }\n`;\n","import React, { PropsWithChildren } from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledLabel } from './Label.styled';\n\ntype ChopLogicLabelProps = {\n label: string;\n required: boolean;\n inputId: string;\n theme: ChopLogicTheme;\n isTextHidden?: boolean;\n icon?: React.ReactElement;\n iconPosition?: 'left' | 'right';\n style?: React.CSSProperties;\n};\n\nconst ChopLogicLabel: React.FC<PropsWithChildren<ChopLogicLabelProps>> = ({\n label,\n required,\n inputId,\n theme,\n icon,\n iconPosition,\n isTextHidden = false,\n style,\n}) => {\n const isLeftIconVisible = !!icon && iconPosition === 'left';\n const isRightIconVisible = !!icon && iconPosition === 'right';\n\n return (\n <StyledLabel htmlFor={inputId} style={style} $theme={theme}>\n {isLeftIconVisible && icon}\n {!isTextHidden && (\n <span>\n {label}\n {required && <abbr title='required'>*</abbr>}\n </span>\n )}\n {isRightIconVisible && icon}\n </StyledLabel>\n );\n};\n\nexport default ChopLogicLabel;\n","import React from 'react';\nimport { ChopLogicTooltip } from '@components';\n\ntype WithTooltipProps = {\n tooltip?: string;\n visibleOn?: 'hover' | 'click' | 'focus' | 'contextmenu';\n};\n\nexport function withTooltip<P extends object>(Component: React.ComponentType<P>): React.FC<P & WithTooltipProps> {\n return ({ tooltip, visibleOn, ...props }: WithTooltipProps) =>\n tooltip?.length ? (\n <ChopLogicTooltip tooltipContent={tooltip} visibleOn={visibleOn}>\n <Component {...(props as P)} />\n </ChopLogicTooltip>\n ) : (\n <Component {...(props as P)} />\n );\n}\n","import React from 'react';\nimport { ChopLogicFormContextProps } from '@models';\n\nexport const ChopLogicFormContext = React.createContext<ChopLogicFormContextProps>({});\n","import React from 'react';\nimport { ChopLogicThemeMode } from '@enums';\nimport { ChopLogicThemeContextProps } from '@models';\n\nexport const ChopLogicThemeContext = React.createContext<ChopLogicThemeContextProps>({\n mode: ChopLogicThemeMode.Light,\n});\n","import { ChopLogicTheme } from '@models';\n\nimport { DARK_THEME, LIGHT_THEME } from '@css';\n\nexport function getChopLogicTheme(mode?: 'dark' | 'light', customTheme?: Partial<ChopLogicTheme>): ChopLogicTheme {\n const defaultTheme: ChopLogicTheme = mode === 'dark' ? DARK_THEME : LIGHT_THEME;\n\n if (customTheme) {\n for (const key in customTheme) {\n const themeProperty = key as keyof ChopLogicTheme;\n if (Object.prototype.hasOwnProperty.call(defaultTheme, themeProperty)) {\n defaultTheme[themeProperty] = (customTheme[themeProperty] as string).toString();\n }\n }\n }\n\n return defaultTheme;\n}\n","export function moveFocusOnElementById(id: string) {\n const element = document.getElementById(id);\n\n if (element) element.focus();\n}\n","import { KeyboardEvent } from 'react';\nimport { ChopLogicSelectValue } from '@models';\n\nimport { moveFocusOnElementById } from './move-focus-on-element-by-id.ts';\n\nexport function handleDropdownListKeyPress({\n e,\n options,\n onClose,\n}: {\n e: KeyboardEvent<HTMLUListElement>;\n options: ChopLogicSelectValue[];\n onClose: () => void;\n}) {\n let focusedId: string = '';\n options.forEach((value) => {\n const element = document.getElementById(value.id);\n if (element === document.activeElement) {\n focusedId = value.id;\n }\n });\n\n const currentFocusIndex = options.findIndex((value) => value.id === focusedId);\n\n switch (e.key) {\n case 'Escape':\n e.preventDefault();\n onClose();\n break;\n case 'ArrowUp': {\n e.preventDefault();\n const previousOptionIndex = currentFocusIndex - 1 >= 0 ? currentFocusIndex - 1 : options.length - 1;\n const previousValue = options[previousOptionIndex];\n if (previousValue) moveFocusOnElementById(previousValue.id);\n break;\n }\n case 'ArrowDown':\n case 'Tab': {\n e.preventDefault();\n const nextOptionIndex = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;\n const nextValue = options[nextOptionIndex];\n if (nextValue) moveFocusOnElementById(nextValue.id);\n break;\n }\n }\n}\n","import { useContext } from 'react';\nimport { ChopLogicThemeContext } from '@contexts';\nimport { getChopLogicTheme } from '@utils';\n\nexport const useChopLogicTheme = () => {\n const { customTheme, mode } = useContext(ChopLogicThemeContext);\n\n return getChopLogicTheme(mode, customTheme);\n};\n","import React, { useEffect } from 'react';\n\ntype UseClickOutsideParams = {\n ref: React.RefObject<HTMLElement | null>;\n onClickOutsideHandler: () => void;\n dependentRef?: React.RefObject<HTMLElement | null>;\n};\n\nexport const useClickOutside = ({ ref, onClickOutsideHandler, dependentRef }: UseClickOutsideParams): void => {\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const isOutsideRef = ref?.current && !ref.current.contains(event.target as Node);\n const isOutsideDependentRef = !dependentRef?.current ? true : !dependentRef.current.contains(event.target as Node);\n if (isOutsideRef && isOutsideDependentRef) {\n onClickOutsideHandler();\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [ref, dependentRef, onClickOutsideHandler]);\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { Dimensions } from '../use-window-dimensions';\n\ntype useContainerDimensionsParams = {\n ref: React.RefObject<HTMLElement | null>;\n isVisible?: boolean;\n};\n\nexport const useContainerDimensions = ({ ref, isVisible }: useContainerDimensionsParams): Dimensions => {\n const [dimensions, setDimensions] = useState<Dimensions>({ width: 0, height: 0 });\n\n useEffect(() => {\n if (ref?.current && isVisible) {\n setDimensions({\n width: ref.current.offsetWidth,\n height: ref.current.offsetHeight,\n });\n }\n }, [ref, isVisible]);\n\n return dimensions;\n};\n","import { useId } from 'react';\n\nexport function useElementIds(id?: string) {\n const randomId = useId();\n const elementId = id ?? randomId;\n const errorId = `${elementId}_error`;\n const dropdownId = `${elementId}_dropdown`;\n\n return {\n elementId,\n errorId,\n dropdownId,\n };\n}\n","import React, { useEffect } from 'react';\n\ntype useKeyPressParams = {\n keyCode: string;\n ref: React.RefObject<HTMLDivElement | null>;\n onKeyPress: () => void;\n};\n\nexport const useKeyPress = ({ ref, keyCode, onKeyPress }: useKeyPressParams) => {\n useEffect(() => {\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e?.code === keyCode && ref?.current) {\n onKeyPress();\n }\n };\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [ref, keyCode, onKeyPress]);\n};\n","import React, { useEffect } from 'react';\n\ntype ModalFocusTrapParams = {\n modalRef: React.RefObject<HTMLDivElement | null>;\n isOpened: boolean;\n};\n\nexport const useModalFocusTrap = ({ modalRef, isOpened }: ModalFocusTrapParams) => {\n useEffect(() => {\n const modalElement = modalRef.current;\n if (!isOpened || !modalElement) return;\n\n const focusableElements = modalElement.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleTabKeyPress = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n } else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n };\n\n modalElement.addEventListener('keydown', handleTabKeyPress);\n\n return () => {\n modalElement.removeEventListener('keydown', handleTabKeyPress);\n };\n }, [modalRef, isOpened]);\n};\n","import { useEffect, useState } from 'react';\n\nexport const useMount = (isOpened: boolean, delay: number = 300): boolean => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n if (isOpened && !isMounted) {\n setIsMounted(true);\n } else if (!isOpened && isMounted) {\n setTimeout(() => {\n setIsMounted(false);\n }, delay);\n }\n }, [isOpened]);\n\n return isMounted;\n};\n","import { useContext, useEffect } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\n\nexport const useResetFormInput = (onReset: () => void) => {\n const { resetSignal } = useContext(ChopLogicFormContext);\n\n useEffect(() => {\n if (resetSignal) {\n onReset();\n }\n }, [resetSignal, onReset]);\n};\n","import { useEffect, useState } from 'react';\n\nexport type Dimensions = { width: number; height: number };\n\nfunction getWindowDimensions(): Dimensions {\n const { innerWidth: width, innerHeight: height } = window;\n\n return { width, height };\n}\n\nexport function useWindowDimensions(): Dimensions {\n const [windowDimensions, setWindowDimensions] = useState<Dimensions>(getWindowDimensions());\n\n useEffect(() => {\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return windowDimensions;\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { useContainerDimensions } from '../use-container-dimensions';\nimport { useWindowDimensions } from '../use-window-dimensions';\n\ntype useTooltipPositionParams = {\n wrapperRef: React.RefObject<HTMLElement | null>;\n tooltipRef: React.RefObject<HTMLElement | null>;\n isOpened: boolean;\n spacing?: number;\n};\n\nexport const useTooltipPosition = ({ wrapperRef, tooltipRef, isOpened, spacing = 4 }: useTooltipPositionParams) => {\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const { width: tooltipWidth, height: tooltipHeight } = useContainerDimensions({\n ref: tooltipRef,\n isVisible: isOpened,\n });\n const { width: windowWidth, height: windowHeight } = useWindowDimensions();\n\n useEffect(() => {\n if (isOpened && wrapperRef?.current) {\n const rect = wrapperRef?.current.getBoundingClientRect();\n\n let top = Math.round(rect.bottom + spacing);\n let left = Math.round(rect.left);\n\n // Adjust position if tooltip goes beyond the viewport\n if (top + tooltipHeight > window.innerHeight) {\n top = Math.round(rect.top - tooltipHeight - spacing);\n }\n if (left + tooltipWidth > window.innerWidth) {\n left = Math.round(window.innerWidth - tooltipWidth - spacing);\n }\n if (left < 0) {\n left = spacing;\n }\n\n setPosition({ top, left });\n }\n }, [isOpened, wrapperRef, tooltipHeight, tooltipWidth, spacing, windowWidth, windowHeight]);\n\n return position;\n};\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledPrimaryButton = styled.button<{ $extended: boolean; $theme: ChopLogicTheme }>`\n position: relative;\n border: none;\n background: transparent;\n padding: 0;\n cursor: pointer;\n outline: none;\n transition: filter 250ms;\n width: ${(props) => (props.$extended ? '100%' : 'inherit')};\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n\n .chop-logic-button_shadow {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n background: hsl(0deg 0% 0% / 0.25);\n will-change: transform;\n transform: translateY(2px);\n transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);\n }\n\n .chop-logic-button_edge {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n background: ${(props) => props.$theme.gradientShadow};\n }\n\n .chop-logic-button_front {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: ${(props) => props.$theme.gapSmall};\n position: relative;\n padding: ${(props) => `${props.$theme.gapMedium} ${props.$theme.gapBig}`};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: #ffffff;\n background: ${(props) => props.$theme.fontColorAccent};\n will-change: transform;\n transform: translateY(-4px);\n transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);\n }\n\n &:hover {\n filter: brightness(110%);\n }\n\n &:hover .chop-logic-button_front {\n transform: translateY(-6px);\n transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);\n }\n\n &:active .chop-logic-button_front {\n transform: translateY(-2px);\n transition: transform 34ms;\n }\n\n &:hover .chop-logic-button_shadow {\n transform: translateY(4px);\n transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);\n }\n\n &:active .chop-logic-button_shadow {\n transform: translateY(1px);\n transition: transform 34ms;\n }\n\n &:focus-visible {\n outline: revert;\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: 4px;\n }\n`;\n\nexport const StyledFlatButton = styled.button<{ $extended: boolean; $theme: ChopLogicTheme }>`\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: ${(props) => props.$theme.gapSmall};\n padding: ${(props) => `${props.$theme.gapMedium} ${props.$theme.gapBig}`};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorBase};\n background: transparent;\n width: ${(props) => (props.$extended ? '100%' : 'inherit')};\n\n &:hover,\n &:active {\n background: ${(props) => props.$theme.backgroundColorLight};\n transition: all 0.3s ease 0s;\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n }\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n`;\n\nexport const StyledIconButton = styled.button<{ $theme: ChopLogicTheme }>`\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${(props) => props.$theme.gapMedium};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorBase};\n background: transparent;\n\n &:hover {\n background-color: ${(props) => props.$theme.backgroundColorLight};\n color: ${(props) => props.$theme.fontColorAccent};\n transition: all 0.3s ease 0s;\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n }\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n\n svg {\n height: ${(props) => props.$theme.iconSize};\n width: ${(props) => props.$theme.iconSize};\n }\n`;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicButtonView } from '@enums';\nimport { withTooltip } from '@hocs';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicButtonProps } from '@models';\n\nimport { StyledFlatButton, StyledIconButton, StyledPrimaryButton } from './Button.styled';\n\nconst ChopLogicButton: React.FC<ChopLogicButtonProps> = ({\n onClick,\n text,\n icon,\n label,\n disabled = false,\n extended = false,\n type = 'button',\n view = ChopLogicButtonView.Primary,\n ...rest\n}) => {\n const theme = useChopLogicTheme();\n\n switch (view) {\n case ChopLogicButtonView.Primary:\n return (\n <StyledPrimaryButton\n $extended={extended}\n aria-label={label}\n type={type}\n onClick={onClick}\n disabled={disabled}\n $theme={theme}\n {...rest}\n >\n <span className='chop-logic-button_shadow'></span>\n <span className='chop-logic-button_edge'></span>\n <span className='chop-logic-button_front'>\n <ChopLogicIcon name={icon} />\n {text}\n </span>\n </StyledPrimaryButton>\n );\n case ChopLogicButtonView.Flat:\n return (\n <StyledFlatButton\n $extended={extended}\n aria-label={label}\n type={type}\n onClick={onClick}\n disabled={disabled}\n $theme={theme}\n {...rest}\n >\n <ChopLogicIcon name={icon} />\n {text}\n </StyledFlatButton>\n );\n case ChopLogicButtonView.Icon:\n return (\n <StyledIconButton aria-label={label} type={type} onClick={onClick} disabled={disabled} $theme={theme} {...rest}>\n <ChopLogicIcon name={icon} />\n </StyledIconButton>\n );\n default:\n return null;\n }\n};\n\nexport default withTooltip(ChopLogicButton);\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledCheckbox = styled.div<{ $disabled: boolean; $checked: boolean; $theme: ChopLogicTheme }>`\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n padding: ${(props) => props.$theme.gapMedium} 0;\n position: relative;\n overflow: hidden;\n\n & svg {\n color: ${(props) => (props.$checked ? props.$theme.fontColorAccent : props.$theme.fontColorLight)};\n }\n\n & label {\n cursor: pointer;\n gap: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeBase} !important;\n &:hover,\n &:active {\n text-shadow: ${(props) => props.$theme.textShadow};\n }\n }\n\n ${(props) =>\n props.$disabled &&\n `\n pointer-events: none;\n opacity: 0.5;\n `}\n\n & input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n top: 4px;\n left: 0;\n margin: 0;\n\n &:focus-visible + label {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: 2px;\n }\n }\n`;\n","import { ChopLogicFormData } from '@models';\n\nexport function getCheckboxInitialValue({\n defaultChecked,\n initialValues,\n name,\n}: {\n defaultChecked?: boolean;\n initialValues?: ChopLogicFormData;\n name: string;\n}): boolean {\n if (initialValues && initialValues?.[name] !== undefined) {\n return !!initialValues?.[name];\n }\n\n return Boolean(defaultChecked);\n}\n","import React, { useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\n\nimport { getCheckboxInitialValue } from './helpers';\n\nexport function useChopLogicCheckboxController({\n name,\n defaultChecked,\n onChange,\n}: {\n name: string;\n defaultChecked?: boolean;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getCheckboxInitialValue({ initialValues, name, defaultChecked });\n const [isChecked, setIsChecked] = useState<boolean>(initialValue);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n setIsChecked(checked);\n onChange?.(e);\n onChangeFormInput?.({ name, value: checked });\n };\n\n const handleReset = useCallback(() => {\n setIsChecked(initialValue);\n onChangeFormInput?.({ name, value: initialValue });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n checked: isChecked,\n };\n}\n","import React from 'react';\nimport { ChopLogicLabel } from '@elements';\nimport { useChopLogicTheme, useElementIds } from '@hooks';\nimport CheckboxCheckedIcon from '@icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@icons/svg/CheckboxUncheckedIcon.tsx';\nimport { ChopLogicCheckboxProps } from '@models';\n\nimport { StyledCheckbox } from './Checkbox.styled';\nimport { useChopLogicCheckboxController } from './controller';\n\nconst ChopLogicCheckbox: React.FC<ChopLogicCheckboxProps> = ({\n name,\n label,\n disabled,\n noLabel,\n required = false,\n iconPosition = 'left',\n defaultChecked,\n onChange,\n id,\n ...rest\n}) => {\n const { handleChange, checked } = useChopLogicCheckboxController({ name, defaultChecked, onChange });\n const { elementId } = useElementIds(id);\n const theme = useChopLogicTheme();\n\n return (\n <StyledCheckbox $disabled={!!disabled} $theme={theme} $checked={checked} {...rest}>\n <input\n id={elementId}\n name={name}\n type='checkbox'\n disabled={disabled}\n required={required}\n checked={checked}\n onChange={handleChange}\n aria-label={noLabel ? label : undefined}\n />\n <ChopLogicLabel\n label={label}\n required={required}\n inputId={elementId}\n isTextHidden={noLabel}\n icon={checked ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n iconPosition={iconPosition}\n theme={theme}\n />\n </StyledCheckbox>\n );\n};\n\nexport default ChopLogicCheckbox;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledSelect = styled.div<{ $theme: ChopLogicTheme }>`\n position: relative;\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n gap: ${(props) => props.$theme.gapMedium};\n background: transparent;\n`;\n\nexport const StyledSelectCombobox = styled.button<{ $theme: ChopLogicTheme }>`\n text-align: left;\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ${(props) => props.$theme.gapMedium};\n padding: ${(props) => props.$theme.gapMedium};\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n\n & > span:nth-child(1) {\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n svg {\n cursor: pointer;\n color: ${(props) => props.$theme.fontColorLight};\n height: ${(props) => props.$theme.iconSize};\n width: ${(props) => props.$theme.iconSize};\n\n &:hover {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: 2px;\n }\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n`;\n\nexport const StyledSelectDropdown = styled.ul<{ $opened: boolean; $theme: ChopLogicTheme }>`\n visibility: hidden;\n opacity: 0;\n transition:\n visibility 0s,\n opacity 0.3s linear;\n position: absolute;\n background: ${(props) => props.$theme.backgroundColorBase};\n margin: 0;\n padding: 0;\n list-style: none;\n z-index: ${(props) => props.$theme.zIndexPopup};\n width: 100%;\n top: 72px;\n left: -1px;\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n box-shadow: ${(props) => props.$theme.boxShadow};\n overflow-y: auto;\n max-height: 180px;\n\n ${(props) => props.$opened && `visibility: visible; opacity: 1;`}\n`;\n\nexport const StyledSelectOption = styled.li<{ $theme: ChopLogicTheme; $selected: boolean }>`\n padding: ${(props) => props.$theme.gapMedium};\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n\n &:hover,\n &:active {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: -4px;\n }\n\n svg {\n color: ${(props) => (props.$selected ? props.$theme.fontColorAccent : props.$theme.fontColorLight)};\n width: ${(props) => props.$theme.iconSize};\n height: ${(props) => props.$theme.iconSize};\n }\n`;\n\nexport const StyledMultiSelectOption = styled(StyledSelectOption)`\n justify-content: flex-start;\n`;\n","import React from 'react';\nimport { StyledSelectCombobox } from '@css/common/Select.styled';\nimport ArrowDownIcon from '@icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicMultiSelectValue, ChopLogicTheme } from '@models';\n\ntype MultiSelectComboboxProps = {\n opened: boolean;\n disabled: boolean;\n required: boolean;\n onClick: () => void;\n comboboxId: string;\n dropdownId: string;\n values?: ChopLogicMultiSelectValue[];\n placeholder?: string;\n name: string;\n theme: ChopLogicTheme;\n};\n\nconst SelectCombobox: React.FC<MultiSelectComboboxProps> = ({\n opened,\n onClick,\n comboboxId,\n dropdownId,\n name,\n placeholder,\n disabled,\n required,\n values,\n theme,\n}) => {\n const selectedLabels = values?.filter((value) => value.selected).map((value) => value.label);\n const selectedIds = values?.filter((value) => value.selected).map((value) => value.id);\n let selectedValues = <span>{placeholder}</span>;\n\n if (selectedLabels && selectedLabels.length > 1) {\n selectedValues = <span>{`${selectedLabels.length} items selected`}</span>;\n } else if (selectedLabels && selectedLabels.length === 1) {\n selectedValues = <span>{selectedLabels[0]}</span>;\n }\n\n return (\n <StyledSelectCombobox\n type='button'\n name={name}\n value={selectedIds}\n role='combobox'\n aria-haspopup='listbox'\n aria-expanded={opened}\n aria-controls={dropdownId}\n id={comboboxId}\n onClick={onClick}\n disabled={disabled}\n aria-required={required}\n $theme={theme}\n >\n {selectedValues}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </StyledSelectCombobox>\n );\n};\n\nexport default SelectCombobox;\n","import React, { KeyboardEvent } from 'react';\nimport { StyledMultiSelectOption } from '@css/common/Select.styled';\nimport CheckboxCheckedIcon from '@icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@icons/svg/CheckboxUncheckedIcon.tsx';\nimport { ChopLogicMultiSelectValue, ChopLogicTheme } from '@models';\n\ntype MultiSelectOptionProps = {\n value: ChopLogicMultiSelectValue;\n onSelect: (id: string) => void;\n theme: ChopLogicTheme;\n};\n\nconst SelectOption: React.FC<MultiSelectOptionProps> = ({ value, onSelect, theme }) => {\n const { id, label, selected } = value;\n\n const handleKeyDown = (id: string) => (e: KeyboardEvent<HTMLLIElement>) => {\n switch (e.key) {\n case ' ':\n case 'SpaceBar':\n case 'Enter':\n e.preventDefault();\n onSelect(id);\n break;\n default:\n break;\n }\n };\n\n return (\n <StyledMultiSelectOption\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => onSelect(id)}\n $theme={theme}\n $selected={selected}\n >\n {selected ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n <span>{label}</span>\n </StyledMultiSelectOption>\n );\n};\n\nexport default SelectOption;\n","import React from 'react';\nimport { StyledSelectDropdown } from '@css/common/Select.styled';\nimport { ChopLogicMultiSelectValue, ChopLogicTheme } from '@models';\nimport { handleDropdownListKeyPress } from '@utils';\n\nimport SelectOption from './Option';\n\ntype MultiSelectDropdownProps = {\n options: ChopLogicMultiSelectValue[];\n opened: boolean;\n dropdownId: string;\n onClose: () => void;\n onSelect: (id: string) => void;\n theme: ChopLogicTheme;\n};\n\nconst MultiSelectDropdown: React.FC<MultiSelectDropdownProps> = ({ options, opened, onClose, onSelect, dropdownId, theme }) => {\n return (\n <StyledSelectDropdown\n $opened={opened}\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n $theme={theme}\n >\n {options.map((item) => (\n <SelectOption key={item.id} value={item} onSelect={() => onSelect(item.id)} theme={theme} />\n ))}\n </StyledSelectDropdown>\n );\n};\n\nexport default MultiSelectDropdown;\n","import { ChopLogicFormData, ChopLogicMultiSelectValue, ChopLogicSelectValue } from '@models';\n\nexport function getMultiSelectInitialValues({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: ChopLogicSelectValue[];\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): ChopLogicMultiSelectValue[] {\n return options.map((option) => {\n let selected = false;\n\n if (initialValues && initialValues?.[name] && Array.isArray(initialValues[name])) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const selectedId = (initialValues[name] as Array<any>).find((item) => item === option.id || item?.id === option.id);\n if (selectedId) selected = true;\n }\n\n if (!initialValues?.[name] && Array.isArray(defaultValue)) {\n const selectedId = defaultValue.find((item) => item === option.id);\n if (selectedId) selected = true;\n }\n\n return { ...option, selected };\n });\n}\n\nexport const getMultiSelectFormValues = (options: ChopLogicMultiSelectValue[]): string[] => {\n return options.filter((item) => item.selected).map((item) => item.id);\n};\n\nexport const getMultiSelectUpdatedValues = (options: ChopLogicMultiSelectValue[], id: string): ChopLogicMultiSelectValue[] => {\n const targetItem = options.find((item) => item.id === id);\n return options.map((item) => {\n return item.id === id ? { ...item, selected: !targetItem?.selected } : item;\n });\n};\n","import { useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicMultiSelectValue, ChopLogicSelectValue } from '@models';\n\nimport { getMultiSelectFormValues, getMultiSelectInitialValues, getMultiSelectUpdatedValues } from './helpers';\n\nexport function useChopLogicMultiSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (values?: ChopLogicSelectValue[]) => void;\n options: ChopLogicSelectValue[];\n}) {\n const [opened, setOpened] = useState(false);\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialOptions = getMultiSelectInitialValues({ name, options, initialValues, defaultValue });\n const [values, setValues] = useState<ChopLogicMultiSelectValue[]>(initialOptions);\n\n const handleClose = () => setOpened(false);\n\n const handleToggle = () => setOpened(!opened);\n\n const handleSelect = (id: string) => {\n const newValues = getMultiSelectUpdatedValues(values, id);\n\n setValues(newValues);\n onChange?.(newValues);\n onChangeFormInput?.({ name, value: getMultiSelectFormValues(newValues) });\n };\n\n const handleReset = useCallback(() => {\n setOpened(false);\n setValues(initialOptions);\n onChangeFormInput?.({ name, value: getMultiSelectFormValues(initialOptions) });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleClose,\n handleToggle,\n handleSelect,\n opened,\n values,\n };\n}\n","import React, { useRef } from 'react';\nimport { StyledSelect } from '@css/common/Select.styled';\nimport { ChopLogicLabel } from '@elements';\nimport { useChopLogicTheme, useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicMultiSelectProps } from '@models';\n\nimport SelectCombobox from './elements/Combobox';\nimport SelectDropdown from './elements/Dropdown';\nimport { useChopLogicMultiSelectController } from './controller';\n\nconst ChopLogicMultiSelect: React.FC<ChopLogicMultiSelectProps> = ({\n options,\n name,\n label,\n required = false,\n placeholder = 'Not selected',\n disabled = false,\n onChange,\n defaultValue,\n id,\n ...rest\n}) => {\n const ref = useRef(null);\n const { elementId, dropdownId } = useElementIds(id);\n const theme = useChopLogicTheme();\n const { handleClose, handleSelect, handleToggle, opened, values } = useChopLogicMultiSelectController({\n name,\n options,\n defaultValue,\n onChange,\n });\n\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <StyledSelect ref={ref} $theme={theme} {...rest}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} theme={theme} />\n <SelectCombobox\n name={name}\n opened={opened}\n comboboxId={elementId}\n dropdownId={dropdownId}\n onClick={handleToggle}\n values={values}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n theme={theme}\n />\n <SelectDropdown\n theme={theme}\n options={values}\n opened={opened}\n onClose={handleClose}\n dropdownId={dropdownId}\n onSelect={handleSelect}\n />\n </StyledSelect>\n );\n};\n\nexport default ChopLogicMultiSelect;\n","import { ChopLogicFormData, ChopLogicNumericInputValidator } from '@models';\n\nexport function getNumericInputInitialValue({\n name,\n initialValues,\n defaultValue,\n}: {\n name: string;\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): number {\n if (initialValues && initialValues[name]) {\n return Number(initialValues[name]);\n }\n\n if (defaultValue && typeof defaultValue === 'number') {\n return defaultValue;\n }\n\n return 0;\n}\n\nexport function validateNumericInputValue({\n value,\n required,\n validator,\n maxValue,\n minValue,\n}: {\n value?: number;\n required?: boolean;\n validator?: ChopLogicNumericInputValidator;\n maxValue?: number;\n minValue?: number;\n}): boolean {\n if (required && !validator && value === undefined) {\n return false;\n }\n\n if (validator && typeof validator === 'function') {\n return validator(value);\n }\n\n if (maxValue && minValue && value && !validator) {\n return value <= maxValue && value >= minValue;\n }\n\n return true;\n}\n","import React, { ChangeEventHandler, useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicNumericInputValidator } from '@models';\n\nimport { getNumericInputInitialValue, validateNumericInputValue } from './helpers';\n\nexport function useChopLogicNumericInputController({\n name,\n defaultValue,\n onChange,\n onSpinButtonClick,\n min,\n max,\n step,\n required,\n validator,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onSpinButtonClick?: (value?: number) => void;\n min?: string | number;\n max?: string | number;\n step: number;\n required: boolean;\n validator?: ChopLogicNumericInputValidator;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getNumericInputInitialValue({ initialValues, defaultValue, name });\n const maxValue = max ? Number(max) : Number.MAX_SAFE_INTEGER;\n const minValue = min ? Number(min) : Number.MIN_SAFE_INTEGER;\n const [value, setValue] = useState<number>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n\n const updateValue = (value: number) => {\n setValue(value);\n const valid = validateNumericInputValue({ value, required, validator, maxValue, minValue });\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = Number(event.target.value);\n updateValue(value);\n onChange?.(event);\n };\n\n const increment = () => {\n updateValue(value + step);\n onSpinButtonClick?.(value + step);\n };\n\n const decrement = () => {\n updateValue(value - step);\n onSpinButtonClick?.(value - step);\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n value,\n valid,\n minValue,\n maxValue,\n increment,\n decrement,\n };\n}\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledNumericInput = styled.div<{ $theme: ChopLogicTheme }>`\n display: flex;\n flex-direction: column;\n gap: ${(props) => props.$theme.gapMedium};\n position: relative;\n\n & > div:nth-child(2) {\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n padding: ${(props) => props.$theme.gapMedium};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n\n &:has(input:focus) {\n border: ${(props) => props.$theme.borderOutline};\n }\n\n &:has(input[aria-invalid='true']) {\n border: ${(props) => props.$theme.borderAccent};\n }\n\n &:has(input[disabled]) {\n pointer-events: none;\n opacity: 0.5;\n }\n\n & > span:nth-child(2) {\n display: flex;\n align-items: center;\n }\n }\n\n & input {\n font-size: ${(props) => props.$theme.fontSizeBase};\n padding: 0;\n border: none;\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n display: inline-block;\n background: transparent;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n flex-grow: 1;\n min-width: 0;\n\n &:focus-visible {\n outline: none;\n }\n\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &[type='number'] {\n -moz-appearance: textfield;\n }\n }\n`;\n","import React from 'react';\nimport { ChopLogicErrorMessage, ChopLogicInputInnerButton, ChopLogicLabel } from '@elements';\nimport { ChopLogicIconName } from '@enums';\nimport { useChopLogicTheme, useElementIds } from '@hooks';\nimport { ChopLogicNumericInputProps } from '@models';\n\nimport { useChopLogicNumericInputController } from './controller';\nimport { StyledNumericInput } from './NumericInput.styled';\n\nconst ChopLogicNumericInput: React.FC<ChopLogicNumericInputProps> = ({\n name,\n label,\n errorMessage,\n onChange,\n onBlur,\n onFocus,\n onSpinButtonClick,\n validator,\n min,\n max,\n id,\n tabIndex,\n disabled = false,\n required = false,\n readOnly = false,\n hasSpinButtons = true,\n defaultValue = 0,\n step = 1,\n ...rest\n}) => {\n const { elementId, errorId } = useElementIds(id);\n const theme = useChopLogicTheme();\n const { value, valid, handleChange, increment, decrement, minValue, maxValue } = useChopLogicNumericInputController({\n name,\n defaultValue,\n min,\n max,\n onChange,\n required,\n validator,\n step,\n onSpinButtonClick,\n });\n\n return (\n <StyledNumericInput $theme={theme} {...rest}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} theme={theme} />\n <div>\n <input\n id={elementId}\n name={name}\n type='number'\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n placeholder='0'\n aria-invalid={!valid}\n aria-errormessage={errorId}\n value={value.toString()}\n onChange={handleChange}\n min={minValue}\n max={maxValue}\n step={step}\n onBlur={onBlur}\n onFocus={onFocus}\n tabIndex={tabIndex}\n />\n {hasSpinButtons && (\n <span>\n <ChopLogicInputInnerButton\n onClick={decrement}\n label={`Decrement value for ${label}`}\n icon={ChopLogicIconName.ChevronLeft}\n disabled={disabled}\n theme={theme}\n />\n <ChopLogicInputInnerButton\n onClick={increment}\n label={`Increment value for ${label}`}\n icon={ChopLogicIconName.ChevronRight}\n disabled={disabled}\n theme={theme}\n />\n </span>\n )}\n </div>\n <ChopLogicErrorMessage errorId={errorId} message={errorMessage} visible={!valid} theme={theme} />\n </StyledNumericInput>\n );\n};\n\nexport default ChopLogicNumericInput;\n","import React from 'react';\nimport { StyledSelectCombobox } from '@css/common/Select.styled';\nimport ArrowDownIcon from '@icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicSelectValue, ChopLogicTheme } from '@models';\n\ntype SelectComboboxProps = {\n opened: boolean;\n disabled: boolean;\n required: boolean;\n onClick: () => void;\n comboboxId: string;\n dropdownId: string;\n selected?: ChopLogicSelectValue;\n placeholder?: string;\n name: string;\n theme: ChopLogicTheme;\n};\n\nconst SelectCombobox: React.FC<SelectComboboxProps> = ({\n opened,\n onClick,\n comboboxId,\n dropdownId,\n selected,\n name,\n placeholder,\n disabled,\n required,\n theme,\n}) => {\n return (\n <StyledSelectCombobox\n type='button'\n name={name}\n value={selected?.id}\n role='combobox'\n aria-haspopup='listbox'\n aria-expanded={opened}\n aria-controls={dropdownId}\n id={comboboxId}\n onClick={onClick}\n disabled={disabled}\n aria-required={required}\n $theme={theme}\n >\n {selected?.label ? <span>{selected?.label}</span> : <span>{placeholder}</span>}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </StyledSelectCombobox>\n );\n};\n\nexport default SelectCombobox;\n","import React, { KeyboardEvent } from 'react';\nimport { StyledSelectOption } from '@css/common/Select.styled';\nimport CheckMarkIcon from '@icons/svg/CheckMarkIcon.tsx';\nimport { ChopLogicSelectValue, ChopLogicTheme } from '@models';\n\ntype SelectOptionProps = {\n value: ChopLogicSelectValue;\n selected: boolean;\n onSelect: (id: string) => void;\n onClear: () => void;\n theme: ChopLogicTheme;\n};\n\nconst SelectOption: React.FC<SelectOptionProps> = ({ value, selected, onSelect, onClear, theme }) => {\n const { id, label } = value;\n\n const handleOptionSelect = (id: string) => {\n if (selected) {\n onClear();\n } else {\n onSelect(id);\n }\n };\n\n const handleKeyDown = (id: string) => (e: KeyboardEvent<HTMLLIElement>) => {\n switch (e.key) {\n case ' ':\n case 'SpaceBar':\n case 'Enter':\n e.preventDefault();\n handleOptionSelect(id);\n break;\n default:\n break;\n }\n };\n\n return (\n <StyledSelectOption\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => handleOptionSelect(id)}\n $theme={theme}\n $selected={selected}\n >\n <span>{label}</span>\n {selected && <CheckMarkIcon />}\n </StyledSelectOption>\n );\n};\n\nexport default SelectOption;\n","import React from 'react';\nimport { StyledSelectDropdown } from '@css/common/Select.styled';\nimport { ChopLogicSelectValue, ChopLogicTheme } from '@models';\nimport { handleDropdownListKeyPress, moveFocusOnElementById } from '@utils';\n\nimport SelectOption from './Option';\n\ntype SelectDropdownProps = {\n options: ChopLogicSelectValue[];\n opened: boolean;\n dropdownId: string;\n comboboxId: string;\n onClose: () => void;\n selected?: ChopLogicSelectValue;\n onSelect: (id: string) => void;\n onClear: () => void;\n theme: ChopLogicTheme;\n};\n\nconst SelectDropdown: React.FC<SelectDropdownProps> = ({\n options,\n opened,\n onClose,\n onSelect,\n dropdownId,\n comboboxId,\n selected,\n onClear,\n theme,\n}) => {\n const handleOptionSelect = (id: string) => {\n onSelect(id);\n onClose();\n moveFocusOnElementById(comboboxId);\n };\n\n return (\n <StyledSelectDropdown\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n $opened={opened}\n $theme={theme}\n >\n {options.map((item) => (\n <SelectOption\n key={item.id}\n value={item}\n onSelect={() => handleOptionSelect(item.id)}\n onClear={onClear}\n selected={item.id === selected?.id}\n theme={theme}\n />\n ))}\n </StyledSelectDropdown>\n );\n};\n\nexport default SelectDropdown;\n","import { ChopLogicFormData, ChopLogicSelectValue } from '@models';\n\nexport function getSelectInitialValue({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: ChopLogicSelectValue[];\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): ChopLogicSelectValue | undefined {\n let valueId: string;\n\n if (initialValues && initialValues[name]) {\n valueId = ((initialValues[name] as ChopLogicSelectValue)?.id as string) ?? (initialValues[name] as string);\n }\n\n if (!initialValues?.[name] && defaultValue && typeof defaultValue === 'string') {\n valueId = defaultValue;\n }\n\n return options.find((item) => item.id === valueId);\n}\n","import { useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicSelectValue } from '@models';\n\nimport { getSelectInitialValue } from './helpers';\n\nexport function useChopLogicSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (value?: ChopLogicSelectValue) => void;\n options: ChopLogicSelectValue[];\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getSelectInitialValue({ name, options, defaultValue, initialValues });\n const [opened, setOpened] = useState(false);\n const [selected, setSelected] = useState<ChopLogicSelectValue | undefined>(initialValue);\n\n const handleClose = () => setOpened(false);\n\n const handleToggle = () => setOpened(!opened);\n\n const handleSelect = (id: string) => {\n const newValue = options.find((item) => item.id === id);\n setSelected(newValue);\n onChange?.(newValue);\n onChangeFormInput?.({ name, value: newValue?.id });\n };\n\n const handleClear = () => {\n setSelected(undefined);\n onChange?.(undefined);\n };\n\n const handleReset = useCallback(() => {\n setOpened(false);\n setSelected(initialValue);\n onChangeFormInput?.({ name, value: initialValue?.id });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n selected,\n opened,\n handleClear,\n handleClose,\n handleToggle,\n handleSelect,\n };\n}\n","import React, { useRef } from 'react';\nimport { StyledSelect } from '@css/common/Select.styled';\nimport { ChopLogicLabel } from '@elements';\nimport { useChopLogicTheme, useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicSelectProps } from '@models';\n\nimport SelectCombobox from './elements/Combobox';\nimport SelectDropdown from './elements/Dropdown';\nimport { useChopLogicSelectController } from './controller';\n\nconst ChopLogicSelect: React.FC<ChopLogicSelectProps> = ({\n options,\n onChange,\n name,\n label,\n defaultValue,\n id,\n placeholder = 'Not selected',\n required = false,\n disabled = false,\n ...rest\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const theme = useChopLogicTheme();\n const { elementId, dropdownId } = useElementIds(id);\n const { handleClear, handleClose, handleSelect, handleToggle, selected, opened } = useChopLogicSelectController({\n options,\n onChange,\n defaultValue,\n name,\n });\n\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <StyledSelect ref={ref} $theme={theme} {...rest}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} theme={theme} />\n <SelectCombobox\n name={name}\n opened={opened}\n comboboxId={elementId}\n dropdownId={dropdownId}\n onClick={handleToggle}\n selected={selected}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n theme={theme}\n />\n <SelectDropdown\n options={options}\n selected={selected}\n opened={opened}\n onClose={handleClose}\n dropdownId={dropdownId}\n comboboxId={elementId}\n onSelect={handleSelect}\n onClear={handleClear}\n theme={theme}\n />\n </StyledSelect>\n );\n};\n\nexport default ChopLogicSelect;\n","import { ChopLogicFormData, ChopLogicRegExpWithFlags, ChopLogicTextInputValidator } from '@models';\n\nexport function validateTextInputValue({\n value,\n required,\n validator,\n}: {\n value: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | ChopLogicTextInputValidator;\n}): boolean {\n if (required && !validator && !value.length) {\n return false;\n }\n\n if (validator && typeof validator === 'function') {\n return validator(value);\n }\n\n if (validator && typeof validator === 'object') {\n return new RegExp(validator.regexp, validator?.flags).test(value);\n }\n\n return true;\n}\n\nexport function getTextInputInitialValue({\n name,\n initialValues,\n defaultValue,\n}: {\n name: string;\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): string {\n if (initialValues && initialValues?.[name]) {\n return (initialValues[name] as string).toString();\n }\n\n if (defaultValue && typeof defaultValue === 'string') {\n return defaultValue;\n }\n\n return '';\n}\n","import React, { ChangeEventHandler, useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicRegExpWithFlags, ChopLogicTextInputValidator } from '@models';\n\nimport { getTextInputInitialValue, validateTextInputValue } from './helpers';\n\nexport function useChopLogicTextInputController({\n name,\n defaultValue,\n onChange,\n onClear,\n required,\n validator,\n}: {\n name: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | ChopLogicTextInputValidator;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onClear?: () => void;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getTextInputInitialValue({ initialValues, defaultValue, name });\n const [value, setValue] = useState<string>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n const [passwordShown, setPasswordShown] = useState<boolean>(false);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const valid = validateTextInputValue({ value, required, validator });\n\n setValue(value);\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n onChange?.(event);\n };\n\n const handleClear = () => {\n setValue('');\n setValid(true);\n onChangeFormInput?.({ name, value: '', valid: true });\n onClear?.();\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n const togglePassword = () => {\n setPasswordShown(!passwordShown);\n };\n\n useResetFormInput(handleReset);\n\n return {\n value,\n valid,\n passwordShown,\n handleChange,\n handleClear,\n togglePassword,\n };\n}\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledTextInput = styled.div<{ $theme: ChopLogicTheme }>`\n display: flex;\n flex-direction: column;\n gap: ${(props) => props.$theme.gapMedium};\n position: relative;\n\n & > div:nth-child(2) {\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n padding: ${(props) => props.$theme.gapMedium};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n\n &:has(input:focus) {\n border: ${(props) => props.$theme.borderOutline};\n }\n\n &:has(input[aria-invalid='true']) {\n border: ${(props) => props.$theme.borderAccent};\n }\n\n &:has(input[disabled]) {\n pointer-events: none;\n opacity: 0.5;\n }\n\n & > span:nth-child(2) {\n display: flex;\n gap: ${(props) => props.$theme.gapSmall};\n align-items: center;\n }\n }\n\n & input {\n font-size: ${(props) => props.$theme.fontSizeBase};\n padding: 0;\n border: none;\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n display: inline-block;\n background: transparent;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n flex-grow: 1;\n min-width: 0;\n\n &:focus-visible {\n outline: none;\n }\n\n &:placeholder-shown + span {\n display: none !important;\n }\n }\n`;\n","import React from 'react';\nimport { ChopLogicErrorMessage, ChopLogicInputInnerButton, ChopLogicLabel } from '@elements';\nimport { ChopLogicIconName } from '@enums';\nimport { useChopLogicTheme, useElementIds } from '@hooks';\nimport { ChopLogicTextInputProps } from '@models';\n\nimport { useChopLogicTextInputController } from './controller';\nimport { StyledTextInput } from './TextInput.styled';\n\nconst ChopLogicTextInput: React.FC<ChopLogicTextInputProps> = ({\n name,\n label,\n errorMessage,\n defaultValue,\n onChange,\n onBlur,\n onFocus,\n onClear,\n validator,\n maxLength,\n id,\n tabIndex,\n placeholder = 'Type here...',\n disabled = false,\n required = false,\n clearable = true,\n readOnly = false,\n autoComplete = 'off',\n type = 'text',\n ...rest\n}) => {\n const { value, valid, handleChange, handleClear, passwordShown, togglePassword } = useChopLogicTextInputController({\n defaultValue,\n name,\n onChange,\n onClear,\n required,\n validator,\n });\n const { elementId, errorId } = useElementIds(id);\n const isPasswordButtonVisible = type === 'password';\n const theme = useChopLogicTheme();\n\n return (\n <StyledTextInput $theme={theme} {...rest}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} theme={theme} />\n <div>\n <input\n id={elementId}\n name={name}\n type={passwordShown ? 'text' : type}\n disabled={disabled}\n placeholder={placeholder}\n required={required}\n readOnly={readOnly}\n autoComplete={autoComplete}\n aria-invalid={!valid}\n aria-errormessage={errorId}\n aria-readonly={readOnly}\n value={value}\n onChange={handleChange}\n maxLength={maxLength}\n onBlur={onBlur}\n onFocus={onFocus}\n tabIndex={tabIndex}\n />\n <span>\n {clearable && (\n <ChopLogicInputInnerButton\n onClick={handleClear}\n label={`Clear input for ${label}`}\n icon={ChopLogicIconName.Remove}\n disabled={disabled}\n theme={theme}\n />\n )}\n {isPasswordButtonVisible && (\n <ChopLogicInputInnerButton\n onClick={togglePassword}\n label='Toggle password visibility'\n icon={passwordShown ? ChopLogicIconName.Hide : ChopLogicIconName.Show}\n disabled={disabled}\n theme={theme}\n />\n )}\n </span>\n </div>\n <ChopLogicErrorMessage errorId={errorId} message={errorMessage} visible={!valid} theme={theme} />\n </StyledTextInput>\n );\n};\n\nexport default ChopLogicTextInput;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation, fadeOutAnimation, SCREEN_BREAKPOINTS } from '@css';\n\nexport const StyledDialogLayout = styled.div<{ $theme: ChopLogicTheme }>`\n z-index: ${(props) => props.$theme.zIndexModal};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n box-shadow: ${(props) => props.$theme.boxShadow};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n width: 100%;\n height: 90%;\n position: absolute;\n bottom: 0;\n left: 0;\n border-top-left-radius: ${(props) => props.$theme.blockBorderRadius};\n border-top-right-radius: ${(props) => props.$theme.blockBorderRadius};\n ${fadeInAnimation}\n\n @media ${SCREEN_BREAKPOINTS.landscapeTablets} {\n width: fit-content;\n height: fit-content;\n position: relative;\n min-width: 40%;\n max-width: 90%;\n max-height: 90%;\n border-bottom-left-radius: ${(props) => props.$theme.blockBorderRadius};\n border-bottom-right-radius: ${(props) => props.$theme.blockBorderRadius};\n\n header {\n font-size: ${(props) => props.$theme.fontSizeHeader};\n }\n }\n`;\n\nexport const StyledDialogBackground = styled.div<{ $isClosing: boolean; $theme: ChopLogicTheme }>`\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ${(props) => props.$theme.backgroundColorTransparent};\n ${fadeInAnimation}\n\n ${(props) => props.$isClosing && fadeOutAnimation}\n`;\n\nexport const StyledDialogHeader = styled.header<{ $theme: ChopLogicTheme }>`\n font-size: 1.6rem;\n font-weight: bold;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ${(props) => props.$theme.gapBig};\n padding: ${(props) => props.$theme.gapBig};\n border-bottom: ${(props) => props.$theme.borderBase};\n color: ${(props) => props.$theme.fontColorBase};\n`;\n\nexport const StyledDialogContent = styled.div<{ $theme: ChopLogicTheme }>`\n padding: ${(props) => props.$theme.gapBig};\n font-size: ${(props) => props.$theme.fontSizeBase};\n`;\n","import React from 'react';\nimport { ChopLogicButton } from '@components';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledDialogHeader } from '../Dialog.styled';\n\nconst ChopLogicModalLayoutHeader: React.FC<{\n title: string;\n onClose: () => void;\n theme: ChopLogicTheme;\n}> = ({ title, onClose, theme }): React.ReactElement => {\n return (\n <StyledDialogHeader $theme={theme}>\n {title}\n <ChopLogicButton icon={ChopLogicIconName.Cancel} view={ChopLogicButtonView.Icon} label='Close modal window' onClick={onClose} />\n </StyledDialogHeader>\n );\n};\n\nexport default ChopLogicModalLayoutHeader;\n","import React, { HTMLAttributes, PropsWithChildren, useRef } from 'react';\nimport { useKeyPress, useModalFocusTrap } from '@hooks';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledDialogContent, StyledDialogLayout } from '../Dialog.styled';\n\nimport ChopLogicModalLayoutHeader from './Header';\n\ntype DialogLayoutProps = PropsWithChildren &\n HTMLAttributes<HTMLDivElement> & {\n title: string;\n onClose: () => void;\n isOpened: boolean;\n theme: ChopLogicTheme;\n };\n\nconst ChopLogicModalLayout: React.FC<DialogLayoutProps> = ({ title, onClose, isOpened, children, theme, ...rest }): React.ReactElement => {\n const modalRef = useRef<HTMLDivElement>(null);\n\n useModalFocusTrap({ modalRef, isOpened });\n useKeyPress({ keyCode: 'Escape', ref: modalRef, onKeyPress: onClose });\n\n return (\n <StyledDialogLayout ref={modalRef} role='dialog' aria-modal='true' $theme={theme} {...rest}>\n <ChopLogicModalLayoutHeader title={title} onClose={onClose} theme={theme} />\n <StyledDialogContent $theme={theme}>{children}</StyledDialogContent>\n </StyledDialogLayout>\n );\n};\n\nexport default ChopLogicModalLayout;\n","import React from 'react';\nimport { ChopLogicPortal } from '@components';\nimport { useChopLogicTheme, useMount } from '@hooks';\nimport { ChopLogicDialogProps } from '@models';\n\nimport ChopLogicModalLayout from './elements/Layout';\nimport { StyledDialogBackground } from './Dialog.styled';\n\nconst ChopLogicDialog: React.FC<ChopLogicDialogProps> = ({ isOpened, onClose, title, children, ...rest }) => {\n const isMounted = useMount(isOpened);\n const isClosing = isMounted && !isOpened;\n const theme = useChopLogicTheme();\n\n if (!isMounted) {\n return null;\n }\n\n return (\n <ChopLogicPortal>\n <StyledDialogBackground $isClosing={isClosing} $theme={theme}>\n <ChopLogicModalLayout title={title} onClose={onClose} isOpened={isOpened} {...rest} theme={theme}>\n {children}\n </ChopLogicModalLayout>\n </StyledDialogBackground>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicDialog;\n","import React, { useRef, useState } from 'react';\nimport { useClickOutside, useElementIds, useKeyPress, useTooltipPosition } from '@hooks';\n\nexport const useChopLogicTooltipController = ({ id }: { id?: string }) => {\n const [isOpened, setIsOpened] = useState(false);\n const wrapperRef = useRef(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const { top, left } = useTooltipPosition({ wrapperRef, tooltipRef, isOpened });\n const { elementId } = useElementIds(id);\n\n const closeTooltip = () => setIsOpened(false);\n const openTooltip = () => setIsOpened(true);\n const toggleTooltip = () => setIsOpened(!isOpened);\n const handleContextMenu = (e: React.MouseEvent) => {\n e.preventDefault();\n toggleTooltip();\n };\n\n useKeyPress({ keyCode: 'Escape', ref: tooltipRef, onKeyPress: closeTooltip });\n useClickOutside({ ref: tooltipRef, onClickOutsideHandler: closeTooltip, dependentRef: wrapperRef });\n\n return {\n elementId,\n openTooltip,\n closeTooltip,\n toggleTooltip,\n handleContextMenu,\n top,\n left,\n isOpened,\n wrapperRef,\n tooltipRef,\n };\n};\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation } from '@css';\n\nexport const StyledTooltip = styled.div<{ $theme: ChopLogicTheme }>`\n position: absolute;\n left: 0;\n top: 0;\n z-index: ${(props) => props.$theme.zIndexPopup};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n border: ${(props) => props.$theme.borderLight};\n color: ${(props) => props.$theme.fontColorBase};\n padding: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeSmall};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n box-shadow: ${(props) => props.$theme.boxShadow};\n pointer-events: none;\n white-space: nowrap;\n\n ${fadeInAnimation}\n`;\n","import React from 'react';\nimport { ChopLogicPortal } from '@components';\nimport { ChopLogicTooltipContainer } from '@enums';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicTooltipProps } from '@models';\n\nimport { useChopLogicTooltipController } from './controller';\nimport { StyledTooltip } from './Tooltip.styled';\n\nconst ChopLogicTooltip: React.FC<ChopLogicTooltipProps> = ({\n children,\n tooltipContent,\n containerTag = ChopLogicTooltipContainer.Span,\n visibleOn = 'hover',\n id,\n style,\n ...rest\n}) => {\n const ContainerComponent = containerTag;\n const theme = useChopLogicTheme();\n const { openTooltip, closeTooltip, toggleTooltip, handleContextMenu, elementId, top, left, isOpened, wrapperRef, tooltipRef } =\n useChopLogicTooltipController({ id });\n\n return (\n <ContainerComponent\n style={{ position: 'relative', cursor: 'pointer' }}\n onClick={visibleOn === 'click' ? toggleTooltip : undefined}\n onMouseOver={visibleOn === 'hover' ? openTooltip : undefined}\n onMouseLeave={visibleOn === 'hover' ? closeTooltip : undefined}\n onFocus={visibleOn === 'focus' ? openTooltip : undefined}\n onBlur={visibleOn === 'focus' ? closeTooltip : undefined}\n onContextMenu={visibleOn === 'contextmenu' ? (e: React.MouseEvent) => handleContextMenu(e) : undefined}\n tabIndex={0}\n ref={wrapperRef}\n aria-describedby={elementId}\n >\n {children}\n {isOpened && (\n <ChopLogicPortal>\n <StyledTooltip style={{ ...style, top, left }} ref={tooltipRef} role='tooltip' id={elementId} $theme={theme} {...rest}>\n {tooltipContent}\n </StyledTooltip>\n </ChopLogicPortal>\n )}\n </ContainerComponent>\n );\n};\n\nexport default ChopLogicTooltip;\n","import { ChopLogicFormData, ChopLogicFormInputParams, ChopLogicFormValidationState } from '@models';\n\nexport function getInitialValidationState(data?: ChopLogicFormData): ChopLogicFormValidationState {\n if (!data) return [];\n\n return Object.keys(data).map((key) => [key, true]);\n}\n\nexport function updateValidationState(state: ChopLogicFormValidationState, params: ChopLogicFormInputParams): ChopLogicFormValidationState {\n if (params?.valid === undefined) return state;\n\n return state.map((item) => {\n if (item[0] !== params.name) return item;\n return [item[0], !!params?.valid];\n });\n}\n\nexport function isFormDataValid(state: ChopLogicFormValidationState): boolean {\n return state.every((item) => item[1]);\n}\n","import React, { FormEvent, useState } from 'react';\nimport { ChopLogicFormData, ChopLogicFormInputParams } from '@models';\n\nimport { getInitialValidationState, isFormDataValid, updateValidationState } from './helpers';\n\nexport function useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n}: {\n initialValues?: ChopLogicFormData;\n onReset?: React.FormEventHandler<HTMLFormElement>;\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n onClickSubmit?: (data: ChopLogicFormData) => void;\n}) {\n const [formData, setFormData] = useState(initialValues);\n const [validationState, setValidationState] = useState(getInitialValidationState(initialValues));\n const [resetSignal, setResetSignal] = useState(0);\n\n const handleInputChange = (params: ChopLogicFormInputParams) => {\n const newData = { ...formData, [params.name]: params.value };\n setFormData(newData);\n setValidationState(updateValidationState(validationState, params));\n };\n\n const handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const uncontrolledData = Object.fromEntries(new FormData(event.target as HTMLFormElement));\n const resultData = { ...uncontrolledData, ...formData };\n\n onSubmit?.(event);\n onClickSubmit?.(resultData);\n };\n\n const handleReset = (event: FormEvent<HTMLFormElement>) => {\n onReset?.(event);\n setFormData(initialValues);\n setResetSignal(resetSignal + 1);\n };\n\n return {\n handleInputChange,\n handleSubmit,\n handleReset,\n resetSignal,\n valid: isFormDataValid(validationState),\n };\n}\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledForm = styled.form<{ $columns: number; $theme: ChopLogicTheme }>`\n display: grid;\n align-items: end;\n gap: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n\n ${({ $columns }) =>\n `\n grid-template-columns: repeat(${$columns}, 1fr);\n grid-template-rows: auto;\n `}\n`;\n\nexport const StyledFormButtonsContainer = styled.div<{ $columns: number }>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n\n ${({ $columns }) => `\n grid-column: 1 / ${$columns + 1};\n `}\n`;\n","import React from 'react';\nimport { ChopLogicButton } from '@components';\nimport { ChopLogicFormContext } from '@contexts';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicFormProps } from '@models';\n\nimport { useChopLogicFormController } from './controller';\nimport { StyledForm, StyledFormButtonsContainer } from './Form.styled';\n\nconst ChopLogicForm: React.FC<ChopLogicFormProps> = ({\n children,\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n columns = 1,\n hasReset = true,\n ...rest\n}) => {\n const { handleInputChange, handleSubmit, handleReset, resetSignal, valid } = useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n });\n const theme = useChopLogicTheme();\n\n return (\n <StyledForm onSubmit={handleSubmit} onReset={handleReset} $columns={columns} $theme={theme} {...rest}>\n <ChopLogicFormContext.Provider value={{ onChangeFormInput: handleInputChange, initialValues, resetSignal }}>\n {children}\n <StyledFormButtonsContainer $columns={columns}>\n {hasReset && <ChopLogicButton type='reset' text='Reset' icon={ChopLogicIconName.Clear} view={ChopLogicButtonView.Flat} />}\n <ChopLogicButton type='submit' text='Submit' icon={ChopLogicIconName.Forward} extended={!hasReset} disabled={!valid} />\n </StyledFormButtonsContainer>\n </ChopLogicFormContext.Provider>\n </StyledForm>\n );\n};\n\nexport default ChopLogicForm;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledGrid = styled.table`\n border-collapse: collapse;\n`;\n\nexport const StyledGridHeader = styled.thead<{ $theme: ChopLogicTheme }>`\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n font-size: ${(props) => props.$theme.fontSizeBase};\n`;\n\nexport const StyledGridBody = styled.tbody<{ $theme: ChopLogicTheme }>`\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n`;\n\nexport const StyledGridHeaderCell = styled.th<{ $theme: ChopLogicTheme }>`\n padding: ${(props) => props.$theme.gapMedium};\n text-align: left;\n`;\n\nexport const StyledGridHeaderRow = styled.tr<{ $theme: ChopLogicTheme }>`\n font-weight: bold;\n border-top: ${(props) => props.$theme.borderLight};\n border-bottom: ${(props) => props.$theme.borderLight};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n`;\n\nexport const StyledGridCell = styled.td<{ $theme: ChopLogicTheme }>`\n padding: ${(props) => props.$theme.gapMedium};\n`;\n\nexport const StyledGridCaption = styled.caption<{ $theme: ChopLogicTheme }>`\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n padding: ${(props) => props.$theme.gapMedium};\n font-weight: bold;\n`;\n\nexport const StyledGridRow = styled.tr<{ $selected: boolean; $theme: ChopLogicTheme }>`\n border-bottom: ${(props) => props.$theme.borderLight};\n\n ${(props) =>\n props.$selected &&\n `\n background-color: ${props.$theme.backgroundColorLight};\n `}\n`;\n\nexport const StyledGridColumn = styled.col<{ $isFirst: boolean; $highlighted: boolean; $theme: ChopLogicTheme }>`\n border-right: ${(props) => props.$theme.borderLight};\n\n ${(props) => props.$isFirst && `border-left: ${props.$theme.borderLight};`}\n ${(props) => props.$highlighted && `background-color: ${props.$theme.backgroundColorLight};`}\n`;\n\nexport const StyledGridCheckboxWrapper = styled.div<{ $disabled: boolean; $checked: boolean; $theme: ChopLogicTheme }>`\n display: flex;\n gap: ${(props) => props.$theme.gapSmall};\n padding: ${(props) => props.$theme.gapSmall} 0;\n position: relative;\n overflow: hidden;\n\n svg {\n color: ${(props) => (props.$checked ? props.$theme.fontColorBase : props.$theme.fontColorLight)};\n }\n\n label {\n cursor: pointer;\n gap: ${(props) => props.$theme.gapSmall};\n font-size: ${(props) => props.$theme.fontSizeBase} !important;\n &:hover,\n &:active {\n text-shadow: ${(props) => props.$theme.textShadow};\n }\n }\n\n ${(props) =>\n props.$disabled &&\n `\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nexport const StyledGridCheckboxInput = styled.input<{ $theme: ChopLogicTheme }>`\n position: absolute;\n z-index: -1;\n opacity: 0;\n top: 4px;\n left: 0;\n margin: 0;\n\n &:focus-visible + label {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: 2px;\n }\n`;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicGridItem, RenderDataItemCallback } from '@models';\n\nexport function getGridRowValues({\n item,\n columns,\n renderDataItem,\n}: {\n item: ChopLogicGridItem;\n columns: ChopLogicGridColumn[];\n renderDataItem?: RenderDataItemCallback;\n}): (string | React.ReactElement)[] {\n const values = [];\n for (const column of columns) {\n let value;\n\n if (renderDataItem && item[column.field]) {\n value = renderDataItem(item, column.field);\n } else if (item[column.field]) {\n value = (item[column.field] as string).toString();\n } else {\n value = '';\n }\n\n values.push(value);\n }\n\n return values;\n}\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridCell } from '../Grid.styled';\n\nconst GridDataCell: React.FC<{ value: React.ReactElement | string; theme: ChopLogicTheme }> = ({ value, theme }) => {\n return <StyledGridCell $theme={theme}>{value}</StyledGridCell>;\n};\n\nexport default GridDataCell;\n","import React from 'react';\nimport { ChopLogicLabel } from '@elements';\nimport { useElementIds } from '@hooks';\nimport CheckboxCheckedIcon from '@icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@icons/svg/CheckboxUncheckedIcon.tsx';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridCheckboxInput, StyledGridCheckboxWrapper } from '../Grid.styled';\n\ntype ChopLogicGridCheckboxProps = React.InputHTMLAttributes<HTMLInputElement> & {\n label: string;\n theme: ChopLogicTheme;\n};\n\nconst GridCheckbox: React.FC<ChopLogicGridCheckboxProps> = ({\n name,\n label,\n disabled,\n required = false,\n onChange,\n checked = false,\n theme,\n ...props\n}) => {\n const { elementId } = useElementIds(props?.id);\n\n return (\n <StyledGridCheckboxWrapper $disabled={!!disabled} $checked={checked} $theme={theme}>\n <StyledGridCheckboxInput\n id={elementId}\n name={name}\n type='checkbox'\n disabled={disabled}\n required={required}\n checked={checked}\n onChange={onChange}\n $theme={theme}\n />\n <ChopLogicLabel\n label={label}\n required={required}\n inputId={elementId}\n isTextHidden={true}\n iconPosition='left'\n theme={theme}\n icon={checked ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n />\n </StyledGridCheckboxWrapper>\n );\n};\n\nexport default GridCheckbox;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridCell } from '../Grid.styled';\n\nimport GridCheckbox from './Checkbox';\n\ntype SelectAllGridRowsCheckbox = {\n rowId: string;\n isRowSelected: boolean;\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n disabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst SelectGridRowCell: React.FC<SelectAllGridRowsCheckbox> = ({\n rowId,\n isRowSelected,\n selectRowById,\n deselectRowById,\n disabled,\n theme,\n}) => {\n const handleSelectById = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectRowById(rowId);\n } else {\n deselectRowById(rowId);\n }\n };\n\n return (\n <StyledGridCell $theme={theme}>\n <GridCheckbox\n theme={theme}\n label='Select row'\n onChange={handleSelectById}\n id={`select_row_${rowId}`}\n checked={isRowSelected}\n disabled={disabled}\n />\n </StyledGridCell>\n );\n};\n\nexport default SelectGridRowCell;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridRow } from '../Grid.styled';\n\nimport GridDataCell from './DataCell';\nimport SelectGridRowCell from './SelectRowCell';\n\nexport type GridRowProps = {\n rowId: string;\n selectedIds: string[];\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n selectable: boolean;\n values: (string | React.ReactElement)[];\n disabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst GridRow: React.FC<GridRowProps> = ({ rowId, selectRowById, deselectRowById, selectable, values, selectedIds, disabled, theme }) => {\n const selected = selectedIds.includes(rowId);\n\n return (\n <StyledGridRow $selected={selected} $theme={theme}>\n {selectable && (\n <SelectGridRowCell\n rowId={rowId}\n selectRowById={selectRowById}\n deselectRowById={deselectRowById}\n isRowSelected={selected}\n disabled={disabled}\n theme={theme}\n />\n )}\n {values.map((value, index) => (\n <GridDataCell key={`row_${index}`} value={value} theme={theme} />\n ))}\n </StyledGridRow>\n );\n};\n\nexport default GridRow;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicGridItem, ChopLogicTheme, RenderDataItemCallback } from '@models';\n\nimport { StyledGridBody } from '../Grid.styled';\nimport { getGridRowValues } from '../helpers';\n\nimport GridRow from './Row';\n\ntype ChopLogicGridBodyProps = {\n data: ChopLogicGridItem[];\n columns: ChopLogicGridColumn[];\n selectedIds: string[];\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n renderDataItem?: RenderDataItemCallback;\n selectable: boolean;\n theme: ChopLogicTheme;\n};\n\nconst ChopLogicGridBody: React.FC<ChopLogicGridBodyProps> = ({\n selectRowById,\n deselectRowById,\n renderDataItem,\n selectedIds,\n selectable,\n data,\n columns,\n theme,\n}) => {\n return (\n <StyledGridBody $theme={theme}>\n {data.map((item) => {\n const values = getGridRowValues({ item, columns, renderDataItem });\n return (\n <GridRow\n key={item.id}\n rowId={item.id}\n disabled={item?.disabled}\n selectRowById={selectRowById}\n deselectRowById={deselectRowById}\n selectable={selectable}\n values={values}\n selectedIds={selectedIds}\n theme={theme}\n />\n );\n })}\n </StyledGridBody>\n );\n};\n\nexport default ChopLogicGridBody;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicTheme } from '@models';\n\nimport { StyledGridColumn } from '../Grid.styled';\n\nconst GridColumnGroup: React.FC<{ columns: ChopLogicGridColumn[]; selectable: boolean; theme: ChopLogicTheme }> = ({\n columns,\n selectable,\n theme,\n}) => {\n return (\n <colgroup>\n {selectable && <StyledGridColumn $isFirst={true} $highlighted={false} $theme={theme} />}\n {columns.map((column, index) => (\n <StyledGridColumn\n $isFirst={index === 0 && !selectable}\n key={column?.title}\n $highlighted={!!column?.highlighted}\n className={column?.className}\n $theme={theme}\n />\n ))}\n </colgroup>\n );\n};\n\nexport default GridColumnGroup;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridHeaderCell } from '../Grid.styled';\n\nconst GridHeaderCell: React.FC<{ title?: string; component?: React.ReactElement; theme: ChopLogicTheme }> = ({\n title,\n component,\n theme,\n}) => {\n return <StyledGridHeaderCell $theme={theme}>{component ?? title ?? ''}</StyledGridHeaderCell>;\n};\n\nexport default GridHeaderCell;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridHeaderCell } from '../Grid.styled';\n\nimport GridCheckbox from './Checkbox';\n\ntype SelectAllGridRowsCheckbox = {\n gridId: string;\n isAllSelected: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n disabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst SelectAllRowsCell: React.FC<SelectAllGridRowsCheckbox> = ({ gridId, isAllSelected, selectAll, deselectAll, disabled, theme }) => {\n const handleSelectAll = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectAll();\n } else {\n deselectAll();\n }\n };\n\n return (\n <StyledGridHeaderCell $theme={theme}>\n <GridCheckbox\n label='Select all rows'\n onChange={handleSelectAll}\n id={`select_all_${gridId}`}\n checked={isAllSelected}\n disabled={disabled}\n theme={theme}\n />\n </StyledGridHeaderCell>\n );\n};\n\nexport default SelectAllRowsCell;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicTheme } from '@models';\n\nimport { StyledGridHeader, StyledGridHeaderRow } from '../Grid.styled';\n\nimport GridHeaderCell from './HeaderCell';\nimport SelectAllRowsCell from './SelectAllRowsCell';\n\ntype ChopLogicGridHeadProps = {\n columns: ChopLogicGridColumn[];\n gridId: string;\n selectable: boolean;\n isAllSelected: boolean;\n isAllCheckboxDisabled?: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n theme: ChopLogicTheme;\n};\n\nconst ChopLogicGridHead: React.FC<ChopLogicGridHeadProps> = ({\n columns,\n gridId,\n selectAll,\n deselectAll,\n selectable,\n isAllSelected,\n isAllCheckboxDisabled = false,\n theme,\n}) => {\n return (\n <StyledGridHeader $theme={theme}>\n <StyledGridHeaderRow $theme={theme}>\n {selectable && (\n <SelectAllRowsCell\n isAllSelected={isAllSelected}\n disabled={isAllCheckboxDisabled}\n gridId={gridId}\n selectAll={selectAll}\n deselectAll={deselectAll}\n theme={theme}\n />\n )}\n {columns.map((column) => (\n <GridHeaderCell key={`${column.title}_${gridId}`} title={column.title} component={column.component} theme={theme} />\n ))}\n </StyledGridHeaderRow>\n </StyledGridHeader>\n );\n};\n\nexport default ChopLogicGridHead;\n","import { useState } from 'react';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicGridItem } from '@models';\n\nexport const useChopLogicGridController = ({\n data,\n id,\n onSelect,\n}: {\n data: ChopLogicGridItem[];\n id?: string;\n onSelect?: (ids: string[]) => void;\n}) => {\n const { elementId } = useElementIds(id);\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n const allIds = data.map((item) => item.id);\n const isAllSelected = allIds.length === selectedIds.length;\n const isAllCheckboxDisabled = data.some((item) => item?.disabled);\n\n const handleSelect = (ids: string[]) => {\n setSelectedIds(ids);\n onSelect?.(ids);\n };\n\n const handleSelectAll = () => {\n handleSelect(allIds);\n };\n\n const handleDeselectAll = () => {\n handleSelect([]);\n };\n\n const handleSelectRowById = (id: string) => {\n const newIds = [...selectedIds, id];\n handleSelect(newIds);\n };\n\n const handleDeselectRowById = (id: string) => {\n const newIds = selectedIds.filter((item) => item !== id);\n handleSelect(newIds);\n };\n return {\n elementId,\n isAllSelected,\n isAllCheckboxDisabled,\n selectedIds,\n handleSelectAll,\n handleDeselectAll,\n handleSelectRowById,\n handleDeselectRowById,\n };\n};\n","import React from 'react';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicGridProps } from '@models';\n\nimport ChopLogicGridBody from './elements/Body';\nimport GridColumnGroup from './elements/ColumnGroup';\nimport ChopLogicGridHead from './elements/Head';\nimport { useChopLogicGridController } from './controller';\nimport { StyledGrid, StyledGridCaption } from './Grid.styled';\n\nconst ChopLogicGrid: React.FC<ChopLogicGridProps> = ({\n columns,\n data,\n id,\n onSelect,\n renderDataItem,\n caption,\n selectable = false,\n ...rest\n}) => {\n const {\n elementId,\n handleSelectAll,\n handleDeselectAll,\n isAllCheckboxDisabled,\n isAllSelected,\n handleDeselectRowById,\n handleSelectRowById,\n selectedIds,\n } = useChopLogicGridController({ id, data, onSelect });\n const theme = useChopLogicTheme();\n\n return (\n <StyledGrid {...rest}>\n {caption && <StyledGridCaption $theme={theme}>{caption}</StyledGridCaption>}\n <GridColumnGroup columns={columns} selectable={selectable} theme={theme} />\n <ChopLogicGridHead\n gridId={elementId}\n columns={columns}\n selectable={selectable}\n selectAll={handleSelectAll}\n deselectAll={handleDeselectAll}\n isAllSelected={isAllSelected}\n isAllCheckboxDisabled={isAllCheckboxDisabled}\n theme={theme}\n />\n <ChopLogicGridBody\n columns={columns}\n data={data}\n selectable={selectable}\n selectRowById={handleSelectRowById}\n deselectRowById={handleDeselectRowById}\n selectedIds={selectedIds}\n renderDataItem={renderDataItem}\n theme={theme}\n />\n </StyledGrid>\n );\n};\n\nexport default ChopLogicGrid;\n","import { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation } from '@css';\n\nexport const StyledMenuBar = styled.ul<{ $theme: ChopLogicTheme; $mode: ChopLogicOrientationMode }>`\n list-style: none;\n margin: 0;\n padding: 0;\n padding-inline-start: 0;\n display: flex;\n gap: ${(props) => props.$theme.gapSmall};\n flex-direction: ${(props) => (props.$mode === ChopLogicOrientationMode.Vertical ? 'column' : 'row')};\n justify-content: flex-start;\n width: 100%;\n`;\n\nexport const StyledSubMenuBar = styled(StyledMenuBar)`\n flex-direction: column;\n padding-left: ${(props) => props.$theme.gapBig};\n margin-left: ${(props) => props.$theme.gapBig};\n margin-top: ${(props) => props.$theme.gapSmall};\n box-sizing: border-box;\n border-left: ${(props) => props.$theme.borderLight};\n ${fadeInAnimation}\n\n ${({ $theme, $mode }) =>\n $mode === ChopLogicOrientationMode.Horizontal &&\n `\n position: absolute;\n top: 100%;\n left: 40%;\n width: max-content;\n border-radius: ${$theme.blockBorderRadius};\n border: ${$theme.borderLight};\n box-shadow: ${$theme.boxShadow};\n background-color: ${$theme.backgroundColorBase};\n padding: ${$theme.gapMedium};\n margin: 0;\n z-index: ${$theme.zIndexPopup};\n `}\n`;\n\nexport const StyledMenuLeaf = styled.li<{ $theme: ChopLogicTheme }>`\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: ${(props) => props.$theme.gapMedium};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n font-size: ${(props) => props.$theme.fontSizeBase};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n padding: ${(props) => props.$theme.gapMedium};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n cursor: pointer;\n\n &:hover {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n }\n`;\n\nexport const StyledSubMenu = styled.li<{ $theme: ChopLogicTheme }>`\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-direction: column;\n gap: 0;\n padding: 0;\n position: relative;\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n }\n`;\n\nexport const StyledSubMenuText = styled.span<{ $theme: ChopLogicTheme; $mode: ChopLogicOrientationMode }>`\n position: relative;\n display: flex;\n box-sizing: border-box;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n width: 100%;\n justify-content: space-between;\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n font-size: ${(props) => props.$theme.fontSizeBase};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n padding: ${(props) => props.$theme.gapMedium};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n cursor: pointer;\n\n span {\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n }\n\n &:hover {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n`;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicMenuItem, ChopLogicTheme } from '@models';\n\nimport { StyledMenuLeaf } from '../Meny.styled';\n\ntype MenuLeafProps = {\n item: ChopLogicMenuItem;\n theme: ChopLogicTheme;\n};\n\nconst MenuLeaf: React.FC<MenuLeafProps> = ({ theme, item }) => {\n const { icon, link, label, onFocus, onClick, onHover } = item;\n\n const leafContent = link ? (\n <a href={link} target='_blank' rel='noreferrer'>\n {label}\n </a>\n ) : (\n <span>{label}</span>\n );\n\n return (\n <StyledMenuLeaf tabIndex={0} role='menuitem' $theme={theme} onFocus={onFocus} onClick={onClick} onMouseOver={onHover}>\n <ChopLogicIcon name={icon} />\n {leafContent}\n </StyledMenuLeaf>\n );\n};\n\nexport default MenuLeaf;\n","import React, { PropsWithChildren, useRef } from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicIconName, ChopLogicOrientationMode } from '@enums';\nimport { useClickOutside } from '@hooks';\nimport { ChopLogicMenuItem, ChopLogicTheme } from '@models';\n\nimport { StyledSubMenu, StyledSubMenuText } from '../Meny.styled.ts';\n\ntype SubMenuProps = PropsWithChildren & {\n item: ChopLogicMenuItem;\n theme: ChopLogicTheme;\n isSubMenuOpened: boolean;\n mode: ChopLogicOrientationMode;\n toggleSubMenu: () => void;\n closeSubMenu: () => void;\n};\n\nconst SubMenu: React.FC<SubMenuProps> = ({ item, theme, isSubMenuOpened, toggleSubMenu, closeSubMenu, mode, children }) => {\n const { icon, link, label } = item;\n const ref = useRef(null);\n const dependentRef = useRef(null);\n\n const itemContent = link ? (\n <a href={link} target='_blank' rel='noreferrer'>\n <ChopLogicIcon name={icon} />\n {label}\n </a>\n ) : (\n <span>\n <ChopLogicIcon name={icon} />\n {label}\n </span>\n );\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLLIElement>) => {\n e.stopPropagation();\n if (e.key === ' ') {\n toggleSubMenu();\n }\n };\n\n const onClickOutsideHandler = () => {\n if (mode === ChopLogicOrientationMode.Vertical) return;\n closeSubMenu();\n };\n\n useClickOutside({ ref, dependentRef, onClickOutsideHandler });\n\n return (\n <StyledSubMenu\n tabIndex={0}\n role='menuitem'\n aria-haspopup='true'\n aria-expanded={isSubMenuOpened}\n $theme={theme}\n onKeyDown={handleKeyDown}\n ref={ref}\n >\n <StyledSubMenuText ref={dependentRef} $theme={theme} onClick={toggleSubMenu} $mode={mode}>\n {itemContent}\n <ChopLogicIcon name={isSubMenuOpened ? ChopLogicIconName.ArrowUp : ChopLogicIconName.ArrowDown} />\n </StyledSubMenuText>\n {isSubMenuOpened && children}\n </StyledSubMenu>\n );\n};\n\nexport default SubMenu;\n","import React, { PropsWithChildren, useState } from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicMenuItem, ChopLogicTheme } from '@models';\n\nimport { StyledSubMenuBar } from '../Meny.styled.ts';\n\nimport MenuLeaf from './MenuLeaf';\nimport SubMenu from './SubMenu.tsx';\n\ntype MenuItemProps = PropsWithChildren & {\n item: ChopLogicMenuItem;\n theme: ChopLogicTheme;\n mode: ChopLogicOrientationMode;\n};\n\nconst MenuItem: React.FC<MenuItemProps> = ({ item, theme, mode }) => {\n const isLeaf = !item?.nestedItems?.length;\n const [isSubMenuOpened, setIsSubMenuOpened] = useState(false);\n\n if (isLeaf) {\n return <MenuLeaf item={item} theme={theme} />;\n }\n\n const toggleSubMenu = () => {\n setIsSubMenuOpened(!isSubMenuOpened);\n };\n\n const closeSubMenu = () => {\n setIsSubMenuOpened(false);\n };\n\n return (\n <SubMenu\n item={item}\n theme={theme}\n isSubMenuOpened={isSubMenuOpened}\n toggleSubMenu={toggleSubMenu}\n closeSubMenu={closeSubMenu}\n mode={mode}\n >\n <StyledSubMenuBar role='menu' aria-label={item.label} $theme={theme} $mode={mode}>\n {item?.nestedItems?.map((child) => <MenuItem item={child} key={child.id} theme={theme} mode={mode} />)}\n </StyledSubMenuBar>\n </SubMenu>\n );\n};\n\nexport default MenuItem;\n","import React from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicMenuProps } from '@models';\n\nimport MenuItem from './elements/MenuItem.tsx';\nimport { StyledMenuBar } from './Meny.styled';\n\nconst ChopLogicMenu: React.FC<ChopLogicMenuProps> = ({ items, mode = ChopLogicOrientationMode.Vertical, ...rest }) => {\n const theme = useChopLogicTheme();\n\n return (\n <StyledMenuBar role='menubar' $theme={theme} $mode={mode} {...rest}>\n {items.map((item) => (\n <MenuItem key={item.id} item={item} theme={theme} mode={mode} />\n ))}\n </StyledMenuBar>\n );\n};\n\nexport default ChopLogicMenu;\n","import React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nconst ChopLogicPortal = ({ children }: { children: React.ReactElement }): React.ReactPortal => {\n const [container] = useState(() => document.createElement('div'));\n\n useEffect(() => {\n // Append a new portal at the end of the body element on mount\n document.body.appendChild(container);\n\n // Remove the portal on unmount\n return () => {\n document.body.removeChild(container);\n };\n }, [container]);\n\n return ReactDOM.createPortal(children, container);\n};\n\nexport default ChopLogicPortal;\n","import { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledTabButton = styled.button<{\n $selected: boolean;\n $disabled: boolean;\n $mode: ChopLogicOrientationMode;\n $theme: ChopLogicTheme;\n}>`\n background: transparent;\n position: relative;\n outline: none;\n border: none;\n padding: ${(props) => props.$theme.gapMedium};\n cursor: pointer;\n font-size: ${(props) => props.$theme.fontSizeBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n overflow: hidden;\n border-top-left-radius: ${(props) => props.$theme.blockBorderRadius};\n border-top-right-radius: ${(props) => props.$theme.blockBorderRadius};\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: -4px;\n }\n\n &:hover,\n &:active {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n ${(props) =>\n props.$disabled &&\n `\n pointer-events: none;\n filter: grayscale(80%);\n opacity: 0.6;\n `}\n\n ${(props) =>\n props.$selected &&\n ` \n border-top: ${props.$theme.borderLight};\n border-right: ${props.$theme.borderLight};\n border-left: ${props.$theme.borderLight};\n background-color: ${props.$theme.backgroundColorBase};\n top: 1px;\n `}\n\n ${(props) =>\n props.$mode === ChopLogicOrientationMode.Vertical &&\n `\n border-bottom-left-radius: ${props.$theme.blockBorderRadius};\n border-top-right-radius: 0;\n `}\n\n ${(props) =>\n props.$mode === ChopLogicOrientationMode.Vertical &&\n props.$selected &&\n `\n border-top: ${props.$theme.borderLight};\n border-right: none;\n border-left: ${props.$theme.borderLight};\n border-bottom: ${props.$theme.borderLight};\n top: 0px;\n left: 1px;\n `}\n`;\n\nexport const StyledTabContent = styled.div<{ $theme: ChopLogicTheme }>`\n background-color: ${(props) => props.$theme.backgroundColorBase};\n color: ${(props) => props.$theme.fontColorBase};\n font-size: ${(props) => props.$theme.fontSizeBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n padding: ${(props) => props.$theme.gapBig};\n flex-grow: 1;\n`;\n\nexport const StyledTabList = styled.div<{ $mode: ChopLogicOrientationMode; $theme: ChopLogicTheme }>`\n border-bottom: ${(props) => props.$theme.borderLight};\n padding: 0 ${(props) => props.$theme.gapMedium};\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n\n ${(props) =>\n props.$mode === ChopLogicOrientationMode.Vertical &&\n `\n flex-direction: column;\n border-bottom: none;\n border-right: ${props.$theme.borderLight};\n padding: ${props.$theme.gapMedium} 0;\n `}\n`;\n\nexport const StyledTabs = styled.div<{ $mode: ChopLogicOrientationMode }>`\n display: flex;\n flex-direction: column;\n width: 100%;\n\n ${({ $mode }) =>\n $mode === ChopLogicOrientationMode.Vertical &&\n `\n flex-direction: row;\n `}\n`;\n","import React from 'react';\nimport { ChopLogicTabItem, ChopLogicTheme } from '@models';\n\nimport { StyledTabContent } from '../Tabs.styled';\n\nconst ChopLogicTabContent: React.FC<{\n tabs: ChopLogicTabItem[];\n selectedTabId: string;\n theme: ChopLogicTheme;\n}> = ({ tabs, selectedTabId, theme }): React.ReactElement => {\n const content = tabs.find((item) => item.id === selectedTabId)?.content;\n const contentId = `tabpanel_${selectedTabId}`;\n\n return (\n <StyledTabContent role='tabpanel' aria-labelledby={selectedTabId} id={contentId} $theme={theme}>\n {content}\n </StyledTabContent>\n );\n};\n\nexport default ChopLogicTabContent;\n","import React from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledTabButton } from '../Tabs.styled';\n\ntype ChopLogicTabButtonProps = {\n title: string;\n tabId: string;\n onTabSelect: (id: string) => void;\n tabPanelId: string;\n isSelected: boolean;\n mode: ChopLogicOrientationMode;\n isDisabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst ChopLogicTabButton: React.FC<ChopLogicTabButtonProps> = ({\n title,\n onTabSelect,\n tabId,\n isSelected,\n isDisabled = false,\n tabPanelId,\n mode,\n theme,\n}) => {\n return (\n <StyledTabButton\n role='tab'\n id={tabId}\n onClick={() => onTabSelect(tabId)}\n aria-selected={isSelected}\n aria-controls={tabPanelId}\n $selected={isSelected}\n $disabled={isDisabled}\n $mode={mode}\n $theme={theme}\n >\n {title}\n </StyledTabButton>\n );\n};\n\nexport default ChopLogicTabButton;\n","import React, { KeyboardEvent } from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTabItem, ChopLogicTheme } from '@models';\nimport { moveFocusOnElementById } from '@utils';\n\nimport { StyledTabList } from '../Tabs.styled';\n\nimport ChopLogicTabButton from './TabButton';\n\ntype ChopLogicTabListProps = {\n tabs: ChopLogicTabItem[];\n tabIds: string[];\n onTabSelect: (id: string) => void;\n selectedTabId: string;\n tabPanelIds: string[];\n mode: ChopLogicOrientationMode;\n theme: ChopLogicTheme;\n};\n\nconst ChopLogicTabList: React.FC<ChopLogicTabListProps> = ({ tabs, onTabSelect, selectedTabId, tabPanelIds, mode, tabIds, theme }) => {\n const handleListKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n const currentFocusedTabIndex = tabIds.findIndex((id) => id === selectedTabId);\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowUp': {\n e.preventDefault();\n if (e.key === 'ArrowUp' && mode === ChopLogicOrientationMode.Horizontal) break;\n if (e.key === 'ArrowLeft' && mode === ChopLogicOrientationMode.Vertical) break;\n\n const previousTabIndex = currentFocusedTabIndex - 1 >= 0 ? currentFocusedTabIndex - 1 : tabIds.length - 1;\n const previousTabId = tabIds[previousTabIndex];\n if (previousTabId) {\n moveFocusOnElementById(previousTabId);\n onTabSelect(previousTabId);\n }\n break;\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n e.preventDefault();\n if (e.key === 'ArrowDown' && mode === ChopLogicOrientationMode.Horizontal) break;\n if (e.key === 'ArrowRight' && mode === ChopLogicOrientationMode.Vertical) break;\n\n const nextTabIndex = currentFocusedTabIndex === tabIds.length - 1 ? 0 : currentFocusedTabIndex + 1;\n const nextTabId = tabIds[nextTabIndex];\n if (nextTabId) {\n moveFocusOnElementById(nextTabId);\n onTabSelect(nextTabId);\n }\n break;\n }\n default:\n break;\n }\n };\n\n return (\n <StyledTabList role='tablist' $mode={mode} onKeyDown={handleListKeyDown} $theme={theme}>\n {tabs.map(({ id, title, disabled }, index) => {\n return (\n <ChopLogicTabButton\n key={id}\n title={title}\n onTabSelect={onTabSelect}\n tabId={id}\n isSelected={id === selectedTabId}\n isDisabled={disabled}\n tabPanelId={tabPanelIds[index]}\n mode={mode}\n theme={theme}\n />\n );\n })}\n </StyledTabList>\n );\n};\n\nexport default ChopLogicTabList;\n","import React, { useState } from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicTabsProps } from '@models';\n\nimport ChopLogicTabContent from './elements/TabContent';\nimport ChopLogicTabList from './elements/TabList';\nimport { StyledTabs } from './Tabs.styled';\n\nconst ChopLogicTabs: React.FC<ChopLogicTabsProps> = ({ tabs, defaultTabId, mode = ChopLogicOrientationMode.Horizontal, ...rest }) => {\n const tabIds = tabs.map((item) => item.id);\n const tabPanelIds = tabIds.map((id) => `tabpanel_${id}`);\n const defaultId = defaultTabId && tabIds.includes(defaultTabId) ? defaultTabId : tabIds[0];\n const [selectedTabId, setSelectedTabId] = useState(defaultId);\n const theme = useChopLogicTheme();\n\n const handleTabSelect = (id: string) => {\n setSelectedTabId(id);\n };\n\n return (\n <StyledTabs $mode={mode} {...rest}>\n <ChopLogicTabList\n tabs={tabs}\n selectedTabId={selectedTabId}\n tabPanelIds={tabPanelIds}\n onTabSelect={handleTabSelect}\n mode={mode}\n tabIds={tabIds}\n theme={theme}\n />\n <ChopLogicTabContent tabs={tabs} selectedTabId={selectedTabId} theme={theme} />\n </StyledTabs>\n );\n};\n\nexport default ChopLogicTabs;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation, fadeOutAnimation } from '@css';\n\nexport const StyledAlertHeader = styled.header<{ $theme: ChopLogicTheme }>`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n h3 {\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n margin: 0;\n color: ${(props) => props.$theme.fontColorBase};\n\n svg {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n }\n`;\n\nexport const StyledAlertWrapper = styled.div<{ $isClosing: boolean; $theme: ChopLogicTheme }>`\n position: fixed;\n bottom: ${(props) => props.$theme.gapBig};\n left: 50%;\n transform: translateX(-50%);\n z-index: ${(props) => props.$theme.zIndexPopup};\n ${fadeInAnimation}\n\n ${(props) => props.$isClosing && fadeOutAnimation}\n`;\n\nexport const StyledAlertContent = styled.div<{ $theme: ChopLogicTheme }>`\n display: flex;\n flex-direction: column;\n gap: ${(props) => props.$theme.gapMedium};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n background: ${(props) => props.$theme.backgroundColorBase};\n color: ${(props) => props.$theme.fontColorBase};\n width: 90vw;\n padding: ${(props) => props.$theme.gapMedium};\n box-shadow: ${(props) => props.$theme.boxShadow};\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n`;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicAlertMode, ChopLogicIconName } from '@enums';\nimport CheckMarkIcon from '@icons/svg/CheckMarkIcon.tsx';\nimport ErrorIcon from '@icons/svg/ErrorIcon.tsx';\nimport HelpIcon from '@icons/svg/HelpIcon.tsx';\nimport InfoIcon from '@icons/svg/InfoIcon.tsx';\nimport WarningIcon from '@icons/svg/WarningIcon.tsx';\n\nexport function getAlertTitle(mode: ChopLogicAlertMode, title?: string): string {\n if (title) return title;\n\n switch (mode) {\n case ChopLogicAlertMode.Info:\n return 'For your information';\n case ChopLogicAlertMode.Warning:\n return 'Please pay attention';\n case ChopLogicAlertMode.Error:\n return 'Something went wrong';\n case ChopLogicAlertMode.Success:\n return 'Everything is okay';\n case ChopLogicAlertMode.Help:\n return 'Useful tip';\n default:\n return 'Alert';\n }\n}\n\nexport function renderAlertIcon(mode: ChopLogicAlertMode, icon?: ChopLogicIconName): React.ReactElement | null {\n if (icon) {\n return <ChopLogicIcon name={icon} />;\n }\n\n switch (mode) {\n case ChopLogicAlertMode.Info:\n return <InfoIcon />;\n case ChopLogicAlertMode.Warning:\n return <WarningIcon />;\n case ChopLogicAlertMode.Error:\n return <ErrorIcon />;\n case ChopLogicAlertMode.Success:\n return <CheckMarkIcon />;\n case ChopLogicAlertMode.Help:\n return <HelpIcon />;\n default:\n return null;\n }\n}\n","import React from 'react';\nimport { ChopLogicButton } from '@components';\nimport { ChopLogicAlertMode, ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledAlertHeader } from '../Alert.styled';\nimport { getAlertTitle, renderAlertIcon } from '../helpers';\n\ntype ChopLogicAlertHeaderProps = {\n onClose: () => void;\n theme: ChopLogicTheme;\n mode: ChopLogicAlertMode;\n title?: string;\n icon?: ChopLogicIconName;\n};\n\nconst ChopLogicAlertHeader: React.FC<ChopLogicAlertHeaderProps> = ({ title, onClose, mode, icon, theme }) => {\n const alertTitle = getAlertTitle(mode, title);\n const alertIcon = renderAlertIcon(mode, icon);\n\n return (\n <StyledAlertHeader $theme={theme}>\n <h3>\n {alertIcon}\n {alertTitle}\n </h3>\n <ChopLogicButton icon={ChopLogicIconName.Cancel} view={ChopLogicButtonView.Icon} label='Close alert popup' onClick={onClose} />\n </StyledAlertHeader>\n );\n};\n\nexport default ChopLogicAlertHeader;\n","import React from 'react';\nimport { ChopLogicPortal } from '@components';\nimport { ChopLogicAlertMode } from '@enums';\nimport { useChopLogicTheme, useMount } from '@hooks';\nimport { ChopLogicAlertProps } from '@models';\n\nimport ChopLogicAlertHeader from './elements/Header';\nimport { StyledAlertContent, StyledAlertWrapper } from './Alert.styled';\n\nconst ChopLogicAlert: React.FC<ChopLogicAlertProps> = ({\n isOpened,\n onClose,\n title,\n message,\n mode = ChopLogicAlertMode.Info,\n icon,\n ...rest\n}) => {\n const isMounted = useMount(isOpened);\n const isClosing = isMounted && !isOpened;\n const theme = useChopLogicTheme();\n\n if (!isMounted) return null;\n\n return (\n <ChopLogicPortal>\n <StyledAlertWrapper $isClosing={isClosing} $theme={theme}>\n <StyledAlertContent {...rest} $theme={theme}>\n <ChopLogicAlertHeader title={title} onClose={onClose} mode={mode} icon={icon} theme={theme} />\n <p>{message}</p>\n </StyledAlertContent>\n </StyledAlertWrapper>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicAlert;\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE$2","REACT_PORTAL_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","disabledLog","disableLogs","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","props","reenableLogs","assign","describeBuiltInComponentFrame","name","prefix","x","match","suffix","describeNativeComponentFrame","fn","construct","reentry","frame","componentFrameCache","previousDispatcher","ReactSharedInternals","RunInRootFrame","Fake","control","x$0","x$1","sample","namePropDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","controlLines","_frame","describeUnknownElementTypeFrameInDEV","prototype","getOwner","dispatcher","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","jsxDEVImpl","isStaticChildren","REACT_OFFSCREEN_TYPE","REACT_CLIENT_REFERENCE$1","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","parentType","REACT_CLIENT_REFERENCE","i","child","isValidElement","validateExplicitKey","MAYBE_ITERATOR_SYMBOL","object","element","getCurrentComponentErrorInfo","ownerHasKeyUseWarning","childOwner","prevGetCurrentStack","stack","info","React","require$$0","reactJsxRuntime_development","jsxRuntimeModule","require$$1","__assign","s","n","p","__spreadArray","to","from","pack","l","ar","memoize","cache","arg","reactPropsRegex","isPropValid","prop","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","abs","hash","length","charat","trim","pattern","replace","replacement","indexof","search","position","index","substr","begin","end","strlen","sizeof","append","array","combine","callback","filter","line","column","character","characters","root","parent","siblings","copy","lift","char","prev","next","peek","caret","slice","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","y","z","_","a","b","c","e","f","serialize","output","stringify","middleware","collection","rulesheet","prefixer","unitlessKeys","m","v","g","S","w","E","N","P","t","o","r","C","I","A","O","D","R","T","V","F","M","$","B","L","G","Y","W","q","H","U","J","X","Z","K","Q","ee","te","ne","oe","re","se","ie","ae","ce","le","ue","pe","de","he","fe","me","ye","ve","ge","Se","we","be","Ee","Ne","Pe","u","_e","Ce","Ie","Ae","Oe","De","Re","Te","ke","je","xe","Ve","Fe","d.RULESET","d.prefixer","d.stringify","d.compile","d.serialize","d.middleware","d.rulesheet","Me","ze","$e","Ge","We","qe","He","Ue","Je","h","Xe","Ze","Ke","Qe","d","et","rt","st","it","at","ct","lt","ut","pt","dt","St","fadeInAnimation","fadeOutAnimation","SCREEN_BREAKPOINTS","LIGHT_THEME","DARK_THEME","StyledErrorMessage","styled","$visible","ChopLogicErrorMessage","errorId","testId","message","visible","style","theme","jsx","ArrowDownIcon","title","rest","jsxs","ArrowUpIcon","BackIcon","CancelIcon","CheckboxCheckedIcon","CheckboxUncheckedIcon","CheckMarkIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ClearIcon","CopyIcon","CutIcon","DeleteIcon","DownloadIcon","ErrorIcon","ForwardIcon","GraduateIcon","HelpIcon","HideIcon","HomeIcon","InfoIcon","LoginIcon","PasteIcon","QuestionIcon","RemoveIcon","SaveIcon","ShowIcon","UploadIcon","WarningIcon","ChopLogicAlertMode","ChopLogicButtonView","ChopLogicIconName","ChopLogicLoaderView","ChopLogicOrientationMode","ChopLogicThemeMode","ChopLogicTooltipContainer","ChopLogicIconDictionary","ChopLogicIcon","Component","StyledInputInnerButton","InputInnerButton","onClick","label","icon","disabled","StyledLabel","ChopLogicLabel","required","inputId","iconPosition","isTextHidden","isLeftIconVisible","isRightIconVisible","withTooltip","tooltip","visibleOn","ChopLogicTooltip","ChopLogicFormContext","ChopLogicThemeContext","getChopLogicTheme","mode","customTheme","defaultTheme","themeProperty","moveFocusOnElementById","id","handleDropdownListKeyPress","options","onClose","focusedId","currentFocusIndex","previousOptionIndex","previousValue","nextOptionIndex","nextValue","useChopLogicTheme","useContext","useClickOutside","ref","onClickOutsideHandler","dependentRef","useEffect","handleClickOutside","event","isOutsideRef","isOutsideDependentRef","useContainerDimensions","isVisible","dimensions","setDimensions","useState","useElementIds","randomId","useId","elementId","dropdownId","useKeyPress","keyCode","onKeyPress","handleKeyPress","useModalFocusTrap","modalRef","isOpened","modalElement","focusableElements","firstElement","lastElement","handleTabKeyPress","useMount","delay","isMounted","setIsMounted","useResetFormInput","onReset","resetSignal","getWindowDimensions","width","height","useWindowDimensions","windowDimensions","setWindowDimensions","handleResize","useTooltipPosition","wrapperRef","tooltipRef","spacing","setPosition","tooltipWidth","tooltipHeight","windowWidth","windowHeight","rect","top","left","StyledPrimaryButton","StyledFlatButton","StyledIconButton","ChopLogicButton","text","extended","view","ChopLogicButton$1","StyledCheckbox","getCheckboxInitialValue","defaultChecked","initialValues","useChopLogicCheckboxController","onChange","onChangeFormInput","initialValue","isChecked","setIsChecked","handleChange","checked","handleReset","useCallback","ChopLogicCheckbox","noLabel","StyledSelect","StyledSelectCombobox","StyledSelectDropdown","StyledSelectOption","StyledMultiSelectOption","SelectCombobox","opened","comboboxId","placeholder","values","selectedLabels","selectedIds","selectedValues","SelectOption","onSelect","selected","handleKeyDown","MultiSelectDropdown","item","getMultiSelectInitialValues","defaultValue","option","getMultiSelectFormValues","getMultiSelectUpdatedValues","targetItem","useChopLogicMultiSelectController","setOpened","initialOptions","setValues","handleClose","handleToggle","handleSelect","newValues","ChopLogicMultiSelect","useRef","SelectDropdown","getNumericInputInitialValue","validateNumericInputValue","validator","maxValue","minValue","useChopLogicNumericInputController","onSpinButtonClick","min","max","step","setValue","valid","setValid","updateValue","increment","decrement","StyledNumericInput","ChopLogicNumericInput","errorMessage","onBlur","onFocus","tabIndex","readOnly","hasSpinButtons","ChopLogicInputInnerButton","onClear","handleOptionSelect","getSelectInitialValue","valueId","_a","useChopLogicSelectController","setSelected","newValue","handleClear","ChopLogicSelect","validateTextInputValue","getTextInputInitialValue","useChopLogicTextInputController","passwordShown","setPasswordShown","togglePassword","StyledTextInput","ChopLogicTextInput","maxLength","clearable","autoComplete","isPasswordButtonVisible","StyledDialogLayout","StyledDialogBackground","StyledDialogHeader","StyledDialogContent","ChopLogicModalLayoutHeader","ChopLogicModalLayout","ChopLogicDialog","isClosing","ChopLogicPortal","useChopLogicTooltipController","setIsOpened","closeTooltip","openTooltip","toggleTooltip","handleContextMenu","StyledTooltip","tooltipContent","containerTag","ContainerComponent","getInitialValidationState","data","updateValidationState","state","params","isFormDataValid","useChopLogicFormController","onSubmit","onClickSubmit","formData","setFormData","validationState","setValidationState","setResetSignal","newData","resultData","StyledForm","$columns","StyledFormButtonsContainer","ChopLogicForm","columns","hasReset","handleInputChange","handleSubmit","StyledGrid","StyledGridHeader","StyledGridBody","StyledGridHeaderCell","StyledGridHeaderRow","StyledGridCell","StyledGridCaption","StyledGridRow","StyledGridColumn","StyledGridCheckboxWrapper","StyledGridCheckboxInput","getGridRowValues","renderDataItem","GridDataCell","GridCheckbox","SelectGridRowCell","rowId","isRowSelected","selectRowById","deselectRowById","handleSelectById","GridRow","selectable","ChopLogicGridBody","GridColumnGroup","GridHeaderCell","component","SelectAllRowsCell","gridId","isAllSelected","selectAll","deselectAll","handleSelectAll","ChopLogicGridHead","isAllCheckboxDisabled","useChopLogicGridController","setSelectedIds","allIds","ids","newIds","ChopLogicGrid","caption","handleDeselectAll","handleDeselectRowById","handleSelectRowById","StyledMenuBar","StyledSubMenuBar","$theme","$mode","StyledMenuLeaf","StyledSubMenu","StyledSubMenuText","MenuLeaf","link","onHover","leafContent","SubMenu","isSubMenuOpened","toggleSubMenu","closeSubMenu","itemContent","MenuItem","isLeaf","setIsSubMenuOpened","_b","ChopLogicMenu","items","container","ReactDOM","StyledTabButton","StyledTabContent","StyledTabList","StyledTabs","ChopLogicTabContent","tabs","selectedTabId","content","contentId","ChopLogicTabButton","onTabSelect","tabId","isSelected","isDisabled","tabPanelId","ChopLogicTabList","tabPanelIds","tabIds","handleListKeyDown","currentFocusedTabIndex","previousTabIndex","previousTabId","nextTabIndex","nextTabId","ChopLogicTabs","defaultTabId","defaultId","setSelectedTabId","handleTabSelect","StyledAlertHeader","StyledAlertWrapper","StyledAlertContent","getAlertTitle","renderAlertIcon","ChopLogicAlertHeader","alertTitle","alertIcon","ChopLogicAlert"],"mappings":";;;;;;;;;;;;;;;;AAWA,MAAIA,IAAqB,OAAO,IAAI,4BAA4B,GAC9DC,IAAsB,OAAO,IAAI,gBAAgB;AACnD,WAASC,EAAQC,GAAMC,GAAQC,GAAU;AACvC,QAAIC,IAAM;AAGV,QAFWD,MAAX,WAAwBC,IAAM,KAAKD,IACxBD,EAAO,QAAlB,WAA0BE,IAAM,KAAKF,EAAO,MACxC,SAASA,GAAQ;AACnB,MAAAC,IAAW,CAAE;AACb,eAASE,KAAYH;AACnB,QAAUG,MAAV,UAAuBF,EAASE,CAAQ,IAAIH,EAAOG,CAAQ;AAAA,IAC9D,MAAM,CAAAF,IAAWD;AAClB,WAAAA,IAASC,EAAS,KACX;AAAA,MACL,UAAUL;AAAA,MACV,MAAMG;AAAA,MACN,KAAKG;AAAA,MACL,KAAgBF,MAAX,SAAoBA,IAAS;AAAA,MAClC,OAAOC;AAAA,IACR;AAAA,EACH;AACA,SAAAG,GAAA,WAAmBP,GACnBO,GAAA,MAAcN,GACdM,GAAA,OAAeN;;;;;;;;;;;;;;wBCtBE,QAAQ,IAAI,aAA7B,gBACG,WAAY;AACX,aAASO,EAAyBN,GAAM;AACtC,UAAYA,KAAR,KAAc,QAAO;AACzB,UAAmB,OAAOA,KAAtB;AACF,eAAOA,EAAK,aAAaO,KACrB,OACAP,EAAK,eAAeA,EAAK,QAAQ;AACvC,UAAiB,OAAOA,KAApB,SAA0B,QAAOA;AACrC,cAAQA,GAAI;AAAA,QACV,KAAKF;AACH,iBAAO;AAAA,QACT,KAAKU;AACH,iBAAO;AAAA,QACT,KAAKC;AACH,iBAAO;AAAA,QACT,KAAKC;AACH,iBAAO;AAAA,QACT,KAAKC;AACH,iBAAO;AAAA,QACT,KAAKC;AACH,iBAAO;AAAA,MACjB;AACM,UAAiB,OAAOZ,KAApB;AACF,gBACgB,OAAOA,EAAK,OAAzB,YACC,QAAQ;AAAA,UACN;AAAA,QACD,GACHA,EAAK,UACf;AAAA,UACU,KAAKa;AACH,oBAAQb,EAAK,eAAe,aAAa;AAAA,UAC3C,KAAKc;AACH,oBAAQd,EAAK,SAAS,eAAe,aAAa;AAAA,UACpD,KAAKe;AACH,gBAAIC,IAAYhB,EAAK;AACrB,mBAAAA,IAAOA,EAAK,aACZA,MACIA,IAAOgB,EAAU,eAAeA,EAAU,QAAQ,IACnDhB,IAAcA,MAAP,KAAc,gBAAgBA,IAAO,MAAM,eAC9CA;AAAA,UACT,KAAKiB;AACH,mBACGD,IAAYhB,EAAK,eAAe,MACxBgB,MAAT,OACIA,IACAV,EAAyBN,EAAK,IAAI,KAAK;AAAA,UAE/C,KAAKkB;AACH,YAAAF,IAAYhB,EAAK,UACjBA,IAAOA,EAAK;AACZ,gBAAI;AACF,qBAAOM,EAAyBN,EAAKgB,CAAS,CAAC;AAAA,YAChD,QAAW;AAAA,YAAA;AAAA,QACxB;AACM,aAAO;AAAA,IACb;AACI,aAASG,EAAmBC,GAAO;AACjC,aAAO,KAAKA;AAAA,IAClB;AACI,aAASC,EAAuBD,GAAO;AACrC,UAAI;AACF,QAAAD,EAAmBC,CAAK;AACxB,YAAIE,IAA2B;AAAA,MAChC,QAAW;AACV,QAAAA,IAA2B;AAAA,MACnC;AACM,UAAIA,GAA0B;AAC5B,QAAAA,IAA2B;AAC3B,YAAIC,IAAwBD,EAAyB,OACjDE,IACc,OAAO,UAAtB,cACC,OAAO,eACPJ,EAAM,OAAO,WAAW,KAC1BA,EAAM,YAAY,QAClB;AACF,eAAAG,EAAsB;AAAA,UACpBD;AAAA,UACA;AAAA,UACAE;AAAA,QACD,GACML,EAAmBC,CAAK;AAAA,MACvC;AAAA,IACA;AACI,aAASK,IAAc;AAAA,IAAA;AACvB,aAASC,IAAc;AACrB,UAAUC,OAAN,GAAqB;AACvB,QAAAC,KAAU,QAAQ,KAClBC,KAAW,QAAQ,MACnBC,KAAW,QAAQ,MACnBC,KAAY,QAAQ,OACpBC,KAAY,QAAQ,OACpBC,KAAqB,QAAQ,gBAC7BC,KAAe,QAAQ;AACvB,YAAIC,IAAQ;AAAA,UACV,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,OAAOV;AAAA,UACP,UAAU;AAAA,QACX;AACD,eAAO,iBAAiB,SAAS;AAAA,UAC/B,MAAMU;AAAA,UACN,KAAKA;AAAA,UACL,MAAMA;AAAA,UACN,OAAOA;AAAA,UACP,OAAOA;AAAA,UACP,gBAAgBA;AAAA,UAChB,UAAUA;AAAA,QACpB,CAAS;AAAA,MACT;AACM,MAAAR;AAAA,IACN;AACI,aAASS,IAAe;AAEtB,UADAT,MACUA,OAAN,GAAqB;AACvB,YAAIQ,IAAQ,EAAE,cAAc,IAAI,YAAY,IAAI,UAAU,GAAI;AAC9D,eAAO,iBAAiB,SAAS;AAAA,UAC/B,KAAKE,EAAO,CAAE,GAAEF,GAAO,EAAE,OAAOP,IAAS;AAAA,UACzC,MAAMS,EAAO,CAAE,GAAEF,GAAO,EAAE,OAAON,IAAU;AAAA,UAC3C,MAAMQ,EAAO,CAAE,GAAEF,GAAO,EAAE,OAAOL,IAAU;AAAA,UAC3C,OAAOO,EAAO,CAAE,GAAEF,GAAO,EAAE,OAAOJ,IAAW;AAAA,UAC7C,OAAOM,EAAO,CAAE,GAAEF,GAAO,EAAE,OAAOH,IAAW;AAAA,UAC7C,gBAAgBK,EAAO,CAAE,GAAEF,GAAO,EAAE,OAAOF,IAAoB;AAAA,UAC/D,UAAUI,EAAO,CAAE,GAAEF,GAAO,EAAE,OAAOD,GAAc,CAAA;AAAA,QAC7D,CAAS;AAAA,MACT;AACM,UAAIP,MACF,QAAQ;AAAA,QACN;AAAA,MACD;AAAA,IACT;AACI,aAASW,EAA8BC,GAAM;AAC3C,UAAeC,MAAX;AACF,YAAI;AACF,gBAAM,MAAO;AAAA,QACd,SAAQC,GAAG;AACV,cAAIC,IAAQD,EAAE,MAAM,KAAM,EAAC,MAAM,cAAc;AAC/C,UAAAD,IAAUE,KAASA,EAAM,CAAC,KAAM,IAChCC,KACE,KAAKF,EAAE,MAAM,QAAQ;AAAA,OAAU,IAC3B,mBACA,KAAKA,EAAE,MAAM,QAAQ,GAAG,IACtB,iBACA;AAAA,QAClB;AACM,aAAO;AAAA,IAAOD,IAASD,IAAOI;AAAA,IACpC;AACI,aAASC,EAA6BC,GAAIC,GAAW;AACnD,UAAI,CAACD,KAAME,GAAS,QAAO;AAC3B,UAAIC,IAAQC,GAAoB,IAAIJ,CAAE;AACtC,UAAeG,MAAX,OAAkB,QAAOA;AAC7B,MAAAD,KAAU,IACVC,IAAQ,MAAM,mBACd,MAAM,oBAAoB;AAC1B,UAAIE,IAAqB;AACzB,MAAAA,IAAqBC,EAAqB,GAC1CA,EAAqB,IAAI,MACzBzB,EAAa;AACb,UAAI;AACF,YAAI0B,IAAiB;AAAA,UACnB,6BAA6B,WAAY;AACvC,gBAAI;AACF,kBAAIN,GAAW;AACb,oBAAIO,KAAO,WAAY;AACrB,wBAAM,MAAO;AAAA,gBACd;AAMD,oBALA,OAAO,eAAeA,GAAK,WAAW,SAAS;AAAA,kBAC7C,KAAK,WAAY;AACf,0BAAM,MAAO;AAAA,kBACjC;AAAA,gBACA,CAAiB,GACgB,OAAO,WAApB,YAA+B,QAAQ,WAAW;AACpD,sBAAI;AACF,4BAAQ,UAAUA,IAAM,EAAE;AAAA,kBAC3B,SAAQZ,IAAG;AACV,wBAAIa,KAAUb;AAAA,kBAClC;AACkB,0BAAQ,UAAUI,GAAI,CAAA,GAAIQ,EAAI;AAAA,gBAChD,OAAuB;AACL,sBAAI;AACF,oBAAAA,GAAK,KAAM;AAAA,kBACZ,SAAQE,IAAK;AACZ,oBAAAD,KAAUC;AAAA,kBAC9B;AACkB,kBAAAV,EAAG,KAAKQ,GAAK,SAAS;AAAA,gBACxC;AAAA,cACA,OAAqB;AACL,oBAAI;AACF,wBAAM,MAAO;AAAA,gBACd,SAAQG,IAAK;AACZ,kBAAAF,KAAUE;AAAA,gBAC5B;AACgB,iBAACH,KAAOR,EAAI,MACK,OAAOQ,GAAK,SAA3B,cACAA,GAAK,MAAM,WAAY;AAAA,iBAAE;AAAA,cAC3C;AAAA,YACa,SAAQI,IAAQ;AACf,kBAAIA,MAAUH,MAAwB,OAAOG,GAAO,SAA3B;AACvB,uBAAO,CAACA,GAAO,OAAOH,GAAQ,KAAK;AAAA,YACnD;AACY,mBAAO,CAAC,MAAM,IAAI;AAAA,UAC9B;AAAA,QACS;AACD,QAAAF,EAAe,4BAA4B,cACzC;AACF,YAAIM,IAAqB,OAAO;AAAA,UAC9BN,EAAe;AAAA,UACf;AAAA,QACD;AACD,QAAAM,KACEA,EAAmB,gBACnB,OAAO;AAAA,UACLN,EAAe;AAAA,UACf;AAAA,UACA,EAAE,OAAO,8BAA6B;AAAA,QACvC;AACH,YAAIO,IACAP,EAAe,4BAA6B,GAC9CQ,KAAcD,EAAsB,CAAC,GACrCE,KAAeF,EAAsB,CAAC;AACxC,YAAIC,MAAeC,IAAc;AAC/B,cAAIC,IAAcF,GAAY,MAAM;AAAA,CAAI,GACtCG,KAAeF,GAAa,MAAM;AAAA,CAAI;AACxC,eACEF,IAAwBD,IAAqB,GAC7CA,IAAqBI,EAAY,UACjC,CAACA,EAAYJ,CAAkB,EAAE;AAAA,YAC/B;AAAA,UACD;AAGD,YAAAA;AACF,iBAEEC,IAAwBI,GAAa,UACrC,CAACA,GAAaJ,CAAqB,EAAE;AAAA,YACnC;AAAA,UACD;AAGD,YAAAA;AACF,cACED,MAAuBI,EAAY,UACnCH,MAA0BI,GAAa;AAEvC,iBACEL,IAAqBI,EAAY,SAAS,GACxCH,IAAwBI,GAAa,SAAS,GAChD,KAAKL,KACL,KAAKC,KACLG,EAAYJ,CAAkB,MAC5BK,GAAaJ,CAAqB;AAGpC,cAAAA;AACJ,iBAEE,KAAKD,KAAsB,KAAKC,GAChCD,KAAsBC;AAEtB,gBACEG,EAAYJ,CAAkB,MAC9BK,GAAaJ,CAAqB,GAClC;AACA,kBAAUD,MAAN,KAAkCC,MAAN;AAC9B;AACE,sBACGD,KACDC,KACA,IAAIA,KACFG,EAAYJ,CAAkB,MAC5BK,GAAaJ,CAAqB,GACtC;AACA,wBAAIK,KACF;AAAA,IACAF,EAAYJ,CAAkB,EAAE;AAAA,sBAC9B;AAAA,sBACA;AAAA,oBACD;AACH,2BAAAb,EAAG,eACDmB,GAAO,SAAS,aAAa,MAC5BA,KAASA,GAAO,QAAQ,eAAenB,EAAG,WAAW,IACzC,OAAOA,KAAtB,cACEI,GAAoB,IAAIJ,GAAImB,EAAM,GAC7BA;AAAA,kBAC3B;AAAA,uBACuB,KAAKN,KAAsB,KAAKC;AAEzC;AAAA,YACd;AAAA,QACA;AAAA,MACA,UAAgB;AACR,QAACZ,KAAU,IACRI,EAAqB,IAAID,GAC1Bd,EAAc,GACb,MAAM,oBAAoBY;AAAA,MACrC;AACM,aAAAc,KAAeA,IAAcjB,IAAKA,EAAG,eAAeA,EAAG,OAAO,MAC1DP,EAA8BwB,CAAW,IACzC,IACW,OAAOjB,KAAtB,cAA4BI,GAAoB,IAAIJ,GAAIiB,CAAW,GAC5DA;AAAA,IACb;AACI,aAASG,EAAqCjE,GAAM;AAClD,UAAYA,KAAR,KAAc,QAAO;AACzB,UAAmB,OAAOA,KAAtB,YAA4B;AAC9B,YAAIkE,IAAYlE,EAAK;AACrB,eAAO4C;AAAA,UACL5C;AAAA,UACA,EAAE,CAACkE,KAAa,CAACA,EAAU;AAAA,QAC5B;AAAA,MACT;AACM,UAAiB,OAAOlE,KAApB,SAA0B,QAAOsC,EAA8BtC,CAAI;AACvE,cAAQA,GAAI;AAAA,QACV,KAAKW;AACH,iBAAO2B,EAA8B,UAAU;AAAA,QACjD,KAAK1B;AACH,iBAAO0B,EAA8B,cAAc;AAAA,MAC7D;AACM,UAAiB,OAAOtC,KAApB;AACF,gBAAQA,EAAK,UAAQ;AAAA,UACnB,KAAKe;AACH,mBAAQf,IAAO4C,EAA6B5C,EAAK,QAAQ,EAAE,GAAIA;AAAA,UACjE,KAAKiB;AACH,mBAAOgD,EAAqCjE,EAAK,IAAI;AAAA,UACvD,KAAKkB;AACH,YAAAgD,IAAYlE,EAAK,UACjBA,IAAOA,EAAK;AACZ,gBAAI;AACF,qBAAOiE,EAAqCjE,EAAKkE,CAAS,CAAC;AAAA,YAC5D,QAAW;AAAA,YAAA;AAAA,QACxB;AACM,aAAO;AAAA,IACb;AACI,aAASC,IAAW;AAClB,UAAIC,IAAajB,EAAqB;AACtC,aAAgBiB,MAAT,OAAsB,OAAOA,EAAW,SAAU;AAAA,IAC/D;AACI,aAASC,EAAYpE,GAAQ;AAC3B,UAAIqE,GAAe,KAAKrE,GAAQ,KAAK,GAAG;AACtC,YAAIsE,IAAS,OAAO,yBAAyBtE,GAAQ,KAAK,EAAE;AAC5D,YAAIsE,KAAUA,EAAO,eAAgB,QAAO;AAAA,MACpD;AACM,aAAkBtE,EAAO,QAAlB;AAAA,IACb;AACI,aAASuE,EAA2BrC,GAAOsC,GAAa;AACtD,eAASC,IAAwB;AAC/B,QAAAC,OACIA,KAA6B,IAC/B,QAAQ;AAAA,UACN;AAAA,UACAF;AAAA,QACZ;AAAA,MACA;AACM,MAAAC,EAAsB,iBAAiB,IACvC,OAAO,eAAevC,GAAO,OAAO;AAAA,QAClC,KAAKuC;AAAA,QACL,cAAc;AAAA,MACtB,CAAO;AAAA,IACP;AACI,aAASE,IAAyC;AAChD,UAAIC,IAAgBvE,EAAyB,KAAK,IAAI;AACtD,aAAAwE,GAAuBD,CAAa,MAChCC,GAAuBD,CAAa,IAAI,IAC1C,QAAQ;AAAA,QACN;AAAA,MACV,IACMA,IAAgB,KAAK,MAAM,KACTA,MAAX,SAA2BA,IAAgB;AAAA,IACxD;AACI,aAASE,EAAa/E,GAAMG,GAAK6E,GAAMC,GAAQC,GAAO/C,GAAO;AAC3D,aAAA6C,IAAO7C,EAAM,KACbnC,IAAO;AAAA,QACL,UAAUH;AAAA,QACV,MAAMG;AAAA,QACN,KAAKG;AAAA,QACL,OAAOgC;AAAA,QACP,QAAQ+C;AAAA,MACT,IACoBF,MAAX,SAAkBA,IAAO,UAAnC,OACI,OAAO,eAAehF,GAAM,OAAO;AAAA,QACjC,YAAY;AAAA,QACZ,KAAK4E;AAAA,MACN,CAAA,IACD,OAAO,eAAe5E,GAAM,OAAO,EAAE,YAAY,IAAI,OAAO,MAAM,GACtEA,EAAK,SAAS,CAAE,GAChB,OAAO,eAAeA,EAAK,QAAQ,aAAa;AAAA,QAC9C,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO;AAAA,MACf,CAAO,GACD,OAAO,eAAeA,GAAM,cAAc;AAAA,QACxC,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO;AAAA,MACf,CAAO,GACD,OAAO,WAAW,OAAO,OAAOA,EAAK,KAAK,GAAG,OAAO,OAAOA,CAAI,IACxDA;AAAA,IACb;AACI,aAASmF,EACPnF,GACAC,GACAC,GACAkF,GACAH,GACAD,GACA;AACA,UACe,OAAOhF,KAApB,YACe,OAAOA,KAAtB,cACAA,MAASF,KACTE,MAASS,KACTT,MAASU,KACTV,MAASW,MACTX,MAASY,KACTZ,MAASqF,MACK,OAAOrF,KAApB,YACUA,MAAT,SACCA,EAAK,aAAakB,MACjBlB,EAAK,aAAaiB,MAClBjB,EAAK,aAAaa,MAClBb,EAAK,aAAac,KAClBd,EAAK,aAAae,MAClBf,EAAK,aAAasF,KACPtF,EAAK,gBAAhB,SACJ;AACA,YAAIuF,IAAWtF,EAAO;AACtB,YAAesF,MAAX;AACF,cAAIH;AACF,gBAAII,GAAYD,CAAQ,GAAG;AACzB,mBACEH,IAAmB,GACnBA,IAAmBG,EAAS,QAC5BH;AAEA,gBAAAK,EAAkBF,EAASH,CAAgB,GAAGpF,CAAI;AACpD,qBAAO,UAAU,OAAO,OAAOuF,CAAQ;AAAA,YACxC;AACC,sBAAQ;AAAA,gBACN;AAAA,cACD;AAAA,cACA,CAAAE,EAAkBF,GAAUvF,CAAI;AAAA,MAC/C;AACQ,QAAAuF,IAAW,KAEEvF,MAAX,UACc,OAAOA,KAApB,YACUA,MAAT,QACM,OAAO,KAAKA,CAAI,EAAE,WAAxB,OAEFuF,KACE,qIACKvF,MAAT,OACKoF,IAAmB,SACpBI,GAAYxF,CAAI,IACboF,IAAmB,UACTpF,MAAX,UAAmBA,EAAK,aAAaH,KACjCuF,IACA,OACC9E,EAAyBN,EAAK,IAAI,KAAK,aACxC,OACDuF,IACC,wEACDH,IAAmB,OAAOpF,GACnC,QAAQ;AAAA,UACN;AAAA,UACAoF;AAAA,UACAG;AAAA,QACD;AAEH,UAAIjB,GAAe,KAAKrE,GAAQ,KAAK,GAAG;AACtC,QAAAsF,IAAWjF,EAAyBN,CAAI;AACxC,YAAI0F,KAAO,OAAO,KAAKzF,CAAM,EAAE,OAAO,SAAU0F,GAAG;AACjD,iBAAiBA,MAAV;AAAA,QACjB,CAAS;AACD,QAAAP,IACE,IAAIM,GAAK,SACL,oBAAoBA,GAAK,KAAK,SAAS,IAAI,WAC3C,kBACNE,GAAsBL,IAAWH,CAAgB,MAC7CM,KACA,IAAIA,GAAK,SAAS,MAAMA,GAAK,KAAK,SAAS,IAAI,WAAW,MAC5D,QAAQ;AAAA,UACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UACAN;AAAA,UACAG;AAAA,UACAG;AAAA,UACAH;AAAA,QACD,GACAK,GAAsBL,IAAWH,CAAgB,IAAI;AAAA,MAChE;AAMM,UALAG,IAAW,MACArF,MAAX,WACGmB,EAAuBnB,CAAQ,GAAIqF,IAAW,KAAKrF,IACtDmE,EAAYpE,CAAM,MACfoB,EAAuBpB,EAAO,GAAG,GAAIsF,IAAW,KAAKtF,EAAO,MAC3D,SAASA,GAAQ;AACnB,QAAAC,IAAW,CAAE;AACb,iBAASE,MAAYH;AACnB,UAAUG,OAAV,UAAuBF,EAASE,EAAQ,IAAIH,EAAOG,EAAQ;AAAA,MAC9D,MAAM,CAAAF,IAAWD;AAClB,aAAAsF,KACEf;AAAA,QACEtE;AAAA,QACe,OAAOF,KAAtB,aACIA,EAAK,eAAeA,EAAK,QAAQ,YACjCA;AAAA,MACL,GACI+E,EAAa/E,GAAMuF,GAAUP,GAAMC,GAAQd,EAAU,GAAEjE,CAAQ;AAAA,IAC5E;AACI,aAASuF,EAAkBI,GAAMC,GAAY;AAC3C,UACe,OAAOD,KAApB,YACAA,KACAA,EAAK,aAAaE;AAElB,YAAIP,GAAYK,CAAI;AAClB,mBAASG,IAAI,GAAGA,IAAIH,EAAK,QAAQG,KAAK;AACpC,gBAAIC,IAAQJ,EAAKG,CAAC;AAClB,YAAAE,EAAeD,CAAK,KAAKE,EAAoBF,GAAOH,CAAU;AAAA,UAC1E;AAAA,iBACiBI,EAAeL,CAAI;AAC1B,UAAAA,EAAK,WAAWA,EAAK,OAAO,YAAY;AAAA,iBAE9BA,MAAT,QAA8B,OAAOA,KAApB,WACbG,IAAI,QACHA,IACCI,MAAyBP,EAAKO,EAAqB,KACpDP,EAAK,YAAY,GAClBG,IAAmB,OAAOA,KAAtB,aAA0BA,IAAI,OACxB,OAAOA,KAAtB,cACEA,MAAMH,EAAK,YACTG,IAAIA,EAAE,KAAKH,CAAI,GAAIG,MAAMH;AAE7B,iBAAO,EAAEA,IAAOG,EAAE,KAAM,GAAE;AACxB,YAAAE,EAAeL,EAAK,KAAK,KACvBM,EAAoBN,EAAK,OAAOC,CAAU;AAAA;AAAA,IACxD;AACI,aAASI,EAAeG,GAAQ;AAC9B,aACe,OAAOA,KAApB,YACSA,MAAT,QACAA,EAAO,aAAaxG;AAAA,IAE5B;AACI,aAASsG,EAAoBG,GAASR,GAAY;AAChD,UACEQ,EAAQ,UACR,CAACA,EAAQ,OAAO,aACRA,EAAQ,OAAhB,SACEA,EAAQ,OAAO,YAAY,GAC5BR,IAAaS,EAA6BT,CAAU,GACrD,CAACU,GAAsBV,CAAU,IACjC;AACA,QAAAU,GAAsBV,CAAU,IAAI;AACpC,YAAIW,IAAa;AACjB,QAAAH,KACUA,EAAQ,UAAhB,QACAA,EAAQ,WAAWnC,EAAU,MAC3BsC,IAAa,MACF,OAAOH,EAAQ,OAAO,OAAnC,WACKG,IAAanG,EAAyBgG,EAAQ,OAAO,IAAI,IAC7C,OAAOA,EAAQ,OAAO,QAAnC,aACCG,IAAaH,EAAQ,OAAO,OAChCG,IAAa,iCAAiCA,IAAa;AAC9D,YAAIC,IAAsBvD,EAAqB;AAC/C,QAAAA,EAAqB,kBAAkB,WAAY;AACjD,cAAIwD,IAAQ1C,EAAqCqC,EAAQ,IAAI;AAC7D,iBAAAI,MAAwBC,KAASD,EAAqB,KAAI,KACnDC;AAAA,QACR,GACD,QAAQ;AAAA,UACN;AAAA,UACAb;AAAA,UACAW;AAAA,QACD,GACDtD,EAAqB,kBAAkBuD;AAAA,MAC/C;AAAA,IACA;AACI,aAASH,EAA6BT,GAAY;AAChD,UAAIc,IAAO,IACT1B,IAAQf,EAAU;AACpB,aAAAe,MACGA,IAAQ5E,EAAyB4E,EAAM,IAAI,OAC3C0B,IAAO;AAAA;AAAA,iCAAqC1B,IAAQ,OACvD0B,MACId,IAAaxF,EAAyBwF,CAAU,OAC/Cc,IACC;AAAA;AAAA,2CAAgDd,IAAa,OAC5Dc;AAAA,IACb;AACI,QAAIC,IAAQC,IACVjH,IAAqB,OAAO,IAAI,4BAA4B,GAC5DW,IAAoB,OAAO,IAAI,cAAc,GAC7CV,IAAsB,OAAO,IAAI,gBAAgB,GACjDY,IAAyB,OAAO,IAAI,mBAAmB,GACvDD,IAAsB,OAAO,IAAI,gBAAgB,GAE/CK,IAAsB,OAAO,IAAI,gBAAgB,GACnDD,KAAqB,OAAO,IAAI,eAAe,GAC/CE,KAAyB,OAAO,IAAI,mBAAmB,GACvDJ,KAAsB,OAAO,IAAI,gBAAgB,GACjDC,IAA2B,OAAO,IAAI,qBAAqB,GAC3DK,KAAkB,OAAO,IAAI,YAAY,GACzCC,KAAkB,OAAO,IAAI,YAAY,GACzCmE,KAAuB,OAAO,IAAI,iBAAiB,GACnDe,KAAwB,OAAO,UAC/B7F,KAA2B,OAAO,IAAI,wBAAwB,GAC9D4C,IACE0D,EAAM,iEACRvC,KAAiB,OAAO,UAAU,gBAClCjC,IAAS,OAAO,QAChBiD,IAA2B,OAAO,IAAI,wBAAwB,GAC9DE,KAAc,MAAM,SACpB7D,KAAgB,GAChBC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC;AACF,IAAAT,EAAY,qBAAqB;AACjC,QAAIe,GACFG,IACAI,KAAU,IACRE,KAAsB,KACT,OAAO,WAAtB,aAAgC,UAAU,KACzC,GACC8C,KAAyB,OAAO,IAAI,wBAAwB,GAC9DpB,IACEG,KAAyB,CAAE,GAC3Bc,KAAwB,CAAE,GAC5BY,KAAwB,CAAE;AAC5B,IAAAO,GAAA,WAAmBjH,GACnBiH,GAAW,MAAG,SAAU/G,GAAMC,GAAQC,GAAU+E,GAAQD,GAAM;AAC5D,aAAOG,EAAWnF,GAAMC,GAAQC,GAAU,IAAI+E,GAAQD,CAAI;AAAA,IAC3D,GACD+B,GAAY,OAAG,SAAU/G,GAAMC,GAAQC,GAAU+E,GAAQD,GAAM;AAC7D,aAAOG,EAAWnF,GAAMC,GAAQC,GAAU,IAAI+E,GAAQD,CAAI;AAAA,IAC3D;AAAA,EACL,EAAM;;;;wBC7oBF,QAAQ,IAAI,aAAa,eAC3BgC,GAAA,UAAiBF,GAAgD,IAEjEE,GAAA,UAAiBC,GAAiD;;cC0BzDC,IAAW,WAAW;AAC/B,SAAAA,IAAW,OAAO,UAAU,SAAkB,GAAG;AAC7C,aAASC,GAAGnB,IAAI,GAAGoB,IAAI,UAAU,QAAQpB,IAAIoB,GAAGpB,KAAK;AACjD,MAAAmB,IAAI,UAAUnB,CAAC;AACf,eAASqB,KAAKF,EAAG,CAAI,OAAO,UAAU,eAAe,KAAKA,GAAGE,CAAC,MAAG,EAAEA,CAAC,IAAIF,EAAEE,CAAC;AAAA,IACrF;AACM,WAAO;AAAA,EACb,GACSH,EAAS,MAAM,MAAM,SAAS;AACvC;AA6KO,SAASI,GAAcC,GAAIC,GAAMC,GAAM;AAC5C,MAAIA,KAAQ,UAAU,WAAW,EAAG,UAASzB,IAAI,GAAG0B,IAAIF,EAAK,QAAQG,GAAI3B,IAAI0B,GAAG1B;AAC5E,KAAI2B,KAAM,EAAE3B,KAAKwB,QACRG,MAAIA,IAAK,MAAM,UAAU,MAAM,KAAKH,GAAM,GAAGxB,CAAC,IACnD2B,EAAG3B,CAAC,IAAIwB,EAAKxB,CAAC;AAGtB,SAAOuB,EAAG,OAAOI,KAAM,MAAM,UAAU,MAAM,KAAKH,CAAI,CAAC;AACzD;AC7NA,SAASI,GAAQ/E,GAAI;AACnB,MAAIgF,IAAQ,uBAAO,OAAO,IAAI;AAC9B,SAAO,SAAUC,GAAK;AACpB,WAAID,EAAMC,CAAG,MAAM,WAAWD,EAAMC,CAAG,IAAIjF,EAAGiF,CAAG,IAC1CD,EAAMC,CAAG;AAAA,EACjB;AACH;ACJA,IAAIC,KAAkB,2+HAElBC,KAA6B,gBAAAJ;AAAA,EAAQ,SAAUK,GAAM;AACvD,WAAOF,GAAgB,KAAKE,CAAI,KAAKA,EAAK,WAAW,CAAC,MAAM,OAEzDA,EAAK,WAAW,CAAC,MAAM,OAEvBA,EAAK,WAAW,CAAC,IAAI;AAAA,EAC1B;AAAA;AAEA,GCZWC,IAAK,QACLC,KAAM,SACNC,IAAS,YAETC,KAAU,QACVC,KAAU,QACVC,KAAc,QAIdC,KAAS,WAMTC,KAAY,cAIZC,KAAQ,UChBRC,KAAM,KAAK,KAMXnB,KAAO,OAAO,cAMdnF,KAAS,OAAO;AAOpB,SAASuG,GAAMxH,GAAOyH,GAAQ;AACpC,SAAOC,EAAO1H,GAAO,CAAC,IAAI,QAAYyH,KAAU,IAAKC,EAAO1H,GAAO,CAAC,MAAM,IAAK0H,EAAO1H,GAAO,CAAC,MAAM,IAAK0H,EAAO1H,GAAO,CAAC,MAAM,IAAK0H,EAAO1H,GAAO,CAAC,IAAI;AACvJ;AAMO,SAAS2H,GAAM3H,GAAO;AAC5B,SAAOA,EAAM,KAAI;AAClB;AAOO,SAASsB,GAAOtB,GAAO4H,GAAS;AACtC,UAAQ5H,IAAQ4H,EAAQ,KAAK5H,CAAK,KAAKA,EAAM,CAAC,IAAIA;AACnD;AAQO,SAAS6H,EAAS7H,GAAO4H,GAASE,GAAa;AACrD,SAAO9H,EAAM,QAAQ4H,GAASE,CAAW;AAC1C;AAQO,SAASC,GAAS/H,GAAOgI,GAAQC,GAAU;AACjD,SAAOjI,EAAM,QAAQgI,GAAQC,CAAQ;AACtC;AAOO,SAASP,EAAQ1H,GAAOkI,GAAO;AACrC,SAAOlI,EAAM,WAAWkI,CAAK,IAAI;AAClC;AAQO,SAASC,GAAQnI,GAAOoI,GAAOC,GAAK;AAC1C,SAAOrI,EAAM,MAAMoI,GAAOC,CAAG;AAC9B;AAMO,SAASC,GAAQtI,GAAO;AAC9B,SAAOA,EAAM;AACd;AAMO,SAASuI,GAAQvI,GAAO;AAC9B,SAAOA,EAAM;AACd;AAOO,SAASwI,GAAQxI,GAAOyI,GAAO;AACrC,SAAOA,EAAM,KAAKzI,CAAK,GAAGA;AAC3B;AAOO,SAAS0I,GAASD,GAAOE,GAAU;AACzC,SAAOF,EAAM,IAAIE,CAAQ,EAAE,KAAK,EAAE;AACnC;AAOO,SAASC,GAAQH,GAAOb,GAAS;AACvC,SAAOa,EAAM,OAAO,SAAUzI,GAAO;AAAE,WAAO,CAACsB,GAAMtB,GAAO4H,CAAO;AAAA,EAAG,CAAA;AACvE;AC1HO,IAAIiB,KAAO,GACPC,KAAS,GACTrB,KAAS,GACTQ,IAAW,GACXc,IAAY,GACZC,KAAa;AAYjB,SAASvE,GAAMzE,GAAOiJ,GAAMC,GAAQtK,GAAMmC,GAAOoD,GAAUsD,GAAQ0B,GAAU;AACnF,SAAO,EAAC,OAAOnJ,GAAO,MAAMiJ,GAAM,QAAQC,GAAQ,MAAMtK,GAAM,OAAOmC,GAAO,UAAUoD,GAAU,MAAM0E,IAAM,QAAQC,IAAQ,QAAQrB,GAAQ,QAAQ,IAAI,UAAU0B,EAAQ;AAC3K;AAOO,SAASC,GAAMH,GAAMlI,GAAO;AAClC,SAAOE,GAAOwD,GAAK,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,GAAGwE,EAAK,QAAQ,GAAGA,GAAM,EAAC,QAAQ,CAACA,EAAK,OAAM,GAAGlI,CAAK;AAC1G;AAKO,SAASsI,GAAMJ,GAAM;AAC3B,SAAOA,EAAK;AACX,IAAAA,IAAOG,GAAKH,EAAK,MAAM,EAAC,UAAU,CAACA,CAAI,EAAC,CAAC;AAE1C,EAAAT,GAAOS,GAAMA,EAAK,QAAQ;AAC3B;AAKO,SAASK,KAAQ;AACvB,SAAOP;AACR;AAKO,SAASQ,KAAQ;AACvB,SAAAR,IAAYd,IAAW,IAAIP,EAAOsB,IAAY,EAAEf,CAAQ,IAAI,GAExDa,MAAUC,MAAc,OAC3BD,KAAS,GAAGD,OAENE;AACR;AAKO,SAASS,IAAQ;AACvB,SAAAT,IAAYd,IAAWR,KAASC,EAAOsB,IAAYf,GAAU,IAAI,GAE7Da,MAAUC,MAAc,OAC3BD,KAAS,GAAGD,OAENE;AACR;AAKO,SAASU,KAAQ;AACvB,SAAO/B,EAAOsB,IAAYf,CAAQ;AACnC;AAKO,SAASyB,KAAS;AACxB,SAAOzB;AACR;AAOO,SAAS0B,GAAOvB,GAAOC,GAAK;AAClC,SAAOF,GAAOa,IAAYZ,GAAOC,CAAG;AACrC;AAMO,SAASuB,GAAOhL,GAAM;AAC5B,UAAQA,GAAI;AAAA;AAAA,IAEX,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AACtC,aAAO;AAAA;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA;AAAA,IAE3D,KAAK;AAAA,IAAI,KAAK;AAAA,IAAK,KAAK;AACvB,aAAO;AAAA;AAAA,IAER,KAAK;AACJ,aAAO;AAAA;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAC/B,aAAO;AAAA;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AACb,aAAO;AAAA,EACV;AAEC,SAAO;AACR;AAMO,SAASiL,GAAO7J,GAAO;AAC7B,SAAO6I,KAAOC,KAAS,GAAGrB,KAASa,GAAOU,KAAahJ,CAAK,GAAGiI,IAAW,GAAG,CAAA;AAC9E;AAMO,SAAS6B,GAAS9J,GAAO;AAC/B,SAAOgJ,KAAa,IAAIhJ;AACzB;AAMO,SAAS+J,GAASnL,GAAM;AAC9B,SAAO+I,GAAKgC,GAAM1B,IAAW,GAAG+B,GAAUpL,MAAS,KAAKA,IAAO,IAAIA,MAAS,KAAKA,IAAO,IAAIA,CAAI,CAAC,CAAC;AACnG;AAcO,SAASqL,GAAYrL,GAAM;AACjC,UAAOmK,IAAYU,GAAM,MACpBV,IAAY;AACf,IAAAS,EAAI;AAIN,SAAOI,GAAMhL,CAAI,IAAI,KAAKgL,GAAMb,CAAS,IAAI,IAAI,KAAK;AACvD;AAwBO,SAASmB,GAAUhC,GAAOiC,GAAO;AACvC,SAAO,EAAEA,KAASX,EAAM,KAEnB,EAAAT,IAAY,MAAMA,IAAY,OAAQA,IAAY,MAAMA,IAAY,MAAQA,IAAY,MAAMA,IAAY;AAA9G;AAGD,SAAOY,GAAMzB,GAAOwB,GAAK,KAAMS,IAAQ,KAAKV,QAAU,MAAMD,EAAI,KAAM,GAAG;AAC1E;AAMO,SAASQ,GAAWpL,GAAM;AAChC,SAAO4K,EAAM;AACZ,YAAQT,GAAS;AAAA;AAAA,MAEhB,KAAKnK;AACJ,eAAOqJ;AAAA;AAAA,MAER,KAAK;AAAA,MAAI,KAAK;AACb,QAAIrJ,MAAS,MAAMA,MAAS,MAC3BoL,GAAUjB,CAAS;AACpB;AAAA;AAAA,MAED,KAAK;AACJ,QAAInK,MAAS,MACZoL,GAAUpL,CAAI;AACf;AAAA;AAAA,MAED,KAAK;AACJ,QAAA4K,EAAI;AACJ;AAAA,IACJ;AAEC,SAAOvB;AACR;AAOO,SAASmC,GAAWxL,GAAMsJ,GAAO;AACvC,SAAOsB,EAAM,KAER5K,IAAOmK,MAAc;AAGpB,QAAInK,IAAOmK,MAAc,MAAWU,GAAM,MAAK;AACnD;AAEF,SAAO,OAAOE,GAAMzB,GAAOD,IAAW,CAAC,IAAI,MAAM7B,GAAKxH,MAAS,KAAKA,IAAO4K,EAAM,CAAA;AAClF;AAMO,SAASa,GAAYnC,GAAO;AAClC,SAAO,CAAC0B,GAAMH,IAAM;AACnB,IAAAD,EAAI;AAEL,SAAOG,GAAMzB,GAAOD,CAAQ;AAC7B;ACxPO,SAASqC,GAAStK,GAAO;AAC/B,SAAO8J,GAAQS,GAAM,IAAI,MAAM,MAAM,MAAM,CAAC,EAAE,GAAGvK,IAAQ6J,GAAM7J,CAAK,GAAG,GAAG,CAAC,CAAC,GAAGA,CAAK,CAAC;AACtF;AAcO,SAASuK,GAAOvK,GAAOiJ,GAAMC,GAAQsB,GAAMC,GAAOC,GAAUC,GAAQC,GAAQC,GAAc;AAiBhG,WAhBI3C,IAAQ,GACR4C,IAAS,GACTrD,IAASkD,GACTI,IAAS,GACTC,IAAW,GACXC,IAAW,GACXC,IAAW,GACXC,IAAW,GACXC,IAAY,GACZrC,IAAY,GACZnK,IAAO,IACPmC,IAAQ0J,GACRtG,IAAWuG,GACXW,IAAYb,GACZxB,IAAapK,GAEVuM;AACN,YAAQF,IAAWlC,GAAWA,IAAYS,EAAM,GAAA;AAAA;AAAA,MAE/C,KAAK;AACJ,YAAIyB,KAAY,OAAOvD,EAAOsB,GAAYvB,IAAS,CAAC,KAAK,IAAI;AAC5D,UAAIM,GAAQiB,KAAcnB,EAAQkC,GAAQhB,CAAS,GAAG,KAAK,KAAK,GAAG,OAAOxB,GAAIW,IAAQ0C,EAAO1C,IAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,OAChHkD,IAAY;AACb;AAAA,QACL;AAAA;AAAA,MAEG,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AACtB,QAAApC,KAAce,GAAQhB,CAAS;AAC/B;AAAA;AAAA,MAED,KAAK;AAAA,MAAG,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AAC9B,QAAAC,KAAciB,GAAWgB,CAAQ;AACjC;AAAA;AAAA,MAED,KAAK;AACJ,QAAAjC,KAAckB,GAASR,GAAO,IAAG,GAAG,CAAC;AACrC;AAAA;AAAA,MAED,KAAK;AACJ,gBAAQD,GAAM,GAAA;AAAA,UACb,KAAK;AAAA,UAAI,KAAK;AACb,YAAAjB,GAAO8C,GAAQlB,GAAUZ,KAAQE,IAAO,GAAGT,GAAMC,GAAQ2B,CAAY,GAAGA,CAAY;AACpF;AAAA,UACD;AACC,YAAA7B,KAAc;AAAA,QACpB;AACI;AAAA;AAAA,MAED,KAAK,MAAMkC;AACV,QAAAN,EAAO1C,GAAO,IAAII,GAAOU,CAAU,IAAIoC;AAAA;AAAA,MAExC,KAAK,MAAMF;AAAA,MAAU,KAAK;AAAA,MAAI,KAAK;AAClC,gBAAQnC,GAAS;AAAA;AAAA,UAEhB,KAAK;AAAA,UAAG,KAAK;AAAK,YAAAoC,IAAW;AAAA;AAAA,UAE7B,KAAK,KAAKL;AAAQ,YAAIM,KAAa,OAAIpC,IAAanB,EAAQmB,GAAY,OAAO,EAAE,IAC5EgC,IAAW,KAAM1C,GAAOU,CAAU,IAAIvB,KACzCe,GAAOwC,IAAW,KAAKO,GAAYvC,IAAa,KAAKwB,GAAMtB,GAAQzB,IAAS,GAAGoD,CAAY,IAAIU,GAAY1D,EAAQmB,GAAY,KAAK,EAAE,IAAI,KAAKwB,GAAMtB,GAAQzB,IAAS,GAAGoD,CAAY,GAAGA,CAAY;AACrM;AAAA;AAAA,UAED,KAAK;AAAI,YAAA7B,KAAc;AAAA;AAAA,UAEvB;AAGC,gBAFAR,GAAO6C,IAAYG,GAAQxC,GAAYC,GAAMC,GAAQhB,GAAO4C,GAAQL,GAAOG,GAAQhM,GAAMmC,IAAQ,IAAIoD,IAAW,CAAA,GAAIsD,GAAQiD,CAAQ,GAAGA,CAAQ,GAE3I3B,MAAc;AACjB,kBAAI+B,MAAW;AACd,gBAAAP,GAAMvB,GAAYC,GAAMoC,GAAWA,GAAWtK,GAAO2J,GAAUjD,GAAQmD,GAAQzG,CAAQ;AAAA;AAEvF,wBAAQ4G,MAAW,MAAMrD,EAAOsB,GAAY,CAAC,MAAM,MAAM,MAAM+B,GAAM;AAAA;AAAA,kBAEpE,KAAK;AAAA,kBAAK,KAAK;AAAA,kBAAK,KAAK;AAAA,kBAAK,KAAK;AAClC,oBAAAR,GAAMvK,GAAOqL,GAAWA,GAAWb,KAAQhC,GAAOgD,GAAQxL,GAAOqL,GAAWA,GAAW,GAAG,GAAGZ,GAAOG,GAAQhM,GAAM6L,GAAO1J,IAAQ,CAAA,GAAI0G,GAAQtD,CAAQ,GAAGA,CAAQ,GAAGsG,GAAOtG,GAAUsD,GAAQmD,GAAQJ,IAAOzJ,IAAQoD,CAAQ;AAC3N;AAAA,kBACD;AACC,oBAAAoG,GAAMvB,GAAYqC,GAAWA,GAAWA,GAAW,CAAC,EAAE,GAAGlH,GAAU,GAAGyG,GAAQzG,CAAQ;AAAA,gBAChG;AAAA,QACA;AAEI,QAAA+D,IAAQ4C,IAASE,IAAW,GAAGE,IAAWE,IAAY,GAAGxM,IAAOoK,IAAa,IAAIvB,IAASkD;AAC1F;AAAA;AAAA,MAED,KAAK;AACJ,QAAAlD,IAAS,IAAIa,GAAOU,CAAU,GAAGgC,IAAWC;AAAA,MAC7C;AACC,YAAIC,IAAW;AACd,cAAInC,KAAa;AAChB,cAAEmC;AAAA,mBACMnC,KAAa,OAAOmC,OAAc,KAAK3B,GAAI,KAAM;AACzD;AAAA;AAEF,gBAAQP,KAAc5C,GAAK2C,CAAS,GAAGA,IAAYmC,GAAQ;AAAA;AAAA,UAE1D,KAAK;AACJ,YAAAE,IAAYN,IAAS,IAAI,KAAK9B,KAAc,MAAM;AAClD;AAAA;AAAA,UAED,KAAK;AACJ,YAAA4B,EAAO1C,GAAO,KAAKI,GAAOU,CAAU,IAAI,KAAKoC,GAAWA,IAAY;AACpE;AAAA;AAAA,UAED,KAAK;AAEJ,YAAI3B,GAAM,MAAK,OACdT,KAAce,GAAQP,EAAM,CAAA,IAE7BuB,IAAStB,GAAI,GAAIqB,IAASrD,IAASa,GAAO1J,IAAOoK,KAAcqB,GAAWX,GAAO,CAAA,CAAC,GAAGX;AACrF;AAAA;AAAA,UAED,KAAK;AACJ,YAAIkC,MAAa,MAAM3C,GAAOU,CAAU,KAAK,MAC5CkC,IAAW;AAAA,QAClB;AAAA,IACA;AAEC,SAAOR;AACR;AAiBO,SAASc,GAASxL,GAAOiJ,GAAMC,GAAQhB,GAAO4C,GAAQL,GAAOG,GAAQhM,GAAMmC,GAAOoD,GAAUsD,GAAQ0B,GAAU;AAKpH,WAJIsC,IAAOX,IAAS,GAChBN,IAAOM,MAAW,IAAIL,IAAQ,CAAC,EAAE,GACjCiB,IAAOnD,GAAOiC,CAAI,GAEb5F,IAAI,GAAG+G,IAAI,GAAGpH,IAAI,GAAGK,IAAIsD,GAAO,EAAEtD;AAC1C,aAASvD,IAAI,GAAGuK,IAAIzD,GAAOnI,GAAOyL,IAAO,GAAGA,IAAOlE,GAAIoE,IAAIf,EAAOhG,CAAC,CAAC,CAAC,GAAGiH,IAAI7L,GAAOqB,IAAIqK,GAAM,EAAErK;AAC9F,OAAIwK,IAAIlE,GAAKgE,IAAI,IAAInB,EAAKnJ,CAAC,IAAI,MAAMuK,IAAI/D,EAAQ+D,GAAG,QAAQpB,EAAKnJ,CAAC,CAAC,CAAC,OACnEN,EAAMwD,GAAG,IAAIsH;AAEhB,SAAOpH,GAAKzE,GAAOiJ,GAAMC,GAAQ4B,MAAW,IAAI5D,KAAUtI,GAAMmC,GAAOoD,GAAUsD,GAAQ0B,CAAQ;AAClG;AASO,SAASmC,GAAStL,GAAOiJ,GAAMC,GAAQC,GAAU;AACvD,SAAO1E,GAAKzE,GAAOiJ,GAAMC,GAAQjC,IAASb,GAAKkD,GAAM,CAAA,GAAGnB,GAAOnI,GAAO,GAAG,EAAE,GAAG,GAAGmJ,CAAQ;AAC1F;AAUO,SAASoC,GAAavL,GAAOiJ,GAAMC,GAAQzB,GAAQ0B,GAAU;AACnE,SAAO1E,GAAKzE,GAAOiJ,GAAMC,GAAQ/B,IAAagB,GAAOnI,GAAO,GAAGyH,CAAM,GAAGU,GAAOnI,GAAOyH,IAAS,GAAG,EAAE,GAAGA,GAAQ0B,CAAQ;AACxH;ACxLO,SAAS/H,GAAQpB,GAAOyH,GAAQtD,GAAU;AAChD,UAAQqD,GAAKxH,GAAOyH,CAAM,GAAC;AAAA;AAAA,IAE1B,KAAK;AACJ,aAAOT,IAAS,WAAWhH,IAAQA;AAAA;AAAA,IAEpC,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA;AAAA,IAEvE,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA;AAAA,IAE5D,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA;AAAA,IAE5D,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAC3D,aAAOgH,IAAShH,IAAQA;AAAA;AAAA,IAEzB,KAAK;AACJ,aAAO+G,KAAM/G,IAAQA;AAAA;AAAA,IAEtB,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAChD,aAAOgH,IAAShH,IAAQ+G,KAAM/G,IAAQ8G,IAAK9G,IAAQA;AAAA;AAAA,IAEpD,KAAK;AACJ,cAAQ0H,EAAO1H,GAAOyH,IAAS,EAAE,GAAC;AAAA;AAAA,QAEjC,KAAK;AACJ,iBAAOT,IAAShH,IAAQ8G,IAAKe,EAAQ7H,GAAO,sBAAsB,IAAI,IAAIA;AAAA;AAAA,QAE3E,KAAK;AACJ,iBAAOgH,IAAShH,IAAQ8G,IAAKe,EAAQ7H,GAAO,sBAAsB,OAAO,IAAIA;AAAA;AAAA,QAE9E,KAAK;AACJ,iBAAOgH,IAAShH,IAAQ8G,IAAKe,EAAQ7H,GAAO,sBAAsB,IAAI,IAAIA;AAAA,MAE/E;AAAA;AAAA,IAEE,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAC1B,aAAOgH,IAAShH,IAAQ8G,IAAK9G,IAAQA;AAAA;AAAA,IAEtC,KAAK;AACJ,aAAOgH,IAAShH,IAAQ8G,IAAK,UAAU9G,IAAQA;AAAA;AAAA,IAEhD,KAAK;AACJ,aAAOgH,IAAShH,IAAQ6H,EAAQ7H,GAAO,kBAAkBgH,IAAS,aAAaF,IAAK,WAAW,IAAI9G;AAAA;AAAA,IAEpG,KAAK;AACJ,aAAOgH,IAAShH,IAAQ8G,IAAK,eAAee,EAAQ7H,GAAO,gBAAgB,EAAE,KAAMsB,GAAMtB,GAAO,gBAAgB,IAA4D,KAAxD8G,IAAK,cAAce,EAAQ7H,GAAO,gBAAgB,EAAE,KAAUA;AAAA;AAAA,IAEnL,KAAK;AACJ,aAAOgH,IAAShH,IAAQ8G,IAAK,mBAAmBe,EAAQ7H,GAAO,8BAA8B,EAAE,IAAIA;AAAA;AAAA,IAEpG,KAAK;AACJ,aAAOgH,IAAShH,IAAQ8G,IAAKe,EAAQ7H,GAAO,UAAU,UAAU,IAAIA;AAAA;AAAA,IAErE,KAAK;AACJ,aAAOgH,IAAShH,IAAQ8G,IAAKe,EAAQ7H,GAAO,SAAS,gBAAgB,IAAIA;AAAA;AAAA,IAE1E,KAAK;AACJ,aAAOgH,IAAS,SAASa,EAAQ7H,GAAO,SAAS,EAAE,IAAIgH,IAAShH,IAAQ8G,IAAKe,EAAQ7H,GAAO,QAAQ,UAAU,IAAIA;AAAA;AAAA,IAEnH,KAAK;AACJ,aAAOgH,IAASa,EAAQ7H,GAAO,sBAAsB,OAAOgH,IAAS,IAAI,IAAIhH;AAAA;AAAA,IAE9E,KAAK;AACJ,aAAO6H,EAAQA,EAAQA,EAAQ7H,GAAO,gBAAgBgH,IAAS,IAAI,GAAG,eAAeA,IAAS,IAAI,GAAGhH,GAAO,EAAE,IAAIA;AAAA;AAAA,IAEnH,KAAK;AAAA,IAAM,KAAK;AACf,aAAO6H,EAAQ7H,GAAO,qBAAqBgH,IAAS,QAAa;AAAA;AAAA,IAElE,KAAK;AACJ,aAAOa,EAAQA,EAAQ7H,GAAO,qBAAqBgH,IAAS,gBAAgBF,IAAK,cAAc,GAAG,cAAc,SAAS,IAAIE,IAAShH,IAAQA;AAAA;AAAA,IAE/I,KAAK;AACJ,UAAI,CAACsB,GAAMtB,GAAO,gBAAgB,EAAG,QAAO8G,IAAK,sBAAsBqB,GAAOnI,GAAOyH,CAAM,IAAIzH;AAC/F;AAAA;AAAA,IAED,KAAK;AAAA,IAAM,KAAK;AACf,aAAO8G,IAAKe,EAAQ7H,GAAO,aAAa,EAAE,IAAIA;AAAA;AAAA,IAE/C,KAAK;AAAA,IAAM,KAAK;AACf,aAAImE,KAAYA,EAAS,KAAK,SAAUe,GAASgD,GAAO;AAAE,eAAOT,IAASS,GAAO5G,GAAM4D,EAAQ,OAAO,cAAc;AAAA,MAAG,CAAA,IAC/G,CAAC6C,GAAQ/H,KAASmE,IAAWA,EAASsD,CAAM,EAAE,QAAQ,QAAQ,CAAC,IAAIzH,IAAS8G,IAAKe,EAAQ7H,GAAO,UAAU,EAAE,IAAIA,IAAQ8G,IAAK,oBAAoB,CAACiB,GAAQ5D,GAAU,QAAQ,CAAC,IAAI7C,GAAM6C,GAAU,KAAK,IAAI,CAAC7C,GAAM6C,GAAU,KAAK,IAAI,CAAC7C,GAAMtB,GAAO,KAAK,KAAK,MAE7P8G,IAAKe,EAAQ7H,GAAO,UAAU,EAAE,IAAIA;AAAA;AAAA,IAE5C,KAAK;AAAA,IAAM,KAAK;AACf,aAAQmE,KAAYA,EAAS,KAAK,SAAUe,GAAS;AAAE,eAAO5D,GAAM4D,EAAQ,OAAO,gBAAgB;AAAA,OAAG,IAAKlF,IAAQ8G,IAAKe,EAAQA,EAAQ7H,GAAO,QAAQ,OAAO,GAAG,SAAS,EAAE,IAAIA;AAAA;AAAA,IAEjL,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AACrC,aAAO6H,EAAQ7H,GAAO,mBAAmBgH,IAAS,MAAM,IAAIhH;AAAA;AAAA,IAE7D,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IACtC,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IACtC,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAErC,UAAIsI,GAAOtI,CAAK,IAAI,IAAIyH,IAAS;AAChC,gBAAQC,EAAO1H,GAAOyH,IAAS,CAAC,GAAC;AAAA;AAAA,UAEhC,KAAK;AAEJ,gBAAIC,EAAO1H,GAAOyH,IAAS,CAAC,MAAM;AACjC;AAAA;AAAA,UAEF,KAAK;AACJ,mBAAOI,EAAQ7H,GAAO,oBAAoB,OAAOgH,IAAS,YAAiBD,MAAOW,EAAO1H,GAAOyH,IAAS,CAAC,KAAK,MAAM,OAAO,QAAQ,IAAIzH;AAAA;AAAA,UAEzI,KAAK;AACJ,mBAAO,CAAC+H,GAAQ/H,GAAO,WAAW,CAAC,IAAIoB,GAAOyG,EAAQ7H,GAAO,WAAW,gBAAgB,GAAGyH,GAAQtD,CAAQ,IAAInE,IAAQA;AAAA,QAC7H;AACG;AAAA;AAAA,IAED,KAAK;AAAA,IAAM,KAAK;AACf,aAAO6H,EAAQ7H,GAAO,6CAA6C,SAAU8L,GAAGC,GAAGC,GAAGC,GAAG,GAAGC,GAAGC,GAAG;AAAE,eAAQrF,IAAKiF,IAAI,MAAMC,IAAIG,KAAMF,IAAKnF,IAAKiF,IAAI,YAAY,IAAIG,IAAI,CAACA,IAAI,CAACF,KAAMG,IAAI,MAAMnM;AAAA,MAAO,CAAA;AAAA;AAAA,IAErM,KAAK;AAEJ,UAAI0H,EAAO1H,GAAOyH,IAAS,CAAC,MAAM;AACjC,eAAOI,EAAQ7H,GAAO,KAAK,MAAMgH,CAAM,IAAIhH;AAC5C;AAAA;AAAA,IAED,KAAK;AACJ,cAAQ0H,EAAO1H,GAAO0H,EAAO1H,GAAO,EAAE,MAAM,KAAK,KAAK,EAAE,GAAC;AAAA;AAAA,QAExD,KAAK;AACJ,iBAAO6H,EAAQ7H,GAAO,iCAAiC,OAAOgH,KAAUU,EAAO1H,GAAO,EAAE,MAAM,KAAK,YAAY,MAAM,YAAiBgH,IAAS,WAAgBF,IAAK,SAAS,IAAI9G;AAAA;AAAA,QAElL,KAAK;AACJ,iBAAO6H,EAAQ7H,GAAO,KAAK,MAAM8G,CAAE,IAAI9G;AAAA,MAC5C;AACG;AAAA;AAAA,IAED,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAAA,IAAM,KAAK;AAChD,aAAO6H,EAAQ7H,GAAO,WAAW,cAAc,IAAIA;AAAA,EACtD;AAEC,SAAOA;AACR;ACxIO,SAASoM,GAAWjI,GAAUwE,GAAU;AAG9C,WAFI0D,IAAS,IAEJzH,IAAI,GAAGA,IAAIT,EAAS,QAAQS;AACpC,IAAAyH,KAAU1D,EAASxE,EAASS,CAAC,GAAGA,GAAGT,GAAUwE,CAAQ,KAAK;AAE3D,SAAO0D;AACR;AASO,SAASC,GAAWpH,GAASgD,GAAO/D,GAAUwE,GAAU;AAC9D,UAAQzD,EAAQ,MAAI;AAAA,IACnB,KAAKoC;AAAO,UAAIpC,EAAQ,SAAS,OAAQ;AAAA,IACzC,KAAKkC;AAAA,IAAQ,KAAKD;AAAa,aAAOjC,EAAQ,SAASA,EAAQ,UAAUA,EAAQ;AAAA,IACjF,KAAK+B;AAAS,aAAO;AAAA,IACrB,KAAKI;AAAW,aAAOnC,EAAQ,SAASA,EAAQ,QAAQ,MAAMkH,GAAUlH,EAAQ,UAAUyD,CAAQ,IAAI;AAAA,IACtG,KAAKzB;AAAS,UAAI,CAACoB,GAAOpD,EAAQ,QAAQA,EAAQ,MAAM,KAAK,GAAG,CAAC,EAAG,QAAO;AAAA,EAC7E;AAEC,SAAOoD,GAAOnE,IAAWiI,GAAUlH,EAAQ,UAAUyD,CAAQ,CAAC,IAAIzD,EAAQ,SAASA,EAAQ,QAAQ,MAAMf,IAAW,MAAM;AAC3H;ACxBO,SAASoI,GAAYC,GAAY;AACvC,MAAI/E,IAASc,GAAOiE,CAAU;AAE9B,SAAO,SAAUtH,GAASgD,GAAO/D,GAAUwE,GAAU;AAGpD,aAFI0D,IAAS,IAEJzH,IAAI,GAAGA,IAAI6C,GAAQ7C;AAC3B,MAAAyH,KAAUG,EAAW5H,CAAC,EAAEM,GAASgD,GAAO/D,GAAUwE,CAAQ,KAAK;AAEhE,WAAO0D;AAAA,EACT;AACA;AAMO,SAASI,GAAW9D,GAAU;AACpC,SAAO,SAAUzD,GAAS;AACzB,IAAKA,EAAQ,SACRA,IAAUA,EAAQ,WACrByD,EAASzD,CAAO;AAAA,EACpB;AACA;AAQO,SAASwH,GAAUxH,GAASgD,GAAO/D,GAAUwE,GAAU;AAC7D,MAAIzD,EAAQ,SAAS,MAChB,CAACA,EAAQ;AACZ,YAAQA,EAAQ,MAAI;AAAA,MACnB,KAAKiC;AAAa,QAAAjC,EAAQ,SAAS9D,GAAO8D,EAAQ,OAAOA,EAAQ,QAAQf,CAAQ;AAChF;AAAA,MACD,KAAKkD;AACJ,eAAO+E,GAAU,CAAChD,GAAKlE,GAAS,EAAC,OAAO2C,EAAQ3C,EAAQ,OAAO,KAAK,MAAM8B,CAAM,EAAC,CAAC,CAAC,GAAG2B,CAAQ;AAAA,MAC/F,KAAKzB;AACJ,YAAIhC,EAAQ;AACX,iBAAOwD,GAAQvE,IAAWe,EAAQ,OAAO,SAAUlF,GAAO;AACzD,oBAAQsB,GAAMtB,GAAO2I,IAAW,uBAAuB,GAAC;AAAA;AAAA,cAEvD,KAAK;AAAA,cAAc,KAAK;AACvB,gBAAAU,GAAKD,GAAKlE,GAAS,EAAC,OAAO,CAAC2C,EAAQ7H,GAAO,eAAe,MAAM+G,KAAM,IAAI,CAAC,EAAC,CAAC,CAAC,GAC9EsC,GAAKD,GAAKlE,GAAS,EAAC,OAAO,CAAClF,CAAK,EAAC,CAAC,CAAC,GACpCiB,GAAOiE,GAAS,EAAC,OAAO0D,GAAOzE,GAAUwE,CAAQ,EAAC,CAAC;AACnD;AAAA;AAAA,cAED,KAAK;AACJ,gBAAAU,GAAKD,GAAKlE,GAAS,EAAC,OAAO,CAAC2C,EAAQ7H,GAAO,cAAc,MAAMgH,IAAS,UAAU,CAAC,EAAC,CAAC,CAAC,GACtFqC,GAAKD,GAAKlE,GAAS,EAAC,OAAO,CAAC2C,EAAQ7H,GAAO,cAAc,MAAM+G,KAAM,IAAI,CAAC,EAAC,CAAC,CAAC,GAC7EsC,GAAKD,GAAKlE,GAAS,EAAC,OAAO,CAAC2C,EAAQ7H,GAAO,cAAc8G,IAAK,UAAU,CAAC,EAAC,CAAC,CAAC,GAC5EuC,GAAKD,GAAKlE,GAAS,EAAC,OAAO,CAAClF,CAAK,EAAC,CAAC,CAAC,GACpCiB,GAAOiE,GAAS,EAAC,OAAO0D,GAAOzE,GAAUwE,CAAQ,EAAC,CAAC;AACnD;AAAA,YACT;AAEO,mBAAO;AAAA,UACP,CAAA;AAAA,IACP;AACA;ACxEA,IAAIgE,KAAe;AAAA,EACjB,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,iBAAiB;AAAA;AAAA,EAEjB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,aAAa;AACf,GChDsTR,KAAe,OAAO,UAApB,OAAsC,QAAQ,QAAjB,WAAuB,QAAQ,IAAI,qBAAmB,QAAQ,IAAI,YAAU,eAAcS,KAAE,UAAShB,KAAE,uBAAsBiB,KAAE,UAASC,KAAE;AAAA,GAAYC,KAAe,OAAO,SAApB,OAA4B,iBAAgB,QAAOC,KAAE,GAAmB,OAAO,qBAAlB,YAAoC,oBAA+B,OAAO,UAApB,OAAsC,QAAQ,QAAjB,UAA+B,QAAQ,IAAI,gCAArB,UAAuD,QAAQ,IAAI,gCAAjB,KAAuD,QAAQ,IAAI,gCAAtB,WAAmD,QAAQ,IAAI,8BAAyC,OAAO,UAApB,OAAsC,QAAQ,QAAjB,UAA+B,QAAQ,IAAI,sBAArB,UAA6C,QAAQ,IAAI,sBAAjB,KAA6C,QAAQ,IAAI,sBAAtB,WAAyC,QAAQ,IAAI,oBAAiC,QAAQ,IAAI,aAA3B,eAA0CC,KAAE,sBAAqBC,KAAE,oBAAI,OAAIC,KAAE,SAASC,GAAEpH,GAAE;AAAC,MAAkB,QAAQ,IAAI,aAA3B,cAAoC;AAAC,QAAIqH,IAAErH,IAAE,oBAAoB,OAAOA,GAAE,GAAG,IAAE,IAAGD,IAAE,iBAAiB,OAAOqH,CAAC,EAAE,OAAOC,GAAE;AAAA,CAAkC,IAAE;AAAA,wGAAyLzI,IAAE,QAAQ;AAAM,QAAG;AAAC,UAAImH,IAAE;AAAG,cAAQ,QAAM,SAASqB,GAAE;AAAC,iBAAQpH,IAAE,IAAGqH,IAAE,GAAEA,IAAE,UAAU,QAAOA,IAAI,CAAArH,EAAEqH,IAAE,CAAC,IAAE,UAAUA,CAAC;AAAE,QAAAJ,GAAE,KAAKG,CAAC,KAAGrB,IAAE,IAAGmB,GAAE,OAAOnH,CAAC,KAAGnB,EAAE,MAAM,QAAOsH,GAAE,CAACkB,CAAC,GAAEpH,GAAE,EAAE,CAAC;AAAA,MAAC,GAAEsH,GAAG,GAACvB,KAAG,CAACmB,GAAE,IAAInH,CAAC,MAAI,QAAQ,KAAKA,CAAC,GAAEmH,GAAE,IAAInH,CAAC;AAAA,IAAE,SAAOmG,GAAE;AAAC,MAAAe,GAAE,KAAKf,EAAE,OAAO,KAAGgB,GAAE,OAAOnH,CAAC;AAAA,IAAC,UAAC;AAAQ,cAAQ,QAAMnB;AAAA,IAAC;AAAA,EAAC;AAAC,GAAEkH,KAAE,OAAO,OAAO,CAAE,CAAA,GAAEyB,KAAE,OAAO,OAAO,CAAA,CAAE;AAAE,SAASC,GAAE,GAAE,GAAExH,GAAE;AAAC,SAAgBA,MAAT,WAAaA,IAAEuH,KAAG,EAAE,UAAQvH,EAAE,SAAO,EAAE,SAAO,KAAGA,EAAE;AAAK;AAAC,IAAIyH,KAAE,oBAAI,IAAI,CAAC,KAAI,QAAO,WAAU,QAAO,WAAU,SAAQ,SAAQ,KAAI,QAAO,OAAM,OAAM,OAAM,cAAa,QAAO,MAAK,UAAS,UAAS,WAAU,QAAO,QAAO,OAAM,YAAW,QAAO,YAAW,MAAK,OAAM,WAAU,OAAM,UAAS,OAAM,MAAK,MAAK,MAAK,SAAQ,YAAW,cAAa,UAAS,UAAS,QAAO,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,UAAS,UAAS,MAAK,QAAO,KAAI,UAAS,OAAM,SAAQ,OAAM,OAAM,UAAS,SAAQ,UAAS,MAAK,QAAO,QAAO,OAAM,QAAO,QAAO,YAAW,QAAO,SAAQ,OAAM,YAAW,UAAS,MAAK,YAAW,UAAS,UAAS,KAAI,SAAQ,WAAU,OAAM,YAAW,KAAI,MAAK,MAAK,QAAO,KAAI,QAAO,UAAS,WAAU,UAAS,SAAQ,UAAS,QAAO,UAAS,SAAQ,OAAM,WAAU,OAAM,SAAQ,SAAQ,MAAK,YAAW,SAAQ,MAAK,SAAQ,QAAO,MAAK,SAAQ,KAAI,MAAK,OAAM,OAAM,SAAQ,OAAM,UAAS,YAAW,QAAO,WAAU,iBAAgB,KAAI,SAAQ,QAAO,kBAAiB,UAAS,QAAO,QAAO,WAAU,WAAU,YAAW,kBAAiB,QAAO,QAAO,OAAM,QAAO,OAAO,CAAC,GAAEC,KAAE,yCAAwCC,KAAE;AAAW,SAASC,GAAE,GAAE;AAAC,SAAO,EAAE,QAAQF,IAAE,GAAG,EAAE,QAAQC,IAAE,EAAE;AAAC;AAAC,IAAIE,KAAE,YAAWtJ,KAAE,IAAGoH,KAAE,SAAS,GAAE;AAAC,SAAO,OAAO,aAAa,KAAG,IAAE,KAAG,KAAG,GAAG;AAAC;AAAE,SAAStK,GAAE,GAAE;AAAC,MAAI,GAAE2E,IAAE;AAAG,OAAI,IAAE,KAAK,IAAI,CAAC,GAAE,IAAEzB,IAAE,IAAE,IAAEA,KAAE,EAAE,CAAAyB,IAAE2F,GAAE,IAAEpH,EAAC,IAAEyB;AAAE,UAAO2F,GAAE,IAAEpH,EAAC,IAAEyB,GAAG,QAAQ6H,IAAE,OAAO;AAAC;AAAC,IAAIC,IAAEC,KAAE,MAAKC,KAAE,SAAS,GAAE,GAAE;AAAC,WAAQhI,IAAE,EAAE,QAAOA,IAAG,KAAE,KAAG,IAAE,EAAE,WAAW,EAAEA,CAAC;AAAE,SAAO;AAAC,GAAE6F,KAAE,SAAS,GAAE;AAAC,SAAOmC,GAAED,IAAE,CAAC;AAAC;AAAE,SAASE,GAAE,GAAE;AAAC,SAAO5M,GAAEwK,GAAE,CAAC,MAAI,CAAC;AAAC;AAAC,SAASqC,GAAE,GAAE;AAAC,SAAqB,QAAQ,IAAI,aAA3B,gBAA+C,OAAO,KAAjB,YAAoB,KAAG,EAAE,eAAa,EAAE,QAAM;AAAW;AAAC,SAASC,GAAE,GAAE;AAAC,SAAgB,OAAO,KAAjB,aAAoC,QAAQ,IAAI,aAA3B,gBAAqC,EAAE,OAAO,CAAC,MAAI,EAAE,OAAO,CAAC,EAAE,YAAW;AAAG;AAAC,IAAIC,KAAc,OAAO,UAAnB,cAA2B,OAAO,KAAIC,KAAED,KAAE,OAAO,IAAI,YAAY,IAAE,OAAME,KAAEF,KAAE,OAAO,IAAI,mBAAmB,IAAE,OAAMG,KAAE,EAAC,mBAAkB,IAAG,aAAY,IAAG,cAAa,IAAG,cAAa,IAAG,aAAY,IAAG,iBAAgB,IAAG,0BAAyB,IAAG,0BAAyB,IAAG,QAAO,IAAG,WAAU,IAAG,MAAK,GAAE,GAAEC,KAAE,EAAC,MAAK,IAAG,QAAO,IAAG,WAAU,IAAG,QAAO,IAAG,QAAO,IAAG,WAAU,IAAG,OAAM,GAAE,GAAEC,KAAE,EAAC,UAAS,IAAG,SAAQ,IAAG,cAAa,IAAG,aAAY,IAAG,WAAU,IAAG,MAAK,GAAE,GAAEC,OAAIZ,KAAE,CAAA,GAAIQ,EAAC,IAAE,EAAC,UAAS,IAAG,QAAO,IAAG,cAAa,IAAG,aAAY,IAAG,WAAU,GAAE,GAAER,GAAEO,EAAC,IAAEI,IAAEX;AAAG,SAASa,GAAE,GAAE;AAAC,UAAO,WAAS,IAAE,MAAI,EAAE,KAAK,cAAYN,KAAEI,KAAE,cAAa,IAAEC,GAAE,EAAE,QAAQ,IAAEH;AAAE,MAAI;AAAC;AAAC,IAAIK,KAAE,OAAO,gBAAeC,KAAE,OAAO,qBAAoBC,KAAE,OAAO,uBAAsBC,KAAG,OAAO,0BAAyBC,KAAG,OAAO,gBAAeC,KAAG,OAAO;AAAU,SAASC,GAAG,GAAE,GAAElJ,GAAE;AAAC,MAAa,OAAO,KAAjB,UAAmB;AAAC,QAAGiJ,IAAG;AAAC,UAAI5B,IAAE2B,GAAG,CAAC;AAAE,MAAA3B,KAAGA,MAAI4B,MAAIC,GAAG,GAAE7B,GAAErH,CAAC;AAAA,IAAC;AAAC,QAAIsH,IAAEuB,GAAE,CAAC;AAAE,IAAAC,OAAIxB,IAAEA,EAAE,OAAOwB,GAAE,CAAC,CAAC;AAAG,aAAQ/I,IAAE4I,GAAE,CAAC,GAAE/J,IAAE+J,GAAE,CAAC,GAAE5C,IAAE,GAAEA,IAAEuB,EAAE,QAAO,EAAEvB,GAAE;AAAC,UAAIE,IAAEqB,EAAEvB,CAAC;AAAE,UAAG,EAAEE,KAAKuC,MAAGxI,KAAGA,EAAEiG,CAAC,KAAGrH,KAAGqH,KAAKrH,KAAGmB,KAAGkG,KAAKlG,IAAG;AAAC,YAAIO,IAAEyI,GAAG,GAAE9C,CAAC;AAAE,YAAG;AAAC,UAAA2C,GAAE,GAAE3C,GAAE3F,CAAC;AAAA,QAAC,QAAS;AAAA,QAAE;AAAA,MAAA;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO;AAAC;AAAC,SAAS6I,GAAG,GAAE;AAAC,SAAkB,OAAO,KAAnB;AAAoB;AAAC,SAASC,GAAG,GAAE;AAAC,SAAgB,OAAO,KAAjB,YAAoB,uBAAsB;AAAC;AAAC,SAASC,GAAG,GAAE,GAAE;AAAC,SAAO,KAAG,IAAE,GAAG,OAAO,GAAE,GAAG,EAAE,OAAO,CAAC,IAAE,KAAG,KAAG;AAAE;AAAC,SAASC,GAAG,GAAE,GAAE;AAAC,MAAO,EAAE,WAAN,EAAa,QAAM;AAAG,WAAQtJ,IAAE,EAAE,CAAC,GAAEqH,IAAE,GAAEA,IAAE,EAAE,QAAOA,IAAI,CAAArH,KAAY,EAAEqH,CAAC;AAAE,SAAOrH;AAAC;AAAC,SAASuJ,GAAG,GAAE;AAAC,SAAc,MAAP,QAAoB,OAAO,KAAjB,YAAoB,EAAE,YAAY,SAAO,OAAO,QAAM,EAAE,WAAU,KAAG,EAAE;AAAS;AAAC,SAASC,GAAG,GAAE,GAAExJ,GAAE;AAAC,MAAYA,MAAT,WAAaA,IAAE,KAAI,CAACA,KAAG,CAACuJ,GAAG,CAAC,KAAG,CAAC,MAAM,QAAQ,CAAC,EAAE,QAAO;AAAE,MAAG,MAAM,QAAQ,CAAC,EAAE,UAAQlC,IAAE,GAAEA,IAAE,EAAE,QAAOA,IAAI,GAAEA,CAAC,IAAEmC,GAAG,EAAEnC,CAAC,GAAE,EAAEA,CAAC,CAAC;AAAA,WAAUkC,GAAG,CAAC,EAAE,UAAQlC,KAAK,EAAE,GAAEA,CAAC,IAAEmC,GAAG,EAAEnC,CAAC,GAAE,EAAEA,CAAC,CAAC;AAAE,SAAO;AAAC;AAAC,SAASoC,GAAG,GAAE,GAAE;AAAC,SAAO,eAAe,GAAE,YAAW,EAAC,OAAM,EAAC,CAAC;AAAC;AAAC,IAAIC,KAAkB,QAAQ,IAAI,aAA3B,eAAoC,EAAC,GAAE;AAAA;AAAA,GAAwD,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA,GAAgQ,GAAE;AAAA;AAAA,GAAsH,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA,GAAsM,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA,GAAkK,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAA4O,GAAE,sHAAqH,GAAE;AAAA;AAAA,GAA8D,GAAE,iCAAgC,IAAG;AAAA;AAAA,GAAiU,IAAG;AAAA;AAAA,GAAwN,IAAG,sWAAqW,IAAG;AAAA;AAAA,GAAyL,IAAG;AAAA;AAAA,GAA+C,IAAG,4ZAA2Z,IAAG;AAAA;AAAA;AAAA;AAAA,GAAuQ,IAAG;AAAA;AAAA,GAAyI,IAAG,mFAAkF,IAAE,CAAA;AAAG,SAASC,KAAI;AAAC,WAAQ,IAAE,CAAA,GAAG,IAAE,GAAE,IAAE,UAAU,QAAO,IAAI,GAAE,CAAC,IAAE,UAAU,CAAC;AAAE,WAAQ3J,IAAE,EAAE,CAAC,GAAEqH,IAAE,IAAGC,IAAE,GAAEvH,IAAE,EAAE,QAAOuH,IAAEvH,GAAEuH,KAAG,EAAE,CAAAD,EAAE,KAAK,EAAEC,CAAC,CAAC;AAAE,SAAOD,EAAE,QAAQ,SAASnB,GAAE;AAAC,IAAAlG,IAAEA,EAAE,QAAQ,UAASkG,CAAC;AAAA,EAAC,CAAC,GAAElG;AAAC;AAAC,SAAS4J,GAAGxC,GAAE;AAAC,WAAQpH,IAAE,CAAA,GAAGqH,IAAE,GAAEA,IAAE,UAAU,QAAOA,IAAI,CAAArH,EAAEqH,IAAE,CAAC,IAAE,UAAUA,CAAC;AAAE,SAAqB,QAAQ,IAAI,aAA3B,eAAoC,IAAI,MAAM,0IAA0I,OAAOD,GAAE,wBAAwB,EAAE,OAAOpH,EAAE,SAAO,IAAE,UAAU,OAAOA,EAAE,KAAK,IAAI,CAAC,IAAE,EAAE,CAAC,IAAE,IAAI,MAAM2J,GAAG,MAAM,QAAOzD,GAAE,CAACwD,GAAGtC,CAAC,CAAC,GAAEpH,GAAE,EAAE,CAAC,EAAE,KAAI,CAAE;AAAC;AAAC,IAAI6J,KAAG,WAAU;AAAC,WAAS,EAAE3D,GAAE;AAAC,SAAK,aAAW,IAAI,YAAY,GAAG,GAAE,KAAK,SAAO,KAAI,KAAK,MAAIA;AAAA,EAAC;AAAC,SAAO,EAAE,UAAU,eAAa,SAASA,GAAE;AAAC,aAAQkB,IAAE,GAAE,IAAE,GAAE,IAAElB,GAAE,IAAI,CAAAkB,KAAG,KAAK,WAAW,CAAC;AAAE,WAAOA;AAAA,EAAC,GAAE,EAAE,UAAU,cAAY,SAASlB,GAAEkB,GAAE;AAAC,QAAGlB,KAAG,KAAK,WAAW,QAAO;AAAC,eAAQ,IAAE,KAAK,YAAW,IAAE,EAAE,QAAOoB,IAAE,GAAEpB,KAAGoB,IAAG,MAAIA,MAAI,KAAG,EAAE,OAAMsC,GAAG,IAAG,GAAG,OAAO1D,CAAC,CAAC;AAAE,WAAK,aAAW,IAAI,YAAYoB,CAAC,GAAE,KAAK,WAAW,IAAI,CAAC,GAAE,KAAK,SAAOA;AAAE,eAAQvH,IAAE,GAAEA,IAAEuH,GAAEvH,IAAI,MAAK,WAAWA,CAAC,IAAE;AAAA,IAAC;AAAC,aAAQnB,IAAE,KAAK,aAAasH,IAAE,CAAC,GAAEH,KAAGhG,IAAE,GAAEqH,EAAE,SAAQrH,IAAEgG,GAAEhG,IAAI,MAAK,IAAI,WAAWnB,GAAEwI,EAAErH,CAAC,CAAC,MAAI,KAAK,WAAWmG,CAAC,KAAItH;AAAA,EAAI,GAAE,EAAE,UAAU,aAAW,SAASsH,GAAE;AAAC,QAAGA,IAAE,KAAK,QAAO;AAAC,UAAIkB,IAAE,KAAK,WAAWlB,CAAC,GAAE,IAAE,KAAK,aAAaA,CAAC,GAAE,IAAE,IAAEkB;AAAE,WAAK,WAAWlB,CAAC,IAAE;AAAE,eAAQoB,IAAE,GAAEA,IAAE,GAAEA,IAAI,MAAK,IAAI,WAAW,CAAC;AAAA,IAAC;AAAA,EAAC,GAAE,EAAE,UAAU,WAAS,SAASpB,GAAE;AAAC,QAAIkB,IAAE;AAAG,QAAGlB,KAAG,KAAK,UAAY,KAAK,WAAWA,CAAC,MAArB,EAAuB,QAAOkB;AAAE,aAAQ,IAAE,KAAK,WAAWlB,CAAC,GAAE,IAAE,KAAK,aAAaA,CAAC,GAAEoB,IAAE,IAAE,GAAEvH,IAAE,GAAEA,IAAEuH,GAAEvH,IAAI,CAAAqH,KAAG,GAAG,OAAO,KAAK,IAAI,QAAQrH,CAAC,CAAC,EAAE,OAAO+G,EAAC;AAAE,WAAOM;AAAA,EAAC,GAAE;AAAC,EAAG,GAAC0C,KAAG,KAAG,IAAGC,KAAG,oBAAI,OAAIC,KAAG,oBAAI,OAAIC,KAAG,GAAEC,KAAG,SAAS,GAAE;AAAC,MAAGH,GAAG,IAAI,CAAC,EAAE,QAAOA,GAAG,IAAI,CAAC;AAAE,SAAKC,GAAG,IAAIC,EAAE,IAAG,CAAAA;AAAK,MAAI,IAAEA;AAAK,MAAkB,QAAQ,IAAI,aAA3B,kBAAuC,IAAE,KAAG,KAAG,IAAEH,IAAI,OAAMF,GAAG,IAAG,GAAG,OAAO,CAAC,CAAC;AAAE,SAAOG,GAAG,IAAI,GAAE,CAAC,GAAEC,GAAG,IAAI,GAAE,CAAC,GAAE;AAAC,GAAEG,KAAG,SAAS,GAAE,GAAE;AAAC,EAAAF,KAAG,IAAE,GAAEF,GAAG,IAAI,GAAE,CAAC,GAAEC,GAAG,IAAI,GAAE,CAAC;AAAC,GAAEI,KAAG,SAAS,OAAOjE,IAAE,IAAI,EAAE,OAAOP,IAAE,IAAI,EAAE,OAAOiB,IAAE,IAAI,GAAEwD,KAAG,IAAI,OAAO,IAAI,OAAOlE,IAAE,8CAA8C,CAAC,GAAEmE,KAAG,SAAS,GAAE,GAAEtK,GAAE;AAAC,WAAQqH,GAAEC,IAAEtH,EAAE,MAAM,GAAG,GAAED,IAAE,GAAEnB,IAAE0I,EAAE,QAAOvH,IAAEnB,GAAEmB,IAAI,EAACsH,IAAEC,EAAEvH,CAAC,MAAI,EAAE,aAAa,GAAEsH,CAAC;AAAC,GAAEkD,KAAG,SAAS,GAAE,GAAE;AAAC,WAAQvK,GAAEqH,MAAWrH,IAAE,EAAE,iBAAZ,QAAmCA,MAAT,SAAWA,IAAE,IAAI,MAAM8G,EAAC,GAAEQ,IAAE,CAAE,GAACvH,IAAE,GAAEnB,IAAEyI,EAAE,QAAOtH,IAAEnB,GAAEmB,KAAI;AAAC,QAAIgG,IAAEsB,EAAEtH,CAAC,EAAE,KAAM;AAAC,QAAGgG,GAAE;AAAC,UAAIE,IAAEF,EAAE,MAAMsE,EAAE;AAAE,UAAGpE,GAAE;AAAC,YAAI3F,IAAE,IAAE,SAAS2F,EAAE,CAAC,GAAE,EAAE,GAAEuE,IAAEvE,EAAE,CAAC;AAAE,QAAI3F,MAAJ,MAAQ6J,GAAGK,GAAElK,CAAC,GAAEgK,GAAG,GAAEE,GAAEvE,EAAE,CAAC,CAAC,GAAE,EAAE,OAAM,EAAG,YAAY3F,GAAEgH,CAAC,IAAGA,EAAE,SAAO;AAAA,MAAC,MAAM,CAAAA,EAAE,KAAKvB,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,GAAE0E,KAAG,SAAS,GAAE;AAAC,WAAQ,IAAE,SAAS,iBAAiBL,EAAE,GAAEpK,IAAE,GAAEqH,IAAE,EAAE,QAAOrH,IAAEqH,GAAErH,KAAI;AAAC,QAAIsH,IAAE,EAAEtH,CAAC;AAAE,IAAAsH,KAAGA,EAAE,aAAanB,EAAC,MAAIS,OAAI2D,GAAG,GAAEjD,CAAC,GAAEA,EAAE,cAAYA,EAAE,WAAW,YAAYA,CAAC;AAAA,EAAE;AAAC;AAAE,SAASoD,KAAI;AAAC,SAAmB,OAAO,oBAApB,MAAsC,oBAAkB;AAAI;AAAC,IAAIC,KAAG,SAAS,GAAE;AAAC,MAAI,IAAE,SAAS,MAAK3K,IAAE,KAAG,GAAEqH,IAAE,SAAS,cAAc,OAAO,GAAEC,IAAE,SAASpB,GAAE;AAAC,QAAIkB,IAAE,MAAM,KAAKlB,EAAE,iBAAiB,SAAS,OAAOC,IAAE,GAAG,CAAC,CAAC;AAAE,WAAOiB,EAAEA,EAAE,SAAO,CAAC;AAAA,EAAC,EAAEpH,CAAC,GAAED,IAAWuH,MAAT,SAAWA,EAAE,cAAY;AAAK,EAAAD,EAAE,aAAalB,IAAES,EAAC,GAAES,EAAE,aAAazB,IAAEiB,EAAC;AAAE,MAAIjI,IAAE8L,GAAI;AAAC,SAAO9L,KAAGyI,EAAE,aAAa,SAAQzI,CAAC,GAAEoB,EAAE,aAAaqH,GAAEtH,CAAC,GAAEsH;AAAC,GAAEuD,KAAG,WAAU;AAAC,WAAS,EAAE1E,GAAE;AAAC,SAAK,UAAQyE,GAAGzE,CAAC,GAAE,KAAK,QAAQ,YAAY,SAAS,eAAe,EAAE,CAAC,GAAE,KAAK,QAAM,SAASA,GAAE;AAAC,UAAGA,EAAE,MAAM,QAAOA,EAAE;AAAM,eAAQkB,IAAE,SAAS,aAAYpH,IAAE,GAAEqH,IAAED,EAAE,QAAOpH,IAAEqH,GAAErH,KAAI;AAAC,YAAIsH,IAAEF,EAAEpH,CAAC;AAAE,YAAGsH,EAAE,cAAYpB,EAAE,QAAOoB;AAAA,MAAC;AAAC,YAAMsC,GAAG,EAAE;AAAA,IAAC,EAAE,KAAK,OAAO,GAAE,KAAK,SAAO;AAAA,EAAC;AAAC,SAAO,EAAE,UAAU,aAAW,SAAS1D,GAAEkB,GAAE;AAAC,QAAG;AAAC,aAAO,KAAK,MAAM,WAAWA,GAAElB,CAAC,GAAE,KAAK,UAAS;AAAA,IAAE,QAAS;AAAC,aAAM;AAAA,IAAE;AAAA,EAAC,GAAE,EAAE,UAAU,aAAW,SAASA,GAAE;AAAC,SAAK,MAAM,WAAWA,CAAC,GAAE,KAAK;AAAA,EAAQ,GAAE,EAAE,UAAU,UAAQ,SAASA,GAAE;AAAC,QAAIkB,IAAE,KAAK,MAAM,SAASlB,CAAC;AAAE,WAAOkB,KAAGA,EAAE,UAAQA,EAAE,UAAQ;AAAA,EAAE,GAAE;AAAC,EAAC,GAAGyD,KAAG,WAAU;AAAC,WAAS,EAAE3E,GAAE;AAAC,SAAK,UAAQyE,GAAGzE,CAAC,GAAE,KAAK,QAAM,KAAK,QAAQ,YAAW,KAAK,SAAO;AAAA,EAAC;AAAC,SAAO,EAAE,UAAU,aAAW,SAASA,GAAEkB,GAAE;AAAC,QAAGlB,KAAG,KAAK,UAAQA,KAAG,GAAE;AAAC,UAAI,IAAE,SAAS,eAAekB,CAAC;AAAE,aAAO,KAAK,QAAQ,aAAa,GAAE,KAAK,MAAMlB,CAAC,KAAG,IAAI,GAAE,KAAK,UAAS;AAAA,IAAE;AAAC,WAAM;AAAA,EAAE,GAAE,EAAE,UAAU,aAAW,SAASA,GAAE;AAAC,SAAK,QAAQ,YAAY,KAAK,MAAMA,CAAC,CAAC,GAAE,KAAK;AAAA,EAAQ,GAAE,EAAE,UAAU,UAAQ,SAASA,GAAE;AAAC,WAAOA,IAAE,KAAK,SAAO,KAAK,MAAMA,CAAC,EAAE,cAAY;AAAA,EAAE,GAAE;AAAC,EAAC,GAAG4E,KAAG,WAAU;AAAC,WAAS,EAAE5E,GAAE;AAAC,SAAK,QAAM,CAAE,GAAC,KAAK,SAAO;AAAA,EAAC;AAAC,SAAO,EAAE,UAAU,aAAW,SAASA,GAAEkB,GAAE;AAAC,WAAOlB,KAAG,KAAK,WAAS,KAAK,MAAM,OAAOA,GAAE,GAAEkB,CAAC,GAAE,KAAK,UAAS;AAAA,EAAG,GAAE,EAAE,UAAU,aAAW,SAASlB,GAAE;AAAC,SAAK,MAAM,OAAOA,GAAE,CAAC,GAAE,KAAK;AAAA,EAAQ,GAAE,EAAE,UAAU,UAAQ,SAASA,GAAE;AAAC,WAAOA,IAAE,KAAK,SAAO,KAAK,MAAMA,CAAC,IAAE;AAAA,EAAE,GAAE;AAAC,EAAG,GAAC6E,KAAGhE,IAAEiE,KAAG,EAAC,UAAS,CAACjE,IAAE,mBAAkB,CAACC,GAAC,GAAEiE,KAAG,WAAU;AAAC,WAAS,EAAE/E,GAAElG,GAAEqH,GAAE;AAAC,IAASnB,MAAT,WAAaA,IAAEqB,KAAYvH,MAAT,WAAaA,IAAE,CAAA;AAAI,QAAIsH,IAAE;AAAK,SAAK,UAAQF,EAAEA,EAAE,CAAA,GAAG4D,EAAE,GAAE9E,CAAC,GAAE,KAAK,KAAGlG,GAAE,KAAK,QAAM,IAAI,IAAIqH,CAAC,GAAE,KAAK,SAAO,CAAC,CAACnB,EAAE,UAAS,CAAC,KAAK,UAAQa,MAAGgE,OAAKA,KAAG,IAAGN,GAAG,IAAI,IAAGhB,GAAG,MAAK,WAAU;AAAC,aAAO,SAASvD,GAAE;AAAC,iBAAQkB,IAAElB,EAAE,OAAM,GAAGlG,IAAEoH,EAAE,QAAOC,IAAE,IAAGC,IAAE,SAAStH,GAAE;AAAC,cAAIsH,IAAE,SAASpB,GAAE;AAAC,mBAAO8D,GAAG,IAAI9D,CAAC;AAAA,UAAC,EAAElG,CAAC;AAAE,cAAYsH,MAAT,OAAW,QAAM;AAAW,cAAIvH,IAAEmG,EAAE,MAAM,IAAIoB,CAAC,GAAE1I,IAAEwI,EAAE,SAASpH,CAAC;AAAE,cAAYD,MAAT,UAAY,CAACA,EAAE,QAAUnB,EAAE,WAAN,EAAa,QAAM;AAAW,cAAImH,IAAE,GAAG,OAAOI,IAAE,IAAI,EAAE,OAAOnG,GAAE,OAAO,EAAE,OAAOsH,GAAE,IAAI,GAAErB,IAAE;AAAG,UAASlG,MAAT,UAAYA,EAAE,QAAQ,SAASmG,GAAE;AAAC,YAAAA,EAAE,SAAO,MAAID,KAAG,GAAG,OAAOC,GAAE,GAAG;AAAA,UAAE,CAAC,GAAEmB,KAAG,GAAG,OAAOzI,CAAC,EAAE,OAAOmH,GAAE,YAAY,EAAE,OAAOE,GAAE,IAAI,EAAE,OAAOa,EAAC;AAAA,QAAC,GAAE/G,IAAE,GAAEA,IAAEC,GAAED,IAAI,CAAAuH,EAAEvH,CAAC;AAAE,eAAOsH;AAAA,MAAC,EAAEC,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAAC,SAAO,EAAE,aAAW,SAASpB,GAAE;AAAC,WAAOgE,GAAGhE,CAAC;AAAA,EAAC,GAAE,EAAE,UAAU,YAAU,WAAU;AAAC,KAAC,KAAK,UAAQa,MAAG0D,GAAG,IAAI;AAAA,EAAC,GAAE,EAAE,UAAU,yBAAuB,SAASzK,GAAEqH,GAAE;AAAC,WAAgBA,MAAT,WAAaA,IAAE,KAAI,IAAI,EAAED,EAAEA,EAAE,CAAA,GAAG,KAAK,OAAO,GAAEpH,CAAC,GAAE,KAAK,IAAGqH,KAAG,KAAK,SAAO,MAAM;AAAA,EAAC,GAAE,EAAE,UAAU,qBAAmB,SAASnB,GAAE;AAAC,WAAO,KAAK,GAAGA,CAAC,KAAG,KAAK,GAAGA,CAAC,KAAG,KAAG;AAAA,EAAC,GAAE,EAAE,UAAU,SAAO,WAAU;AAAC,WAAO,KAAK,QAAM,KAAK,OAAKA,IAAE,SAASA,GAAE;AAAC,UAAIkB,IAAElB,EAAE,mBAAkBlG,IAAEkG,EAAE;AAAO,aAAOA,EAAE,WAAS,IAAI4E,GAAG9K,CAAC,IAAEoH,IAAE,IAAIwD,GAAG5K,CAAC,IAAE,IAAI6K,GAAG7K,CAAC;AAAA,IAAC,EAAE,KAAK,OAAO,GAAE,IAAI6J,GAAG3D,CAAC;AAAI,QAAIA;AAAA,EAAC,GAAE,EAAE,UAAU,eAAa,SAASA,GAAEkB,GAAE;AAAC,WAAO,KAAK,MAAM,IAAIlB,CAAC,KAAG,KAAK,MAAM,IAAIA,CAAC,EAAE,IAAIkB,CAAC;AAAA,EAAC,GAAE,EAAE,UAAU,eAAa,SAASlB,GAAEkB,GAAE;AAAC,QAAG8C,GAAGhE,CAAC,GAAE,KAAK,MAAM,IAAIA,CAAC,EAAE,MAAK,MAAM,IAAIA,CAAC,EAAE,IAAIkB,CAAC;AAAA,SAAM;AAAC,UAAI,IAAE,oBAAI;AAAI,QAAE,IAAIA,CAAC,GAAE,KAAK,MAAM,IAAIlB,GAAE,CAAC;AAAA,IAAC;AAAA,EAAC,GAAE,EAAE,UAAU,cAAY,SAASA,GAAEkB,GAAE,GAAE;AAAC,SAAK,aAAalB,GAAEkB,CAAC,GAAE,KAAK,OAAQ,EAAC,YAAY8C,GAAGhE,CAAC,GAAE,CAAC;AAAA,EAAC,GAAE,EAAE,UAAU,aAAW,SAASA,GAAE;AAAC,SAAK,MAAM,IAAIA,CAAC,KAAG,KAAK,MAAM,IAAIA,CAAC,EAAE,MAAO;AAAA,EAAA,GAAE,EAAE,UAAU,aAAW,SAASA,GAAE;AAAC,SAAK,OAAM,EAAG,WAAWgE,GAAGhE,CAAC,CAAC,GAAE,KAAK,WAAWA,CAAC;AAAA,EAAC,GAAE,EAAE,UAAU,WAAS,WAAU;AAAC,SAAK,MAAI;AAAA,EAAM,GAAE;AAAC,EAAC,GAAGgF,KAAG,MAAKC,KAAG;AAAgB,SAASC,GAAG,GAAE,GAAE;AAAC,SAAO,EAAE,IAAI,SAASlF,GAAE;AAAC,WAAeA,EAAE,SAAX,WAAkBA,EAAE,QAAM,GAAG,OAAO,GAAE,GAAG,EAAE,OAAOA,EAAE,KAAK,GAAEA,EAAE,QAAMA,EAAE,MAAM,WAAW,KAAI,IAAI,OAAO,GAAE,GAAG,CAAC,GAAEA,EAAE,QAAMA,EAAE,MAAM,IAAI,SAASA,GAAE;AAAC,aAAM,GAAG,OAAO,GAAE,GAAG,EAAE,OAAOA,CAAC;AAAA,IAAC,CAAC,IAAG,MAAM,QAAQA,EAAE,QAAQ,KAAkBA,EAAE,SAAjB,iBAAwBA,EAAE,WAASkF,GAAGlF,EAAE,UAAS,CAAC,IAAGA;AAAA,EAAC,CAAC;AAAC;AAAC,SAASmF,GAAG,GAAE;AAAC,MAAI,GAAErL,GAAEqH,GAAEC,IAAaC,IAAIxH,IAAEuH,EAAE,SAAQ1I,IAAWmB,MAAT,SAAWwH,KAAExH,GAAEgG,IAAEuB,EAAE,SAAQrB,IAAWF,MAAT,SAAWD,KAAEC,GAAEzF,IAAE,SAAS4F,GAAEmB,GAAEC,GAAE;AAAC,WAAOA,EAAE,WAAWtH,CAAC,KAAGsH,EAAE,SAAStH,CAAC,KAAGsH,EAAE,WAAWtH,GAAE,EAAE,EAAE,SAAO,IAAE,IAAI,OAAO,CAAC,IAAEkG;AAAA,EAAC,GAAEsE,IAAEvE,EAAE,MAAK;AAAG,EAAAuE,EAAE,KAAK,SAAStE,GAAE;AAAC,IAAAA,EAAE,SAAOoF,MAAWpF,EAAE,MAAM,SAAS,GAAG,MAAIA,EAAE,MAAM,CAAC,IAAEA,EAAE,MAAM,CAAC,EAAE,QAAQgF,IAAGlL,CAAC,EAAE,QAAQqH,GAAE/G,CAAC;AAAA,EAAE,CAAC,GAAE1B,EAAE,UAAQ4L,EAAE,KAAKe,EAAU,GAAEf,EAAE,KAAKgB,EAAW;AAAE,MAAIvL,IAAE,SAASiG,GAAEoB,GAAEvH,GAAEgG,GAAE;AAAC,IAASuB,MAAT,WAAaA,IAAE,KAAavH,MAAT,WAAaA,IAAE,KAAagG,MAAT,WAAaA,IAAE,MAAK,IAAEA,GAAE/F,IAAEsH,GAAED,IAAE,IAAI,OAAO,KAAK,OAAOrH,GAAE,KAAK,GAAE,GAAG;AAAE,QAAIiG,IAAEC,EAAE,QAAQiF,IAAG,EAAE,GAAE7K,IAAEmL,GAAU1L,KAAGuH,IAAE,GAAG,OAAOvH,GAAE,GAAG,EAAE,OAAOuH,GAAE,KAAK,EAAE,OAAOrB,GAAE,IAAI,IAAEA,CAAC;AAAE,IAAArH,EAAE,cAAY0B,IAAE8K,GAAG9K,GAAE1B,EAAE,SAAS;AAAG,QAAIqB,IAAE,CAAE;AAAC,WAAOyL,GAAYpL,GAAEqL,GAAanB,EAAE,OAAOoB,GAAY,SAAS1F,GAAE;AAAC,aAAOjG,EAAE,KAAKiG,CAAC;AAAA,IAAC,CAAC,CAAC,CAAC,CAAC,GAAEjG;AAAA,EAAC;AAAE,SAAOA,EAAE,OAAKgG,EAAE,SAAOA,EAAE,OAAO,SAASC,GAAEkB,GAAE;AAAC,WAAOA,EAAE,QAAMwC,GAAG,EAAE,GAAE5B,GAAE9B,GAAEkB,EAAE,IAAI;AAAA,EAAC,GAAEW,EAAC,EAAE,SAAQ,IAAG,IAAG9H;AAAC;AAAI,IAAC4L,KAAG,IAAIZ,MAAGa,KAAGT,GAAI,GAACU,KAAG1E,GAAE,cAAc,EAAC,mBAAkB,QAAO,YAAWwE,IAAG,QAAOC,GAAE,CAAC;AAAKC,GAAG;AAAY1E,GAAE,cAAc,MAAM;AAAE,SAAS2E,KAAI;AAAC,SAAO/F,GAAE8F,EAAE;AAAC;AAA+tB,IAAIE,KAAG,WAAU;AAAC,WAAS,EAAE/F,GAAEkB,GAAE;AAAC,QAAI,IAAE;AAAK,SAAK,SAAO,SAASlB,GAAEkB,GAAE;AAAO,MAAGA,MAAH,WAAOA,IAAE0E;AAAI,UAAIzE,IAAE,EAAE,OAAKD,EAAE;AAAK,MAAAlB,EAAE,aAAa,EAAE,IAAGmB,CAAC,KAAGnB,EAAE,YAAY,EAAE,IAAGmB,GAAED,EAAE,EAAE,OAAMC,GAAE,YAAY,CAAC;AAAA,IAAC,GAAE,KAAK,OAAKnB,GAAE,KAAK,KAAG,gBAAgB,OAAOA,CAAC,GAAE,KAAK,QAAMkB,GAAEqC,GAAG,MAAK,WAAU;AAAC,YAAMG,GAAG,IAAG,OAAO,EAAE,IAAI,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAAC,SAAO,EAAE,UAAU,UAAQ,SAAS1D,GAAE;AAAC,WAAgBA,MAAT,WAAaA,IAAE4F,KAAI,KAAK,OAAK5F,EAAE;AAAA,EAAI,GAAE;AAAC,EAAC,GAAGgG,KAAG,SAAS,GAAE;AAAC,SAAO,KAAG,OAAK,KAAG;AAAG;AAAE,SAASC,GAAG,GAAE;AAAC,WAAQ,IAAE,IAAGnM,IAAE,GAAEA,IAAE,EAAE,QAAOA,KAAI;AAAC,QAAIqH,IAAE,EAAErH,CAAC;AAAE,QAAOA,MAAJ,KAAaqH,MAAN,OAAe,EAAE,CAAC,MAAT,IAAW,QAAO;AAAE,IAAA6E,GAAG7E,CAAC,IAAE,KAAG,MAAIA,EAAE,YAAW,IAAG,KAAGA;AAAA,EAAC;AAAC,SAAO,EAAE,WAAW,KAAK,IAAE,MAAI,IAAE;AAAC;AAAC,IAAI+E,KAAG,SAAS,GAAE;AAAC,SAAa,KAAN,QAAc,MAAL,MAAa,MAAL;AAAM,GAAEC,KAAG,SAASjF,GAAE;AAAC,MAAIpH,GAAEqH,GAAEC,IAAE,CAAE;AAAC,WAAQvH,KAAKqH,GAAE;AAAC,QAAI,IAAEA,EAAErH,CAAC;AAAE,IAAAqH,EAAE,eAAerH,CAAC,KAAG,CAACqM,GAAG,CAAC,MAAI,MAAM,QAAQ,CAAC,KAAG,EAAE,SAAOjD,GAAG,CAAC,IAAE7B,EAAE,KAAK,GAAG,OAAO6E,GAAGpM,CAAC,GAAE,GAAG,GAAE,GAAE,GAAG,IAAEwJ,GAAG,CAAC,IAAEjC,EAAE,KAAK,MAAMA,GAAEpB,GAAEA,GAAE,CAAC,GAAG,OAAOnG,GAAE,IAAI,CAAC,GAAEsM,GAAG,CAAC,GAAE,EAAE,GAAE,CAAC,GAAG,GAAE,EAAE,CAAC,IAAE/E,EAAE,KAAK,GAAG,OAAO6E,GAAGpM,CAAC,GAAE,IAAI,EAAE,QAAQC,IAAED,IAASsH,IAAE,MAAT,QAAwB,OAAOA,KAAlB,aAA0BA,MAAL,KAAO,KAAa,OAAOA,KAAjB,YAAwBA,MAAJ,KAAOrH,KAAKsM,MAAGtM,EAAE,WAAW,IAAI,IAAE,OAAOqH,CAAC,EAAE,KAAM,IAAC,GAAG,OAAOA,GAAE,IAAI,IAAG,GAAG,CAAC;AAAA,EAAE;AAAC,SAAOC;AAAC;AAAE,SAASiF,GAAG,GAAE,GAAEvM,GAAEqH,GAAE;AAAC,MAAG+E,GAAG,CAAC,EAAE,QAAM,CAAE;AAAC,MAAGhD,GAAG,CAAC,EAAE,QAAM,CAAC,IAAI,OAAO,EAAE,iBAAiB,CAAC;AAAE,MAAGD,GAAG,CAAC,GAAE;AAAC,QAAG,CAACA,GAAGpJ,IAAE,CAAC,KAAGA,EAAE,aAAWA,EAAE,UAAU,oBAAkB,CAAC,EAAE,QAAM,CAAC,CAAC;AAAE,QAAIuH,IAAE,EAAE,CAAC;AAAE,WAAqB,QAAQ,IAAI,aAA3B,gBAA+C,OAAOA,KAAjB,YAAoB,MAAM,QAAQA,CAAC,KAAGA,aAAa2E,MAAI1C,GAAGjC,CAAC,KAAUA,MAAP,QAAU,QAAQ,MAAM,GAAG,OAAOY,GAAE,CAAC,GAAE,kLAAkL,CAAC,GAAEqE,GAAGjF,GAAE,GAAEtH,GAAEqH,CAAC;AAAA,EAAC;AAAC,MAAItH;AAAE,SAAO,aAAakM,KAAGjM,KAAG,EAAE,OAAOA,GAAEqH,CAAC,GAAE,CAAC,EAAE,QAAQA,CAAC,CAAC,KAAG,CAAC,CAAC,IAAEkC,GAAG,CAAC,IAAE8C,GAAG,CAAC,IAAE,MAAM,QAAQ,CAAC,IAAE,MAAM,UAAU,OAAO,MAAMvG,IAAE,EAAE,IAAI,SAASI,GAAE;AAAC,WAAOqG,GAAGrG,GAAE,GAAElG,GAAEqH,CAAC;AAAA,EAAC,CAAC,CAAC,IAAE,CAAC,EAAE,SAAU,CAAA;AAAC;AAAC,SAASmF,GAAG,GAAE;AAAC,WAAQ,IAAE,GAAE,IAAE,EAAE,QAAO,KAAG,GAAE;AAAC,QAAIxM,IAAE,EAAE,CAAC;AAAE,QAAGmJ,GAAGnJ,CAAC,KAAG,CAACoJ,GAAGpJ,CAAC,EAAE,QAAM;AAAA,EAAE;AAAC,SAAQ;AAAA;AAAI,IAACyM,KAAG5G,GAAEgB,EAAC,GAAE6F,KAAG,WAAU;AAAC,WAAS,EAAExG,GAAEkB,GAAE,GAAE;AAAC,SAAK,QAAMlB,GAAE,KAAK,gBAAc,IAAG,KAAK,WAAwB,QAAQ,IAAI,aAA3B,iBAA+C,MAAT,UAAY,EAAE,aAAWsG,GAAGtG,CAAC,GAAE,KAAK,cAAYkB,GAAE,KAAK,WAASY,GAAEyE,IAAGrF,CAAC,GAAE,KAAK,YAAU,GAAE6D,GAAG,WAAW7D,CAAC;AAAA,EAAC;AAAC,SAAO,EAAE,UAAU,0BAAwB,SAASlB,GAAEkB,GAAE,GAAE;AAAC,QAAI,IAAE,KAAK,YAAU,KAAK,UAAU,wBAAwBlB,GAAEkB,GAAE,CAAC,IAAE;AAAG,QAAG,KAAK,YAAU,CAAC,EAAE,KAAK,KAAG,KAAK,iBAAeA,EAAE,aAAa,KAAK,aAAY,KAAK,aAAa,EAAE,KAAEiC,GAAG,GAAE,KAAK,aAAa;AAAA,SAAM;AAAC,UAAI/B,IAAEgC,GAAGiD,GAAG,KAAK,OAAMrG,GAAEkB,GAAE,CAAC,CAAC,GAAErH,IAAE1E,GAAE2M,GAAE,KAAK,UAASV,CAAC,MAAI,CAAC;AAAE,UAAG,CAACF,EAAE,aAAa,KAAK,aAAYrH,CAAC,GAAE;AAAC,YAAInB,IAAE,EAAE0I,GAAE,IAAI,OAAOvH,CAAC,GAAE,QAAO,KAAK,WAAW;AAAE,QAAAqH,EAAE,YAAY,KAAK,aAAYrH,GAAEnB,CAAC;AAAA,MAAC;AAAC,UAAEyK,GAAG,GAAEtJ,CAAC,GAAE,KAAK,gBAAcA;AAAA,IAAC;AAAA,SAAK;AAAC,eAAQgG,IAAEiC,GAAE,KAAK,UAAS,EAAE,IAAI,GAAE/B,IAAE,IAAG3F,IAAE,GAAEA,IAAE,KAAK,MAAM,QAAOA,KAAI;AAAC,YAAIkK,IAAE,KAAK,MAAMlK,CAAC;AAAE,YAAa,OAAOkK,KAAjB,SAAmB,CAAAvE,KAAGuE,GAAiB,QAAQ,IAAI,aAA3B,iBAAsCzE,IAAEiC,GAAEjC,GAAEyE,CAAC;AAAA,iBAAWA,GAAE;AAAC,cAAIvK,IAAEqJ,GAAGiD,GAAG/B,GAAEtE,GAAEkB,GAAE,CAAC,CAAC;AAAE,UAAArB,IAAEiC,GAAEjC,GAAE9F,IAAEK,CAAC,GAAE2F,KAAGhG;AAAA,QAAC;AAAA,MAAC;AAAC,UAAGgG,GAAE;AAAC,YAAI0G,IAAEtR,GAAE0K,MAAI,CAAC;AAAE,QAAAqB,EAAE,aAAa,KAAK,aAAYuF,CAAC,KAAGvF,EAAE,YAAY,KAAK,aAAYuF,GAAE,EAAE1G,GAAE,IAAI,OAAO0G,CAAC,GAAE,QAAO,KAAK,WAAW,CAAC,GAAE,IAAEtD,GAAG,GAAEsD,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAO;AAAA,EAAC,GAAE;AAAC,EAAG,GAACC,KAAGvF,GAAE,cAAc,MAAM;AAAKuF,GAAG;AAA8c,IAAIC,KAAG,CAAE,GAACC,KAAG,oBAAI;AAAI,SAASC,GAAG,GAAEzF,GAAEvH,GAAE;AAAC,MAAInB,IAAEwK,GAAG,CAAC,GAAErD,IAAE,GAAEE,IAAE,CAACkC,GAAE,CAAC,GAAElI,IAAEqH,EAAE,OAAM,IAAWrH,MAAT,SAAW6F,KAAE7F,GAAEqM,IAAEhF,EAAE,aAAYnB,IAAWmG,MAAT,SAAW,SAASpG,GAAEkB,GAAE;AAAC,QAAIpH,IAAY,OAAOkG,KAAjB,WAAmB,OAAK0B,GAAE1B,CAAC;AAAE,IAAA2G,GAAG7M,CAAC,KAAG6M,GAAG7M,CAAC,KAAG,KAAG;AAAE,QAAIqH,IAAE,GAAG,OAAOrH,GAAE,GAAG,EAAE,OAAOiI,GAAEpB,KAAE7G,IAAE6M,GAAG7M,CAAC,CAAC,CAAC;AAAE,WAAOoH,IAAE,GAAG,OAAOA,GAAE,GAAG,EAAE,OAAOC,CAAC,IAAEA;AAAA,EAAC,EAAEC,EAAE,aAAYA,EAAE,iBAAiB,IAAEgF,GAAE1F,IAAEU,EAAE,aAAY1B,IAAWgB,MAAT,SAAW,SAASV,GAAE;AAAC,WAAOiC,GAAEjC,CAAC,IAAE,UAAU,OAAOA,CAAC,IAAE,UAAU,OAAOgC,GAAEhC,CAAC,GAAE,GAAG;AAAA,EAAC,EAAE,CAAC,IAAEU,GAAEE,IAAEQ,EAAE,eAAaA,EAAE,cAAY,GAAG,OAAOM,GAAEN,EAAE,WAAW,GAAE,GAAG,EAAE,OAAOA,EAAE,WAAW,IAAEA,EAAE,eAAanB,GAAEY,IAAEnI,KAAGmH,EAAE,QAAMA,EAAE,MAAM,OAAO,CAAC,EAAE,OAAO,OAAO,IAAE,GAAEiB,IAAEM,EAAE;AAAkB,MAAG1I,KAAGmH,EAAE,mBAAkB;AAAC,QAAIC,IAAED,EAAE;AAAkB,QAAGuB,EAAE,mBAAkB;AAAC,UAAIL,IAAEK,EAAE;AAAkB,MAAAN,IAAE,SAASd,GAAEkB,GAAE;AAAC,eAAOpB,EAAEE,GAAEkB,CAAC,KAAGH,EAAEf,GAAEkB,CAAC;AAAA,MAAC;AAAA,IAAC,MAAM,CAAAJ,IAAEhB;AAAA,EAAC;AAAC,MAAIkB,IAAE,IAAIwF,GAAG3M,GAAE+G,GAAElI,IAAEmH,EAAE,iBAAe,MAAM;AAAE,WAAS2B,EAAExB,GAAEoB,GAAE;AAAC,WAAO,SAASpB,GAAEoB,GAAEvH,GAAE;AAAC,UAAInB,IAAEsH,EAAE,OAAMH,KAAEG,EAAE,gBAAeD,KAAEC,EAAE,cAAajG,KAAEiG,EAAE,oBAAmByG,IAAEzG,EAAE,mBAAkBoG,KAAEpG,EAAE,QAAOC,KAAEkB,GAAE,WAAWuF,EAAE,GAAEhG,KAAEoF,GAAI,GAACpG,KAAEM,EAAE,qBAAmBU,GAAE;AAAkB,MAAe,QAAQ,IAAI,aAA3B,gBAAqCtG,GAAEqM,CAAC;AAAE,UAAI9F,KAAEW,GAAEF,GAAEnB,IAAEF,EAAC,KAAGsB,IAAET,IAAE,SAASZ,IAAElG,IAAEqH,IAAE;AAAC,iBAAQC,IAAEvH,KAAEqH,EAAEA,EAAE,CAAA,GAAGpH,EAAC,GAAE,EAAC,WAAU,QAAO,OAAMqH,GAAC,CAAC,GAAEzI,KAAE,GAAEA,KAAEsH,GAAE,QAAOtH,MAAG,GAAE;AAAC,cAAImH,KAAEoD,GAAG7B,KAAEpB,GAAEtH,EAAC,CAAC,IAAE0I,GAAEvH,EAAC,IAAEuH;AAAE,mBAAQrB,KAAKF,GAAE,CAAAhG,GAAEkG,CAAC,IAAgBA,MAAd,cAAgBoD,GAAGtJ,GAAEkG,CAAC,GAAEF,GAAEE,CAAC,CAAC,IAAYA,MAAV,UAAYmB,EAAEA,EAAE,CAAE,GAACrH,GAAEkG,CAAC,CAAC,GAAEF,GAAEE,CAAC,CAAC,IAAEF,GAAEE,CAAC;AAAA,QAAC;AAAC,eAAOjG,GAAE,cAAYD,GAAE,YAAUsJ,GAAGtJ,GAAE,WAAUC,GAAE,SAAS,IAAGD;AAAA,MAAC,EAAEnB,GAAE0I,GAAET,EAAC,GAAEE,KAAED,EAAE,MAAIwF,IAAEtF,IAAE,CAAE;AAAC,eAAQhB,KAAKc,EAAQ,CAAGA,EAAEd,CAAC,MAAN,UAAeA,EAAE,CAAC,MAAT,OAAmBA,MAAP,QAAoBA,MAAV,WAAac,EAAE,UAAQD,OAAoBb,MAAhB,gBAAkBgB,EAAE,KAAGF,EAAE,cAAYlB,MAAG,CAACA,GAAEI,GAAEe,EAAC,MAAIC,EAAEhB,CAAC,IAAEc,EAAEd,CAAC,GAAEJ,MAAmB,QAAQ,IAAI,aAA5B,iBAAsC5F,GAAEgG,CAAC,KAAG8G,GAAG,IAAI9G,CAAC,KAAG,CAACyB,GAAE,IAAIV,EAAC,MAAI+F,GAAG,IAAI9G,CAAC,GAAE,QAAQ,KAAK,qDAAqD,OAAOA,GAAE,sVAAsV,CAAC;AAAK,UAAIiB,KAAE,SAASf,IAAEkB,IAAE;AAAC,YAAIpH,KAAEgM,GAAE,GAAG3E,KAAEnB,GAAE,wBAAwBkB,IAAEpH,GAAE,YAAWA,GAAE,MAAM;AAAE,eAAqB,QAAQ,IAAI,aAA3B,gBAAqCM,GAAE+G,EAAC,GAAEA;AAAA,MAAC,EAAEtB,IAAEe,CAAC;AAAE,MAAe,QAAQ,IAAI,aAA3B,gBAAqCZ,EAAE,sBAAoBA,EAAE,mBAAmBe,EAAC;AAAE,UAAIC,KAAEmC,GAAGpJ,IAAE0M,CAAC;AAAE,aAAO1F,OAAIC,MAAG,MAAID,KAAGH,EAAE,cAAYI,MAAG,MAAIJ,EAAE,YAAWE,EAAEmB,GAAEpB,EAAC,KAAG,CAACU,GAAE,IAAIV,EAAC,IAAE,UAAQ,WAAW,IAAEG,IAAEnH,MAAIiH,EAAE,MAAIjH,IAAGyK,GAAEzD,IAAEC,CAAC;AAAA,IAAC,EAAEW,GAAEzB,GAAEoB,CAAC;AAAA,EAAC;AAAC,EAAAI,EAAE,cAAY9B;AAAE,MAAI+B,IAAEN,GAAE,WAAWK,CAAC;AAAE,SAAOC,EAAE,QAAMZ,GAAEY,EAAE,iBAAeT,GAAES,EAAE,cAAY/B,GAAE+B,EAAE,oBAAkBX,GAAEW,EAAE,qBAAmB/I,IAAEyK,GAAGtD,EAAE,oBAAmBA,EAAE,iBAAiB,IAAE,IAAG4B,EAAE,oBAAkBb,GAAEa,EAAE,SAAO/I,IAAEmH,EAAE,SAAO,GAAE,OAAO,eAAe4B,GAAE,gBAAe,EAAC,KAAI,WAAU;AAAC,WAAO,KAAK;AAAA,EAAmB,GAAE,KAAI,SAASzB,GAAE;AAAC,SAAK,sBAAoBtH,IAAE,SAASsH,GAAE;AAAC,eAAQkB,IAAE,CAAA,GAAGpH,IAAE,GAAEA,IAAE,UAAU,QAAOA,IAAI,CAAAoH,EAAEpH,IAAE,CAAC,IAAE,UAAUA,CAAC;AAAE,eAAQqH,IAAE,GAAEC,IAAEF,GAAEC,IAAEC,EAAE,QAAOD,IAAI,CAAAmC,GAAGtD,GAAEoB,EAAED,CAAC,GAAE,EAAE;AAAE,aAAOnB;AAAA,IAAC,EAAE,CAAE,GAACH,EAAE,cAAaG,CAAC,IAAEA;AAAA,EAAC,EAAC,CAAC,GAAiB,QAAQ,IAAI,aAA3B,iBAAsCiB,GAAEvB,GAAEkB,CAAC,GAAEa,EAAE,qBAAmB,yBAASzB,GAAEkB,GAAE;AAAC,QAAIpH,IAAE,CAAA,GAAGqH,IAAE;AAAG,WAAO,SAASC,GAAE;AAAC,UAAG,CAACD,MAAIrH,EAAEsH,CAAC,IAAE,IAAG,OAAO,KAAKtH,CAAC,EAAE,UAAQ,MAAK;AAAC,YAAID,IAAEqH,IAAE,oBAAoB,OAAOA,GAAE,GAAG,IAAE;AAAG,gBAAQ,KAAK,QAAQ,OAAO,KAAI,wCAAwC,EAAE,OAAOlB,CAAC,EAAE,OAAOnG,GAAE;AAAA,CAAK,IAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAA6P,GAAEsH,IAAE,IAAGrH,IAAE,CAAA;AAAA,MAAE;AAAA,IAAC;AAAA,EAAC,EAAE4F,GAAEkB,CAAC,IAAG2C,GAAG9B,GAAE,WAAU;AAAC,WAAM,IAAI,OAAOA,EAAE,iBAAiB;AAAA,EAAC,CAAC,GAAE1B,KAAGiD,GAAGvB,GAAE,GAAE,EAAC,OAAM,IAAG,gBAAe,IAAG,aAAY,IAAG,oBAAmB,IAAG,mBAAkB,IAAG,mBAAkB,IAAG,QAAO,GAAE,CAAC,GAAEA;AAAC;AAAC,SAASqF,GAAG,GAAE,GAAE;AAAC,WAAQhN,IAAE,CAAC,EAAE,CAAC,CAAC,GAAEqH,IAAE,GAAEC,IAAE,EAAE,QAAOD,IAAEC,GAAED,KAAG,EAAE,CAAArH,EAAE,KAAK,EAAEqH,CAAC,GAAE,EAAEA,IAAE,CAAC,CAAC;AAAE,SAAOrH;AAAC;AAAC,IAAIiN,KAAG,SAAS,GAAE;AAAC,SAAO,OAAO,OAAO,GAAE,EAAC,OAAM,GAAE,CAAC;AAAC;AAAE,SAASC,GAAG9F,GAAE;AAAC,WAAQpH,IAAE,CAAE,GAACqH,IAAE,GAAEA,IAAE,UAAU,QAAOA,IAAI,CAAArH,EAAEqH,IAAE,CAAC,IAAE,UAAUA,CAAC;AAAE,MAAG8B,GAAG/B,CAAC,KAAGmC,GAAGnC,CAAC,EAAE,QAAO6F,GAAGV,GAAGS,GAAGlH,IAAEI,GAAE,CAACkB,CAAC,GAAEpH,GAAE,EAAE,CAAC,CAAC,CAAC;AAAE,MAAIsH,IAAEF;AAAE,SAAWpH,EAAE,WAAN,KAAkBsH,EAAE,WAAN,KAAwB,OAAOA,EAAE,CAAC,KAApB,WAAsBiF,GAAGjF,CAAC,IAAE2F,GAAGV,GAAGS,GAAG1F,GAAEtH,CAAC,CAAC,CAAC;AAAC;AAAC,SAASmN,GAAGnN,GAAEqH,GAAE,GAAE;AAAC,MAAY,MAAT,WAAa,IAAEE,KAAG,CAACF,EAAE,OAAMuC,GAAG,GAAEvC,CAAC;AAAE,MAAItH,IAAE,SAASqH,GAAE;AAAC,aAAQrH,IAAE,CAAE,GAACnB,IAAE,GAAEA,IAAE,UAAU,QAAOA,IAAI,CAAAmB,EAAEnB,IAAE,CAAC,IAAE,UAAUA,CAAC;AAAE,WAAOoB,EAAEqH,GAAE,GAAE6F,GAAG,MAAM,QAAOhH,GAAE,CAACkB,CAAC,GAAErH,GAAE,EAAE,CAAC,CAAC;AAAA,EAAC;AAAE,SAAOA,EAAE,QAAM,SAASmG,GAAE;AAAC,WAAOiH,GAAGnN,GAAEqH,GAAED,EAAEA,EAAE,CAAA,GAAG,CAAC,GAAE,EAAC,OAAM,MAAM,UAAU,OAAO,EAAE,OAAMlB,CAAC,EAAE,OAAO,OAAO,EAAC,CAAC,CAAC;AAAA,EAAC,GAAEnG,EAAE,aAAW,SAASmG,GAAE;AAAC,WAAOiH,GAAGnN,GAAEqH,GAAED,EAAEA,EAAE,CAAE,GAAC,CAAC,GAAElB,CAAC,CAAC;AAAA,EAAC,GAAEnG;AAAC;AAAC,IAAIqN,KAAG,SAAS,GAAE;AAAC,SAAOD,GAAGJ,IAAG,CAAC;AAAC,GAAEM,IAAGD;AAAG3F,GAAE,QAAQ,SAAS,GAAE;AAAC,EAAA4F,EAAG,CAAC,IAAED,GAAG,CAAC;AAAC,CAAC;AAA28G,QAAQ,IAAI,aAA3B,gBAAkD,OAAO,YAApB,OAA+C,UAAU,YAA1B,iBAAmC,QAAQ,KAAK;AAAA;AAAA,mFAAsN;AAAE,IAAIE,KAAG,QAAQ,OAAOnH,IAAE,IAAI;AAAiB,QAAQ,IAAI,aAA3B,gBAA8C,QAAQ,IAAI,aAArB,UAA4C,OAAO,SAApB,QAA6B,OAAOmH,EAAE,MAAI,OAAOA,EAAE,IAAE,IAAO,OAAOA,EAAE,MAAb,KAAgB,QAAQ,KAAK;AAAA;AAAA,0CAA0T,GAAE,OAAOA,EAAE,KAAG;ACAxz4B,MAAMC,KAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAiClBC,KAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GChCnBC,KAAqB,OAAO,OAAO;AAAA;AAAA;AAAA,EAG9C,QAAQ;AAAA;AAAA;AAAA,EAGR,iBAAiB;AAAA;AAAA;AAAA,EAGjB,kBAAkB;AAAA;AAAA;AAAA,EAGlB,SAAS;AAAA;AAAA;AAAA,EAGT,UAAU;AACZ,CAAC,GCfYC,KAA8B;AAAA;AAAA,EAEzC,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,4BAA4B;AAAA;AAAA,EAE5B,gBACE;AAAA;AAAA,EAEF,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,gBAAgB;AAAA;AAAA,EAEhB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,mBAAmB;AAAA;AAAA,EAEnB,WAAW;AAAA,EACX,YAAY;AAAA;AAAA,EAEZ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,eAAe;AAAA;AAAA,EAEf,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AACf,GAEaC,KAA6B;AAAA;AAAA,EAExC,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,4BAA4B;AAAA;AAAA,EAE5B,gBAAgB;AAAA;AAAA,EAEhB,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,gBAAgB;AAAA;AAAA,EAEhB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,mBAAmB;AAAA;AAAA,EAEnB,WAAW;AAAA,EACX,YAAY;AAAA;AAAA,EAEZ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,eAAe;AAAA;AAAA,EAEf,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AACf,GCpEaC,KAAqBC,EAAO;AAAA,aAC5B,CAAC,EAAE,UAAAC,EAAA,MAAgBA,IAAW,UAAU,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAM/C,CAAC/S,MAAUA,EAAM,OAAO,WAAW;AAAA,sBAC1B,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA,YACrD,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,WACrC,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA,aACrC,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,eAC/B,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,iBACnC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,mBACpC,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,gBAC5C,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA,IAG7CwS,EAAe;AAAA,GCTbQ,KAA8D,CAAC;AAAA,EACnE,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,SAAAC,IAAU;AAAA,EACV,OAAAC;AAAA,EACA,OAAAC;AACF,MAEKC,gBAAAA,EAAAA,IAAAV,IAAA,EAAmB,IAAII,GAAS,UAAUG,GAAS,eAAaF,GAAQ,OAAAG,GAAc,QAAQC,GAAO,eAAa,CAACF,GACjH,UACHD,GAAA;ACvBJ,SAASK,GAAc,EAAE,OAAAC,GAAO,GAAGC,KAAkC;AACnE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,+JAA+J,CAAA;AAAA,EAAA,GACzK;AAEJ;ACPA,SAASK,GAAY,EAAE,OAAAH,GAAO,GAAGC,KAAkC;AACjE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,sIAAsI,CAAA;AAAA,EAAA,GAChJ;AAEJ;ACPA,SAASM,GAAS,EAAE,OAAAJ,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACvBF,gBAAAA,EAAA,IAAA,QAAA,EAAK,MAAK,QAAO,QAAO,gBAAe,eAAc,SAAQ,gBAAe,SAAQ,aAAa,IAAI,GAAE,2BAA2B,CAAA;AAAA,EAAA,GACrI;AAEJ;ACPA,SAASO,GAAW,EAAE,OAAAL,GAAO,GAAGC,KAAkC;AAChE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,gBAAe,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACrF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,wYAAwY,CAAA;AAAA,EAAA,GAClZ;AAEJ;ACPA,SAASQ,GAAoB,EAAE,OAAAN,GAAO,GAAGC,KAAkC;AACzE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACVA,SAASS,GAAsB,EAAE,OAAAP,GAAO,GAAGC,KAAkC;AAC3E,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACvBF,gBAAAA,EAAA,IAAA,QAAA,EAAK,MAAK,gBAAe,GAAE,6FAA6F,CAAA;AAAA,EAAA,GAC3H;AAEJ;ACPA,SAASU,GAAc,EAAE,OAAAR,GAAO,GAAGC,KAAkC;AACnE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,uLAAuL,CAAA;AAAA,EAAA,GACjM;AAEJ;ACPA,SAASW,GAAgB,EAAE,OAAAT,GAAO,GAAGC,KAAkC;AACrE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACVA,SAASY,GAAgB,EAAE,OAAAV,GAAO,GAAGC,KAAkC;AACrE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACVA,SAASa,GAAiB,EAAE,OAAAX,GAAO,GAAGC,KAAkC;AACtE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACVA,SAASc,GAAc,EAAE,OAAAZ,GAAO,GAAGC,KAAkC;AACnE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACvBF,gBAAAA,EAAA,IAAA,QAAA,EAAK,UAAS,WAAU,GAAE,kGAAkG,CAAA;AAAA,EAAA,GAC/H;AAEJ;ACPA,SAASe,GAAU,EAAE,OAAAb,GAAO,GAAGC,KAAkC;AAC/D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACvBF,gBAAAA,EAAA,IAAA,QAAA,EACC,UAACA,gBAAAA,EAAA,IAAA,SAAA,CAAM,CAAA,GACT;AAAA,IACAA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,kdAAkd,CAAA;AAAA,EAAA,GAC5d;AAEJ;ACVA,SAASgB,GAAS,EAAE,OAAAd,GAAO,GAAGC,KAAkC;AAE5D,SAAAC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,QAAO;AAAA,MACP,eAAc;AAAA,MACd,gBAAe;AAAA,MACf,aAAa;AAAA,MACb,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,OAAM;AAAA,MACL,GAAGD;AAAA,MAEH,UAAA;AAAA,QAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,QACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,4FAA4F,CAAA;AAAA,QACpGA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,qDAAqD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC/D;AAEJ;AClBA,SAASiB,GAAQ,EAAE,OAAAf,GAAO,GAAGC,KAAkC;AAE3D,SAAAC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,QAAO;AAAA,MACP,eAAc;AAAA,MACd,gBAAe;AAAA,MACf,aAAa;AAAA,MACb,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,OAAM;AAAA,MACN,MAAK;AAAA,MACJ,GAAGD;AAAA,MAEH,UAAA;AAAA,QAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,QACvBF,gBAAAA,EAAA,IAAA,QAAA,EAAK,QAAO,QAAO,GAAE,iBAAgB;AAAA,QACtCA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,4DAA4D,CAAA;AAAA,QACpEA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,8DAA8D,CAAA;AAAA,QACtEA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,kCAAkC,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC5C;AAEJ;ACrBA,SAASkB,GAAW,EAAE,OAAAhB,GAAO,GAAGC,KAAkC;AAChE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,sVAAsV,CAAA;AAAA,EAAA,GAChW;AAEJ;ACPA,SAASmB,GAAa,EAAE,OAAAjB,GAAO,GAAGC,KAAkC;AAClE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,gTAAgT,CAAA;AAAA,EAAA,GAC1T;AAEJ;ACPA,SAASoB,GAAU,EAAE,OAAAlB,GAAO,GAAGC,KAAkC;AAC/D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,4BAA4B,CAAA;AAAA,IACpCA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,wRAAwR,CAAA;AAAA,EAAA,GAClS;AAEJ;ACRA,SAASqB,GAAY,EAAE,OAAAnB,GAAO,GAAGC,KAAkC;AACjE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACvBF,gBAAAA,EAAA,IAAA,QAAA,EAAK,MAAK,QAAO,QAAO,gBAAe,eAAc,SAAQ,gBAAe,SAAQ,aAAa,IAAI,GAAE,2BAA2B,CAAA;AAAA,EAAA,GACrI;AAEJ;ACPA,MAAMsB,KAAe,CAAC,EAAE,OAAApB,GAAO,GAAGC,EAAK,6BACpC,OAAI,EAAA,OAAM,OAAM,QAAO,OAAM,MAAK,gBAAe,SAAQ,eAAc,MAAK,OAAO,GAAGA,GACpF,UAAA;AAAA,EAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,EACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,shBAAshB,CAAA;AAAA,GAChiB;ACJF,SAASuB,GAAS,EAAE,OAAArB,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,2yBAA2yB,CAAA;AAAA,EAAA,GACrzB;AAEJ;ACPA,SAASwB,GAAS,EAAE,OAAAtB,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,klBAAklB,CAAA;AAAA,EAAA,GAC5lB;AAEJ;ACPA,MAAMyB,KAAW,CAAC,EAAE,OAAAvB,GAAO,GAAGC,EAAK,6BAChC,OAAI,EAAA,OAAM,OAAM,QAAO,OAAM,MAAK,gBAAe,SAAQ,iBAAgB,MAAK,OAAO,GAAGA,GACtF,UAAA;AAAA,EAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,EACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,wXAAwX,CAAA;AAAA,GAClY;ACJF,SAAS0B,GAAS,EAAE,OAAAxB,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,gLAAgL,CAAA;AAAA,IACxLA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,mIAAmI,CAAA;AAAA,EAAA,GAC7I;AAEJ;ACRA,MAAM2B,KAAY,CAAC,EAAE,OAAAzB,GAAO,GAAGC,EAAK,6BACjC,OAAI,EAAA,OAAM,OAAM,QAAO,OAAM,MAAK,gBAAe,SAAQ,iBAAgB,MAAK,OAAO,GAAGA,GACtF,UAAA;AAAA,EAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,EACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,gxBAAgxB,CAAA;AAAA,GAC1xB;ACJF,SAAS4B,GAAU,EAAE,OAAA1B,GAAO,GAAGC,KAAkC;AAC/D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,2OAA2O,CAAA;AAAA,EAAA,GACrP;AAEJ;ACPA,SAAS6B,GAAa,EAAE,OAAA3B,GAAO,GAAGC,KAAkC;AAClE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,MAAK,QAAO,QAAO,gBAAe,kBAAkB,IAAI,aAAa,IAAI,GAAE,kDAAkD,CAAA;AAAA,IACnIA,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,eAAc;AAAA,QACd,kBAAkB;AAAA,QAClB,aAAa;AAAA,QACb,GAAE;AAAA,MAAA;AAAA,IACJ;AAAA,IACAA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,4EAA4E,CAAA;AAAA,EAAA,GACtF;AAEJ;AChBA,SAAS8B,GAAW,EAAE,OAAA5B,GAAO,GAAGC,KAAkC;AAChE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,gBAAe;AAAA,QACf,aAAa;AAAA,QACb,GAAE;AAAA,MAAA;AAAA,IACJ;AAAA,IACAA,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,eAAc;AAAA,QACd,gBAAe;AAAA,QACf,aAAa;AAAA,QACb,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACrBA,SAAS+B,GAAS,EAAE,OAAA7B,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,ibAAib,CAAA;AAAA,EAAA,GAC3b;AAEJ;ACPA,SAASgC,GAAS,EAAE,OAAA9B,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,wFAAwF,CAAA;AAAA,IAChGA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,oRAAoR,CAAA;AAAA,EAAA,GAC9R;AAEJ;ACRA,SAASiC,GAAW,EAAE,OAAA/B,GAAO,GAAGC,KAAkC;AAChE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACxBF,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,8HAA8H,CAAA;AAAA,IACtIA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,8HAA8H,CAAA;AAAA,EAAA,GACxI;AAEJ;ACRA,SAASkC,GAAY,EAAE,OAAAhC,GAAO,GAAGC,KAAkC;AACjE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAF,gBAAAA,EAAAA,IAAC,WAAO,UAAME,EAAA,CAAA;AAAA,IACvBF,gBAAAA,EAAA,IAAA,QAAA,EAAK,MAAK,QAAO,GAAE,iBAAgB;AAAA,IACpCA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,0OAA0O,CAAA;AAAA,EAAA,GACpP;AAEJ;ACVY,IAAAmC,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,QAAQ,SACRA,EAAA,UAAU,WACVA,EAAA,OAAO,QACPA,EAAA,OAAO,QALGA,IAAAA,KAAA,CAAA,CAAA,GCAAC,uBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,OAAO,QACPA,EAAA,OAAO,QAHGA,IAAAA,MAAA,CAAA,CAAA,GCAAC,sBAAAA,OACVA,EAAA,YAAY,cACZA,EAAA,UAAU,YACVA,EAAA,OAAO,QACPA,EAAA,SAAS,UACTA,EAAA,kBAAkB,oBAClBA,EAAA,oBAAoB,sBACpBA,EAAA,YAAY,cACZA,EAAA,cAAc,gBACdA,EAAA,cAAc,gBACdA,EAAA,eAAe,iBACfA,EAAA,YAAY,cACZA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,MAAM,OACNA,EAAA,SAAS,UACTA,EAAA,WAAW,YACXA,EAAA,QAAQ,SACRA,EAAA,UAAU,WACVA,EAAA,WAAW,YACXA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,SAAS,UACTA,EAAA,UAAU,WACVA,EAAA,SAAS,UA/BCA,IAAAA,KAAA,CAAA,CAAA,GCAAC,uBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,SAAS,UACTA,EAAA,WAAW,YATDA,IAAAA,MAAA,CAAA,CAAA,GCAAC,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,aAAa,cAFHA,IAAAA,KAAA,CAAA,CAAA,GCAAC,uBAAAA,OACVA,EAAA,QAAQ,SACRA,EAAA,OAAO,QAFGA,IAAAA,MAAA,CAAA,CAAA,GCAAC,uBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,MAAM,OACNA,EAAA,IAAI,KACJA,EAAA,SAAS,UACTA,EAAA,KAAK,MALKA,IAAAA,MAAA,CAAA,CAAA;ACqCL,MAAMC,KAA0C;AAAA,EACrD,CAACL,EAAkB,SAAS,GAAGpC;AAAA,EAC/B,CAACoC,EAAkB,OAAO,GAAGhC;AAAA,EAC7B,CAACgC,EAAkB,IAAI,GAAG/B;AAAA,EAC1B,CAAC+B,EAAkB,MAAM,GAAG9B;AAAA,EAC5B,CAAC8B,EAAkB,eAAe,GAAG7B;AAAA,EACrC,CAAC6B,EAAkB,iBAAiB,GAAG5B;AAAA,EACvC,CAAC4B,EAAkB,SAAS,GAAG3B;AAAA,EAC/B,CAAC2B,EAAkB,WAAW,GAAG1B;AAAA,EACjC,CAAC0B,EAAkB,SAAS,GAAGvB;AAAA,EAC/B,CAACuB,EAAkB,WAAW,GAAGzB;AAAA,EACjC,CAACyB,EAAkB,YAAY,GAAGxB;AAAA,EAClC,CAACwB,EAAkB,KAAK,GAAGtB;AAAA,EAC3B,CAACsB,EAAkB,IAAI,GAAGrB;AAAA,EAC1B,CAACqB,EAAkB,GAAG,GAAGpB;AAAA,EACzB,CAACoB,EAAkB,MAAM,GAAGnB;AAAA,EAC5B,CAACmB,EAAkB,QAAQ,GAAGlB;AAAA,EAC9B,CAACkB,EAAkB,KAAK,GAAGjB;AAAA,EAC3B,CAACiB,EAAkB,OAAO,GAAGhB;AAAA,EAC7B,CAACgB,EAAkB,QAAQ,GAAGf;AAAA,EAC9B,CAACe,EAAkB,IAAI,GAAGd;AAAA,EAC1B,CAACc,EAAkB,IAAI,GAAGb;AAAA,EAC1B,CAACa,EAAkB,IAAI,GAAGZ;AAAA,EAC1B,CAACY,EAAkB,IAAI,GAAGX;AAAA,EAC1B,CAACW,EAAkB,KAAK,GAAGV;AAAA,EAC3B,CAACU,EAAkB,KAAK,GAAGT;AAAA,EAC3B,CAACS,EAAkB,QAAQ,GAAGR;AAAA,EAC9B,CAACQ,EAAkB,IAAI,GAAGN;AAAA,EAC1B,CAACM,EAAkB,IAAI,GAAGL;AAAA,EAC1B,CAACK,EAAkB,MAAM,GAAGJ;AAAA,EAC5B,CAACI,EAAkB,OAAO,GAAGH;AAAA,EAC7B,CAACG,EAAkB,MAAM,GAAGP;AAC9B,GCjEMa,KAA8C,CAAC,EAAE,MAAA9V,GAAM,QAAA8S,GAAQ,GAAGQ,QAAW;AAC7E,MAAA,CAACtT,EAAa,QAAA;AACZ,QAAA+V,IAAYF,GAAwB7V,CAAI;AAE9C,SAAQmT,gBAAAA,EAAAA,IAAA4C,GAAA,EAAU,eAAajD,GAAS,GAAGQ,GAAM;AACnD,GCNa0C,KAAyBtD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,eAK9B,CAAC9S,MAAUA,EAAM,OAAO,YAAY;AAAA,WACxC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA;AAAA;AAAA;AAAA,eAIlC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,aAKvC,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,cAKtC,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA,aACjC,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCTvCqW,KAAoD,CAAC,EAAE,SAAAC,GAAS,OAAAC,GAAO,MAAAC,GAAM,UAAAC,GAAU,OAAAnD,QAExFC,gBAAAA,EAAAA,IAAA6C,IAAA,EAAuB,SAAAE,GAAkB,cAAYC,GAAO,MAAK,UAAS,UAAAE,GAAoB,QAAQnD,GACrG,UAAAC,gBAAAA,MAAC2C,IAAc,EAAA,MAAMM,EAAM,CAAA,GAC7B,GChBSE,KAAc5D,EAAO;AAAA;AAAA;AAAA,eAGnB,CAAC9S,MAAUA,EAAM,OAAO,aAAa;AAAA,iBACnC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,SAC9C,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA,WAC9B,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA,mBAG7B,CAACA,MAAUA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAYxC,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA,mBACjC,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA;AAAA,GCT7C2W,KAAmE,CAAC;AAAA,EACxE,OAAAJ;AAAA,EACA,UAAAK;AAAA,EACA,SAAAC;AAAA,EACA,OAAAvD;AAAA,EACA,MAAAkD;AAAA,EACA,cAAAM;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,OAAA1D;AACF,MAAM;AACJ,QAAM2D,IAAoB,CAAC,CAACR,KAAQM,MAAiB,QAC/CG,IAAqB,CAAC,CAACT,KAAQM,MAAiB;AAEtD,gCACGJ,IAAY,EAAA,SAASG,GAAS,OAAAxD,GAAc,QAAQC,GAClD,UAAA;AAAA,IAAqB0D,KAAAR;AAAA,IACrB,CAACO,KACApD,gBAAAA,EAAAA,KAAC,QACE,EAAA,UAAA;AAAA,MAAA4C;AAAA,MACAK,KAAYrD,gBAAAA,EAAA,IAAC,QAAK,EAAA,OAAM,YAAW,UAAC,IAAA,CAAA;AAAA,IAAA,GACvC;AAAA,IAED0D,KAAsBT;AAAA,EAAA,GACzB;AAEJ;ACjCO,SAASU,GAA8Bf,GAAmE;AACxG,SAAA,CAAC,EAAE,SAAAgB,GAAS,WAAAC,GAAW,GAAGpX,EAAM,MACrCmX,KAAA,QAAAA,EAAS,SACN5D,gBAAAA,EAAA,IAAA8D,IAAA,EAAiB,gBAAgBF,GAAS,WAAAC,GACzC,UAAC7D,gBAAAA,EAAA,IAAA4C,GAAA,EAAW,GAAInW,EAAa,CAAA,GAC/B,IAEAuT,gBAAAA,MAAC4C,GAAW,EAAA,GAAInW,EAAa,CAAA;AAEnC;ACdO,MAAMsX,KAAuB5S,GAAM,cAAyC,CAAE,CAAA,GCCxE6S,KAAwB7S,GAAM,cAA0C;AAAA,EACnF,MAAMqR,GAAmB;AAC3B,CAAC;ACFe,SAAAyB,GAAkBC,GAAyBC,GAAuD;AAC1G,QAAAC,IAA+BF,MAAS,SAAS7E,KAAaD;AAEpE,MAAI+E;AACF,eAAW1Z,KAAO0Z,GAAa;AAC7B,YAAME,IAAgB5Z;AACtB,MAAI,OAAO,UAAU,eAAe,KAAK2Z,GAAcC,CAAa,MAClED,EAAaC,CAAa,IAAKF,EAAYE,CAAa,EAAa,SAAS;AAAA,IAChF;AAIG,SAAAD;AACT;ACjBO,SAASE,GAAuBC,GAAY;AAC3C,QAAA3T,IAAU,SAAS,eAAe2T,CAAE;AAEtC,EAAA3T,OAAiB,MAAM;AAC7B;ACCO,SAAS4T,GAA2B;AAAA,EACzC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AACF,GAIG;AACD,MAAIC,IAAoB;AAChB,EAAAF,EAAA,QAAQ,CAAC/Y,MAAU;AAErB,IADY,SAAS,eAAeA,EAAM,EAAE,MAChC,SAAS,kBACvBiZ,IAAYjZ,EAAM;AAAA,EACpB,CACD;AAED,QAAMkZ,IAAoBH,EAAQ,UAAU,CAAC/Y,MAAUA,EAAM,OAAOiZ,CAAS;AAE7E,UAAQ,EAAE,KAAK;AAAA,IACb,KAAK;AACH,QAAE,eAAe,GACTD,EAAA;AACR;AAAA,IACF,KAAK,WAAW;AACd,QAAE,eAAe;AACjB,YAAMG,IAAsBD,IAAoB,KAAK,IAAIA,IAAoB,IAAIH,EAAQ,SAAS,GAC5FK,IAAgBL,EAAQI,CAAmB;AAC7C,MAAAC,KAAsCR,GAAAQ,EAAc,EAAE;AAC1D;AAAA,IAAA;AAAA,IAEF,KAAK;AAAA,IACL,KAAK,OAAO;AACV,QAAE,eAAe;AACjB,YAAMC,IAAkBH,MAAsBH,EAAQ,SAAS,IAAI,IAAIG,IAAoB,GACrFI,IAAYP,EAAQM,CAAe;AACrC,MAAAC,KAAkCV,GAAAU,EAAU,EAAE;AAClD;AAAA,IAAA;AAAA,EACF;AAEJ;ACzCO,MAAMC,IAAoB,MAAM;AACrC,QAAM,EAAE,aAAAd,GAAa,MAAAD,MAASgB,GAAWlB,EAAqB;AAEvD,SAAAC,GAAkBC,GAAMC,CAAW;AAC5C,GCAagB,KAAkB,CAAC,EAAE,KAAAC,GAAK,uBAAAC,GAAuB,cAAAC,QAAgD;AAC5G,EAAAC,GAAU,MAAM;AACR,UAAAC,IAAqB,CAACC,MAAsB;AAC1C,YAAAC,KAAeN,KAAA,gBAAAA,EAAK,YAAW,CAACA,EAAI,QAAQ,SAASK,EAAM,MAAc,GACzEE,IAAyBL,KAAA,QAAAA,EAAc,UAAiB,CAACA,EAAa,QAAQ,SAASG,EAAM,MAAc,IAA1D;AACvD,MAAIC,KAAgBC,KACIN,EAAA;AAAA,IAE1B;AAES,oBAAA,iBAAiB,aAAaG,CAAkB,GAClD,MAAM;AACF,eAAA,oBAAoB,aAAaA,CAAkB;AAAA,IAC9D;AAAA,EACC,GAAA,CAACJ,GAAKE,GAAcD,CAAqB,CAAC;AAC/C,GCdaO,KAAyB,CAAC,EAAE,KAAAR,GAAK,WAAAS,QAA0D;AAChG,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAAqB,EAAE,OAAO,GAAG,QAAQ,GAAG;AAEhF,SAAAT,GAAU,MAAM;AACV,IAAAH,KAAA,QAAAA,EAAK,WAAWS,KACJE,EAAA;AAAA,MACZ,OAAOX,EAAI,QAAQ;AAAA,MACnB,QAAQA,EAAI,QAAQ;AAAA,IAAA,CACrB;AAAA,EACH,GACC,CAACA,GAAKS,CAAS,CAAC,GAEZC;AACT;ACpBO,SAASG,GAAc1B,GAAa;AACzC,QAAM2B,IAAWC,GAAM,GACjBC,IAAY7B,KAAM2B,GAClBxG,IAAU,GAAG0G,CAAS,UACtBC,IAAa,GAAGD,CAAS;AAExB,SAAA;AAAA,IACL,WAAAA;AAAA,IACA,SAAA1G;AAAA,IACA,YAAA2G;AAAA,EACF;AACF;ACLO,MAAMC,KAAc,CAAC,EAAE,KAAAlB,GAAK,SAAAmB,GAAS,YAAAC,QAAoC;AAC9E,EAAAjB,GAAU,MAAM;AACR,UAAAkB,IAAiB,CAAC7O,MAAqB;AAC3C,OAAIA,KAAA,gBAAAA,EAAG,UAAS2O,MAAWnB,KAAA,QAAAA,EAAK,YACnBoB,EAAA;AAAA,IAEf;AAES,oBAAA,iBAAiB,WAAWC,GAAgB,EAAK,GACnD,MAAM;AACF,eAAA,oBAAoB,WAAWA,GAAgB,EAAK;AAAA,IAC/D;AAAA,EACC,GAAA,CAACrB,GAAKmB,GAASC,CAAU,CAAC;AAC/B,GCdaE,KAAoB,CAAC,EAAE,UAAAC,GAAU,UAAAC,QAAqC;AACjF,EAAArB,GAAU,MAAM;AACd,UAAMsB,IAAeF,EAAS;AAC1B,QAAA,CAACC,KAAY,CAACC,EAAc;AAE1B,UAAAC,IAAoBD,EAAa,iBAAiB,0EAA0E,GAC5HE,IAAeD,EAAkB,CAAC,GAClCE,IAAcF,EAAkBA,EAAkB,SAAS,CAAC,GAE5DG,IAAoB,CAACxB,MAAyB;AAC9C,MAAAA,EAAM,QAAQ,UACZA,EAAM,YAAY,SAAS,kBAAkBsB,KAC/CtB,EAAM,eAAe,GACrBuB,EAAY,MAAM,KACT,CAACvB,EAAM,YAAY,SAAS,kBAAkBuB,MACvDvB,EAAM,eAAe,GACrBsB,EAAa,MAAM;AAAA,IAGzB;AAEa,WAAAF,EAAA,iBAAiB,WAAWI,CAAiB,GAEnD,MAAM;AACE,MAAAJ,EAAA,oBAAoB,WAAWI,CAAiB;AAAA,IAC/D;AAAA,EAAA,GACC,CAACN,GAAUC,CAAQ,CAAC;AACzB,GChCaM,KAAW,CAACN,GAAmBO,IAAgB,QAAiB;AAC3E,QAAM,CAACC,GAAWC,CAAY,IAAIrB,EAAS,EAAK;AAEhD,SAAAT,GAAU,MAAM;AACV,IAAAqB,KAAY,CAACQ,IACfC,EAAa,EAAI,IACR,CAACT,KAAYQ,KACtB,WAAW,MAAM;AACf,MAAAC,EAAa,EAAK;AAAA,OACjBF,CAAK;AAAA,EACV,GACC,CAACP,CAAQ,CAAC,GAENQ;AACT,GCbaE,KAAoB,CAACC,MAAwB;AACxD,QAAM,EAAE,aAAAC,EAAA,IAAgBtC,GAAWnB,EAAoB;AAEvD,EAAAwB,GAAU,MAAM;AACd,IAAIiC,KACMD,EAAA;AAAA,EACV,GACC,CAACC,GAAaD,CAAO,CAAC;AAC3B;ACPA,SAASE,KAAkC;AACzC,QAAM,EAAE,YAAYC,GAAO,aAAaC,EAAW,IAAA;AAE5C,SAAA,EAAE,OAAAD,GAAO,QAAAC,EAAO;AACzB;AAEO,SAASC,KAAkC;AAChD,QAAM,CAACC,GAAkBC,CAAmB,IAAI9B,EAAqByB,IAAqB;AAE1F,SAAAlC,GAAU,MAAM;AACd,aAASwC,IAAe;AACtB,MAAAD,EAAoBL,IAAqB;AAAA,IAAA;AAGpC,kBAAA,iBAAiB,UAAUM,CAAY,GACvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY;AAAA,EAChE,GAAG,EAAE,GAEEF;AACT;ACXa,MAAAG,KAAqB,CAAC,EAAE,YAAAC,GAAY,YAAAC,GAAY,UAAAtB,GAAU,SAAAuB,IAAU,QAAkC;AAC3G,QAAA,CAACxU,GAAUyU,CAAW,IAAIpC,EAAS,EAAE,KAAK,GAAG,MAAM,GAAG,GACtD,EAAE,OAAOqC,GAAc,QAAQC,EAAA,IAAkB1C,GAAuB;AAAA,IAC5E,KAAKsC;AAAA,IACL,WAAWtB;AAAA,EAAA,CACZ,GACK,EAAE,OAAO2B,GAAa,QAAQC,EAAA,IAAiBZ,GAAoB;AAEzE,SAAArC,GAAU,MAAM;AACV,QAAAqB,MAAYqB,KAAA,QAAAA,EAAY,UAAS;AAC7B,YAAAQ,IAAOR,KAAA,gBAAAA,EAAY,QAAQ;AAEjC,UAAIS,IAAM,KAAK,MAAMD,EAAK,SAASN,CAAO,GACtCQ,IAAO,KAAK,MAAMF,EAAK,IAAI;AAG3B,MAAAC,IAAMJ,IAAgB,OAAO,gBAC/BI,IAAM,KAAK,MAAMD,EAAK,MAAMH,IAAgBH,CAAO,IAEjDQ,IAAON,IAAe,OAAO,eAC/BM,IAAO,KAAK,MAAM,OAAO,aAAaN,IAAeF,CAAO,IAE1DQ,IAAO,MACFA,IAAAR,IAGGC,EAAA,EAAE,KAAAM,GAAK,MAAAC,GAAM;AAAA,IAAA;AAAA,EAC3B,GACC,CAAC/B,GAAUqB,GAAYK,GAAeD,GAAcF,GAASI,GAAaC,CAAY,CAAC,GAEnF7U;AACT,GCxCaiV,KAAsBrJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAQ/B,CAAC9S,MAAWA,EAAM,YAAY,SAAS,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAavC,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAazC,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,kBAC5C,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAO7C,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA;AAAA,eAE5B,CAACA,MAAU,GAAGA,EAAM,OAAO,SAAS,IAAIA,EAAM,OAAO,MAAM,EAAE;AAAA,qBACvD,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,iBAC7C,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA;AAAA,kBAEnC,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAgC1C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA,GAKvCoc,KAAmBtJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAM9B,CAAC9S,MAAUA,EAAM,OAAO,QAAQ;AAAA,aAC5B,CAACA,MAAU,GAAGA,EAAM,OAAO,SAAS,IAAIA,EAAM,OAAO,MAAM,EAAE;AAAA,mBACvD,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,eAC7C,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,WACxC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA,WAErC,CAACA,MAAWA,EAAM,YAAY,SAAS,SAAU;AAAA;AAAA;AAAA;AAAA,kBAI1C,CAACA,MAAUA,EAAM,OAAO,oBAAoB;AAAA;AAAA,aAEjD,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA;AAAA;AAAA,eAIrC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASvCqc,KAAmBvJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAM1B,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA,mBAC3B,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,eAC7C,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,WACxC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA,wBAIxB,CAACA,MAAUA,EAAM,OAAO,oBAAoB;AAAA,aACvD,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,eAKrC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAStC,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA,aACjC,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA;AAAA,GC3IvCsc,KAAkD,CAAC;AAAA,EACvD,SAAAhG;AAAA,EACA,MAAAiG;AAAA,EACA,MAAA/F;AAAA,EACA,OAAAD;AAAA,EACA,UAAAE,IAAW;AAAA,EACX,UAAA+F,IAAW;AAAA,EACX,MAAA3e,IAAO;AAAA,EACP,MAAA4e,IAAO9G,GAAoB;AAAA,EAC3B,GAAGjC;AACL,MAAM;AACJ,QAAMJ,IAAQkF,EAAkB;AAEhC,UAAQiE,GAAM;AAAA,IACZ,KAAK9G,GAAoB;AAErB,aAAAhC,gBAAAA,EAAA;AAAA,QAACwI;AAAA,QAAA;AAAA,UACC,WAAWK;AAAA,UACX,cAAYjG;AAAA,UACZ,MAAA1Y;AAAA,UACA,SAAAyY;AAAA,UACA,UAAAG;AAAA,UACA,QAAQnD;AAAA,UACP,GAAGI;AAAA,UAEJ,UAAA;AAAA,YAACH,gBAAAA,EAAAA,IAAA,QAAA,EAAK,WAAU,2BAA2B,CAAA;AAAA,YAC3CA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,WAAU,yBAAyB,CAAA;AAAA,YACzCI,gBAAAA,EAAAA,KAAC,QAAK,EAAA,WAAU,2BACd,UAAA;AAAA,cAACJ,gBAAAA,EAAAA,IAAA2C,IAAA,EAAc,MAAMM,EAAM,CAAA;AAAA,cAC1B+F;AAAA,YAAA,EACH,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAEJ,KAAK5G,GAAoB;AAErB,aAAAhC,gBAAAA,EAAA;AAAA,QAACyI;AAAA,QAAA;AAAA,UACC,WAAWI;AAAA,UACX,cAAYjG;AAAA,UACZ,MAAA1Y;AAAA,UACA,SAAAyY;AAAA,UACA,UAAAG;AAAA,UACA,QAAQnD;AAAA,UACP,GAAGI;AAAA,UAEJ,UAAA;AAAA,YAACH,gBAAAA,EAAAA,IAAA2C,IAAA,EAAc,MAAMM,EAAM,CAAA;AAAA,YAC1B+F;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ,KAAK5G,GAAoB;AACvB,aACGpC,gBAAAA,EAAA,IAAA8I,IAAA,EAAiB,cAAY9F,GAAO,MAAA1Y,GAAY,SAAAyY,GAAkB,UAAAG,GAAoB,QAAQnD,GAAQ,GAAGI,GACxG,UAAAH,gBAAAA,MAAC2C,IAAc,EAAA,MAAMM,EAAM,CAAA,GAC7B;AAAA,IAEJ;AACS,aAAA;AAAA,EAAA;AAEb,GAEekG,KAAAxF,GAAYoF,EAAe,GCjE7BK,KAAiB7J,EAAO;AAAA;AAAA,SAE5B,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA,aAC7B,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,aAKjC,CAACA,MAAWA,EAAM,WAAWA,EAAM,OAAO,kBAAkBA,EAAM,OAAO,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA,WAK1F,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,iBAC3B,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA;AAAA;AAAA,qBAGhC,CAACA,MAAUA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAAA,IAInD,CAACA,MACDA,EAAM,aACN;AAAA;AAAA;AAAA,KAGC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAWY,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;ACtC/C,SAAS4c,GAAwB;AAAA,EACtC,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,MAAA1c;AACF,GAIY;AACV,SAAI0c,MAAiBA,KAAA,gBAAAA,EAAgB1c,QAAU,SACtC,CAAC,EAAC0c,KAAA,QAAAA,EAAgB1c,MAGpB,EAAQyc;AACjB;ACVO,SAASE,GAA+B;AAAA,EAC7C,MAAA3c;AAAA,EACA,gBAAAyc;AAAA,EACA,UAAAG;AACF,GAIG;AACD,QAAM,EAAE,mBAAAC,GAAmB,eAAAH,MAAkBrE,GAAWnB,EAAoB,GACtE4F,IAAeN,GAAwB,EAAE,eAAAE,GAAe,MAAA1c,GAAM,gBAAAyc,GAAgB,GAC9E,CAACM,GAAWC,CAAY,IAAI7D,EAAkB2D,CAAY,GAE1DG,IAAe,CAAClS,MAA2C;AACzD,UAAAmS,IAAUnS,EAAE,OAAO;AACzB,IAAAiS,EAAaE,CAAO,GACpBN,KAAA,QAAAA,EAAW7R,IACX8R,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAOkd,EAAA;AAAA,EACrC,GAEMC,IAAcC,GAAY,MAAM;AACpC,IAAAJ,EAAaF,CAAY,GACzBD,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAO8c,EAAA;AAAA,EAAc,GAChD,CAAC9c,CAAI,CAAC;AAET,SAAAya,GAAkB0C,CAAW,GAEtB;AAAA,IACL,cAAAF;AAAA,IACA,SAASF;AAAA,EACX;AACF;AC3BA,MAAMM,KAAsD,CAAC;AAAA,EAC3D,MAAArd;AAAA,EACA,OAAAmW;AAAA,EACA,UAAAE;AAAA,EACA,SAAAiH;AAAA,EACA,UAAA9G,IAAW;AAAA,EACX,cAAAE,IAAe;AAAA,EACf,gBAAA+F;AAAA,EACA,UAAAG;AAAA,EACA,IAAAlF;AAAA,EACA,GAAGpE;AACL,MAAM;AACE,QAAA,EAAE,cAAA2J,GAAc,SAAAC,MAAYP,GAA+B,EAAE,MAAA3c,GAAM,gBAAAyc,GAAgB,UAAAG,GAAU,GAC7F,EAAE,WAAArD,EAAA,IAAcH,GAAc1B,CAAE,GAChCxE,IAAQkF,EAAkB;AAG9B,SAAA7E,gBAAAA,EAAA,KAACgJ,IAAe,EAAA,WAAW,CAAC,CAAClG,GAAU,QAAQnD,GAAO,UAAUgK,GAAU,GAAG5J,GAC3E,UAAA;AAAA,IAAAH,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAIoG;AAAA,QACJ,MAAAvZ;AAAA,QACA,MAAK;AAAA,QACL,UAAAqW;AAAA,QACA,UAAAG;AAAA,QACA,SAAA0G;AAAA,QACA,UAAUD;AAAA,QACV,cAAYK,IAAUnH,IAAQ;AAAA,MAAA;AAAA,IAChC;AAAA,IACAhD,gBAAAA,EAAA;AAAA,MAACoD;AAAA,MAAA;AAAA,QACC,OAAAJ;AAAA,QACA,UAAAK;AAAA,QACA,SAAS+C;AAAA,QACT,cAAc+D;AAAA,QACd,MAAMJ,IAAU/J,gBAAAA,EAAAA,IAACQ,IAAoB,CAAA,CAAA,0BAAMC,IAAsB,EAAA;AAAA,QACjE,cAAA8C;AAAA,QACA,OAAAxD;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ,GC9CaqK,KAAe7K,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,SAK1B,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA,GAI7B4d,KAAuB9K,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAMlC,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA,aAC7B,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,YAClC,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA,mBAC5B,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,sBACtC,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAMhD,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,aACxC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,mBAC/B,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAO5C,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,cACrC,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA,aACjC,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,eAG9B,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,eAKvC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUvC6d,KAAuB/K,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAO3B,CAAC9S,MAAUA,EAAM,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA,aAI9C,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA;AAAA;AAAA;AAAA,YAIpC,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA,mBAC5B,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,gBAC5C,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA;AAAA,IAI7C,CAACA,MAAUA,EAAM,WAAW,kCAAkC;AAAA,GAGrD8d,KAAqBhL,EAAO;AAAA,aAC5B,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,SAKrC,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,eAC3B,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,WACxC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,iBAC/B,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA;AAAA;AAAA;AAAA,aAI1C,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA;AAAA;AAAA,eAIrC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,aAKvC,CAACA,MAAWA,EAAM,YAAYA,EAAM,OAAO,kBAAkBA,EAAM,OAAO,cAAe;AAAA,aACzF,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA,cAC/B,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA;AAAA,GAIjC+d,KAA0BjL,EAAOgL,EAAkB;AAAA;AAAA,GC1F1DE,KAAqD,CAAC;AAAA,EAC1D,QAAAC;AAAA,EACA,SAAA3H;AAAA,EACA,YAAA4H;AAAA,EACA,YAAAtE;AAAA,EACA,MAAAxZ;AAAA,EACA,aAAA+d;AAAA,EACA,UAAA1H;AAAA,EACA,UAAAG;AAAA,EACA,QAAAwH;AAAA,EACA,OAAA9K;AACF,MAAM;AACJ,QAAM+K,IAAiBD,KAAA,gBAAAA,EAAQ,OAAO,CAACnf,MAAUA,EAAM,UAAU,IAAI,CAACA,MAAUA,EAAM,QAChFqf,IAAcF,KAAA,gBAAAA,EAAQ,OAAO,CAACnf,MAAUA,EAAM,UAAU,IAAI,CAACA,MAAUA,EAAM;AAC/E,MAAAsf,IAAkBhL,gBAAAA,EAAAA,IAAA,QAAA,EAAM,UAAY4K,EAAA,CAAA;AAEpC,SAAAE,KAAkBA,EAAe,SAAS,IAC5CE,IAAkBhL,gBAAAA,EAAAA,IAAA,QAAA,EAAM,UAAG,GAAA8K,EAAe,MAAM,mBAAkB,IACzDA,KAAkBA,EAAe,WAAW,MACrDE,IAAkBhL,gBAAAA,EAAA,IAAA,QAAA,EAAM,UAAe8K,EAAA,CAAC,GAAE,IAI1C1K,gBAAAA,EAAA;AAAA,IAACiK;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,MAAAxd;AAAA,MACA,OAAOke;AAAA,MACP,MAAK;AAAA,MACL,iBAAc;AAAA,MACd,iBAAeL;AAAA,MACf,iBAAerE;AAAA,MACf,IAAIsE;AAAA,MACJ,SAAA5H;AAAA,MACA,UAAAG;AAAA,MACA,iBAAeG;AAAA,MACf,QAAQtD;AAAA,MAEP,UAAA;AAAA,QAAAiL;AAAA,QACAN,IAAS1K,gBAAAA,EAAA,IAACK,IAAY,CAAA,CAAA,0BAAMJ,IAAc,CAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC7C;AAEJ,GChDMgL,KAAiD,CAAC,EAAE,OAAAvf,GAAO,UAAAwf,GAAU,OAAAnL,QAAY;AACrF,QAAM,EAAE,IAAAwE,GAAI,OAAAvB,GAAO,UAAAmI,EAAa,IAAAzf,GAE1B0f,IAAgB,CAAC7G,MAAe,CAAC3M,MAAoC;AACzE,YAAQA,EAAE,KAAK;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,QAAAA,EAAE,eAAe,GACjBsT,EAAS3G,CAAE;AACX;AAAA,IAEA;AAAA,EAEN;AAGE,SAAAnE,gBAAAA,EAAA;AAAA,IAACoK;AAAA,IAAA;AAAA,MACC,IAAAjG;AAAA,MACA,MAAK;AAAA,MACL,iBAAe4G;AAAA,MACf,UAAU;AAAA,MACV,WAAWC,EAAc7G,CAAE;AAAA,MAC3B,SAAS,MAAM2G,EAAS3G,CAAE;AAAA,MAC1B,QAAQxE;AAAA,MACR,WAAWoL;AAAA,MAEV,UAAA;AAAA,QAAAA,IAAYnL,gBAAAA,EAAA,IAAAQ,IAAA,CAAA,CAAoB,IAAKR,gBAAAA,EAAA,IAACS,IAAsB,EAAA;AAAA,QAC7DT,gBAAAA,EAAAA,IAAC,UAAM,UAAMgD,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACf;AAEJ,GC3BMqI,KAA0D,CAAC,EAAE,SAAA5G,GAAS,QAAAiG,GAAQ,SAAAhG,GAAS,UAAAwG,GAAU,YAAA7E,GAAY,OAAAtG,QAE/GC,gBAAAA,EAAA;AAAA,EAACsK;AAAA,EAAA;AAAA,IACC,SAASI;AAAA,IACT,MAAK;AAAA,IACL,IAAIrE;AAAA,IACJ,UAAU;AAAA,IACV,WAAW,CAACzO,MAAM4M,GAA2B,EAAE,GAAA5M,GAAG,SAAA6M,GAAS,SAAAC,GAAS;AAAA,IACpE,QAAQ3E;AAAA,IAEP,YAAQ,IAAI,CAACuL,MACZtL,gBAAAA,MAACiL,MAA2B,OAAOK,GAAM,UAAU,MAAMJ,EAASI,EAAK,EAAE,GAAG,OAAAvL,EAAzD,GAAAuL,EAAK,EAAkE,CAC3F;AAAA,EAAA;AACH;AC3BG,SAASC,GAA4B;AAAA,EAC1C,MAAA1e;AAAA,EACA,SAAA4X;AAAA,EACA,eAAA8E;AAAA,EACA,cAAAiC;AACF,GAKgC;AACvB,SAAA/G,EAAQ,IAAI,CAACgH,MAAW;AAC7B,QAAIN,IAAW;AAEX,WAAA5B,MAAiBA,KAAA,QAAAA,EAAgB1c,OAAS,MAAM,QAAQ0c,EAAc1c,CAAI,CAAC,KAEzD0c,EAAc1c,CAAI,EAAiB,KAAK,CAACye,MAASA,MAASG,EAAO,OAAMH,KAAA,gBAAAA,EAAM,QAAOG,EAAO,EAAE,MACvFN,IAAA,KAGzB,EAAC5B,KAAA,QAAAA,EAAgB1c,OAAS,MAAM,QAAQ2e,CAAY,KACnCA,EAAa,KAAK,CAACF,MAASA,MAASG,EAAO,EAAE,MACtCN,IAAA,KAGtB,EAAE,GAAGM,GAAQ,UAAAN,EAAS;AAAA,EAAA,CAC9B;AACH;AAEa,MAAAO,KAA2B,CAACjH,MAChCA,EAAQ,OAAO,CAAC6G,MAASA,EAAK,QAAQ,EAAE,IAAI,CAACA,MAASA,EAAK,EAAE,GAGzDK,KAA8B,CAAClH,GAAsCF,MAA4C;AAC5H,QAAMqH,IAAanH,EAAQ,KAAK,CAAC6G,MAASA,EAAK,OAAO/G,CAAE;AACjD,SAAAE,EAAQ,IAAI,CAAC6G,MACXA,EAAK,OAAO/G,IAAK,EAAE,GAAG+G,GAAM,UAAU,EAACM,KAAA,QAAAA,EAAY,UAAA,IAAaN,CACxE;AACH;ACjCO,SAASO,GAAkC;AAAA,EAChD,MAAAhf;AAAA,EACA,cAAA2e;AAAA,EACA,UAAA/B;AAAA,EACA,SAAAhF;AACF,GAKG;AACD,QAAM,CAACiG,GAAQoB,CAAS,IAAI9F,EAAS,EAAK,GACpC,EAAE,mBAAA0D,GAAmB,eAAAH,MAAkBrE,GAAWnB,EAAoB,GACtEgI,IAAiBR,GAA4B,EAAE,MAAA1e,GAAM,SAAA4X,GAAS,eAAA8E,GAAe,cAAAiC,GAAc,GAC3F,CAACX,GAAQmB,CAAS,IAAIhG,EAAsC+F,CAAc,GAE1EE,IAAc,MAAMH,EAAU,EAAK,GAEnCI,IAAe,MAAMJ,EAAU,CAACpB,CAAM,GAEtCyB,IAAe,CAAC5H,MAAe;AAC7B,UAAA6H,IAAYT,GAA4Bd,GAAQtG,CAAE;AAExD,IAAAyH,EAAUI,CAAS,GACnB3C,KAAA,QAAAA,EAAW2C,IACX1C,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAO6e,GAAyBU,CAAS;EACvE,GAEMpC,IAAcC,GAAY,MAAM;AACpC,IAAA6B,EAAU,EAAK,GACfE,EAAUD,CAAc,GACxBrC,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAO6e,GAAyBK,CAAc;EAAG,GAC5E,CAAClf,CAAI,CAAC;AAET,SAAAya,GAAkB0C,CAAW,GAEtB;AAAA,IACL,aAAAiC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,QAAAzB;AAAA,IACA,QAAAG;AAAA,EACF;AACF;ACxCA,MAAMwB,KAA4D,CAAC;AAAA,EACjE,SAAA5H;AAAA,EACA,MAAA5X;AAAA,EACA,OAAAmW;AAAA,EACA,UAAAK,IAAW;AAAA,EACX,aAAAuH,IAAc;AAAA,EACd,UAAA1H,IAAW;AAAA,EACX,UAAAuG;AAAA,EACA,cAAA+B;AAAA,EACA,IAAAjH;AAAA,EACA,GAAGpE;AACL,MAAM;AACE,QAAAiF,IAAMkH,GAAO,IAAI,GACjB,EAAE,WAAAlG,GAAW,YAAAC,MAAeJ,GAAc1B,CAAE,GAC5CxE,IAAQkF,EAAkB,GAC1B,EAAE,aAAAgH,GAAa,cAAAE,GAAc,cAAAD,GAAc,QAAAxB,GAAQ,QAAAG,MAAWgB,GAAkC;AAAA,IACpG,MAAAhf;AAAA,IACA,SAAA4X;AAAA,IACA,cAAA+G;AAAA,IACA,UAAA/B;AAAA,EAAA,CACD;AAED,SAAAtE,GAAgB,EAAE,KAAAC,GAAK,uBAAuB6G,EAAA,CAAa,GAC3D3F,GAAY,EAAE,SAAS,UAAU,KAAAlB,GAAK,YAAY6G,GAAa,0BAG5D7B,IAAa,EAAA,KAAAhF,GAAU,QAAQrF,GAAQ,GAAGI,GACzC,UAAA;AAAA,IAAAH,gBAAAA,EAAA,IAACoD,IAAe,EAAA,OAAAJ,GAAc,UAAAK,GAAoB,SAAS+C,GAAW,OAAArG,GAAc;AAAA,IACpFC,gBAAAA,EAAA;AAAA,MAACyK;AAAAA,MAAA;AAAA,QACC,MAAA5d;AAAA,QACA,QAAA6d;AAAA,QACA,YAAYtE;AAAA,QACZ,YAAAC;AAAA,QACA,SAAS6F;AAAA,QACT,QAAArB;AAAA,QACA,aAAAD;AAAA,QACA,UAAA1H;AAAA,QACA,UAAAG;AAAA,QACA,OAAAtD;AAAA,MAAA;AAAA,IACF;AAAA,IACAC,gBAAAA,EAAA;AAAA,MAACuM;AAAAA,MAAA;AAAA,QACC,OAAAxM;AAAA,QACA,SAAS8K;AAAA,QACT,QAAAH;AAAA,QACA,SAASuB;AAAA,QACT,YAAA5F;AAAA,QACA,UAAU8F;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,GACF;AAEJ;AC1DO,SAASK,GAA4B;AAAA,EAC1C,MAAA3f;AAAA,EACA,eAAA0c;AAAA,EACA,cAAAiC;AACF,GAIW;AACL,SAAAjC,KAAiBA,EAAc1c,CAAI,IAC9B,OAAO0c,EAAc1c,CAAI,CAAC,IAG/B2e,KAAgB,OAAOA,KAAiB,WACnCA,IAGF;AACT;AAEO,SAASiB,GAA0B;AAAA,EACxC,OAAA/gB;AAAA,EACA,UAAA2X;AAAA,EACA,WAAAqJ;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AACF,GAMY;AACV,SAAIvJ,KAAY,CAACqJ,KAAahhB,MAAU,SAC/B,KAGLghB,KAAa,OAAOA,KAAc,aAC7BA,EAAUhhB,CAAK,IAGpBihB,KAAYC,KAAYlhB,KAAS,CAACghB,IAC7BhhB,KAASihB,KAAYjhB,KAASkhB,IAGhC;AACT;ACzCO,SAASC,GAAmC;AAAA,EACjD,MAAAhgB;AAAA,EACA,cAAA2e;AAAA,EACA,UAAA/B;AAAA,EACA,mBAAAqD;AAAA,EACA,KAAAC;AAAA,EACA,KAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAA5J;AAAA,EACA,WAAAqJ;AACF,GAUG;AACD,QAAM,EAAE,mBAAAhD,GAAmB,eAAAH,MAAkBrE,GAAWnB,EAAoB,GACtE4F,IAAe6C,GAA4B,EAAE,eAAAjD,GAAe,cAAAiC,GAAc,MAAA3e,GAAM,GAChF8f,IAAWK,IAAM,OAAOA,CAAG,IAAI,OAAO,kBACtCJ,IAAWG,IAAM,OAAOA,CAAG,IAAI,OAAO,kBACtC,CAACrhB,GAAOwhB,CAAQ,IAAIlH,EAAiB2D,CAAY,GACjD,CAACwD,GAAOC,CAAQ,IAAIpH,EAAkB,EAAI,GAE1CqH,IAAc,CAAC3hB,MAAkB;AACrC,IAAAwhB,EAASxhB,CAAK;AACRyhB,UAAAA,IAAQV,GAA0B,EAAE,OAAA/gB,GAAO,UAAA2X,GAAU,WAAAqJ,GAAW,UAAAC,GAAU,UAAAC,GAAU;AAC1F,IAAAQ,EAASD,CAAK,GACdzD,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAAnB,GAAO,OAAAyhB;EACrC,GAEMrD,IAAe,CAACrE,MAA+C;AACnE,UAAM/Z,IAAQ,OAAO+Z,EAAM,OAAO,KAAK;AACvC,IAAA4H,EAAY3hB,CAAK,GACjB+d,KAAA,QAAAA,EAAWhE;AAAA,EACb,GAEM6H,IAAY,MAAM;AACtB,IAAAD,EAAY3hB,IAAQuhB,CAAI,GACxBH,KAAA,QAAAA,EAAoBphB,IAAQuhB;AAAA,EAC9B,GAEMM,IAAY,MAAM;AACtB,IAAAF,EAAY3hB,IAAQuhB,CAAI,GACxBH,KAAA,QAAAA,EAAoBphB,IAAQuhB;AAAA,EAC9B,GAEMjD,IAAcC,GAAY,MAAM;AACpC,IAAAiD,EAASvD,CAAY,GACrByD,EAAS,EAAI,GACb1D,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAO8c,GAAc,OAAO;EAAM,GAC7D,CAAC9c,CAAI,CAAC;AAET,SAAAya,GAAkB0C,CAAW,GAEtB;AAAA,IACL,cAAAF;AAAA,IACA,OAAApe;AAAA,IACA,OAAAyhB;AAAA,IACA,UAAAP;AAAA,IACA,UAAAD;AAAA,IACA,WAAAW;AAAA,IACA,WAAAC;AAAA,EACF;AACF;ACxEO,MAAMC,KAAqBjO,EAAO;AAAA;AAAA;AAAA,SAGhC,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,WAK/B,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA,cAE9B,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA,qBAC5B,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,eAC/C,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,wBACxB,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA;AAAA;AAAA,gBAGnD,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA,gBAIrC,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAenC,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA;AAAA;AAAA,mBAGlC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,aAC5C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCjC5CghB,KAA8D,CAAC;AAAA,EACnE,MAAA5gB;AAAA,EACA,OAAAmW;AAAA,EACA,cAAA0K;AAAA,EACA,UAAAjE;AAAA,EACA,QAAAkE;AAAA,EACA,SAAAC;AAAA,EACA,mBAAAd;AAAA,EACA,WAAAJ;AAAA,EACA,KAAAK;AAAA,EACA,KAAAC;AAAA,EACA,IAAAzI;AAAA,EACA,UAAAsJ;AAAA,EACA,UAAA3K,IAAW;AAAA,EACX,UAAAG,IAAW;AAAA,EACX,UAAAyK,IAAW;AAAA,EACX,gBAAAC,IAAiB;AAAA,EACjB,cAAAvC,IAAe;AAAA,EACf,MAAAyB,IAAO;AAAA,EACP,GAAG9M;AACL,MAAM;AACJ,QAAM,EAAE,WAAAiG,GAAW,SAAA1G,MAAYuG,GAAc1B,CAAE,GACzCxE,IAAQkF,EAAkB,GAC1B,EAAE,OAAAvZ,GAAO,OAAAyhB,GAAO,cAAArD,GAAc,WAAAwD,GAAW,WAAAC,IAAW,UAAAX,IAAU,UAAAD,GAAS,IAAIE,GAAmC;AAAA,IAClH,MAAAhgB;AAAA,IACA,cAAA2e;AAAA,IACA,KAAAuB;AAAA,IACA,KAAAC;AAAA,IACA,UAAAvD;AAAA,IACA,UAAApG;AAAA,IACA,WAAAqJ;AAAA,IACA,MAAAO;AAAA,IACA,mBAAAH;AAAA,EAAA,CACD;AAED,SACG1M,gBAAAA,EAAAA,KAAAoN,IAAA,EAAmB,QAAQzN,GAAQ,GAAGI,GACrC,UAAA;AAAA,IAAAH,gBAAAA,EAAA,IAACoD,IAAe,EAAA,OAAAJ,GAAc,UAAAK,GAAoB,SAAS+C,GAAW,OAAArG,GAAc;AAAA,2BACnF,OACC,EAAA,UAAA;AAAA,MAAAC,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAIoG;AAAA,UACJ,MAAAvZ;AAAA,UACA,MAAK;AAAA,UACL,UAAAqW;AAAA,UACA,UAAAG;AAAA,UACA,UAAAyK;AAAA,UACA,aAAY;AAAA,UACZ,gBAAc,CAACX;AAAA,UACf,qBAAmBzN;AAAA,UACnB,OAAOhU,EAAM,SAAS;AAAA,UACtB,UAAUoe;AAAA,UACV,KAAK8C;AAAA,UACL,KAAKD;AAAA,UACL,MAAAM;AAAA,UACA,QAAAU;AAAA,UACA,SAAAC;AAAA,UACA,UAAAC;AAAA,QAAA;AAAA,MACF;AAAA,MACCE,4BACE,QACC,EAAA,UAAA;AAAA,QAAA/N,gBAAAA,EAAA;AAAA,UAACgO;AAAAA,UAAA;AAAA,YACC,SAAST;AAAA,YACT,OAAO,uBAAuBvK,CAAK;AAAA,YACnC,MAAMX,EAAkB;AAAA,YACxB,UAAAa;AAAA,YACA,OAAAnD;AAAA,UAAA;AAAA,QACF;AAAA,QACAC,gBAAAA,EAAA;AAAA,UAACgO;AAAAA,UAAA;AAAA,YACC,SAASV;AAAA,YACT,OAAO,uBAAuBtK,CAAK;AAAA,YACnC,MAAMX,EAAkB;AAAA,YACxB,UAAAa;AAAA,YACA,OAAAnD;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,EACF,CAAA;AAAA,IAAA,GAEJ;AAAA,IACAC,gBAAAA,MAACP,MAAsB,SAAAC,GAAkB,SAASgO,GAAc,SAAS,CAACP,GAAO,OAAApN,EAAc,CAAA;AAAA,EAAA,GACjG;AAEJ,GCtEM0K,KAAgD,CAAC;AAAA,EACrD,QAAAC;AAAA,EACA,SAAA3H;AAAA,EACA,YAAA4H;AAAA,EACA,YAAAtE;AAAA,EACA,UAAA8E;AAAA,EACA,MAAAte;AAAA,EACA,aAAA+d;AAAA,EACA,UAAA1H;AAAA,EACA,UAAAG;AAAA,EACA,OAAAtD;AACF,MAEIK,gBAAAA,EAAA;AAAA,EAACiK;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,MAAAxd;AAAA,IACA,OAAOse,KAAA,gBAAAA,EAAU;AAAA,IACjB,MAAK;AAAA,IACL,iBAAc;AAAA,IACd,iBAAeT;AAAA,IACf,iBAAerE;AAAA,IACf,IAAIsE;AAAA,IACJ,SAAA5H;AAAA,IACA,UAAAG;AAAA,IACA,iBAAeG;AAAA,IACf,QAAQtD;AAAA,IAEP,UAAA;AAAA,MAAUoL,KAAA,QAAAA,EAAA,8BAAS,QAAM,EAAA,UAAAA,KAAA,gBAAAA,EAAU,MAAM,CAAA,IAAUnL,gBAAAA,EAAAA,IAAC,UAAM,UAAY4K,EAAA,CAAA;AAAA,MACtEF,IAAS1K,gBAAAA,EAAA,IAACK,IAAY,CAAA,CAAA,0BAAMJ,IAAc,CAAA,CAAA;AAAA,IAAA;AAAA,EAAA;AAC7C,GCnCEgL,KAA4C,CAAC,EAAE,OAAAvf,GAAO,UAAAyf,GAAU,UAAAD,GAAU,SAAA+C,GAAS,OAAAlO,QAAY;AAC7F,QAAA,EAAE,IAAAwE,GAAI,OAAAvB,EAAA,IAAUtX,GAEhBwiB,IAAqB,CAAC3J,MAAe;AACzC,IAAI4G,IACM8C,EAAA,IAER/C,EAAS3G,CAAE;AAAA,EAEf,GAEM6G,IAAgB,CAAC7G,MAAe,CAAC3M,MAAoC;AACzE,YAAQA,EAAE,KAAK;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,QAAAA,EAAE,eAAe,GACjBsW,EAAmB3J,CAAE;AACrB;AAAA,IAEA;AAAA,EAEN;AAGE,SAAAnE,gBAAAA,EAAA;AAAA,IAACmK;AAAA,IAAA;AAAA,MACC,IAAAhG;AAAA,MACA,MAAK;AAAA,MACL,iBAAe4G;AAAA,MACf,UAAU;AAAA,MACV,WAAWC,EAAc7G,CAAE;AAAA,MAC3B,SAAS,MAAM2J,EAAmB3J,CAAE;AAAA,MACpC,QAAQxE;AAAA,MACR,WAAWoL;AAAA,MAEX,UAAA;AAAA,QAAAnL,gBAAAA,EAAAA,IAAC,UAAM,UAAMgD,EAAA,CAAA;AAAA,QACZmI,2BAAazK,IAAc,CAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC9B;AAEJ,GCjCM6L,KAAgD,CAAC;AAAA,EACrD,SAAA9H;AAAA,EACA,QAAAiG;AAAA,EACA,SAAAhG;AAAA,EACA,UAAAwG;AAAA,EACA,YAAA7E;AAAA,EACA,YAAAsE;AAAA,EACA,UAAAQ;AAAA,EACA,SAAA8C;AAAA,EACA,OAAAlO;AACF,MAAM;AACE,QAAAmO,IAAqB,CAAC3J,MAAe;AACzC,IAAA2G,EAAS3G,CAAE,GACHG,EAAA,GACRJ,GAAuBqG,CAAU;AAAA,EACnC;AAGE,SAAA3K,gBAAAA,EAAA;AAAA,IAACsK;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,IAAIjE;AAAA,MACJ,UAAU;AAAA,MACV,WAAW,CAACzO,MAAM4M,GAA2B,EAAE,GAAA5M,GAAG,SAAA6M,GAAS,SAAAC,GAAS;AAAA,MACpE,SAASgG;AAAA,MACT,QAAQ3K;AAAA,MAEP,UAAA0E,EAAQ,IAAI,CAAC6G,MACZtL,gBAAAA,EAAA;AAAA,QAACiL;AAAA,QAAA;AAAA,UAEC,OAAOK;AAAA,UACP,UAAU,MAAM4C,EAAmB5C,EAAK,EAAE;AAAA,UAC1C,SAAA2C;AAAA,UACA,UAAU3C,EAAK,QAAOH,KAAA,gBAAAA,EAAU;AAAA,UAChC,OAAApL;AAAA,QAAA;AAAA,QALKuL,EAAK;AAAA,MAOb,CAAA;AAAA,IAAA;AAAA,EACH;AAEJ;ACvDO,SAAS6C,GAAsB;AAAA,EACpC,MAAAthB;AAAA,EACA,SAAA4X;AAAA,EACA,eAAA8E;AAAA,EACA,cAAAiC;AACF,GAKqC;;AAC/B,MAAA4C;AAEA,SAAA7E,KAAiBA,EAAc1c,CAAI,MACrCuhB,MAAYC,IAAA9E,EAAc1c,CAAI,MAAlB,gBAAAwhB,EAA8C,OAAkB9E,EAAc1c,CAAI,IAG5F,EAAC0c,KAAA,QAAAA,EAAgB1c,OAAS2e,KAAgB,OAAOA,KAAiB,aAC1D4C,IAAA5C,IAGL/G,EAAQ,KAAK,CAAC6G,MAASA,EAAK,OAAO8C,CAAO;AACnD;ACjBO,SAASE,GAA6B;AAAA,EAC3C,MAAAzhB;AAAA,EACA,cAAA2e;AAAA,EACA,UAAA/B;AAAA,EACA,SAAAhF;AACF,GAKG;AACD,QAAM,EAAE,mBAAAiF,GAAmB,eAAAH,MAAkBrE,GAAWnB,EAAoB,GACtE4F,IAAewE,GAAsB,EAAE,MAAAthB,GAAM,SAAA4X,GAAS,cAAA+G,GAAc,eAAAjC,GAAe,GACnF,CAACmB,GAAQoB,CAAS,IAAI9F,EAAS,EAAK,GACpC,CAACmF,GAAUoD,CAAW,IAAIvI,EAA2C2D,CAAY,GAEjFsC,IAAc,MAAMH,EAAU,EAAK,GAEnCI,IAAe,MAAMJ,EAAU,CAACpB,CAAM,GAEtCyB,IAAe,CAAC5H,MAAe;AACnC,UAAMiK,IAAW/J,EAAQ,KAAK,CAAC6G,MAASA,EAAK,OAAO/G,CAAE;AACtD,IAAAgK,EAAYC,CAAQ,GACpB/E,KAAA,QAAAA,EAAW+E,IACX9E,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAO2hB,KAAA,gBAAAA,EAAU;EAC/C,GAEMC,IAAc,MAAM;AACxB,IAAAF,EAAY,MAAS,GACrB9E,KAAA,QAAAA,EAAW;AAAA,EACb,GAEMO,IAAcC,GAAY,MAAM;AACpC,IAAA6B,EAAU,EAAK,GACfyC,EAAY5E,CAAY,GACxBD,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAO8c,KAAA,gBAAAA,EAAc;EAAI,GACpD,CAAC9c,CAAI,CAAC;AAET,SAAAya,GAAkB0C,CAAW,GAEtB;AAAA,IACL,UAAAmB;AAAA,IACA,QAAAT;AAAA,IACA,aAAA+D;AAAA,IACA,aAAAxC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,EACF;AACF;AC7CA,MAAMuC,KAAkD,CAAC;AAAA,EACvD,SAAAjK;AAAA,EACA,UAAAgF;AAAA,EACA,MAAA5c;AAAA,EACA,OAAAmW;AAAA,EACA,cAAAwI;AAAA,EACA,IAAAjH;AAAA,EACA,aAAAqG,IAAc;AAAA,EACd,UAAAvH,IAAW;AAAA,EACX,UAAAH,IAAW;AAAA,EACX,GAAG/C;AACL,MAAM;AACE,QAAAiF,IAAMkH,GAAuB,IAAI,GACjCvM,IAAQkF,EAAkB,GAC1B,EAAE,WAAAmB,GAAW,YAAAC,MAAeJ,GAAc1B,CAAE,GAC5C,EAAE,aAAAkK,GAAa,aAAAxC,GAAa,cAAAE,GAAc,cAAAD,GAAc,UAAAf,GAAU,QAAAT,MAAW4D,GAA6B;AAAA,IAC9G,SAAA7J;AAAA,IACA,UAAAgF;AAAA,IACA,cAAA+B;AAAA,IACA,MAAA3e;AAAA,EAAA,CACD;AAED,SAAAsY,GAAgB,EAAE,KAAAC,GAAK,uBAAuB6G,EAAA,CAAa,GAC3D3F,GAAY,EAAE,SAAS,UAAU,KAAAlB,GAAK,YAAY6G,GAAa,0BAG5D7B,IAAa,EAAA,KAAAhF,GAAU,QAAQrF,GAAQ,GAAGI,GACzC,UAAA;AAAA,IAAAH,gBAAAA,EAAA,IAACoD,IAAe,EAAA,OAAAJ,GAAc,UAAAK,GAAoB,SAAS+C,GAAW,OAAArG,GAAc;AAAA,IACpFC,gBAAAA,EAAA;AAAA,MAACyK;AAAA,MAAA;AAAA,QACC,MAAA5d;AAAA,QACA,QAAA6d;AAAA,QACA,YAAYtE;AAAA,QACZ,YAAAC;AAAA,QACA,SAAS6F;AAAA,QACT,UAAAf;AAAA,QACA,aAAAP;AAAA,QACA,UAAA1H;AAAA,QACA,UAAAG;AAAA,QACA,OAAAtD;AAAA,MAAA;AAAA,IACF;AAAA,IACAC,gBAAAA,EAAA;AAAA,MAACuM;AAAA,MAAA;AAAA,QACC,SAAA9H;AAAA,QACA,UAAA0G;AAAA,QACA,QAAAT;AAAA,QACA,SAASuB;AAAA,QACT,YAAA5F;AAAA,QACA,YAAYD;AAAA,QACZ,UAAU+F;AAAA,QACV,SAASsC;AAAA,QACT,OAAA1O;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AC7DO,SAAS4O,GAAuB;AAAA,EACrC,OAAAjjB;AAAA,EACA,UAAA2X;AAAA,EACA,WAAAqJ;AACF,GAIY;AACV,SAAIrJ,KAAY,CAACqJ,KAAa,CAAChhB,EAAM,SAC5B,KAGLghB,KAAa,OAAOA,KAAc,aAC7BA,EAAUhhB,CAAK,IAGpBghB,KAAa,OAAOA,KAAc,WAC7B,IAAI,OAAOA,EAAU,QAAQA,KAAA,gBAAAA,EAAW,KAAK,EAAE,KAAKhhB,CAAK,IAG3D;AACT;AAEO,SAASkjB,GAAyB;AAAA,EACvC,MAAA/hB;AAAA,EACA,eAAA0c;AAAA,EACA,cAAAiC;AACF,GAIW;AACL,SAAAjC,MAAiBA,KAAA,QAAAA,EAAgB1c,MAC3B0c,EAAc1c,CAAI,EAAa,SAAS,IAG9C2e,KAAgB,OAAOA,KAAiB,WACnCA,IAGF;AACT;ACrCO,SAASqD,GAAgC;AAAA,EAC9C,MAAAhiB;AAAA,EACA,cAAA2e;AAAA,EACA,UAAA/B;AAAA,EACA,SAAAwE;AAAA,EACA,UAAA5K;AAAA,EACA,WAAAqJ;AACF,GAOG;AACD,QAAM,EAAE,mBAAAhD,GAAmB,eAAAH,MAAkBrE,GAAWnB,EAAoB,GACtE4F,IAAeiF,GAAyB,EAAE,eAAArF,GAAe,cAAAiC,GAAc,MAAA3e,GAAM,GAC7E,CAACnB,GAAOwhB,CAAQ,IAAIlH,EAAiB2D,CAAY,GACjD,CAACwD,GAAOC,CAAQ,IAAIpH,EAAkB,EAAI,GAC1C,CAAC8I,GAAeC,CAAgB,IAAI/I,EAAkB,EAAK,GAE3D8D,IAAe,CAACrE,MAA+C;AAC7D/Z,UAAAA,IAAQ+Z,EAAM,OAAO,OACrB0H,IAAQwB,GAAuB,EAAE,OAAAjjB,GAAO,UAAA2X,GAAU,WAAAqJ,GAAW;AAEnE,IAAAQ,EAASxhB,CAAK,GACd0hB,EAASD,CAAK,GACdzD,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAAnB,GAAO,OAAAyhB,MACnC1D,KAAA,QAAAA,EAAWhE;AAAA,EACb,GAEMgJ,IAAc,MAAM;AACxB,IAAAvB,EAAS,EAAE,GACXE,EAAS,EAAI,GACb1D,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAO,IAAI,OAAO,OACpCohB,KAAA,QAAAA;AAAA,EACZ,GAEMjE,IAAcC,GAAY,MAAM;AACpC,IAAAiD,EAASvD,CAAY,GACrByD,EAAS,EAAI,GACb1D,KAAA,QAAAA,EAAoB,EAAE,MAAA7c,GAAM,OAAO8c,GAAc,OAAO;EAAM,GAC7D,CAAC9c,CAAI,CAAC,GAEHmiB,IAAiB,MAAM;AAC3B,IAAAD,EAAiB,CAACD,CAAa;AAAA,EACjC;AAEA,SAAAxH,GAAkB0C,CAAW,GAEtB;AAAA,IACL,OAAAte;AAAA,IACA,OAAAyhB;AAAA,IACA,eAAA2B;AAAA,IACA,cAAAhF;AAAA,IACA,aAAA2E;AAAA,IACA,gBAAAO;AAAA,EACF;AACF;AC9DO,MAAMC,KAAkB1P,EAAO;AAAA;AAAA;AAAA,SAG7B,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,WAK/B,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA,cAE9B,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA,qBAC5B,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,eAC/C,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,wBACxB,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA;AAAA;AAAA,gBAGnD,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA,gBAIrC,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAUvC,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAM5B,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA;AAAA;AAAA,mBAGlC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,aAC5C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GClC5CyiB,KAAwD,CAAC;AAAA,EAC7D,MAAAriB;AAAA,EACA,OAAAmW;AAAA,EACA,cAAA0K;AAAA,EACA,cAAAlC;AAAA,EACA,UAAA/B;AAAA,EACA,QAAAkE;AAAA,EACA,SAAAC;AAAA,EACA,SAAAK;AAAA,EACA,WAAAvB;AAAA,EACA,WAAAyC;AAAA,EACA,IAAA5K;AAAA,EACA,UAAAsJ;AAAA,EACA,aAAAjD,IAAc;AAAA,EACd,UAAA1H,IAAW;AAAA,EACX,UAAAG,IAAW;AAAA,EACX,WAAA+L,IAAY;AAAA,EACZ,UAAAtB,IAAW;AAAA,EACX,cAAAuB,IAAe;AAAA,EACf,MAAA/kB,IAAO;AAAA,EACP,GAAG6V;AACL,MAAM;AACE,QAAA,EAAE,OAAAzU,GAAO,OAAAyhB,GAAO,cAAArD,GAAc,aAAA2E,GAAa,eAAAK,GAAe,gBAAAE,MAAmBH,GAAgC;AAAA,IACjH,cAAArD;AAAA,IACA,MAAA3e;AAAA,IACA,UAAA4c;AAAA,IACA,SAAAwE;AAAA,IACA,UAAA5K;AAAA,IACA,WAAAqJ;AAAA,EAAA,CACD,GACK,EAAE,WAAAtG,IAAW,SAAA1G,OAAYuG,GAAc1B,CAAE,GACzC+K,KAA0BhlB,MAAS,YACnCyV,IAAQkF,EAAkB;AAEhC,SACG7E,gBAAAA,EAAAA,KAAA6O,IAAA,EAAgB,QAAQlP,GAAQ,GAAGI,GAClC,UAAA;AAAA,IAAAH,gBAAAA,EAAA,IAACoD,IAAe,EAAA,OAAAJ,GAAc,UAAAK,GAAoB,SAAS+C,IAAW,OAAArG,GAAc;AAAA,2BACnF,OACC,EAAA,UAAA;AAAA,MAAAC,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAIoG;AAAA,UACJ,MAAAvZ;AAAA,UACA,MAAMiiB,IAAgB,SAASxkB;AAAA,UAC/B,UAAA4Y;AAAA,UACA,aAAA0H;AAAA,UACA,UAAAvH;AAAA,UACA,UAAAyK;AAAA,UACA,cAAAuB;AAAA,UACA,gBAAc,CAAClC;AAAA,UACf,qBAAmBzN;AAAA,UACnB,iBAAeoO;AAAA,UACf,OAAApiB;AAAA,UACA,UAAUoe;AAAA,UACV,WAAAqF;AAAA,UACA,QAAAxB;AAAA,UACA,SAAAC;AAAA,UACA,UAAAC;AAAA,QAAA;AAAA,MACF;AAAA,6BACC,QACE,EAAA,UAAA;AAAA,QACCuB,KAAApP,gBAAAA,EAAA;AAAA,UAACgO;AAAAA,UAAA;AAAA,YACC,SAASS;AAAA,YACT,OAAO,mBAAmBzL,CAAK;AAAA,YAC/B,MAAMX,EAAkB;AAAA,YACxB,UAAAa;AAAA,YACA,OAAAnD;AAAA,UAAA;AAAA,QACF;AAAA,QAEDuP,MACCtP,gBAAAA,EAAA;AAAA,UAACgO;AAAAA,UAAA;AAAA,YACC,SAASgB;AAAA,YACT,OAAM;AAAA,YACN,MAAMF,IAAgBzM,EAAkB,OAAOA,EAAkB;AAAA,YACjE,UAAAa;AAAA,YACA,OAAAnD;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,EAEJ,CAAA;AAAA,IAAA,GACF;AAAA,IACAC,gBAAAA,MAACP,MAAsB,SAAAC,IAAkB,SAASgO,GAAc,SAAS,CAACP,GAAO,OAAApN,EAAc,CAAA;AAAA,EAAA,GACjG;AAEJ,GCrFawP,KAAqBhQ,EAAO;AAAA,aAC5B,CAAC9S,MAAUA,EAAM,OAAO,WAAW;AAAA,sBAC1B,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA,gBACjD,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,iBAChC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,WAC5C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAMpB,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,6BACxC,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,IAClEwS,EAAe;AAAA;AAAA,WAERE,GAAmB,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCAOb,CAAC1S,MAAUA,EAAM,OAAO,iBAAiB;AAAA,kCACxC,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA;AAAA;AAAA,mBAGxD,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA;AAAA;AAAA,GAK5C+iB,KAAyBjQ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAUvB,CAAC9S,MAAUA,EAAM,OAAO,0BAA0B;AAAA,IACpEwS,EAAe;AAAA;AAAA,IAEf,CAACxS,MAAUA,EAAM,cAAcyS,EAAgB;AAAA,GAGtCuQ,KAAqBlQ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAMhC,CAAC9S,MAAUA,EAAM,OAAO,MAAM;AAAA,aAC1B,CAACA,MAAUA,EAAM,OAAO,MAAM;AAAA,mBACxB,CAACA,MAAUA,EAAM,OAAO,UAAU;AAAA,WAC1C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,GAGnCijB,KAAsBnQ,EAAO;AAAA,aAC7B,CAAC9S,MAAUA,EAAM,OAAO,MAAM;AAAA,eAC5B,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,GC3D7CkjB,KAID,CAAC,EAAE,OAAAzP,GAAO,SAAAwE,GAAS,OAAA3E,QAEpBK,gBAAAA,EAAA,KAACqP,IAAmB,EAAA,QAAQ1P,GACzB,UAAA;AAAA,EAAAG;AAAA,EACDF,gBAAAA,EAAAA,IAAC+I,IAAgB,EAAA,MAAM1G,EAAkB,QAAQ,MAAMD,GAAoB,MAAM,OAAM,sBAAqB,SAASsC,EAAS,CAAA;AAAA,GAChI,GCAEkL,KAAoD,CAAC,EAAE,OAAA1P,GAAO,SAAAwE,GAAS,UAAAkC,GAAU,UAAA/W,GAAU,OAAAkQ,GAAO,GAAGI,QAA+B;AAClI,QAAAwG,IAAW2F,GAAuB,IAAI;AAE1B,SAAA5F,GAAA,EAAE,UAAAC,GAAU,UAAAC,GAAU,GACxCN,GAAY,EAAE,SAAS,UAAU,KAAKK,GAAU,YAAYjC,GAAS,GAGnEtE,gBAAAA,EAAA,KAACmP,IAAmB,EAAA,KAAK5I,GAAU,MAAK,UAAS,cAAW,QAAO,QAAQ5G,GAAQ,GAAGI,GACpF,UAAA;AAAA,IAACH,gBAAAA,EAAAA,IAAA2P,IAAA,EAA2B,OAAAzP,GAAc,SAAAwE,GAAkB,OAAA3E,EAAc,CAAA;AAAA,IACzEC,gBAAAA,EAAAA,IAAA0P,IAAA,EAAoB,QAAQ3P,GAAQ,UAAAlQ,EAAS,CAAA;AAAA,EAAA,GAChD;AAEJ,GCpBMggB,KAAkD,CAAC,EAAE,UAAAjJ,GAAU,SAAAlC,GAAS,OAAAxE,GAAO,UAAArQ,GAAU,GAAGsQ,QAAW;AACrG,QAAAiH,IAAYF,GAASN,CAAQ,GAC7BkJ,IAAY1I,KAAa,CAACR,GAC1B7G,IAAQkF,EAAkB;AAEhC,SAAKmC,0BAKF2I,IACC,EAAA,UAAA/P,gBAAAA,EAAA,IAACwP,MAAuB,YAAYM,GAAW,QAAQ/P,GACrD,UAAAC,gBAAAA,EAAA,IAAC4P,IAAqB,EAAA,OAAA1P,GAAc,SAAAwE,GAAkB,UAAAkC,GAAqB,GAAGzG,GAAM,OAAAJ,GACjF,UAAAlQ,GACH,GACF,EACF,CAAA,IAVO;AAYX,GCvBamgB,KAAgC,CAAC,EAAE,IAAAzL,QAA0B;AACxE,QAAM,CAACqC,GAAUqJ,CAAW,IAAIjK,EAAS,EAAK,GACxCiC,IAAaqE,GAAO,IAAI,GACxBpE,IAAaoE,GAAuB,IAAI,GACxC,EAAE,KAAA5D,GAAK,MAAAC,MAASX,GAAmB,EAAE,YAAAC,GAAY,YAAAC,GAAY,UAAAtB,GAAU,GACvE,EAAE,WAAAR,EAAA,IAAcH,GAAc1B,CAAE,GAEhC2L,IAAe,MAAMD,EAAY,EAAK,GACtCE,IAAc,MAAMF,EAAY,EAAI,GACpCG,IAAgB,MAAMH,EAAY,CAACrJ,CAAQ,GAC3CyJ,IAAoB,CAACzY,MAAwB;AACjD,IAAAA,EAAE,eAAe,GACHwY,EAAA;AAAA,EAChB;AAEA,SAAA9J,GAAY,EAAE,SAAS,UAAU,KAAK4B,GAAY,YAAYgI,GAAc,GAC5E/K,GAAgB,EAAE,KAAK+C,GAAY,uBAAuBgI,GAAc,cAAcjI,GAAY,GAE3F;AAAA,IACL,WAAA7B;AAAA,IACA,aAAA+J;AAAA,IACA,cAAAD;AAAA,IACA,eAAAE;AAAA,IACA,mBAAAC;AAAA,IACA,KAAA3H;AAAA,IACA,MAAAC;AAAA,IACA,UAAA/B;AAAA,IACA,YAAAqB;AAAA,IACA,YAAAC;AAAA,EACF;AACF,GC5BaoI,KAAgB/Q,EAAO;AAAA;AAAA;AAAA;AAAA,aAIvB,CAAC9S,MAAUA,EAAM,OAAO,WAAW;AAAA,sBAC1B,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA,YACrD,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA,WACpC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,aACnC,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,eAC/B,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,iBACnC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,mBACpC,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,gBAC5C,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA;AAAA,IAI7CwS,EAAe;AAAA,GCZb6E,KAAoD,CAAC;AAAA,EACzD,UAAAjU;AAAA,EACA,gBAAA0gB;AAAA,EACA,cAAAC,IAAe/N,GAA0B;AAAA,EACzC,WAAAoB,IAAY;AAAA,EACZ,IAAAU;AAAA,EACA,OAAAzE;AAAA,EACA,GAAGK;AACL,MAAM;AACJ,QAAMsQ,IAAqBD,GACrBzQ,IAAQkF,EAAkB,GAC1B,EAAE,aAAAkL,GAAa,cAAAD,GAAc,eAAAE,GAAe,mBAAAC,GAAmB,WAAAjK,GAAW,KAAAsC,GAAK,MAAAC,GAAM,UAAA/B,GAAU,YAAAqB,GAAY,YAAAC,EAAW,IAC1H8H,GAA8B,EAAE,IAAAzL,GAAI;AAGpC,SAAAnE,gBAAAA,EAAA;AAAA,IAACqQ;AAAA,IAAA;AAAA,MACC,OAAO,EAAE,UAAU,YAAY,QAAQ,UAAU;AAAA,MACjD,SAAS5M,MAAc,UAAUuM,IAAgB;AAAA,MACjD,aAAavM,MAAc,UAAUsM,IAAc;AAAA,MACnD,cAActM,MAAc,UAAUqM,IAAe;AAAA,MACrD,SAASrM,MAAc,UAAUsM,IAAc;AAAA,MAC/C,QAAQtM,MAAc,UAAUqM,IAAe;AAAA,MAC/C,eAAerM,MAAc,gBAAgB,CAACjM,MAAwByY,EAAkBzY,CAAC,IAAI;AAAA,MAC7F,UAAU;AAAA,MACV,KAAKqQ;AAAA,MACL,oBAAkB7B;AAAA,MAEjB,UAAA;AAAA,QAAAvW;AAAA,QACA+W,2BACEmJ,IACC,EAAA,UAAA/P,gBAAAA,EAAA,IAACsQ,MAAc,OAAO,EAAE,GAAGxQ,GAAO,KAAA4I,GAAK,MAAAC,EAAA,GAAQ,KAAKT,GAAY,MAAK,WAAU,IAAI9B,GAAW,QAAQrG,GAAQ,GAAGI,GAC9G,UAAAoQ,EACH,CAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;AC5CO,SAASG,GAA0BC,GAAwD;AAC5F,SAACA,IAEE,OAAO,KAAKA,CAAI,EAAE,IAAI,CAAClmB,MAAQ,CAACA,GAAK,EAAI,CAAC,IAF/B,CAAC;AAGrB;AAEgB,SAAAmmB,GAAsBC,GAAqCC,GAAgE;AACrI,UAAAA,KAAA,gBAAAA,EAAQ,WAAU,SAAkBD,IAEjCA,EAAM,IAAI,CAACvF,MACZA,EAAK,CAAC,MAAMwF,EAAO,OAAaxF,IAC7B,CAACA,EAAK,CAAC,GAAG,CAAC,EAACwF,KAAA,QAAAA,EAAQ,MAAK,CACjC;AACH;AAEO,SAASC,GAAgBF,GAA8C;AAC5E,SAAOA,EAAM,MAAM,CAACvF,MAASA,EAAK,CAAC,CAAC;AACtC;ACdO,SAAS0F,GAA2B;AAAA,EACzC,eAAAzH;AAAA,EACA,SAAAhC;AAAA,EACA,UAAA0J;AAAA,EACA,eAAAC;AACF,GAKG;AACD,QAAM,CAACC,GAAUC,CAAW,IAAIpL,EAASuD,CAAa,GAChD,CAAC8H,GAAiBC,CAAkB,IAAItL,EAAS0K,GAA0BnH,CAAa,CAAC,GACzF,CAAC/B,GAAa+J,CAAc,IAAIvL,EAAS,CAAC;AAwBzC,SAAA;AAAA,IACL,mBAvBwB,CAAC8K,MAAqC;AACxD,YAAAU,IAAU,EAAE,GAAGL,GAAU,CAACL,EAAO,IAAI,GAAGA,EAAO,MAAM;AAC3D,MAAAM,EAAYI,CAAO,GACAF,EAAAV,GAAsBS,GAAiBP,CAAM,CAAC;AAAA,IACnE;AAAA,IAoBE,cAlBmB,CAACrL,MAAsC;AAC1D,MAAAA,EAAM,eAAe;AAGrB,YAAMgM,IAAa,EAAE,GADI,OAAO,YAAY,IAAI,SAAShM,EAAM,MAAyB,CAAC,GAC/C,GAAG0L,EAAS;AAEtD,MAAAF,KAAA,QAAAA,EAAWxL,IACXyL,KAAA,QAAAA,EAAgBO;AAAA,IAClB;AAAA,IAWE,aATkB,CAAChM,MAAsC;AACzD,MAAA8B,KAAA,QAAAA,EAAU9B,IACV2L,EAAY7H,CAAa,GACzBgI,EAAe/J,IAAc,CAAC;AAAA,IAChC;AAAA,IAME,aAAAA;AAAA,IACA,OAAOuJ,GAAgBM,CAAe;AAAA,EACxC;AACF;AC9CO,MAAMK,KAAanS,EAAO;AAAA;AAAA;AAAA,SAGxB,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA,eAC3B,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,iBAClC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA;AAAA,IAEnD,CAAC,EAAE,UAAAklB,QACH;AAAA,sCACkCA,CAAQ;AAAA;AAAA,KAEzC;AAAA,GAGQC,KAA6BrS,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM7C,CAAC,EAAE,UAAAoS,QAAe;AAAA,uBACCA,IAAW,CAAC;AAAA,GAChC;AAAA,GCfGE,KAA8C,CAAC;AAAA,EACnD,UAAAhiB;AAAA,EACA,eAAA0Z;AAAA,EACA,SAAAhC;AAAA,EACA,UAAA0J;AAAA,EACA,eAAAC;AAAA,EACA,SAAAY,IAAU;AAAA,EACV,UAAAC,IAAW;AAAA,EACX,GAAG5R;AACL,MAAM;AACJ,QAAM,EAAE,mBAAA6R,GAAmB,cAAAC,GAAc,aAAAjI,GAAa,aAAAxC,GAAa,OAAA2F,MAAU6D,GAA2B;AAAA,IACtG,eAAAzH;AAAA,IACA,SAAAhC;AAAA,IACA,UAAA0J;AAAA,IACA,eAAAC;AAAA,EAAA,CACD,GACKnR,IAAQkF,EAAkB;AAG9B,SAAAjF,gBAAAA,MAAC0R,MAAW,UAAUO,GAAc,SAASjI,GAAa,UAAU8H,GAAS,QAAQ/R,GAAQ,GAAGI,GAC9F,UAACC,gBAAAA,EAAA,KAAA2D,GAAqB,UAArB,EAA8B,OAAO,EAAE,mBAAmBiO,GAAmB,eAAAzI,GAAe,aAAA/B,EAAA,GAC1F,UAAA;AAAA,IAAA3X;AAAA,IACDuQ,gBAAAA,EAAAA,KAACwR,IAA2B,EAAA,UAAUE,GACnC,UAAA;AAAA,MAAYC,KAAA/R,gBAAAA,EAAAA,IAAC+I,IAAgB,EAAA,MAAK,SAAQ,MAAK,SAAQ,MAAM1G,EAAkB,OAAO,MAAMD,GAAoB,KAAM,CAAA;AAAA,MACtHpC,gBAAAA,EAAA,IAAA+I,IAAA,EAAgB,MAAK,UAAS,MAAK,UAAS,MAAM1G,EAAkB,SAAS,UAAU,CAAC0P,GAAU,UAAU,CAAC5E,EAAO,CAAA;AAAA,IAAA,EACvH,CAAA;AAAA,EAAA,EAAA,CACF,EACF,CAAA;AAEJ,GCpCa+E,KAAa3S,EAAO;AAAA;AAAA,GAIpB4S,KAAmB5S,EAAO;AAAA,iBACtB,CAAC9S,MAAUA,EAAM,OAAO,cAAc;AAAA,WAC5C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,eACjC,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,GAGtC2lB,KAAiB7S,EAAO;AAAA,iBACpB,CAAC9S,MAAUA,EAAM,OAAO,cAAc;AAAA,WAC5C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,GAGnC4lB,KAAuB9S,EAAO;AAAA,aAC9B,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA,GAIjC6lB,KAAsB/S,EAAO;AAAA;AAAA,gBAE1B,CAAC9S,MAAUA,EAAM,OAAO,WAAW;AAAA,mBAChC,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA,sBAChC,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA,GAGpD8lB,KAAiBhT,EAAO;AAAA,aACxB,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA,GAGjC+lB,KAAoBjT,EAAO;AAAA,iBACvB,CAAC9S,MAAUA,EAAM,OAAO,cAAc;AAAA,WAC5C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,aACnC,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA,GAIjCgmB,KAAgBlT,EAAO;AAAA,mBACjB,CAAC9S,MAAUA,EAAM,OAAO,WAAW;AAAA;AAAA,IAElD,CAACA,MACDA,EAAM,aACN;AAAA,0BACsBA,EAAM,OAAO,oBAAoB;AAAA,KACtD;AAAA,GAGQimB,KAAmBnT,EAAO;AAAA,kBACrB,CAAC9S,MAAUA,EAAM,OAAO,WAAW;AAAA;AAAA,IAEjD,CAACA,MAAUA,EAAM,YAAY,gBAAgBA,EAAM,OAAO,WAAW,GAAG;AAAA,IACxE,CAACA,MAAUA,EAAM,gBAAgB,qBAAqBA,EAAM,OAAO,oBAAoB,GAAG;AAAA,GAGjFkmB,KAA4BpT,EAAO;AAAA;AAAA,SAEvC,CAAC9S,MAAUA,EAAM,OAAO,QAAQ;AAAA,aAC5B,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,aAKhC,CAACA,MAAWA,EAAM,WAAWA,EAAM,OAAO,gBAAgBA,EAAM,OAAO,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA,WAKxF,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA,iBAC1B,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA;AAAA;AAAA,qBAGhC,CAACA,MAAUA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAAA,IAInD,CAACA,MACDA,EAAM,aACN;AAAA;AAAA;AAAA,KAGC;AAAA,GAGQmmB,KAA0BrT,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAS/B,CAAC9S,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AC7F7C,SAASomB,GAAiB;AAAA,EAC/B,MAAAvH;AAAA,EACA,SAAAwG;AAAA,EACA,gBAAAgB;AACF,GAIoC;AAClC,QAAMjI,IAAS,CAAC;AAChB,aAAWrW,KAAUsd,GAAS;AACxB,QAAApmB;AAEJ,IAAIonB,KAAkBxH,EAAK9W,EAAO,KAAK,IAC7B9I,IAAAonB,EAAexH,GAAM9W,EAAO,KAAK,IAChC8W,EAAK9W,EAAO,KAAK,IAC1B9I,IAAS4f,EAAK9W,EAAO,KAAK,EAAa,SAAS,IAExC9I,IAAA,IAGVmf,EAAO,KAAKnf,CAAK;AAAA,EAAA;AAGZ,SAAAmf;AACT;ACvBA,MAAMkI,KAAwF,CAAC,EAAE,OAAArnB,GAAO,OAAAqU,QAC9FC,gBAAAA,EAAAA,IAAAuS,IAAA,EAAe,QAAQxS,GAAQ,UAAMrU,GAAA,GCQzCsnB,KAAqD,CAAC;AAAA,EAC1D,MAAAnmB;AAAA,EACA,OAAAmW;AAAA,EACA,UAAAE;AAAA,EACA,UAAAG,IAAW;AAAA,EACX,UAAAoG;AAAA,EACA,SAAAM,IAAU;AAAA,EACV,OAAAhK;AAAA,EACA,GAAGtT;AACL,MAAM;AACJ,QAAM,EAAE,WAAA2Z,EAAc,IAAAH,GAAcxZ,KAAA,gBAAAA,EAAO,EAAE;AAG3C,SAAA2T,gBAAAA,OAACuS,MAA0B,WAAW,CAAC,CAACzP,GAAU,UAAU6G,GAAS,QAAQhK,GAC3E,UAAA;AAAA,IAAAC,gBAAAA,EAAA;AAAA,MAAC4S;AAAA,MAAA;AAAA,QACC,IAAIxM;AAAA,QACJ,MAAAvZ;AAAA,QACA,MAAK;AAAA,QACL,UAAAqW;AAAA,QACA,UAAAG;AAAA,QACA,SAAA0G;AAAA,QACA,UAAAN;AAAA,QACA,QAAQ1J;AAAA,MAAA;AAAA,IACV;AAAA,IACAC,gBAAAA,EAAA;AAAA,MAACoD;AAAA,MAAA;AAAA,QACC,OAAAJ;AAAA,QACA,UAAAK;AAAA,QACA,SAAS+C;AAAA,QACT,cAAc;AAAA,QACd,cAAa;AAAA,QACb,OAAArG;AAAA,QACA,MAAMgK,IAAU/J,gBAAAA,MAACQ,IAAoB,CAAA,CAAA,0BAAMC,IAAsB,CAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACnE,GACF;AAEJ,GCjCMwS,KAAyD,CAAC;AAAA,EAC9D,OAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAnQ;AAAA,EACA,OAAAnD;AACF,MAAM;AACE,QAAAuT,IAAmB,CAAC1b,MAA2C;AAC7D,UAAA,EAAE,SAAAmS,MAAYnS,EAAE;AACtB,IAAImS,IACFqJ,EAAcF,CAAK,IAEnBG,EAAgBH,CAAK;AAAA,EAEzB;AAGE,SAAAlT,gBAAAA,EAAAA,IAACuS,IAAe,EAAA,QAAQxS,GACtB,UAAAC,gBAAAA,EAAA;AAAA,IAACgT;AAAA,IAAA;AAAA,MACC,OAAAjT;AAAA,MACA,OAAM;AAAA,MACN,UAAUuT;AAAA,MACV,IAAI,cAAcJ,CAAK;AAAA,MACvB,SAASC;AAAA,MACT,UAAAjQ;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,GC1BMqQ,KAAkC,CAAC,EAAE,OAAAL,GAAO,eAAAE,GAAe,iBAAAC,GAAiB,YAAAG,GAAY,QAAA3I,GAAQ,aAAAE,GAAa,UAAA7H,GAAU,OAAAnD,QAAY;AACjI,QAAAoL,IAAWJ,EAAY,SAASmI,CAAK;AAE3C,SACG9S,gBAAAA,EAAAA,KAAAqS,IAAA,EAAc,WAAWtH,GAAU,QAAQpL,GACzC,UAAA;AAAA,IACCyT,KAAAxT,gBAAAA,EAAA;AAAA,MAACiT;AAAA,MAAA;AAAA,QACC,OAAAC;AAAA,QACA,eAAAE;AAAA,QACA,iBAAAC;AAAA,QACA,eAAelI;AAAA,QACf,UAAAjI;AAAA,QACA,OAAAnD;AAAA,MAAA;AAAA,IACF;AAAA,IAED8K,EAAO,IAAI,CAACnf,GAAOkI,MAClBoM,gBAAAA,EAAAA,IAAC+S,IAAkC,EAAA,OAAArnB,GAAc,OAAAqU,EAA9B,GAAA,OAAOnM,CAAK,EAAgC,CAChE;AAAA,EAAA,GACH;AAEJ,GCpBM6f,KAAsD,CAAC;AAAA,EAC3D,eAAAL;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAP;AAAA,EACA,aAAA/H;AAAA,EACA,YAAAyI;AAAA,EACA,MAAA7C;AAAA,EACA,SAAAmB;AAAA,EACA,OAAA/R;AACF,4BAEKqS,IAAe,EAAA,QAAQrS,GACrB,UAAK4Q,EAAA,IAAI,CAACrF,MAAS;AAClB,QAAMT,IAASgI,GAAiB,EAAE,MAAAvH,GAAM,SAAAwG,GAAS,gBAAAgB,GAAgB;AAE/D,SAAA9S,gBAAAA,EAAA;AAAA,IAACuT;AAAA,IAAA;AAAA,MAEC,OAAOjI,EAAK;AAAA,MACZ,UAAUA,KAAA,gBAAAA,EAAM;AAAA,MAChB,eAAA8H;AAAA,MACA,iBAAAC;AAAA,MACA,YAAAG;AAAA,MACA,QAAA3I;AAAA,MACA,aAAAE;AAAA,MACA,OAAAhL;AAAA,IAAA;AAAA,IARKuL,EAAK;AAAA,EASZ;AAEH,CAAA,GACH,GC1CEoI,KAA4G,CAAC;AAAA,EACjH,SAAA5B;AAAA,EACA,YAAA0B;AAAA,EACA,OAAAzT;AACF,6BAEK,YACE,EAAA,UAAA;AAAA,EAAAyT,2BAAed,IAAiB,EAAA,UAAU,IAAM,cAAc,IAAO,QAAQ3S,GAAO;AAAA,EACpF+R,EAAQ,IAAI,CAACtd,GAAQZ,MACpBoM,gBAAAA,EAAA;AAAA,IAAC0S;AAAA,IAAA;AAAA,MACC,UAAU9e,MAAU,KAAK,CAAC4f;AAAA,MAE1B,cAAc,CAAC,EAAChf,KAAA,QAAAA,EAAQ;AAAA,MACxB,WAAWA,KAAA,gBAAAA,EAAQ;AAAA,MACnB,QAAQuL;AAAA,IAAA;AAAA,IAHHvL,KAAA,gBAAAA,EAAQ;AAAA,EAKhB,CAAA;AAAA,GACH,GCjBEmf,KAAsG,CAAC;AAAA,EAC3G,OAAAzT;AAAA,EACA,WAAA0T;AAAA,EACA,OAAA7T;AACF,4BACUsS,IAAqB,EAAA,QAAQtS,GAAQ,UAAA6T,KAAa1T,KAAS,IAAG,GCMlE2T,KAAyD,CAAC,EAAE,QAAAC,GAAQ,eAAAC,GAAe,WAAAC,GAAW,aAAAC,GAAa,UAAA/Q,GAAU,OAAAnD,QAAY;AAC/H,QAAAmU,IAAkB,CAACtc,MAA2C;AAC5D,UAAA,EAAE,SAAAmS,MAAYnS,EAAE;AACtB,IAAImS,IACQiK,EAAA,IAEEC,EAAA;AAAA,EAEhB;AAGE,SAAAjU,gBAAAA,EAAAA,IAACqS,IAAqB,EAAA,QAAQtS,GAC5B,UAAAC,gBAAAA,EAAA;AAAA,IAACgT;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,UAAUkB;AAAA,MACV,IAAI,cAAcJ,CAAM;AAAA,MACxB,SAASC;AAAA,MACT,UAAA7Q;AAAA,MACA,OAAAnD;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,GCnBMoU,KAAsD,CAAC;AAAA,EAC3D,SAAArC;AAAA,EACA,QAAAgC;AAAA,EACA,WAAAE;AAAA,EACA,aAAAC;AAAA,EACA,YAAAT;AAAA,EACA,eAAAO;AAAA,EACA,uBAAAK,IAAwB;AAAA,EACxB,OAAArU;AACF,4BAEKoS,IAAiB,EAAA,QAAQpS,GACxB,UAACK,gBAAAA,EAAA,KAAAkS,IAAA,EAAoB,QAAQvS,GAC1B,UAAA;AAAA,EACCyT,KAAAxT,gBAAAA,EAAA;AAAA,IAAC6T;AAAA,IAAA;AAAA,MACC,eAAAE;AAAA,MACA,UAAUK;AAAA,MACV,QAAAN;AAAA,MACA,WAAAE;AAAA,MACA,aAAAC;AAAA,MACA,OAAAlU;AAAA,IAAA;AAAA,EACF;AAAA,EAED+R,EAAQ,IAAI,CAACtd,MACXwL,gBAAAA,EAAAA,IAAA2T,IAAA,EAAiD,OAAOnf,EAAO,OAAO,WAAWA,EAAO,WAAW,OAAAuL,KAA/E,GAAGvL,EAAO,KAAK,IAAIsf,CAAM,EAAoE,CACnH;AAAA,EAAA,CACH,EACF,CAAA,GC1CSO,KAA6B,CAAC;AAAA,EACzC,MAAA1D;AAAA,EACA,IAAApM;AAAA,EACA,UAAA2G;AACF,MAIM;AACJ,QAAM,EAAE,WAAA9E,EAAA,IAAcH,GAAc1B,CAAE,GAChC,CAACwG,GAAauJ,CAAc,IAAItO,EAAmB,CAAA,CAAE,GACrDuO,IAAS5D,EAAK,IAAI,CAACrF,MAASA,EAAK,EAAE,GACnCyI,IAAgBQ,EAAO,WAAWxJ,EAAY,QAC9CqJ,IAAwBzD,EAAK,KAAK,CAACrF,MAASA,KAAA,gBAAAA,EAAM,QAAQ,GAE1Da,IAAe,CAACqI,MAAkB;AACtC,IAAAF,EAAeE,CAAG,GAClBtJ,KAAA,QAAAA,EAAWsJ;AAAA,EACb;AAmBO,SAAA;AAAA,IACL,WAAApO;AAAA,IACA,eAAA2N;AAAA,IACA,uBAAAK;AAAA,IACA,aAAArJ;AAAA,IACA,iBAtBsB,MAAM;AAC5B,MAAAoB,EAAaoI,CAAM;AAAA,IACrB;AAAA,IAqBE,mBAnBwB,MAAM;AAC9B,MAAApI,EAAa,CAAA,CAAE;AAAA,IACjB;AAAA,IAkBE,qBAhB0B,CAAC5H,MAAe;AAC1C,YAAMkQ,IAAS,CAAC,GAAG1J,GAAaxG,CAAE;AAClC,MAAA4H,EAAasI,CAAM;AAAA,IACrB;AAAA,IAcE,uBAZ4B,CAAClQ,MAAe;AAC5C,YAAMkQ,IAAS1J,EAAY,OAAO,CAACO,MAASA,MAAS/G,CAAE;AACvD,MAAA4H,EAAasI,CAAM;AAAA,IACrB;AAAA,EAUA;AACF,GCzCMC,KAA8C,CAAC;AAAA,EACnD,SAAA5C;AAAA,EACA,MAAAnB;AAAA,EACA,IAAApM;AAAA,EACA,UAAA2G;AAAA,EACA,gBAAA4H;AAAA,EACA,SAAA6B;AAAA,EACA,YAAAnB,IAAa;AAAA,EACb,GAAGrT;AACL,MAAM;AACE,QAAA;AAAA,IACJ,WAAAiG;AAAA,IACA,iBAAA8N;AAAA,IACA,mBAAAU;AAAA,IACA,uBAAAR;AAAA,IACA,eAAAL;AAAA,IACA,uBAAAc;AAAA,IACA,qBAAAC;AAAA,IACA,aAAA/J;AAAA,MACEsJ,GAA2B,EAAE,IAAA9P,GAAI,MAAAoM,GAAM,UAAAzF,GAAU,GAC/CnL,IAAQkF,EAAkB;AAG9B,SAAA7E,gBAAAA,EAAA,KAAC8R,IAAY,EAAA,GAAG/R,GACb,UAAA;AAAA,IAAAwU,KAAY3U,gBAAAA,EAAA,IAAAwS,IAAA,EAAkB,QAAQzS,GAAQ,UAAQ4U,GAAA;AAAA,IACtD3U,gBAAAA,EAAAA,IAAA0T,IAAA,EAAgB,SAAA5B,GAAkB,YAAA0B,GAAwB,OAAAzT,EAAc,CAAA;AAAA,IACzEC,gBAAAA,EAAA;AAAA,MAACmU;AAAA,MAAA;AAAA,QACC,QAAQ/N;AAAA,QACR,SAAA0L;AAAA,QACA,YAAA0B;AAAA,QACA,WAAWU;AAAA,QACX,aAAaU;AAAA,QACb,eAAAb;AAAA,QACA,uBAAAK;AAAA,QACA,OAAArU;AAAA,MAAA;AAAA,IACF;AAAA,IACAC,gBAAAA,EAAA;AAAA,MAACyT;AAAA,MAAA;AAAA,QACC,SAAA3B;AAAA,QACA,MAAAnB;AAAA,QACA,YAAA6C;AAAA,QACA,eAAesB;AAAA,QACf,iBAAiBD;AAAA,QACjB,aAAA9J;AAAA,QACA,gBAAA+H;AAAA,QACA,OAAA/S;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ,GCpDagV,KAAgBxV,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAM3B,CAAC9S,MAAUA,EAAM,OAAO,QAAQ;AAAA,oBACrB,CAACA,MAAWA,EAAM,UAAU8V,EAAyB,WAAW,WAAW,KAAM;AAAA;AAAA;AAAA,GAKxFyS,KAAmBzV,EAAOwV,EAAa;AAAA;AAAA,kBAElC,CAACtoB,MAAUA,EAAM,OAAO,MAAM;AAAA,iBAC/B,CAACA,MAAUA,EAAM,OAAO,MAAM;AAAA,gBAC/B,CAACA,MAAUA,EAAM,OAAO,QAAQ;AAAA;AAAA,iBAE/B,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA,IAChDwS,EAAe;AAAA;AAAA,IAEf,CAAC,EAAE,QAAAgW,GAAQ,OAAAC,EACX,MAAAA,MAAU3S,EAAyB,cACnC;AAAA;AAAA;AAAA;AAAA;AAAA,uBAKmB0S,EAAO,iBAAiB;AAAA,gBAC/BA,EAAO,WAAW;AAAA,oBACdA,EAAO,SAAS;AAAA,0BACVA,EAAO,mBAAmB;AAAA,iBACnCA,EAAO,SAAS;AAAA;AAAA,iBAEhBA,EAAO,WAAW;AAAA,GAChC;AAAA,GAGUE,KAAiB5V,EAAO;AAAA;AAAA;AAAA;AAAA,SAI5B,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA,iBACzB,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,WAC5C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,eACjC,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,sBAC7B,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA,aACpD,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,mBAC3B,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA;AAAA;AAAA;AAAA,aAI/C,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA;AAAA;AAAA,eAIrC,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA,GAIvC2oB,KAAgB7V,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAQjB,CAAC9S,MAAUA,EAAM,OAAO,iBAAiB;AAAA;AAAA;AAAA,eAG7C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA,GAIvC4oB,KAAoB9V,EAAO;AAAA;AAAA;AAAA;AAAA,SAI/B,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA;AAAA,iBAIzB,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,WAC5C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,eACjC,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,sBAC7B,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA,aACpD,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,mBAC3B,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,WAKjD,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,aAK/B,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA,GC7F9C6oB,KAAoC,CAAC,EAAE,OAAAvV,GAAO,MAAAuL,QAAW;AAC7D,QAAM,EAAE,MAAArI,GAAM,MAAAsS,GAAM,OAAAvS,GAAO,SAAA4K,GAAS,SAAA7K,GAAS,SAAAyS,MAAYlK,GAEnDmK,IAAcF,IACjBvV,gBAAAA,MAAA,KAAA,EAAE,MAAMuV,GAAM,QAAO,UAAS,KAAI,cAChC,UAAAvS,GACH,IAEAhD,gBAAAA,EAAA,IAAC,UAAM,UAAMgD,GAAA;AAIb,SAAA5C,gBAAAA,EAAA,KAAC+U,IAAe,EAAA,UAAU,GAAG,MAAK,YAAW,QAAQpV,GAAO,SAAA6N,GAAkB,SAAA7K,GAAkB,aAAayS,GAC3G,UAAA;AAAA,IAACxV,gBAAAA,EAAAA,IAAA2C,IAAA,EAAc,MAAMM,EAAM,CAAA;AAAA,IAC1BwS;AAAA,EAAA,GACH;AAEJ,GCXMC,KAAkC,CAAC,EAAE,MAAApK,GAAM,OAAAvL,GAAO,iBAAA4V,GAAiB,eAAAC,GAAe,cAAAC,GAAc,MAAA3R,GAAM,UAAArU,QAAe;AACzH,QAAM,EAAE,MAAAoT,GAAM,MAAAsS,GAAM,OAAAvS,EAAU,IAAAsI,GACxBlG,IAAMkH,GAAO,IAAI,GACjBhH,IAAegH,GAAO,IAAI,GAE1BwJ,IAAcP,IACjBnV,gBAAAA,EAAA,KAAA,KAAA,EAAE,MAAMmV,GAAM,QAAO,UAAS,KAAI,cACjC,UAAA;AAAA,IAACvV,gBAAAA,EAAAA,IAAA2C,IAAA,EAAc,MAAMM,EAAM,CAAA;AAAA,IAC1BD;AAAA,EACH,EAAA,CAAA,2BAEC,QACC,EAAA,UAAA;AAAA,IAAChD,gBAAAA,EAAAA,IAAA2C,IAAA,EAAc,MAAMM,EAAM,CAAA;AAAA,IAC1BD;AAAA,EAAA,GACH,GAGIoI,IAAgB,CAACxT,MAA0C;AAC/D,IAAAA,EAAE,gBAAgB,GACdA,EAAE,QAAQ,OACEge,EAAA;AAAA,EAElB;AAOA,SAAAzQ,GAAgB,EAAE,KAAAC,GAAK,cAAAE,GAAc,uBALP,MAAM;AAC9B,IAAApB,MAAS3B,EAAyB,YACzBsT,EAAA;AAAA,EACf,EAEqC,CAAuB,GAG1DzV,gBAAAA,EAAA;AAAA,IAACgV;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,MAAK;AAAA,MACL,iBAAc;AAAA,MACd,iBAAeO;AAAA,MACf,QAAQ5V;AAAA,MACR,WAAWqL;AAAA,MACX,KAAAhG;AAAA,MAEA,UAAA;AAAA,QAAChF,gBAAAA,EAAAA,KAAAiV,IAAA,EAAkB,KAAK/P,GAAc,QAAQvF,GAAO,SAAS6V,GAAe,OAAO1R,GACjF,UAAA;AAAA,UAAA4R;AAAA,gCACAnT,IAAc,EAAA,MAAMgT,IAAkBtT,EAAkB,UAAUA,EAAkB,UAAW,CAAA;AAAA,QAAA,GAClG;AAAA,QACCsT,KAAmB9lB;AAAA,MAAA;AAAA,IAAA;AAAA,EACtB;AAEJ,GClDMkmB,KAAoC,CAAC,EAAE,MAAAzK,GAAM,OAAAvL,GAAO,MAAAmE,QAAW;;AAC7D,QAAA8R,IAAS,GAAC3H,IAAA/C,KAAA,gBAAAA,EAAM,gBAAN,QAAA+C,EAAmB,SAC7B,CAACsH,GAAiBM,CAAkB,IAAIjQ,EAAS,EAAK;AAE5D,MAAIgQ;AACK,WAAAhW,gBAAAA,EAAA,IAACsV,IAAS,EAAA,MAAAhK,GAAY,OAAAvL,EAAc,CAAA;AAG7C,QAAM6V,IAAgB,MAAM;AAC1B,IAAAK,EAAmB,CAACN,CAAe;AAAA,EACrC,GAEME,IAAe,MAAM;AACzB,IAAAI,EAAmB,EAAK;AAAA,EAC1B;AAGE,SAAAjW,gBAAAA,EAAA;AAAA,IAAC0V;AAAA,IAAA;AAAA,MACC,MAAApK;AAAA,MACA,OAAAvL;AAAA,MACA,iBAAA4V;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,MAAA3R;AAAA,MAEA,UAAAlE,gBAAAA,EAAAA,IAACgV,IAAiB,EAAA,MAAK,QAAO,cAAY1J,EAAK,OAAO,QAAQvL,GAAO,OAAOmE,GACzE,WAAAgS,IAAA5K,KAAA,gBAAAA,EAAM,gBAAN,gBAAA4K,EAAmB,IAAI,CAAC3lB,MAAUyP,gBAAAA,EAAA,IAAC+V,IAAS,EAAA,MAAMxlB,GAAsB,OAAAwP,GAAc,MAAAmE,EAAxB,GAAA3T,EAAM,EAA8B,GACrG,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ,GCrCM4lB,KAA8C,CAAC,EAAE,OAAAC,GAAO,MAAAlS,IAAO3B,EAAyB,UAAU,GAAGpC,QAAW;AACpH,QAAMJ,IAAQkF,EAAkB;AAG9B,SAAAjF,gBAAAA,MAAC+U,MAAc,MAAK,WAAU,QAAQhV,GAAO,OAAOmE,GAAO,GAAG/D,GAC3D,UAAAiW,EAAM,IAAI,CAAC9K,4BACTyK,IAAuB,EAAA,MAAAzK,GAAY,OAAAvL,GAAc,MAAAmE,KAAnCoH,EAAK,EAA0C,CAC/D,EACH,CAAA;AAEJ,GCfMyE,KAAkB,CAAC,EAAE,UAAAlgB,QAAoE;AACvF,QAAA,CAACwmB,CAAS,IAAIrQ,EAAS,MAAM,SAAS,cAAc,KAAK,CAAC;AAEhE,SAAAT,GAAU,OAEC,SAAA,KAAK,YAAY8Q,CAAS,GAG5B,MAAM;AACF,aAAA,KAAK,YAAYA,CAAS;AAAA,EACrC,IACC,CAACA,CAAS,CAAC,GAEPC,GAAS,aAAazmB,GAAUwmB,CAAS;AAClD,GCbaE,KAAkBhX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAUzB,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA,eAE/B,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,iBAClC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,WAC5C,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA,4BAEpB,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA,6BACxC,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA;AAAA;AAAA,eAGvD,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMvC,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA;AAAA,IAGhD,CAACA,MACDA,EAAM,aACN;AAAA;AAAA;AAAA;AAAA,KAIC;AAAA;AAAA,IAED,CAACA,MACDA,EAAM,aACN;AAAA,oBACgBA,EAAM,OAAO,WAAW;AAAA,sBACtBA,EAAM,OAAO,WAAW;AAAA,qBACzBA,EAAM,OAAO,WAAW;AAAA,0BACnBA,EAAM,OAAO,mBAAmB;AAAA;AAAA,KAErD;AAAA;AAAA,MAEC,CAACA,MACHA,EAAM,UAAU8V,EAAyB,YACzC;AAAA,mCAC+B9V,EAAM,OAAO,iBAAiB;AAAA;AAAA,KAE5D;AAAA;AAAA,MAEC,CAACA,MACHA,EAAM,UAAU8V,EAAyB,YACzC9V,EAAM,aACN;AAAA,oBACgBA,EAAM,OAAO,WAAW;AAAA;AAAA,qBAEvBA,EAAM,OAAO,WAAW;AAAA,uBACtBA,EAAM,OAAO,WAAW;AAAA;AAAA;AAAA,KAG1C;AAAA,GAGQ+pB,KAAmBjX,EAAO;AAAA,sBACjB,CAAC9S,MAAUA,EAAM,OAAO,mBAAmB;AAAA,WACtD,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA,eACjC,CAACA,MAAUA,EAAM,OAAO,YAAY;AAAA,iBAClC,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,aAC1C,CAACA,MAAUA,EAAM,OAAO,MAAM;AAAA;AAAA,GAI9BgqB,KAAgBlX,EAAO;AAAA,mBACjB,CAAC9S,MAAUA,EAAM,OAAO,WAAW;AAAA,eACvC,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA,SAEvC,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA,IAEtC,CAACA,MACDA,EAAM,UAAU8V,EAAyB,YACzC;AAAA;AAAA;AAAA,sBAGkB9V,EAAM,OAAO,WAAW;AAAA,iBAC7BA,EAAM,OAAO,SAAS;AAAA,KAClC;AAAA,GAGQiqB,KAAanX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAK7B,CAAC,EAAE,OAAA2V,EAAA,MACHA,MAAU3S,EAAyB,YACnC;AAAA;AAAA,KAEC;AAAA,GCpGCoU,KAID,CAAC,EAAE,MAAAC,GAAM,eAAAC,GAAe,OAAA9W,QAAgC;;AACrD,QAAA+W,KAAUzI,IAAAuI,EAAK,KAAK,CAACtL,MAASA,EAAK,OAAOuL,CAAa,MAA7C,gBAAAxI,EAAgD,SAC1D0I,IAAY,YAAYF,CAAa;AAGzC,SAAA7W,gBAAAA,EAAA,IAACwW,IAAiB,EAAA,MAAK,YAAW,mBAAiBK,GAAe,IAAIE,GAAW,QAAQhX,GACtF,UACH+W,EAAA,CAAA;AAEJ,GCDME,KAAwD,CAAC;AAAA,EAC7D,OAAA9W;AAAA,EACA,aAAA+W;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,YAAAC;AAAA,EACA,MAAAnT;AAAA,EACA,OAAAnE;AACF,MAEIC,gBAAAA,EAAA;AAAA,EAACuW;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,IAAIW;AAAA,IACJ,SAAS,MAAMD,EAAYC,CAAK;AAAA,IAChC,iBAAeC;AAAA,IACf,iBAAeE;AAAA,IACf,WAAWF;AAAA,IACX,WAAWC;AAAA,IACX,OAAOlT;AAAA,IACP,QAAQnE;AAAA,IAEP,UAAAG;AAAA,EAAA;AACH,GCrBEoX,KAAoD,CAAC,EAAE,MAAAV,GAAM,aAAAK,GAAa,eAAAJ,GAAe,aAAAU,GAAa,MAAArT,GAAM,QAAAsT,GAAQ,OAAAzX,QAAY;AAC9H,QAAA0X,IAAoB,CAAC7f,MAAqC;AAC9D,UAAM8f,IAAyBF,EAAO,UAAU,CAACjT,MAAOA,MAAOsS,CAAa;AAE5E,YAAQjf,EAAE,KAAK;AAAA,MACb,KAAK;AAAA,MACL,KAAK,WAAW;AAGd,YAFAA,EAAE,eAAe,GACbA,EAAE,QAAQ,aAAasM,MAAS3B,EAAyB,cACzD3K,EAAE,QAAQ,eAAesM,MAAS3B,EAAyB,SAAU;AAEzE,cAAMoV,IAAmBD,IAAyB,KAAK,IAAIA,IAAyB,IAAIF,EAAO,SAAS,GAClGI,IAAgBJ,EAAOG,CAAgB;AAC7C,QAAIC,MACFtT,GAAuBsT,CAAa,GACpCX,EAAYW,CAAa;AAE3B;AAAA,MAAA;AAAA,MAEF,KAAK;AAAA,MACL,KAAK,aAAa;AAGhB,YAFAhgB,EAAE,eAAe,GACbA,EAAE,QAAQ,eAAesM,MAAS3B,EAAyB,cAC3D3K,EAAE,QAAQ,gBAAgBsM,MAAS3B,EAAyB,SAAU;AAE1E,cAAMsV,IAAeH,MAA2BF,EAAO,SAAS,IAAI,IAAIE,IAAyB,GAC3FI,IAAYN,EAAOK,CAAY;AACrC,QAAIC,MACFxT,GAAuBwT,CAAS,GAChCb,EAAYa,CAAS;AAEvB;AAAA,MAAA;AAAA,IAGA;AAAA,EAEN;AAEA,+BACGrB,IAAc,EAAA,MAAK,WAAU,OAAOvS,GAAM,WAAWuT,GAAmB,QAAQ1X,GAC9E,UAAA6W,EAAK,IAAI,CAAC,EAAE,IAAArS,GAAI,OAAArE,GAAO,UAAAgD,KAAYtP,MAEhCoM,gBAAAA,EAAA;AAAA,IAACgX;AAAA,IAAA;AAAA,MAEC,OAAA9W;AAAA,MACA,aAAA+W;AAAA,MACA,OAAO1S;AAAA,MACP,YAAYA,MAAOsS;AAAA,MACnB,YAAY3T;AAAA,MACZ,YAAYqU,EAAY3jB,CAAK;AAAA,MAC7B,MAAAsQ;AAAA,MACA,OAAAnE;AAAA,IAAA;AAAA,IARKwE;AAAA,EASP,CAEH,GACH;AAEJ,GCnEMwT,KAA8C,CAAC,EAAE,MAAAnB,GAAM,cAAAoB,GAAc,MAAA9T,IAAO3B,EAAyB,YAAY,GAAGpC,QAAW;AACnI,QAAMqX,IAASZ,EAAK,IAAI,CAACtL,MAASA,EAAK,EAAE,GACnCiM,IAAcC,EAAO,IAAI,CAACjT,MAAO,YAAYA,CAAE,EAAE,GACjD0T,IAAYD,KAAgBR,EAAO,SAASQ,CAAY,IAAIA,IAAeR,EAAO,CAAC,GACnF,CAACX,GAAeqB,CAAgB,IAAIlS,EAASiS,CAAS,GACtDlY,IAAQkF,EAAkB,GAE1BkT,IAAkB,CAAC5T,MAAe;AACtC,IAAA2T,EAAiB3T,CAAE;AAAA,EACrB;AAEA,SACGnE,gBAAAA,EAAAA,KAAAsW,IAAA,EAAW,OAAOxS,GAAO,GAAG/D,GAC3B,UAAA;AAAA,IAAAH,gBAAAA,EAAA;AAAA,MAACsX;AAAA,MAAA;AAAA,QACC,MAAAV;AAAA,QACA,eAAAC;AAAA,QACA,aAAAU;AAAA,QACA,aAAaY;AAAA,QACb,MAAAjU;AAAA,QACA,QAAAsT;AAAA,QACA,OAAAzX;AAAA,MAAA;AAAA,IACF;AAAA,IACCC,gBAAAA,EAAAA,IAAA2W,IAAA,EAAoB,MAAAC,GAAY,eAAAC,GAA8B,OAAA9W,EAAc,CAAA;AAAA,EAAA,GAC/E;AAEJ,GC7BaqY,KAAoB7Y,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAO7B,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA;AAAA;AAAA,aAG/B,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA;AAAA,eAGnC,CAACA,MAAUA,EAAM,OAAO,eAAe;AAAA;AAAA;AAAA,GAKzC4rB,KAAqB9Y,EAAO;AAAA;AAAA,YAE7B,CAAC9S,MAAUA,EAAM,OAAO,MAAM;AAAA;AAAA;AAAA,aAG7B,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA,IAC5CwS,EAAe;AAAA;AAAA,IAEf,CAACxS,MAAUA,EAAM,cAAcyS,EAAgB;AAAA,GAGtCoZ,KAAqB/Y,EAAO;AAAA;AAAA;AAAA,SAGhC,CAAC9S,MAAUA,EAAM,OAAO,SAAS;AAAA,iBACzB,CAACA,MAAUA,EAAM,OAAO,cAAc;AAAA,gBACvC,CAACA,MAAUA,EAAM,OAAO,mBAAmB;AAAA,WAChD,CAACA,MAAUA,EAAM,OAAO,aAAa;AAAA;AAAA,aAEnC,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,gBAC9B,CAACA,MAAUA,EAAM,OAAO,SAAS;AAAA,YACrC,CAACA,MAAUA,EAAM,OAAO,WAAW;AAAA,mBAC5B,CAACA,MAAUA,EAAM,OAAO,iBAAiB;AAAA;ACpC5C,SAAA8rB,GAAcrU,GAA0BhE,GAAwB;AAC9E,MAAIA,EAAc,QAAAA;AAElB,UAAQgE,GAAM;AAAA,IACZ,KAAK/B,EAAmB;AACf,aAAA;AAAA,IACT,KAAKA,EAAmB;AACf,aAAA;AAAA,IACT,KAAKA,EAAmB;AACf,aAAA;AAAA,IACT,KAAKA,EAAmB;AACf,aAAA;AAAA,IACT,KAAKA,EAAmB;AACf,aAAA;AAAA,IACT;AACS,aAAA;AAAA,EAAA;AAEb;AAEgB,SAAAqW,GAAgBtU,GAA0BjB,GAAqD;AAC7G,MAAIA;AACK,WAAAjD,gBAAAA,EAAA,IAAC2C,IAAc,EAAA,MAAMM,EAAM,CAAA;AAGpC,UAAQiB,GAAM;AAAA,IACZ,KAAK/B,EAAmB;AACtB,mCAAQT,IAAS,EAAA;AAAA,IACnB,KAAKS,EAAmB;AACtB,mCAAQD,IAAY,EAAA;AAAA,IACtB,KAAKC,EAAmB;AACtB,mCAAQf,IAAU,EAAA;AAAA,IACpB,KAAKe,EAAmB;AACtB,mCAAQzB,IAAc,EAAA;AAAA,IACxB,KAAKyB,EAAmB;AACtB,mCAAQZ,IAAS,EAAA;AAAA,IACnB;AACS,aAAA;AAAA,EAAA;AAEb;AC/BA,MAAMkX,KAA4D,CAAC,EAAE,OAAAvY,GAAO,SAAAwE,GAAS,MAAAR,GAAM,MAAAjB,GAAM,OAAAlD,QAAY;AACrG,QAAA2Y,IAAaH,GAAcrU,GAAMhE,CAAK,GACtCyY,IAAYH,GAAgBtU,GAAMjB,CAAI;AAG1C,SAAA7C,gBAAAA,EAAA,KAACgY,IAAkB,EAAA,QAAQrY,GACzB,UAAA;AAAA,IAAAK,gBAAAA,OAAC,MACE,EAAA,UAAA;AAAA,MAAAuY;AAAA,MACAD;AAAA,IAAA,GACH;AAAA,IACA1Y,gBAAAA,EAAAA,IAAC+I,IAAgB,EAAA,MAAM1G,EAAkB,QAAQ,MAAMD,GAAoB,MAAM,OAAM,qBAAoB,SAASsC,EAAS,CAAA;AAAA,EAAA,GAC/H;AAEJ,GCpBMkU,KAAgD,CAAC;AAAA,EACrD,UAAAhS;AAAA,EACA,SAAAlC;AAAA,EACA,OAAAxE;AAAA,EACA,SAAAN;AAAA,EACA,MAAAsE,IAAO/B,EAAmB;AAAA,EAC1B,MAAAc;AAAA,EACA,GAAG9C;AACL,MAAM;AACE,QAAAiH,IAAYF,GAASN,CAAQ,GAC7BkJ,IAAY1I,KAAa,CAACR,GAC1B7G,IAAQkF,EAAkB;AAE5B,SAACmC,IAGFpH,gBAAAA,EAAA,IAAA+P,IAAA,EACC,UAAC/P,gBAAAA,EAAA,IAAAqY,IAAA,EAAmB,YAAYvI,GAAW,QAAQ/P,GACjD,UAACK,gBAAAA,EAAA,KAAAkY,IAAA,EAAoB,GAAGnY,GAAM,QAAQJ,GACpC,UAAA;AAAA,IAAAC,gBAAAA,EAAA,IAACyY,IAAqB,EAAA,OAAAvY,GAAc,SAAAwE,GAAkB,MAAAR,GAAY,MAAAjB,GAAY,OAAAlD,GAAc;AAAA,IAC5FC,gBAAAA,EAAAA,IAAC,OAAG,UAAQJ,EAAA,CAAA;AAAA,EAAA,EACd,CAAA,EACF,CAAA,GACF,IAVqB;AAYzB;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
1
+ {"version":3,"file":"index.es.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/utils/get-class-name.ts","../src/elements/error-message/ErrorMessage.tsx","../src/assets/icons/svg/ArrowDownIcon.tsx","../src/assets/icons/svg/ArrowUpIcon.tsx","../src/assets/icons/svg/BackIcon.tsx","../src/assets/icons/svg/CancelIcon.tsx","../src/assets/icons/svg/CheckboxCheckedIcon.tsx","../src/assets/icons/svg/CheckboxUncheckedIcon.tsx","../src/assets/icons/svg/CheckMarkIcon.tsx","../src/assets/icons/svg/ChevronDownIcon.tsx","../src/assets/icons/svg/ChevronLeftIcon.tsx","../src/assets/icons/svg/ChevronRightIcon.tsx","../src/assets/icons/svg/ChevronUpIcon.tsx","../src/assets/icons/svg/ClearIcon.tsx","../src/assets/icons/svg/CopyIcon.tsx","../src/assets/icons/svg/CutIcon.tsx","../src/assets/icons/svg/DeleteIcon.tsx","../src/assets/icons/svg/DownloadIcon.tsx","../src/assets/icons/svg/ErrorIcon.tsx","../src/assets/icons/svg/ForwardIcon.tsx","../src/assets/icons/svg/GraduateIcon.tsx","../src/assets/icons/svg/HelpIcon.tsx","../src/assets/icons/svg/HideIcon.tsx","../src/assets/icons/svg/HomeIcon.tsx","../src/assets/icons/svg/InfoIcon.tsx","../src/assets/icons/svg/LoginIcon.tsx","../src/assets/icons/svg/PasteIcon.tsx","../src/assets/icons/svg/QuestionIcon.tsx","../src/assets/icons/svg/RemoveIcon.tsx","../src/assets/icons/svg/SaveIcon.tsx","../src/assets/icons/svg/ShowIcon.tsx","../src/assets/icons/svg/UploadIcon.tsx","../src/assets/icons/svg/WarningIcon.tsx","../src/enums/chop-logic-alert-mode.ts","../src/enums/chop-logic-button-view.ts","../src/enums/chop-logic-icon-name.ts","../src/enums/chop-logic-loader-view.ts","../src/enums/chop-logic-orientation-mode.ts","../src/enums/chop-logic-theme-mode.ts","../src/enums/chop-logic-tooltip-container.ts","../src/assets/icons/index.tsx","../src/elements/icon/Icon.tsx","../src/elements/input-inner-button/InputInnerButton.tsx","../src/elements/label/Label.tsx","../src/hocs/with-tooltip/index.tsx","../src/utils/move-focus-on-element-by-id.ts","../src/utils/handle-dropdown-list-key-press.ts","../src/components/inputs/button/Button.tsx","../src/hooks/use-click-outside/index.ts","../src/hooks/use-container-dimensions/index.ts","../src/hooks/use-element-ids/index.tsx","../src/hooks/use-key-press/index.ts","../src/hooks/use-modal-focus-trap/index.ts","../src/hooks/use-mount/index.ts","../src/contexts/form/context.tsx","../src/contexts/theme/context.ts","../src/contexts/theme/provider.tsx","../src/hooks/use-reset-form-input/index.ts","../src/hooks/use-window-dimensions/index.ts","../src/hooks/use-tooltip-position/index.ts","../src/hooks/use-chop-logic-theme/index.ts","../src/components/inputs/checkbox/helpers.ts","../src/components/inputs/checkbox/controller.ts","../src/components/inputs/checkbox/Checkbox.tsx","../src/components/inputs/multi-select/elements/Combobox.tsx","../src/components/inputs/multi-select/elements/Option.tsx","../src/components/inputs/multi-select/elements/Dropdown.tsx","../src/components/inputs/multi-select/helpers.ts","../src/components/inputs/multi-select/controller.ts","../src/components/inputs/multi-select/MultiSelect.tsx","../src/components/inputs/numeric/helpers.ts","../src/components/inputs/numeric/controller.ts","../src/components/inputs/numeric/NumericInput.tsx","../src/components/inputs/select/elements/Combobox.tsx","../src/components/inputs/select/elements/Option.tsx","../src/components/inputs/select/elements/Dropdown.tsx","../src/components/inputs/select/helpers.ts","../src/components/inputs/select/controller.ts","../src/components/inputs/select/Select.tsx","../src/components/inputs/text/helpers.ts","../src/components/inputs/text/controller.ts","../src/components/inputs/text/TextInput.tsx","../src/components/modals/dialog/elements/Header/index.tsx","../src/components/modals/dialog/elements/Layout/index.tsx","../src/components/modals/dialog/Dialog.tsx","../src/components/modals/tooltip/controller.ts","../src/components/modals/tooltip/Tooltip.tsx","../src/components/containers/form/helpers.ts","../src/components/containers/form/controller.ts","../src/components/containers/form/Form.tsx","../src/components/containers/grid/helpers.ts","../src/components/containers/grid/elements/DataCell.tsx","../src/components/containers/grid/elements/Checkbox.tsx","../src/components/containers/grid/elements/SelectRowCell.tsx","../src/components/containers/grid/elements/Row.tsx","../src/components/containers/grid/elements/Body.tsx","../src/components/containers/grid/elements/ColumnGroup.tsx","../src/components/containers/grid/elements/HeaderCell.tsx","../src/components/containers/grid/elements/SelectAllRowsCell.tsx","../src/components/containers/grid/elements/Head.tsx","../src/components/containers/grid/controller.ts","../src/components/containers/grid/Grid.tsx","../src/components/containers/menu/elements/MenuLeaf.tsx","../src/components/containers/menu/elements/SubMenu.tsx","../src/components/containers/menu/elements/MenuItem.tsx","../src/components/containers/menu/Menu.tsx","../src/components/containers/portal/Portal.tsx","../src/components/containers/tabs/elements/TabContent.tsx","../src/components/containers/tabs/elements/TabButton.tsx","../src/components/containers/tabs/elements/TabList.tsx","../src/components/containers/tabs/Tabs.tsx","../src/components/modals/alert/helpers.tsx","../src/components/modals/alert/elements/AlertHeader.tsx","../src/components/modals/alert/Alert.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n \"react-stack-bottom-frame\": function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React[\"react-stack-bottom-frame\"].bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","type ClassNameInput =\n | string\n | {\n [key in string]: boolean;\n }\n | undefined\n | null;\n\nexport function getClassName(input: ClassNameInput[]): string {\n const names = input\n .map((item) => {\n if (typeof item === 'string') {\n return item.trim();\n }\n if (typeof item === 'object') {\n const trueKeys = [];\n for (const key in item) {\n if (item[key]) {\n trueKeys.push(key.trim());\n }\n }\n\n return trueKeys.join(' ');\n }\n })\n .filter((item) => !!item);\n\n return names.join(' ');\n}\n","import React from 'react';\nimport { getClassName } from '@utils/get-class-name.ts';\nimport styles from './ErrorMessage.module.scss';\n\ntype ChopLogicErrorMessageProps = {\n errorId: string;\n visible?: boolean;\n message?: string;\n testId?: string;\n style?: React.CSSProperties;\n};\n\nconst ChopLogicErrorMessage: React.FC<ChopLogicErrorMessageProps> = ({\n errorId,\n testId,\n message = 'Invalid input',\n visible = false,\n style,\n}) => {\n return (\n <span\n id={errorId}\n className={getClassName([styles.errorMessage, { [styles.errorMessage__visible]: visible }])}\n data-testid={testId}\n style={style}\n aria-hidden={!visible}\n >\n {message}\n </span>\n );\n};\n\nexport default ChopLogicErrorMessage;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowDownIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M21.886 5.536A1.002 1.002 0 0021 5H3a1.002 1.002 0 00-.822 1.569l9 13a.998.998 0 001.644 0l9-13a.998.998 0 00.064-1.033zM12 17.243L4.908 7h14.184L12 17.243z' />\n </svg>\n );\n}\n\nexport default ArrowDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowUpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M3 19h18a1.002 1.002 0 00.823-1.569l-9-13c-.373-.539-1.271-.539-1.645 0l-9 13A.999.999 0 003 19zm9-12.243L19.092 17H4.908L12 6.757z' />\n </svg>\n );\n}\n\nexport default ArrowUpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction BackIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M328 112L184 256l144 144' />\n </svg>\n );\n}\n\nexport default BackIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CancelIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 470 1000' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M452 656c12 12 18 26.333 18 43s-6 31-18 43c-12 10.667-26.333 16-43 16s-31-5.333-43-16L234 590 102 742c-12 10.667-26.333 16-43 16s-31-5.333-43-16C5.333 730 0 715.667 0 699s5.333-31 16-43l138-156L16 342C5.333 330 0 315.667 0 299s5.333-31 16-43c12-10.667 26.333-16 43-16s31 5.333 43 16l132 152 132-152c12-10.667 26.333-16 43-16s31 5.333 43 16c12 12 18 26.333 18 43s-6 31-18 43L314 500l138 156' />\n </svg>\n );\n}\n\nexport default CancelIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxCheckedIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='currentColor'\n d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM7 12.414L3.293 8.707l1.414-1.414L7 9.586l4.793-4.793 1.414 1.414L7 12.414z'\n />\n </svg>\n );\n}\n\nexport default CheckboxCheckedIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxUncheckedIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='currentColor' d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm0 14H2V2h12v12z' />\n </svg>\n );\n}\n\nexport default CheckboxUncheckedIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckMarkIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z' />\n </svg>\n );\n}\n\nexport default CheckMarkIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronDownIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M1.553 6.776a.5.5 0 01.67-.223L8 9.44l5.776-2.888a.5.5 0 11.448.894l-6 3a.5.5 0 01-.448 0l-6-3a.5.5 0 01-.223-.67z'\n />\n </svg>\n );\n}\n\nexport default ChevronDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronLeftIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M9.224 1.553a.5.5 0 01.223.67L6.56 8l2.888 5.776a.5.5 0 11-.894.448l-3-6a.5.5 0 010-.448l3-6a.5.5 0 01.67-.223z'\n />\n </svg>\n );\n}\n\nexport default ChevronLeftIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronRightIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M6.776 1.553a.5.5 0 01.671.223l3 6a.5.5 0 010 .448l-3 6a.5.5 0 11-.894-.448L9.44 8 6.553 2.224a.5.5 0 01.223-.671z'\n />\n </svg>\n );\n}\n\nexport default ChevronRightIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronUpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fillRule='evenodd' d='M7.776 5.553a.5.5 0 01.448 0l6 3a.5.5 0 11-.448.894L8 6.56 2.224 9.447a.5.5 0 11-.448-.894l6-3z' />\n </svg>\n );\n}\n\nexport default ChevronUpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ClearIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <defs>\n <style />\n </defs>\n <path d='M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6c-.3 1.5-.4 3-.4 4.4 0 14.4 11.6 26 26 26h723c1.5 0 3-.1 4.4-.4 14.2-2.4 23.7-15.9 21.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z' />\n </svg>\n );\n}\n\nexport default ClearIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CopyIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path d='M11 9 H20 A2 2 0 0 1 22 11 V20 A2 2 0 0 1 20 22 H11 A2 2 0 0 1 9 20 V11 A2 2 0 0 1 11 9 z' />\n <path d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1' />\n </svg>\n );\n}\n\nexport default CopyIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CutIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n role='img'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path stroke='none' d='M0 0h24v24H0z' />\n <path d='M10 17 A3 3 0 0 1 7 20 A3 3 0 0 1 4 17 A3 3 0 0 1 10 17 z' />\n <path d='M20 17 A3 3 0 0 1 17 20 A3 3 0 0 1 14 17 A3 3 0 0 1 20 17 z' />\n <path d='M9.15 14.85L18 4M6 4l8.85 10.85' />\n </svg>\n );\n}\n\nexport default CutIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DeleteIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z' />\n </svg>\n );\n}\n\nexport default DeleteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DownloadIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default DownloadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ErrorIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M11 7h2v7h-2zm0 8h2v2h-2z' />\n <path d='M21.707 7.293l-5-5A.996.996 0 0016 2H8a.996.996 0 00-.707.293l-5 5A.996.996 0 002 8v8c0 .266.105.52.293.707l5 5A.996.996 0 008 22h8c.266 0 .52-.105.707-.293l5-5A.996.996 0 0022 16V8a.996.996 0 00-.293-.707zM20 15.586L15.586 20H8.414L4 15.586V8.414L8.414 4h7.172L20 8.414v7.172z' />\n </svg>\n );\n}\n\nexport default ErrorIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ForwardIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M184 112l144 144-144 144' />\n </svg>\n );\n}\n\nexport default ForwardIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst GraduateIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 448 512' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M219.3.5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V160c0 70.7-57.3 128-128 128S96 230.7 96 160v-57.1l-48-9.6v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3S52.8 256 48 256H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64c0-11.4 8.1-21.3 19.3-23.5l200-40zM111.9 327.7c10.5-3.4 21.8.4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5 65 20.9 112 81.7 112 153.6 0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z' />\n </svg>\n);\n\nexport default GraduateIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HelpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M414.39 97.61A224 224 0 1097.61 414.39 224 224 0 10414.39 97.61zM192.13 260.18a64 64 0 1159.69 59.69 64.07 64.07 0 01-59.69-59.69zm240-66.64l-96.37 5.84a4.06 4.06 0 01-3.44-1.59 96 96 0 00-18.07-18.07 4.06 4.06 0 01-1.59-3.44l5.84-96.37a4 4 0 015.42-3.51A193 193 0 01435.6 188.12a4 4 0 01-3.51 5.42zM193.54 79.91l5.84 96.37a4.06 4.06 0 01-1.59 3.44 96 96 0 00-18.07 18.07 4.06 4.06 0 01-3.44 1.59l-96.37-5.84a4 4 0 01-3.51-5.42A193 193 0 01188.12 76.4a4 4 0 015.42 3.51zM79.91 318.46l96.37-5.84a4.06 4.06 0 013.44 1.59 96 96 0 0018.07 18.07 4.06 4.06 0 011.59 3.44l-5.84 96.37a4 4 0 01-5.42 3.51A193 193 0 0176.4 323.88a4 4 0 013.51-5.42zm238.55 113.63l-5.84-96.37a4.06 4.06 0 011.59-3.44 96 96 0 0018.07-18.07 4.06 4.06 0 013.44-1.59l96.37 5.84a4 4 0 013.51 5.42A193 193 0 01323.88 435.6a4 4 0 01-5.42-3.51z' />\n </svg>\n );\n}\n\nexport default HelpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HideIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 19c.946 0 1.81-.103 2.598-.281l-1.757-1.757c-.273.021-.55.038-.841.038-5.351 0-7.424-3.846-7.926-5a8.642 8.642 0 011.508-2.297L4.184 8.305c-1.538 1.667-2.121 3.346-2.132 3.379a.994.994 0 000 .633C2.073 12.383 4.367 19 12 19zm0-14c-1.837 0-3.346.396-4.604.981L3.707 2.293 2.293 3.707l18 18 1.414-1.414-3.319-3.319c2.614-1.951 3.547-4.615 3.561-4.657a.994.994 0 000-.633C21.927 11.617 19.633 5 12 5zm4.972 10.558l-2.28-2.28c.19-.39.308-.819.308-1.278 0-1.641-1.359-3-3-3-.459 0-.888.118-1.277.309L8.915 7.501A9.26 9.26 0 0112 7c5.351 0 7.424 3.846 7.926 5-.302.692-1.166 2.342-2.954 3.558z' />\n </svg>\n );\n}\n\nexport default HideIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst HomeIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M946.5 505 560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.9 63.9 0 0 0-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0 0 18.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z' />\n </svg>\n);\n\nexport default HomeIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction InfoIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z' />\n <path d='M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default InfoIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst LoginIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 0 1 520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 0 1 270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 0 1 0 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z' />\n </svg>\n);\n\nexport default LoginIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction PasteIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M20 11V5c0-1.103-.897-2-2-2h-3a1 1 0 00-1-1H8a1 1 0 00-1 1H4c-1.103 0-2 .897-2 2v13c0 1.103.897 2 2 2h7c0 1.103.897 2 2 2h7c1.103 0 2-.897 2-2v-7c0-1.103-.897-2-2-2zm-9 2v5H4V5h3v2h8V5h3v6h-5c-1.103 0-2 .897-2 2zm2 7v-7h7l.001 7H13z' />\n </svg>\n );\n}\n\nexport default PasteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction QuestionIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeMiterlimit={10} strokeWidth={32} d='M256 80a176 176 0 10176 176A176 176 0 00256 80z' />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeMiterlimit={10}\n strokeWidth={28}\n d='M200 202.29s.84-17.5 19.57-32.57C230.68 160.77 244 158.18 256 158c10.93-.14 20.69 1.67 26.53 4.45 10 4.76 29.47 16.38 29.47 41.09 0 26-17 37.81-36.37 50.8S251 281.43 251 296'\n />\n <path d='M270 348 A20 20 0 0 1 250 368 A20 20 0 0 1 230 348 A20 20 0 0 1 270 348 z' />\n </svg>\n );\n}\n\nexport default QuestionIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction RemoveIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='none'\n stroke='currentColor'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M135.19 390.14a28.79 28.79 0 0021.68 9.86h246.26A29 29 0 00432 371.13V140.87A29 29 0 00403.13 112H156.87a28.84 28.84 0 00-21.67 9.84v0L46.33 256l88.86 134.11z'\n />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33'\n />\n </svg>\n );\n}\n\nexport default RemoveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction SaveIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z' />\n </svg>\n );\n}\n\nexport default SaveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ShowIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 9a3.02 3.02 0 00-3 3c0 1.642 1.358 3 3 3 1.641 0 3-1.358 3-3 0-1.641-1.359-3-3-3z' />\n <path d='M12 5c-7.633 0-9.927 6.617-9.948 6.684L1.946 12l.105.316C2.073 12.383 4.367 19 12 19s9.927-6.617 9.948-6.684l.106-.316-.105-.316C21.927 11.617 19.633 5 12 5zm0 12c-5.351 0-7.424-3.846-7.926-5C4.578 10.842 6.652 7 12 7c5.351 0 7.424 3.846 7.926 5-.504 1.158-2.578 5-7.926 5z' />\n </svg>\n );\n}\n\nexport default ShowIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction UploadIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M.5 9.9a.5.5 0 01.5.5v2.5a1 1 0 001 1h12a1 1 0 001-1v-2.5a.5.5 0 011 0v2.5a2 2 0 01-2 2H2a2 2 0 01-2-2v-2.5a.5.5 0 01.5-.5z' />\n <path d='M7.646 1.146a.5.5 0 01.708 0l3 3a.5.5 0 01-.708.708L8.5 2.707V11.5a.5.5 0 01-1 0V2.707L5.354 4.854a.5.5 0 11-.708-.708l3-3z' />\n </svg>\n );\n}\n\nexport default UploadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction WarningIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' d='M0 0h24v24H0z' />\n <path d='M4 20v-6a8 8 0 1116 0v6h1v2H3v-2h1zm2 0h12v-6a6 6 0 10-12 0v6zm5-18h2v3h-2V2zm8.778 2.808l1.414 1.414-2.12 2.121-1.415-1.414 2.121-2.121zM2.808 6.222l1.414-1.414 2.121 2.12L4.93 8.344 2.808 6.222zM7 14a5 5 0 015-5v2a3 3 0 00-3 3H7z' />\n </svg>\n );\n}\n\nexport default WarningIcon;\n","export enum ChopLogicAlertMode {\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Help = 'help',\n}\n","export enum ChopLogicButtonView {\n Primary = 'primary',\n Flat = 'flat',\n Icon = 'icon',\n}\n","export enum ChopLogicIconName {\n ArrowDown = 'arrow-down',\n ArrowUp = 'arrow-up',\n Back = 'back',\n Cancel = 'cancel',\n CheckboxChecked = 'checkbox-checked',\n CheckboxUnchecked = 'checkbox-unchecked',\n CheckMark = 'check-mark',\n ChevronDown = 'chevron-down',\n ChevronLeft = 'chevron-left',\n ChevronRight = 'chevron-right',\n ChevronUp = 'chevron-up',\n Clear = 'clear',\n Copy = 'copy',\n Cut = 'cut',\n Delete = 'delete',\n Download = 'download',\n Error = 'error',\n Forward = 'forward',\n Graduate = 'graduate',\n Help = 'help',\n Hide = 'hide',\n Home = 'home',\n Info = 'info',\n Login = 'login',\n Paste = 'paste',\n Question = 'question',\n Save = 'save',\n Show = 'show',\n Upload = 'upload',\n Warning = 'warning',\n Remove = 'remove',\n}\n","export enum ChopLogicLoaderView {\n Dots = 'dots',\n Brackets = 'brackets',\n Linear = 'linear',\n Square = 'square',\n Circle = 'circle',\n Pulse = 'pulse',\n Arrow = 'arrow',\n Filler = 'filler',\n Rotation = 'rotation',\n}\n","export enum ChopLogicOrientationMode {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n","export enum ChopLogicThemeMode {\n Light = 'cl-components-light-theme',\n Dark = 'cl-components-dark-theme',\n}\n","export enum ChopLogicTooltipContainer {\n Span = 'span',\n Div = 'div',\n P = 'p',\n Strong = 'strong',\n Em = 'em',\n}\n","import ArrowDownIcon from './svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from './svg/ArrowUpIcon.tsx';\nimport BackIcon from './svg/BackIcon.tsx';\nimport CancelIcon from './svg/CancelIcon.tsx';\nimport CheckboxCheckedIcon from './svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from './svg/CheckboxUncheckedIcon.tsx';\nimport CheckMarkIcon from './svg/CheckMarkIcon.tsx';\nimport ChevronDownIcon from './svg/ChevronDownIcon.tsx';\nimport ChevronLeftIcon from './svg/ChevronLeftIcon.tsx';\nimport ChevronRightIcon from './svg/ChevronRightIcon.tsx';\nimport ChevronUpIcon from './svg/ChevronUpIcon.tsx';\nimport ClearIcon from './svg/ClearIcon.tsx';\nimport CopyIcon from './svg/CopyIcon.tsx';\nimport CutIcon from './svg/CutIcon.tsx';\nimport DeleteIcon from './svg/DeleteIcon.tsx';\nimport DownloadIcon from './svg/DownloadIcon.tsx';\nimport ErrorIcon from './svg/ErrorIcon.tsx';\nimport ForwardIcon from './svg/ForwardIcon.tsx';\nimport GraduateIcon from './svg/GraduateIcon.tsx';\nimport HelpIcon from './svg/HelpIcon.tsx';\nimport HideIcon from './svg/HideIcon.tsx';\nimport HomeIcon from './svg/HomeIcon.tsx';\nimport InfoIcon from './svg/InfoIcon.tsx';\nimport LoginIcon from './svg/LoginIcon.tsx';\nimport PasteIcon from './svg/PasteIcon.tsx';\nimport QuestionIcon from './svg/QuestionIcon.tsx';\nimport RemoveIcon from './svg/RemoveIcon.tsx';\nimport SaveIcon from './svg/SaveIcon.tsx';\nimport ShowIcon from './svg/ShowIcon.tsx';\nimport UploadIcon from './svg/UploadIcon.tsx';\nimport WarningIcon from './svg/WarningIcon.tsx';\nimport { ChopLogicSVGElementProps } from '@models';\nimport { ReactElement } from 'react';\nimport { ChopLogicIconName } from '@enums';\n\ntype ChopLogicIcons = { [key in ChopLogicIconName]: ({ title, ...rest }: ChopLogicSVGElementProps) => ReactElement };\n\nexport const ChopLogicIconDictionary: ChopLogicIcons = {\n [ChopLogicIconName.ArrowDown]: ArrowDownIcon,\n [ChopLogicIconName.ArrowUp]: ArrowUpIcon,\n [ChopLogicIconName.Back]: BackIcon,\n [ChopLogicIconName.Cancel]: CancelIcon,\n [ChopLogicIconName.CheckboxChecked]: CheckboxCheckedIcon,\n [ChopLogicIconName.CheckboxUnchecked]: CheckboxUncheckedIcon,\n [ChopLogicIconName.CheckMark]: CheckMarkIcon,\n [ChopLogicIconName.ChevronDown]: ChevronDownIcon,\n [ChopLogicIconName.ChevronUp]: ChevronUpIcon,\n [ChopLogicIconName.ChevronLeft]: ChevronLeftIcon,\n [ChopLogicIconName.ChevronRight]: ChevronRightIcon,\n [ChopLogicIconName.Clear]: ClearIcon,\n [ChopLogicIconName.Copy]: CopyIcon,\n [ChopLogicIconName.Cut]: CutIcon,\n [ChopLogicIconName.Delete]: DeleteIcon,\n [ChopLogicIconName.Download]: DownloadIcon,\n [ChopLogicIconName.Error]: ErrorIcon,\n [ChopLogicIconName.Forward]: ForwardIcon,\n [ChopLogicIconName.Graduate]: GraduateIcon,\n [ChopLogicIconName.Help]: HelpIcon,\n [ChopLogicIconName.Hide]: HideIcon,\n [ChopLogicIconName.Home]: HomeIcon,\n [ChopLogicIconName.Info]: InfoIcon,\n [ChopLogicIconName.Login]: LoginIcon,\n [ChopLogicIconName.Paste]: PasteIcon,\n [ChopLogicIconName.Question]: QuestionIcon,\n [ChopLogicIconName.Save]: SaveIcon,\n [ChopLogicIconName.Show]: ShowIcon,\n [ChopLogicIconName.Upload]: UploadIcon,\n [ChopLogicIconName.Warning]: WarningIcon,\n [ChopLogicIconName.Remove]: RemoveIcon,\n};\n","import React from 'react';\nimport { ChopLogicIconProps } from '@models';\nimport { ChopLogicIconDictionary } from '@assets/icons';\n\nconst ChopLogicIcon: React.FC<ChopLogicIconProps> = ({ name, testId, ...rest }) => {\n if (!name) return null;\n const Component = ChopLogicIconDictionary[name];\n\n return <Component data-testid={testId} {...rest} />;\n};\n\nexport default ChopLogicIcon;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicIconName } from '@enums';\nimport styles from './InputInnerButton.module.scss';\n\ntype ClearInputButtonProps = {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n label: string;\n icon: ChopLogicIconName;\n disabled?: boolean;\n};\n\nconst InputInnerButton: React.FC<ClearInputButtonProps> = ({ onClick, label, icon, disabled }) => {\n return (\n <button className={styles.inputButton} onClick={onClick} aria-label={label} type='button' disabled={disabled}>\n <ChopLogicIcon name={icon} />\n </button>\n );\n};\n\nexport default InputInnerButton;\n","import React, { PropsWithChildren } from 'react';\nimport styles from './Label.module.scss';\n\ntype ChopLogicLabelProps = {\n label: string;\n required: boolean;\n inputId: string;\n isTextHidden?: boolean;\n icon?: React.ReactElement;\n iconPosition?: 'left' | 'right';\n style?: React.CSSProperties;\n};\n\nconst ChopLogicLabel: React.FC<PropsWithChildren<ChopLogicLabelProps>> = ({\n label,\n required,\n inputId,\n icon,\n iconPosition,\n isTextHidden = false,\n style,\n}) => {\n const isLeftIconVisible = !!icon && iconPosition === 'left';\n const isRightIconVisible = !!icon && iconPosition === 'right';\n\n return (\n <label className={styles.label} htmlFor={inputId} style={style}>\n {isLeftIconVisible && icon}\n {!isTextHidden && (\n <span>\n {label}\n {required && <abbr title='required'>*</abbr>}\n </span>\n )}\n {isRightIconVisible && icon}\n </label>\n );\n};\n\nexport default ChopLogicLabel;\n","import React from 'react';\nimport { ChopLogicTooltip } from '@components';\n\ntype WithTooltipProps = {\n tooltip?: string;\n visibleOn?: 'hover' | 'click' | 'focus' | 'contextmenu';\n};\n\nexport function withTooltip<P extends object>(Component: React.ComponentType<P>): React.FC<P & WithTooltipProps> {\n return ({ tooltip, visibleOn, ...props }: WithTooltipProps) =>\n tooltip?.length ? (\n <ChopLogicTooltip tooltipContent={tooltip} visibleOn={visibleOn}>\n <Component {...(props as P)} />\n </ChopLogicTooltip>\n ) : (\n <Component {...(props as P)} />\n );\n}\n","export function moveFocusOnElementById(id: string) {\n const element = document.getElementById(id);\n\n if (element) element.focus();\n}\n","import { KeyboardEvent } from 'react';\nimport { ChopLogicSelectValue } from '@models';\n\nimport { moveFocusOnElementById } from './move-focus-on-element-by-id.ts';\n\nexport function handleDropdownListKeyPress({\n e,\n options,\n onClose,\n}: {\n e: KeyboardEvent<HTMLUListElement>;\n options: ChopLogicSelectValue[];\n onClose: () => void;\n}) {\n let focusedId: string = '';\n options.forEach((value) => {\n const element = document.getElementById(value.id);\n if (element === document.activeElement) {\n focusedId = value.id;\n }\n });\n\n const currentFocusIndex = options.findIndex((value) => value.id === focusedId);\n\n switch (e.key) {\n case 'Escape':\n e.preventDefault();\n onClose();\n break;\n case 'ArrowUp': {\n e.preventDefault();\n const previousOptionIndex = currentFocusIndex - 1 >= 0 ? currentFocusIndex - 1 : options.length - 1;\n const previousValue = options[previousOptionIndex];\n if (previousValue) moveFocusOnElementById(previousValue.id);\n break;\n }\n case 'ArrowDown':\n case 'Tab': {\n e.preventDefault();\n const nextOptionIndex = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;\n const nextValue = options[nextOptionIndex];\n if (nextValue) moveFocusOnElementById(nextValue.id);\n break;\n }\n }\n}\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicButtonView } from '@enums';\nimport { withTooltip } from '@hocs';\nimport { ChopLogicButtonProps } from '@models';\nimport styles from './Button.module.scss';\nimport { getClassName } from '@utils';\n\nconst ChopLogicButton: React.FC<ChopLogicButtonProps> = ({\n onClick,\n text,\n icon,\n label,\n disabled = false,\n extended = false,\n type = 'button',\n view = ChopLogicButtonView.Primary,\n className,\n ...rest\n}) => {\n const primaryClassName = getClassName([styles.primary, className, { [styles.primary__extended]: extended }]);\n const flatClassName = getClassName([styles.flat, className]);\n const iconClassName = getClassName([styles.icon, icon]);\n\n switch (view) {\n case ChopLogicButtonView.Primary:\n return (\n <button aria-label={label} type={type} onClick={onClick} disabled={disabled} {...rest} className={primaryClassName}>\n <span className={styles.primary_shadow}></span>\n <span className={styles.primary_edge}></span>\n <span className={styles.primary_front}>\n <ChopLogicIcon name={icon} />\n {text}\n </span>\n </button>\n );\n case ChopLogicButtonView.Flat:\n return (\n <button aria-label={label} type={type} onClick={onClick} disabled={disabled} {...rest} className={flatClassName}>\n <ChopLogicIcon name={icon} />\n {text}\n </button>\n );\n case ChopLogicButtonView.Icon:\n return (\n <button aria-label={label} type={type} onClick={onClick} disabled={disabled} {...rest} className={iconClassName}>\n <ChopLogicIcon name={icon} />\n </button>\n );\n default:\n return null;\n }\n};\n\nexport default withTooltip(ChopLogicButton);\n","import React, { useEffect } from 'react';\n\ntype UseClickOutsideParams = {\n ref: React.RefObject<HTMLElement | null>;\n onClickOutsideHandler: () => void;\n dependentRef?: React.RefObject<HTMLElement | null>;\n};\n\nexport const useClickOutside = ({ ref, onClickOutsideHandler, dependentRef }: UseClickOutsideParams): void => {\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const isOutsideRef = ref?.current && !ref.current.contains(event.target as Node);\n const isOutsideDependentRef = !dependentRef?.current ? true : !dependentRef.current.contains(event.target as Node);\n if (isOutsideRef && isOutsideDependentRef) {\n onClickOutsideHandler();\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [ref, dependentRef, onClickOutsideHandler]);\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { Dimensions } from '../use-window-dimensions';\n\ntype useContainerDimensionsParams = {\n ref: React.RefObject<HTMLElement | null>;\n isVisible?: boolean;\n};\n\nexport const useContainerDimensions = ({ ref, isVisible }: useContainerDimensionsParams): Dimensions => {\n const [dimensions, setDimensions] = useState<Dimensions>({ width: 0, height: 0 });\n\n useEffect(() => {\n if (ref?.current && isVisible) {\n setDimensions({\n width: ref.current.offsetWidth,\n height: ref.current.offsetHeight,\n });\n }\n }, [ref, isVisible]);\n\n return dimensions;\n};\n","import { useId } from 'react';\n\nexport function useElementIds(id?: string) {\n const randomId = useId();\n const elementId = id ?? randomId;\n const errorId = `${elementId}_error`;\n const dropdownId = `${elementId}_dropdown`;\n\n return {\n elementId,\n errorId,\n dropdownId,\n };\n}\n","import React, { useEffect } from 'react';\n\ntype useKeyPressParams = {\n keyCode: string;\n ref: React.RefObject<HTMLDivElement | null>;\n onKeyPress: () => void;\n};\n\nexport const useKeyPress = ({ ref, keyCode, onKeyPress }: useKeyPressParams) => {\n useEffect(() => {\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e?.code === keyCode && ref?.current) {\n onKeyPress();\n }\n };\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [ref, keyCode, onKeyPress]);\n};\n","import React, { useEffect } from 'react';\n\ntype ModalFocusTrapParams = {\n modalRef: React.RefObject<HTMLDivElement | null>;\n isOpened: boolean;\n};\n\nexport const useModalFocusTrap = ({ modalRef, isOpened }: ModalFocusTrapParams) => {\n useEffect(() => {\n const modalElement = modalRef.current;\n if (!isOpened || !modalElement) return;\n\n const focusableElements = modalElement.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleTabKeyPress = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n } else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n };\n\n modalElement.addEventListener('keydown', handleTabKeyPress);\n\n return () => {\n modalElement.removeEventListener('keydown', handleTabKeyPress);\n };\n }, [modalRef, isOpened]);\n};\n","import { useEffect, useState } from 'react';\n\nexport const useMount = (isOpened: boolean, delay: number = 300): boolean => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n if (isOpened && !isMounted) {\n setIsMounted(true);\n } else if (!isOpened && isMounted) {\n setTimeout(() => {\n setIsMounted(false);\n }, delay);\n }\n }, [isOpened]);\n\n return isMounted;\n};\n","import React from 'react';\nimport { ChopLogicFormData, ChopLogicFormInputParams } from '@models';\n\nexport interface ChopLogicFormContextProps {\n onChangeFormInput?: (params: ChopLogicFormInputParams) => void;\n initialValues?: ChopLogicFormData;\n resetSignal?: number;\n}\n\nexport const ChopLogicFormContext = React.createContext<ChopLogicFormContextProps>({});\n","import { createContext } from 'react';\nimport { ChopLogicThemeMode } from '@enums';\n\nexport interface ChopLogicThemeContextProps {\n mode?: ChopLogicThemeMode;\n setMode: (mode: ChopLogicThemeMode) => void;\n}\n\nexport const ChopLogicThemeContext = createContext<ChopLogicThemeContextProps>({\n mode: ChopLogicThemeMode.Light,\n setMode: () => {},\n});\n","import { FC, ReactNode, useEffect, useState } from 'react';\nimport { ChopLogicThemeContext } from './context.ts';\nimport { ChopLogicThemeMode } from '@enums';\nimport '@styles/root.scss';\n\nexport const ChopLogicThemeProvider: FC<{ children: ReactNode; injectedMode?: ChopLogicThemeMode }> = ({ children, injectedMode }) => {\n const [mode, setMode] = useState(ChopLogicThemeMode.Light);\n\n useEffect(() => {\n if (mode && typeof mode === 'string') {\n document.body.classList.remove(ChopLogicThemeMode.Light, ChopLogicThemeMode.Dark);\n document.body.classList.add(mode);\n }\n }, [mode]);\n\n useEffect(() => {\n if (injectedMode && typeof injectedMode === 'string') {\n document.body.classList.remove(ChopLogicThemeMode.Light, ChopLogicThemeMode.Dark);\n document.body.classList.add(injectedMode);\n }\n }, [injectedMode]);\n\n return <ChopLogicThemeContext.Provider value={{ mode, setMode }}>{children}</ChopLogicThemeContext.Provider>;\n};\n","import { useContext, useEffect } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\n\nexport const useResetFormInput = (onReset: () => void) => {\n const { resetSignal } = useContext(ChopLogicFormContext);\n\n useEffect(() => {\n if (resetSignal) {\n onReset();\n }\n }, [resetSignal, onReset]);\n};\n","import { useEffect, useState } from 'react';\n\nexport type Dimensions = { width: number; height: number };\n\nfunction getWindowDimensions(): Dimensions {\n const { innerWidth: width, innerHeight: height } = window;\n\n return { width, height };\n}\n\nexport function useWindowDimensions(): Dimensions {\n const [windowDimensions, setWindowDimensions] = useState<Dimensions>(getWindowDimensions());\n\n useEffect(() => {\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return windowDimensions;\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { useContainerDimensions } from '../use-container-dimensions';\nimport { useWindowDimensions } from '../use-window-dimensions';\n\ntype useTooltipPositionParams = {\n wrapperRef: React.RefObject<HTMLElement | null>;\n tooltipRef: React.RefObject<HTMLElement | null>;\n isOpened: boolean;\n spacing?: number;\n};\n\nexport const useTooltipPosition = ({ wrapperRef, tooltipRef, isOpened, spacing = 4 }: useTooltipPositionParams) => {\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const { width: tooltipWidth, height: tooltipHeight } = useContainerDimensions({\n ref: tooltipRef,\n isVisible: isOpened,\n });\n const { width: windowWidth, height: windowHeight } = useWindowDimensions();\n\n useEffect(() => {\n if (isOpened && wrapperRef?.current) {\n const rect = wrapperRef?.current.getBoundingClientRect();\n\n let top = Math.round(rect.bottom + spacing);\n let left = Math.round(rect.left);\n\n // Adjust position if tooltip goes beyond the viewport\n if (top + tooltipHeight > window.innerHeight) {\n top = Math.round(rect.top - tooltipHeight - spacing);\n }\n if (left + tooltipWidth > window.innerWidth) {\n left = Math.round(window.innerWidth - tooltipWidth - spacing);\n }\n if (left < 0) {\n left = spacing;\n }\n\n setPosition({ top, left });\n }\n }, [isOpened, wrapperRef, tooltipHeight, tooltipWidth, spacing, windowWidth, windowHeight]);\n\n return position;\n};\n","import { useContext } from 'react';\nimport { ChopLogicThemeContext } from '@contexts';\n\nexport const useChopLogicTheme = () => useContext(ChopLogicThemeContext);\n","import { ChopLogicFormData } from '@models';\n\nexport function getCheckboxInitialValue({\n defaultChecked,\n initialValues,\n name,\n}: {\n defaultChecked?: boolean;\n initialValues?: ChopLogicFormData;\n name: string;\n}): boolean {\n if (initialValues && initialValues?.[name] !== undefined) {\n return !!initialValues?.[name];\n }\n\n return Boolean(defaultChecked);\n}\n","import React, { useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\n\nimport { getCheckboxInitialValue } from './helpers';\n\nexport function useChopLogicCheckboxController({\n name,\n defaultChecked,\n onChange,\n}: {\n name: string;\n defaultChecked?: boolean;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getCheckboxInitialValue({ initialValues, name, defaultChecked });\n const [isChecked, setIsChecked] = useState<boolean>(initialValue);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n setIsChecked(checked);\n onChange?.(e);\n onChangeFormInput?.({ name, value: checked });\n };\n\n const handleReset = useCallback(() => {\n setIsChecked(initialValue);\n onChangeFormInput?.({ name, value: initialValue });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n checked: isChecked,\n };\n}\n","import React from 'react';\nimport { ChopLogicLabel } from '@elements';\nimport { useElementIds } from '@hooks';\nimport CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon.tsx';\nimport { ChopLogicCheckboxProps } from '@models';\nimport { useChopLogicCheckboxController } from './controller';\nimport styles from './Checkbox.module.scss';\nimport { getClassName } from '@utils';\n\nconst ChopLogicCheckbox: React.FC<ChopLogicCheckboxProps> = ({\n name,\n label,\n disabled,\n noLabel,\n required = false,\n iconPosition = 'left',\n defaultChecked,\n onChange,\n id,\n className,\n ...rest\n}) => {\n const { handleChange, checked } = useChopLogicCheckboxController({ name, defaultChecked, onChange });\n const { elementId } = useElementIds(id);\n const checkboxClass = getClassName([\n styles.checkbox,\n className,\n {\n [styles.checkbox__disabled]: !!disabled,\n [styles.checkbox__checked]: checked,\n },\n ]);\n\n return (\n <div {...rest} className={checkboxClass}>\n <input\n id={elementId}\n name={name}\n type='checkbox'\n disabled={disabled}\n required={required}\n checked={checked}\n onChange={handleChange}\n aria-label={noLabel ? label : undefined}\n />\n <ChopLogicLabel\n label={label}\n required={required}\n inputId={elementId}\n isTextHidden={noLabel}\n icon={checked ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n iconPosition={iconPosition}\n />\n </div>\n );\n};\n\nexport default ChopLogicCheckbox;\n","import React from 'react';\nimport ArrowDownIcon from '@assets/icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@assets/icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicMultiSelectValue } from '@models';\nimport styles from '../../select/Select.module.scss';\n\ntype MultiSelectComboboxProps = {\n opened: boolean;\n disabled: boolean;\n required: boolean;\n onClick: () => void;\n comboboxId: string;\n dropdownId: string;\n values?: ChopLogicMultiSelectValue[];\n placeholder?: string;\n name: string;\n};\n\nconst SelectCombobox: React.FC<MultiSelectComboboxProps> = ({\n opened,\n onClick,\n comboboxId,\n dropdownId,\n name,\n placeholder,\n disabled,\n required,\n values,\n}) => {\n const selectedLabels = values?.filter((value) => value.selected).map((value) => value.label);\n const selectedIds = values?.filter((value) => value.selected).map((value) => value.id);\n let selectedValues = <span>{placeholder}</span>;\n\n if (selectedLabels && selectedLabels.length > 1) {\n selectedValues = <span>{`${selectedLabels.length} items selected`}</span>;\n } else if (selectedLabels && selectedLabels.length === 1) {\n selectedValues = <span>{selectedLabels[0]}</span>;\n }\n\n return (\n <button\n type='button'\n name={name}\n value={selectedIds}\n role='combobox'\n aria-haspopup='listbox'\n aria-expanded={opened}\n aria-controls={dropdownId}\n id={comboboxId}\n onClick={onClick}\n disabled={disabled}\n aria-required={required}\n className={styles.combobox}\n >\n {selectedValues}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </button>\n );\n};\n\nexport default SelectCombobox;\n","import React, { KeyboardEvent } from 'react';\nimport CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon.tsx';\nimport { ChopLogicMultiSelectValue } from '@models';\nimport { getClassName } from '@utils';\nimport styles from '@components/inputs/select/Select.module.scss';\n\ntype MultiSelectOptionProps = {\n value: ChopLogicMultiSelectValue;\n onSelect: (id: string) => void;\n};\n\nconst SelectOption: React.FC<MultiSelectOptionProps> = ({ value, onSelect }) => {\n const { id, label, selected } = value;\n const optionClass = getClassName([styles.option, styles.option__multi, { [styles.option__selected]: selected }]);\n\n const handleKeyDown = (id: string) => (e: KeyboardEvent<HTMLLIElement>) => {\n switch (e.key) {\n case ' ':\n case 'SpaceBar':\n case 'Enter':\n e.preventDefault();\n onSelect(id);\n break;\n default:\n break;\n }\n };\n\n return (\n <li\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => onSelect(id)}\n className={optionClass}\n >\n {selected ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n <span>{label}</span>\n </li>\n );\n};\n\nexport default SelectOption;\n","import React from 'react';\nimport { ChopLogicMultiSelectValue } from '@models';\nimport { getClassName, handleDropdownListKeyPress } from '@utils';\nimport styles from '../../select/Select.module.scss';\nimport SelectOption from './Option';\n\ntype MultiSelectDropdownProps = {\n options: ChopLogicMultiSelectValue[];\n opened: boolean;\n dropdownId: string;\n onClose: () => void;\n onSelect: (id: string) => void;\n};\n\nconst MultiSelectDropdown: React.FC<MultiSelectDropdownProps> = ({ options, opened, onClose, onSelect, dropdownId }) => {\n const dropdownClass = getClassName([styles.dropdown, { [styles.dropdown__opened]: opened }]);\n\n return (\n <ul\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n className={dropdownClass}\n >\n {options.map((item) => (\n <SelectOption key={item.id} value={item} onSelect={() => onSelect(item.id)} />\n ))}\n </ul>\n );\n};\n\nexport default MultiSelectDropdown;\n","import { ChopLogicFormData, ChopLogicMultiSelectValue, ChopLogicSelectValue } from '@models';\n\nexport function getMultiSelectInitialValues({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: ChopLogicSelectValue[];\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): ChopLogicMultiSelectValue[] {\n return options.map((option) => {\n let selected = false;\n\n if (initialValues && initialValues?.[name] && Array.isArray(initialValues[name])) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const selectedId = (initialValues[name] as Array<any>).find((item) => item === option.id || item?.id === option.id);\n if (selectedId) selected = true;\n }\n\n if (!initialValues?.[name] && Array.isArray(defaultValue)) {\n const selectedId = defaultValue.find((item) => item === option.id);\n if (selectedId) selected = true;\n }\n\n return { ...option, selected };\n });\n}\n\nexport const getMultiSelectFormValues = (options: ChopLogicMultiSelectValue[]): string[] => {\n return options.filter((item) => item.selected).map((item) => item.id);\n};\n\nexport const getMultiSelectUpdatedValues = (options: ChopLogicMultiSelectValue[], id: string): ChopLogicMultiSelectValue[] => {\n const targetItem = options.find((item) => item.id === id);\n return options.map((item) => {\n return item.id === id ? { ...item, selected: !targetItem?.selected } : item;\n });\n};\n","import { useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicMultiSelectValue, ChopLogicSelectValue } from '@models';\n\nimport { getMultiSelectFormValues, getMultiSelectInitialValues, getMultiSelectUpdatedValues } from './helpers';\n\nexport function useChopLogicMultiSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (values?: ChopLogicSelectValue[]) => void;\n options: ChopLogicSelectValue[];\n}) {\n const [opened, setOpened] = useState(false);\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialOptions = getMultiSelectInitialValues({ name, options, initialValues, defaultValue });\n const [values, setValues] = useState<ChopLogicMultiSelectValue[]>(initialOptions);\n\n const handleClose = () => setOpened(false);\n\n const handleToggle = () => setOpened(!opened);\n\n const handleSelect = (id: string) => {\n const newValues = getMultiSelectUpdatedValues(values, id);\n\n setValues(newValues);\n onChange?.(newValues);\n onChangeFormInput?.({ name, value: getMultiSelectFormValues(newValues) });\n };\n\n const handleReset = useCallback(() => {\n setOpened(false);\n setValues(initialOptions);\n onChangeFormInput?.({ name, value: getMultiSelectFormValues(initialOptions) });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleClose,\n handleToggle,\n handleSelect,\n opened,\n values,\n };\n}\n","import React, { useRef } from 'react';\nimport { ChopLogicLabel } from '@elements';\nimport { useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicMultiSelectProps } from '@models';\nimport SelectCombobox from './elements/Combobox';\nimport SelectDropdown from './elements/Dropdown';\nimport { useChopLogicMultiSelectController } from './controller';\nimport styles from '../select/Select.module.scss';\nimport { getClassName } from '@utils';\n\nconst ChopLogicMultiSelect: React.FC<ChopLogicMultiSelectProps> = ({\n options,\n name,\n label,\n required = false,\n placeholder = 'Not selected',\n disabled = false,\n onChange,\n defaultValue,\n id,\n className,\n ...rest\n}) => {\n const ref = useRef(null);\n const { elementId, dropdownId } = useElementIds(id);\n const { handleClose, handleSelect, handleToggle, opened, values } = useChopLogicMultiSelectController({\n name,\n options,\n defaultValue,\n onChange,\n });\n const multiSelectClass = getClassName([styles.wrapper, className]);\n\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <div ref={ref} {...rest} className={multiSelectClass}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} />\n <SelectCombobox\n name={name}\n opened={opened}\n comboboxId={elementId}\n dropdownId={dropdownId}\n onClick={handleToggle}\n values={values}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n />\n <SelectDropdown options={values} opened={opened} onClose={handleClose} dropdownId={dropdownId} onSelect={handleSelect} />\n </div>\n );\n};\n\nexport default ChopLogicMultiSelect;\n","import { ChopLogicFormData, ChopLogicNumericInputValidator } from '@models';\n\nexport function getNumericInputInitialValue({\n name,\n initialValues,\n defaultValue,\n}: {\n name: string;\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): number {\n if (initialValues && initialValues[name]) {\n return Number(initialValues[name]);\n }\n\n if (defaultValue && typeof defaultValue === 'number') {\n return defaultValue;\n }\n\n return 0;\n}\n\nexport function validateNumericInputValue({\n value,\n required,\n validator,\n maxValue,\n minValue,\n}: {\n value?: number;\n required?: boolean;\n validator?: ChopLogicNumericInputValidator;\n maxValue?: number;\n minValue?: number;\n}): boolean {\n if (required && !validator && value === undefined) {\n return false;\n }\n\n if (validator && typeof validator === 'function') {\n return validator(value);\n }\n\n if (maxValue && minValue && value && !validator) {\n return value <= maxValue && value >= minValue;\n }\n\n return true;\n}\n","import React, { ChangeEventHandler, useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicNumericInputValidator } from '@models';\n\nimport { getNumericInputInitialValue, validateNumericInputValue } from './helpers';\n\nexport function useChopLogicNumericInputController({\n name,\n defaultValue,\n onChange,\n onSpinButtonClick,\n min,\n max,\n step,\n required,\n validator,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onSpinButtonClick?: (value?: number) => void;\n min?: string | number;\n max?: string | number;\n step: number;\n required: boolean;\n validator?: ChopLogicNumericInputValidator;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getNumericInputInitialValue({ initialValues, defaultValue, name });\n const maxValue = max ? Number(max) : Number.MAX_SAFE_INTEGER;\n const minValue = min ? Number(min) : Number.MIN_SAFE_INTEGER;\n const [value, setValue] = useState<number>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n\n const updateValue = (value: number) => {\n setValue(value);\n const valid = validateNumericInputValue({ value, required, validator, maxValue, minValue });\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = Number(event.target.value);\n updateValue(value);\n onChange?.(event);\n };\n\n const increment = () => {\n updateValue(value + step);\n onSpinButtonClick?.(value + step);\n };\n\n const decrement = () => {\n updateValue(value - step);\n onSpinButtonClick?.(value - step);\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n value,\n valid,\n minValue,\n maxValue,\n increment,\n decrement,\n };\n}\n","import React from 'react';\nimport { ChopLogicErrorMessage, ChopLogicInputInnerButton, ChopLogicLabel } from '@elements';\nimport { ChopLogicIconName } from '@enums';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicNumericInputProps } from '@models';\nimport { useChopLogicNumericInputController } from './controller';\nimport styles from './NumericInput.module.scss';\nimport { getClassName } from '@utils';\n\nconst ChopLogicNumericInput: React.FC<ChopLogicNumericInputProps> = ({\n name,\n label,\n errorMessage,\n onChange,\n onBlur,\n onFocus,\n onSpinButtonClick,\n validator,\n min,\n max,\n id,\n tabIndex,\n disabled = false,\n required = false,\n readOnly = false,\n hasSpinButtons = true,\n defaultValue = 0,\n step = 1,\n className,\n ...rest\n}) => {\n const { elementId, errorId } = useElementIds(id);\n const { value, valid, handleChange, increment, decrement, minValue, maxValue } = useChopLogicNumericInputController({\n name,\n defaultValue,\n min,\n max,\n onChange,\n required,\n validator,\n step,\n onSpinButtonClick,\n });\n const inputClass = getClassName([styles.numeric, className]);\n\n return (\n <div {...rest} className={inputClass}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} />\n <div>\n <input\n id={elementId}\n name={name}\n type='number'\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n placeholder='0'\n aria-invalid={!valid}\n aria-errormessage={errorId}\n value={value.toString()}\n onChange={handleChange}\n min={minValue}\n max={maxValue}\n step={step}\n onBlur={onBlur}\n onFocus={onFocus}\n tabIndex={tabIndex}\n />\n {hasSpinButtons && (\n <span>\n <ChopLogicInputInnerButton\n onClick={decrement}\n label={`Decrement value for ${label}`}\n icon={ChopLogicIconName.ChevronLeft}\n disabled={disabled}\n />\n <ChopLogicInputInnerButton\n onClick={increment}\n label={`Increment value for ${label}`}\n icon={ChopLogicIconName.ChevronRight}\n disabled={disabled}\n />\n </span>\n )}\n </div>\n <ChopLogicErrorMessage errorId={errorId} message={errorMessage} visible={!valid} />\n </div>\n );\n};\n\nexport default ChopLogicNumericInput;\n","import React from 'react';\nimport ArrowDownIcon from '@assets/icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@assets/icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicSelectValue } from '@models';\nimport styles from '../Select.module.scss';\n\ntype SelectComboboxProps = {\n opened: boolean;\n disabled: boolean;\n required: boolean;\n onClick: () => void;\n comboboxId: string;\n dropdownId: string;\n selected?: ChopLogicSelectValue;\n placeholder?: string;\n name: string;\n};\n\nconst SelectCombobox: React.FC<SelectComboboxProps> = ({\n opened,\n onClick,\n comboboxId,\n dropdownId,\n selected,\n name,\n placeholder,\n disabled,\n required,\n}) => {\n return (\n <button\n type='button'\n name={name}\n value={selected?.id}\n role='combobox'\n aria-haspopup='listbox'\n aria-expanded={opened}\n aria-controls={dropdownId}\n id={comboboxId}\n onClick={onClick}\n disabled={disabled}\n aria-required={required}\n className={styles.combobox}\n >\n {selected?.label ? <span>{selected?.label}</span> : <span>{placeholder}</span>}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </button>\n );\n};\n\nexport default SelectCombobox;\n","import React, { KeyboardEvent } from 'react';\nimport CheckMarkIcon from '@assets/icons/svg/CheckMarkIcon.tsx';\nimport { ChopLogicSelectValue } from '@models';\nimport styles from '../Select.module.scss';\nimport { getClassName } from '@utils';\n\ntype SelectOptionProps = {\n value: ChopLogicSelectValue;\n selected: boolean;\n onSelect: (id: string) => void;\n onClear: () => void;\n};\n\nconst SelectOption: React.FC<SelectOptionProps> = ({ value, selected, onSelect, onClear }) => {\n const { id, label } = value;\n const optionClass = getClassName([styles.option, { [styles.option__selected]: selected }]);\n\n const handleOptionSelect = (id: string) => {\n if (selected) {\n onClear();\n } else {\n onSelect(id);\n }\n };\n\n const handleKeyDown = (id: string) => (e: KeyboardEvent<HTMLLIElement>) => {\n switch (e.key) {\n case ' ':\n case 'SpaceBar':\n case 'Enter':\n e.preventDefault();\n handleOptionSelect(id);\n break;\n default:\n break;\n }\n };\n\n return (\n <li\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => handleOptionSelect(id)}\n className={optionClass}\n >\n <span>{label}</span>\n {selected && <CheckMarkIcon />}\n </li>\n );\n};\n\nexport default SelectOption;\n","import React from 'react';\nimport { ChopLogicSelectValue } from '@models';\nimport { getClassName, handleDropdownListKeyPress, moveFocusOnElementById } from '@utils';\nimport styles from '../Select.module.scss';\nimport SelectOption from './Option';\n\ntype SelectDropdownProps = {\n options: ChopLogicSelectValue[];\n opened: boolean;\n dropdownId: string;\n comboboxId: string;\n onClose: () => void;\n selected?: ChopLogicSelectValue;\n onSelect: (id: string) => void;\n onClear: () => void;\n};\n\nconst SelectDropdown: React.FC<SelectDropdownProps> = ({\n options,\n opened,\n onClose,\n onSelect,\n dropdownId,\n comboboxId,\n selected,\n onClear,\n}) => {\n const handleOptionSelect = (id: string) => {\n onSelect(id);\n onClose();\n moveFocusOnElementById(comboboxId);\n };\n const dropdownClass = getClassName([styles.dropdown, { [styles.dropdown__opened]: opened }]);\n\n return (\n <ul\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n className={dropdownClass}\n >\n {options.map((item) => (\n <SelectOption\n key={item.id}\n value={item}\n onSelect={() => handleOptionSelect(item.id)}\n onClear={onClear}\n selected={item.id === selected?.id}\n />\n ))}\n </ul>\n );\n};\n\nexport default SelectDropdown;\n","import { ChopLogicFormData, ChopLogicSelectValue } from '@models';\n\nexport function getSelectInitialValue({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: ChopLogicSelectValue[];\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): ChopLogicSelectValue | undefined {\n let valueId: string;\n\n if (initialValues && initialValues[name]) {\n valueId = ((initialValues[name] as ChopLogicSelectValue)?.id as string) ?? (initialValues[name] as string);\n }\n\n if (!initialValues?.[name] && defaultValue && typeof defaultValue === 'string') {\n valueId = defaultValue;\n }\n\n return options.find((item) => item.id === valueId);\n}\n","import { useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicSelectValue } from '@models';\n\nimport { getSelectInitialValue } from './helpers';\n\nexport function useChopLogicSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (value?: ChopLogicSelectValue) => void;\n options: ChopLogicSelectValue[];\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getSelectInitialValue({ name, options, defaultValue, initialValues });\n const [opened, setOpened] = useState(false);\n const [selected, setSelected] = useState<ChopLogicSelectValue | undefined>(initialValue);\n\n const handleClose = () => setOpened(false);\n\n const handleToggle = () => setOpened(!opened);\n\n const handleSelect = (id: string) => {\n const newValue = options.find((item) => item.id === id);\n setSelected(newValue);\n onChange?.(newValue);\n onChangeFormInput?.({ name, value: newValue?.id });\n };\n\n const handleClear = () => {\n setSelected(undefined);\n onChange?.(undefined);\n };\n\n const handleReset = useCallback(() => {\n setOpened(false);\n setSelected(initialValue);\n onChangeFormInput?.({ name, value: initialValue?.id });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n selected,\n opened,\n handleClear,\n handleClose,\n handleToggle,\n handleSelect,\n };\n}\n","import React, { useRef } from 'react';\nimport { ChopLogicLabel } from '@elements';\nimport { useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicSelectProps } from '@models';\nimport SelectCombobox from './elements/Combobox';\nimport SelectDropdown from './elements/Dropdown';\nimport { useChopLogicSelectController } from './controller';\nimport { getClassName } from '@utils';\nimport styles from './Select.module.scss';\n\nconst ChopLogicSelect: React.FC<ChopLogicSelectProps> = ({\n options,\n onChange,\n name,\n label,\n defaultValue,\n id,\n placeholder = 'Not selected',\n required = false,\n disabled = false,\n className,\n ...rest\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const { elementId, dropdownId } = useElementIds(id);\n const { handleClear, handleClose, handleSelect, handleToggle, selected, opened } = useChopLogicSelectController({\n options,\n onChange,\n defaultValue,\n name,\n });\n const selectClass = getClassName([styles.wrapper, className]);\n\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <div ref={ref} {...rest} className={selectClass}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} />\n <SelectCombobox\n name={name}\n opened={opened}\n comboboxId={elementId}\n dropdownId={dropdownId}\n onClick={handleToggle}\n selected={selected}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n />\n <SelectDropdown\n options={options}\n selected={selected}\n opened={opened}\n onClose={handleClose}\n dropdownId={dropdownId}\n comboboxId={elementId}\n onSelect={handleSelect}\n onClear={handleClear}\n />\n </div>\n );\n};\n\nexport default ChopLogicSelect;\n","import { ChopLogicFormData, ChopLogicRegExpWithFlags, ChopLogicTextInputValidator } from '@models';\n\nexport function validateTextInputValue({\n value,\n required,\n validator,\n}: {\n value: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | ChopLogicTextInputValidator;\n}): boolean {\n if (required && !validator && !value.length) {\n return false;\n }\n\n if (validator && typeof validator === 'function') {\n return validator(value);\n }\n\n if (validator && typeof validator === 'object') {\n return new RegExp(validator.regexp, validator?.flags).test(value);\n }\n\n return true;\n}\n\nexport function getTextInputInitialValue({\n name,\n initialValues,\n defaultValue,\n}: {\n name: string;\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): string {\n if (initialValues && initialValues?.[name]) {\n return (initialValues[name] as string).toString();\n }\n\n if (defaultValue && typeof defaultValue === 'string') {\n return defaultValue;\n }\n\n return '';\n}\n","import React, { ChangeEventHandler, useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicRegExpWithFlags, ChopLogicTextInputValidator } from '@models';\n\nimport { getTextInputInitialValue, validateTextInputValue } from './helpers';\n\nexport function useChopLogicTextInputController({\n name,\n defaultValue,\n onChange,\n onClear,\n required,\n validator,\n}: {\n name: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | ChopLogicTextInputValidator;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onClear?: () => void;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getTextInputInitialValue({ initialValues, defaultValue, name });\n const [value, setValue] = useState<string>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n const [passwordShown, setPasswordShown] = useState<boolean>(false);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const valid = validateTextInputValue({ value, required, validator });\n\n setValue(value);\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n onChange?.(event);\n };\n\n const handleClear = () => {\n setValue('');\n setValid(true);\n onChangeFormInput?.({ name, value: '', valid: true });\n onClear?.();\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n const togglePassword = () => {\n setPasswordShown(!passwordShown);\n };\n\n useResetFormInput(handleReset);\n\n return {\n value,\n valid,\n passwordShown,\n handleChange,\n handleClear,\n togglePassword,\n };\n}\n","import React from 'react';\nimport { ChopLogicErrorMessage, ChopLogicInputInnerButton, ChopLogicLabel } from '@elements';\nimport { ChopLogicIconName } from '@enums';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicTextInputProps } from '@models';\nimport { useChopLogicTextInputController } from './controller';\nimport { getClassName } from '@utils';\nimport styles from './TextInput.module.scss';\n\nconst ChopLogicTextInput: React.FC<ChopLogicTextInputProps> = ({\n name,\n label,\n errorMessage,\n defaultValue,\n onChange,\n onBlur,\n onFocus,\n onClear,\n validator,\n maxLength,\n id,\n tabIndex,\n placeholder = 'Type here...',\n disabled = false,\n required = false,\n clearable = true,\n readOnly = false,\n autoComplete = 'off',\n type = 'text',\n className,\n ...rest\n}) => {\n const { value, valid, handleChange, handleClear, passwordShown, togglePassword } = useChopLogicTextInputController({\n defaultValue,\n name,\n onChange,\n onClear,\n required,\n validator,\n });\n const { elementId, errorId } = useElementIds(id);\n const isPasswordButtonVisible = type === 'password';\n const inputClass = getClassName([styles.text, className]);\n\n return (\n <div {...rest} className={inputClass}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} />\n <div>\n <input\n id={elementId}\n name={name}\n type={passwordShown ? 'text' : type}\n disabled={disabled}\n placeholder={placeholder}\n required={required}\n readOnly={readOnly}\n autoComplete={autoComplete}\n aria-invalid={!valid}\n aria-errormessage={errorId}\n aria-readonly={readOnly}\n value={value}\n onChange={handleChange}\n maxLength={maxLength}\n onBlur={onBlur}\n onFocus={onFocus}\n tabIndex={tabIndex}\n />\n <span>\n {clearable && (\n <ChopLogicInputInnerButton\n onClick={handleClear}\n label={`Clear input for ${label}`}\n icon={ChopLogicIconName.Remove}\n disabled={disabled}\n />\n )}\n {isPasswordButtonVisible && (\n <ChopLogicInputInnerButton\n onClick={togglePassword}\n label='Toggle password visibility'\n icon={passwordShown ? ChopLogicIconName.Hide : ChopLogicIconName.Show}\n disabled={disabled}\n />\n )}\n </span>\n </div>\n <ChopLogicErrorMessage errorId={errorId} message={errorMessage} visible={!valid} />\n </div>\n );\n};\n\nexport default ChopLogicTextInput;\n","import React from 'react';\nimport { ChopLogicButton } from '@components';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport styles from './Header.module.scss';\n\nconst ChopLogicModalLayoutHeader: React.FC<{\n title: string;\n onClose: () => void;\n}> = ({ title, onClose }): React.ReactElement => {\n return (\n <header className={styles.header}>\n {title}\n <ChopLogicButton icon={ChopLogicIconName.Cancel} view={ChopLogicButtonView.Icon} label='Close modal window' onClick={onClose} />\n </header>\n );\n};\n\nexport default ChopLogicModalLayoutHeader;\n","import React, { HTMLAttributes, PropsWithChildren, useRef } from 'react';\nimport { useKeyPress, useModalFocusTrap } from '@hooks';\nimport styles from './Layout.module.scss';\nimport ChopLogicModalLayoutHeader from '../Header';\n\ntype DialogLayoutProps = PropsWithChildren &\n HTMLAttributes<HTMLDivElement> & {\n title: string;\n onClose: () => void;\n isOpened: boolean;\n };\n\nconst ChopLogicModalLayout: React.FC<DialogLayoutProps> = ({ title, onClose, isOpened, children, ...rest }): React.ReactElement => {\n const modalRef = useRef<HTMLDivElement>(null);\n\n useModalFocusTrap({ modalRef, isOpened });\n useKeyPress({ keyCode: 'Escape', ref: modalRef, onKeyPress: onClose });\n\n return (\n <div ref={modalRef} role='dialog' aria-modal='true' {...rest} className={styles.layout}>\n <ChopLogicModalLayoutHeader title={title} onClose={onClose} />\n <div className={styles.content}>{children}</div>\n </div>\n );\n};\n\nexport default ChopLogicModalLayout;\n","import React from 'react';\nimport { ChopLogicPortal } from '@components';\nimport { useMount } from '@hooks';\nimport { ChopLogicDialogProps } from '@models';\n\nimport ChopLogicModalLayout from './elements/Layout';\nimport styles from './Dialog.module.scss';\nimport { getClassName } from '@utils';\n\nconst ChopLogicDialog: React.FC<ChopLogicDialogProps> = ({ isOpened, onClose, title, children, ...rest }) => {\n const isMounted = useMount(isOpened);\n const isClosing = isMounted && !isOpened;\n\n if (!isMounted) {\n return null;\n }\n\n return (\n <ChopLogicPortal>\n <div className={getClassName([styles.dialog, { [styles.dialog__closing]: isClosing }])}>\n <ChopLogicModalLayout title={title} onClose={onClose} isOpened={isOpened} {...rest}>\n {children}\n </ChopLogicModalLayout>\n </div>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicDialog;\n","import React, { useRef, useState } from 'react';\nimport { useClickOutside, useElementIds, useKeyPress, useTooltipPosition } from '@hooks';\n\nexport const useChopLogicTooltipController = ({ id }: { id?: string }) => {\n const [isOpened, setIsOpened] = useState(false);\n const wrapperRef = useRef(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const { top, left } = useTooltipPosition({ wrapperRef, tooltipRef, isOpened });\n const { elementId } = useElementIds(id);\n\n const closeTooltip = () => setIsOpened(false);\n const openTooltip = () => setIsOpened(true);\n const toggleTooltip = () => setIsOpened(!isOpened);\n const handleContextMenu = (e: React.MouseEvent) => {\n e.preventDefault();\n toggleTooltip();\n };\n\n useKeyPress({ keyCode: 'Escape', ref: tooltipRef, onKeyPress: closeTooltip });\n useClickOutside({ ref: tooltipRef, onClickOutsideHandler: closeTooltip, dependentRef: wrapperRef });\n\n return {\n elementId,\n openTooltip,\n closeTooltip,\n toggleTooltip,\n handleContextMenu,\n top,\n left,\n isOpened,\n wrapperRef,\n tooltipRef,\n };\n};\n","import React from 'react';\nimport { ChopLogicPortal } from '@components';\nimport { ChopLogicTooltipContainer } from '@enums';\nimport { ChopLogicTooltipProps } from '@models';\nimport { useChopLogicTooltipController } from './controller';\nimport { getClassName } from '@utils';\nimport styles from './Tooltip.module.scss';\n\nconst ChopLogicTooltip: React.FC<ChopLogicTooltipProps> = ({\n children,\n tooltipContent,\n containerTag = ChopLogicTooltipContainer.Span,\n visibleOn = 'hover',\n id,\n style,\n className,\n ...rest\n}) => {\n const ContainerComponent = containerTag;\n const { openTooltip, closeTooltip, toggleTooltip, handleContextMenu, elementId, top, left, isOpened, wrapperRef, tooltipRef } =\n useChopLogicTooltipController({ id });\n const tooltipClass = getClassName([styles.tooltip, className]);\n\n return (\n <ContainerComponent\n style={{ position: 'relative', cursor: 'pointer' }}\n onClick={visibleOn === 'click' ? toggleTooltip : undefined}\n onMouseOver={visibleOn === 'hover' ? openTooltip : undefined}\n onMouseLeave={visibleOn === 'hover' ? closeTooltip : undefined}\n onFocus={visibleOn === 'focus' ? openTooltip : undefined}\n onBlur={visibleOn === 'focus' ? closeTooltip : undefined}\n onContextMenu={visibleOn === 'contextmenu' ? (e: React.MouseEvent) => handleContextMenu(e) : undefined}\n tabIndex={0}\n ref={wrapperRef}\n aria-describedby={elementId}\n >\n {children}\n {isOpened && (\n <ChopLogicPortal>\n <div style={{ ...style, top, left }} ref={tooltipRef} role='tooltip' id={elementId} {...rest} className={tooltipClass}>\n {tooltipContent}\n </div>\n </ChopLogicPortal>\n )}\n </ContainerComponent>\n );\n};\n\nexport default ChopLogicTooltip;\n","import { ChopLogicFormData, ChopLogicFormInputParams, ChopLogicFormValidationState } from '@models';\n\nexport function getInitialValidationState(data?: ChopLogicFormData): ChopLogicFormValidationState {\n if (!data) return [];\n\n return Object.keys(data).map((key) => [key, true]);\n}\n\nexport function updateValidationState(state: ChopLogicFormValidationState, params: ChopLogicFormInputParams): ChopLogicFormValidationState {\n if (params?.valid === undefined) return state;\n\n return state.map((item) => {\n if (item[0] !== params.name) return item;\n return [item[0], !!params?.valid];\n });\n}\n\nexport function isFormDataValid(state: ChopLogicFormValidationState): boolean {\n return state.every((item) => item[1]);\n}\n","import React, { FormEvent, useState } from 'react';\nimport { ChopLogicFormData, ChopLogicFormInputParams } from '@models';\n\nimport { getInitialValidationState, isFormDataValid, updateValidationState } from './helpers';\n\nexport function useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n}: {\n initialValues?: ChopLogicFormData;\n onReset?: React.FormEventHandler<HTMLFormElement>;\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n onClickSubmit?: (data: ChopLogicFormData) => void;\n}) {\n const [formData, setFormData] = useState(initialValues);\n const [validationState, setValidationState] = useState(getInitialValidationState(initialValues));\n const [resetSignal, setResetSignal] = useState(0);\n\n const handleInputChange = (params: ChopLogicFormInputParams) => {\n const newData = { ...formData, [params.name]: params.value };\n setFormData(newData);\n setValidationState(updateValidationState(validationState, params));\n };\n\n const handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const uncontrolledData = Object.fromEntries(new FormData(event.target as HTMLFormElement));\n const resultData = { ...uncontrolledData, ...formData };\n\n onSubmit?.(event);\n onClickSubmit?.(resultData);\n };\n\n const handleReset = (event: FormEvent<HTMLFormElement>) => {\n onReset?.(event);\n setFormData(initialValues);\n setResetSignal(resetSignal + 1);\n };\n\n return {\n handleInputChange,\n handleSubmit,\n handleReset,\n resetSignal,\n valid: isFormDataValid(validationState),\n };\n}\n","import React from 'react';\nimport { ChopLogicButton } from '@components';\nimport { ChopLogicFormContext } from '@contexts';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { ChopLogicFormProps } from '@models';\nimport styles from './Form.module.scss';\nimport { useChopLogicFormController } from './controller';\nimport { getClassName } from '@utils';\n\nconst ChopLogicForm: React.FC<ChopLogicFormProps> = ({\n children,\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n columns = 1,\n hasReset = true,\n className,\n ...rest\n}) => {\n const { handleInputChange, handleSubmit, handleReset, resetSignal, valid } = useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n });\n const columnsNumber = columns <= 6 && columns >= 1 ? columns : 1;\n const formClass = getClassName([styles.form, className]);\n\n return (\n <form onSubmit={handleSubmit} onReset={handleReset} {...rest} className={`${formClass} ${styles[`columns-${columnsNumber}`]}`}>\n <ChopLogicFormContext.Provider value={{ onChangeFormInput: handleInputChange, initialValues, resetSignal }}>\n {children}\n <div className={`${styles.buttons} ${styles[`buttons-${columnsNumber}`]}`}>\n {hasReset && <ChopLogicButton type='reset' text='Reset' icon={ChopLogicIconName.Clear} view={ChopLogicButtonView.Flat} />}\n <ChopLogicButton type='submit' text='Submit' icon={ChopLogicIconName.Forward} extended={!hasReset} disabled={!valid} />\n </div>\n </ChopLogicFormContext.Provider>\n </form>\n );\n};\n\nexport default ChopLogicForm;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicGridItem, RenderDataItemCallback } from '@models';\n\nexport function getGridRowValues({\n item,\n columns,\n renderDataItem,\n}: {\n item: ChopLogicGridItem;\n columns: ChopLogicGridColumn[];\n renderDataItem?: RenderDataItemCallback;\n}): (string | React.ReactElement)[] {\n const values = [];\n for (const column of columns) {\n let value;\n\n if (renderDataItem && item[column.field]) {\n value = renderDataItem(item, column.field);\n } else if (item[column.field]) {\n value = (item[column.field] as string).toString();\n } else {\n value = '';\n }\n\n values.push(value);\n }\n\n return values;\n}\n","import React from 'react';\nimport styles from '../Grid.module.scss';\n\nconst GridDataCell: React.FC<{ value: React.ReactElement | string }> = ({ value }) => {\n return <td className={styles.grid_cell}>{value}</td>;\n};\n\nexport default GridDataCell;\n","import React from 'react';\nimport { ChopLogicLabel } from '@elements';\nimport { useElementIds } from '@hooks';\nimport CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon.tsx';\nimport styles from '../Grid.module.scss';\nimport { getClassName } from '@utils';\n\ntype ChopLogicGridCheckboxProps = React.InputHTMLAttributes<HTMLInputElement> & {\n label: string;\n};\n\nconst GridCheckbox: React.FC<ChopLogicGridCheckboxProps> = ({\n name,\n label,\n disabled,\n required = false,\n onChange,\n checked = false,\n ...props\n}) => {\n const { elementId } = useElementIds(props?.id);\n const checkboxClass = getClassName([\n styles.checkbox,\n {\n [styles.checkbox__disabled]: !!disabled,\n [styles.checkbox__checked]: checked,\n },\n ]);\n\n return (\n <div className={checkboxClass}>\n <input\n id={elementId}\n name={name}\n type='checkbox'\n disabled={disabled}\n required={required}\n checked={checked}\n onChange={onChange}\n className={styles.checkbox_input}\n />\n <ChopLogicLabel\n label={label}\n required={required}\n inputId={elementId}\n isTextHidden={true}\n iconPosition='left'\n icon={checked ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n />\n </div>\n );\n};\n\nexport default GridCheckbox;\n","import React from 'react';\nimport styles from '../Grid.module.scss';\nimport GridCheckbox from './Checkbox';\n\ntype SelectAllGridRowsCheckbox = {\n rowId: string;\n isRowSelected: boolean;\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n disabled?: boolean;\n};\n\nconst SelectGridRowCell: React.FC<SelectAllGridRowsCheckbox> = ({ rowId, isRowSelected, selectRowById, deselectRowById, disabled }) => {\n const handleSelectById = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectRowById(rowId);\n } else {\n deselectRowById(rowId);\n }\n };\n\n return (\n <td className={styles.grid_cell}>\n <GridCheckbox label='Select row' onChange={handleSelectById} id={`select_row_${rowId}`} checked={isRowSelected} disabled={disabled} />\n </td>\n );\n};\n\nexport default SelectGridRowCell;\n","import React from 'react';\nimport styles from '../Grid.module.scss';\nimport GridDataCell from './DataCell';\nimport SelectGridRowCell from './SelectRowCell';\nimport { getClassName } from '@utils';\n\nexport type GridRowProps = {\n rowId: string;\n selectedIds: string[];\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n selectable: boolean;\n values: (string | React.ReactElement)[];\n disabled?: boolean;\n};\n\nconst GridRow: React.FC<GridRowProps> = ({ rowId, selectRowById, deselectRowById, selectable, values, selectedIds, disabled }) => {\n const selected = selectedIds.includes(rowId);\n\n return (\n <tr className={getClassName([styles.grid_row, { [styles.grid_row__selected]: selected }])}>\n {selectable && (\n <SelectGridRowCell\n rowId={rowId}\n selectRowById={selectRowById}\n deselectRowById={deselectRowById}\n isRowSelected={selected}\n disabled={disabled}\n />\n )}\n {values.map((value, index) => (\n <GridDataCell key={`row_${index}`} value={value} />\n ))}\n </tr>\n );\n};\n\nexport default GridRow;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicGridItem, RenderDataItemCallback } from '@models';\nimport { getGridRowValues } from '../helpers';\nimport GridRow from './Row';\nimport styles from '../Grid.module.scss';\n\ntype ChopLogicGridBodyProps = {\n data: ChopLogicGridItem[];\n columns: ChopLogicGridColumn[];\n selectedIds: string[];\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n renderDataItem?: RenderDataItemCallback;\n selectable: boolean;\n};\n\nconst ChopLogicGridBody: React.FC<ChopLogicGridBodyProps> = ({\n selectRowById,\n deselectRowById,\n renderDataItem,\n selectedIds,\n selectable,\n data,\n columns,\n}) => {\n return (\n <tbody className={styles.grid_body}>\n {data.map((item) => {\n const values = getGridRowValues({ item, columns, renderDataItem });\n return (\n <GridRow\n key={item.id}\n rowId={item.id}\n disabled={item?.disabled}\n selectRowById={selectRowById}\n deselectRowById={deselectRowById}\n selectable={selectable}\n values={values}\n selectedIds={selectedIds}\n />\n );\n })}\n </tbody>\n );\n};\n\nexport default ChopLogicGridBody;\n","import React from 'react';\nimport { ChopLogicGridColumn } from '@models';\nimport styles from '../Grid.module.scss';\nimport { getClassName } from '@utils';\n\nconst GridColumnGroup: React.FC<{ columns: ChopLogicGridColumn[]; selectable: boolean }> = ({ columns, selectable }) => {\n return (\n <colgroup>\n {selectable && <col className={getClassName([styles.grid_column, styles.grid_column__first])} />}\n {columns.map((column, index) => (\n <col\n key={column?.title}\n className={getClassName([\n styles.grid_column,\n column?.className,\n {\n [styles.grid_column__first]: index === 0 && !selectable,\n [styles.grid_column__highlighted]: !!column?.highlighted,\n },\n ])}\n />\n ))}\n </colgroup>\n );\n};\n\nexport default GridColumnGroup;\n","import React from 'react';\nimport styles from '../Grid.module.scss';\n\nconst GridHeaderCell: React.FC<{ title?: string; component?: React.ReactElement }> = ({ title, component }) => {\n return <th className={styles.header_cell}>{component ?? title ?? ''}</th>;\n};\n\nexport default GridHeaderCell;\n","import React from 'react';\nimport styles from '../Grid.module.scss';\nimport GridCheckbox from './Checkbox';\n\ntype SelectAllGridRowsCheckbox = {\n gridId: string;\n isAllSelected: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n disabled?: boolean;\n};\n\nconst SelectAllRowsCell: React.FC<SelectAllGridRowsCheckbox> = ({ gridId, isAllSelected, selectAll, deselectAll, disabled }) => {\n const handleSelectAll = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectAll();\n } else {\n deselectAll();\n }\n };\n\n return (\n <th className={styles.header_cell}>\n <GridCheckbox\n label='Select all rows'\n onChange={handleSelectAll}\n id={`select_all_${gridId}`}\n checked={isAllSelected}\n disabled={disabled}\n />\n </th>\n );\n};\n\nexport default SelectAllRowsCell;\n","import React from 'react';\nimport { ChopLogicGridColumn } from '@models';\nimport styles from '../Grid.module.scss';\nimport GridHeaderCell from './HeaderCell';\nimport SelectAllRowsCell from './SelectAllRowsCell';\n\ntype ChopLogicGridHeadProps = {\n columns: ChopLogicGridColumn[];\n gridId: string;\n selectable: boolean;\n isAllSelected: boolean;\n isAllCheckboxDisabled?: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n};\n\nconst ChopLogicGridHead: React.FC<ChopLogicGridHeadProps> = ({\n columns,\n gridId,\n selectAll,\n deselectAll,\n selectable,\n isAllSelected,\n isAllCheckboxDisabled = false,\n}) => {\n return (\n <thead className={styles.header}>\n <tr className={styles.header_row}>\n {selectable && (\n <SelectAllRowsCell\n isAllSelected={isAllSelected}\n disabled={isAllCheckboxDisabled}\n gridId={gridId}\n selectAll={selectAll}\n deselectAll={deselectAll}\n />\n )}\n {columns.map((column) => (\n <GridHeaderCell key={`${column.title}_${gridId}`} title={column.title} component={column.component} />\n ))}\n </tr>\n </thead>\n );\n};\n\nexport default ChopLogicGridHead;\n","import { useState } from 'react';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicGridItem } from '@models';\n\nexport const useChopLogicGridController = ({\n data,\n id,\n onSelect,\n}: {\n data: ChopLogicGridItem[];\n id?: string;\n onSelect?: (ids: string[]) => void;\n}) => {\n const { elementId } = useElementIds(id);\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n const allIds = data.map((item) => item.id);\n const isAllSelected = allIds.length === selectedIds.length;\n const isAllCheckboxDisabled = data.some((item) => item?.disabled);\n\n const handleSelect = (ids: string[]) => {\n setSelectedIds(ids);\n onSelect?.(ids);\n };\n\n const handleSelectAll = () => {\n handleSelect(allIds);\n };\n\n const handleDeselectAll = () => {\n handleSelect([]);\n };\n\n const handleSelectRowById = (id: string) => {\n const newIds = [...selectedIds, id];\n handleSelect(newIds);\n };\n\n const handleDeselectRowById = (id: string) => {\n const newIds = selectedIds.filter((item) => item !== id);\n handleSelect(newIds);\n };\n return {\n elementId,\n isAllSelected,\n isAllCheckboxDisabled,\n selectedIds,\n handleSelectAll,\n handleDeselectAll,\n handleSelectRowById,\n handleDeselectRowById,\n };\n};\n","import React from 'react';\nimport { ChopLogicGridProps } from '@models';\nimport ChopLogicGridBody from './elements/Body';\nimport GridColumnGroup from './elements/ColumnGroup';\nimport ChopLogicGridHead from './elements/Head';\nimport { useChopLogicGridController } from './controller';\nimport styles from './Grid.module.scss';\nimport { getClassName } from '@utils';\n\nconst ChopLogicGrid: React.FC<ChopLogicGridProps> = ({\n columns,\n data,\n id,\n onSelect,\n renderDataItem,\n caption,\n selectable = false,\n className,\n ...rest\n}) => {\n const {\n elementId,\n handleSelectAll,\n handleDeselectAll,\n isAllCheckboxDisabled,\n isAllSelected,\n handleDeselectRowById,\n handleSelectRowById,\n selectedIds,\n } = useChopLogicGridController({ id, data, onSelect });\n\n return (\n <table {...rest} className={getClassName([styles.grid, className])}>\n {caption && <caption className={styles.grid_caption}>{caption}</caption>}\n <GridColumnGroup columns={columns} selectable={selectable} />\n <ChopLogicGridHead\n gridId={elementId}\n columns={columns}\n selectable={selectable}\n selectAll={handleSelectAll}\n deselectAll={handleDeselectAll}\n isAllSelected={isAllSelected}\n isAllCheckboxDisabled={isAllCheckboxDisabled}\n />\n <ChopLogicGridBody\n columns={columns}\n data={data}\n selectable={selectable}\n selectRowById={handleSelectRowById}\n deselectRowById={handleDeselectRowById}\n selectedIds={selectedIds}\n renderDataItem={renderDataItem}\n />\n </table>\n );\n};\n\nexport default ChopLogicGrid;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicMenuItem } from '@models';\nimport styles from '../Menu.module.scss';\n\nconst MenuLeaf = ({ item }: { item: ChopLogicMenuItem }): React.ReactElement => {\n const { icon, link, label, onFocus, onClick, onHover } = item;\n\n const leafContent = link ? (\n <a href={link} target='_blank' rel='noreferrer'>\n {label}\n </a>\n ) : (\n <span>{label}</span>\n );\n\n return (\n <li className={styles.menuLeaf} tabIndex={0} role='menuitem' onFocus={onFocus} onClick={onClick} onMouseOver={onHover}>\n <ChopLogicIcon name={icon} />\n {leafContent}\n </li>\n );\n};\n\nexport default MenuLeaf;\n","import React, { PropsWithChildren, useRef } from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicIconName, ChopLogicOrientationMode } from '@enums';\nimport { useClickOutside } from '@hooks';\nimport { ChopLogicMenuItem } from '@models';\nimport styles from '../Menu.module.scss';\n\ntype SubMenuProps = PropsWithChildren & {\n item: ChopLogicMenuItem;\n isSubMenuOpened: boolean;\n mode: ChopLogicOrientationMode;\n toggleSubMenu: () => void;\n closeSubMenu: () => void;\n};\n\nconst SubMenu: React.FC<SubMenuProps> = ({ item, isSubMenuOpened, toggleSubMenu, closeSubMenu, mode, children }) => {\n const { icon, link, label } = item;\n const ref = useRef(null);\n const dependentRef = useRef(null);\n\n const itemContent = link ? (\n <a href={link} target='_blank' rel='noreferrer'>\n <ChopLogicIcon name={icon} />\n {label}\n </a>\n ) : (\n <span>\n <ChopLogicIcon name={icon} />\n {label}\n </span>\n );\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLLIElement>) => {\n e.stopPropagation();\n if (e.key === ' ') {\n toggleSubMenu();\n }\n };\n\n const onClickOutsideHandler = () => {\n if (mode === ChopLogicOrientationMode.Vertical) return;\n closeSubMenu();\n };\n\n useClickOutside({ ref, dependentRef, onClickOutsideHandler });\n\n return (\n <li\n className={styles.subMenu}\n tabIndex={0}\n role='menuitem'\n aria-haspopup='true'\n aria-expanded={isSubMenuOpened}\n onKeyDown={handleKeyDown}\n ref={ref}\n >\n <span className={styles.text} ref={dependentRef} onClick={toggleSubMenu}>\n {itemContent}\n <ChopLogicIcon name={isSubMenuOpened ? ChopLogicIconName.ArrowUp : ChopLogicIconName.ArrowDown} />\n </span>\n {isSubMenuOpened && children}\n </li>\n );\n};\n\nexport default SubMenu;\n","import React, { PropsWithChildren, useState } from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicMenuItem } from '@models';\nimport styles from '../Menu.module.scss';\nimport MenuLeaf from './MenuLeaf';\nimport SubMenu from './SubMenu.tsx';\nimport { getClassName } from '@utils';\n\ntype MenuItemProps = PropsWithChildren & {\n item: ChopLogicMenuItem;\n mode: ChopLogicOrientationMode;\n};\n\nconst MenuItem: React.FC<MenuItemProps> = ({ item, mode }) => {\n const isLeaf = !item?.nestedItems?.length;\n const [isSubMenuOpened, setIsSubMenuOpened] = useState(false);\n const subMenuBarClass = getClassName([\n styles.subMenuBar,\n { [styles.subMenuBar__horizontal]: mode === ChopLogicOrientationMode.Horizontal },\n ]);\n\n if (isLeaf) {\n return <MenuLeaf item={item} />;\n }\n\n const toggleSubMenu = () => {\n setIsSubMenuOpened(!isSubMenuOpened);\n };\n\n const closeSubMenu = () => {\n setIsSubMenuOpened(false);\n };\n\n return (\n <SubMenu item={item} isSubMenuOpened={isSubMenuOpened} toggleSubMenu={toggleSubMenu} closeSubMenu={closeSubMenu} mode={mode}>\n <ul className={subMenuBarClass} role='menu' aria-label={item.label}>\n {item?.nestedItems?.map((child) => <MenuItem item={child} key={child.id} mode={mode} />)}\n </ul>\n </SubMenu>\n );\n};\n\nexport default MenuItem;\n","import React from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicMenuProps } from '@models';\nimport MenuItem from './elements/MenuItem.tsx';\nimport styles from './Menu.module.scss';\nimport { getClassName } from '@utils';\n\nconst ChopLogicMenu: React.FC<ChopLogicMenuProps> = ({ items, mode = ChopLogicOrientationMode.Vertical, className, ...rest }) => {\n const menuClass = getClassName([styles.menuBar, className, { [styles.menuBar__vertical]: mode === ChopLogicOrientationMode.Vertical }]);\n\n return (\n <ul {...rest} role='menubar' className={menuClass}>\n {items.map((item) => (\n <MenuItem key={item.id} item={item} mode={mode} />\n ))}\n </ul>\n );\n};\n\nexport default ChopLogicMenu;\n","import React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nconst ChopLogicPortal = ({ children }: { children: React.ReactElement }): React.ReactPortal => {\n const [container] = useState(() => document.createElement('div'));\n\n useEffect(() => {\n // Append a new portal at the end of the body element on mount\n document.body.appendChild(container);\n\n // Remove the portal on unmount\n return () => {\n document.body.removeChild(container);\n };\n }, [container]);\n\n return ReactDOM.createPortal(children, container);\n};\n\nexport default ChopLogicPortal;\n","import React from 'react';\nimport { ChopLogicTabItem } from '@models';\nimport styles from '../Tabs.module.scss';\n\nconst ChopLogicTabContent: React.FC<{\n tabs: ChopLogicTabItem[];\n selectedTabId: string;\n}> = ({ tabs, selectedTabId }): React.ReactElement => {\n const content = tabs.find((item) => item.id === selectedTabId)?.content;\n const contentId = `tabpanel_${selectedTabId}`;\n\n return (\n <div role='tabpanel' aria-labelledby={selectedTabId} id={contentId} className={styles.tabContent}>\n {content}\n </div>\n );\n};\n\nexport default ChopLogicTabContent;\n","import React from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { getClassName } from '@utils';\nimport styles from '../Tabs.module.scss';\n\ntype ChopLogicTabButtonProps = {\n title: string;\n tabId: string;\n onTabSelect: (id: string) => void;\n tabPanelId: string;\n isSelected: boolean;\n mode: ChopLogicOrientationMode;\n isDisabled?: boolean;\n};\n\nconst ChopLogicTabButton: React.FC<ChopLogicTabButtonProps> = ({\n title,\n onTabSelect,\n tabId,\n isSelected,\n isDisabled = false,\n tabPanelId,\n mode,\n}) => {\n const buttonClass = getClassName([\n styles.tabButton,\n {\n [styles.tabButton__disabled]: isDisabled,\n [styles.tabButton__vertical]: mode === ChopLogicOrientationMode.Vertical,\n [styles.tabButton__selected]: isSelected,\n },\n ]);\n\n return (\n <button\n role='tab'\n id={tabId}\n onClick={() => onTabSelect(tabId)}\n aria-selected={isSelected}\n aria-controls={tabPanelId}\n className={buttonClass}\n >\n {title}\n </button>\n );\n};\n\nexport default ChopLogicTabButton;\n","import React, { KeyboardEvent } from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTabItem } from '@models';\nimport { getClassName, moveFocusOnElementById } from '@utils';\nimport ChopLogicTabButton from './TabButton';\nimport styles from '../Tabs.module.scss';\n\ntype ChopLogicTabListProps = {\n tabs: ChopLogicTabItem[];\n tabIds: string[];\n onTabSelect: (id: string) => void;\n selectedTabId: string;\n tabPanelIds: string[];\n mode: ChopLogicOrientationMode;\n};\n\nconst ChopLogicTabList: React.FC<ChopLogicTabListProps> = ({ tabs, onTabSelect, selectedTabId, tabPanelIds, mode, tabIds }) => {\n const listClass = getClassName([styles.tabList, { [styles.tabList__vertical]: mode === ChopLogicOrientationMode.Vertical }]);\n\n const handleListKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n const currentFocusedTabIndex = tabIds.findIndex((id) => id === selectedTabId);\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowUp': {\n e.preventDefault();\n if (e.key === 'ArrowUp' && mode === ChopLogicOrientationMode.Horizontal) break;\n if (e.key === 'ArrowLeft' && mode === ChopLogicOrientationMode.Vertical) break;\n\n const previousTabIndex = currentFocusedTabIndex - 1 >= 0 ? currentFocusedTabIndex - 1 : tabIds.length - 1;\n const previousTabId = tabIds[previousTabIndex];\n if (previousTabId) {\n moveFocusOnElementById(previousTabId);\n onTabSelect(previousTabId);\n }\n break;\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n e.preventDefault();\n if (e.key === 'ArrowDown' && mode === ChopLogicOrientationMode.Horizontal) break;\n if (e.key === 'ArrowRight' && mode === ChopLogicOrientationMode.Vertical) break;\n\n const nextTabIndex = currentFocusedTabIndex === tabIds.length - 1 ? 0 : currentFocusedTabIndex + 1;\n const nextTabId = tabIds[nextTabIndex];\n if (nextTabId) {\n moveFocusOnElementById(nextTabId);\n onTabSelect(nextTabId);\n }\n break;\n }\n default:\n break;\n }\n };\n\n return (\n <div role='tablist' onKeyDown={handleListKeyDown} className={listClass}>\n {tabs.map(({ id, title, disabled }, index) => {\n return (\n <ChopLogicTabButton\n key={id}\n title={title}\n onTabSelect={onTabSelect}\n tabId={id}\n isSelected={id === selectedTabId}\n isDisabled={disabled}\n tabPanelId={tabPanelIds[index]}\n mode={mode}\n />\n );\n })}\n </div>\n );\n};\n\nexport default ChopLogicTabList;\n","import React, { useState } from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTabsProps } from '@models';\nimport ChopLogicTabContent from './elements/TabContent';\nimport ChopLogicTabList from './elements/TabList';\nimport { getClassName } from '@utils';\nimport styles from './Tabs.module.scss';\n\nconst ChopLogicTabs: React.FC<ChopLogicTabsProps> = ({\n tabs,\n defaultTabId,\n mode = ChopLogicOrientationMode.Horizontal,\n className,\n ...rest\n}) => {\n const tabIds = tabs.map((item) => item.id);\n const tabPanelIds = tabIds.map((id) => `tabpanel_${id}`);\n const defaultId = defaultTabId && tabIds.includes(defaultTabId) ? defaultTabId : tabIds[0];\n const [selectedTabId, setSelectedTabId] = useState(defaultId);\n const tabsClass = getClassName([styles.tabs, className, { [styles.tabs__vertical]: mode === ChopLogicOrientationMode.Vertical }]);\n\n const handleTabSelect = (id: string) => {\n setSelectedTabId(id);\n };\n\n return (\n <div {...rest} className={tabsClass}>\n <ChopLogicTabList\n tabs={tabs}\n selectedTabId={selectedTabId}\n tabPanelIds={tabPanelIds}\n onTabSelect={handleTabSelect}\n mode={mode}\n tabIds={tabIds}\n />\n <ChopLogicTabContent tabs={tabs} selectedTabId={selectedTabId} />\n </div>\n );\n};\n\nexport default ChopLogicTabs;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicAlertMode, ChopLogicIconName } from '@enums';\nimport CheckMarkIcon from '@assets/icons/svg/CheckMarkIcon.tsx';\nimport ErrorIcon from '@assets/icons/svg/ErrorIcon.tsx';\nimport HelpIcon from '@assets/icons/svg/HelpIcon.tsx';\nimport InfoIcon from '@assets/icons/svg/InfoIcon.tsx';\nimport WarningIcon from '@assets/icons/svg/WarningIcon.tsx';\n\nexport function getAlertTitle(mode: ChopLogicAlertMode, title?: string): string {\n if (title) return title;\n\n switch (mode) {\n case ChopLogicAlertMode.Info:\n return 'For your information';\n case ChopLogicAlertMode.Warning:\n return 'Please pay attention';\n case ChopLogicAlertMode.Error:\n return 'Something went wrong';\n case ChopLogicAlertMode.Success:\n return 'Everything is okay';\n case ChopLogicAlertMode.Help:\n return 'Useful tip';\n default:\n return 'Alert';\n }\n}\n\nexport function renderAlertIcon(mode: ChopLogicAlertMode, icon?: ChopLogicIconName): React.ReactElement | null {\n if (icon) {\n return <ChopLogicIcon name={icon} />;\n }\n\n switch (mode) {\n case ChopLogicAlertMode.Info:\n return <InfoIcon />;\n case ChopLogicAlertMode.Warning:\n return <WarningIcon />;\n case ChopLogicAlertMode.Error:\n return <ErrorIcon />;\n case ChopLogicAlertMode.Success:\n return <CheckMarkIcon />;\n case ChopLogicAlertMode.Help:\n return <HelpIcon />;\n default:\n return null;\n }\n}\n","import React from 'react';\nimport { ChopLogicButton } from '@components';\nimport { ChopLogicAlertMode, ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport styles from './AlertHeader.module.scss';\nimport { getAlertTitle, renderAlertIcon } from '../helpers';\n\ntype AlertHeaderProps = {\n onClose: () => void;\n mode: ChopLogicAlertMode;\n title?: string;\n icon?: ChopLogicIconName;\n};\n\nconst AlertHeader: React.FC<AlertHeaderProps> = ({ title, onClose, mode, icon }) => {\n const alertTitle = getAlertTitle(mode, title);\n const alertIcon = renderAlertIcon(mode, icon);\n\n return (\n <header className={styles.header}>\n <h3>\n {alertIcon}\n {alertTitle}\n </h3>\n <ChopLogicButton icon={ChopLogicIconName.Cancel} view={ChopLogicButtonView.Icon} label='Close alert popup' onClick={onClose} />\n </header>\n );\n};\n\nexport default AlertHeader;\n","import React from 'react';\nimport { ChopLogicPortal } from '@components';\nimport { ChopLogicAlertMode } from '@enums';\nimport { useMount } from '@hooks';\nimport { ChopLogicAlertProps } from '@models';\nimport AlertHeader from './elements/AlertHeader.tsx';\nimport styles from './Alert.module.scss';\nimport { getClassName } from '@utils';\n\nconst ChopLogicAlert: React.FC<ChopLogicAlertProps> = ({\n isOpened,\n onClose,\n title,\n message,\n mode = ChopLogicAlertMode.Info,\n icon,\n ...rest\n}) => {\n const isMounted = useMount(isOpened);\n const isClosing = isMounted && !isOpened;\n\n if (!isMounted) return null;\n\n return (\n <ChopLogicPortal>\n <div className={getClassName([styles.wrapper, { [styles.wrapper__closing]: isClosing }])}>\n <div {...rest} className={styles.content}>\n <AlertHeader title={title} onClose={onClose} mode={mode} icon={icon} />\n <p>{message}</p>\n </div>\n </div>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicAlert;\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","debugStack","debugTask","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","getClassName","input","item","trueKeys","ChopLogicErrorMessage","errorId","testId","message","visible","style","jsx","styles","ArrowDownIcon","title","rest","jsxs","ArrowUpIcon","BackIcon","CancelIcon","CheckboxCheckedIcon","CheckboxUncheckedIcon","CheckMarkIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ClearIcon","CopyIcon","CutIcon","DeleteIcon","DownloadIcon","ErrorIcon","ForwardIcon","GraduateIcon","HelpIcon","HideIcon","HomeIcon","InfoIcon","LoginIcon","PasteIcon","QuestionIcon","RemoveIcon","SaveIcon","ShowIcon","UploadIcon","WarningIcon","ChopLogicAlertMode","ChopLogicButtonView","ChopLogicIconName","ChopLogicLoaderView","ChopLogicOrientationMode","ChopLogicThemeMode","ChopLogicTooltipContainer","ChopLogicIconDictionary","ChopLogicIcon","Component","InputInnerButton","onClick","label","icon","disabled","ChopLogicLabel","required","inputId","iconPosition","isTextHidden","isLeftIconVisible","isRightIconVisible","withTooltip","tooltip","visibleOn","ChopLogicTooltip","moveFocusOnElementById","id","element","handleDropdownListKeyPress","options","onClose","focusedId","currentFocusIndex","previousOptionIndex","previousValue","nextOptionIndex","nextValue","ChopLogicButton","text","extended","view","className","primaryClassName","flatClassName","iconClassName","ChopLogicButton$1","useClickOutside","ref","onClickOutsideHandler","dependentRef","useEffect","handleClickOutside","event","isOutsideRef","isOutsideDependentRef","useContainerDimensions","isVisible","dimensions","setDimensions","useState","useElementIds","randomId","useId","elementId","dropdownId","useKeyPress","keyCode","onKeyPress","handleKeyPress","e","useModalFocusTrap","modalRef","isOpened","modalElement","focusableElements","firstElement","lastElement","handleTabKeyPress","useMount","delay","isMounted","setIsMounted","ChopLogicFormContext","ChopLogicThemeContext","createContext","ChopLogicThemeProvider","injectedMode","mode","setMode","useResetFormInput","onReset","resetSignal","useContext","getWindowDimensions","width","height","useWindowDimensions","windowDimensions","setWindowDimensions","handleResize","useTooltipPosition","wrapperRef","tooltipRef","spacing","position","setPosition","tooltipWidth","tooltipHeight","windowWidth","windowHeight","rect","top","left","useChopLogicTheme","getCheckboxInitialValue","defaultChecked","initialValues","useChopLogicCheckboxController","onChange","onChangeFormInput","initialValue","isChecked","setIsChecked","handleChange","checked","handleReset","useCallback","ChopLogicCheckbox","noLabel","checkboxClass","SelectCombobox","opened","comboboxId","placeholder","values","selectedLabels","selectedIds","selectedValues","SelectOption","onSelect","selected","optionClass","handleKeyDown","MultiSelectDropdown","dropdownClass","getMultiSelectInitialValues","defaultValue","option","getMultiSelectFormValues","getMultiSelectUpdatedValues","targetItem","useChopLogicMultiSelectController","setOpened","initialOptions","setValues","handleClose","handleToggle","handleSelect","newValues","ChopLogicMultiSelect","useRef","multiSelectClass","SelectDropdown","getNumericInputInitialValue","validateNumericInputValue","validator","maxValue","minValue","useChopLogicNumericInputController","onSpinButtonClick","min","max","step","setValue","valid","setValid","updateValue","increment","decrement","ChopLogicNumericInput","errorMessage","onBlur","onFocus","tabIndex","readOnly","hasSpinButtons","inputClass","ChopLogicInputInnerButton","onClear","handleOptionSelect","getSelectInitialValue","valueId","_a","useChopLogicSelectController","setSelected","newValue","handleClear","ChopLogicSelect","selectClass","validateTextInputValue","getTextInputInitialValue","useChopLogicTextInputController","passwordShown","setPasswordShown","togglePassword","ChopLogicTextInput","maxLength","clearable","autoComplete","isPasswordButtonVisible","ChopLogicModalLayoutHeader","ChopLogicModalLayout","ChopLogicDialog","isClosing","ChopLogicPortal","useChopLogicTooltipController","setIsOpened","closeTooltip","openTooltip","toggleTooltip","handleContextMenu","tooltipContent","containerTag","ContainerComponent","tooltipClass","getInitialValidationState","data","updateValidationState","state","params","isFormDataValid","useChopLogicFormController","onSubmit","onClickSubmit","formData","setFormData","validationState","setValidationState","setResetSignal","newData","resultData","ChopLogicForm","columns","hasReset","handleInputChange","handleSubmit","columnsNumber","formClass","getGridRowValues","renderDataItem","column","GridDataCell","GridCheckbox","SelectGridRowCell","rowId","isRowSelected","selectRowById","deselectRowById","handleSelectById","GridRow","selectable","index","ChopLogicGridBody","GridColumnGroup","GridHeaderCell","component","SelectAllRowsCell","gridId","isAllSelected","selectAll","deselectAll","handleSelectAll","ChopLogicGridHead","isAllCheckboxDisabled","useChopLogicGridController","setSelectedIds","allIds","ids","newIds","ChopLogicGrid","caption","handleDeselectAll","handleDeselectRowById","handleSelectRowById","MenuLeaf","link","onHover","leafContent","SubMenu","isSubMenuOpened","toggleSubMenu","closeSubMenu","itemContent","MenuItem","isLeaf","setIsSubMenuOpened","subMenuBarClass","_b","child","ChopLogicMenu","items","menuClass","container","ReactDOM","ChopLogicTabContent","tabs","selectedTabId","content","contentId","ChopLogicTabButton","onTabSelect","tabId","isSelected","isDisabled","tabPanelId","buttonClass","ChopLogicTabList","tabPanelIds","tabIds","listClass","handleListKeyDown","currentFocusedTabIndex","previousTabIndex","previousTabId","nextTabIndex","nextTabId","ChopLogicTabs","defaultTabId","defaultId","setSelectedTabId","tabsClass","handleTabSelect","getAlertTitle","renderAlertIcon","AlertHeader","alertTitle","alertIcon","ChopLogicAlert"],"mappings":";;;;;;;;;;;;;;;;AAWA,MAAIA,IAAqB,OAAO,IAAI,4BAA4B,GAC9DC,IAAsB,OAAO,IAAI,gBAAgB;AACnD,WAASC,EAAQC,GAAMC,GAAQC,GAAU;AACvC,QAAIC,IAAM;AAGV,QAFWD,MAAX,WAAwBC,IAAM,KAAKD,IACxBD,EAAO,QAAlB,WAA0BE,IAAM,KAAKF,EAAO,MACxC,SAASA,GAAQ;AACnB,MAAAC,IAAW,CAAE;AACb,eAASE,KAAYH;AACnB,QAAUG,MAAV,UAAuBF,EAASE,CAAQ,IAAIH,EAAOG,CAAQ;AAAA,IAC9D,MAAM,CAAAF,IAAWD;AAClB,WAAAA,IAASC,EAAS,KACX;AAAA,MACL,UAAUL;AAAA,MACV,MAAMG;AAAA,MACN,KAAKG;AAAA,MACL,KAAgBF,MAAX,SAAoBA,IAAS;AAAA,MAClC,OAAOC;AAAA,IACR;AAAA,EACH;AACA,SAAAG,GAAA,WAAmBP,GACnBO,GAAA,MAAcN,GACdM,GAAA,OAAeN;;;;;;;;;;;;;;wBCtBE,QAAQ,IAAI,aAA7B,gBACG,WAAY;AACX,aAASO,EAAyBN,GAAM;AACtC,UAAYA,KAAR,KAAc,QAAO;AACzB,UAAmB,OAAOA,KAAtB;AACF,eAAOA,EAAK,aAAaO,KACrB,OACAP,EAAK,eAAeA,EAAK,QAAQ;AACvC,UAAiB,OAAOA,KAApB,SAA0B,QAAOA;AACrC,cAAQA,GAAI;AAAA,QACV,KAAKF;AACH,iBAAO;AAAA,QACT,KAAKU;AACH,iBAAO;AAAA,QACT,KAAKC;AACH,iBAAO;AAAA,QACT,KAAKC;AACH,iBAAO;AAAA,QACT,KAAKC;AACH,iBAAO;AAAA,QACT,KAAKC;AACH,iBAAO;AAAA,MACjB;AACM,UAAiB,OAAOZ,KAApB;AACF,gBACgB,OAAOA,EAAK,OAAzB,YACC,QAAQ;AAAA,UACN;AAAA,QACD,GACHA,EAAK,UACf;AAAA,UACU,KAAKa;AACH,mBAAO;AAAA,UACT,KAAKC;AACH,oBAAQd,EAAK,eAAe,aAAa;AAAA,UAC3C,KAAKe;AACH,oBAAQf,EAAK,SAAS,eAAe,aAAa;AAAA,UACpD,KAAKgB;AACH,gBAAIC,IAAYjB,EAAK;AACrB,mBAAAA,IAAOA,EAAK,aACZA,MACIA,IAAOiB,EAAU,eAAeA,EAAU,QAAQ,IACnDjB,IAAcA,MAAP,KAAc,gBAAgBA,IAAO,MAAM,eAC9CA;AAAA,UACT,KAAKkB;AACH,mBACGD,IAAYjB,EAAK,eAAe,MACxBiB,MAAT,OACIA,IACAX,EAAyBN,EAAK,IAAI,KAAK;AAAA,UAE/C,KAAKmB;AACH,YAAAF,IAAYjB,EAAK,UACjBA,IAAOA,EAAK;AACZ,gBAAI;AACF,qBAAOM,EAAyBN,EAAKiB,CAAS,CAAC;AAAA,YAChD,QAAW;AAAA,YAAA;AAAA,QACxB;AACM,aAAO;AAAA,IACb;AACI,aAASG,EAAmBC,GAAO;AACjC,aAAO,KAAKA;AAAA,IAClB;AACI,aAASC,EAAuBD,GAAO;AACrC,UAAI;AACF,QAAAD,EAAmBC,CAAK;AACxB,YAAIE,IAA2B;AAAA,MAChC,QAAW;AACV,QAAAA,IAA2B;AAAA,MACnC;AACM,UAAIA,GAA0B;AAC5B,QAAAA,IAA2B;AAC3B,YAAIC,IAAwBD,EAAyB,OACjDE,IACc,OAAO,UAAtB,cACC,OAAO,eACPJ,EAAM,OAAO,WAAW,KAC1BA,EAAM,YAAY,QAClB;AACF,eAAAG,EAAsB;AAAA,UACpBD;AAAA,UACA;AAAA,UACAE;AAAA,QACD,GACML,EAAmBC,CAAK;AAAA,MACvC;AAAA,IACA;AACI,aAASK,EAAY1B,GAAM;AACzB,UAAIA,MAASF,EAAqB,QAAO;AACzC,UACe,OAAOE,KAApB,YACSA,MAAT,QACAA,EAAK,aAAamB;AAElB,eAAO;AACT,UAAI;AACF,YAAIQ,IAAOrB,EAAyBN,CAAI;AACxC,eAAO2B,IAAO,MAAMA,IAAO,MAAM;AAAA,MAClC,QAAW;AACV,eAAO;AAAA,MACf;AAAA,IACA;AACI,aAASC,IAAW;AAClB,UAAIC,IAAaC,EAAqB;AACtC,aAAgBD,MAAT,OAAsB,OAAOA,EAAW,SAAU;AAAA,IAC/D;AACI,aAASE,IAAe;AACtB,aAAO,MAAM,uBAAuB;AAAA,IAC1C;AACI,aAASC,EAAY/B,GAAQ;AAC3B,UAAIgC,EAAe,KAAKhC,GAAQ,KAAK,GAAG;AACtC,YAAIiC,IAAS,OAAO,yBAAyBjC,GAAQ,KAAK,EAAE;AAC5D,YAAIiC,KAAUA,EAAO,eAAgB,QAAO;AAAA,MACpD;AACM,aAAkBjC,EAAO,QAAlB;AAAA,IACb;AACI,aAASkC,EAA2BC,GAAOC,GAAa;AACtD,eAASC,IAAwB;AAC/B,QAAAC,OACIA,KAA6B,IAC/B,QAAQ;AAAA,UACN;AAAA,UACAF;AAAA,QACZ;AAAA,MACA;AACM,MAAAC,EAAsB,iBAAiB,IACvC,OAAO,eAAeF,GAAO,OAAO;AAAA,QAClC,KAAKE;AAAA,QACL,cAAc;AAAA,MACtB,CAAO;AAAA,IACP;AACI,aAASE,IAAyC;AAChD,UAAIC,IAAgBnC,EAAyB,KAAK,IAAI;AACtD,aAAAoC,GAAuBD,CAAa,MAChCC,GAAuBD,CAAa,IAAI,IAC1C,QAAQ;AAAA,QACN;AAAA,MACV,IACMA,IAAgB,KAAK,MAAM,KACTA,MAAX,SAA2BA,IAAgB;AAAA,IACxD;AACI,aAASE,EACP3C,GACAG,GACAyC,GACAC,GACAC,GACAV,GACAW,IACAC,IACA;AACA,aAAAJ,IAAOR,EAAM,KACbpC,IAAO;AAAA,QACL,UAAUH;AAAA,QACV,MAAMG;AAAA,QACN,KAAKG;AAAA,QACL,OAAOiC;AAAA,QACP,QAAQU;AAAA,MACT,IACoBF,MAAX,SAAkBA,IAAO,UAAnC,OACI,OAAO,eAAe5C,GAAM,OAAO;AAAA,QACjC,YAAY;AAAA,QACZ,KAAKwC;AAAA,MACN,CAAA,IACD,OAAO,eAAexC,GAAM,OAAO,EAAE,YAAY,IAAI,OAAO,MAAM,GACtEA,EAAK,SAAS,CAAE,GAChB,OAAO,eAAeA,EAAK,QAAQ,aAAa;AAAA,QAC9C,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO;AAAA,MACf,CAAO,GACD,OAAO,eAAeA,GAAM,cAAc;AAAA,QACxC,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO;AAAA,MACf,CAAO,GACD,OAAO,eAAeA,GAAM,eAAe;AAAA,QACzC,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO+C;AAAA,MACf,CAAO,GACD,OAAO,eAAe/C,GAAM,cAAc;AAAA,QACxC,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAOgD;AAAA,MACf,CAAO,GACD,OAAO,WAAW,OAAO,OAAOhD,EAAK,KAAK,GAAG,OAAO,OAAOA,CAAI,IACxDA;AAAA,IACb;AACI,aAASiD,EACPjD,GACAC,GACAC,GACAgD,GACAL,GACAD,GACAG,IACAC,IACA;AACA,UAAIG,IAAWlD,EAAO;AACtB,UAAekD,MAAX;AACF,YAAID;AACF,cAAIE,GAAYD,CAAQ,GAAG;AACzB,iBACED,IAAmB,GACnBA,IAAmBC,EAAS,QAC5BD;AAEA,cAAAG,EAAkBF,EAASD,CAAgB,CAAC;AAC9C,mBAAO,UAAU,OAAO,OAAOC,CAAQ;AAAA,UACxC;AACC,oBAAQ;AAAA,cACN;AAAA,YACD;AAAA,YACA,CAAAE,EAAkBF,CAAQ;AACjC,UAAIlB,EAAe,KAAKhC,GAAQ,KAAK,GAAG;AACtC,QAAAkD,IAAW7C,EAAyBN,CAAI;AACxC,YAAIsD,KAAO,OAAO,KAAKrD,CAAM,EAAE,OAAO,SAAUsD,IAAG;AACjD,iBAAiBA,OAAV;AAAA,QACjB,CAAS;AACD,QAAAL,IACE,IAAII,GAAK,SACL,oBAAoBA,GAAK,KAAK,SAAS,IAAI,WAC3C,kBACNE,GAAsBL,IAAWD,CAAgB,MAC7CI,KACA,IAAIA,GAAK,SAAS,MAAMA,GAAK,KAAK,SAAS,IAAI,WAAW,MAC5D,QAAQ;AAAA,UACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UACAJ;AAAA,UACAC;AAAA,UACAG;AAAA,UACAH;AAAA,QACD,GACAK,GAAsBL,IAAWD,CAAgB,IAAI;AAAA,MAChE;AAMM,UALAC,IAAW,MACAjD,MAAX,WACGoB,EAAuBpB,CAAQ,GAAIiD,IAAW,KAAKjD,IACtD8B,EAAY/B,CAAM,MACfqB,EAAuBrB,EAAO,GAAG,GAAIkD,IAAW,KAAKlD,EAAO,MAC3D,SAASA,GAAQ;AACnB,QAAAC,IAAW,CAAE;AACb,iBAASE,MAAYH;AACnB,UAAUG,OAAV,UAAuBF,EAASE,EAAQ,IAAIH,EAAOG,EAAQ;AAAA,MAC9D,MAAM,CAAAF,IAAWD;AAClB,aAAAkD,KACEhB;AAAA,QACEjC;AAAA,QACe,OAAOF,KAAtB,aACIA,EAAK,eAAeA,EAAK,QAAQ,YACjCA;AAAA,MACL,GACI2C;AAAA,QACL3C;AAAA,QACAmD;AAAA,QACAP;AAAA,QACAC;AAAA,QACAjB,EAAU;AAAA,QACV1B;AAAA,QACA6C;AAAA,QACAC;AAAA,MACD;AAAA,IACP;AACI,aAASK,EAAkBI,GAAM;AAC/B,MAAa,OAAOA,KAApB,YACWA,MAAT,QACAA,EAAK,aAAa5D,KAClB4D,EAAK,WACJA,EAAK,OAAO,YAAY;AAAA,IACjC;AACI,QAAIC,IAAQC,IACV9D,IAAqB,OAAO,IAAI,4BAA4B,GAC5DgB,IAAoB,OAAO,IAAI,cAAc,GAC7Cf,IAAsB,OAAO,IAAI,gBAAgB,GACjDW,IAAyB,OAAO,IAAI,mBAAmB,GACvDD,IAAsB,OAAO,IAAI,gBAAgB,GAE/CO,IAAsB,OAAO,IAAI,gBAAgB,GACnDD,IAAqB,OAAO,IAAI,eAAe,GAC/CE,IAAyB,OAAO,IAAI,mBAAmB,GACvDN,IAAsB,OAAO,IAAI,gBAAgB,GACjDC,IAA2B,OAAO,IAAI,qBAAqB,GAC3DO,IAAkB,OAAO,IAAI,YAAY,GACzCC,IAAkB,OAAO,IAAI,YAAY,GACzCP,IAAsB,OAAO,IAAI,gBAAgB,GACjDL,KAAyB,OAAO,IAAI,wBAAwB,GAC5DuB,IACE4B,EAAM,iEACRzB,IAAiB,OAAO,UAAU,gBAClCmB,KAAc,MAAM,SACpBQ,KAAa,QAAQ,aACjB,QAAQ,aACR,WAAY;AACV,aAAO;AAAA,IACR;AACP,IAAAF,IAAQ;AAAA,MACN,4BAA4B,SAAUG,GAAmB;AACvD,eAAOA,EAAmB;AAAA,MAClC;AAAA,IACK;AACD,QAAItB,IACAG,KAAyB,CAAE,GAC3BoB,KAAyBJ,EAAM,0BAA0B,EAAE;AAAA,MAC7DA;AAAA,MACA3B;AAAA,IACN,EAAO,GACCgC,KAAwBH,GAAWlC,EAAYK,CAAY,CAAC,GAC5DyB,KAAwB,CAAE;AAC9B,IAAAQ,GAAA,WAAmBlE,GACnBkE,GAAW,MAAG,SAAUhE,GAAMC,GAAQC,GAAU2C,GAAQD,GAAM;AAC5D,UAAIqB,IACF,MAAMnC,EAAqB;AAC7B,aAAOmB;AAAA,QACLjD;AAAA,QACAC;AAAA,QACAC;AAAA,QACA;AAAA,QACA2C;AAAA,QACAD;AAAA,QACAqB,IACI,MAAM,uBAAuB,IAC7BH;AAAA,QACJG,IAAmBL,GAAWlC,EAAY1B,CAAI,CAAC,IAAI+D;AAAA,MACpD;AAAA,IACF,GACDC,GAAY,OAAG,SAAUhE,GAAMC,GAAQC,GAAU2C,GAAQD,GAAM;AAC7D,UAAIqB,IACF,MAAMnC,EAAqB;AAC7B,aAAOmB;AAAA,QACLjD;AAAA,QACAC;AAAA,QACAC;AAAA,QACA;AAAA,QACA2C;AAAA,QACAD;AAAA,QACAqB,IACI,MAAM,uBAAuB,IAC7BH;AAAA,QACJG,IAAmBL,GAAWlC,EAAY1B,CAAI,CAAC,IAAI+D;AAAA,MACpD;AAAA,IACF;AAAA,EACL,EAAM;;;;wBCnWF,QAAQ,IAAI,aAAa,eAC3BG,GAAA,UAAiBP,GAAgD,IAEjEO,GAAA,UAAiBC,GAAiD;;;ACG7D,SAASC,EAAaC,GAAiC;AAmBrD,SAlBOA,EACX,IAAI,CAACC,MAAS;AACT,QAAA,OAAOA,KAAS;AAClB,aAAOA,EAAK,KAAK;AAEf,QAAA,OAAOA,KAAS,UAAU;AAC5B,YAAMC,IAAW,CAAC;AAClB,iBAAWpE,KAAOmE;AACZ,QAAAA,EAAKnE,CAAG,KACDoE,EAAA,KAAKpE,EAAI,MAAM;AAIrB,aAAAoE,EAAS,KAAK,GAAG;AAAA,IAAA;AAAA,EAE3B,CAAA,EACA,OAAO,CAACD,MAAS,CAAC,CAACA,CAAI,EAEb,KAAK,GAAG;AACvB;;;;GChBME,KAA8D,CAAC;AAAA,EACnE,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,SAAAC,IAAU;AAAA,EACV,OAAAC;AACF,MAEIC,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,IAAIL;AAAA,IACJ,WAAWL,EAAa,CAACW,GAAO,cAAc,EAAE,CAACA,GAAO,qBAAqB,GAAGH,EAAQ,CAAC,CAAC;AAAA,IAC1F,eAAaF;AAAA,IACb,OAAAG;AAAA,IACA,eAAa,CAACD;AAAA,IAEb,UAAAD;AAAA,EAAA;AACH;AC1BJ,SAASK,GAAc,EAAE,OAAAC,GAAO,GAAGC,KAAkC;AACnE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,+JAA+J,CAAA;AAAA,EAAA,GACzK;AAEJ;ACPA,SAASM,GAAY,EAAE,OAAAH,GAAO,GAAGC,KAAkC;AACjE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,sIAAsI,CAAA;AAAA,EAAA,GAChJ;AAEJ;ACPA,SAASO,GAAS,EAAE,OAAAJ,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACvBH,gBAAAA,EAAA,IAAA,QAAA,EAAK,MAAK,QAAO,QAAO,gBAAe,eAAc,SAAQ,gBAAe,SAAQ,aAAa,IAAI,GAAE,2BAA2B,CAAA;AAAA,EAAA,GACrI;AAEJ;ACPA,SAASQ,GAAW,EAAE,OAAAL,GAAO,GAAGC,KAAkC;AAChE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,gBAAe,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACrF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,wYAAwY,CAAA;AAAA,EAAA,GAClZ;AAEJ;ACPA,SAASS,GAAoB,EAAE,OAAAN,GAAO,GAAGC,KAAkC;AACzE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACVA,SAASU,GAAsB,EAAE,OAAAP,GAAO,GAAGC,KAAkC;AAC3E,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACvBH,gBAAAA,EAAA,IAAA,QAAA,EAAK,MAAK,gBAAe,GAAE,6FAA6F,CAAA;AAAA,EAAA,GAC3H;AAEJ;ACPA,SAASW,GAAc,EAAE,OAAAR,GAAO,GAAGC,KAAkC;AACnE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,uLAAuL,CAAA;AAAA,EAAA,GACjM;AAEJ;ACPA,SAASY,GAAgB,EAAE,OAAAT,GAAO,GAAGC,KAAkC;AACrE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACVA,SAASa,GAAgB,EAAE,OAAAV,GAAO,GAAGC,KAAkC;AACrE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACVA,SAASc,GAAiB,EAAE,OAAAX,GAAO,GAAGC,KAAkC;AACtE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACVA,SAASe,GAAc,EAAE,OAAAZ,GAAO,GAAGC,KAAkC;AACnE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACvBH,gBAAAA,EAAA,IAAA,QAAA,EAAK,UAAS,WAAU,GAAE,kGAAkG,CAAA;AAAA,EAAA,GAC/H;AAEJ;ACPA,SAASgB,GAAU,EAAE,OAAAb,GAAO,GAAGC,KAAkC;AAC/D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACvBH,gBAAAA,EAAA,IAAA,QAAA,EACC,UAACA,gBAAAA,EAAA,IAAA,SAAA,CAAM,CAAA,GACT;AAAA,IACAA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,kdAAkd,CAAA;AAAA,EAAA,GAC5d;AAEJ;ACVA,SAASiB,GAAS,EAAE,OAAAd,GAAO,GAAGC,KAAkC;AAE5D,SAAAC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,QAAO;AAAA,MACP,eAAc;AAAA,MACd,gBAAe;AAAA,MACf,aAAa;AAAA,MACb,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,OAAM;AAAA,MACL,GAAGD;AAAA,MAEH,UAAA;AAAA,QAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,QACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,4FAA4F,CAAA;AAAA,QACpGA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,qDAAqD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC/D;AAEJ;AClBA,SAASkB,GAAQ,EAAE,OAAAf,GAAO,GAAGC,KAAkC;AAE3D,SAAAC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,QAAO;AAAA,MACP,eAAc;AAAA,MACd,gBAAe;AAAA,MACf,aAAa;AAAA,MACb,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,OAAM;AAAA,MACN,MAAK;AAAA,MACJ,GAAGD;AAAA,MAEH,UAAA;AAAA,QAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,QACvBH,gBAAAA,EAAA,IAAA,QAAA,EAAK,QAAO,QAAO,GAAE,iBAAgB;AAAA,QACtCA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,4DAA4D,CAAA;AAAA,QACpEA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,8DAA8D,CAAA;AAAA,QACtEA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,kCAAkC,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC5C;AAEJ;ACrBA,SAASmB,GAAW,EAAE,OAAAhB,GAAO,GAAGC,KAAkC;AAChE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,sVAAsV,CAAA;AAAA,EAAA,GAChW;AAEJ;ACPA,SAASoB,GAAa,EAAE,OAAAjB,GAAO,GAAGC,KAAkC;AAClE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,gTAAgT,CAAA;AAAA,EAAA,GAC1T;AAEJ;ACPA,SAASqB,GAAU,EAAE,OAAAlB,GAAO,GAAGC,KAAkC;AAC/D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,4BAA4B,CAAA;AAAA,IACpCA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,wRAAwR,CAAA;AAAA,EAAA,GAClS;AAEJ;ACRA,SAASsB,GAAY,EAAE,OAAAnB,GAAO,GAAGC,KAAkC;AACjE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACvBH,gBAAAA,EAAA,IAAA,QAAA,EAAK,MAAK,QAAO,QAAO,gBAAe,eAAc,SAAQ,gBAAe,SAAQ,aAAa,IAAI,GAAE,2BAA2B,CAAA;AAAA,EAAA,GACrI;AAEJ;ACPA,MAAMuB,KAAe,CAAC,EAAE,OAAApB,GAAO,GAAGC,EAAK,6BACpC,OAAI,EAAA,OAAM,OAAM,QAAO,OAAM,MAAK,gBAAe,SAAQ,eAAc,MAAK,OAAO,GAAGA,GACpF,UAAA;AAAA,EAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,EACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,shBAAshB,CAAA;AAAA,GAChiB;ACJF,SAASwB,GAAS,EAAE,OAAArB,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,2yBAA2yB,CAAA;AAAA,EAAA,GACrzB;AAEJ;ACPA,SAASyB,GAAS,EAAE,OAAAtB,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,klBAAklB,CAAA;AAAA,EAAA,GAC5lB;AAEJ;ACPA,MAAM0B,KAAW,CAAC,EAAE,OAAAvB,GAAO,GAAGC,EAAK,6BAChC,OAAI,EAAA,OAAM,OAAM,QAAO,OAAM,MAAK,gBAAe,SAAQ,iBAAgB,MAAK,OAAO,GAAGA,GACtF,UAAA;AAAA,EAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,EACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,wXAAwX,CAAA;AAAA,GAClY;ACJF,SAAS2B,GAAS,EAAE,OAAAxB,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,gLAAgL,CAAA;AAAA,IACxLA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,mIAAmI,CAAA;AAAA,EAAA,GAC7I;AAEJ;ACRA,MAAM4B,KAAY,CAAC,EAAE,OAAAzB,GAAO,GAAGC,EAAK,6BACjC,OAAI,EAAA,OAAM,OAAM,QAAO,OAAM,MAAK,gBAAe,SAAQ,iBAAgB,MAAK,OAAO,GAAGA,GACtF,UAAA;AAAA,EAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,EACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,gxBAAgxB,CAAA;AAAA,GAC1xB;ACJF,SAAS6B,GAAU,EAAE,OAAA1B,GAAO,GAAGC,KAAkC;AAC/D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,2OAA2O,CAAA;AAAA,EAAA,GACrP;AAEJ;ACPA,SAAS8B,GAAa,EAAE,OAAA3B,GAAO,GAAGC,KAAkC;AAClE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,MAAK,QAAO,QAAO,gBAAe,kBAAkB,IAAI,aAAa,IAAI,GAAE,kDAAkD,CAAA;AAAA,IACnIA,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,eAAc;AAAA,QACd,kBAAkB;AAAA,QAClB,aAAa;AAAA,QACb,GAAE;AAAA,MAAA;AAAA,IACJ;AAAA,IACAA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,4EAA4E,CAAA;AAAA,EAAA,GACtF;AAEJ;AChBA,SAAS+B,GAAW,EAAE,OAAA5B,GAAO,GAAGC,KAAkC;AAChE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,eAAc,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACpF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,gBAAe;AAAA,QACf,aAAa;AAAA,QACb,GAAE;AAAA,MAAA;AAAA,IACJ;AAAA,IACAA,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,eAAc;AAAA,QACd,gBAAe;AAAA,QACf,aAAa;AAAA,QACb,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;ACrBA,SAASgC,GAAS,EAAE,OAAA7B,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,iBAAgB,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GACtF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,ibAAib,CAAA;AAAA,EAAA,GAC3b;AAEJ;ACPA,SAASiC,GAAS,EAAE,OAAA9B,GAAO,GAAGC,KAAkC;AAC9D,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,wFAAwF,CAAA;AAAA,IAChGA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,oRAAoR,CAAA;AAAA,EAAA,GAC9R;AAEJ;ACRA,SAASkC,GAAW,EAAE,OAAA/B,GAAO,GAAGC,KAAkC;AAChE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,MAAK,gBAAe,SAAQ,aAAY,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACxBH,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,8HAA8H,CAAA;AAAA,IACtIA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,8HAA8H,CAAA;AAAA,EAAA,GACxI;AAEJ;ACRA,SAASmC,GAAY,EAAE,OAAAhC,GAAO,GAAGC,KAAkC;AACjE,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAAe,QAAO,OAAM,OAAM,OAAM,MAAK,OAAO,GAAGD,GAClF,UAAA;AAAA,IAASD,KAAAH,gBAAAA,EAAAA,IAAC,WAAO,UAAMG,EAAA,CAAA;AAAA,IACvBH,gBAAAA,EAAA,IAAA,QAAA,EAAK,MAAK,QAAO,GAAE,iBAAgB;AAAA,IACpCA,gBAAAA,EAAAA,IAAC,QAAK,EAAA,GAAE,0OAA0O,CAAA;AAAA,EAAA,GACpP;AAEJ;ACVY,IAAAoC,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,QAAQ,SACRA,EAAA,UAAU,WACVA,EAAA,OAAO,QACPA,EAAA,OAAO,QALGA,IAAAA,KAAA,CAAA,CAAA,GCAAC,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,OAAO,QACPA,EAAA,OAAO,QAHGA,IAAAA,KAAA,CAAA,CAAA,GCAAC,sBAAAA,OACVA,EAAA,YAAY,cACZA,EAAA,UAAU,YACVA,EAAA,OAAO,QACPA,EAAA,SAAS,UACTA,EAAA,kBAAkB,oBAClBA,EAAA,oBAAoB,sBACpBA,EAAA,YAAY,cACZA,EAAA,cAAc,gBACdA,EAAA,cAAc,gBACdA,EAAA,eAAe,iBACfA,EAAA,YAAY,cACZA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,MAAM,OACNA,EAAA,SAAS,UACTA,EAAA,WAAW,YACXA,EAAA,QAAQ,SACRA,EAAA,UAAU,WACVA,EAAA,WAAW,YACXA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,SAAS,UACTA,EAAA,UAAU,WACVA,EAAA,SAAS,UA/BCA,IAAAA,KAAA,CAAA,CAAA,GCAAC,uBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,SAAS,UACTA,EAAA,WAAW,YATDA,IAAAA,MAAA,CAAA,CAAA,GCAAC,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,aAAa,cAFHA,IAAAA,KAAA,CAAA,CAAA,GCAAC,sBAAAA,OACVA,EAAA,QAAQ,6BACRA,EAAA,OAAO,4BAFGA,IAAAA,KAAA,CAAA,CAAA,GCAAC,uBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,MAAM,OACNA,EAAA,IAAI,KACJA,EAAA,SAAS,UACTA,EAAA,KAAK,MALKA,IAAAA,MAAA,CAAA,CAAA;ACqCL,MAAMC,KAA0C;AAAA,EACrD,CAACL,EAAkB,SAAS,GAAGpC;AAAA,EAC/B,CAACoC,EAAkB,OAAO,GAAGhC;AAAA,EAC7B,CAACgC,EAAkB,IAAI,GAAG/B;AAAA,EAC1B,CAAC+B,EAAkB,MAAM,GAAG9B;AAAA,EAC5B,CAAC8B,EAAkB,eAAe,GAAG7B;AAAA,EACrC,CAAC6B,EAAkB,iBAAiB,GAAG5B;AAAA,EACvC,CAAC4B,EAAkB,SAAS,GAAG3B;AAAA,EAC/B,CAAC2B,EAAkB,WAAW,GAAG1B;AAAA,EACjC,CAAC0B,EAAkB,SAAS,GAAGvB;AAAA,EAC/B,CAACuB,EAAkB,WAAW,GAAGzB;AAAA,EACjC,CAACyB,EAAkB,YAAY,GAAGxB;AAAA,EAClC,CAACwB,EAAkB,KAAK,GAAGtB;AAAA,EAC3B,CAACsB,EAAkB,IAAI,GAAGrB;AAAA,EAC1B,CAACqB,EAAkB,GAAG,GAAGpB;AAAA,EACzB,CAACoB,EAAkB,MAAM,GAAGnB;AAAA,EAC5B,CAACmB,EAAkB,QAAQ,GAAGlB;AAAA,EAC9B,CAACkB,EAAkB,KAAK,GAAGjB;AAAA,EAC3B,CAACiB,EAAkB,OAAO,GAAGhB;AAAA,EAC7B,CAACgB,EAAkB,QAAQ,GAAGf;AAAA,EAC9B,CAACe,EAAkB,IAAI,GAAGd;AAAA,EAC1B,CAACc,EAAkB,IAAI,GAAGb;AAAA,EAC1B,CAACa,EAAkB,IAAI,GAAGZ;AAAA,EAC1B,CAACY,EAAkB,IAAI,GAAGX;AAAA,EAC1B,CAACW,EAAkB,KAAK,GAAGV;AAAA,EAC3B,CAACU,EAAkB,KAAK,GAAGT;AAAA,EAC3B,CAACS,EAAkB,QAAQ,GAAGR;AAAA,EAC9B,CAACQ,EAAkB,IAAI,GAAGN;AAAA,EAC1B,CAACM,EAAkB,IAAI,GAAGL;AAAA,EAC1B,CAACK,EAAkB,MAAM,GAAGJ;AAAA,EAC5B,CAACI,EAAkB,OAAO,GAAGH;AAAA,EAC7B,CAACG,EAAkB,MAAM,GAAGP;AAC9B,GCjEMa,IAA8C,CAAC,EAAE,MAAA/F,GAAM,QAAA+C,GAAQ,GAAGQ,QAAW;AAC7E,MAAA,CAACvD,EAAa,QAAA;AACZ,QAAAgG,IAAYF,GAAwB9F,CAAI;AAE9C,SAAQmD,gBAAAA,EAAAA,IAAA6C,GAAA,EAAU,eAAajD,GAAS,GAAGQ,GAAM;AACnD;;GCGM0C,KAAoD,CAAC,EAAE,SAAAC,GAAS,OAAAC,GAAO,MAAAC,GAAM,UAAAC,QAE9ElD,gBAAAA,EAAA,IAAA,UAAA,EAAO,WAAWC,GAAO,aAAa,SAAA8C,GAAkB,cAAYC,GAAO,MAAK,UAAS,UAAAE,GACxF,UAAAlD,gBAAAA,EAAA,IAAC4C,GAAc,EAAA,MAAMK,EAAM,CAAA,GAC7B;;GCHEE,KAAmE,CAAC;AAAA,EACxE,OAAAH;AAAA,EACA,UAAAI;AAAA,EACA,SAAAC;AAAA,EACA,MAAAJ;AAAA,EACA,cAAAK;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,OAAAxD;AACF,MAAM;AACJ,QAAMyD,IAAoB,CAAC,CAACP,KAAQK,MAAiB,QAC/CG,IAAqB,CAAC,CAACR,KAAQK,MAAiB;AAEtD,gCACG,SAAM,EAAA,WAAWrD,GAAO,OAAO,SAASoD,GAAS,OAAAtD,GAC/C,UAAA;AAAA,IAAqByD,KAAAP;AAAA,IACrB,CAACM,KACAlD,gBAAAA,EAAAA,KAAC,QACE,EAAA,UAAA;AAAA,MAAA2C;AAAA,MACAI,KAAYpD,gBAAAA,EAAA,IAAC,QAAK,EAAA,OAAM,YAAW,UAAC,IAAA,CAAA;AAAA,IAAA,GACvC;AAAA,IAEDyD,KAAsBR;AAAA,EAAA,GACzB;AAEJ;AC7BO,SAASS,GAA8Bb,GAAmE;AACxG,SAAA,CAAC,EAAE,SAAAc,GAAS,WAAAC,GAAW,GAAGtG,EAAM,MACrCqG,KAAA,QAAAA,EAAS,SACN3D,gBAAAA,EAAA,IAAA6D,IAAA,EAAiB,gBAAgBF,GAAS,WAAAC,GACzC,UAAC5D,gBAAAA,EAAA,IAAA6C,GAAA,EAAW,GAAIvF,EAAa,CAAA,GAC/B,IAEA0C,gBAAAA,MAAC6C,GAAW,EAAA,GAAIvF,EAAa,CAAA;AAEnC;;;;;;;;;;ACjBO,SAASwG,GAAuBC,GAAY;AAC3C,QAAAC,IAAU,SAAS,eAAeD,CAAE;AAEtC,EAAAC,OAAiB,MAAM;AAC7B;ACCO,SAASC,GAA2B;AAAA,EACzC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AACF,GAIG;AACD,MAAIC,IAAoB;AAChB,EAAAF,EAAA,QAAQ,CAAC3H,MAAU;AAErB,IADY,SAAS,eAAeA,EAAM,EAAE,MAChC,SAAS,kBACvB6H,IAAY7H,EAAM;AAAA,EACpB,CACD;AAED,QAAM8H,IAAoBH,EAAQ,UAAU,CAAC3H,MAAUA,EAAM,OAAO6H,CAAS;AAE7E,UAAQ,EAAE,KAAK;AAAA,IACb,KAAK;AACH,QAAE,eAAe,GACTD,EAAA;AACR;AAAA,IACF,KAAK,WAAW;AACd,QAAE,eAAe;AACjB,YAAMG,IAAsBD,IAAoB,KAAK,IAAIA,IAAoB,IAAIH,EAAQ,SAAS,GAC5FK,IAAgBL,EAAQI,CAAmB;AAC7C,MAAAC,KAAsCT,GAAAS,EAAc,EAAE;AAC1D;AAAA,IAAA;AAAA,IAEF,KAAK;AAAA,IACL,KAAK,OAAO;AACV,QAAE,eAAe;AACjB,YAAMC,IAAkBH,MAAsBH,EAAQ,SAAS,IAAI,IAAIG,IAAoB,GACrFI,IAAYP,EAAQM,CAAe;AACrC,MAAAC,KAAkCX,GAAAW,EAAU,EAAE;AAClD;AAAA,IAAA;AAAA,EACF;AAEJ;ACrCA,MAAMC,KAAkD,CAAC;AAAA,EACvD,SAAA3B;AAAA,EACA,MAAA4B;AAAA,EACA,MAAA1B;AAAA,EACA,OAAAD;AAAA,EACA,UAAAE,IAAW;AAAA,EACX,UAAA0B,IAAW;AAAA,EACX,MAAA1J,IAAO;AAAA,EACP,MAAA2J,IAAOxC,EAAoB;AAAA,EAC3B,WAAAyC;AAAA,EACA,GAAG1E;AACL,MAAM;AACJ,QAAM2E,IAAmBzF,EAAa,CAACW,EAAO,SAAS6E,GAAW,EAAE,CAAC7E,EAAO,iBAAiB,GAAG2E,EAAU,CAAA,CAAC,GACrGI,IAAgB1F,EAAa,CAACW,EAAO,MAAM6E,CAAS,CAAC,GACrDG,IAAgB3F,EAAa,CAACW,EAAO,MAAMgD,CAAI,CAAC;AAEtD,UAAQ4B,GAAM;AAAA,IACZ,KAAKxC,EAAoB;AAErB,aAAAhC,gBAAAA,EAAA,KAAC,UAAO,EAAA,cAAY2C,GAAO,MAAA9H,GAAY,SAAA6H,GAAkB,UAAAG,GAAqB,GAAG9C,GAAM,WAAW2E,GAChG,UAAA;AAAA,QAAC/E,gBAAAA,EAAAA,IAAA,QAAA,EAAK,WAAWC,EAAO,eAAgB,CAAA;AAAA,QACvCD,gBAAAA,EAAAA,IAAA,QAAA,EAAK,WAAWC,EAAO,aAAc,CAAA;AAAA,QACrCI,gBAAAA,EAAA,KAAA,QAAA,EAAK,WAAWJ,EAAO,eACtB,UAAA;AAAA,UAACD,gBAAAA,EAAAA,IAAA4C,GAAA,EAAc,MAAMK,EAAM,CAAA;AAAA,UAC1B0B;AAAA,QAAA,EACH,CAAA;AAAA,MAAA,GACF;AAAA,IAEJ,KAAKtC,EAAoB;AAErB,aAAAhC,gBAAAA,EAAA,KAAC,UAAO,EAAA,cAAY2C,GAAO,MAAA9H,GAAY,SAAA6H,GAAkB,UAAAG,GAAqB,GAAG9C,GAAM,WAAW4E,GAChG,UAAA;AAAA,QAAChF,gBAAAA,EAAAA,IAAA4C,GAAA,EAAc,MAAMK,EAAM,CAAA;AAAA,QAC1B0B;AAAA,MAAA,GACH;AAAA,IAEJ,KAAKtC,EAAoB;AACvB,aACGrC,gBAAAA,EAAA,IAAA,UAAA,EAAO,cAAYgD,GAAO,MAAA9H,GAAY,SAAA6H,GAAkB,UAAAG,GAAqB,GAAG9C,GAAM,WAAW6E,GAChG,UAAAjF,gBAAAA,MAAC4C,GAAc,EAAA,MAAMK,EAAM,CAAA,GAC7B;AAAA,IAEJ;AACS,aAAA;AAAA,EAAA;AAEb,GAEeiC,KAAAxB,GAAYgB,EAAe,GC9C7BS,KAAkB,CAAC,EAAE,KAAAC,GAAK,uBAAAC,GAAuB,cAAAC,QAAgD;AAC5G,EAAAC,EAAU,MAAM;AACR,UAAAC,IAAqB,CAACC,MAAsB;AAC1C,YAAAC,KAAeN,KAAA,gBAAAA,EAAK,YAAW,CAACA,EAAI,QAAQ,SAASK,EAAM,MAAc,GACzEE,IAAyBL,KAAA,QAAAA,EAAc,UAAiB,CAACA,EAAa,QAAQ,SAASG,EAAM,MAAc,IAA1D;AACvD,MAAIC,KAAgBC,KACIN,EAAA;AAAA,IAE1B;AAES,oBAAA,iBAAiB,aAAaG,CAAkB,GAClD,MAAM;AACF,eAAA,oBAAoB,aAAaA,CAAkB;AAAA,IAC9D;AAAA,EACC,GAAA,CAACJ,GAAKE,GAAcD,CAAqB,CAAC;AAC/C,GCdaO,KAAyB,CAAC,EAAE,KAAAR,GAAK,WAAAS,QAA0D;AAChG,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAAqB,EAAE,OAAO,GAAG,QAAQ,GAAG;AAEhF,SAAAT,EAAU,MAAM;AACV,IAAAH,KAAA,QAAAA,EAAK,WAAWS,KACJE,EAAA;AAAA,MACZ,OAAOX,EAAI,QAAQ;AAAA,MACnB,QAAQA,EAAI,QAAQ;AAAA,IAAA,CACrB;AAAA,EACH,GACC,CAACA,GAAKS,CAAS,CAAC,GAEZC;AACT;ACpBO,SAASG,EAAclC,GAAa;AACzC,QAAMmC,IAAWC,GAAM,GACjBC,IAAYrC,KAAMmC,GAClBvG,IAAU,GAAGyG,CAAS,UACtBC,IAAa,GAAGD,CAAS;AAExB,SAAA;AAAA,IACL,WAAAA;AAAA,IACA,SAAAzG;AAAA,IACA,YAAA0G;AAAA,EACF;AACF;ACLO,MAAMC,KAAc,CAAC,EAAE,KAAAlB,GAAK,SAAAmB,GAAS,YAAAC,QAAoC;AAC9E,EAAAjB,EAAU,MAAM;AACR,UAAAkB,IAAiB,CAACC,MAAqB;AAC3C,OAAIA,KAAA,gBAAAA,EAAG,UAASH,MAAWnB,KAAA,QAAAA,EAAK,YACnBoB,EAAA;AAAA,IAEf;AAES,oBAAA,iBAAiB,WAAWC,GAAgB,EAAK,GACnD,MAAM;AACF,eAAA,oBAAoB,WAAWA,GAAgB,EAAK;AAAA,IAC/D;AAAA,EACC,GAAA,CAACrB,GAAKmB,GAASC,CAAU,CAAC;AAC/B,GCdaG,KAAoB,CAAC,EAAE,UAAAC,GAAU,UAAAC,QAAqC;AACjF,EAAAtB,EAAU,MAAM;AACd,UAAMuB,IAAeF,EAAS;AAC1B,QAAA,CAACC,KAAY,CAACC,EAAc;AAE1B,UAAAC,IAAoBD,EAAa,iBAAiB,0EAA0E,GAC5HE,IAAeD,EAAkB,CAAC,GAClCE,IAAcF,EAAkBA,EAAkB,SAAS,CAAC,GAE5DG,IAAoB,CAACzB,MAAyB;AAC9C,MAAAA,EAAM,QAAQ,UACZA,EAAM,YAAY,SAAS,kBAAkBuB,KAC/CvB,EAAM,eAAe,GACrBwB,EAAY,MAAM,KACT,CAACxB,EAAM,YAAY,SAAS,kBAAkBwB,MACvDxB,EAAM,eAAe,GACrBuB,EAAa,MAAM;AAAA,IAGzB;AAEa,WAAAF,EAAA,iBAAiB,WAAWI,CAAiB,GAEnD,MAAM;AACE,MAAAJ,EAAA,oBAAoB,WAAWI,CAAiB;AAAA,IAC/D;AAAA,EAAA,GACC,CAACN,GAAUC,CAAQ,CAAC;AACzB,GChCaM,KAAW,CAACN,GAAmBO,IAAgB,QAAiB;AAC3E,QAAM,CAACC,GAAWC,CAAY,IAAItB,EAAS,EAAK;AAEhD,SAAAT,EAAU,MAAM;AACV,IAAAsB,KAAY,CAACQ,IACfC,EAAa,EAAI,IACR,CAACT,KAAYQ,KACtB,WAAW,MAAM;AACf,MAAAC,EAAa,EAAK;AAAA,OACjBF,CAAK;AAAA,EACV,GACC,CAACP,CAAQ,CAAC,GAENQ;AACT,GCPaE,IAAuB3I,GAAM,cAAyC,CAAE,CAAA,GCDxE4I,KAAwBC,GAA0C;AAAA,EAC7E,MAAMhF,EAAmB;AAAA,EACzB,SAAS,MAAM;AAAA,EAAA;AACjB,CAAC,GCNYiF,KAAyF,CAAC,EAAE,UAAArJ,GAAU,cAAAsJ,QAAmB;AACpI,QAAM,CAACC,GAAMC,CAAO,IAAI7B,EAASvD,EAAmB,KAAK;AAEzD,SAAA8C,EAAU,MAAM;AACV,IAAAqC,KAAQ,OAAOA,KAAS,aAC1B,SAAS,KAAK,UAAU,OAAOnF,EAAmB,OAAOA,EAAmB,IAAI,GACvE,SAAA,KAAK,UAAU,IAAImF,CAAI;AAAA,EAClC,GACC,CAACA,CAAI,CAAC,GAETrC,EAAU,MAAM;AACV,IAAAoC,KAAgB,OAAOA,KAAiB,aAC1C,SAAS,KAAK,UAAU,OAAOlF,EAAmB,OAAOA,EAAmB,IAAI,GACvE,SAAA,KAAK,UAAU,IAAIkF,CAAY;AAAA,EAC1C,GACC,CAACA,CAAY,CAAC,GAEV3H,gBAAAA,EAAA,IAACwH,GAAsB,UAAtB,EAA+B,OAAO,EAAE,MAAAI,GAAM,SAAAC,KAAY,UAAAxJ,GAAS;AAC7E,GCpBayJ,KAAoB,CAACC,MAAwB;AACxD,QAAM,EAAE,aAAAC,EAAA,IAAgBC,EAAWV,CAAoB;AAEvD,EAAAhC,EAAU,MAAM;AACd,IAAIyC,KACMD,EAAA;AAAA,EACV,GACC,CAACC,GAAaD,CAAO,CAAC;AAC3B;ACPA,SAASG,KAAkC;AACzC,QAAM,EAAE,YAAYC,GAAO,aAAaC,EAAW,IAAA;AAE5C,SAAA,EAAE,OAAAD,GAAO,QAAAC,EAAO;AACzB;AAEO,SAASC,KAAkC;AAChD,QAAM,CAACC,GAAkBC,CAAmB,IAAIvC,EAAqBkC,IAAqB;AAE1F,SAAA3C,EAAU,MAAM;AACd,aAASiD,IAAe;AACtB,MAAAD,EAAoBL,IAAqB;AAAA,IAAA;AAGpC,kBAAA,iBAAiB,UAAUM,CAAY,GACvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY;AAAA,EAChE,GAAG,EAAE,GAEEF;AACT;ACXa,MAAAG,KAAqB,CAAC,EAAE,YAAAC,GAAY,YAAAC,GAAY,UAAA9B,GAAU,SAAA+B,IAAU,QAAkC;AAC3G,QAAA,CAACC,GAAUC,CAAW,IAAI9C,EAAS,EAAE,KAAK,GAAG,MAAM,GAAG,GACtD,EAAE,OAAO+C,GAAc,QAAQC,EAAA,IAAkBpD,GAAuB;AAAA,IAC5E,KAAK+C;AAAA,IACL,WAAW9B;AAAA,EAAA,CACZ,GACK,EAAE,OAAOoC,GAAa,QAAQC,EAAA,IAAiBb,GAAoB;AAEzE,SAAA9C,EAAU,MAAM;AACV,QAAAsB,MAAY6B,KAAA,QAAAA,EAAY,UAAS;AAC7B,YAAAS,IAAOT,KAAA,gBAAAA,EAAY,QAAQ;AAEjC,UAAIU,IAAM,KAAK,MAAMD,EAAK,SAASP,CAAO,GACtCS,IAAO,KAAK,MAAMF,EAAK,IAAI;AAG3B,MAAAC,IAAMJ,IAAgB,OAAO,gBAC/BI,IAAM,KAAK,MAAMD,EAAK,MAAMH,IAAgBJ,CAAO,IAEjDS,IAAON,IAAe,OAAO,eAC/BM,IAAO,KAAK,MAAM,OAAO,aAAaN,IAAeH,CAAO,IAE1DS,IAAO,MACFA,IAAAT,IAGGE,EAAA,EAAE,KAAAM,GAAK,MAAAC,GAAM;AAAA,IAAA;AAAA,EAC3B,GACC,CAACxC,GAAU6B,GAAYM,GAAeD,GAAcH,GAASK,GAAaC,CAAY,CAAC,GAEnFL;AACT,GCxCaS,KAAoB,MAAMrB,EAAWT,EAAqB;ACDhE,SAAS+B,GAAwB;AAAA,EACtC,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,MAAA5M;AACF,GAIY;AACV,SAAI4M,MAAiBA,KAAA,gBAAAA,EAAgB5M,QAAU,SACtC,CAAC,EAAC4M,KAAA,QAAAA,EAAgB5M,MAGpB,EAAQ2M;AACjB;ACVO,SAASE,GAA+B;AAAA,EAC7C,MAAA7M;AAAA,EACA,gBAAA2M;AAAA,EACA,UAAAG;AACF,GAIG;AACD,QAAM,EAAE,mBAAAC,GAAmB,eAAAH,MAAkBxB,EAAWV,CAAoB,GACtEsC,IAAeN,GAAwB,EAAE,eAAAE,GAAe,MAAA5M,GAAM,gBAAA2M,GAAgB,GAC9E,CAACM,GAAWC,CAAY,IAAI/D,EAAkB6D,CAAY,GAE1DG,IAAe,CAACtD,MAA2C;AACzD,UAAAuD,IAAUvD,EAAE,OAAO;AACzB,IAAAqD,EAAaE,CAAO,GACpBN,KAAA,QAAAA,EAAWjD,IACXkD,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAOoN,EAAA;AAAA,EACrC,GAEMC,IAAcC,GAAY,MAAM;AACpC,IAAAJ,EAAaF,CAAY,GACzBD,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAOgN,EAAA;AAAA,EAAc,GAChD,CAAChN,CAAI,CAAC;AAET,SAAAiL,GAAkBoC,CAAW,GAEtB;AAAA,IACL,cAAAF;AAAA,IACA,SAASF;AAAA,EACX;AACF;;;;;GC3BMM,KAAsD,CAAC;AAAA,EAC3D,MAAAvN;AAAA,EACA,OAAAmG;AAAA,EACA,UAAAE;AAAA,EACA,SAAAmH;AAAA,EACA,UAAAjH,IAAW;AAAA,EACX,cAAAE,IAAe;AAAA,EACf,gBAAAkG;AAAA,EACA,UAAAG;AAAA,EACA,IAAA5F;AAAA,EACA,WAAAe;AAAA,EACA,GAAG1E;AACL,MAAM;AACE,QAAA,EAAE,cAAA4J,GAAc,SAAAC,MAAYP,GAA+B,EAAE,MAAA7M,GAAM,gBAAA2M,GAAgB,UAAAG,GAAU,GAC7F,EAAE,WAAAvD,EAAA,IAAcH,EAAclC,CAAE,GAChCuG,IAAgBhL,EAAa;AAAA,IACjCW,GAAO;AAAA,IACP6E;AAAA,IACA;AAAA,MACE,CAAC7E,GAAO,kBAAkB,GAAG,CAAC,CAACiD;AAAA,MAC/B,CAACjD,GAAO,iBAAiB,GAAGgK;AAAA,IAAA;AAAA,EAC9B,CACD;AAED,SACG5J,gBAAAA,EAAAA,KAAA,OAAA,EAAK,GAAGD,GAAM,WAAWkK,GACxB,UAAA;AAAA,IAAAtK,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAIoG;AAAA,QACJ,MAAAvJ;AAAA,QACA,MAAK;AAAA,QACL,UAAAqG;AAAA,QACA,UAAAE;AAAA,QACA,SAAA6G;AAAA,QACA,UAAUD;AAAA,QACV,cAAYK,IAAUrH,IAAQ;AAAA,MAAA;AAAA,IAChC;AAAA,IACAhD,gBAAAA,EAAA;AAAA,MAACmD;AAAA,MAAA;AAAA,QACC,OAAAH;AAAA,QACA,UAAAI;AAAA,QACA,SAASgD;AAAA,QACT,cAAciE;AAAA,QACd,MAAMJ,IAAUjK,gBAAAA,EAAAA,IAACS,IAAoB,CAAA,CAAA,0BAAMC,IAAsB,EAAA;AAAA,QACjE,cAAA4C;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;;;;;;;;GCtCMiH,KAAqD,CAAC;AAAA,EAC1D,QAAAC;AAAA,EACA,SAAAzH;AAAA,EACA,YAAA0H;AAAA,EACA,YAAApE;AAAA,EACA,MAAAxJ;AAAA,EACA,aAAA6N;AAAA,EACA,UAAAxH;AAAA,EACA,UAAAE;AAAA,EACA,QAAAuH;AACF,MAAM;AACJ,QAAMC,IAAiBD,KAAA,gBAAAA,EAAQ,OAAO,CAACpO,MAAUA,EAAM,UAAU,IAAI,CAACA,MAAUA,EAAM,QAChFsO,IAAcF,KAAA,gBAAAA,EAAQ,OAAO,CAACpO,MAAUA,EAAM,UAAU,IAAI,CAACA,MAAUA,EAAM;AAC/E,MAAAuO,IAAkB9K,gBAAAA,EAAAA,IAAA,QAAA,EAAM,UAAY0K,EAAA,CAAA;AAEpC,SAAAE,KAAkBA,EAAe,SAAS,IAC5CE,IAAkB9K,gBAAAA,EAAAA,IAAA,QAAA,EAAM,UAAG,GAAA4K,EAAe,MAAM,mBAAkB,IACzDA,KAAkBA,EAAe,WAAW,MACrDE,IAAkB9K,gBAAAA,EAAA,IAAA,QAAA,EAAM,UAAe4K,EAAA,CAAC,GAAE,IAI1CvK,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,MAAAxD;AAAA,MACA,OAAOgO;AAAA,MACP,MAAK;AAAA,MACL,iBAAc;AAAA,MACd,iBAAeL;AAAA,MACf,iBAAenE;AAAA,MACf,IAAIoE;AAAA,MACJ,SAAA1H;AAAA,MACA,UAAAG;AAAA,MACA,iBAAeE;AAAA,MACf,WAAWnD,EAAO;AAAA,MAEjB,UAAA;AAAA,QAAA6K;AAAA,QACAN,IAASxK,gBAAAA,EAAA,IAACM,IAAY,CAAA,CAAA,0BAAMJ,IAAc,CAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC7C;AAEJ,GC9CM6K,KAAiD,CAAC,EAAE,OAAAxO,GAAO,UAAAyO,QAAe;AAC9E,QAAM,EAAE,IAAAjH,GAAI,OAAAf,GAAO,UAAAiI,EAAa,IAAA1O,GAC1B2O,IAAc5L,EAAa,CAACW,EAAO,QAAQA,EAAO,eAAe,EAAE,CAACA,EAAO,gBAAgB,GAAGgL,EAAU,CAAA,CAAC,GAEzGE,IAAgB,CAACpH,MAAe,CAAC2C,MAAoC;AACzE,YAAQA,EAAE,KAAK;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,QAAAA,EAAE,eAAe,GACjBsE,EAASjH,CAAE;AACX;AAAA,IAEA;AAAA,EAEN;AAGE,SAAA1D,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAA0D;AAAA,MACA,MAAK;AAAA,MACL,iBAAekH;AAAA,MACf,UAAU;AAAA,MACV,WAAWE,EAAcpH,CAAE;AAAA,MAC3B,SAAS,MAAMiH,EAASjH,CAAE;AAAA,MAC1B,WAAWmH;AAAA,MAEV,UAAA;AAAA,QAAAD,IAAYjL,gBAAAA,EAAA,IAAAS,IAAA,CAAA,CAAoB,IAAKT,gBAAAA,EAAA,IAACU,IAAsB,EAAA;AAAA,QAC7DV,gBAAAA,EAAAA,IAAC,UAAM,UAAMgD,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACf;AAEJ,GC7BMoI,KAA0D,CAAC,EAAE,SAAAlH,GAAS,QAAAsG,GAAQ,SAAArG,GAAS,UAAA6G,GAAU,YAAA3E,QAAiB;AACtH,QAAMgF,IAAgB/L,EAAa,CAACW,EAAO,UAAU,EAAE,CAACA,EAAO,gBAAgB,GAAGuK,EAAO,CAAC,CAAC;AAGzF,SAAAxK,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,IAAIqG;AAAA,MACJ,UAAU;AAAA,MACV,WAAW,CAACK,MAAMzC,GAA2B,EAAE,GAAAyC,GAAG,SAAAxC,GAAS,SAAAC,GAAS;AAAA,MACpE,WAAWkH;AAAA,MAEV,YAAQ,IAAI,CAAC7L,MACZQ,gBAAAA,EAAA,IAAC+K,MAA2B,OAAOvL,GAAM,UAAU,MAAMwL,EAASxL,EAAK,EAAE,EAAtD,GAAAA,EAAK,EAAoD,CAC7E;AAAA,IAAA;AAAA,EACH;AAEJ;AC5BO,SAAS8L,GAA4B;AAAA,EAC1C,MAAAzO;AAAA,EACA,SAAAqH;AAAA,EACA,eAAAuF;AAAA,EACA,cAAA8B;AACF,GAKgC;AACvB,SAAArH,EAAQ,IAAI,CAACsH,MAAW;AAC7B,QAAIP,IAAW;AAEX,WAAAxB,MAAiBA,KAAA,QAAAA,EAAgB5M,OAAS,MAAM,QAAQ4M,EAAc5M,CAAI,CAAC,KAEzD4M,EAAc5M,CAAI,EAAiB,KAAK,CAAC2C,MAASA,MAASgM,EAAO,OAAMhM,KAAA,gBAAAA,EAAM,QAAOgM,EAAO,EAAE,MACvFP,IAAA,KAGzB,EAACxB,KAAA,QAAAA,EAAgB5M,OAAS,MAAM,QAAQ0O,CAAY,KACnCA,EAAa,KAAK,CAAC/L,MAASA,MAASgM,EAAO,EAAE,MACtCP,IAAA,KAGtB,EAAE,GAAGO,GAAQ,UAAAP,EAAS;AAAA,EAAA,CAC9B;AACH;AAEa,MAAAQ,KAA2B,CAACvH,MAChCA,EAAQ,OAAO,CAAC1E,MAASA,EAAK,QAAQ,EAAE,IAAI,CAACA,MAASA,EAAK,EAAE,GAGzDkM,KAA8B,CAACxH,GAAsCH,MAA4C;AAC5H,QAAM4H,IAAazH,EAAQ,KAAK,CAAC1E,MAASA,EAAK,OAAOuE,CAAE;AACjD,SAAAG,EAAQ,IAAI,CAAC1E,MACXA,EAAK,OAAOuE,IAAK,EAAE,GAAGvE,GAAM,UAAU,EAACmM,KAAA,QAAAA,EAAY,UAAA,IAAanM,CACxE;AACH;ACjCO,SAASoM,GAAkC;AAAA,EAChD,MAAA/O;AAAA,EACA,cAAA0O;AAAA,EACA,UAAA5B;AAAA,EACA,SAAAzF;AACF,GAKG;AACD,QAAM,CAACsG,GAAQqB,CAAS,IAAI7F,EAAS,EAAK,GACpC,EAAE,mBAAA4D,GAAmB,eAAAH,MAAkBxB,EAAWV,CAAoB,GACtEuE,IAAiBR,GAA4B,EAAE,MAAAzO,GAAM,SAAAqH,GAAS,eAAAuF,GAAe,cAAA8B,GAAc,GAC3F,CAACZ,GAAQoB,CAAS,IAAI/F,EAAsC8F,CAAc,GAE1EE,IAAc,MAAMH,EAAU,EAAK,GAEnCI,IAAe,MAAMJ,EAAU,CAACrB,CAAM,GAEtC0B,IAAe,CAACnI,MAAe;AAC7B,UAAAoI,IAAYT,GAA4Bf,GAAQ5G,CAAE;AAExD,IAAAgI,EAAUI,CAAS,GACnBxC,KAAA,QAAAA,EAAWwC,IACXvC,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAO4O,GAAyBU,CAAS;EACvE,GAEMjC,IAAcC,GAAY,MAAM;AACpC,IAAA0B,EAAU,EAAK,GACfE,EAAUD,CAAc,GACxBlC,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAO4O,GAAyBK,CAAc;EAAG,GAC5E,CAACjP,CAAI,CAAC;AAET,SAAAiL,GAAkBoC,CAAW,GAEtB;AAAA,IACL,aAAA8B;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,QAAA1B;AAAA,IACA,QAAAG;AAAA,EACF;AACF;ACxCA,MAAMyB,KAA4D,CAAC;AAAA,EACjE,SAAAlI;AAAA,EACA,MAAArH;AAAA,EACA,OAAAmG;AAAA,EACA,UAAAI,IAAW;AAAA,EACX,aAAAsH,IAAc;AAAA,EACd,UAAAxH,IAAW;AAAA,EACX,UAAAyG;AAAA,EACA,cAAA4B;AAAA,EACA,IAAAxH;AAAA,EACA,WAAAe;AAAA,EACA,GAAG1E;AACL,MAAM;AACE,QAAAgF,IAAMiH,EAAO,IAAI,GACjB,EAAE,WAAAjG,GAAW,YAAAC,MAAeJ,EAAclC,CAAE,GAC5C,EAAE,aAAAiI,GAAa,cAAAE,GAAc,cAAAD,GAAc,QAAAzB,GAAQ,QAAAG,MAAWiB,GAAkC;AAAA,IACpG,MAAA/O;AAAA,IACA,SAAAqH;AAAA,IACA,cAAAqH;AAAA,IACA,UAAA5B;AAAA,EAAA,CACD,GACK2C,IAAmBhN,EAAa,CAACW,EAAO,SAAS6E,CAAS,CAAC;AAEjE,SAAAK,GAAgB,EAAE,KAAAC,GAAK,uBAAuB4G,EAAA,CAAa,GAC3D1F,GAAY,EAAE,SAAS,UAAU,KAAAlB,GAAK,YAAY4G,GAAa,0BAG5D,OAAI,EAAA,KAAA5G,GAAW,GAAGhF,GAAM,WAAWkM,GAClC,UAAA;AAAA,IAAAtM,gBAAAA,EAAA,IAACmD,IAAe,EAAA,OAAAH,GAAc,UAAAI,GAAoB,SAASgD,GAAW;AAAA,IACtEpG,gBAAAA,EAAA;AAAA,MAACuK;AAAAA,MAAA;AAAA,QACC,MAAA1N;AAAA,QACA,QAAA2N;AAAA,QACA,YAAYpE;AAAA,QACZ,YAAAC;AAAA,QACA,SAAS4F;AAAA,QACT,QAAAtB;AAAA,QACA,aAAAD;AAAA,QACA,UAAAxH;AAAA,QACA,UAAAE;AAAA,MAAA;AAAA,IACF;AAAA,IACApD,gBAAAA,EAAAA,IAACuM,MAAe,SAAS5B,GAAQ,QAAAH,GAAgB,SAASwB,GAAa,YAAA3F,GAAwB,UAAU6F,EAAc,CAAA;AAAA,EAAA,GACzH;AAEJ;ACnDO,SAASM,GAA4B;AAAA,EAC1C,MAAA3P;AAAA,EACA,eAAA4M;AAAA,EACA,cAAA8B;AACF,GAIW;AACL,SAAA9B,KAAiBA,EAAc5M,CAAI,IAC9B,OAAO4M,EAAc5M,CAAI,CAAC,IAG/B0O,KAAgB,OAAOA,KAAiB,WACnCA,IAGF;AACT;AAEO,SAASkB,GAA0B;AAAA,EACxC,OAAAlQ;AAAA,EACA,UAAA6G;AAAA,EACA,WAAAsJ;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AACF,GAMY;AACV,SAAIxJ,KAAY,CAACsJ,KAAanQ,MAAU,SAC/B,KAGLmQ,KAAa,OAAOA,KAAc,aAC7BA,EAAUnQ,CAAK,IAGpBoQ,KAAYC,KAAYrQ,KAAS,CAACmQ,IAC7BnQ,KAASoQ,KAAYpQ,KAASqQ,IAGhC;AACT;ACzCO,SAASC,GAAmC;AAAA,EACjD,MAAAhQ;AAAA,EACA,cAAA0O;AAAA,EACA,UAAA5B;AAAA,EACA,mBAAAmD;AAAA,EACA,KAAAC;AAAA,EACA,KAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAA7J;AAAA,EACA,WAAAsJ;AACF,GAUG;AACD,QAAM,EAAE,mBAAA9C,GAAmB,eAAAH,MAAkBxB,EAAWV,CAAoB,GACtEsC,IAAe2C,GAA4B,EAAE,eAAA/C,GAAe,cAAA8B,GAAc,MAAA1O,GAAM,GAChF8P,IAAWK,IAAM,OAAOA,CAAG,IAAI,OAAO,kBACtCJ,IAAWG,IAAM,OAAOA,CAAG,IAAI,OAAO,kBACtC,CAACxQ,GAAO2Q,CAAQ,IAAIlH,EAAiB6D,CAAY,GACjD,CAACsD,GAAOC,CAAQ,IAAIpH,EAAkB,EAAI,GAE1CqH,IAAc,CAAC9Q,MAAkB;AACrC,IAAA2Q,EAAS3Q,CAAK;AACR4Q,UAAAA,IAAQV,GAA0B,EAAE,OAAAlQ,GAAO,UAAA6G,GAAU,WAAAsJ,GAAW,UAAAC,GAAU,UAAAC,GAAU;AAC1F,IAAAQ,EAASD,CAAK,GACdvD,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAAN,GAAO,OAAA4Q;EACrC,GAEMnD,IAAe,CAACvE,MAA+C;AACnE,UAAMlJ,IAAQ,OAAOkJ,EAAM,OAAO,KAAK;AACvC,IAAA4H,EAAY9Q,CAAK,GACjBoN,KAAA,QAAAA,EAAWlE;AAAA,EACb,GAEM6H,IAAY,MAAM;AACtB,IAAAD,EAAY9Q,IAAQ0Q,CAAI,GACxBH,KAAA,QAAAA,EAAoBvQ,IAAQ0Q;AAAA,EAC9B,GAEMM,IAAY,MAAM;AACtB,IAAAF,EAAY9Q,IAAQ0Q,CAAI,GACxBH,KAAA,QAAAA,EAAoBvQ,IAAQ0Q;AAAA,EAC9B,GAEM/C,IAAcC,GAAY,MAAM;AACpC,IAAA+C,EAASrD,CAAY,GACrBuD,EAAS,EAAI,GACbxD,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAOgN,GAAc,OAAO;EAAM,GAC7D,CAAChN,CAAI,CAAC;AAET,SAAAiL,GAAkBoC,CAAW,GAEtB;AAAA,IACL,cAAAF;AAAA,IACA,OAAAzN;AAAA,IACA,OAAA4Q;AAAA,IACA,UAAAP;AAAA,IACA,UAAAD;AAAA,IACA,WAAAW;AAAA,IACA,WAAAC;AAAA,EACF;AACF;;;GClEMC,KAA8D,CAAC;AAAA,EACnE,MAAA3Q;AAAA,EACA,OAAAmG;AAAA,EACA,cAAAyK;AAAA,EACA,UAAA9D;AAAA,EACA,QAAA+D;AAAA,EACA,SAAAC;AAAA,EACA,mBAAAb;AAAA,EACA,WAAAJ;AAAA,EACA,KAAAK;AAAA,EACA,KAAAC;AAAA,EACA,IAAAjJ;AAAA,EACA,UAAA6J;AAAA,EACA,UAAA1K,IAAW;AAAA,EACX,UAAAE,IAAW;AAAA,EACX,UAAAyK,IAAW;AAAA,EACX,gBAAAC,IAAiB;AAAA,EACjB,cAAAvC,IAAe;AAAA,EACf,MAAA0B,IAAO;AAAA,EACP,WAAAnI;AAAA,EACA,GAAG1E;AACL,MAAM;AACJ,QAAM,EAAE,WAAAgG,GAAW,SAAAzG,MAAYsG,EAAclC,CAAE,GACzC,EAAE,OAAAxH,GAAO,OAAA4Q,GAAO,cAAAnD,GAAc,WAAAsD,GAAW,WAAAC,IAAW,UAAAX,GAAU,UAAAD,EAAS,IAAIE,GAAmC;AAAA,IAClH,MAAAhQ;AAAA,IACA,cAAA0O;AAAA,IACA,KAAAwB;AAAA,IACA,KAAAC;AAAA,IACA,UAAArD;AAAA,IACA,UAAAvG;AAAA,IACA,WAAAsJ;AAAA,IACA,MAAAO;AAAA,IACA,mBAAAH;AAAA,EAAA,CACD,GACKiB,KAAazO,EAAa,CAACW,GAAO,SAAS6E,CAAS,CAAC;AAE3D,SACGzE,gBAAAA,EAAAA,KAAA,OAAA,EAAK,GAAGD,GAAM,WAAW2N,IACxB,UAAA;AAAA,IAAA/N,gBAAAA,EAAA,IAACmD,IAAe,EAAA,OAAAH,GAAc,UAAAI,GAAoB,SAASgD,GAAW;AAAA,2BACrE,OACC,EAAA,UAAA;AAAA,MAAApG,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAIoG;AAAA,UACJ,MAAAvJ;AAAA,UACA,MAAK;AAAA,UACL,UAAAqG;AAAA,UACA,UAAAE;AAAA,UACA,UAAAyK;AAAA,UACA,aAAY;AAAA,UACZ,gBAAc,CAACV;AAAA,UACf,qBAAmBxN;AAAA,UACnB,OAAOpD,EAAM,SAAS;AAAA,UACtB,UAAUyN;AAAA,UACV,KAAK4C;AAAA,UACL,KAAKD;AAAA,UACL,MAAAM;AAAA,UACA,QAAAS;AAAA,UACA,SAAAC;AAAA,UACA,UAAAC;AAAA,QAAA;AAAA,MACF;AAAA,MACCE,4BACE,QACC,EAAA,UAAA;AAAA,QAAA9N,gBAAAA,EAAA;AAAA,UAACgO;AAAAA,UAAA;AAAA,YACC,SAAST;AAAA,YACT,OAAO,uBAAuBvK,CAAK;AAAA,YACnC,MAAMV,EAAkB;AAAA,YACxB,UAAAY;AAAA,UAAA;AAAA,QACF;AAAA,QACAlD,gBAAAA,EAAA;AAAA,UAACgO;AAAAA,UAAA;AAAA,YACC,SAASV;AAAA,YACT,OAAO,uBAAuBtK,CAAK;AAAA,YACnC,MAAMV,EAAkB;AAAA,YACxB,UAAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,EACF,CAAA;AAAA,IAAA,GAEJ;AAAA,0BACCxD,IAAsB,EAAA,SAAAC,GAAkB,SAAS8N,GAAc,SAAS,CAACN,EAAO,CAAA;AAAA,EAAA,GACnF;AAEJ,GCtEM5C,KAAgD,CAAC;AAAA,EACrD,QAAAC;AAAA,EACA,SAAAzH;AAAA,EACA,YAAA0H;AAAA,EACA,YAAApE;AAAA,EACA,UAAA4E;AAAA,EACA,MAAApO;AAAA,EACA,aAAA6N;AAAA,EACA,UAAAxH;AAAA,EACA,UAAAE;AACF,MAEI/C,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,MAAAxD;AAAA,IACA,OAAOoO,KAAA,gBAAAA,EAAU;AAAA,IACjB,MAAK;AAAA,IACL,iBAAc;AAAA,IACd,iBAAeT;AAAA,IACf,iBAAenE;AAAA,IACf,IAAIoE;AAAA,IACJ,SAAA1H;AAAA,IACA,UAAAG;AAAA,IACA,iBAAeE;AAAA,IACf,WAAWnD,EAAO;AAAA,IAEjB,UAAA;AAAA,MAAUgL,KAAA,QAAAA,EAAA,8BAAS,QAAM,EAAA,UAAAA,KAAA,gBAAAA,EAAU,MAAM,CAAA,IAAUjL,gBAAAA,EAAAA,IAAC,UAAM,UAAY0K,EAAA,CAAA;AAAA,MACtEF,IAASxK,gBAAAA,EAAA,IAACM,IAAY,CAAA,CAAA,0BAAMJ,IAAc,CAAA,CAAA;AAAA,IAAA;AAAA,EAAA;AAC7C,GCjCE6K,KAA4C,CAAC,EAAE,OAAAxO,GAAO,UAAA0O,GAAU,UAAAD,GAAU,SAAAiD,QAAc;AACtF,QAAA,EAAE,IAAAlK,GAAI,OAAAf,EAAA,IAAUzG,GAChB2O,IAAc5L,EAAa,CAACW,EAAO,QAAQ,EAAE,CAACA,EAAO,gBAAgB,GAAGgL,EAAS,CAAC,CAAC,GAEnFiD,IAAqB,CAACnK,MAAe;AACzC,IAAIkH,IACMgD,EAAA,IAERjD,EAASjH,CAAE;AAAA,EAEf,GAEMoH,IAAgB,CAACpH,MAAe,CAAC2C,MAAoC;AACzE,YAAQA,EAAE,KAAK;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,QAAAA,EAAE,eAAe,GACjBwH,EAAmBnK,CAAE;AACrB;AAAA,IAEA;AAAA,EAEN;AAGE,SAAA1D,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAA0D;AAAA,MACA,MAAK;AAAA,MACL,iBAAekH;AAAA,MACf,UAAU;AAAA,MACV,WAAWE,EAAcpH,CAAE;AAAA,MAC3B,SAAS,MAAMmK,EAAmBnK,CAAE;AAAA,MACpC,WAAWmH;AAAA,MAEX,UAAA;AAAA,QAAAlL,gBAAAA,EAAAA,IAAC,UAAM,UAAMgD,EAAA,CAAA;AAAA,QACZiI,2BAAatK,IAAc,CAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC9B;AAEJ,GCnCM4L,KAAgD,CAAC;AAAA,EACrD,SAAArI;AAAA,EACA,QAAAsG;AAAA,EACA,SAAArG;AAAA,EACA,UAAA6G;AAAA,EACA,YAAA3E;AAAA,EACA,YAAAoE;AAAA,EACA,UAAAQ;AAAA,EACA,SAAAgD;AACF,MAAM;AACE,QAAAC,IAAqB,CAACnK,MAAe;AACzC,IAAAiH,EAASjH,CAAE,GACHI,EAAA,GACRL,GAAuB2G,CAAU;AAAA,EACnC,GACMY,IAAgB/L,EAAa,CAACW,EAAO,UAAU,EAAE,CAACA,EAAO,gBAAgB,GAAGuK,EAAO,CAAC,CAAC;AAGzF,SAAAxK,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,IAAIqG;AAAA,MACJ,UAAU;AAAA,MACV,WAAW,CAACK,MAAMzC,GAA2B,EAAE,GAAAyC,GAAG,SAAAxC,GAAS,SAAAC,GAAS;AAAA,MACpE,WAAWkH;AAAA,MAEV,UAAAnH,EAAQ,IAAI,CAAC1E,MACZQ,gBAAAA,EAAA;AAAA,QAAC+K;AAAA,QAAA;AAAA,UAEC,OAAOvL;AAAA,UACP,UAAU,MAAM0O,EAAmB1O,EAAK,EAAE;AAAA,UAC1C,SAAAyO;AAAA,UACA,UAAUzO,EAAK,QAAOyL,KAAA,gBAAAA,EAAU;AAAA,QAAA;AAAA,QAJ3BzL,EAAK;AAAA,MAMb,CAAA;AAAA,IAAA;AAAA,EACH;AAEJ;ACnDO,SAAS2O,GAAsB;AAAA,EACpC,MAAAtR;AAAA,EACA,SAAAqH;AAAA,EACA,eAAAuF;AAAA,EACA,cAAA8B;AACF,GAKqC;;AAC/B,MAAA6C;AAEA,SAAA3E,KAAiBA,EAAc5M,CAAI,MACrCuR,MAAYC,IAAA5E,EAAc5M,CAAI,MAAlB,gBAAAwR,EAA8C,OAAkB5E,EAAc5M,CAAI,IAG5F,EAAC4M,KAAA,QAAAA,EAAgB5M,OAAS0O,KAAgB,OAAOA,KAAiB,aAC1D6C,IAAA7C,IAGLrH,EAAQ,KAAK,CAAC1E,MAASA,EAAK,OAAO4O,CAAO;AACnD;ACjBO,SAASE,GAA6B;AAAA,EAC3C,MAAAzR;AAAA,EACA,cAAA0O;AAAA,EACA,UAAA5B;AAAA,EACA,SAAAzF;AACF,GAKG;AACD,QAAM,EAAE,mBAAA0F,GAAmB,eAAAH,MAAkBxB,EAAWV,CAAoB,GACtEsC,IAAesE,GAAsB,EAAE,MAAAtR,GAAM,SAAAqH,GAAS,cAAAqH,GAAc,eAAA9B,GAAe,GACnF,CAACe,GAAQqB,CAAS,IAAI7F,EAAS,EAAK,GACpC,CAACiF,GAAUsD,CAAW,IAAIvI,EAA2C6D,CAAY,GAEjFmC,IAAc,MAAMH,EAAU,EAAK,GAEnCI,IAAe,MAAMJ,EAAU,CAACrB,CAAM,GAEtC0B,IAAe,CAACnI,MAAe;AACnC,UAAMyK,IAAWtK,EAAQ,KAAK,CAAC1E,MAASA,EAAK,OAAOuE,CAAE;AACtD,IAAAwK,EAAYC,CAAQ,GACpB7E,KAAA,QAAAA,EAAW6E,IACX5E,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAO2R,KAAA,gBAAAA,EAAU;EAC/C,GAEMC,IAAc,MAAM;AACxB,IAAAF,EAAY,MAAS,GACrB5E,KAAA,QAAAA,EAAW;AAAA,EACb,GAEMO,IAAcC,GAAY,MAAM;AACpC,IAAA0B,EAAU,EAAK,GACf0C,EAAY1E,CAAY,GACxBD,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAOgN,KAAA,gBAAAA,EAAc;EAAI,GACpD,CAAChN,CAAI,CAAC;AAET,SAAAiL,GAAkBoC,CAAW,GAEtB;AAAA,IACL,UAAAe;AAAA,IACA,QAAAT;AAAA,IACA,aAAAiE;AAAA,IACA,aAAAzC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,EACF;AACF;AC7CA,MAAMwC,KAAkD,CAAC;AAAA,EACvD,SAAAxK;AAAA,EACA,UAAAyF;AAAA,EACA,MAAA9M;AAAA,EACA,OAAAmG;AAAA,EACA,cAAAuI;AAAA,EACA,IAAAxH;AAAA,EACA,aAAA2G,IAAc;AAAA,EACd,UAAAtH,IAAW;AAAA,EACX,UAAAF,IAAW;AAAA,EACX,WAAA4B;AAAA,EACA,GAAG1E;AACL,MAAM;AACE,QAAAgF,IAAMiH,EAAuB,IAAI,GACjC,EAAE,WAAAjG,GAAW,YAAAC,MAAeJ,EAAclC,CAAE,GAC5C,EAAE,aAAA0K,GAAa,aAAAzC,GAAa,cAAAE,GAAc,cAAAD,GAAc,UAAAhB,GAAU,QAAAT,MAAW8D,GAA6B;AAAA,IAC9G,SAAApK;AAAA,IACA,UAAAyF;AAAA,IACA,cAAA4B;AAAA,IACA,MAAA1O;AAAA,EAAA,CACD,GACK8R,IAAcrP,EAAa,CAACW,EAAO,SAAS6E,CAAS,CAAC;AAE5D,SAAAK,GAAgB,EAAE,KAAAC,GAAK,uBAAuB4G,EAAA,CAAa,GAC3D1F,GAAY,EAAE,SAAS,UAAU,KAAAlB,GAAK,YAAY4G,GAAa,0BAG5D,OAAI,EAAA,KAAA5G,GAAW,GAAGhF,GAAM,WAAWuO,GAClC,UAAA;AAAA,IAAA3O,gBAAAA,EAAA,IAACmD,IAAe,EAAA,OAAAH,GAAc,UAAAI,GAAoB,SAASgD,GAAW;AAAA,IACtEpG,gBAAAA,EAAA;AAAA,MAACuK;AAAA,MAAA;AAAA,QACC,MAAA1N;AAAA,QACA,QAAA2N;AAAA,QACA,YAAYpE;AAAA,QACZ,YAAAC;AAAA,QACA,SAAS4F;AAAA,QACT,UAAAhB;AAAA,QACA,aAAAP;AAAA,QACA,UAAAxH;AAAA,QACA,UAAAE;AAAA,MAAA;AAAA,IACF;AAAA,IACApD,gBAAAA,EAAA;AAAA,MAACuM;AAAA,MAAA;AAAA,QACC,SAAArI;AAAA,QACA,UAAA+G;AAAA,QACA,QAAAT;AAAA,QACA,SAASwB;AAAA,QACT,YAAA3F;AAAA,QACA,YAAYD;AAAA,QACZ,UAAU8F;AAAA,QACV,SAASuC;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GACF;AAEJ;AC5DO,SAASG,GAAuB;AAAA,EACrC,OAAArS;AAAA,EACA,UAAA6G;AAAA,EACA,WAAAsJ;AACF,GAIY;AACV,SAAItJ,KAAY,CAACsJ,KAAa,CAACnQ,EAAM,SAC5B,KAGLmQ,KAAa,OAAOA,KAAc,aAC7BA,EAAUnQ,CAAK,IAGpBmQ,KAAa,OAAOA,KAAc,WAC7B,IAAI,OAAOA,EAAU,QAAQA,KAAA,gBAAAA,EAAW,KAAK,EAAE,KAAKnQ,CAAK,IAG3D;AACT;AAEO,SAASsS,GAAyB;AAAA,EACvC,MAAAhS;AAAA,EACA,eAAA4M;AAAA,EACA,cAAA8B;AACF,GAIW;AACL,SAAA9B,MAAiBA,KAAA,QAAAA,EAAgB5M,MAC3B4M,EAAc5M,CAAI,EAAa,SAAS,IAG9C0O,KAAgB,OAAOA,KAAiB,WACnCA,IAGF;AACT;ACrCO,SAASuD,GAAgC;AAAA,EAC9C,MAAAjS;AAAA,EACA,cAAA0O;AAAA,EACA,UAAA5B;AAAA,EACA,SAAAsE;AAAA,EACA,UAAA7K;AAAA,EACA,WAAAsJ;AACF,GAOG;AACD,QAAM,EAAE,mBAAA9C,GAAmB,eAAAH,MAAkBxB,EAAWV,CAAoB,GACtEsC,IAAegF,GAAyB,EAAE,eAAApF,GAAe,cAAA8B,GAAc,MAAA1O,GAAM,GAC7E,CAACN,GAAO2Q,CAAQ,IAAIlH,EAAiB6D,CAAY,GACjD,CAACsD,GAAOC,CAAQ,IAAIpH,EAAkB,EAAI,GAC1C,CAAC+I,GAAeC,CAAgB,IAAIhJ,EAAkB,EAAK,GAE3DgE,IAAe,CAACvE,MAA+C;AAC7DlJ,UAAAA,IAAQkJ,EAAM,OAAO,OACrB0H,IAAQyB,GAAuB,EAAE,OAAArS,GAAO,UAAA6G,GAAU,WAAAsJ,GAAW;AAEnE,IAAAQ,EAAS3Q,CAAK,GACd6Q,EAASD,CAAK,GACdvD,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAAN,GAAO,OAAA4Q,MACnCxD,KAAA,QAAAA,EAAWlE;AAAA,EACb,GAEMgJ,IAAc,MAAM;AACxB,IAAAvB,EAAS,EAAE,GACXE,EAAS,EAAI,GACbxD,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAO,IAAI,OAAO,OACpCoR,KAAA,QAAAA;AAAA,EACZ,GAEM/D,IAAcC,GAAY,MAAM;AACpC,IAAA+C,EAASrD,CAAY,GACrBuD,EAAS,EAAI,GACbxD,KAAA,QAAAA,EAAoB,EAAE,MAAA/M,GAAM,OAAOgN,GAAc,OAAO;EAAM,GAC7D,CAAChN,CAAI,CAAC,GAEHoS,IAAiB,MAAM;AAC3B,IAAAD,EAAiB,CAACD,CAAa;AAAA,EACjC;AAEA,SAAAjH,GAAkBoC,CAAW,GAEtB;AAAA,IACL,OAAA3N;AAAA,IACA,OAAA4Q;AAAA,IACA,eAAA4B;AAAA,IACA,cAAA/E;AAAA,IACA,aAAAyE;AAAA,IACA,gBAAAQ;AAAA,EACF;AACF;;;GCxDMC,KAAwD,CAAC;AAAA,EAC7D,MAAArS;AAAA,EACA,OAAAmG;AAAA,EACA,cAAAyK;AAAA,EACA,cAAAlC;AAAA,EACA,UAAA5B;AAAA,EACA,QAAA+D;AAAA,EACA,SAAAC;AAAA,EACA,SAAAM;AAAA,EACA,WAAAvB;AAAA,EACA,WAAAyC;AAAA,EACA,IAAApL;AAAA,EACA,UAAA6J;AAAA,EACA,aAAAlD,IAAc;AAAA,EACd,UAAAxH,IAAW;AAAA,EACX,UAAAE,IAAW;AAAA,EACX,WAAAgM,IAAY;AAAA,EACZ,UAAAvB,IAAW;AAAA,EACX,cAAAwB,IAAe;AAAA,EACf,MAAAnU,IAAO;AAAA,EACP,WAAA4J;AAAA,EACA,GAAG1E;AACL,MAAM;AACE,QAAA,EAAE,OAAA7D,GAAO,OAAA4Q,GAAO,cAAAnD,GAAc,aAAAyE,GAAa,eAAAM,GAAe,gBAAAE,OAAmBH,GAAgC;AAAA,IACjH,cAAAvD;AAAA,IACA,MAAA1O;AAAA,IACA,UAAA8M;AAAA,IACA,SAAAsE;AAAA,IACA,UAAA7K;AAAA,IACA,WAAAsJ;AAAA,EAAA,CACD,GACK,EAAE,WAAAtG,GAAW,SAAAzG,MAAYsG,EAAclC,CAAE,GACzCuL,KAA0BpU,MAAS,YACnC6S,KAAazO,EAAa,CAACW,GAAO,MAAM6E,CAAS,CAAC;AAExD,SACGzE,gBAAAA,EAAAA,KAAA,OAAA,EAAK,GAAGD,GAAM,WAAW2N,IACxB,UAAA;AAAA,IAAA/N,gBAAAA,EAAA,IAACmD,IAAe,EAAA,OAAAH,GAAc,UAAAI,GAAoB,SAASgD,GAAW;AAAA,2BACrE,OACC,EAAA,UAAA;AAAA,MAAApG,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAIoG;AAAA,UACJ,MAAAvJ;AAAA,UACA,MAAMkS,IAAgB,SAAS7T;AAAA,UAC/B,UAAAgI;AAAA,UACA,aAAAwH;AAAA,UACA,UAAAtH;AAAA,UACA,UAAAyK;AAAA,UACA,cAAAwB;AAAA,UACA,gBAAc,CAAClC;AAAA,UACf,qBAAmBxN;AAAA,UACnB,iBAAekO;AAAA,UACf,OAAAtR;AAAA,UACA,UAAUyN;AAAA,UACV,WAAAmF;AAAA,UACA,QAAAzB;AAAA,UACA,SAAAC;AAAA,UACA,UAAAC;AAAA,QAAA;AAAA,MACF;AAAA,6BACC,QACE,EAAA,UAAA;AAAA,QACCwB,KAAApP,gBAAAA,EAAA;AAAA,UAACgO;AAAAA,UAAA;AAAA,YACC,SAASS;AAAA,YACT,OAAO,mBAAmBzL,CAAK;AAAA,YAC/B,MAAMV,EAAkB;AAAA,YACxB,UAAAY;AAAA,UAAA;AAAA,QACF;AAAA,QAEDoM,MACCtP,gBAAAA,EAAA;AAAA,UAACgO;AAAAA,UAAA;AAAA,YACC,SAASiB;AAAA,YACT,OAAM;AAAA,YACN,MAAMF,IAAgBzM,EAAkB,OAAOA,EAAkB;AAAA,YACjE,UAAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,EAEJ,CAAA;AAAA,IAAA,GACF;AAAA,0BACCxD,IAAsB,EAAA,SAAAC,GAAkB,SAAS8N,GAAc,SAAS,CAACN,EAAO,CAAA;AAAA,EAAA,GACnF;AAEJ;;;;;GCpFMoC,KAGD,CAAC,EAAE,OAAApP,GAAO,SAAAgE,QAEV9D,gBAAAA,EAAAA,KAAA,UAAA,EAAO,WAAWJ,GAAO,QACvB,UAAA;AAAA,EAAAE;AAAA,EACDH,gBAAAA,EAAAA,IAAC0E,IAAgB,EAAA,MAAMpC,EAAkB,QAAQ,MAAMD,EAAoB,MAAM,OAAM,sBAAqB,SAAS8B,EAAS,CAAA;AAAA,GAChI,GCDEqL,KAAoD,CAAC,EAAE,OAAArP,GAAO,SAAAgE,GAAS,UAAA0C,GAAU,UAAAxI,GAAU,GAAG+B,QAA+B;AAC3H,QAAAwG,IAAWyF,EAAuB,IAAI;AAE1B,SAAA1F,GAAA,EAAE,UAAAC,GAAU,UAAAC,GAAU,GACxCP,GAAY,EAAE,SAAS,UAAU,KAAKM,GAAU,YAAYzC,GAAS,GAGlE9D,gBAAAA,EAAAA,KAAA,OAAA,EAAI,KAAKuG,GAAU,MAAK,UAAS,cAAW,QAAQ,GAAGxG,GAAM,WAAWH,GAAO,QAC9E,UAAA;AAAA,IAACD,gBAAAA,EAAAA,IAAAuP,IAAA,EAA2B,OAAApP,GAAc,SAAAgE,EAAkB,CAAA;AAAA,IAC3DnE,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAWC,GAAO,SAAU,UAAA5B,EAAS,CAAA;AAAA,EAAA,GAC5C;AAEJ;;;GCfMoR,KAAkD,CAAC,EAAE,UAAA5I,GAAU,SAAA1C,GAAS,OAAAhE,GAAO,UAAA9B,GAAU,GAAG+B,QAAW;AACrG,QAAAiH,IAAYF,GAASN,CAAQ,GAC7B6I,IAAYrI,KAAa,CAACR;AAEhC,SAAKQ,IAKHrH,gBAAAA,EAAA,IAAC2P,IACC,EAAA,UAAA3P,gBAAAA,EAAA,IAAC,OAAI,EAAA,WAAWV,EAAa,CAACW,GAAO,QAAQ,EAAE,CAACA,GAAO,eAAe,GAAGyP,EAAA,CAAW,CAAC,GACnF,UAAA1P,gBAAAA,EAAAA,IAACwP,IAAqB,EAAA,OAAArP,GAAc,SAAAgE,GAAkB,UAAA0C,GAAqB,GAAGzG,GAC3E,UAAA/B,EACH,CAAA,EAAA,CACF,EACF,CAAA,IAVO;AAYX,GCvBauR,KAAgC,CAAC,EAAE,IAAA7L,QAA0B;AACxE,QAAM,CAAC8C,GAAUgJ,CAAW,IAAI7J,EAAS,EAAK,GACxC0C,IAAa2D,EAAO,IAAI,GACxB1D,IAAa0D,EAAuB,IAAI,GACxC,EAAE,KAAAjD,GAAK,MAAAC,MAASZ,GAAmB,EAAE,YAAAC,GAAY,YAAAC,GAAY,UAAA9B,GAAU,GACvE,EAAE,WAAAT,EAAA,IAAcH,EAAclC,CAAE,GAEhC+L,IAAe,MAAMD,EAAY,EAAK,GACtCE,IAAc,MAAMF,EAAY,EAAI,GACpCG,IAAgB,MAAMH,EAAY,CAAChJ,CAAQ,GAC3CoJ,IAAoB,CAACvJ,MAAwB;AACjD,IAAAA,EAAE,eAAe,GACHsJ,EAAA;AAAA,EAChB;AAEA,SAAA1J,GAAY,EAAE,SAAS,UAAU,KAAKqC,GAAY,YAAYmH,GAAc,GAC5E3K,GAAgB,EAAE,KAAKwD,GAAY,uBAAuBmH,GAAc,cAAcpH,GAAY,GAE3F;AAAA,IACL,WAAAtC;AAAA,IACA,aAAA2J;AAAA,IACA,cAAAD;AAAA,IACA,eAAAE;AAAA,IACA,mBAAAC;AAAA,IACA,KAAA7G;AAAA,IACA,MAAAC;AAAA,IACA,UAAAxC;AAAA,IACA,YAAA6B;AAAA,IACA,YAAAC;AAAA,EACF;AACF;;GCzBM9E,KAAoD,CAAC;AAAA,EACzD,UAAAxF;AAAA,EACA,gBAAA6R;AAAA,EACA,cAAAC,IAAezN,GAA0B;AAAA,EACzC,WAAAkB,IAAY;AAAA,EACZ,IAAAG;AAAA,EACA,OAAAhE;AAAA,EACA,WAAA+E;AAAA,EACA,GAAG1E;AACL,MAAM;AACJ,QAAMgQ,IAAqBD,GACrB,EAAE,aAAAJ,GAAa,cAAAD,GAAc,eAAAE,GAAe,mBAAAC,GAAmB,WAAA7J,GAAW,KAAAgD,GAAK,MAAAC,GAAM,UAAAxC,GAAU,YAAA6B,GAAY,YAAAC,EAAW,IAC1HiH,GAA8B,EAAE,IAAA7L,GAAI,GAChCsM,IAAe/Q,EAAa,CAACW,GAAO,SAAS6E,CAAS,CAAC;AAG3D,SAAAzE,gBAAAA,EAAA;AAAA,IAAC+P;AAAA,IAAA;AAAA,MACC,OAAO,EAAE,UAAU,YAAY,QAAQ,UAAU;AAAA,MACjD,SAASxM,MAAc,UAAUoM,IAAgB;AAAA,MACjD,aAAapM,MAAc,UAAUmM,IAAc;AAAA,MACnD,cAAcnM,MAAc,UAAUkM,IAAe;AAAA,MACrD,SAASlM,MAAc,UAAUmM,IAAc;AAAA,MAC/C,QAAQnM,MAAc,UAAUkM,IAAe;AAAA,MAC/C,eAAelM,MAAc,gBAAgB,CAAC8C,MAAwBuJ,EAAkBvJ,CAAC,IAAI;AAAA,MAC7F,UAAU;AAAA,MACV,KAAKgC;AAAA,MACL,oBAAkBtC;AAAA,MAEjB,UAAA;AAAA,QAAA/H;AAAA,QACAwI,2BACE8I,IACC,EAAA,UAAA3P,gBAAAA,EAAA,IAAC,SAAI,OAAO,EAAE,GAAGD,GAAO,KAAAqJ,GAAK,MAAAC,EAAA,GAAQ,KAAKV,GAAY,MAAK,WAAU,IAAIvC,GAAY,GAAGhG,GAAM,WAAWiQ,GACtG,UAAAH,EACH,CAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;;;;;;;;;;;;;;;;AC5CO,SAASI,GAA0BC,GAAwD;AAC5F,SAACA,IAEE,OAAO,KAAKA,CAAI,EAAE,IAAI,CAAClV,MAAQ,CAACA,GAAK,EAAI,CAAC,IAF/B,CAAC;AAGrB;AAEgB,SAAAmV,GAAsBC,GAAqCC,GAAgE;AACrI,UAAAA,KAAA,gBAAAA,EAAQ,WAAU,SAAkBD,IAEjCA,EAAM,IAAI,CAACjR,MACZA,EAAK,CAAC,MAAMkR,EAAO,OAAalR,IAC7B,CAACA,EAAK,CAAC,GAAG,CAAC,EAACkR,KAAA,QAAAA,EAAQ,MAAK,CACjC;AACH;AAEO,SAASC,GAAgBF,GAA8C;AAC5E,SAAOA,EAAM,MAAM,CAACjR,MAASA,EAAK,CAAC,CAAC;AACtC;ACdO,SAASoR,GAA2B;AAAA,EACzC,eAAAnH;AAAA,EACA,SAAA1B;AAAA,EACA,UAAA8I;AAAA,EACA,eAAAC;AACF,GAKG;AACD,QAAM,CAACC,GAAUC,CAAW,IAAIhL,EAASyD,CAAa,GAChD,CAACwH,GAAiBC,CAAkB,IAAIlL,EAASsK,GAA0B7G,CAAa,CAAC,GACzF,CAACzB,GAAamJ,CAAc,IAAInL,EAAS,CAAC;AAwBzC,SAAA;AAAA,IACL,mBAvBwB,CAAC0K,MAAqC;AACxD,YAAAU,IAAU,EAAE,GAAGL,GAAU,CAACL,EAAO,IAAI,GAAGA,EAAO,MAAM;AAC3D,MAAAM,EAAYI,CAAO,GACAF,EAAAV,GAAsBS,GAAiBP,CAAM,CAAC;AAAA,IACnE;AAAA,IAoBE,cAlBmB,CAACjL,MAAsC;AAC1D,MAAAA,EAAM,eAAe;AAGrB,YAAM4L,IAAa,EAAE,GADI,OAAO,YAAY,IAAI,SAAS5L,EAAM,MAAyB,CAAC,GAC/C,GAAGsL,EAAS;AAEtD,MAAAF,KAAA,QAAAA,EAAWpL,IACXqL,KAAA,QAAAA,EAAgBO;AAAA,IAClB;AAAA,IAWE,aATkB,CAAC5L,MAAsC;AACzD,MAAAsC,KAAA,QAAAA,EAAUtC,IACVuL,EAAYvH,CAAa,GACzB0H,EAAenJ,IAAc,CAAC;AAAA,IAChC;AAAA,IAME,aAAAA;AAAA,IACA,OAAO2I,GAAgBM,CAAe;AAAA,EACxC;AACF;ACxCA,MAAMK,KAA8C,CAAC;AAAA,EACnD,UAAAjT;AAAA,EACA,eAAAoL;AAAA,EACA,SAAA1B;AAAA,EACA,UAAA8I;AAAA,EACA,eAAAC;AAAA,EACA,SAAAS,IAAU;AAAA,EACV,UAAAC,IAAW;AAAA,EACX,WAAA1M;AAAA,EACA,GAAG1E;AACL,MAAM;AACJ,QAAM,EAAE,mBAAAqR,GAAmB,cAAAC,GAAc,aAAAxH,GAAa,aAAAlC,GAAa,OAAAmF,MAAUyD,GAA2B;AAAA,IACtG,eAAAnH;AAAA,IACA,SAAA1B;AAAA,IACA,UAAA8I;AAAA,IACA,eAAAC;AAAA,EAAA,CACD,GACKa,IAAgBJ,KAAW,KAAKA,KAAW,IAAIA,IAAU,GACzDK,IAAYtS,EAAa,CAACW,GAAO,MAAM6E,CAAS,CAAC;AAEvD,SACG9E,gBAAAA,EAAA,IAAA,QAAA,EAAK,UAAU0R,GAAc,SAASxH,GAAc,GAAG9J,GAAM,WAAW,GAAGwR,CAAS,IAAI3R,GAAO,WAAW0R,CAAa,EAAE,CAAC,IACzH,UAACtR,gBAAAA,EAAA,KAAAkH,EAAqB,UAArB,EAA8B,OAAO,EAAE,mBAAmBkK,GAAmB,eAAAhI,GAAe,aAAAzB,EAAA,GAC1F,UAAA;AAAA,IAAA3J;AAAA,IACAgC,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAW,GAAGJ,GAAO,OAAO,IAAIA,GAAO,WAAW0R,CAAa,EAAE,CAAC,IACpE,UAAA;AAAA,MAAYH,KAAAxR,gBAAAA,EAAAA,IAAC0E,IAAgB,EAAA,MAAK,SAAQ,MAAK,SAAQ,MAAMpC,EAAkB,OAAO,MAAMD,EAAoB,KAAM,CAAA;AAAA,MACtHrC,gBAAAA,EAAA,IAAA0E,IAAA,EAAgB,MAAK,UAAS,MAAK,UAAS,MAAMpC,EAAkB,SAAS,UAAU,CAACkP,GAAU,UAAU,CAACrE,EAAO,CAAA;AAAA,IAAA,EACvH,CAAA;AAAA,EAAA,EAAA,CACF,EACF,CAAA;AAEJ;ACrCO,SAAS0E,GAAiB;AAAA,EAC/B,MAAArS;AAAA,EACA,SAAA+R;AAAA,EACA,gBAAAO;AACF,GAIoC;AAClC,QAAMnH,IAAS,CAAC;AAChB,aAAWoH,KAAUR,GAAS;AACxB,QAAAhV;AAEJ,IAAIuV,KAAkBtS,EAAKuS,EAAO,KAAK,IAC7BxV,IAAAuV,EAAetS,GAAMuS,EAAO,KAAK,IAChCvS,EAAKuS,EAAO,KAAK,IAC1BxV,IAASiD,EAAKuS,EAAO,KAAK,EAAa,SAAS,IAExCxV,IAAA,IAGVoO,EAAO,KAAKpO,CAAK;AAAA,EAAA;AAGZ,SAAAoO;AACT;;;;;;;;;;;;;;;;;;GCzBMqH,KAAiE,CAAC,EAAE,OAAAzV,QAChEyD,gBAAAA,EAAA,IAAA,MAAA,EAAG,WAAWC,EAAO,WAAY,UAAM1D,GAAA,GCQ3C0V,KAAqD,CAAC;AAAA,EAC1D,MAAApV;AAAA,EACA,OAAAmG;AAAA,EACA,UAAAE;AAAA,EACA,UAAAE,IAAW;AAAA,EACX,UAAAuG;AAAA,EACA,SAAAM,IAAU;AAAA,EACV,GAAG3M;AACL,MAAM;AACJ,QAAM,EAAE,WAAA8I,EAAc,IAAAH,EAAc3I,KAAA,gBAAAA,EAAO,EAAE,GACvCgN,IAAgBhL,EAAa;AAAA,IACjCW,EAAO;AAAA,IACP;AAAA,MACE,CAACA,EAAO,kBAAkB,GAAG,CAAC,CAACiD;AAAA,MAC/B,CAACjD,EAAO,iBAAiB,GAAGgK;AAAA,IAAA;AAAA,EAC9B,CACD;AAGC,SAAA5J,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAWiK,GACd,UAAA;AAAA,IAAAtK,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAIoG;AAAA,QACJ,MAAAvJ;AAAA,QACA,MAAK;AAAA,QACL,UAAAqG;AAAA,QACA,UAAAE;AAAA,QACA,SAAA6G;AAAA,QACA,UAAAN;AAAA,QACA,WAAW1J,EAAO;AAAA,MAAA;AAAA,IACpB;AAAA,IACAD,gBAAAA,EAAA;AAAA,MAACmD;AAAA,MAAA;AAAA,QACC,OAAAH;AAAA,QACA,UAAAI;AAAA,QACA,SAASgD;AAAA,QACT,cAAc;AAAA,QACd,cAAa;AAAA,QACb,MAAM6D,IAAUjK,gBAAAA,MAACS,IAAoB,CAAA,CAAA,0BAAMC,IAAsB,CAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACnE,GACF;AAEJ,GCxCMwR,KAAyD,CAAC,EAAE,OAAAC,GAAO,eAAAC,GAAe,eAAAC,GAAe,iBAAAC,GAAiB,UAAApP,QAAe;AAC/H,QAAAqP,IAAmB,CAAC7L,MAA2C;AAC7D,UAAA,EAAE,SAAAuD,MAAYvD,EAAE;AACtB,IAAIuD,IACFoI,EAAcF,CAAK,IAEnBG,EAAgBH,CAAK;AAAA,EAEzB;AAEA,+BACG,MAAG,EAAA,WAAWlS,EAAO,WACpB,UAAAD,gBAAAA,EAAA,IAACiS,MAAa,OAAM,cAAa,UAAUM,GAAkB,IAAI,cAAcJ,CAAK,IAAI,SAASC,GAAe,UAAAlP,EAAoB,CAAA,GACtI;AAEJ,GCXMsP,KAAkC,CAAC,EAAE,OAAAL,GAAO,eAAAE,GAAe,iBAAAC,GAAiB,YAAAG,GAAY,QAAA9H,GAAQ,aAAAE,GAAa,UAAA3H,QAAe;AAC1H,QAAA+H,IAAWJ,EAAY,SAASsH,CAAK;AAE3C,SACG9R,gBAAAA,EAAA,KAAA,MAAA,EAAG,WAAWf,EAAa,CAACW,EAAO,UAAU,EAAE,CAACA,EAAO,kBAAkB,GAAGgL,EAAS,CAAC,CAAC,GACrF,UAAA;AAAA,IACCwH,KAAAzS,gBAAAA,EAAA;AAAA,MAACkS;AAAA,MAAA;AAAA,QACC,OAAAC;AAAA,QACA,eAAAE;AAAA,QACA,iBAAAC;AAAA,QACA,eAAerH;AAAA,QACf,UAAA/H;AAAA,MAAA;AAAA,IACF;AAAA,IAEDyH,EAAO,IAAI,CAACpO,GAAOmW,MACjB1S,gBAAAA,EAAA,IAAAgS,IAAA,EAAkC,OAAAzV,EAAhB,GAAA,OAAOmW,CAAK,EAAkB,CAClD;AAAA,EAAA,GACH;AAEJ,GCnBMC,KAAsD,CAAC;AAAA,EAC3D,eAAAN;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAR;AAAA,EACA,aAAAjH;AAAA,EACA,YAAA4H;AAAA,EACA,MAAAlC;AAAA,EACA,SAAAgB;AACF,MAEIvR,gBAAAA,MAAC,WAAM,WAAWC,EAAO,WACtB,UAAKsQ,EAAA,IAAI,CAAC/Q,MAAS;AAClB,QAAMmL,IAASkH,GAAiB,EAAE,MAAArS,GAAM,SAAA+R,GAAS,gBAAAO,GAAgB;AAE/D,SAAA9R,gBAAAA,EAAA;AAAA,IAACwS;AAAA,IAAA;AAAA,MAEC,OAAOhT,EAAK;AAAA,MACZ,UAAUA,KAAA,gBAAAA,EAAM;AAAA,MAChB,eAAA6S;AAAA,MACA,iBAAAC;AAAA,MACA,YAAAG;AAAA,MACA,QAAA9H;AAAA,MACA,aAAAE;AAAA,IAAA;AAAA,IAPKrL,EAAK;AAAA,EAQZ;AAEH,CAAA,GACH,GCrCEoT,KAAqF,CAAC,EAAE,SAAArB,GAAS,YAAAkB,+BAElG,YACE,EAAA,UAAA;AAAA,EAAcA,KAAAzS,gBAAAA,EAAA,IAAC,OAAI,EAAA,WAAWV,EAAa,CAACW,EAAO,aAAaA,EAAO,kBAAkB,CAAC,EAAG,CAAA;AAAA,EAC7FsR,EAAQ,IAAI,CAACQ,GAAQW,MACpB1S,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAWV,EAAa;AAAA,QACtBW,EAAO;AAAA,QACP8R,KAAA,gBAAAA,EAAQ;AAAA,QACR;AAAA,UACE,CAAC9R,EAAO,kBAAkB,GAAGyS,MAAU,KAAK,CAACD;AAAA,UAC7C,CAACxS,EAAO,wBAAwB,GAAG,CAAC,EAAC8R,KAAA,QAAAA,EAAQ;AAAA,QAAA;AAAA,MAEhD,CAAA;AAAA,IAAA;AAAA,IARIA,KAAA,gBAAAA,EAAQ;AAAA,EAUhB,CAAA;AAAA,GACH,GCnBEc,KAA+E,CAAC,EAAE,OAAA1S,GAAO,WAAA2S,8BACrF,MAAG,EAAA,WAAW7S,EAAO,aAAc,UAAA6S,KAAa3S,KAAS,IAAG,GCQhE4S,KAAyD,CAAC,EAAE,QAAAC,GAAQ,eAAAC,GAAe,WAAAC,GAAW,aAAAC,GAAa,UAAAjQ,QAAe;AACxH,QAAAkQ,IAAkB,CAAC1M,MAA2C;AAC5D,UAAA,EAAE,SAAAuD,MAAYvD,EAAE;AACtB,IAAIuD,IACQiJ,EAAA,IAEEC,EAAA;AAAA,EAEhB;AAEA,SACGnT,gBAAAA,EAAAA,IAAA,MAAA,EAAG,WAAWC,EAAO,aACpB,UAAAD,gBAAAA,EAAA;AAAA,IAACiS;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,UAAUmB;AAAA,MACV,IAAI,cAAcJ,CAAM;AAAA,MACxB,SAASC;AAAA,MACT,UAAA/P;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,GCjBMmQ,KAAsD,CAAC;AAAA,EAC3D,SAAA9B;AAAA,EACA,QAAAyB;AAAA,EACA,WAAAE;AAAA,EACA,aAAAC;AAAA,EACA,YAAAV;AAAA,EACA,eAAAQ;AAAA,EACA,uBAAAK,IAAwB;AAC1B,MAEItT,gBAAAA,EAAA,IAAC,WAAM,WAAWC,EAAO,QACvB,UAACI,gBAAAA,EAAA,KAAA,MAAA,EAAG,WAAWJ,EAAO,YACnB,UAAA;AAAA,EACCwS,KAAAzS,gBAAAA,EAAA;AAAA,IAAC+S;AAAA,IAAA;AAAA,MACC,eAAAE;AAAA,MACA,UAAUK;AAAA,MACV,QAAAN;AAAA,MACA,WAAAE;AAAA,MACA,aAAAC;AAAA,IAAA;AAAA,EACF;AAAA,EAED5B,EAAQ,IAAI,CAACQ,MACX/R,gBAAAA,EAAAA,IAAA6S,IAAA,EAAiD,OAAOd,EAAO,OAAO,WAAWA,EAAO,aAApE,GAAGA,EAAO,KAAK,IAAIiB,CAAM,EAAsD,CACrG;AAAA,EAAA,CACH,EACF,CAAA,GCrCSO,KAA6B,CAAC;AAAA,EACzC,MAAAhD;AAAA,EACA,IAAAxM;AAAA,EACA,UAAAiH;AACF,MAIM;AACJ,QAAM,EAAE,WAAA5E,EAAA,IAAcH,EAAclC,CAAE,GAChC,CAAC8G,GAAa2I,CAAc,IAAIxN,EAAmB,CAAA,CAAE,GACrDyN,IAASlD,EAAK,IAAI,CAAC/Q,MAASA,EAAK,EAAE,GACnCyT,IAAgBQ,EAAO,WAAW5I,EAAY,QAC9CyI,IAAwB/C,EAAK,KAAK,CAAC/Q,MAASA,KAAA,gBAAAA,EAAM,QAAQ,GAE1D0M,IAAe,CAACwH,MAAkB;AACtC,IAAAF,EAAeE,CAAG,GAClB1I,KAAA,QAAAA,EAAW0I;AAAA,EACb;AAmBO,SAAA;AAAA,IACL,WAAAtN;AAAA,IACA,eAAA6M;AAAA,IACA,uBAAAK;AAAA,IACA,aAAAzI;AAAA,IACA,iBAtBsB,MAAM;AAC5B,MAAAqB,EAAauH,CAAM;AAAA,IACrB;AAAA,IAqBE,mBAnBwB,MAAM;AAC9B,MAAAvH,EAAa,CAAA,CAAE;AAAA,IACjB;AAAA,IAkBE,qBAhB0B,CAACnI,MAAe;AAC1C,YAAM4P,IAAS,CAAC,GAAG9I,GAAa9G,CAAE;AAClC,MAAAmI,EAAayH,CAAM;AAAA,IACrB;AAAA,IAcE,uBAZ4B,CAAC5P,MAAe;AAC5C,YAAM4P,IAAS9I,EAAY,OAAO,CAACrL,MAASA,MAASuE,CAAE;AACvD,MAAAmI,EAAayH,CAAM;AAAA,IACrB;AAAA,EAUA;AACF,GC1CMC,KAA8C,CAAC;AAAA,EACnD,SAAArC;AAAA,EACA,MAAAhB;AAAA,EACA,IAAAxM;AAAA,EACA,UAAAiH;AAAA,EACA,gBAAA8G;AAAA,EACA,SAAA+B;AAAA,EACA,YAAApB,IAAa;AAAA,EACb,WAAA3N;AAAA,EACA,GAAG1E;AACL,MAAM;AACE,QAAA;AAAA,IACJ,WAAAgG;AAAA,IACA,iBAAAgN;AAAA,IACA,mBAAAU;AAAA,IACA,uBAAAR;AAAA,IACA,eAAAL;AAAA,IACA,uBAAAc;AAAA,IACA,qBAAAC;AAAA,IACA,aAAAnJ;AAAA,MACE0I,GAA2B,EAAE,IAAAxP,GAAI,MAAAwM,GAAM,UAAAvF,GAAU;AAGnD,SAAA3K,gBAAAA,OAAC,SAAO,EAAA,GAAGD,GAAM,WAAWd,EAAa,CAACW,EAAO,MAAM6E,CAAS,CAAC,GAC9D,UAAA;AAAA,IAAA+O,KAAY7T,gBAAAA,EAAAA,IAAA,WAAA,EAAQ,WAAWC,EAAO,cAAe,UAAQ4T,GAAA;AAAA,IAC9D7T,gBAAAA,EAAAA,IAAC4S,IAAgB,EAAA,SAAArB,GAAkB,YAAAkB,EAAwB,CAAA;AAAA,IAC3DzS,gBAAAA,EAAA;AAAA,MAACqT;AAAA,MAAA;AAAA,QACC,QAAQjN;AAAA,QACR,SAAAmL;AAAA,QACA,YAAAkB;AAAA,QACA,WAAWW;AAAA,QACX,aAAaU;AAAA,QACb,eAAAb;AAAA,QACA,uBAAAK;AAAA,MAAA;AAAA,IACF;AAAA,IACAtT,gBAAAA,EAAA;AAAA,MAAC2S;AAAA,MAAA;AAAA,QACC,SAAApB;AAAA,QACA,MAAAhB;AAAA,QACA,YAAAkC;AAAA,QACA,eAAeuB;AAAA,QACf,iBAAiBD;AAAA,QACjB,aAAAlJ;AAAA,QACA,gBAAAiH;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;;;;;;;;GClDMmC,KAAW,CAAC,EAAE,MAAAzU,QAA4D;AAC9E,QAAM,EAAE,MAAAyD,GAAM,MAAAiR,GAAM,OAAAlR,GAAO,SAAA2K,GAAS,SAAA5K,GAAS,SAAAoR,MAAY3U,GAEnD4U,IAAcF,IACjBlU,gBAAAA,MAAA,KAAA,EAAE,MAAMkU,GAAM,QAAO,UAAS,KAAI,cAChC,UAAAlR,GACH,IAEAhD,gBAAAA,EAAA,IAAC,UAAM,UAAMgD,GAAA;AAGf,SACG3C,gBAAAA,EAAAA,KAAA,MAAA,EAAG,WAAWJ,EAAO,UAAU,UAAU,GAAG,MAAK,YAAW,SAAA0N,GAAkB,SAAA5K,GAAkB,aAAaoR,GAC5G,UAAA;AAAA,IAACnU,gBAAAA,EAAAA,IAAA4C,GAAA,EAAc,MAAMK,EAAM,CAAA;AAAA,IAC1BmR;AAAA,EAAA,GACH;AAEJ,GCPMC,KAAkC,CAAC,EAAE,MAAA7U,GAAM,iBAAA8U,GAAiB,eAAAC,GAAe,cAAAC,GAAc,MAAA5M,GAAM,UAAAvJ,QAAe;AAClH,QAAM,EAAE,MAAA4E,GAAM,MAAAiR,GAAM,OAAAlR,EAAU,IAAAxD,GACxB4F,IAAMiH,EAAO,IAAI,GACjB/G,IAAe+G,EAAO,IAAI,GAE1BoI,IAAcP,IACjB7T,gBAAAA,EAAA,KAAA,KAAA,EAAE,MAAM6T,GAAM,QAAO,UAAS,KAAI,cACjC,UAAA;AAAA,IAAClU,gBAAAA,EAAAA,IAAA4C,GAAA,EAAc,MAAMK,EAAM,CAAA;AAAA,IAC1BD;AAAA,EACH,EAAA,CAAA,2BAEC,QACC,EAAA,UAAA;AAAA,IAAChD,gBAAAA,EAAAA,IAAA4C,GAAA,EAAc,MAAMK,EAAM,CAAA;AAAA,IAC1BD;AAAA,EAAA,GACH,GAGImI,IAAgB,CAACzE,MAA0C;AAC/D,IAAAA,EAAE,gBAAgB,GACdA,EAAE,QAAQ,OACE6N,EAAA;AAAA,EAElB;AAOA,SAAApP,GAAgB,EAAE,KAAAC,GAAK,cAAAE,GAAc,uBALP,MAAM;AAC9B,IAAAsC,MAASpF,EAAyB,YACzBgS,EAAA;AAAA,EACf,EAEqC,CAAuB,GAG1DnU,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWJ,EAAO;AAAA,MAClB,UAAU;AAAA,MACV,MAAK;AAAA,MACL,iBAAc;AAAA,MACd,iBAAeqU;AAAA,MACf,WAAWnJ;AAAA,MACX,KAAA/F;AAAA,MAEA,UAAA;AAAA,QAAA/E,gBAAAA,EAAAA,KAAC,UAAK,WAAWJ,EAAO,MAAM,KAAKqF,GAAc,SAASiP,GACvD,UAAA;AAAA,UAAAE;AAAA,gCACA7R,GAAc,EAAA,MAAM0R,IAAkBhS,EAAkB,UAAUA,EAAkB,UAAW,CAAA;AAAA,QAAA,GAClG;AAAA,QACCgS,KAAmBjW;AAAA,MAAA;AAAA,IAAA;AAAA,EACtB;AAEJ,GClDMqW,KAAoC,CAAC,EAAE,MAAAlV,GAAM,MAAAoI,QAAW;;AACtD,QAAA+M,IAAS,GAACtG,IAAA7O,KAAA,gBAAAA,EAAM,gBAAN,QAAA6O,EAAmB,SAC7B,CAACiG,GAAiBM,CAAkB,IAAI5O,EAAS,EAAK,GACtD6O,IAAkBvV,EAAa;AAAA,IACnCW,EAAO;AAAA,IACP,EAAE,CAACA,EAAO,sBAAsB,GAAG2H,MAASpF,EAAyB,WAAW;AAAA,EAAA,CACjF;AAED,MAAImS;AACK,WAAA3U,gBAAAA,MAACiU,MAAS,MAAAzU,GAAY;AAG/B,QAAM+U,IAAgB,MAAM;AAC1B,IAAAK,EAAmB,CAACN,CAAe;AAAA,EACrC,GAEME,IAAe,MAAM;AACzB,IAAAI,EAAmB,EAAK;AAAA,EAC1B;AAEA,SACG5U,gBAAAA,EAAAA,IAAAqU,IAAA,EAAQ,MAAA7U,GAAY,iBAAA8U,GAAkC,eAAAC,GAA8B,cAAAC,GAA4B,MAAA5M,GAC/G,UAAA5H,gBAAAA,EAAA,IAAC,MAAG,EAAA,WAAW6U,GAAiB,MAAK,QAAO,cAAYrV,EAAK,OAC1D,WAAAsV,IAAAtV,KAAA,gBAAAA,EAAM,gBAAN,gBAAAsV,EAAmB,IAAI,CAACC,MAAW/U,gBAAAA,EAAAA,IAAA0U,IAAA,EAAS,MAAMK,GAAsB,MAAAnN,KAAVmN,EAAM,EAAgB,GACvF,CAAA,GACF;AAEJ,GCjCMC,KAA8C,CAAC,EAAE,OAAAC,GAAO,MAAArN,IAAOpF,EAAyB,UAAU,WAAAsC,GAAW,GAAG1E,QAAW;AAC/H,QAAM8U,IAAY5V,EAAa,CAACW,EAAO,SAAS6E,GAAW,EAAE,CAAC7E,EAAO,iBAAiB,GAAG2H,MAASpF,EAAyB,SAAU,CAAA,CAAC;AAEtI,+BACG,MAAI,EAAA,GAAGpC,GAAM,MAAK,WAAU,WAAW8U,GACrC,UAAAD,EAAM,IAAI,CAACzV,4BACTkV,IAAuB,EAAA,MAAAlV,GAAY,MAAAoI,KAArBpI,EAAK,EAA4B,CACjD,GACH;AAEJ,GCdMmQ,KAAkB,CAAC,EAAE,UAAAtR,QAAoE;AACvF,QAAA,CAAC8W,CAAS,IAAInP,EAAS,MAAM,SAAS,cAAc,KAAK,CAAC;AAEhE,SAAAT,EAAU,OAEC,SAAA,KAAK,YAAY4P,CAAS,GAG5B,MAAM;AACF,aAAA,KAAK,YAAYA,CAAS;AAAA,EACrC,IACC,CAACA,CAAS,CAAC,GAEPC,GAAS,aAAa/W,GAAU8W,CAAS;AAClD;;;;;;;;;;GCbME,KAGD,CAAC,EAAE,MAAAC,GAAM,eAAAC,QAAwC;;AAC9C,QAAAC,KAAUnH,IAAAiH,EAAK,KAAK,CAAC9V,MAASA,EAAK,OAAO+V,CAAa,MAA7C,gBAAAlH,EAAgD,SAC1DoH,IAAY,YAAYF,CAAa;AAGzC,SAAAvV,gBAAAA,EAAAA,IAAC,OAAI,EAAA,MAAK,YAAW,mBAAiBuV,GAAe,IAAIE,GAAW,WAAWxV,EAAO,YACnF,UACHuV,EAAA,CAAA;AAEJ,GCDME,KAAwD,CAAC;AAAA,EAC7D,OAAAvV;AAAA,EACA,aAAAwV;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,YAAAC;AAAA,EACA,MAAAnO;AACF,MAAM;AACJ,QAAMoO,IAAc1W,EAAa;AAAA,IAC/BW,EAAO;AAAA,IACP;AAAA,MACE,CAACA,EAAO,mBAAmB,GAAG6V;AAAA,MAC9B,CAAC7V,EAAO,mBAAmB,GAAG2H,MAASpF,EAAyB;AAAA,MAChE,CAACvC,EAAO,mBAAmB,GAAG4V;AAAA,IAAA;AAAA,EAChC,CACD;AAGC,SAAA7V,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,IAAI4V;AAAA,MACJ,SAAS,MAAMD,EAAYC,CAAK;AAAA,MAChC,iBAAeC;AAAA,MACf,iBAAeE;AAAA,MACf,WAAWC;AAAA,MAEV,UAAA7V;AAAA,IAAA;AAAA,EACH;AAEJ,GC7BM8V,KAAoD,CAAC,EAAE,MAAAX,GAAM,aAAAK,GAAa,eAAAJ,GAAe,aAAAW,GAAa,MAAAtO,GAAM,QAAAuO,QAAa;AAC7H,QAAMC,IAAY9W,EAAa,CAACW,EAAO,SAAS,EAAE,CAACA,EAAO,iBAAiB,GAAG2H,MAASpF,EAAyB,SAAU,CAAA,CAAC,GAErH6T,IAAoB,CAAC3P,MAAqC;AAC9D,UAAM4P,IAAyBH,EAAO,UAAU,CAACpS,MAAOA,MAAOwR,CAAa;AAE5E,YAAQ7O,EAAE,KAAK;AAAA,MACb,KAAK;AAAA,MACL,KAAK,WAAW;AAGd,YAFAA,EAAE,eAAe,GACbA,EAAE,QAAQ,aAAakB,MAASpF,EAAyB,cACzDkE,EAAE,QAAQ,eAAekB,MAASpF,EAAyB,SAAU;AAEzE,cAAM+T,IAAmBD,IAAyB,KAAK,IAAIA,IAAyB,IAAIH,EAAO,SAAS,GAClGK,IAAgBL,EAAOI,CAAgB;AAC7C,QAAIC,MACF1S,GAAuB0S,CAAa,GACpCb,EAAYa,CAAa;AAE3B;AAAA,MAAA;AAAA,MAEF,KAAK;AAAA,MACL,KAAK,aAAa;AAGhB,YAFA9P,EAAE,eAAe,GACbA,EAAE,QAAQ,eAAekB,MAASpF,EAAyB,cAC3DkE,EAAE,QAAQ,gBAAgBkB,MAASpF,EAAyB,SAAU;AAE1E,cAAMiU,IAAeH,MAA2BH,EAAO,SAAS,IAAI,IAAIG,IAAyB,GAC3FI,IAAYP,EAAOM,CAAY;AACrC,QAAIC,MACF5S,GAAuB4S,CAAS,GAChCf,EAAYe,CAAS;AAEvB;AAAA,MAAA;AAAA,IAGA;AAAA,EAEN;AAEA,+BACG,OAAI,EAAA,MAAK,WAAU,WAAWL,GAAmB,WAAWD,GAC1D,UAAKd,EAAA,IAAI,CAAC,EAAE,IAAAvR,GAAI,OAAA5D,GAAO,UAAA+C,KAAYwP,MAEhC1S,gBAAAA,EAAA;AAAA,IAAC0V;AAAA,IAAA;AAAA,MAEC,OAAAvV;AAAA,MACA,aAAAwV;AAAA,MACA,OAAO5R;AAAA,MACP,YAAYA,MAAOwR;AAAA,MACnB,YAAYrS;AAAA,MACZ,YAAYgT,EAAYxD,CAAK;AAAA,MAC7B,MAAA9K;AAAA,IAAA;AAAA,IAPK7D;AAAA,EAQP,CAEH,GACH;AAEJ,GClEM4S,KAA8C,CAAC;AAAA,EACnD,MAAArB;AAAA,EACA,cAAAsB;AAAA,EACA,MAAAhP,IAAOpF,EAAyB;AAAA,EAChC,WAAAsC;AAAA,EACA,GAAG1E;AACL,MAAM;AACJ,QAAM+V,IAASb,EAAK,IAAI,CAAC9V,MAASA,EAAK,EAAE,GACnC0W,IAAcC,EAAO,IAAI,CAACpS,MAAO,YAAYA,CAAE,EAAE,GACjD8S,IAAYD,KAAgBT,EAAO,SAASS,CAAY,IAAIA,IAAeT,EAAO,CAAC,GACnF,CAACZ,GAAeuB,CAAgB,IAAI9Q,EAAS6Q,CAAS,GACtDE,IAAYzX,EAAa,CAACW,EAAO,MAAM6E,GAAW,EAAE,CAAC7E,EAAO,cAAc,GAAG2H,MAASpF,EAAyB,SAAU,CAAA,CAAC,GAE1HwU,IAAkB,CAACjT,MAAe;AACtC,IAAA+S,EAAiB/S,CAAE;AAAA,EACrB;AAEA,SACG1D,gBAAAA,EAAAA,KAAA,OAAA,EAAK,GAAGD,GAAM,WAAW2W,GACxB,UAAA;AAAA,IAAA/W,gBAAAA,EAAA;AAAA,MAACiW;AAAA,MAAA;AAAA,QACC,MAAAX;AAAA,QACA,eAAAC;AAAA,QACA,aAAAW;AAAA,QACA,aAAac;AAAA,QACb,MAAApP;AAAA,QACA,QAAAuO;AAAA,MAAA;AAAA,IACF;AAAA,IACAnW,gBAAAA,EAAAA,IAACqV,IAAoB,EAAA,MAAAC,GAAY,eAAAC,EAA8B,CAAA;AAAA,EAAA,GACjE;AAEJ;;;AC7BgB,SAAA0B,GAAcrP,GAA0BzH,GAAwB;AAC9E,MAAIA,EAAc,QAAAA;AAElB,UAAQyH,GAAM;AAAA,IACZ,KAAKxF,EAAmB;AACf,aAAA;AAAA,IACT,KAAKA,EAAmB;AACf,aAAA;AAAA,IACT,KAAKA,EAAmB;AACf,aAAA;AAAA,IACT,KAAKA,EAAmB;AACf,aAAA;AAAA,IACT,KAAKA,EAAmB;AACf,aAAA;AAAA,IACT;AACS,aAAA;AAAA,EAAA;AAEb;AAEgB,SAAA8U,GAAgBtP,GAA0B3E,GAAqD;AAC7G,MAAIA;AACK,WAAAjD,gBAAAA,EAAA,IAAC4C,GAAc,EAAA,MAAMK,EAAM,CAAA;AAGpC,UAAQ2E,GAAM;AAAA,IACZ,KAAKxF,EAAmB;AACtB,mCAAQT,IAAS,EAAA;AAAA,IACnB,KAAKS,EAAmB;AACtB,mCAAQD,IAAY,EAAA;AAAA,IACtB,KAAKC,EAAmB;AACtB,mCAAQf,IAAU,EAAA;AAAA,IACpB,KAAKe,EAAmB;AACtB,mCAAQzB,IAAc,EAAA;AAAA,IACxB,KAAKyB,EAAmB;AACtB,mCAAQZ,IAAS,EAAA;AAAA,IACnB;AACS,aAAA;AAAA,EAAA;AAEb;AClCA,MAAM2V,KAA0C,CAAC,EAAE,OAAAhX,GAAO,SAAAgE,GAAS,MAAAyD,GAAM,MAAA3E,QAAW;AAC5E,QAAAmU,IAAaH,GAAcrP,GAAMzH,CAAK,GACtCkX,IAAYH,GAAgBtP,GAAM3E,CAAI;AAE5C,SACG5C,gBAAAA,EAAAA,KAAA,UAAA,EAAO,WAAWJ,GAAO,QACxB,UAAA;AAAA,IAAAI,gBAAAA,OAAC,MACE,EAAA,UAAA;AAAA,MAAAgX;AAAA,MACAD;AAAA,IAAA,GACH;AAAA,IACApX,gBAAAA,EAAAA,IAAC0E,IAAgB,EAAA,MAAMpC,EAAkB,QAAQ,MAAMD,EAAoB,MAAM,OAAM,qBAAoB,SAAS8B,EAAS,CAAA;AAAA,EAAA,GAC/H;AAEJ;;;;GCjBMmT,KAAgD,CAAC;AAAA,EACrD,UAAAzQ;AAAA,EACA,SAAA1C;AAAA,EACA,OAAAhE;AAAA,EACA,SAAAN;AAAA,EACA,MAAA+H,IAAOxF,EAAmB;AAAA,EAC1B,MAAAa;AAAA,EACA,GAAG7C;AACL,MAAM;AACE,QAAAiH,IAAYF,GAASN,CAAQ,GAC7B6I,IAAYrI,KAAa,CAACR;AAE5B,SAACQ,IAGHrH,gBAAAA,MAAC2P,IACC,EAAA,UAAA3P,gBAAAA,EAAAA,IAAC,OAAI,EAAA,WAAWV,EAAa,CAACW,GAAO,SAAS,EAAE,CAACA,GAAO,gBAAgB,GAAGyP,EAAW,CAAA,CAAC,GACrF,UAAArP,gBAAAA,EAAAA,KAAC,SAAK,GAAGD,GAAM,WAAWH,GAAO,SAC/B,UAAA;AAAA,IAAAD,gBAAAA,EAAA,IAACmX,IAAY,EAAA,OAAAhX,GAAc,SAAAgE,GAAkB,MAAAyD,GAAY,MAAA3E,GAAY;AAAA,IACrEjD,gBAAAA,EAAAA,IAAC,OAAG,UAAQH,EAAA,CAAA;AAAA,EAAA,EACd,CAAA,EACF,CAAA,GACF,IAVqB;AAYzB;","x_google_ignoreList":[0,1,2]}