{"version":3,"sources":["../node_modules/prop-types/index.js","../node_modules/react/index.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@instructure/ui-react-utils/es/ensureSingleChild.js","../node_modules/@instructure/ui-themeable/es/ThemeContext.js","../node_modules/@instructure/ui-utils/es/shallowEqual.js","../node_modules/@instructure/ui-utils/es/deepEqual.js","../node_modules/@instructure/ui-themeable/es/scopeStylesToNode.js","../node_modules/@instructure/ui-themeable/es/pickOverrides.js","../node_modules/@instructure/ui-themeable/es/applyVariablesToNode.js","../node_modules/@instructure/ui-themeable/es/setTextDirection.js","../node_modules/@instructure/ui-themeable/es/themeable.js","../node_modules/@instructure/ui-themeable/es/ApplyTheme/index.js","../node_modules/@instructure/ui-themeable/es/ThemeablePropValues.js","../node_modules/@instructure/ui-utils/es/camelize.js","../node_modules/@instructure/ui-themeable/es/getShorthandPropValue.js","../node_modules/@instructure/ui-themeable/es/makeThemeVars.js","../node_modules/@instructure/ui-themeable/es/mirrorShorthand.js","../node_modules/@instructure/ui-themeable/es/mirrorShorthandCorners.js","../node_modules/@instructure/ui-themeable/es/ThemeablePropTypes.js","../node_modules/@instructure/ui-themeable/es/cleanCss.js","../node_modules/@instructure/ui-themeable/es/ruleTypes.js","../node_modules/@instructure/ui-themeable/es/createThemeAdapter.js","../node_modules/@instructure/ui-themeable/es/index.js","../node_modules/classnames/index.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/console/es/index.js","../node_modules/@instructure/console/es/index.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@instructure/ui-text/node_modules/@instructure/console/es/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/console/es/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/react-dom/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/connected-react-router/esm/actions.js","../node_modules/@instructure/ui-themeable/es/parseCss.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/parseCss.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/parseCss.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/parseCss.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/connect.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","../node_modules/fast-deep-equal/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/@instructure/ui-utils/es/isEmpty.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-utils/es/isEmpty.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/isEmpty.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-utils/es/isEmpty.js","../node_modules/invariant/browser.js","../node_modules/redux/es/redux.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@instructure/ui-themeable/es/formatVariableNames.js","../node_modules/glamor/lib/sheet.js","../node_modules/@instructure/ui-dom-utils/es/findDOMNode.js","../node_modules/tinycolor2/tinycolor.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/formatVariableNames.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/formatVariableNames.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/formatVariableNames.js","../node_modules/@instructure/ui-decorator/es/decorator.js","../node_modules/@instructure/ui-decorator/es/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/@instructure/ui-themeable/es/transformCss.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/transformCss.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/transformCss.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/transformCss.js","../node_modules/@instructure/ui-themeable/es/ThemeRegistry.js","../node_modules/keycode/index.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/ThemeRegistry.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/ThemeRegistry.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/ThemeRegistry.js","../node_modules/webpack/buildin/global.js","../node_modules/@instructure/ui-themeable/es/formatVariableName.js","../node_modules/@instructure/ui-themeable/es/getCssText.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/formatVariableName.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/getCssText.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/formatVariableName.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/getCssText.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/formatVariableName.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/getCssText.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/customPropertiesSupported.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-utils/es/isEdge.js","../node_modules/@instructure/ui-themeable/es/customPropertiesSupported.js","../node_modules/@instructure/ui-utils/es/isEdge.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/customPropertiesSupported.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/isEdge.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/customPropertiesSupported.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-utils/es/isEdge.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/mini-create-react-context/dist/esm/index.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/hooks.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/cookie/index.js","../node_modules/@instructure/ui-svg-images/es/InlineSVG/index.js","../node_modules/@instructure/ui-svg-images/es/InlineSVG/theme.js","../node_modules/@instructure/ui-svg-images/es/SVGIcon/index.js","../node_modules/@instructure/ui-svg-images/es/SVGIcon/theme.js","../node_modules/@instructure/ui-themeable/es/applyCustomMediaToCss.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/applyCustomMediaToCss.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/applyCustomMediaToCss.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/applyCustomMediaToCss.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/object-assign/index.js","../node_modules/react-is/index.js","../node_modules/@instructure/ui-themeable/es/replaceValuesWithVariableNames.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/replaceValuesWithVariableNames.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/replaceValuesWithVariableNames.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/replaceValuesWithVariableNames.js","../node_modules/connected-react-router/esm/selectors.js","../node_modules/connected-react-router/esm/ConnectedRouter.js","../node_modules/connected-react-router/esm/reducer.js","../node_modules/connected-react-router/esm/structure/plain/index.js","../node_modules/connected-react-router/esm/structure/plain/getIn.js","../node_modules/connected-react-router/esm/index.js","../node_modules/react-device-detect/main.js","../node_modules/symbol-observable/es/index.js","../node_modules/@babel/runtime/helpers/inheritsLoose.js","../node_modules/path-to-regexp/index.js","../node_modules/connected-react-router/esm/middleware.js","../node_modules/symbol-observable/es/ponyfill.js","../node_modules/@instructure/ui-dom-utils/es/canUseDOM.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-dom-utils/es/canUseDOM.js","../node_modules/json-stable-stringify/index.js","../node_modules/gud/index.js","../node_modules/redux-thunk/es/index.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-utils/es/createChainedFunction.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-react-utils/es/safeCloneElement.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-react-utils/es/ensureSingleChild.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/ThemeContext.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-decorator/es/decorator.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-utils/es/shallowEqual.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-utils/es/deepEqual.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-dom-utils/es/findDOMNode.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/scopeStylesToNode.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/pickOverrides.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/applyVariablesToNode.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/setTextDirection.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/themeable.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/ApplyTheme/index.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/ThemeablePropValues.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/mirrorShorthandCorners.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/ThemeablePropTypes.js","../node_modules/@instructure/canvas-theme/es/borders.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/cleanCss.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-themeable/es/ruleTypes.js","../node_modules/@instructure/canvas-theme/es/colors.js","../node_modules/@instructure/canvas-theme/es/transitions.js","../node_modules/@instructure/canvas-theme/es/typography.js","../node_modules/@instructure/canvas-theme/es/spacing.js","../node_modules/@instructure/canvas-theme/es/forms.js","../node_modules/@instructure/canvas-theme/es/breakpoints.js","../node_modules/@instructure/canvas-theme/es/media.js","../node_modules/@instructure/canvas-theme/es/shadows.js","../node_modules/@instructure/canvas-theme/es/stacking.js","../node_modules/@instructure/canvas-theme/es/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-stylesheet/es/StyleSheet.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-stylesheet/es/index.js","../node_modules/@instructure/ui-utils/es/createChainedFunction.js","../node_modules/@instructure/ui-react-utils/es/safeCloneElement.js","../node_modules/@instructure/ui-stylesheet/es/StyleSheet.js","../node_modules/@instructure/ui-stylesheet/es/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-stylesheet/es/StyleSheet.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-stylesheet/es/index.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-stylesheet/es/StyleSheet.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-stylesheet/es/index.js","../node_modules/@instructure/ui-utils/es/mergeDeep.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-utils/es/mergeDeep.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/mergeDeep.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-utils/es/mergeDeep.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/webpack/buildin/harmony-module.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/ua-parser-js/dist/ua-parser.min.js","../node_modules/jsonify/index.js","../node_modules/jsonify/lib/parse.js","../node_modules/jsonify/lib/stringify.js","../node_modules/isarray/index.js","../node_modules/@instructure/uid/es/uid.js","../node_modules/@instructure/ui-text/node_modules/@instructure/uid/es/uid.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/uid/es/uid.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/uid/es/uid.js","../node_modules/@instructure/ui-react-utils/es/deprecated.js","../node_modules/@instructure/ui-testable/es/testable.js","../node_modules/@instructure/ui-react-utils/es/getElementType.js","../node_modules/@instructure/ui-react-utils/es/passthroughProps.js","../node_modules/@instructure/ui-prop-types/es/cursor.js","../node_modules/@instructure/ui-icons/es/IconArrowOpenStartSolid.js","../node_modules/@instructure/ui-react-utils/es/callRenderProp.js","../node_modules/@instructure/ui-icons/es/IconTroubleLine.js","../node_modules/@instructure/ui-icons/es/IconWarningLine.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-dom-utils/es/canUseDOM.js","../node_modules/@instructure/canvas-theme/node_modules/@instructure/ui-dom-utils/es/canUseDOM.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-decorator/es/decorator.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/deprecated.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/callRenderProp.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/createChainedFunction.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/safeCloneElement.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/ensureSingleChild.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/ThemeContext.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/hash.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/shallowEqual.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/deepEqual.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-dom-utils/es/findDOMNode.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/scopeStylesToNode.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/pickOverrides.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/applyVariablesToNode.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/setTextDirection.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/themeable.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/ApplyTheme/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/ThemeablePropValues.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/camelize.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/getShorthandPropValue.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/makeThemeVars.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/mirrorShorthand.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/mirrorShorthandCorners.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/ThemeablePropTypes.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-svg-images/es/InlineSVG/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/cleanCss.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/ruleTypes.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-testable/es/testable.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/passthroughProps.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-svg-images/es/InlineSVG/theme.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-svg-images/es/SVGIcon/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-svg-images/es/SVGIcon/theme.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-icons/es/IconXSolid.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/getElementType.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-a11y-content/es/ScreenReaderContent/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/getInteraction.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-dom-utils/es/getActiveElement.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-dom-utils/es/isActiveElement.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/getDisplayName.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/matchComponentTypes.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-a11y-utils/es/hasVisibleChildren.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-dom-utils/es/ownerDocument.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-dom-utils/es/ownerWindow.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-dom-utils/es/getComputedStyle.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-i18n/es/getTextDirection.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-i18n/es/TextDirectionContext.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-i18n/es/bidirectional.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-prop-types/es/cursor.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-view/es/View/theme.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-view/es/View/themeAdapter.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-view/es/View/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-themeable/es/createThemeAdapter.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-flex/es/Flex/Item/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-flex/es/Flex/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-flex/es/Flex/theme.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-color-utils/es/darken.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-color-utils/es/alpha.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-buttons/es/BaseButton/theme.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-buttons/es/BaseButton/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-buttons/es/CloseButton/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-buttons/es/CloseButton/theme.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-icons/es/IconNoSolid.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-icons/es/IconInfoBorderlessSolid.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-icons/es/IconCheckMarkSolid.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-icons/es/IconWarningBorderlessSolid.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/parseUnit.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-utils/es/ms.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-dom-utils/es/getClassList.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-react-utils/es/polyfill.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-motion/es/Transition/BaseTransition.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-motion/es/Transition/index.js","../node_modules/@instructure/ui-alerts/es/Alert/index.js","../node_modules/@instructure/ui-alerts/node_modules/@instructure/ui-motion/es/Transition/theme.js","../node_modules/@instructure/ui-alerts/es/Alert/theme.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-utils/es/createChainedFunction.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-react-utils/es/safeCloneElement.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-react-utils/es/ensureSingleChild.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/ThemeContext.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-decorator/es/decorator.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-utils/es/shallowEqual.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-utils/es/deepEqual.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-dom-utils/es/findDOMNode.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/scopeStylesToNode.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/pickOverrides.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/applyVariablesToNode.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/setTextDirection.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/themeable.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/ApplyTheme/index.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/ThemeablePropValues.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/mirrorShorthandCorners.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/ThemeablePropTypes.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/cleanCss.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-themeable/es/ruleTypes.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-react-utils/es/getElementType.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-react-utils/es/passthroughProps.js","../node_modules/@instructure/ui-text/node_modules/@instructure/ui-react-utils/es/deprecated.js","../node_modules/@instructure/ui-text/es/Text/index.js","../node_modules/@instructure/ui-text/es/Text/theme.js","../node_modules/@instructure/ui-dom-utils/es/getActiveElement.js","../node_modules/@instructure/ui-dom-utils/es/isActiveElement.js","../node_modules/@instructure/ui-react-utils/es/getDisplayName.js","../node_modules/@instructure/ui-react-utils/es/matchComponentTypes.js","../node_modules/@instructure/ui-a11y-content/es/ScreenReaderContent/index.js","../node_modules/@instructure/ui-a11y-utils/es/hasVisibleChildren.js","../node_modules/@instructure/ui-flex/es/Flex/Item/index.js","../node_modules/@instructure/ui-flex/es/Flex/index.js","../node_modules/@instructure/ui-flex/es/Flex/theme.js","../node_modules/@instructure/ui-color-utils/es/darken.js","../node_modules/@instructure/ui-color-utils/es/alpha.js","../node_modules/@instructure/ui-buttons/es/Button/theme.js","../node_modules/@instructure/ui-buttons/es/Button/index.js","../node_modules/universal-cookie/es6/utils.js","../node_modules/universal-cookie/es6/Cookies.js","../node_modules/universal-cookie/es6/index.js","../node_modules/react-cookie/es6/Cookies.js","../node_modules/react-cookie/es6/CookiesContext.js","../node_modules/react-cookie/es6/CookiesProvider.js","../node_modules/@instructure/ui-layout/es/Flex/FlexItem/index.js","../node_modules/@instructure/ui-layout/es/Flex/index.js","../node_modules/@instructure/ui-layout/es/Flex/FlexItem/theme.js","../node_modules/@instructure/ui-layout/es/Flex/theme.js","../node_modules/@instructure/ui-prop-types/es/childrenOrValue.js","../node_modules/@instructure/ui-heading/es/Heading/index.js","../node_modules/@instructure/ui-heading/es/Heading/theme.js","../node_modules/@instructure/ui-spinner/es/Spinner/index.js","../node_modules/@instructure/ui-utils/es/isIE11.js","../node_modules/@instructure/ui-spinner/es/Spinner/theme.js","../node_modules/@instructure/ui-view/es/View/theme.js","../node_modules/@instructure/ui-view/es/View/themeAdapter.js","../node_modules/@instructure/ui-view/es/View/index.js","../node_modules/@instructure/ui-i18n/es/getTextDirection.js","../node_modules/@instructure/ui-i18n/es/TextDirectionContext.js","../node_modules/@instructure/ui-i18n/es/bidirectional.js","../node_modules/@instructure/ui-dom-utils/es/ownerDocument.js","../node_modules/@instructure/ui-dom-utils/es/ownerWindow.js","../node_modules/@instructure/ui-dom-utils/es/getComputedStyle.js","../node_modules/@instructure/ui-layout/es/View/index.js","../node_modules/@instructure/ui-layout/es/View/theme.js","../node_modules/@instructure/ui-prop-types/es/makeRequirable.js","../node_modules/@instructure/ui-prop-types/es/Children.js","../node_modules/@instructure/ui-billboard/es/Billboard/index.js","../node_modules/@instructure/ui-billboard/es/Billboard/theme.js"],"names":["module","exports","require","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_typeof2","Symbol","iterator","constructor","prototype","_typeof","_possibleConstructorReturn","self","call","assertThisInitialized","_classCallCheck","instance","Constructor","TypeError","_setPrototypeOf","p","_inherits","subClass","superClass","create","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","ensureSingleChild","child","childCount","Children","count","React","createElement","safeCloneElement","Array","isArray","ThemeContext","CONTEXT_KEY","types","PropTypes","makeThemeContext","theme","immutable","getThemeContext","context","hasOwnProperty","deepEqual","shallowEqual","objA","objB","is","keysA","keysB","x","y","scopeStylesToNode","domNode","cssText","scope","styleNode","querySelector","concat","attr","toLowerCase","shouldInsertNode","scopedCSS","document","setAttribute","id","scoped","addScopeToDomNode","node","children","childNodes","transformCss","rule","transformed","_objectSpread","isScoped","selector","parts","split","isKeyframesSelector","map","part","scopedSelector","trim","replace","match","combinator","offset","isClassSelector","scopeCompoundSelector","scopeComplexSelector","join","scopeRule","scopeCssText","insertBefore","firstChild","textContent","styleSheet","removeScopeFromDomNode","removeAttribute","removeChild","isRootSelector","scopeSimpleSelector","pickOverrides","defaultTheme","overrides","applyVariablesToNode","customPropertiesSupported","applyVariablesToNodeStyle","this","applyVariablesPolyfillToNode","variables","defaults","prefix","template","isEmpty","getCssTextWithPolyfill","styles","style","prop","indexOf","removeProperty","clearCustomProperties","properties","propertyName","setProperty","setCustomProperties","formatVariableNames","hasRan","setTextDirection","canUseDOM","dir","documentElement","getAttribute","emptyObj","themeable","decorator","ComposedComponent","adapter","displayName","name","componentId","uid","contextKey","registerComponentTheme","getContext","getThemeFromContext","assign","generateThemeForContextKey","themeKey","generateComponentTheme","ThemeableComponent","_ComposedComponent","_this","res","_themeCache","_instanceId","mountComponentStyles","applyTheme","_get","nextProps","nextState","nextContext","state","prevProps","prevState","prevContext","DOMNode","findDOMNode","get","contextTypes","propTypes","generateTheme","ApplyTheme","_Component","parentThemeContext","mergeDeep","Component","bool","defaultProps","childContextTypes","ThemeablePropValues","SHADOW_TYPES","resting","above","topmost","none","STACKING_TYPES","deepest","below","BORDER_WIDTHS","small","medium","large","BORDER_RADII","circle","pill","BACKGROUNDS","default","inverse","transparent","SIZES","xSmall","xLarge","SPACING","auto","xxxSmall","xxSmall","xxLarge","camelize","str","g","toUpperCase","getShorthandPropValue","componentName","componentTheme","propValue","propName","shortHandValue","themeVariableName","themeVariableValue","makeThemeVars","vars","themeVars","variable","mirrorShorthandEdges","values","valuesArr","_ref","mirrorShorthandCorners","_ref2","_ref3","ThemeablePropTypes","shadow","oneOf","stacking","borderWidth","shorthandPropType","borderRadius","background","size","spacing","validValues","location","propValueType","Error","propValues","valuesLength","cleanCss","ruleTypes","createThemeAdapter","_ref$map","version","_ref2$theme","entries","reduce","result","_ref4","_slicedToArray","hasOwn","classNames","classes","arg","argType","inner","property","receiver","Reflect","base","desc","loggedInitialDeprecationWarning","logMessage","level","withRenderStack","condition","message","logDeprecated","process","OMIT_INSTUI_DEPRECATION_WARNINGS","_len2","args","_key2","error","_len3","_key3","warn","_len4","_key4","warnDeprecated","info","_console2","console","assert","_console3","debug","_console4","log","_console5","logWithRenderStack","_toConsumableArray","arr","arr2","iter","toString","from","_objectWithoutProperties","excluded","sourceSymbolKeys","propertyIsEnumerable","_extends","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","err","ReferenceError","LOCATION_CHANGE","onLocationChanged","action","isFirstRendering","undefined","type","payload","CALL_HISTORY_METHOD","updateLocation","method","_len","_key","parseCss","cleaned","parseLexed","text","parent","start","previous","end","substring","lastIndexOf","parseSelector","media","keyframes","parseRuleType","rules","rootNode","char","lex","ReactReduxContext","createContext","batch","callback","getBatch","CLEARED","nullListeners","notify","Subscription","store","parentSub","unsubscribe","listeners","handleChangeWrapper","bind","_proto","addNestedSub","listener","trySubscribe","subscribe","notifyNestedSubs","onStateChange","isSubscribed","Boolean","current","next","clear","slice","splice","createListenerCollection","tryUnsubscribe","Provider","contextValue","useMemo","subscription","previousState","getState","useEffect","Context","shape","func","isRequired","dispatch","any","useIsomorphicLayoutEffect","window","useLayoutEffect","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","updateCount","initStateUpdates","connectAdvanced","selectorFactory","_ref2$getDisplayName","getDisplayName","_ref2$methodName","methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","shouldHandleStateChanges","_ref2$storeKey","storeKey","_ref2$withRef","withRef","_ref2$forwardRef","forwardRef","_ref2$context","connectOptions","_objectWithoutPropertiesLoose","invariant","WrappedComponent","wrappedComponentName","selectorFactoryOptions","pure","usePureOnlyMemo","ConnectFunction","_useMemo","forwardedRef","wrapperProps","propsContext","ContextToUse","Consumer","isContextConsumer","useContext","didStoreComeFromProps","didStoreComeFromContext","childPropsSelector","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","useReducer","previousStateUpdateResult","forceComponentUpdateDispatch","lastChildProps","useRef","lastWrapperProps","childPropsFromStoreUpdate","renderIsScheduled","actualChildProps","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","e","renderedWrappedComponent","ref","Connect","memo","forwarded","hoistStatics","wrapMapToPropsConstant","getConstant","options","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","ownProps","mapDispatchToProps","bindActionCreators","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","a","b","createConnect","_temp","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","defaultMapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","defaultMapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","defaultMergePropsFactories","_ref$selectorFactory","defaultSelectorFactory","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","useReduxContext","createStoreHook","useDefaultReduxContext","useStore","useDefaultStore","createDispatchHook","refEquality","createSelectorHook","newBatch","keyList","hasProp","equal","arrA","arrB","dateA","Date","dateB","getTime","regexpA","RegExp","regexpB","sourceKeys","_arr","_n","_d","_e","_s","_i","done","isProduction","isAbsolute","pathname","charAt","spliceOne","list","index","k","n","pop","resolvePathname","to","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","last","up","unshift","substr","valueOf","valueEqual","every","item","aValue","bValue","addLeadingSlash","path","stripBasename","hasBasename","stripTrailingSlash","createPath","search","hash","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","locationsAreEqual","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","fn","isActive","notifyListeners","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","ua","navigator","userAgent","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","Math","random","transitionManager","setState","handlePopState","event","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entry","nextIndex","nextEntries","canGo","format","c","d","f","argIndex","framesToPop","randomString","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","proto","createStore","reducer","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","replaceReducer","nextReducer","$$observable","outerSubscribe","observer","observeState","getUndefinedStateErrorMessage","actionType","String","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","errorMessage","bindActionCreator","actionCreator","actionCreators","boundActionCreators","compose","funcs","applyMiddleware","middlewares","_dispatch","middlewareAPI","chain","middleware","_assertThisInitialized","formatted","formatVariableName","StyleSheet","_objectAssign","_objectAssign2","__esModule","sheetForTag","tag","sheet","styleSheets","ownerNode","isBrowser","isDev","isTest","oldIE","div","innerHTML","getElementsByTagName","makeStyleTag","appendChild","createTextNode","head","_ref$speedy","speedy","_ref$maxLength","maxLength","isSpeedy","tags","ctr","getSheet","inject","injected","cssRules","insertRule","_insert","insert","delete","flush","parentNode","el","Element","nodeType","ReactDOM","trimLeft","trimRight","tinyCounter","mathRound","round","mathMin","mathMax","mathRandom","tinycolor","color","opts","rgb","r","s","v","l","named","names","matchers","exec","rgba","hsl","h","hsla","hsv","hsva","hex8","parseIntFromHex","convertHexToDecimal","hex6","hex4","hex3","stringInputToObject","isValidCSSUnit","bound01","convertToPercentage","floor","q","t","mod","hsvToRgb","hue2rgb","hslToRgb","boundAlpha","inputToRGB","_originalInput","_r","_g","_b","_a","_roundA","_format","_gradientType","gradientType","_ok","_tc_id","rgbToHsl","rgbToHsv","rgbToHex","allow3Char","hex","pad2","rgbaToArgbHex","convertDecimalToHex","desaturate","amount","toHsl","clamp01","saturate","greyscale","lighten","brighten","toRgb","darken","spin","hue","complement","triad","tetrad","splitcomplement","analogous","results","slices","ret","monochromatic","toHsv","modification","isDark","getBrightness","isLight","isValid","getOriginalInput","getFormat","getAlpha","getLuminance","RsRGB","GsRGB","BsRGB","pow","setAlpha","toHsvString","toHslString","toHex","toHexString","toHex8","allow4Char","rgbaToHex","toHex8String","toRgbString","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","formattedString","hasAlpha","clone","_applyModification","_applyCombination","fromRatio","newColor","equals","color1","color2","mix","rgb1","rgb2","readability","c1","c2","isReadable","wcag2","wcag2Parms","out","parms","validateWCAG2Parms","mostReadable","baseColor","colorList","includeFallbackColors","bestColor","bestScore","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","flipped","flip","parseFloat","isNaN","isOnePointZero","processPercent","isPercentage","parseInt","abs","val","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","define","decorate","DecoratedComponent","transform","transformNode","toCssText","toRules","_cssText","suffix","DEFAULT_THEME_KEY","GLOBAL_THEME_REGISTRY","makeRegistry","defaultThemeKey","components","themes","registered","getRegistry","global","setRegistry","registry","clearRegistry","getDefaultThemeKey","_getRegistry","getRegisteredTheme","getVariablesWithOverrides","overridesIsEmpty","JSON","stringify","variablesIsEmpty","mergeWithDefaultThemeVariables","defaultOverrides","defaultOverridesIsEmpty","componentKey","componentThemeFunction","defaultComponentTheme","makeComponentTheme","getRegisteredComponents","cachedComponentTheme","borders","breakpoints","colors","forms","shadows","transitions","typography","getRegisteredComponent","mounted","getCssText","mount","defaultRegistry","validateRegistry","keyCode","searchInput","hasKeyCode","which","charCode","foundNamedKey","codes","aliases","charCodeAt","isEventKey","nameOrCode","code","fromCharCode","title","alias","setDefaultTheme","ThemeRegistry","getRegisteredThemes","registerTheme","registeredTheme","a11y","description","use","accessible","makeTheme","flushComponentStyles","Function","variableName","getCssTextWithVariables","customMedia","applyCustomMediaToCss","replaceValuesWithVariableNames","variablesToCSSText","cachedReturnVal","isEdge","test","CSS","supports","environmentIsJSDOM","includes","browserSupportsCustomProperties","_inheritsLoose","MAX_SIGNED_31_BIT_INT","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","gud","emitter","handlers","on","handler","off","set","newValue","changedBits","createEventEmitter","getChildContext","componentWillReceiveProps","oldValue","render","_Component2","_this2","getValue","onUpdate","observedBits","_proto2","componentDidMount","componentWillUnmount","createNamedContext","Router","computeRootMatch","url","params","isExact","_pendingLocation","RouterContext","staticContext","cache","cacheLimit","cacheCount","matchPath","exact","strict","sensitive","matched","cacheKey","pathCache","regexp","pathToRegexp","compilePath","Route","component","createURL","staticHandler","noop","memoize","reactPropsRegex","parse","opt","pairs","pairSplitRegExp","dec","decode","pair","eq_idx","tryDecode","serialize","enc","encode","fieldContentRegExp","maxAge","domain","expires","toUTCString","httpOnly","secure","sameSite","decodeURIComponent","encodeURIComponent","_class","_class2","generator","primaryInverseColor","textLightest","primaryColor","textDarkest","secondaryColor","textDark","secondaryInverseColor","textLight","warningColor","textWarning","brandColor","textBrand","errorColor","textDanger","alertColor","textAlert","successColor","textSuccess","canvas","InlineSVG","testable","_dec","_dec2","titleId","descId","src","prepareSrc","role","dangerouslySetInnerHTML","__html","_classnames","_this$props","width","height","focusable","attributes","namesAndValuesRegExp","attributesMatches","attributesString","excludes","parseAttributes","omitProps","labelledBy","className","classnames","root","inline","renderTitle","renderDesc","renderContent","ids","string","oneOfType","number","matches","sizeXSmall","sizeSmall","sizeMedium","sizeLarge","sizeXLarge","SVGIcon","rotate","bidirectional","regex","matcher","lastIndex","getMatches","ReactIs","REACT_STATICS","contextType","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","propIsEnumerable","toObject","test1","test2","test3","letter","shouldUseNative","createSelectors","structure","getIn","toJS","getRouter","router","getLocation","getAction","getSearch","getHash","createMatchSelector","lastPathname","lastMatch","createConnectedRouter","ConnectedRouter","_PureComponent","inTimeTravelling","_getLocation","pathnameInStore","searchInStore","hashInStore","_history$location","pathnameInHistory","searchInHistory","hashInHistory","handleLocationChange","PureComponent","ConnectedRouterWithContext","connect","_onLocationChanged","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","injectQuery","searchQuery","query","acc","currentQuery","_currentQuery$split2","createConnectRouter","fromJS","merge","initialRouterState","plainStructure","connectRouter","_createSelectors","ex","React__default","UA","browser","getBrowser","device","getCPU","getDevice","engine","getEngine","os","getOS","getUA","setDefaults","getNavigatorInstance","isIOS13Check","nav","platform","maxTouchPoints","MSStream","DEVICE_TYPES","BROWSER_TYPES","OS_TYPES","initialData","isMobile","isTablet","isSmartTV","isConsole","isWearable","broPayload","browserMajorVersion","major","browserFullVersion","browserName","engineName","engineVersion","osName","osVersion","mobilePayload","vendor","model","stvPayload","consolePayload","wearPayload","checkType","isMobileSafari","isChromium","isMobileAndTabletType","isMobileOnly","isAndroid","isWinPhone","isIOS","isChrome","isFirefox","isSafari","isOpera","isIE","fullBrowserVersion","browserVersion","mobileVendor","mobileModel","isYandex","deviceType","isIOS13","getIOS13","isIPad13","isIPhone13","isIPod13","isElectron","isElectronType","AndroidView","renderWithFragment","viewClassName","Fragment","BrowserView","ConsoleView","_ref10","CustomView","_ref12","IEView","IOSView","MobileOnlyView","_ref8","MobileView","_ref5","SmartTVView","_ref9","TabletView","_ref6","WearableView","_ref11","WinPhoneView","_ref7","deviceDetect","withOrientationChange","_React$Component","isEventListenerAdded","handleOrientationChange","onOrientationChange","onPageLoad","isLandscape","isPortrait","orientation","innerWidth","innerHeight","ponyfill","isarray","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","m","escaped","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","data","pretty","token","segment","j","attachKeys","re","flags","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","routerMiddleware","_action$payload","symbolObservablePonyfill","observable","json","cmp","space","cycles","replacer","aobj","bobj","seen","indent","colonSeparator","toJSON","objectKeys","sort","keyValue","has","createThunkMiddleware","extraArgument","thunk","withExtraArgument","createChainedFunction","indexes","getAllIndexes","element","cloneRef","originalRef","cloneElement","freeze","radiusSmall","radiusMedium","radiusLarge","widthSmall","widthMedium","widthLarge","brand","link","electric","shamrock","barney","fire","licorice","oxford","ash","slate","tiara","porcelain","textLink","textInfo","backgroundDarkest","backgroundDark","backgroundMedium","backgroundLight","backgroundLightest","backgroundBrand","backgroundBrandSecondary","backgroundAlert","backgroundInfo","backgroundSuccess","backgroundDanger","backgroundWarning","borderLightest","borderLight","borderMedium","borderDark","borderDarkest","borderBrand","borderAlert","borderInfo","borderSuccess","borderDanger","borderWarning","borderDebug","duration","timing","fontFamily","fontFamilyMonospace","fontSizeXSmall","fontSizeSmall","fontSizeMedium","fontSizeLarge","fontSizeXLarge","fontSizeXXLarge","fontWeightLight","fontWeightNormal","fontWeightBold","lineHeight","lineHeightFit","lineHeightCondensed","lineHeightDouble","letterSpacingNormal","letterSpacingCondensed","letterSpacingExpanded","inputHeightSmall","inputHeightMedium","inputHeightLarge","maxWidth","mediumMin","largeMin","xLargeMin","depth1","depth2","depth3","brandVariables","Parent","Class","construct","sham","Proxy","isNativeReflectConstruct","_cache","Map","Wrapper","THEMEABLE_STYLESHEET","DEBUG","ENV","DISABLE_SPEEDY_STYLESHEET","STYLES","GlamorStyleSheet","createSheet","inserted","mergeSourceIntoTarget","isObject","merged","Set","for","u","w","z","aa","A","B","C","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","D","E","refs","updater","F","G","isReactComponent","forceUpdate","H","isPureReactComponent","I","J","K","L","__self","__source","M","$$typeof","_owner","N","O","P","Q","keyPrefix","R","U","S","T","escape","ca","da","V","ba","W","X","toArray","only","createRef","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","_context","lazy","_ctor","_status","_result","useCallback","useImperativeHandle","useDebugValue","useState","Profiler","StrictMode","Suspense","createFactory","isValidElement","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Y","Z","ea","extractEvents","eventTypes","fa","phasedRegistrationNames","ha","registrationName","ia","ja","dependencies","ka","onError","la","ma","na","oa","pa","qa","sa","va","wa","currentTarget","ra","xa","ya","za","Aa","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","Ba","Ca","injectEventPluginOrder","injectEventPluginsByName","Da","stateNode","disabled","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Wa","Xa","_debugOwner","_debugSource","fileName","lineNumber","return","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","sb","tb","ub","vb","qb","rb","pb","setAttributeNS","wb","nodeName","yb","_valueTracker","setValue","stopTracking","xb","zb","checked","Ab","defaultChecked","_wrapperState","initialChecked","Bb","initialValue","controlled","Cb","Eb","Fb","Gb","ownerDocument","activeElement","Ib","Hb","Jb","selected","defaultSelected","Kb","Lb","Mb","Nb","xlinkHref","Ob","html","mathml","svg","Pb","Qb","Rb","Sb","MSApp","execUnsafeLocalFunction","namespaceURI","Tb","lastChild","nodeValue","Ub","Vb","animationend","animationiteration","animationstart","transitionend","Wb","Xb","Yb","animation","transition","Zb","$b","ac","bc","cc","ec","alternate","effectTag","fc","memoizedState","dehydrated","gc","ic","sibling","hc","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","zc","blockedOn","topLevelType","eventSystemFlags","nativeEvent","Ac","pointerId","Bc","Cc","Ec","Fc","unstable_runWithPriority","priority","hydrate","containerInfo","Gc","Hc","Ic","Jc","shift","Kc","unstable_scheduleCallback","unstable_NormalPriority","Lc","Mc","srcElement","correspondingUseElement","Nc","Oc","dispatchConfig","Pc","_targetInst","Qc","Rc","Sc","Tc","Uc","Interface","isDefaultPrevented","defaultPrevented","returnValue","Wc","eventPool","Xc","destructor","Vc","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","now","isTrusted","extend","Yc","animationName","elapsedTime","pseudoElement","Zc","clipboardData","$c","view","detail","ad","relatedTarget","bd","cd","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","dd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","ed","Alt","Control","Meta","Shift","gd","getModifierState","hd","ctrlKey","shiftKey","altKey","metaKey","locale","jd","kd","ld","md","nd","screenX","screenY","clientX","clientY","pageX","pageY","button","buttons","fromElement","toElement","movementX","movementY","od","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","pd","dataTransfer","qd","touches","targetTouches","changedTouches","rd","sd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","td","ud","vd","wd","yd","zd","Ad","Bd","Cd","Dd","bubbled","captured","eventPriority","Ed","getEventPriority","Fd","unstable_UserBlockingPriority","Gd","Hd","Id","Jd","Kd","targetInst","ancestors","Ld","Md","Nd","Od","Pd","Qd","Dc","Rd","Sd","WeakMap","xc","yc","add","Td","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Ud","Vd","Wd","Xd","menuitem","area","br","col","embed","hr","img","input","keygen","meta","param","track","wbr","Yd","Zd","$d","ae","be","body","ce","de","nextSibling","fe","HTMLIFrameElement","contentWindow","ge","contentEditable","he","ie","je","ke","le","me","ne","autoFocus","oe","pe","setTimeout","qe","clearTimeout","se","previousSibling","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","documentMode","Ie","Je","Ke","Le","beforeInput","compositionEnd","compositionStart","compositionUpdate","Me","Ne","Oe","Pe","Se","Qe","Re","Te","date","datetime","email","month","password","range","tel","time","week","Ue","Ve","change","We","Xe","Ye","Ze","$e","af","bf","cf","detachEvent","df","ef","attachEvent","ff","gf","hf","lf","jf","_isInputEventSupported","kf","mouseEnter","mouseLeave","pointerEnter","pointerLeave","mf","defaultView","parentWindow","of","pf","qf","rf","sf","select","tf","uf","vf","wf","xf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","yf","onSelect","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","unstable_cancelCallback","Of","unstable_shouldYield","Pf","unstable_requestPaint","Qf","unstable_now","Rf","unstable_getCurrentPriorityLevel","Sf","unstable_ImmediatePriority","Tf","Uf","Vf","unstable_LowPriority","Wf","unstable_IdlePriority","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","childExpirationTime","vg","firstContext","expirationTime","wg","xg","responders","yg","zg","baseState","firstUpdate","lastUpdate","firstCapturedUpdate","lastCapturedUpdate","firstEffect","lastEffect","firstCapturedEffect","lastCapturedEffect","Ag","Bg","suspenseConfig","nextEffect","Cg","Dg","updateQueue","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Sg","_reactInternalFiber","Pg","Qg","Rg","Tg","shouldComponentUpdate","Ug","Vg","UNSAFE_componentWillReceiveProps","Wg","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Xg","Yg","_stringRef","Zg","$g","ah","bh","mode","elementType","ch","implementation","dh","eh","ta","fh","gh","hh","ih","jh","kh","lh","mh","tagName","nh","oh","ph","qh","memoizedProps","revealOrder","rh","responder","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","queue","baseUpdate","Oh","Ph","Qh","lastRenderedReducer","lastRenderedState","eagerReducer","eagerState","Rh","Sh","Th","Uh","destroy","deps","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","readContext","useResponder","useDeferredValue","useTransition","unstable_next","ci","di","ei","fi","gi","hi","pendingProps","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","vi","wi","pendingContext","Hi","Ii","Ji","Ki","xi","retryTime","yi","fallback","unstable_avoidThisFallback","zi","Ai","isBackwards","rendering","tail","tailExpiration","tailMode","Bi","Ci","Li","Mi","Ni","stack","onClick","onclick","Oi","WeakSet","Pi","Si","Ri","Ti","Ui","__reactInternalSnapshotBeforeUpdate","Vi","Wi","Qi","Xi","Yi","Zi","$i","_reactRootContainer","aj","wasMultiple","multiple","bj","display","cj","dj","then","ej","fj","gj","hj","ij","componentDidCatch","jj","componentStack","gk","kj","ceil","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","timeoutMs","Kj","Lj","Mj","Nj","Oj","lastExpiredTime","Pj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Qj","timeout","Rj","Sj","Tj","Uj","Vj","Wj","finishedWork","finishedExpirationTime","lastSuspendedTime","Xj","timeoutHandle","Yj","busyMinDurationMs","busyDelayMs","Zj","bk","ck","pingCache","dk","ek","fk","createElementNS","ik","firstSuspendedTime","rangeCount","Db","focusedElem","selectionRange","jk","ee","contains","compareDocumentPosition","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","Dh","dc","fd","hk","Eh","Fh","xk","Di","Ei","Fi","xd","Gi","kk","lk","mk","hidden","Va","nk","unstable_observedBits","pk","pendingChildren","qk","rk","sk","tk","uk","vk","wc","_internalRoot","wk","zk","hasAttribute","yk","Bk","Ak","unmount","querySelectorAll","form","ak","Ck","createPortal","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","flushSync","Events","findFiberByHostInstance","isDisabled","supportsFiber","onCommitFiberRoot","onCommitFiberUnmount","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","Dk","Ek","MessageChannel","unstable_forceFrameRate","performance","cancelAnimationFrame","requestAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","priorityLevel","delay","unstable_wrapCallback","unstable_continueExecution","unstable_pauseExecution","unstable_getFirstCallbackNode","unstable_Profiling","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","secret","getShim","ReactPropTypes","array","symbol","arrayOf","instanceOf","objectOf","checkPropTypes","typeOf","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Memo","Portal","isValidElementType","isAsyncMode","isConcurrentMode","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","originalModule","webpackPolyfill","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","previousPromise","callInvokeWithMethodAndArg","Promise","resolve","reject","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","MODEL","NAME","TYPE","VENDOR","VERSION","MOBILE","TABLET","util","regexes","extensions","mergedRegexes","str1","str2","lowerize","mapper","rgx","arrays","maps","oldsafari","1.2","1.3","amazon","sprint","HTC","Sprint","windows","ME","XP","Vista","7","8.1","10","RT","cpu","UAParser","uastring","getResult","rgxmap","architecture","setUA","BROWSER","MAJOR","CPU","ARCHITECTURE","DEVICE","CONSOLE","SMARTTV","WEARABLE","EMBEDDED","ENGINE","OS","$","jQuery","Zepto","parser","at","escapee","isFinite","uffff","word","reviver","walk","holder","gap","rep","escapable","quote","mind","dictionary","dictionaryLengthMinus1","_ignored","idLength","bytes","_random","_uid","deprecated","_deprecated","deprecatePropValues","warnDeprecatedProps","warnDeprecatedComponent","changedPackageWarning","ALWAYS_APPEND_UI_TESTABLE_LOCATORS","locator","attribute","TestableComponent","_get2","appendLocatorAttribute","_get3","_testableUnmounted","_get4","locatorTimeout","_node","getElementType","getDefault","as","omit","originalObject","newObject","exclude","combined","pickProps","include","len","idx","pick","passthroughProps","validProps","isPropValid","cursor","fillRule","stroke","IconArrowOpenStartSolid","viewBox","glyphName","variant","callRenderProp","IconTroubleLine","IconWarningLine","hashedValue","valueToHash","triplet","output","toBase64","executeHash","IconXSolid","ScreenReaderContent","ElementType","getInteraction","_ref$props","_ref$interactionTypes","interactionTypes","interaction","readOnly","getActiveElement","doc","isActiveElement","matchComponentTypes","componentInstance","hasVisibleChildren","visible","ownerWindow","getComputedStyle","defaultDir","dirAttribute","DIRECTION","ltr","rtl","TextDirectionContext","makeTextDirectionContext","getTextDirectionContext","getDefaultDir","htmlEl","direction","MutationObserver","observe","getTextDirection","BidirectionalComponent","colorPrimaryInverse","borderStyle","borderColorPrimary","borderColorSecondary","borderColorSuccess","borderColorBrand","borderColorInfo","borderColorAlert","borderColorWarning","borderColorDanger","borderColorTransparent","borderRadiusSmall","borderRadiusMedium","borderRadiusLarge","debugOutlineColor","backgroundPrimary","backgroundSecondary","backgroundPrimaryInverse","arrowSize","focusOutlineStyle","focusOutlineWidth","focusOutlineOffset","focusOutlineInset","focusColorInfo","focusColorDanger","focusColorSuccess","focusColorInverse","xSmallMaxWidth","smallMaxWidth","mediumMaxWidth","largeMaxWidth","themeAdapter","_ref$shouldIncludeOld","shouldIncludeOldValues","updatedThemeVars","updatedVar","borderColorDefault","borderColorInverse","colorInverse","backgroundInverse","stackingTopmost","stackingAbove","stackingBelow","stackingDeepest","shadowTopmost","shadowResting","shadowAbove","focusOutlineColorDefault","View","focused","visualDebug","_dec3","_getPrototypeOf2","handleElementRef","elementRef","_element","verifyUniformValues","margin","textAlign","withVisualDebug","minWidth","minHeight","maxHeight","overflowX","overflowY","position","focusPosition","focusColor","shouldAnimateFocus","borderColor","withFocusOutline","focusOutlineClasses","shouldUseBrowserFocus","focusRingRadius","focusAnimation","withBorder","spacingStyle","offsetStyle","styleProps","_this$props2","_this$props$borderRad","_this$props3","_this$props4","padding","_this$props5","insetBlockStart","insetBlockEnd","insetInlineStart","insetInlineEnd","blockStart","blockEnd","bottom","horizontalOffsets","right","_this$props6","whitelisted","cursorPropTypes","omitViewProps","Item","grow","shrink","visualDeug","_classes","align","shouldGrow","shouldShrink","dirColumn","flexBasis","Flex","wrapItems","justifyItems","alignItems","backwardsDisplay","renderChildren","percent","Color","alpha","activeShadow","generateButtonThemeVars","textColor","ghostTextColor","backgroundColor","_ref$ghostBorderColor","ghostBorderColor","_ref3$borders","_ref3$colors","_ref3$forms","_ref3$spacing","_ref3$typography","hoverTransform","textTransform","letterSpacing","smallHeight","smallFontSize","smallPaddingHorizontal","smallPaddingTop","smallPaddingBottom","mediumHeight","mediumFontSize","mediumPaddingHorizontal","mediumPaddingTop","mediumPaddingBottom","largeHeight","largeFontSize","largePaddingHorizontal","largePaddingTop","largePaddingBottom","iconSizeSmall","iconSizeMedium","iconSizeLarge","primaryInverseBorderColor","primaryInverseHoverBackground","primaryInverseActiveBackground","primaryInverseActiveBoxShadow","successGhostHoverBackground","primaryGhostHoverBackground","secondaryBorderColor","primaryBackground","primaryBorderColor","secondaryBackground","primaryInverseBackground","successBackground","successBorderColor","dangerBackground","dangerBorderColor","dangerColor","primaryGhostBackground","primaryGhostBorderColor","primaryGhostColor","secondaryGhostBackground","secondaryGhostBorderColor","secondaryGhostColor","primaryInverseGhostBackground","primaryInverseGhostBorderColor","primaryInverseGhostColor","successGhostBackground","successGhostBorderColor","successGhostColor","dangerGhostBackground","dangerGhostBorderColor","dangerGhostColor","primaryActiveBackground","primaryActiveBoxShadow","secondaryActiveBackground","secondaryActiveBoxShadow","successActiveBackground","successActiveBoxShadow","dangerActiveBackground","dangerActiveBoxShadow","primaryGhostActiveBackground","primaryGhostActiveBoxShadow","secondaryGhostActiveBackground","secondaryGhostActiveBoxShadow","primaryInverseGhostActiveBackground","primaryInverseGhostActiveBoxShadow","successGhostActiveBackground","successGhostActiveBoxShadow","dangerGhostActiveBackground","dangerGhostActiveBoxShadow","primaryHoverBackground","secondaryHoverBackground","successHoverBackground","dangerHoverBackground","secondaryGhostHoverBackground","primaryInverseGhostHoverBackground","dangerGhostHoverBackground","BaseButton","_rootElement","handleClick","handleKeyDown","onKeyDown","_keycode$codes","keycode","enter","click","renderIcon","isCondensed","wrappedChildren","hasOnlyIconVisible","wrappedIcon","iconSVG","flexChildren","flexProps","withBackground","tabIndex","isReadOnly","isEnabled","content","withoutBackground","withoutBorder","offsetXSmall","offsetSmall","offsetMedium","CloseButton","buttonRef","screenReaderLabel","placement","__dangerouslyIgnoreExperimentalWarnings","IconNoSolid","IconInfoBorderlessSolid","IconCheckMarkSolid","IconWarningBorderlessSolid","parseUnit","ms","_parseUnit","_parseUnit2","num","unit","classListShimmed","apiForEmptyNode","remove","getClassList","classListApi","shimClassListForIE","classList","descr","HTMLElement","SVGElement","__reactInternalSnapshotFlag","__reactInternalSnapshot","polyfill","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","STATES","EXITED","EXITING","ENTERING","ENTERED","BaseTransition","_timeouts","transitioning","startTransition","transitionIn","transitionOnStart","transitionEnter","transitionExit","exit","toState","fromState","transitionCallback","transitionDuration","_unmounted","transitionClassName","getTransitionClassName","prevTransitionClassName","baseTransitionClassName","transitionEnabled","onTransition","initialState","onEnter","onEntering","onEntered","enterDelay","onExit","onExiting","onExited","exitDelay","in","transitionOnMount","cancelPrematurely","clearTransition","transitionState","exitedClassName","enteringClassName","enteredClassName","exitingClassName","unmountOnExit","states","_polyfill","Transition","handleExited","handleEntered","exited","exiting","entering","entered","marginTop","contentPadding","contentFontSize","contentFontFamily","contentFontWeight","contentLineHeight","closeButtonMarginTop","closeButtonMarginRight","iconColor","iconBackground","successIconBackground","infoBorderColor","infoIconBackground","warningBorderColor","warningIconBackground","dangerIconBackground","boxShadow","Alert","closeButtonLabel","handleTimeout","close","onExitTransition","onDismiss","clearTimeouts","removeScreenreaderAlert","open","handleKeyUp","renderCloseButtonLabel","esc","Icon","alert","success","warning","lr","liveRegion","isDOMNode","liveRegionPoliteness","isLiveRegionAtomic","getLiveRegion","srid","createScreenreaderContentNode","getElementById","initLiveRegion","createScreenreaderAlert","updateScreenreaderAlert","variantUI","icon","alertIcon","closeButton","onKeyUp","renderCloseButton","screenReaderOnly","renderAlert","paragraphMargin","Text","weight","fontStyle","ChildrenPropTypes","focusShadow","focusOutline","buttonVariant","mainColor","smallPadding","mediumPadding","largePadding","focusBorder","lightBackground","lightBorderColor","lightBorderStyle","lightColor","lightHoverBackground","lightActiveBackground","lightActiveBoxShadow","ghostBackground","ghostBorderStyle","ghostColor","ghostHoverBackground","ghostActiveBackground","ghostActiveBoxShadow","ghostInverseBackground","ghostInverseBorderColor","ghostInverseBorderStyle","ghostInverseColor","ghostInverseHoverBackground","ghostInverseActiveBackground","ghostInverseActiveBoxShadow","linkColor","linkBorderColor","linkFocusBorderColor","linkHoverColor","linkTextDecoration","linkInverseColor","inverseFocusBorder","iconBorderColor","iconPadding","iconHoverColor","iconActiveColor","iconFocusBoxShadow","iconPlusTextFontSize","iconPlusTextMargin","iconInverseColor","iconInverseHoverColor","iconInverseFocusBoxShadow","fluidWidthLineHeight","defaultBorderColor","circleDefaultBorderColor","defaultBackground","defaultColor","defaultHoverBackground","defaultActiveBackground","defaultActiveBoxShadow","circleDefaultBackground","circleDefaultColor","circleDefaultHoverBackground","circleDefaultActiveBackground","circleDefaultActiveBoxShadow","circlePrimaryBackground","circlePrimaryBorderColor","circlePrimaryColor","circlePrimaryHoverBackground","circlePrimaryActiveBackground","circlePrimaryActiveBoxShadow","circleDangerBackground","circleDangerBorderColor","circleDangerColor","circleDangerHoverBackground","circleDangerActiveBackground","circleDangerActiveBoxShadow","circleVariants","squareVariants","Button","_button","hasOnlyIcon","fluidWidth","IHaveVisibleChildren","hasTextAndIcon","buttonWidth","buttonBorderRadius","readCookie","cleanValue","cleanupCookieValue","doNotParse","isParsingCookie","objectAssign","Cookies","cookies","changeListeners","HAS_DOCUMENT_COOKIE","cookie","parseCookies","catch","_updateBrowserValues","parseOptions","_emitChange","getAll","name_1","finalOptions","addChangeListener","removeChangeListener","CookiesContext","__extends","extendStatics","__","CookiesProvider","_super","FlexItem","childrenOrValue","h1FontSize","h1FontWeight","h2FontSize","h2FontWeight","h3FontSize","h3FontWeight","h4FontSize","h4FontWeight","h5FontSize","h5FontWeight","borderPadding","Heading","ellipsis","border","isIE11","trackColor","xSmallSize","xSmallBorderWidth","smallSize","smallBorderWidth","mediumSize","mediumBorderWidth","largeSize","largeBorderWidth","inverseColor","Spinner","ie11","circleTrack","cx","cy","radius","circleSpin","inputValue","hasBorder","isFocused","makeRequirable","validator","rest","validTypes","validTypeNames","childName","oneOfEach","instanceCount","typeName","errors","enforceOrder","validTypeGroups","validateTypes","childNames","typeNames","formatGroupTypes","typeGroups","formatTypes","paddingSmall","paddingMedium","paddingLarge","smallMargin","mediumMargin","largeMargin","iconHoverColorInverse","buttonBorderWidth","messageColor","messageColorClickable","messageColorInverse","messageFontSizeSmall","messageFontSizeMedium","messageFontSizeLarge","clickableActiveBg","clickableActiveText","buttonBorderStyle","buttonHoverBorderStyle","Billboard","headingLevel","headingAs","heading","heroIsFunction","hero","SVGIconSize","renderHero","renderHeading","clickable"],"mappings":";iHAiBEA,EAAOC,QAAUC,EAAQ,IAARA,I,6BCdjBF,EAAOC,QAAUC,EAAQ,M,6BCHZ,SAASC,EAAgBC,EAAKC,EAAKC,GAYhD,OAXID,KAAOD,EACTG,OAAOC,eAAeJ,EAAKC,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZP,EAAIC,GAAOC,EAGNF,EAZT,mC,6BCAA,6CAEA,SAASQ,EAAQC,EAAQC,GACvB,IAAIC,EAAOR,OAAOQ,KAAKF,GAEvB,GAAIN,OAAOS,sBAAuB,CAChC,IAAIC,EAAUV,OAAOS,sBAAsBH,GACvCC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GACrD,OAAOZ,OAAOa,yBAAyBP,EAAQM,GAAKV,eAEtDM,EAAKM,KAAKC,MAAMP,EAAME,GAGxB,OAAOF,EAGM,SAASQ,EAAeC,GACrC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,GAE/CA,EAAI,EACNb,EAAQgB,GAAQ,GAAMC,SAAQ,SAAUxB,GACtC,YAAemB,EAAQnB,EAAKuB,EAAOvB,OAE5BE,OAAOuB,0BAChBvB,OAAOwB,iBAAiBP,EAAQjB,OAAOuB,0BAA0BF,IAEjEhB,EAAQgB,GAAQC,SAAQ,SAAUxB,GAChCE,OAAOC,eAAegB,EAAQnB,EAAKE,OAAOa,yBAAyBQ,EAAQvB,OAKjF,OAAOmB,I,6BCjCM,SAASQ,EAAgBC,GAItC,OAHAD,EAAkBzB,OAAO2B,eAAiB3B,OAAO4B,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAa7B,OAAO4B,eAAeF,KAEvBA,GAJzB,mC,6BCAA,SAASI,EAASjC,GAA4T,OAA1OiC,EAArD,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAoC,SAAkBnC,GAAO,cAAcA,GAA4B,SAAkBA,GAAO,OAAOA,GAAyB,oBAAXkC,QAAyBlC,EAAIoC,cAAgBF,QAAUlC,IAAQkC,OAAOG,UAAY,gBAAkBrC,IAA0BA,GAE/U,SAASsC,EAAQtC,GAW9B,OATEsC,EADoB,oBAAXJ,QAAuD,WAA9BD,EAASC,OAAOC,UACxC,SAAiBnC,GACzB,OAAOiC,EAASjC,IAGR,SAAiBA,GACzB,OAAOA,GAAyB,oBAAXkC,QAAyBlC,EAAIoC,cAAgBF,QAAUlC,IAAQkC,OAAOG,UAAY,SAAWJ,EAASjC,KAIhHA,G,YCXF,SAASuC,EAA2BC,EAAMC,GACvD,OAAIA,GAA2B,WAAlBH,EAAQG,IAAsC,oBAATA,EAI3C,OAAAC,EAAA,GAAsBF,GAHpBC,EAJX,mC,6BCAe,SAASE,EAAgBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAFxB,mC,6BCAe,SAASC,EAAgBlB,EAAGmB,GAMzC,OALAD,EAAkB5C,OAAO2B,gBAAkB,SAAyBD,EAAGmB,GAErE,OADAnB,EAAEG,UAAYgB,EACPnB,IAGcA,EAAGmB,GCLb,SAASC,EAAUC,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIL,UAAU,sDAGtBI,EAASb,UAAYlC,OAAOiD,OAAOD,GAAcA,EAAWd,UAAW,CACrED,YAAa,CACXlC,MAAOgD,EACP3C,UAAU,EACVD,cAAc,KAGd6C,GAAY,EAAeD,EAAUC,GAb3C,mC,6BCAA,SAASE,EAAkBjC,EAAQkC,GACjC,IAAK,IAAIjC,EAAI,EAAGA,EAAIiC,EAAM/B,OAAQF,IAAK,CACrC,IAAIkC,EAAaD,EAAMjC,GACvBkC,EAAWlD,WAAakD,EAAWlD,aAAc,EACjDkD,EAAWjD,cAAe,EACtB,UAAWiD,IAAYA,EAAWhD,UAAW,GACjDJ,OAAOC,eAAegB,EAAQmC,EAAWtD,IAAKsD,IAInC,SAASC,EAAaX,EAAaY,EAAYC,GAG5D,OAFID,GAAYJ,EAAkBR,EAAYR,UAAWoB,GACrDC,GAAaL,EAAkBR,EAAaa,GACzCb,EAbT,mC,8HCwCA,SAASc,EAAkBC,GACzB,IAAIN,EAAQhC,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACzEuC,EAAaC,WAASC,MAAMH,GAEhC,OAAmB,IAAfC,EACK,KACmB,kBAAVD,GAAsBA,EAAMrC,OAAS,GAAKsC,EAAa,EAChEG,IAAMC,cAAc,OAAQX,EAAOM,GAEnCM,YAAiBC,MAAMC,QAAQR,GAASA,EAAM,GAAKA,EAAON,GAItDK,I,OCnBXU,EAAe,CACjBC,YAFgB,cAQhBC,MAAOxE,YAAgB,GARP,cAQwByE,IAAU/D,QAOlDgE,iBAAkB,SAA0BC,EAAOC,GACjD,OAAO5E,YAAgB,GAhBT,cAgB0B,CACtC2E,MAAOA,EACPC,UAAWA,KAQfC,gBAAiB,SAAyBC,GACxC,GAAIA,EACF,OAAOA,EA5BK,iB,iCCTdC,GCOWC,EAAf,EDPqB5E,OAAOkC,UAAUyC,gBAetC,SAASE,EAAaC,EAAMC,GAC1B,GAAIC,EAAGF,EAAMC,GACX,OAAO,EAGT,GAAoB,kBAATD,GAA8B,OAATA,GAAiC,kBAATC,GAA8B,OAATA,EAC3E,OAAO,EAGT,IAAIE,EAAQjF,OAAOQ,KAAKsE,GACpBI,EAAQlF,OAAOQ,KAAKuE,GAExB,GAAIE,EAAM7D,SAAW8D,EAAM9D,OACzB,OAAO,EAIT,IAAK,IAAIF,EAAI,EAAGA,EAAI+D,EAAM7D,OAAQF,IAChC,IAAKyD,EAAerC,KAAKyC,EAAME,EAAM/D,MAAQ8D,EAAGF,EAAKG,EAAM/D,IAAK6D,EAAKE,EAAM/D,KACzE,OAAO,EAIX,OAAO,EAQT,SAAS8D,EAAGG,EAAGC,GAEb,OAAID,IAAMC,EAGK,IAAND,GAAiB,IAANC,GAAW,EAAID,IAAM,EAAIC,EAGpCD,IAAMA,GAAKC,IAAMA,EAIbP,I,wCEvDf,SAASQ,EAAkBC,EAASC,EAASC,GAC3C,IAAIC,EAAYH,EAAQI,cAAc,IAAIC,OAAOH,IAC7CI,EAAOJ,EAAMK,cAEjB,GAAKN,EAQE,CACL,IAAIO,GAAoBL,EACpBM,EAAYR,EAEZO,KACFL,EAAYO,SAASlC,cAAc,UACzBmC,aAAa,UAAU,GACjCR,EAAUQ,aAAa,OAAQ,YAC/BR,EAAUS,GAAKV,GAGZC,EAAUU,UA+BnB,SAASC,EAAkBC,EAAMb,GAE/B,IAAIc,EAAWD,EAAKC,UAAYD,EAAKE,WAEjCF,EAAKJ,cACPI,EAAKJ,aAAaT,EAAO,IAG3B,IAAK,IAAItE,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IACnCkF,EAAkBE,EAASpF,GAAIsE,GAtC7BY,CAAkBd,EAASM,GAC3BG,EAeN,SAAsBR,EAASC,GAC7B,OAAOgB,YAAajB,GAAS,SAAUkB,GACrC,IAAIC,EAAcC,YAAc,GAAIF,GAOpC,OALKA,EAAKG,WACRF,EAAYG,SAwElB,SAAmBJ,EAAMjB,GACvB,IAAIsB,EAAQL,EAAKI,SAASE,MAAM,KAE3BC,YAAoBP,KACvBK,EAAQA,EAAMG,KAAI,SAAUC,GAC1B,OApBN,SAA8BL,EAAUrB,GACtC,IAAI2B,EAAiBN,EAASO,OAW9B,OAVAD,EAAiBA,EAAeE,QAChC,2CAA2C,SAAUC,EAAOC,EAAYV,GACtE,IAAIW,EAASrG,UAAUA,UAAUC,OAAS,GAE1C,OAAIqG,EAAgBZ,IAAaW,EAAS,EACjCE,EAAsBb,EAAUU,EAAY/B,GAE5CqB,KAWAc,CAAqBT,EAAM1B,OAItC,OAAOsB,EAAMc,KAAK,KAjFSC,CAAUpB,EAAMjB,GACvCkB,EAAYE,UAAW,GAGlBF,KAxBOoB,CAAa/B,EAAW,IAAIJ,OAAOC,EAAM,OAGnDE,GACFR,EAAQyC,aAAatC,EAAWH,EAAQ0C,YAGtC,gBAAiBvC,EACnBA,EAAUwC,YAAclC,EAExBN,EAAUyC,WAAW3C,QAAUQ,OA/B7BN,IACGA,EAAUU,QA6DrB,SAASgC,EAAuB9B,EAAMb,GACpC,IAAIc,EAAWD,EAAKC,UAAYD,EAAKE,WAEjCF,EAAK+B,iBACP/B,EAAK+B,gBAAgB5C,GAGvB,IAAK,IAAItE,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IACnCiH,EAAuB7B,EAASpF,GAAIsE,GApEhC2C,CAAuB7C,EAASM,GAGlCN,EAAQ+C,YAAY5C,IA0E1B,SAASgC,EAAgBZ,GACvB,OAAOA,EAASS,MAAM,wBASxB,SAASI,EAAsBb,EAAUU,EAAY/B,GACnD,OAhBF,SAAwBqB,GAEtB,OAAOA,EAASS,MAAM,0BAclBgB,CAAezB,GACVA,EAIFU,GADc/B,EAXvB,SAA6BqB,EAAUrB,GACrC,IAAIsB,EAAQD,EAASE,MAAM,KAE3B,OADAD,EAAM,IAAMtB,EACLsB,EAAMc,KAAK,KAQWW,CAAoB1B,EAAUrB,GAASqB,GA+BvDxB,I,QC5Hf,SAASmD,EAAcC,EAAclE,GACnC,IAAImE,EAAY,GAEhB,OAAID,IAAiBlE,GAAUA,GAE/BvE,OAAOQ,KAAK+D,GAAOjD,SAAQ,SAAUxB,GAC/B2I,EAAa3I,KAASyE,EAAMzE,KAC9B4I,EAAU5I,GAAOyE,EAAMzE,OAGpB4I,GAPsCA,EAUhCF,I,gBCDf,SAASG,IACHC,cACFC,EAA0B9H,MAAM+H,KAAM3H,WAEtC4H,EAA6BhI,MAAM+H,KAAM3H,WAI7C,SAAS4H,EAA6BzD,EAAS0D,EAAWC,EAAUC,EAAQC,EAAU3D,GACpF,GAAKF,IAAW8D,YAAQJ,GAAxB,CAIA,IAAIN,EAAYF,EAAcS,EAAUD,GACpCzD,EAAU,GAEVmD,GAAa1I,OAAOQ,KAAKkI,GAAWtH,OAAS,IAC/CmE,EAAU8D,YAAuBF,EAAUxC,YAAc,GAAIsC,EAAU,GAAID,KAG7E3D,EAAkBC,EAASC,EAASC,IAGtC,SAASqD,EAA0BvD,EAAS0D,EAAWC,EAAUC,GAC/D,GAAK5D,IAAW8D,YAAQJ,GAAxB,EAYF,SAA+B1D,EAAS4D,GAGtC,IAFA,IAAII,EAAShE,EAAQiE,MAEZrI,EAAIoI,EAAOlI,OAAS,EAAGF,GAAK,EAAGA,IAAK,CAC3C,IAAIsI,EAAOF,EAAOpI,GAEdsI,EAAKC,QAAQ,KAAK9D,OAAOuD,EAAQ,OAAS,GAC5C5D,EAAQiE,MAAMG,eAAeF,IAfjCG,CAAsBrE,EAAS4D,GAC/B,IAAIR,EAAYF,EAAcS,EAAUD,GAEpCN,IAAcU,YAAQV,IAiB5B,SAA6BpD,EAASsE,GACpC5J,OAAOQ,KAAKoJ,GAAYtI,SAAQ,SAAUuI,GACxC,IAAI9J,EAAQ6J,EAAWC,GAEnB9J,GACFuF,EAAQiE,MAAMO,YAAYD,EAAc9J,MArB1CgK,CAAoBzE,EAAS0E,YAAoBtB,EAAWQ,KA0BjDP,I,SC7EXsB,GAAS,EASb,SAASC,IACP,IAAID,IACJA,GAAS,EAELE,KAAW,CACb,IAAIC,EAAMpE,SAASqE,gBAAgBC,aAAa,OAE3CF,GAMHpE,SAASqE,gBAAgBpE,aAAa,MAAO,QAKpCiE,I,QC4BXK,EAAW,GAkBXC,EAAYC,aAAU,SAAUC,EAAmBnG,GACrD,IAAI+E,EAASnI,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC1EwJ,EAAUxJ,UAAUC,OAAS,EAAID,UAAU,QAAK,EAChDyJ,EAAcF,EAAkBE,aAAeF,EAAkBG,KACjEC,EAAc,GAAGnF,OAAO2D,GAAUA,EAAOwB,aAAeC,eAW5D,IAAIC,EAAajJ,OAAO+I,GAEpB3B,EAAW,aAEXG,GAAUA,EAAOH,WACnBA,EAAsC,oBAApBG,EAAOH,SAA0BG,EAAOH,SAAW,WAMnE,MAAO,KAIX8B,YAAuBD,EAAYzG,GAEnC,IAAI2G,EAAa,SAAoBxG,GAEnC,OADmBR,EAAaO,gBAAgBC,IACzB6F,GAGrBY,EAAsB,SAA6BzG,GACrD,IACIH,EADc2G,EAAWxG,GACLH,MAExB,OAAIA,GAASA,EAAMyG,GACVhL,OAAOoL,OAAO,GAAI7G,EAAMyG,IAExBT,GAIPc,EAA6B,SAAoCC,EAAU5C,GAC7E,OAAO6C,YAAuBP,EAAYM,EAAU5C,IAGlD8C,EAEJ,SAAUC,GAGR,SAASD,IACP,IAAIE,EAEJlJ,YAAgBsG,KAAM0C,GAEtB,IAAIG,EAAMD,EAAQtJ,YAA2B0G,KAAMrH,YAAgB+J,GAAoBzK,MAAM+H,KAAM3H,YAEnGuK,EAAME,YAAc,KACpBF,EAAMG,YAAcd,YAAIH,GACxB,IAAInC,EAAe4C,IAEnB,OADAS,YAAqB3C,EAAUV,EAAcqC,GACtC1I,YAA2BsJ,EAAOC,GA+F3C,OA5GA7I,YAAU0I,EAAoBC,GAgB9BpI,YAAamI,EAAoB,CAAC,CAChC1L,IAAK,oBACLC,MAAO,WACL+I,KAAKiD,aACL7B,IAEI8B,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,oBAAqB4G,OAC3EkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,oBAAqB4G,MAAMxG,KAAKwG,QAGvF,CACDhJ,IAAK,wBACLC,MAAO,SAA+BkM,EAAWC,EAAWC,GAE1D,OAD8BvH,IAAUV,EAAaO,gBAAgBqE,KAAKpE,SAAUR,EAAaO,gBAAgB0H,MAG7GH,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,wBAAyB4G,MACxEkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,wBAAyB4G,MAAMxG,KAAKwG,KAAMmD,EAAWC,EAAWC,IAGrHtH,EAAaiE,KAAK3F,MAAO8I,KAAepH,EAAaiE,KAAKsD,MAAOF,KAAerH,EAAaiE,KAAKpE,QAASyH,MAEpH,CACDrM,IAAK,qBACLC,MAAO,SAA4BsM,EAAWC,EAAWC,GAClD3H,IAAUyH,EAAU9H,MAAOuE,KAAK3F,MAAMoB,QAAWK,IAAUuG,EAAoBoB,GAAcpB,EAAoBrC,KAAKpE,YACzHoE,KAAK8C,YAAc,MAGrB9C,KAAKiD,aAEDC,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,qBAAsB4G,OAC5EkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,qBAAsB4G,MAAMxG,KAAKwG,KAAMuD,EAAWC,EAAWC,KAGpH,CACDzM,IAAK,aACLC,MAAO,SAAoByM,GACzB,IAAIpD,YAAQN,KAAKvE,OAAjB,CAIA,IAAIkE,EAAe4C,IACnB1C,EAAqB6D,GAAWC,YAAY3D,MAC5CA,KAAKvE,MAAOkE,EAAcqC,EAAa3B,EACvCL,KAAKtD,UAGN,CACD1F,IAAK,QACL4M,IAAK,WACH,MAAO,GAAG/G,OAAOmF,EAAa,MAAMnF,OAAOmD,KAAK+C,eAEjD,CACD/L,IAAK,QACL4M,IAAK,WACH,GAAyB,OAArB5D,KAAK8C,YACP,OAAO9C,KAAK8C,YAGd,IACIpH,EADe0G,EAAWpC,KAAKpE,SACNF,UAEzBD,EAAQ4G,EAAoBrC,KAAKpE,SAyBrC,OAvBIoE,KAAK3F,MAAMoB,QAAU6E,YAAQN,KAAK3F,MAAMoB,SACrCA,EAEMC,EAIqEsE,KAAK3F,MAAMoB,MAEzFA,EAAQ6E,YAAQ7E,GAASuE,KAAK3F,MAAMoB,MAAQvE,OAAOoL,OAAO,GAAI7G,EAAOuE,KAAK3F,MAAMoB,OAPhFA,EAAQuE,KAAK3F,MAAMoB,OAYA,oBAAZoG,IACTpG,EAAQoG,EAAQ,CACdpG,MAAOA,EACPqG,YAAaA,KAKjB9B,KAAK8C,YAAcP,EAA2B,KAAM9G,GAC7CuE,KAAK8C,gBAITJ,EA7GT,CA8GEd,GAUF,OARAc,EAAmBV,YAAcA,EACjCU,EAAmBjH,MAAQyG,EAC3BQ,EAAmBmB,aAAe3M,OAAOoL,OAAO,GAAIV,EAAkBiC,aAAczI,EAAaE,OACjGoH,EAAmBoB,UAAY5M,OAAOoL,OAAO,GAAIV,EAAkBkC,UAAW,CAC5ErI,MAAOF,IAAU/D,SAGnBkL,EAAmBqB,cAAgBxB,EAC5BG,KAWThB,EAAUqC,cAAgBA,IACXrC,ICnPXsC,EAEJ,SAAUC,GAGR,SAASD,IAGP,OAFAtK,YAAgBsG,KAAMgE,GAEf1K,YAA2B0G,KAAMrH,YAAgBqL,GAAY/L,MAAM+H,KAAM3H,YA8BlF,OAnCA2B,YAAUgK,EAAYC,GAQtB1J,YAAayJ,EAAY,CAAC,CACxBhN,IAAK,kBACLC,MAAO,WACL,IAAIwE,EAAQuE,KAAK3F,MAAMoB,OAAS,GAC5ByI,EAAqB9I,EAAaO,gBAAgBqE,KAAKpE,UAAY,GAavE,OAXIsI,EAAmBxI,WAAawI,EAAmBzI,OAI9CuE,KAAK3F,MAAMoB,MAAyEuE,KAAK3F,MAAMoB,MAEtGA,EAAQyI,EAAmBzI,OAClByI,EAAmBzI,QAC5BA,EAAQ0I,YAAUD,EAAmBzI,MAAOA,IAGvCL,EAAaI,iBAAiBC,EAAOyI,EAAmBxI,WAAasE,KAAK3F,MAAMqB,aAExF,CACD1E,IAAK,SACLC,MAAO,WACL,OAAOyD,EAAkBsF,KAAK3F,MAAMmD,cAIxCwG,EAAWlC,YAAc,aAClBkC,EApCT,CAqCEI,aAEFJ,EAAWF,UAAY,CAIrBrI,MAAOF,IAAU/D,OAKjBgG,SAAUjC,IAAUgC,KAKpB7B,UAAWH,IAAU8I,MAEvBL,EAAWM,aAAe,CACxB7I,WAAO,EACP+B,SAAU,KACV9B,WAAW,GAEbsI,EAAWO,kBAAoBnJ,EAAaE,MAC5C0I,EAAWH,aAAezI,EAAaE,MACvC0I,EAAWD,cAAgBrC,EAAUqC,cACtBC,ICpFXQ,EAAsB,CACxBC,aAAc,CACZC,QAAS,UACTC,MAAO,QACPC,QAAS,UACTC,KAAM,QAERC,eAAgB,CACdC,QAAS,UACTC,MAAO,QACPN,QAAS,UACTC,MAAO,QACPC,QAAS,WAEXK,cAAe,CACb,EAAK,IACLJ,KAAM,OACNK,MAAO,QACPC,OAAQ,SACRC,MAAO,SAETC,aAAc,CACZ,EAAK,IACLR,KAAM,OACNK,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPE,OAAQ,SACRC,KAAM,QAERC,YAAa,CACXC,QAAS,UACTC,QAAS,UACTC,YAAa,eAEfC,MAAO,CACLC,OAAQ,UACRX,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPU,OAAQ,WAEVC,QAAS,CACP,EAAK,IACLlB,KAAM,OACNmB,KAAM,OACNC,SAAU,YACVC,QAAS,WACTL,OAAQ,UACRX,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPU,OAAQ,UACRK,QAAS,a,YCnCb,SAASC,EAASC,GAChB,OAAOA,EAAI9H,QAAQ,aAAa,SAAU+H,GACxC,OAAOA,EAAE,GAAGC,iBChBhB,SAASC,EAAsBC,EAAeC,EAAgBC,EAAWC,GACvE,GAAyB,kBAAdD,IAA0BrG,YAAQoG,GAI7C,OAAOC,EAAU1I,MAAM,KAAKE,KAAI,SAAU0I,GACxC,GAAuB,SAAnBA,GAAgD,MAAnBA,EAC/B,OAAOA,EAGT,GAAuB,SAAnBA,EACF,MAAO,IAGT,GAAuB,WAAnBA,EACF,MAAO,OAGT,GAAuB,SAAnBA,EACF,MAAO,QAGT,IAAIC,EAAoBV,EAAS,GAAGvJ,OAAO+J,EAAU,KAAK/J,OAAOgK,IAC7DE,EAAqBL,EAAeI,GAOxC,MAF2B,IAAIjK,OAAO4J,EAAe,OAAO5J,OAAOiK,EAAmB,qBAAqBjK,OAAO+J,EAAU,YAErHG,GAAsB,OAC5BjI,KAAK,KAAKR,OCtBf,SAAS0I,EAAc5G,EAAQ6G,GAC7B,IAAIC,EAAY,GAIhB,OAHAhQ,OAAOQ,KAAKuP,GAAMzO,SAAQ,SAAU2O,GAClCD,EAAUd,EAAS,GAAGvJ,OAAOuD,EAAQ,KAAKvD,OAAOsK,KAAcF,EAAKE,MAE/DD,ECGT,SAASE,EAAqBC,GAC5B,GAAsB,kBAAXA,EAAX,CAIA,IAAIC,EAAYD,EAAOpJ,MAAM,KAE7B,GAAyB,IAArBqJ,EAAUhP,OAAc,CAE1B,IAAIiP,EAAO,CAACD,EAAU,GAAIA,EAAU,IACpCA,EAAU,GAAKC,EAAK,GACpBD,EAAU,GAAKC,EAAK,GAGtB,OAAOD,EAAUxI,KAAK,MAiBxB,SAAS0I,EAAuBH,GAC9B,GAAsB,kBAAXA,EAAX,CAIA,IAAIC,EAAYD,EAAOpJ,MAAM,KAE7B,GAAyB,IAArBqJ,EAAUhP,OAAc,CAE1B,IAAImP,EAAQ,CAACH,EAAU,GAAIA,EAAU,IACrCA,EAAU,GAAKG,EAAM,GACrBH,EAAU,GAAKG,EAAM,GAQvB,GALyB,IAArBH,EAAUhP,QAEZgP,EAAUtP,KAAKsP,EAAU,IAGF,IAArBA,EAAUhP,OAAc,CAC1B,IAAIoP,EAAQ,CAACJ,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,IACjEA,EAAU,GAAKI,EAAM,GACrBJ,EAAU,GAAKI,EAAM,GACrBJ,EAAU,GAAKI,EAAM,GACrBJ,EAAU,GAAKI,EAAM,GAGvB,OAAOJ,EAAUxI,KAAK,M,OC9ET0I,ICCX/C,EAAeD,EAAoBC,aACnCK,EAAiBN,EAAoBM,eACrCG,GAAgBT,EAAoBS,cACpCI,GAAeb,EAAoBa,aACnCG,GAAchB,EAAoBgB,YAClCI,GAAQpB,EAAoBoB,MAC5BG,GAAUvB,EAAoBuB,QAS9B4B,GAAqB,CACvBC,OAAQrM,IAAUsM,MAAM3Q,OAAOmQ,OAAO5C,IACtCqD,SAAUvM,IAAUsM,MAAM3Q,OAAOmQ,OAAOvC,IACxCiD,YAAaC,GAAkB9Q,OAAOmQ,OAAOpC,KAC7CgD,aAAcD,GAAkB9Q,OAAOmQ,OAAOhC,KAC9C6C,WAAY3M,IAAUsM,MAAM3Q,OAAOmQ,OAAO7B,KAC1C2C,KAAM5M,IAAUsM,MAAM3Q,OAAOmQ,OAAOzB,KACpCwC,QAASJ,GAAkB9Q,OAAOmQ,OAAOtB,MAG3C,SAASiC,GAAkBK,GACzB,OAAO,SAAUhO,EAAOuM,EAAUH,EAAe6B,GAC/C,IAAI3B,EAAYtM,EAAMuM,GAEtB,GAAyB,qBAAdD,EAAX,CAIA,IAAI4B,SAAuB5B,EAE3B,GAAsB,WAAlB4B,EACF,OAAO,IAAIC,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,eAAe/J,OAAO0L,EAAe,mBAAmB1L,OAAO4J,EAAe,gBAAkB,aAGtK,IAAIgC,EAAa9B,EAAU1I,MAAM,KAC7ByK,EAAeD,EAAWnQ,OAE9B,KAAIoQ,EAAe,GAAKA,EAAe,GASrC,OAAO,IAAIF,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,OAAO/J,OAAO8J,EAAW,mBAAmB9J,OAAO4J,EAAe,gBAAkB,wDAAwD5J,OAAOwL,EAAYvJ,KAAK,MAAO,OAR/O,IAAK,IAAI1G,EAAI,EAAGA,EAAIsQ,EAActQ,IAAK,CAGrC,IAAoB,IAFHiQ,EAAY1H,QAAQ8H,EAAWrQ,IAG9C,OAAO,IAAIoQ,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,OAAO/J,OAAO4L,EAAWrQ,GAAI,mBAAmByE,OAAO4J,EAAe,gBAAkB,aAAa5J,OAAOwL,EAAYvJ,KAAK,MAAO,UASnM6I,I,aCzDAgB,GAAf,ECAeC,GAAf,E,OCpBWC,GAAqB,WAC9B,IAAItB,EAAOlP,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACxEyQ,EAAWvB,EAAKpJ,IAChBA,OAAmB,IAAb2K,EAAsB,GAAKA,EACjCC,EAAUxB,EAAKwB,QAEnB,OAAO,WACL,IAAItB,EAAQpP,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACzE2Q,EAAcvB,EAAMhM,MACpBA,OAAwB,IAAhBuN,EAAyB,GAAKA,EACtClH,EAAc2F,EAAM3F,YAExB,OAAO5K,OAAO+R,QAAQxN,GAAOyN,QAAO,SAAUC,EAAQzB,GACpD,IAAI0B,EAAQC,aAAe3B,EAAO,GAC9B1Q,EAAMoS,EAAM,GACZnS,EAAQmS,EAAM,GAElB,OAAIjL,EAAInH,IAIO,IAAI6F,OAAOiF,EAAa,0BAA0BjF,OAAO7F,EAAK,2BAA2B6F,OAAOsB,EAAInH,GAAM,MAAM6F,OAAOkM,EAAU,eAAelM,OAAOkM,EAAS,OAAOlM,OAAO7F,EAAK,+CAA+C6F,OAAOsB,EAAInH,GAAM,cAAgB,IAEzQ6G,YAAc,GAAIsL,EAAQrS,YAAgB,GAAIqH,EAAInH,GAAMC,KAG1D4G,YAAc,GAAIsL,EAAQrS,YAAgB,GAAIE,EAAKC,MACzD,MC/BP,iP,gBCAA,OAOC,WACA,aAEA,IAAIqS,EAAS,GAAGzN,eAEhB,SAAS0N,IAGR,IAFA,IAAIC,EAAU,GAELpR,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAC1C,IAAIqR,EAAMpR,UAAUD,GACpB,GAAKqR,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BF,EAAQxR,KAAKyR,QACP,GAAIvO,MAAMC,QAAQsO,IAAQA,EAAInR,OAAQ,CAC5C,IAAIqR,EAAQJ,EAAWtR,MAAM,KAAMwR,GAC/BE,GACHH,EAAQxR,KAAK2R,QAER,GAAgB,WAAZD,EACV,IAAK,IAAI1S,KAAOyS,EACXH,EAAO9P,KAAKiQ,EAAKzS,IAAQyS,EAAIzS,IAChCwS,EAAQxR,KAAKhB,IAMjB,OAAOwS,EAAQ1K,KAAK,KAGgBnI,EAAOC,SAC3C2S,EAAW9D,QAAU8D,EACrB5S,EAAOC,QAAU2S,QAGX,kBACL,OAAOA,GADF,QAAe,OAAf,aAtCP,I,wCCNc,SAAS,EAAKpR,EAAQyR,EAAUC,GAiB7C,OAfE,EADqB,qBAAZC,SAA2BA,QAAQlG,IACrCkG,QAAQlG,IAER,SAAczL,EAAQyR,EAAUC,GACrC,IAAIE,ECLK,SAAwBvS,EAAQoS,GAC7C,MAAQ1S,OAAOkC,UAAUyC,eAAerC,KAAKhC,EAAQoS,IAEpC,QADfpS,EAAS,OAAAsB,EAAA,GAAetB,MAI1B,OAAOA,EDDQ,CAAcW,EAAQyR,GACjC,GAAKG,EAAL,CACA,IAAIC,EAAO9S,OAAOa,yBAAyBgS,EAAMH,GAEjD,OAAII,EAAKpG,IACAoG,EAAKpG,IAAIpK,KAAKqQ,GAGhBG,EAAK/S,SAIJkB,EAAQyR,EAAUC,GAAY1R,GAlB5C,mC,gBEuBYtB,EAAQ,GAApB,IAEIoT,GAAkC,EActC,SAASC,EAAWC,EAAOC,EAAiBC,EAAWC,IAkBvD,SAASC,EAAcF,EAAWC,GAChC,GAAKE,8CAAYC,iCAMLJ,GAAcJ,IACxBA,GAAkC,EACG,CAAC,kOAAmO,8JAA8JnL,KAAK,aAR3X,CACjD,IAAK,IAAI4L,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,EAAQ,EAAIA,EAAQ,EAAI,GAAIE,EAAQ,EAAGA,EAAQF,EAAOE,IACxGD,EAAKC,EAAQ,GAAKvS,UAAUuS,GAG9BV,EAAWjS,WAAM,EAAQ,CAAC,QAAQ,EAAMoS,EAAWC,GAASzN,OAAO8N,KAOvE/T,EAAQiU,MAAQ,WACd,IAAK,IAAIC,EAAQzS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAM4P,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFJ,EAAKI,GAAS1S,UAAU0S,GAG1B,OAAOb,EAAWjS,WAAM,EAAQ,CAAC,SAAS,GAAM4E,OAAO8N,KAGzD/T,EAAQoU,KAAO,WACb,IAAK,IAAIC,EAAQ5S,UAAUC,OAAQqS,EAAO,IAAIzP,MAAM+P,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFP,EAAKO,GAAS7S,UAAU6S,GAG1B,OAAOhB,EAAWjS,WAAM,EAAQ,CAAC,QAAQ,GAAM4E,OAAO8N,KAGxD/T,EAAQuU,eAAiB,WACvB,OAAOZ,EAActS,WAAM,EAAQI,YAGrCzB,EAAQwU,KAAO,WACb,IAAIC,EAEJ,OAAQA,EAAYC,SAASF,KAAKnT,MAAMoT,EAAWhT,YAGrDzB,EAAQ2U,OAAS,WACf,IAAIC,EAEJ,OAAQA,EAAYF,SAASC,OAAOtT,MAAMuT,EAAWnT,YAGvDzB,EAAQ6U,MAAQ,WACd,IAAIC,EAEJ,OAAQA,EAAYJ,SAASG,MAAMxT,MAAMyT,EAAWrT,YAGtDzB,EAAQ+U,IAAM,WACZ,IAAIC,EAEJ,OAAQA,EAAYN,SAASK,IAAI1T,MAAM2T,EAAWvT,a,gBCxFxCxB,EAAQ,GAepB,SAASgV,EAAmB1B,EAAOE,EAAWC,IAkB9C1T,EAAQiU,MAAQ,WACd,IAAK,IAAIH,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,GAAQE,EAAQ,EAAGA,EAAQF,EAAOE,IACpFD,EAAKC,GAASvS,UAAUuS,GAG1B,OAAOiB,EAAmB5T,WAAM,EAAQ,CAAC,SAAS4E,OAAO8N,KAG3D/T,EAAQoU,KAAO,WACb,IAAK,IAAIF,EAAQzS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAM4P,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFJ,EAAKI,GAAS1S,UAAU0S,GAG1B,OAAOc,EAAmB5T,WAAM,EAAQ,CAAC,QAAQ4E,OAAO8N,KAG1D/T,EAAQwU,KAAO,WACb,IAAIC,EAEJ,OAAQA,EAAYC,SAASF,KAAKnT,MAAMoT,EAAWhT,YAGrDzB,EAAQ2U,OAAS,WACf,IAAIC,EAEJ,OAAQA,EAAYF,SAASC,OAAOtT,MAAMuT,EAAWnT,YAGvDzB,EAAQ6U,MAAQ,WACd,IAAIC,EAEJ,OAAQA,EAAYJ,SAASG,MAAMxT,MAAMyT,EAAWrT,YAGtDzB,EAAQ+U,IAAM,WACZ,IAAIC,EAEJ,OAAQA,EAAYN,SAASK,IAAI1T,MAAM2T,EAAWvT,a,6BC1FrC,SAASyT,EAAmBC,GACzC,OCJa,SAA4BA,GACzC,GAAI7Q,MAAMC,QAAQ4Q,GAAM,CACtB,IAAK,IAAI3T,EAAI,EAAG4T,EAAO,IAAI9Q,MAAM6Q,EAAIzT,QAASF,EAAI2T,EAAIzT,OAAQF,IAC5D4T,EAAK5T,GAAK2T,EAAI3T,GAGhB,OAAO4T,GDFF,CAAkBD,IEJZ,SAA0BE,GACvC,GAAIhT,OAAOC,YAAYhC,OAAO+U,IAAkD,uBAAzC/U,OAAOkC,UAAU8S,SAAS1S,KAAKyS,GAAgC,OAAO/Q,MAAMiR,KAAKF,GFGvF,CAAgBF,IGJpC,WACb,MAAM,IAAIlS,UAAU,mDHGqC,GAJ3D,mC,gBIuBYhD,EAAQ,GAApB,IAEIoT,GAAkC,EActC,SAASC,EAAWC,EAAOC,EAAiBC,EAAWC,IAkBvD,SAASC,EAAcF,EAAWC,GAChC,GAAKE,8CAAYC,iCAMLJ,GAAcJ,IACxBA,GAAkC,EACG,CAAC,kOAAmO,8JAA8JnL,KAAK,aAR3X,CACjD,IAAK,IAAI4L,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,EAAQ,EAAIA,EAAQ,EAAI,GAAIE,EAAQ,EAAGA,EAAQF,EAAOE,IACxGD,EAAKC,EAAQ,GAAKvS,UAAUuS,GAG9BV,EAAWjS,WAAM,EAAQ,CAAC,QAAQ,EAAMoS,EAAWC,GAASzN,OAAO8N,KAOvE/T,EAAQiU,MAAQ,WACd,IAAK,IAAIC,EAAQzS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAM4P,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFJ,EAAKI,GAAS1S,UAAU0S,GAG1B,OAAOb,EAAWjS,WAAM,EAAQ,CAAC,SAAS,GAAM4E,OAAO8N,KAGzD/T,EAAQoU,KAAO,WACb,IAAK,IAAIC,EAAQ5S,UAAUC,OAAQqS,EAAO,IAAIzP,MAAM+P,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFP,EAAKO,GAAS7S,UAAU6S,GAG1B,OAAOhB,EAAWjS,WAAM,EAAQ,CAAC,QAAQ,GAAM4E,OAAO8N,KAGxD/T,EAAQuU,eAAiB,WACvB,OAAOZ,EAActS,WAAM,EAAQI,YAGrCzB,EAAQwU,KAAO,WACb,IAAIC,EAEJ,OAAQA,EAAYC,SAASF,KAAKnT,MAAMoT,EAAWhT,YAGrDzB,EAAQ2U,OAAS,WACf,IAAIC,EAEJ,OAAQA,EAAYF,SAASC,OAAOtT,MAAMuT,EAAWnT,YAGvDzB,EAAQ6U,MAAQ,WACd,IAAIC,EAEJ,OAAQA,EAAYJ,SAASG,MAAMxT,MAAMyT,EAAWrT,YAGtDzB,EAAQ+U,IAAM,WACZ,IAAIC,EAEJ,OAAQA,EAAYN,SAASK,IAAI1T,MAAM2T,EAAWvT,a,6BC/GpD,8CACe,SAAS+T,EAAyB7T,EAAQ8T,GACvD,GAAc,MAAV9T,EAAgB,MAAO,GAC3B,IACIvB,EAAKoB,EADLD,EAAS,YAA6BI,EAAQ8T,GAGlD,GAAInV,OAAOS,sBAAuB,CAChC,IAAI2U,EAAmBpV,OAAOS,sBAAsBY,GAEpD,IAAKH,EAAI,EAAGA,EAAIkU,EAAiBhU,OAAQF,IACvCpB,EAAMsV,EAAiBlU,GACnBiU,EAAS1L,QAAQ3J,IAAQ,GACxBE,OAAOkC,UAAUmT,qBAAqB/S,KAAKjB,EAAQvB,KACxDmB,EAAOnB,GAAOuB,EAAOvB,IAIzB,OAAOmB,I,gBCMGtB,EAAQ,GAepB,SAASgV,EAAmB1B,EAAOE,EAAWC,IAkB9C1T,EAAQiU,MAAQ,WACd,IAAK,IAAIH,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,GAAQE,EAAQ,EAAGA,EAAQF,EAAOE,IACpFD,EAAKC,GAASvS,UAAUuS,GAG1B,OAAOiB,EAAmB5T,WAAM,EAAQ,CAAC,SAAS4E,OAAO8N,KAG3D/T,EAAQoU,KAAO,WACb,IAAK,IAAIF,EAAQzS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAM4P,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFJ,EAAKI,GAAS1S,UAAU0S,GAG1B,OAAOc,EAAmB5T,WAAM,EAAQ,CAAC,QAAQ4E,OAAO8N,KAG1D/T,EAAQwU,KAAO,WACb,IAAIC,EAEJ,OAAQA,EAAYC,SAASF,KAAKnT,MAAMoT,EAAWhT,YAGrDzB,EAAQ2U,OAAS,WACf,IAAIC,EAEJ,OAAQA,EAAYF,SAASC,OAAOtT,MAAMuT,EAAWnT,YAGvDzB,EAAQ6U,MAAQ,WACd,IAAIC,EAEJ,OAAQA,EAAYJ,SAASG,MAAMxT,MAAMyT,EAAWrT,YAGtDzB,EAAQ+U,IAAM,WACZ,IAAIC,EAEJ,OAAQA,EAAYN,SAASK,IAAI1T,MAAM2T,EAAWvT,a,6BC7FrC,SAASmU,IAetB,OAdAA,EAAWtV,OAAOoL,QAAU,SAAUnK,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAIpB,KAAOuB,EACVrB,OAAOkC,UAAUyC,eAAerC,KAAKjB,EAAQvB,KAC/CmB,EAAOnB,GAAOuB,EAAOvB,IAK3B,OAAOmB,IAGOF,MAAM+H,KAAM3H,WAf9B,mC,6BCAe,SAASqB,EAAgBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAFxB,mC,6BCAe,SAASlB,EAAgBC,GAItC,OAHAD,EAAkBzB,OAAO2B,eAAiB3B,OAAO4B,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAa7B,OAAO4B,eAAeF,KAEvBA,GAJzB,mC,8BCEA,SAAS6T,IAEP,GAC4C,qBAAnCC,gCAC4C,oBAA5CA,+BAA+BD,SAFxC,CAMIjC,EAUJ,IAEEkC,+BAA+BD,SAASA,GACxC,MAAOE,GAGPrB,QAAQT,MAAM8B,KAOhBF,GACA9V,EAAOC,QAAUC,EAAQ,M,6BClC3B,SAASuD,EAAkBjC,EAAQkC,GACjC,IAAK,IAAIjC,EAAI,EAAGA,EAAIiC,EAAM/B,OAAQF,IAAK,CACrC,IAAIkC,EAAaD,EAAMjC,GACvBkC,EAAWlD,WAAakD,EAAWlD,aAAc,EACjDkD,EAAWjD,cAAe,EACtB,UAAWiD,IAAYA,EAAWhD,UAAW,GACjDJ,OAAOC,eAAegB,EAAQmC,EAAWtD,IAAKsD,IAInC,SAASC,EAAaX,EAAaY,EAAYC,GAG5D,OAFID,GAAYJ,EAAkBR,EAAYR,UAAWoB,GACrDC,GAAaL,EAAkBR,EAAaa,GACzCb,EAbT,mC,6BCAA,8CACe,SAASI,EAAUC,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIL,UAAU,sDAGtBI,EAASb,UAAYlC,OAAOiD,OAAOD,GAAcA,EAAWd,UAAW,CACrED,YAAa,CACXlC,MAAOgD,EACP3C,UAAU,EACVD,cAAc,KAGd6C,GAAY,YAAeD,EAAUC,K,6BCb3C,SAASlB,EAASjC,GAA4T,OAA1OiC,EAArD,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAoC,SAAkBnC,GAAO,cAAcA,GAA4B,SAAkBA,GAAO,OAAOA,GAAyB,oBAAXkC,QAAyBlC,EAAIoC,cAAgBF,QAAUlC,IAAQkC,OAAOG,UAAY,gBAAkBrC,IAA0BA,GAE/U,SAASsC,EAAQtC,GAW9B,OATEsC,EADoB,oBAAXJ,QAAuD,WAA9BD,EAASC,OAAOC,UACxC,SAAiBnC,GACzB,OAAOiC,EAASjC,IAGR,SAAiBA,GACzB,OAAOA,GAAyB,oBAAXkC,QAAyBlC,EAAIoC,cAAgBF,QAAUlC,IAAQkC,OAAOG,UAAY,SAAWJ,EAASjC,KAIhHA,GCXF,SAASuC,EAA2BC,EAAMC,GACvD,OAAIA,GAA2B,WAAlBH,EAAQG,IAAsC,oBAATA,ECHrC,SAAgCD,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIqT,eAAe,6DAG3B,OAAOrT,EDEA,CAAsBA,GAHpBC,EAJX,mC,6BEAA,sGAIO,IAAIqT,EAAkB,2BAClBC,EAAoB,SAA2BxE,EAAUyE,GAClE,IAAIC,EAAmB3U,UAAUC,OAAS,QAAsB2U,IAAjB5U,UAAU,IAAmBA,UAAU,GACtF,MAAO,CACL6U,KAAML,EACNM,QAAS,CACP7E,SAAUA,EACVyE,OAAQA,EACRC,iBAAkBA,KAUbI,EAAsB,+BAE7BC,EAAiB,SAAwBC,GAC3C,OAAO,WACL,IAAK,IAAIC,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAGzB,MAAO,CACLN,KAAME,EACND,QAAS,CACPG,OAAQA,EACR3C,KAAMA,MAYI0C,EAAe,QACZA,EAAe,WACpBA,EAAe,MACXA,EAAe,UACZA,EAAe,c,8BCjBtC,SAASI,IACP,IACIC,EAAU/E,EADAtQ,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,IAE/E,OAwFF,SAASsV,EAAWpQ,GAClB,IAAIqQ,EAAOvV,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAGxEkF,EAAKsQ,SACPtQ,EAAKQ,SA1BT,SAAuBR,EAAMqQ,GAC3B,IAAIE,EAAQvQ,EAAKwQ,SAAWxQ,EAAKwQ,SAASC,IAAMzQ,EAAKsQ,OAAOC,MACxDE,EAAMzQ,EAAKuQ,MAAQ,EACnB/P,EAAW6P,EAAKK,UAAUH,EAAOE,GAGrC,OADAjQ,GADAA,EAAWA,EAASQ,QAAQ,OAAQ,MAChB0P,UAAUlQ,EAASmQ,YAAY,KAAO,IAC1C5P,OAoBE6P,CAAc5Q,EAAMqQ,GACpCrQ,EAAK2P,KAlBT,SAAuBnP,GACrB,GAA8B,IAA1BA,EAAS4C,QAAQ,KAOnB,OAAOiI,EAAUnI,MANjB,GAAmC,IAA/B1C,EAAS4C,QAAQ,UACnB,OAAOiI,EAAUwF,MACZ,GAAIrQ,EAASS,MAAM,qBACxB,OAAOoK,EAAUyF,UAaPC,CAAc/Q,EAAKQ,WAGjCR,EAAKd,QAAUmR,EAAKK,UAAU1Q,EAAKuQ,MAAOvQ,EAAKyQ,IAAM,GAAG1P,OAEpDf,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,IACpCiF,EAAKgR,MAAQhR,EAAKgR,MAAMpQ,KAAI,SAAUR,GACpC,OAAOgQ,EAAWhQ,EAAMiQ,OAM5B,OAAOrQ,EA3GAoQ,CAyBT,SAAaC,GACX,IAAIY,EAAW,CACbV,MAAO,EACPE,IAAKJ,EAAKtV,QAERiF,EAAOiR,EAkCX,OAjCYZ,EAAK3P,MAAM,IACjBzF,SAAQ,SAAUiW,EAAMrW,GAC5B,OAAQqW,GACN,IAAK,IAEIlR,EAAKgR,QACRhR,EAAKgR,MAAQ,IAGf,IAAIV,EAAStQ,EACTwQ,EAAWF,EAAOU,MAAMV,EAAOU,MAAMjW,OAAS,GAClDiF,EAAO,CACLuQ,MAAO1V,EAAI,EACXyV,OAAQA,EACRE,SAAUA,GAEZF,EAAOU,MAAMvW,KAAKuF,GAClB,MAGJ,IAAK,IAEDA,EAAKyQ,IAAM5V,EAAI,EACfmF,EAAOA,EAAKsQ,QAAUW,MAUvBA,EAhEWE,CAAIhB,GAAUA,GApClC,sGA2CA,IAAI9E,EAAY,CACdnI,MAAO,EACP4N,UAAW,EACXD,MAAO,GAST,SAASzF,IAGP,OAFWtQ,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,IAEhEkG,QAAQ,oCAAqC,IAAIA,QAAQ,mBAAoB,M,6BCzB3F,SAASkP,IACP,IACIC,EAAU/E,EADAtQ,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,IAE/E,OAwFF,SAASsV,EAAWpQ,GAClB,IAAIqQ,EAAOvV,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAGxEkF,EAAKsQ,SACPtQ,EAAKQ,SA1BT,SAAuBR,EAAMqQ,GAC3B,IAAIE,EAAQvQ,EAAKwQ,SAAWxQ,EAAKwQ,SAASC,IAAMzQ,EAAKsQ,OAAOC,MACxDE,EAAMzQ,EAAKuQ,MAAQ,EACnB/P,EAAW6P,EAAKK,UAAUH,EAAOE,GAGrC,OADAjQ,GADAA,EAAWA,EAASQ,QAAQ,OAAQ,MAChB0P,UAAUlQ,EAASmQ,YAAY,KAAO,IAC1C5P,OAoBE6P,CAAc5Q,EAAMqQ,GACpCrQ,EAAK2P,KAlBT,SAAuBnP,GACrB,GAA8B,IAA1BA,EAAS4C,QAAQ,KAOnB,OAAOiI,EAAUnI,MANjB,GAAmC,IAA/B1C,EAAS4C,QAAQ,UACnB,OAAOiI,EAAUwF,MACZ,GAAIrQ,EAASS,MAAM,qBACxB,OAAOoK,EAAUyF,UAaPC,CAAc/Q,EAAKQ,WAGjCR,EAAKd,QAAUmR,EAAKK,UAAU1Q,EAAKuQ,MAAOvQ,EAAKyQ,IAAM,GAAG1P,OAEpDf,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,IACpCiF,EAAKgR,MAAQhR,EAAKgR,MAAMpQ,KAAI,SAAUR,GACpC,OAAOgQ,EAAWhQ,EAAMiQ,OAM5B,OAAOrQ,EA3GAoQ,CAyBT,SAAaC,GACX,IAAIY,EAAW,CACbV,MAAO,EACPE,IAAKJ,EAAKtV,QAERiF,EAAOiR,EAkCX,OAjCYZ,EAAK3P,MAAM,IACjBzF,SAAQ,SAAUiW,EAAMrW,GAC5B,OAAQqW,GACN,IAAK,IAEIlR,EAAKgR,QACRhR,EAAKgR,MAAQ,IAGf,IAAIV,EAAStQ,EACTwQ,EAAWF,EAAOU,MAAMV,EAAOU,MAAMjW,OAAS,GAClDiF,EAAO,CACLuQ,MAAO1V,EAAI,EACXyV,OAAQA,EACRE,SAAUA,GAEZF,EAAOU,MAAMvW,KAAKuF,GAClB,MAGJ,IAAK,IAEDA,EAAKyQ,IAAM5V,EAAI,EACfmF,EAAOA,EAAKsQ,QAAUW,MAUvBA,EAhEWE,CAAIhB,GAAUA,GApClC,sGA2CA,IAAI9E,EAAY,CACdnI,MAAO,EACP4N,UAAW,EACXD,MAAO,GAST,SAASzF,IAGP,OAFWtQ,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,IAEhEkG,QAAQ,oCAAqC,IAAIA,QAAQ,mBAAoB,M,6BCzB3F,SAASkP,IACP,IACIC,EAAU/E,EADAtQ,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,IAE/E,OAwFF,SAASsV,EAAWpQ,GAClB,IAAIqQ,EAAOvV,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAGxEkF,EAAKsQ,SACPtQ,EAAKQ,SA1BT,SAAuBR,EAAMqQ,GAC3B,IAAIE,EAAQvQ,EAAKwQ,SAAWxQ,EAAKwQ,SAASC,IAAMzQ,EAAKsQ,OAAOC,MACxDE,EAAMzQ,EAAKuQ,MAAQ,EACnB/P,EAAW6P,EAAKK,UAAUH,EAAOE,GAGrC,OADAjQ,GADAA,EAAWA,EAASQ,QAAQ,OAAQ,MAChB0P,UAAUlQ,EAASmQ,YAAY,KAAO,IAC1C5P,OAoBE6P,CAAc5Q,EAAMqQ,GACpCrQ,EAAK2P,KAlBT,SAAuBnP,GACrB,GAA8B,IAA1BA,EAAS4C,QAAQ,KAOnB,OAAOiI,EAAUnI,MANjB,GAAmC,IAA/B1C,EAAS4C,QAAQ,UACnB,OAAOiI,EAAUwF,MACZ,GAAIrQ,EAASS,MAAM,qBACxB,OAAOoK,EAAUyF,UAaPC,CAAc/Q,EAAKQ,WAGjCR,EAAKd,QAAUmR,EAAKK,UAAU1Q,EAAKuQ,MAAOvQ,EAAKyQ,IAAM,GAAG1P,OAEpDf,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,IACpCiF,EAAKgR,MAAQhR,EAAKgR,MAAMpQ,KAAI,SAAUR,GACpC,OAAOgQ,EAAWhQ,EAAMiQ,OAM5B,OAAOrQ,EA3GAoQ,CAyBT,SAAaC,GACX,IAAIY,EAAW,CACbV,MAAO,EACPE,IAAKJ,EAAKtV,QAERiF,EAAOiR,EAkCX,OAjCYZ,EAAK3P,MAAM,IACjBzF,SAAQ,SAAUiW,EAAMrW,GAC5B,OAAQqW,GACN,IAAK,IAEIlR,EAAKgR,QACRhR,EAAKgR,MAAQ,IAGf,IAAIV,EAAStQ,EACTwQ,EAAWF,EAAOU,MAAMV,EAAOU,MAAMjW,OAAS,GAClDiF,EAAO,CACLuQ,MAAO1V,EAAI,EACXyV,OAAQA,EACRE,SAAUA,GAEZF,EAAOU,MAAMvW,KAAKuF,GAClB,MAGJ,IAAK,IAEDA,EAAKyQ,IAAM5V,EAAI,EACfmF,EAAOA,EAAKsQ,QAAUW,MAUvBA,EAhEWE,CAAIhB,GAAUA,GApClC,sGA2CA,IAAI9E,EAAY,CACdnI,MAAO,EACP4N,UAAW,EACXD,MAAO,GAST,SAASzF,IAGP,OAFWtQ,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,IAEhEkG,QAAQ,oCAAqC,IAAIA,QAAQ,mBAAoB,M,6BCzB3F,SAASkP,IACP,IACIC,EAAU/E,EADAtQ,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,IAE/E,OAwFF,SAASsV,EAAWpQ,GAClB,IAAIqQ,EAAOvV,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAGxEkF,EAAKsQ,SACPtQ,EAAKQ,SA1BT,SAAuBR,EAAMqQ,GAC3B,IAAIE,EAAQvQ,EAAKwQ,SAAWxQ,EAAKwQ,SAASC,IAAMzQ,EAAKsQ,OAAOC,MACxDE,EAAMzQ,EAAKuQ,MAAQ,EACnB/P,EAAW6P,EAAKK,UAAUH,EAAOE,GAGrC,OADAjQ,GADAA,EAAWA,EAASQ,QAAQ,OAAQ,MAChB0P,UAAUlQ,EAASmQ,YAAY,KAAO,IAC1C5P,OAoBE6P,CAAc5Q,EAAMqQ,GACpCrQ,EAAK2P,KAlBT,SAAuBnP,GACrB,GAA8B,IAA1BA,EAAS4C,QAAQ,KAOnB,OAAOiI,EAAUnI,MANjB,GAAmC,IAA/B1C,EAAS4C,QAAQ,UACnB,OAAOiI,EAAUwF,MACZ,GAAIrQ,EAASS,MAAM,qBACxB,OAAOoK,EAAUyF,UAaPC,CAAc/Q,EAAKQ,WAGjCR,EAAKd,QAAUmR,EAAKK,UAAU1Q,EAAKuQ,MAAOvQ,EAAKyQ,IAAM,GAAG1P,OAEpDf,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,IACpCiF,EAAKgR,MAAQhR,EAAKgR,MAAMpQ,KAAI,SAAUR,GACpC,OAAOgQ,EAAWhQ,EAAMiQ,OAM5B,OAAOrQ,EA3GAoQ,CAyBT,SAAaC,GACX,IAAIY,EAAW,CACbV,MAAO,EACPE,IAAKJ,EAAKtV,QAERiF,EAAOiR,EAkCX,OAjCYZ,EAAK3P,MAAM,IACjBzF,SAAQ,SAAUiW,EAAMrW,GAC5B,OAAQqW,GACN,IAAK,IAEIlR,EAAKgR,QACRhR,EAAKgR,MAAQ,IAGf,IAAIV,EAAStQ,EACTwQ,EAAWF,EAAOU,MAAMV,EAAOU,MAAMjW,OAAS,GAClDiF,EAAO,CACLuQ,MAAO1V,EAAI,EACXyV,OAAQA,EACRE,SAAUA,GAEZF,EAAOU,MAAMvW,KAAKuF,GAClB,MAGJ,IAAK,IAEDA,EAAKyQ,IAAM5V,EAAI,EACfmF,EAAOA,EAAKsQ,QAAUW,MAUvBA,EAhEWE,CAAIhB,GAAUA,GApClC,sGA2CA,IAAI9E,EAAY,CACdnI,MAAO,EACP4N,UAAW,EACXD,MAAO,GAST,SAASzF,IAGP,OAFWtQ,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,IAEhEkG,QAAQ,oCAAqC,IAAIA,QAAQ,mBAAoB,M,iECzDhFoQ,EAAoB5T,IAAM6T,cAAc,MCInD,IAAIC,EAJJ,SAA0BC,GACxBA,KASSC,EAAW,WACpB,OAAOF,GCRLG,EAAU,KACVC,EAAgB,CAClBC,OAAQ,cAuCV,IAAIC,EAEJ,WACE,SAASA,EAAaC,EAAOC,GAC3BrP,KAAKoP,MAAQA,EACbpP,KAAKqP,UAAYA,EACjBrP,KAAKsP,YAAc,KACnBtP,KAAKuP,UAAYN,EACjBjP,KAAKwP,oBAAsBxP,KAAKwP,oBAAoBC,KAAKzP,MAG3D,IAAI0P,EAASP,EAAa/V,UAqC1B,OAnCAsW,EAAOC,aAAe,SAAsBC,GAE1C,OADA5P,KAAK6P,eACE7P,KAAKuP,UAAUO,UAAUF,IAGlCF,EAAOK,iBAAmB,WACxB/P,KAAKuP,UAAUL,UAGjBQ,EAAOF,oBAAsB,WACvBxP,KAAKgQ,eACPhQ,KAAKgQ,iBAITN,EAAOO,aAAe,WACpB,OAAOC,QAAQlQ,KAAKsP,cAGtBI,EAAOG,aAAe,WACf7P,KAAKsP,cACRtP,KAAKsP,YAActP,KAAKqP,UAAYrP,KAAKqP,UAAUM,aAAa3P,KAAKwP,qBAAuBxP,KAAKoP,MAAMU,UAAU9P,KAAKwP,qBACtHxP,KAAKuP,UAvEX,WACE,IAAIV,EAAQE,IAGRoB,EAAU,GACVC,EAAO,GACX,MAAO,CACLC,MAAO,WACLD,EAAOpB,EACPmB,EAAUnB,GAEZE,OAAQ,WACN,IAAIK,EAAYY,EAAUC,EAC1BvB,GAAM,WACJ,IAAK,IAAIzW,EAAI,EAAGA,EAAImX,EAAUjX,OAAQF,IACpCmX,EAAUnX,SAIhBwL,IAAK,WACH,OAAOwM,GAETN,UAAW,SAAmBF,GAC5B,IAAIK,GAAe,EAGnB,OAFIG,IAASD,IAASC,EAAOD,EAAQG,SACrCF,EAAKpY,KAAK4X,GACH,WACAK,GAAgBE,IAAYnB,IACjCiB,GAAe,EACXG,IAASD,IAASC,EAAOD,EAAQG,SACrCF,EAAKG,OAAOH,EAAKzP,QAAQiP,GAAW,OAyCrBY,KAIrBd,EAAOe,eAAiB,WAClBzQ,KAAKsP,cACPtP,KAAKsP,cACLtP,KAAKsP,YAAc,KACnBtP,KAAKuP,UAAUc,QACfrQ,KAAKuP,UAAYN,IAIdE,EA9CT,GC1CA,SAASuB,EAASnJ,GAChB,IAAI6H,EAAQ7H,EAAK6H,MACbxT,EAAU2L,EAAK3L,QACf4B,EAAW+J,EAAK/J,SAChBmT,EAAeC,mBAAQ,WACzB,IAAIC,EAAe,IAAI1B,EAAaC,GAEpC,OADAyB,EAAab,cAAgBa,EAAad,iBACnC,CACLX,MAAOA,EACPyB,aAAcA,KAEf,CAACzB,IACA0B,EAAgBF,mBAAQ,WAC1B,OAAOxB,EAAM2B,aACZ,CAAC3B,IACJ4B,qBAAU,WACR,IAAIH,EAAeF,EAAaE,aAOhC,OANAA,EAAahB,eAETiB,IAAkB1B,EAAM2B,YAC1BF,EAAad,mBAGR,WACLc,EAAaJ,iBACbI,EAAab,cAAgB,QAE9B,CAACW,EAAcG,IAClB,IAAIG,EAAUrV,GAAW+S,EACzB,OAAO5T,IAAMC,cAAciW,EAAQP,SAAU,CAC3CzZ,MAAO0Z,GACNnT,GAGLkT,EAAS5M,UAAY,CACnBsL,MAAO7T,IAAU2V,MAAM,CACrBpB,UAAWvU,IAAU4V,KAAKC,WAC1BC,SAAU9V,IAAU4V,KAAKC,WACzBL,SAAUxV,IAAU4V,KAAKC,aAE3BxV,QAASL,IAAU/D,OACnBgG,SAAUjC,IAAU+V,KAEPZ,Q,0DCtCJa,EADuC,qBAAXC,QAAqD,qBAApBA,OAAOtU,UAAqE,qBAAlCsU,OAAOtU,SAASlC,cAC/DyW,kBAAkBT,YCAjFU,EAAc,GACdC,EAAwB,CAAC,KAAM,MAUnC,SAASC,EAAyBtO,EAAOyJ,GACvC,IAAI8E,EAAcvO,EAAM,GACxB,MAAO,CAACyJ,EAAOI,QAAS0E,EAAc,GAGxC,IAAIC,EAAmB,WACrB,MAAO,CAAC,KAAM,IAGD,SAASC,EAexBC,EACAzK,QACe,IAATA,IACFA,EAAO,IAGT,IAAIE,EAAQF,EACR0K,EAAuBxK,EAAMyK,eAC7BA,OAA0C,IAAzBD,EAAkC,SAAUlQ,GAC/D,MAAO,mBAAqBA,EAAO,KACjCkQ,EACAE,EAAmB1K,EAAM2K,WACzBA,OAAkC,IAArBD,EAA8B,kBAAoBA,EAC/DE,EAAwB5K,EAAM6K,gBAC9BA,OAA4C,IAA1BD,OAAmCpF,EAAYoF,EACjEE,EAAwB9K,EAAM+K,yBAC9BA,OAAqD,IAA1BD,GAA0CA,EACrEE,EAAiBhL,EAAMiL,SACvBA,OAA8B,IAAnBD,EAA4B,QAAUA,EACjDE,EAAgBlL,EAAMmL,QACtBA,OAA4B,IAAlBD,GAAmCA,EAC7CE,EAAmBpL,EAAMqL,WACzBA,OAAkC,IAArBD,GAAsCA,EACnDE,EAAgBtL,EAAM7L,QACtBA,OAA4B,IAAlBmX,EAA2BpE,EAAoBoE,EACzDC,EAAiBC,YAA8BxL,EAAO,CAAC,iBAAkB,aAAc,kBAAmB,2BAA4B,WAAY,UAAW,aAAc,YAE/KyL,SAA8BjG,IAApBqF,EAA+B,4GACzCY,KAAWN,EAAS,4FAEpBM,IAAuB,UAAbR,EAAsB,2YAChC,IAAIzB,EAAUrV,EACd,OAAO,SAAyBuX,GAK9B,IAAIC,EAAuBD,EAAiBrR,aAAeqR,EAAiBpR,MAAQ,YAChFD,EAAcoQ,EAAekB,GAE7BC,EAAyB7G,YAAS,GAAIwG,EAAgB,CACxDd,eAAgBA,EAChBE,WAAYA,EACZE,gBAAiBA,EACjBE,yBAA0BA,EAC1BE,SAAUA,EACV5Q,YAAaA,EACbsR,qBAAsBA,EACtBD,iBAAkBA,IAGhBG,EAAON,EAAeM,KAS1B,IAAIC,EAAkBD,EAAO1C,UAAU,SAAU9B,GAC/C,OAAOA,KAGT,SAAS0E,EAAgBnZ,GACvB,IAAIoZ,EAAW7C,mBAAQ,WAIrB,IAAI8C,EAAerZ,EAAMqZ,aACrBC,EAAeV,YAA8B5Y,EAAO,CAAC,iBAEzD,MAAO,CAACA,EAAMuB,QAAS8X,EAAcC,KACpC,CAACtZ,IACAuZ,EAAeH,EAAS,GACxBC,EAAeD,EAAS,GACxBE,EAAeF,EAAS,GAExBI,EAAejD,mBAAQ,WAGzB,OAAOgD,GAAgBA,EAAaE,UAAYC,4BAAkBhZ,IAAMC,cAAc4Y,EAAaE,SAAU,OAASF,EAAe3C,IACpI,CAAC2C,EAAc3C,IAEdN,EAAeqD,qBAAWH,GAI1BI,EAAwB/D,QAAQ7V,EAAM+U,QAAUc,QAAQ7V,EAAM+U,MAAM2B,WAAab,QAAQ7V,EAAM+U,MAAMiC,UACrG6C,EAA0BhE,QAAQS,IAAiBT,QAAQS,EAAavB,OAC5E8D,IAAUe,GAAyBC,EAAyB,6CAAwDpS,EAAc,4JAA2KA,EAAc,wBAE3T,IAAIsN,EAAQ6E,EAAwB5Z,EAAM+U,MAAQuB,EAAavB,MAC3D+E,EAAqBvD,mBAAQ,WAG/B,OA3CJ,SAA6BxB,GAC3B,OAAO4C,EAAgB5C,EAAMiC,SAAUgC,GA0C9Be,CAAoBhF,KAC1B,CAACA,IAEAiF,EAAYzD,mBAAQ,WACtB,IAAK4B,EAA0B,OAAOb,EAGtC,IAAId,EAAe,IAAI1B,EAAaC,EAAO6E,EAAwB,KAAOtD,EAAaE,cAKnFd,EAAmBc,EAAad,iBAAiBN,KAAKoB,GAC1D,MAAO,CAACA,EAAcd,KACrB,CAACX,EAAO6E,EAAuBtD,IAC9BE,EAAewD,EAAU,GACzBtE,EAAmBsE,EAAU,GAI7BC,EAAyB1D,mBAAQ,WACnC,OAAIqD,EAIKtD,EAKFnE,YAAS,GAAImE,EAAc,CAChCE,aAAcA,MAEf,CAACoD,EAAuBtD,EAAcE,IAGrC0D,EAAcC,qBAAW5C,EAA0BF,EAAaI,GAEhE2C,EADeF,EAAY,GACc,GACzCG,EAA+BH,EAAY,GAG/C,GAAIE,GAA6BA,EAA0B5J,MACzD,MAAM4J,EAA0B5J,MAIlC,IAAI8J,EAAiBC,mBACjBC,EAAmBD,iBAAOjB,GAC1BmB,EAA4BF,mBAC5BG,EAAoBH,kBAAO,GAC3BI,EAAmBzB,GAAgB,WAOrC,OAAIuB,EAA0B3E,SAAWwD,IAAiBkB,EAAiB1E,QAClE2E,EAA0B3E,QAO5BgE,EAAmB/E,EAAM2B,WAAY4C,KAC3C,CAACvE,EAAOqF,EAA2Bd,IAItCpC,GAA0B,WAExBsD,EAAiB1E,QAAUwD,EAC3BgB,EAAexE,QAAU6E,EACzBD,EAAkB5E,SAAU,EAExB2E,EAA0B3E,UAC5B2E,EAA0B3E,QAAU,KACpCJ,QAIJwB,GAA0B,WAExB,GAAKiB,EAAL,CAEA,IAAIyC,GAAiB,EACjBC,EAAkB,KAElBC,EAAkB,WACpB,IAAIF,EAAJ,CAMA,IACIG,EAAevK,EADfwK,EAAmBjG,EAAM2B,WAG7B,IAGEqE,EAAgBjB,EAAmBkB,EAAkBR,EAAiB1E,SACtE,MAAOmF,GACPzK,EAAQyK,EACRJ,EAAkBI,EAGfzK,IACHqK,EAAkB,MAIhBE,IAAkBT,EAAexE,QAC9B4E,EAAkB5E,SACrBJ,KAOF4E,EAAexE,QAAUiF,EACzBN,EAA0B3E,QAAUiF,EACpCL,EAAkB5E,SAAU,EAE5BuE,EAA6B,CAC3BxH,KAAM,gBACNC,QAAS,CACPtC,MAAOA,QAOfgG,EAAab,cAAgBmF,EAC7BtE,EAAahB,eAGbsF,IAiBA,OAfyB,WAKvB,GAJAF,GAAiB,EACjBpE,EAAaJ,iBACbI,EAAab,cAAgB,KAEzBkF,EAMF,MAAMA,MAKT,CAAC9F,EAAOyB,EAAcsD,IAGzB,IAAIoB,EAA2B3E,mBAAQ,WACrC,OAAO7V,IAAMC,cAAcmY,EAAkB3G,YAAS,GAAIwI,EAAkB,CAC1EQ,IAAK9B,OAEN,CAACA,EAAcP,EAAkB6B,IAepC,OAZoBpE,mBAAQ,WAC1B,OAAI4B,EAIKzX,IAAMC,cAAc6Y,EAAanD,SAAU,CAChDzZ,MAAOqd,GACNiB,GAGEA,IACN,CAAC1B,EAAc0B,EAA0BjB,IAK9C,IAAImB,EAAUnC,EAAOvY,IAAM2a,KAAKlC,GAAmBA,EAInD,GAHAiC,EAAQtC,iBAAmBA,EAC3BsC,EAAQ3T,YAAcA,EAElBgR,EAAY,CACd,IAAI6C,EAAY5a,IAAM+X,YAAW,SAA2BzY,EAAOmb,GACjE,OAAOza,IAAMC,cAAcya,EAASjJ,YAAS,GAAInS,EAAO,CACtDqZ,aAAc8B,QAKlB,OAFAG,EAAU7T,YAAcA,EACxB6T,EAAUxC,iBAAmBA,EACtByC,IAAaD,EAAWxC,GAGjC,OAAOyC,IAAaH,EAAStC,ICrVjC,IAAI7J,EAASpS,OAAOkC,UAAUyC,eAE9B,SAASK,EAAGG,EAAGC,GACb,OAAID,IAAMC,EACK,IAAND,GAAiB,IAANC,GAAW,EAAID,IAAM,EAAIC,EAEpCD,IAAMA,GAAKC,IAAMA,EAIb,SAASP,EAAaC,EAAMC,GACzC,GAAIC,EAAGF,EAAMC,GAAO,OAAO,EAE3B,GAAoB,kBAATD,GAA8B,OAATA,GAAiC,kBAATC,GAA8B,OAATA,EAC3E,OAAO,EAGT,IAAIE,EAAQjF,OAAOQ,KAAKsE,GACpBI,EAAQlF,OAAOQ,KAAKuE,GACxB,GAAIE,EAAM7D,SAAW8D,EAAM9D,OAAQ,OAAO,EAE1C,IAAK,IAAIF,EAAI,EAAGA,EAAI+D,EAAM7D,OAAQF,IAChC,IAAKkR,EAAO9P,KAAKyC,EAAME,EAAM/D,MAAQ8D,EAAGF,EAAKG,EAAM/D,IAAK6D,EAAKE,EAAM/D,KACjE,OAAO,EAIX,OAAO,E,YC1BF,SAASyd,EAAuBC,GACrC,OAAO,SAA8BzE,EAAU0E,GAC7C,IAAIC,EAAWF,EAAYzE,EAAU0E,GAErC,SAASE,IACP,OAAOD,EAIT,OADAC,EAAiBC,mBAAoB,EAC9BD,GAUJ,SAASE,EAAqBC,GACnC,OAAwC,OAAjCA,EAAWF,wBAA+DjJ,IAAjCmJ,EAAWF,kBAAkChG,QAAQkG,EAAWF,mBAA2C,IAAtBE,EAAW9d,OAc3I,SAAS+d,EAAmBD,EAAYhE,GAC7C,OAAO,SAA2Bf,EAAU9J,GACxBA,EAAKzF,YAAvB,IAEIwU,EAAQ,SAAyBC,EAAiBC,GACpD,OAAOF,EAAMJ,kBAAoBI,EAAMF,WAAWG,EAAiBC,GAAYF,EAAMF,WAAWG,IAqBlG,OAjBAD,EAAMJ,mBAAoB,EAE1BI,EAAMF,WAAa,SAAgCG,EAAiBC,GAClEF,EAAMF,WAAaA,EACnBE,EAAMJ,kBAAoBC,EAAqBC,GAC/C,IAAI/b,EAAQic,EAAMC,EAAiBC,GASnC,MAPqB,oBAAVnc,IACTic,EAAMF,WAAa/b,EACnBic,EAAMJ,kBAAoBC,EAAqB9b,GAC/CA,EAAQic,EAAMC,EAAiBC,IAI1Bnc,GAGFic,GC5CI,OAfR,SAA0CG,GAC/C,MAAqC,oBAAvBA,EAAoCJ,EAAmBI,QAA4CxJ,GAE5G,SAAyCwJ,GAC9C,OAAQA,OAIHxJ,EAJwB4I,GAAuB,SAAUxE,GAC5D,MAAO,CACLA,SAAUA,OAIT,SAAwCoF,GAC7C,OAAOA,GAAoD,kBAAvBA,EAAkCZ,GAAuB,SAAUxE,GACrG,OAAOqF,YAAmBD,EAAoBpF,WAC3CpE,ICNQ,OARR,SAAuC0J,GAC5C,MAAkC,oBAApBA,EAAiCN,EAAmBM,QAAsC1J,GAEnG,SAAsC0J,GAC3C,OAAQA,OAEH1J,EAFqB4I,GAAuB,WAC/C,MAAO,QCJJ,SAASe,EAAkBC,EAAYC,EAAeN,GAC3D,OAAOhK,YAAS,GAAIgK,EAAU,GAAIK,EAAY,GAAIC,GAgCrC,OARR,SAAkCC,GACvC,MAA6B,oBAAfA,EAvBT,SAA4BA,GACjC,OAAO,SAA6B1F,EAAU9J,GAC1BA,EAAKzF,YAAvB,IAIIkV,EAHA1D,EAAO/L,EAAK+L,KACZ2D,EAAsB1P,EAAK0P,oBAC3BC,GAAa,EAEjB,OAAO,SAAyBL,EAAYC,EAAeN,GACzD,IAAIW,EAAkBJ,EAAWF,EAAYC,EAAeN,GAU5D,OARIU,EACG5D,GAAS2D,EAAoBE,EAAiBH,KAAcA,EAAcG,IAE/ED,GAAa,EACbF,EAAcG,GAITH,IAK+BI,CAAmBL,QAAc9J,GAEtE,SAAiC8J,GACtC,OAAQA,OAEJ9J,EAFiB,WACnB,OAAO2J,KC9BJ,SAASS,EAAgCV,EAAiBF,EAAoBM,EAAY1F,GAC/F,OAAO,SAAkC/N,EAAOkT,GAC9C,OAAOO,EAAWJ,EAAgBrT,EAAOkT,GAAWC,EAAmBpF,EAAUmF,GAAWA,IAGzF,SAASc,EAA8BX,EAAiBF,EAAoBM,EAAY1F,EAAU9J,GACvG,IAIIjE,EACAkT,EACAK,EACAC,EACAE,EARAO,EAAiBhQ,EAAKgQ,eACtBC,EAAmBjQ,EAAKiQ,iBACxBC,EAAqBlQ,EAAKkQ,mBAC1BC,GAAoB,EAuCxB,SAASC,EAAsBvU,EAAWwU,GACxC,IAAIC,GAAgBL,EAAiBI,EAAcpB,GAC/CsB,GAAgBP,EAAenU,EAAWE,GAG9C,OAFAA,EAAQF,EACRoT,EAAWoB,EACPC,GAAgBC,GA1BpBjB,EAAaF,EAAgBrT,EAAOkT,GAChCC,EAAmBP,oBAAmBY,EAAgBL,EAAmBpF,EAAUmF,IACvFQ,EAAcD,EAAWF,EAAYC,EAAeN,IAyBhDqB,GApBAlB,EAAgBT,oBAAmBW,EAAaF,EAAgBrT,EAAOkT,IACvEC,EAAmBP,oBAAmBY,EAAgBL,EAAmBpF,EAAUmF,IACvFQ,EAAcD,EAAWF,EAAYC,EAAeN,IAmBhDsB,EAfN,WACE,IAAIC,EAAiBpB,EAAgBrT,EAAOkT,GACxCwB,GAAqBP,EAAmBM,EAAgBlB,GAG5D,OAFAA,EAAakB,EACTC,IAAmBhB,EAAcD,EAAWF,EAAYC,EAAeN,IACpEQ,EAUkBiB,GAClBjB,EAGT,OAAO,SAAgC5T,EAAWwU,GAChD,OAAOF,EAAoBC,EAAsBvU,EAAWwU,IAzC5Df,EAAaF,EAFbrT,EA2C4FF,EA1C5FoT,EA0CuGoB,GAxCvGd,EAAgBL,EAAmBpF,EAAUmF,GAC7CQ,EAAcD,EAAWF,EAAYC,EAAeN,GACpDkB,GAAoB,EACbV,IA6CI,SAASkB,EAA0B7G,EAAU5J,GAC1D,IAAI0Q,EAAsB1Q,EAAM0Q,oBAC5BC,EAAyB3Q,EAAM2Q,uBAC/BC,EAAiB5Q,EAAM4Q,eACvBtC,EAAU9C,YAA8BxL,EAAO,CAAC,sBAAuB,yBAA0B,mBAEjGkP,EAAkBwB,EAAoB9G,EAAU0E,GAChDU,EAAqB2B,EAAuB/G,EAAU0E,GACtDgB,EAAasB,EAAehH,EAAU0E,GAO1C,OADsBA,EAAQzC,KAAOgE,EAAgCD,GAC9CV,EAAiBF,EAAoBM,EAAY1F,EAAU0E,GC5DpF,SAASvX,EAAMiL,EAAK6O,EAAWvW,GAC7B,IAAK,IAAI3J,EAAIkgB,EAAUhgB,OAAS,EAAGF,GAAK,EAAGA,IAAK,CAC9C,IAAI+Q,EAASmP,EAAUlgB,GAAGqR,GAC1B,GAAIN,EAAQ,OAAOA,EAGrB,OAAO,SAAUkI,EAAU0E,GACzB,MAAM,IAAIvN,MAAM,gCAAkCiB,EAAM,QAAU1H,EAAO,uCAAyCgU,EAAQ3C,qBAAuB,MAIrJ,SAASmF,EAAYC,EAAGC,GACtB,OAAOD,IAAMC,EA4DAC,MAvDR,SAAuBC,GAC5B,IAAIpR,OAAiB,IAAVoR,EAAmB,GAAKA,EAC/BC,EAAkBrR,EAAKsR,WACvBA,OAAiC,IAApBD,EAA6B7G,EAAkB6G,EAC5DE,EAAwBvR,EAAKwR,yBAC7BA,OAAqD,IAA1BD,EAAmCE,EAAkCF,EAChGG,EAAwB1R,EAAK2R,4BAC7BA,OAAwD,IAA1BD,EAAmCE,EAAqCF,EACtGG,EAAwB7R,EAAK8R,oBAC7BA,OAAgD,IAA1BD,EAAmCE,EAA6BF,EACtFG,EAAuBhS,EAAKyK,gBAC5BA,OAA2C,IAAzBuH,EAAkCC,EAAyBD,EAEjF,OAAO,SAAiB5C,EAAiBF,EAAoBM,EAAYtP,QACzD,IAAVA,IACFA,EAAQ,IAGV,IAAIC,EAAQD,EACRgS,EAAa/R,EAAM4L,KACnBA,OAAsB,IAAfmG,GAA+BA,EACtCC,EAAuBhS,EAAM6P,eAC7BA,OAA0C,IAAzBmC,EAAkCnB,EAAcmB,EACjEC,EAAwBjS,EAAM8P,iBAC9BA,OAA6C,IAA1BmC,EAAmC5d,EAAe4d,EACrEC,EAAwBlS,EAAM+P,mBAC9BA,OAA+C,IAA1BmC,EAAmC7d,EAAe6d,EACvEC,EAAwBnS,EAAMuP,oBAC9BA,OAAgD,IAA1B4C,EAAmC9d,EAAe8d,EACxEC,EAAe7G,YAA8BvL,EAAO,CAAC,OAAQ,iBAAkB,mBAAoB,qBAAsB,wBAEzHyQ,EAAsB3Z,EAAMmY,EAAiBoC,EAA0B,mBACvEX,EAAyB5Z,EAAMiY,EAAoByC,EAA6B,sBAChFb,EAAiB7Z,EAAMuY,EAAYsC,EAAqB,cAC5D,OAAOR,EAAW7G,EAAiBxF,YAAS,CAE1C4F,WAAY,UAEZF,eAAgB,SAAwBnQ,GACtC,MAAO,WAAaA,EAAO,KAG7ByQ,yBAA0BtC,QAAQyG,GAElCwB,oBAAqBA,EACrBC,uBAAwBA,EACxBC,eAAgBA,EAChB/E,KAAMA,EACNiE,eAAgBA,EAChBC,iBAAkBA,EAClBC,mBAAoBA,EACpBR,oBAAqBA,GACpB6C,KAGQpB,GC7ER,SAASqB,IACd,IAAIpJ,EAAeqD,qBAAWrF,GAE9B,OADAuE,IAAUvC,EAAc,oGACjBA,ECbF,SAASqJ,EAAgBpe,QACd,IAAZA,IACFA,EAAU+S,GAGZ,IAAIoL,EAAkBne,IAAY+S,EAAoBsL,EAAyB,WAC7E,OAAOjG,qBAAWpY,IAEpB,OAAO,WAIL,OAHuBme,IACM3K,OAqB1B,IAAI8K,EAAWF,KChCf,SAA4Bpe,QACjB,IAAZA,IACFA,EAAU+S,GAGZ,IAAIuL,EAAWte,IAAY+S,EAAoBwL,EAAkBH,EAAgBpe,GA4B1Dwe,GAAlB,ICnCHC,EAAc,SAAqB7B,EAAGC,GACxC,OAAOD,IAAMC,IA4ER,SAA4B7c,QACjB,IAAZA,IACFA,EAAU+S,GAGZ,IAAIoL,EAAkBne,IAAY+S,EAAoBsL,EAAyB,WAC7E,OAAOjG,qBAAWpY,IAwCG0e,GAAlB,If3HiCC,E,QgBPxC,sGhBOwCA,EgBG/B1L,0BhBFAA,EAAQ0L,G,6BiBNjB,IAAIpf,EAAUD,MAAMC,QAChBqf,EAAUtjB,OAAOQ,KACjB+iB,EAAUvjB,OAAOkC,UAAUyC,eAE/BlF,EAAOC,QAAU,SAAS8jB,EAAMlC,EAAGC,GACjC,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,IAEIrgB,EACAE,EACAtB,EAJA2jB,EAAOxf,EAAQqd,GACfoC,EAAOzf,EAAQsd,GAKnB,GAAIkC,GAAQC,EAAM,CAEhB,IADAtiB,EAASkgB,EAAElgB,SACGmgB,EAAEngB,OAAQ,OAAO,EAC/B,IAAKF,EAAIE,EAAgB,IAARF,KACf,IAAKsiB,EAAMlC,EAAEpgB,GAAIqgB,EAAErgB,IAAK,OAAO,EACjC,OAAO,EAGT,GAAIuiB,GAAQC,EAAM,OAAO,EAEzB,IAAIC,EAAQrC,aAAasC,KACrBC,EAAQtC,aAAaqC,KACzB,GAAID,GAASE,EAAO,OAAO,EAC3B,GAAIF,GAASE,EAAO,OAAOvC,EAAEwC,WAAavC,EAAEuC,UAE5C,IAAIC,EAAUzC,aAAa0C,OACvBC,EAAU1C,aAAayC,OAC3B,GAAID,GAAWE,EAAS,OAAO,EAC/B,GAAIF,GAAWE,EAAS,OAAO3C,EAAEtM,YAAcuM,EAAEvM,WAEjD,IAAIxU,EAAO8iB,EAAQhC,GAGnB,IAFAlgB,EAASZ,EAAKY,UAECkiB,EAAQ/B,GAAGngB,OACxB,OAAO,EAET,IAAKF,EAAIE,EAAgB,IAARF,KACf,IAAKqiB,EAAQjhB,KAAKif,EAAG/gB,EAAKU,IAAK,OAAO,EAExC,IAAKA,EAAIE,EAAgB,IAARF,KAEf,IAAKsiB,EAAMlC,EADXxhB,EAAMU,EAAKU,IACQqgB,EAAEzhB,IAAO,OAAO,EAGrC,OAAO,EAGT,OAAOwhB,IAAIA,GAAKC,IAAIA,I,6BCrDP,SAASxF,EAA8B1a,EAAQ8T,GAC5D,GAAc,MAAV9T,EAAgB,MAAO,GAC3B,IAEIvB,EAAKoB,EAFLD,EAAS,GACTijB,EAAalkB,OAAOQ,KAAKa,GAG7B,IAAKH,EAAI,EAAGA,EAAIgjB,EAAW9iB,OAAQF,IACjCpB,EAAMokB,EAAWhjB,GACbiU,EAAS1L,QAAQ3J,IAAQ,IAC7BmB,EAAOnB,GAAOuB,EAAOvB,IAGvB,OAAOmB,EAZT,mC,8BCGe,SAASkR,EAAe0C,EAAK3T,GAC1C,OCJa,SAAyB2T,GACtC,GAAI7Q,MAAMC,QAAQ4Q,GAAM,OAAOA,EDGxB,CAAeA,IEJT,SAA+BA,EAAK3T,GACjD,GAAMa,OAAOC,YAAYhC,OAAO6U,IAAgD,uBAAxC7U,OAAOkC,UAAU8S,SAAS1S,KAAKuS,GAAvE,CAIA,IAAIsP,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKvO,EAET,IACE,IAAK,IAAiCwO,EAA7BC,EAAK3P,EAAI9S,OAAOC,cAAmBoiB,GAAMG,EAAKC,EAAGtL,QAAQuL,QAChEN,EAAKrjB,KAAKyjB,EAAGxkB,QAETmB,GAAKijB,EAAK/iB,SAAWF,GAH8CkjB,GAAK,IAK9E,MAAO3O,GACP4O,GAAK,EACLC,EAAK7O,EACL,QACA,IACO2O,GAAsB,MAAhBI,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIH,EAAI,MAAMC,GAIlB,OAAOH,GFvBuB,CAAqBtP,EAAK3T,IGJ3C,WACb,MAAM,IAAIyB,UAAU,wDHG0C,GAJhE,mC,6BIAA,IAAI+hB,GAAepR,EACfpK,EAAS,mBAaE8S,IAZf,SAAmB7I,EAAWC,GAC5B,IAAID,EAIJ,MAAIuR,EACI,IAAIpT,MAAMpI,GAEV,IAAIoI,MAAMpI,EAAS,MAAQkK,GAAW,O,yCCVhD,SAASuR,EAAWC,GAClB,MAA8B,MAAvBA,EAASC,OAAO,GAIzB,SAASC,EAAUC,EAAMC,GACvB,IAAK,IAAI9jB,EAAI8jB,EAAOC,EAAI/jB,EAAI,EAAGgkB,EAAIH,EAAK3jB,OAAQ6jB,EAAIC,EAAGhkB,GAAK,EAAG+jB,GAAK,EAClEF,EAAK7jB,GAAK6jB,EAAKE,GAGjBF,EAAKI,MAgEQC,MA5Df,SAAyBC,EAAIpQ,QACdc,IAATd,IAAoBA,EAAO,IAE/B,IAkBIqQ,EAlBAC,EAAWF,GAAMA,EAAGte,MAAM,MAAS,GACnCye,EAAavQ,GAAQA,EAAKlO,MAAM,MAAS,GAEzC0e,EAAUJ,GAAMV,EAAWU,GAC3BK,EAAYzQ,GAAQ0P,EAAW1P,GAC/B0Q,EAAaF,GAAWC,EAW5B,GATIL,GAAMV,EAAWU,GAEnBG,EAAYD,EACHA,EAAQnkB,SAEjBokB,EAAUL,MACVK,EAAYA,EAAU7f,OAAO4f,KAG1BC,EAAUpkB,OAAQ,MAAO,IAG9B,GAAIokB,EAAUpkB,OAAQ,CACpB,IAAIwkB,EAAOJ,EAAUA,EAAUpkB,OAAS,GACxCkkB,EAA4B,MAATM,GAAyB,OAATA,GAA0B,KAATA,OAEpDN,GAAmB,EAIrB,IADA,IAAIO,EAAK,EACA3kB,EAAIskB,EAAUpkB,OAAQF,GAAK,EAAGA,IAAK,CAC1C,IAAIgG,EAAOse,EAAUtkB,GAER,MAATgG,EACF4d,EAAUU,EAAWtkB,GACH,OAATgG,GACT4d,EAAUU,EAAWtkB,GACrB2kB,KACSA,IACTf,EAAUU,EAAWtkB,GACrB2kB,KAIJ,IAAKF,EAAY,KAAOE,IAAMA,EAAIL,EAAUM,QAAQ,OAGlDH,GACiB,KAAjBH,EAAU,IACRA,EAAU,IAAOb,EAAWa,EAAU,KAExCA,EAAUM,QAAQ,IAEpB,IAAI7T,EAASuT,EAAU5d,KAAK,KAI5B,OAFI0d,GAA0C,MAAtBrT,EAAO8T,QAAQ,KAAY9T,GAAU,KAEtDA,GCvET,SAAS+T,EAAQnmB,GACf,OAAOA,EAAImmB,QAAUnmB,EAAImmB,UAAYhmB,OAAOkC,UAAU8jB,QAAQ1jB,KAAKzC,GAkCtDomB,MA/Bf,SAASA,EAAW3E,EAAGC,GAErB,GAAID,IAAMC,EAAG,OAAO,EAGpB,GAAS,MAALD,GAAkB,MAALC,EAAW,OAAO,EAEnC,GAAIvd,MAAMC,QAAQqd,GAChB,OACEtd,MAAMC,QAAQsd,IACdD,EAAElgB,SAAWmgB,EAAEngB,QACfkgB,EAAE4E,OAAM,SAASC,EAAMnB,GACrB,OAAOiB,EAAWE,EAAM5E,EAAEyD,OAKhC,GAAiB,kBAAN1D,GAA+B,kBAANC,EAAgB,CAClD,IAAI6E,EAASJ,EAAQ1E,GACjB+E,EAASL,EAAQzE,GAErB,OAAI6E,IAAW9E,GAAK+E,IAAW9E,EAAU0E,EAAWG,EAAQC,GAErDrmB,OAAOQ,KAAKR,OAAOoL,OAAO,GAAIkW,EAAGC,IAAI2E,OAAM,SAASpmB,GACzD,OAAOmmB,EAAW3E,EAAExhB,GAAMyhB,EAAEzhB,OAIhC,OAAO,G,QC1BT,SAASwmB,EAAgBC,GACvB,MAA0B,MAAnBA,EAAK1B,OAAO,GAAa0B,EAAO,IAAMA,EAQ/C,SAASC,EAAcD,EAAMrd,GAC3B,OAJF,SAAqBqd,EAAMrd,GACzB,OAA4D,IAArDqd,EAAK1gB,cAAc4D,QAAQP,EAAOrD,iBAAuE,IAA/C,MAAM4D,QAAQ8c,EAAK1B,OAAO3b,EAAO9H,SAG3FqlB,CAAYF,EAAMrd,GAAUqd,EAAKR,OAAO7c,EAAO9H,QAAUmlB,EAElE,SAASG,EAAmBH,GAC1B,MAAwC,MAAjCA,EAAK1B,OAAO0B,EAAKnlB,OAAS,GAAamlB,EAAKnN,MAAM,GAAI,GAAKmN,EA0BpE,SAASI,EAAWvV,GAClB,IAAIwT,EAAWxT,EAASwT,SACpBgC,EAASxV,EAASwV,OAClBC,EAAOzV,EAASyV,KAChBN,EAAO3B,GAAY,IAGvB,OAFIgC,GAAqB,MAAXA,IAAgBL,GAA6B,MAArBK,EAAO/B,OAAO,GAAa+B,EAAS,IAAMA,GAC5EC,GAAiB,MAATA,IAAcN,GAA2B,MAAnBM,EAAKhC,OAAO,GAAagC,EAAO,IAAMA,GACjEN,EAGT,SAASO,EAAeP,EAAMna,EAAOtM,EAAKinB,GACxC,IAAI3V,EAEgB,kBAATmV,GAETnV,EAvCJ,SAAmBmV,GACjB,IAAI3B,EAAW2B,GAAQ,IACnBK,EAAS,GACTC,EAAO,GACPG,EAAYpC,EAASnb,QAAQ,MAEd,IAAfud,IACFH,EAAOjC,EAASmB,OAAOiB,GACvBpC,EAAWA,EAASmB,OAAO,EAAGiB,IAGhC,IAAIC,EAAcrC,EAASnb,QAAQ,KAOnC,OALqB,IAAjBwd,IACFL,EAAShC,EAASmB,OAAOkB,GACzBrC,EAAWA,EAASmB,OAAO,EAAGkB,IAGzB,CACLrC,SAAUA,EACVgC,OAAmB,MAAXA,EAAiB,GAAKA,EAC9BC,KAAe,MAATA,EAAe,GAAKA,GAkBfK,CAAUX,IACZna,MAAQA,QAIS2J,KAD1B3E,EAAWkE,YAAS,GAAIiR,IACX3B,WAAwBxT,EAASwT,SAAW,IAErDxT,EAASwV,OACuB,MAA9BxV,EAASwV,OAAO/B,OAAO,KAAYzT,EAASwV,OAAS,IAAMxV,EAASwV,QAExExV,EAASwV,OAAS,GAGhBxV,EAASyV,KACqB,MAA5BzV,EAASyV,KAAKhC,OAAO,KAAYzT,EAASyV,KAAO,IAAMzV,EAASyV,MAEpEzV,EAASyV,KAAO,QAGJ9Q,IAAV3J,QAA0C2J,IAAnB3E,EAAShF,QAAqBgF,EAAShF,MAAQA,IAG5E,IACEgF,EAASwT,SAAWuC,UAAU/V,EAASwT,UACvC,MAAOxG,GACP,MAAIA,aAAagJ,SACT,IAAIA,SAAS,aAAehW,EAASwT,SAAW,iFAEhDxG,EAoBV,OAhBIte,IAAKsR,EAAStR,IAAMA,GAEpBinB,EAEG3V,EAASwT,SAE6B,MAAhCxT,EAASwT,SAASC,OAAO,KAClCzT,EAASwT,SAAWQ,EAAgBhU,EAASwT,SAAUmC,EAAgBnC,WAFvExT,EAASwT,SAAWmC,EAAgBnC,SAMjCxT,EAASwT,WACZxT,EAASwT,SAAW,KAIjBxT,EAET,SAASiW,EAAkB/F,EAAGC,GAC5B,OAAOD,EAAEsD,WAAarD,EAAEqD,UAAYtD,EAAEsF,SAAWrF,EAAEqF,QAAUtF,EAAEuF,OAAStF,EAAEsF,MAAQvF,EAAExhB,MAAQyhB,EAAEzhB,KAAOmmB,EAAW3E,EAAElV,MAAOmV,EAAEnV,OAG7H,SAASkb,IACP,IAAIC,EAAS,KAiCb,IAAIlP,EAAY,GA4BhB,MAAO,CACLmP,UA5DF,SAAmBC,GAGjB,OADAF,EAASE,EACF,WACDF,IAAWE,IAAYF,EAAS,QAyDtCG,oBArDF,SAA6BtW,EAAUyE,EAAQ8R,EAAqB/P,GAIlE,GAAc,MAAV2P,EAAgB,CAClB,IAAItV,EAA2B,oBAAXsV,EAAwBA,EAAOnW,EAAUyE,GAAU0R,EAEjD,kBAAXtV,EAC0B,oBAAxB0V,EACTA,EAAoB1V,EAAQ2F,GAG5BA,GAAS,GAIXA,GAAoB,IAAX3F,QAGX2F,GAAS,IAmCXgQ,eA7BF,SAAwBC,GACtB,IAAIC,GAAW,EAEf,SAASpP,IACHoP,GAAUD,EAAG9mB,WAAM,EAAQI,WAIjC,OADAkX,EAAUvX,KAAK4X,GACR,WACLoP,GAAW,EACXzP,EAAYA,EAAU1X,QAAO,SAAUwlB,GACrC,OAAOA,IAASzN,OAmBpBqP,gBAdF,WACE,IAAK,IAAI1R,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAGzB+B,EAAU/W,SAAQ,SAAUoX,GAC1B,OAAOA,EAAS3X,WAAM,EAAQ0S,QA5KpC,0KAwLA,IAAItJ,IAAiC,qBAAXmQ,SAA0BA,OAAOtU,WAAYsU,OAAOtU,SAASlC,eACvF,SAASkkB,EAAgB5U,EAASwE,GAChCA,EAAS0C,OAAO2N,QAAQ7U,IAwC1B,IAAI8U,EAAgB,WAChBC,EAAkB,aAEtB,SAASC,IACP,IACE,OAAO9N,OAAO+N,QAAQjc,OAAS,GAC/B,MAAOgS,GAGP,MAAO,IASX,SAASkK,EAAqBnlB,QACd,IAAVA,IACFA,EAAQ,IAGTgH,GAAsG6R,aAAU,GACjH,IAAIuM,EAAgBjO,OAAO+N,QACvBG,EAvDN,WACE,IAAIC,EAAKnO,OAAOoO,UAAUC,UAC1B,QAAmC,IAA9BF,EAAGhf,QAAQ,gBAAuD,IAA/Bgf,EAAGhf,QAAQ,iBAA2D,IAAjCgf,EAAGhf,QAAQ,mBAAqD,IAA1Bgf,EAAGhf,QAAQ,YAAqD,IAAjCgf,EAAGhf,QAAQ,oBACtJ6Q,OAAO+N,SAAW,cAAe/N,OAAO+N,SAoD3BO,GAChBC,KA7CsD,IAAnDvO,OAAOoO,UAAUC,UAAUlf,QAAQ,YA8CtCqf,EAAS3lB,EACT4lB,EAAsBD,EAAOE,aAC7BA,OAAuC,IAAxBD,GAAyCA,EACxDE,EAAwBH,EAAOnB,oBAC/BA,OAAgD,IAA1BsB,EAAmCjB,EAAkBiB,EAC3EC,EAAmBJ,EAAOK,UAC1BA,OAAiC,IAArBD,EAA8B,EAAIA,EAC9CE,EAAWjmB,EAAMimB,SAAW1C,EAAmBJ,EAAgBnjB,EAAMimB,WAAa,GAEtF,SAASC,EAAeC,GACtB,IAAIjZ,EAAOiZ,GAAgB,GACvBxpB,EAAMuQ,EAAKvQ,IACXsM,EAAQiE,EAAKjE,MAEbmd,EAAmBjP,OAAOlJ,SAI1BmV,EAHWgD,EAAiB3E,SACnB2E,EAAiB3C,OACnB2C,EAAiB1C,KAI5B,OADIuC,IAAU7C,EAAOC,EAAcD,EAAM6C,IAClCtC,EAAeP,EAAMna,EAAOtM,GAGrC,SAAS0pB,IACP,OAAOC,KAAKC,SAAS1U,SAAS,IAAI+Q,OAAO,EAAGoD,GAG9C,IAAIQ,EAAoBrC,IAExB,SAASsC,EAAS1d,GAChBoJ,YAAS+S,EAASnc,GAElBmc,EAAQjnB,OAASmnB,EAAcnnB,OAC/BuoB,EAAkB5B,gBAAgBM,EAAQjX,SAAUiX,EAAQxS,QAG9D,SAASgU,EAAeC,IApE1B,SAAmCA,GACjC,YAAuB/T,IAAhB+T,EAAM1d,QAAiE,IAA1Csc,UAAUC,UAAUlf,QAAQ,UAqE1DsgB,CAA0BD,IAC9BE,EAAUX,EAAeS,EAAM1d,QAGjC,SAAS6d,IACPD,EAAUX,EAAejB,MAG3B,IAAI8B,GAAe,EAEnB,SAASF,EAAU5Y,GACjB,GAAI8Y,EACFA,GAAe,EACfN,QACK,CAELD,EAAkBjC,oBAAoBtW,EADzB,MAC2CuW,GAAqB,SAAUwC,GACjFA,EACFP,EAAS,CACP/T,OAJO,MAKPzE,SAAUA,IASpB,SAAmBgZ,GACjB,IAAIC,EAAahC,EAAQjX,SAIrBkZ,EAAUC,EAAQ9gB,QAAQ4gB,EAAWvqB,MACxB,IAAbwqB,IAAgBA,EAAU,GAC9B,IAAIE,EAAYD,EAAQ9gB,QAAQ2gB,EAAatqB,MAC1B,IAAf0qB,IAAkBA,EAAY,GAClC,IAAIC,EAAQH,EAAUE,EAElBC,IACFP,GAAe,EACfQ,EAAGD,IAnBCE,CAAUvZ,OAuBlB,IAAIwZ,EAAkBvB,EAAejB,KACjCmC,EAAU,CAACK,EAAgB9qB,KAE/B,SAAS+qB,EAAWzZ,GAClB,OAAOgY,EAAWzC,EAAWvV,GAuE/B,SAASsZ,EAAGxF,GACVqD,EAAcmC,GAAGxF,GAWnB,IAAI4F,EAAgB,EAEpB,SAASC,EAAkBN,GAGH,KAFtBK,GAAiBL,IAEoB,IAAVA,GACzBnQ,OAAO0Q,iBAAiB9C,EAAe2B,GACnChB,GAAyBvO,OAAO0Q,iBAAiB7C,EAAiB8B,IAC3C,IAAlBa,IACTxQ,OAAO2Q,oBAAoB/C,EAAe2B,GACtChB,GAAyBvO,OAAO2Q,oBAAoB9C,EAAiB8B,IAI7E,IAAIiB,GAAY,EAiChB,IAAI7C,EAAU,CACZjnB,OAAQmnB,EAAcnnB,OACtByU,OAAQ,MACRzE,SAAUwZ,EACVC,WAAYA,EACZ/pB,KApIF,SAAcylB,EAAMna,GAElB,IACIgF,EAAW0V,EAAeP,EAAMna,EAAOod,IAAanB,EAAQjX,UAChEuY,EAAkBjC,oBAAoBtW,EAFzB,OAE2CuW,GAAqB,SAAUwC,GACrF,GAAKA,EAAL,CACA,IAAIgB,EAAON,EAAWzZ,GAClBtR,EAAMsR,EAAStR,IACfsM,EAAQgF,EAAShF,MAErB,GAAIoc,EAMF,GALAD,EAAc6C,UAAU,CACtBtrB,IAAKA,EACLsM,MAAOA,GACN,KAAM+e,GAELnC,EACF1O,OAAOlJ,SAAS+Z,KAAOA,MAClB,CACL,IAAIE,EAAYd,EAAQ9gB,QAAQ4e,EAAQjX,SAAStR,KAC7CwrB,EAAWf,EAAQnR,MAAM,EAAGiS,EAAY,GAC5CC,EAASxqB,KAAKsQ,EAAStR,KACvByqB,EAAUe,EACV1B,EAAS,CACP/T,OAtBK,OAuBLzE,SAAUA,SAKdkJ,OAAOlJ,SAAS+Z,KAAOA,OAuG3B9jB,QAlGF,SAAiBkf,EAAMna,GAErB,IACIgF,EAAW0V,EAAeP,EAAMna,EAAOod,IAAanB,EAAQjX,UAChEuY,EAAkBjC,oBAAoBtW,EAFzB,UAE2CuW,GAAqB,SAAUwC,GACrF,GAAKA,EAAL,CACA,IAAIgB,EAAON,EAAWzZ,GAClBtR,EAAMsR,EAAStR,IACfsM,EAAQgF,EAAShF,MAErB,GAAIoc,EAMF,GALAD,EAAcgD,aAAa,CACzBzrB,IAAKA,EACLsM,MAAOA,GACN,KAAM+e,GAELnC,EACF1O,OAAOlJ,SAAS/J,QAAQ8jB,OACnB,CACL,IAAIE,EAAYd,EAAQ9gB,QAAQ4e,EAAQjX,SAAStR,MAC9B,IAAfurB,IAAkBd,EAAQc,GAAaja,EAAStR,KACpD8pB,EAAS,CACP/T,OApBK,UAqBLzE,SAAUA,SAKdkJ,OAAOlJ,SAAS/J,QAAQ8jB,QAuE5BT,GAAIA,EACJc,OA/DF,WACEd,GAAI,IA+DJe,UA5DF,WACEf,EAAG,IA4DHgB,MAzCF,SAAenE,QACE,IAAXA,IACFA,GAAS,GAGX,IAAIoE,EAAUhC,EAAkBnC,UAAUD,GAO1C,OALK2D,IACHH,EAAkB,GAClBG,GAAY,GAGP,WAML,OALIA,IACFA,GAAY,EACZH,GAAmB,IAGdY,MAwBTC,OApBF,SAAgBlT,GACd,IAAImT,EAAWlC,EAAkB/B,eAAelP,GAEhD,OADAqS,EAAkB,GACX,WACLA,GAAmB,GACnBc,OAiBJ,OAAOxD,EAkST,SAASyD,EAAM5G,EAAG6G,EAAYC,GAC5B,OAAOvC,KAAKwC,IAAIxC,KAAKyC,IAAIhH,EAAG6G,GAAaC,GAO3C,SAASG,EAAoBhpB,QACb,IAAVA,IACFA,EAAQ,IAGV,IAAI2lB,EAAS3lB,EACTwkB,EAAsBmB,EAAOnB,oBAC7ByE,EAAwBtD,EAAOuD,eAC/BA,OAA2C,IAA1BD,EAAmC,CAAC,KAAOA,EAC5DE,EAAsBxD,EAAOyD,aAC7BA,OAAuC,IAAxBD,EAAiC,EAAIA,EACpDpD,EAAmBJ,EAAOK,UAC1BA,OAAiC,IAArBD,EAA8B,EAAIA,EAC9CS,EAAoBrC,IAExB,SAASsC,EAAS1d,GAChBoJ,YAAS+S,EAASnc,GAElBmc,EAAQjnB,OAASinB,EAAQtW,QAAQ3Q,OACjCuoB,EAAkB5B,gBAAgBM,EAAQjX,SAAUiX,EAAQxS,QAG9D,SAAS2T,IACP,OAAOC,KAAKC,SAAS1U,SAAS,IAAI+Q,OAAO,EAAGoD,GAG9C,IAAInE,EAAQ8G,EAAMS,EAAc,EAAGF,EAAejrB,OAAS,GACvD2Q,EAAUsa,EAAeplB,KAAI,SAAUulB,GACzC,OAAmC1F,EAAe0F,OAAOzW,EAAjC,kBAAVyW,EAAsDhD,IAAgDgD,EAAM1sB,KAAO0pB,QAG/HqB,EAAalE,EAyCjB,SAAS+D,EAAGxF,GACV,IAAIuH,EAAYX,EAAMzD,EAAQrD,MAAQE,EAAG,EAAGmD,EAAQtW,QAAQ3Q,OAAS,GAEjEgQ,EAAWiX,EAAQtW,QAAQ0a,GAC/B9C,EAAkBjC,oBAAoBtW,EAFzB,MAE2CuW,GAAqB,SAAUwC,GACjFA,EACFP,EAAS,CACP/T,OALO,MAMPzE,SAAUA,EACV4T,MAAOyH,IAKT7C,OA8BN,IAAIvB,EAAU,CACZjnB,OAAQ2Q,EAAQ3Q,OAChByU,OAAQ,MACRzE,SAAUW,EAAQiT,GAClBA,MAAOA,EACPjT,QAASA,EACT8Y,WAAYA,EACZ/pB,KA1FF,SAAcylB,EAAMna,GAElB,IACIgF,EAAW0V,EAAeP,EAAMna,EAAOod,IAAanB,EAAQjX,UAChEuY,EAAkBjC,oBAAoBtW,EAFzB,OAE2CuW,GAAqB,SAAUwC,GACrF,GAAKA,EAAL,CACA,IACIsC,EADYpE,EAAQrD,MACI,EACxB0H,EAAcrE,EAAQtW,QAAQqH,MAAM,GAEpCsT,EAAYtrB,OAASqrB,EACvBC,EAAYrT,OAAOoT,EAAWC,EAAYtrB,OAASqrB,EAAWrb,GAE9Dsb,EAAY5rB,KAAKsQ,GAGnBwY,EAAS,CACP/T,OAfS,OAgBTzE,SAAUA,EACV4T,MAAOyH,EACP1a,QAAS2a,SAuEbrlB,QAlEF,SAAiBkf,EAAMna,GAErB,IACIgF,EAAW0V,EAAeP,EAAMna,EAAOod,IAAanB,EAAQjX,UAChEuY,EAAkBjC,oBAAoBtW,EAFzB,UAE2CuW,GAAqB,SAAUwC,GAChFA,IACL9B,EAAQtW,QAAQsW,EAAQrD,OAAS5T,EACjCwY,EAAS,CACP/T,OANS,UAOTzE,SAAUA,SA0DdsZ,GAAIA,EACJc,OAnCF,WACEd,GAAI,IAmCJe,UAhCF,WACEf,EAAG,IAgCHiC,MA7BF,SAAezH,GACb,IAAIuH,EAAYpE,EAAQrD,MAAQE,EAChC,OAAOuH,GAAa,GAAKA,EAAYpE,EAAQtW,QAAQ3Q,QA4BrDsqB,MAzBF,SAAenE,GAKb,YAJe,IAAXA,IACFA,GAAS,GAGJoC,EAAkBnC,UAAUD,IAqBnCqE,OAlBF,SAAgBlT,GACd,OAAOiR,EAAkB/B,eAAelP,KAmB1C,OAAO2P,I,6BCn5BT,kCAuBA,IAAI1jB,EAAiB3E,OAAOkC,UAAUyC,eAEtC,SAASyE,EAAQvJ,GACf,GAAmB,kBAARA,EAAkB,OAAO,EAEpC,IAAK,IAAIC,KAAOD,EACd,GAAI8E,EAAerC,KAAKzC,EAAKC,GAAM,OAAO,EAG5C,OAAO,I,6BChCT,kCAuBA,IAAI6E,EAAiB3E,OAAOkC,UAAUyC,eAEtC,SAASyE,EAAQvJ,GACf,GAAmB,kBAARA,EAAkB,OAAO,EAEpC,IAAK,IAAIC,KAAOD,EACd,GAAI8E,EAAerC,KAAKzC,EAAKC,GAAM,OAAO,EAG5C,OAAO,I,6BChCT,kCAuBA,IAAI6E,EAAiB3E,OAAOkC,UAAUyC,eAEtC,SAASyE,EAAQvJ,GACf,GAAmB,kBAARA,EAAkB,OAAO,EAEpC,IAAK,IAAIC,KAAOD,EACd,GAAI8E,EAAerC,KAAKzC,EAAKC,GAAM,OAAO,EAG5C,OAAO,I,6BChCT,kCAuBA,IAAI6E,EAAiB3E,OAAOkC,UAAUyC,eAEtC,SAASyE,EAAQvJ,GACf,GAAmB,kBAARA,EAAkB,OAAO,EAEpC,IAAK,IAAIC,KAAOD,EACd,GAAI8E,EAAerC,KAAKzC,EAAKC,GAAM,OAAO,EAG5C,OAAO,I,6BCgBTL,EAAOC,QA5BS,SAASyT,EAAWyZ,EAAQtL,EAAGC,EAAGsL,EAAGC,EAAG1O,EAAG2O,GAOzD,IAAK5Z,EAAW,CACd,IAAIQ,EACJ,QAAeoC,IAAX6W,EACFjZ,EAAQ,IAAIrC,MACV,qIAGG,CACL,IAAImC,EAAO,CAAC6N,EAAGC,EAAGsL,EAAGC,EAAG1O,EAAG2O,GACvBC,EAAW,GACfrZ,EAAQ,IAAIrC,MACVsb,EAAOvlB,QAAQ,OAAO,WAAa,OAAOoM,EAAKuZ,UAE3CniB,KAAO,sBAIf,MADA8I,EAAMsZ,YAAc,EACdtZ,K,6BC5CV,uLAQIuZ,EAAe,WACjB,OAAOzD,KAAKC,SAAS1U,SAAS,IAAI+B,UAAU,GAAGhQ,MAAM,IAAIa,KAAK,MAG5DulB,EAAc,CAChBC,KAAM,eAAiBF,IACvBG,QAAS,kBAAoBH,IAC7BI,qBAAsB,WACpB,MAAO,+BAAiCJ,MAQ5C,SAASK,EAAc1tB,GACrB,GAAmB,kBAARA,GAA4B,OAARA,EAAc,OAAO,EAGpD,IAFA,IAAI2tB,EAAQ3tB,EAE4B,OAAjCG,OAAO4B,eAAe4rB,IAC3BA,EAAQxtB,OAAO4B,eAAe4rB,GAGhC,OAAOxtB,OAAO4B,eAAe/B,KAAS2tB,EA6BxC,SAASC,EAAYC,EAASC,EAAgBC,GAC5C,IAAIrd,EAEJ,GAA8B,oBAAnBod,GAAqD,oBAAbC,GAA+C,oBAAbA,GAAmD,oBAAjBzsB,UAAU,GAC/H,MAAM,IAAImQ,MAAM,uJAQlB,GAL8B,oBAAnBqc,GAAqD,qBAAbC,IACjDA,EAAWD,EACXA,OAAiB5X,GAGK,qBAAb6X,EAA0B,CACnC,GAAwB,oBAAbA,EACT,MAAM,IAAItc,MAAM,2CAGlB,OAAOsc,EAASH,EAATG,CAAsBF,EAASC,GAGxC,GAAuB,oBAAZD,EACT,MAAM,IAAIpc,MAAM,0CAGlB,IAAIuc,EAAiBH,EACjBI,EAAeH,EACfI,EAAmB,GACnBC,EAAgBD,EAChBE,GAAgB,EASpB,SAASC,IACHF,IAAkBD,IACpBC,EAAgBD,EAAiB3U,SAUrC,SAASS,IACP,GAAIoU,EACF,MAAM,IAAI3c,MAAM,wMAGlB,OAAOwc,EA2BT,SAASlV,EAAUF,GACjB,GAAwB,oBAAbA,EACT,MAAM,IAAIpH,MAAM,2CAGlB,GAAI2c,EACF,MAAM,IAAI3c,MAAM,6TAGlB,IAAIyH,GAAe,EAGnB,OAFAmV,IACAF,EAAcltB,KAAK4X,GACZ,WACL,GAAKK,EAAL,CAIA,GAAIkV,EACF,MAAM,IAAI3c,MAAM,kKAGlByH,GAAe,EACfmV,IACA,IAAIlJ,EAAQgJ,EAAcvkB,QAAQiP,GAClCsV,EAAc3U,OAAO2L,EAAO,GAC5B+I,EAAmB,OA8BvB,SAAS5T,EAAStE,GAChB,IAAK0X,EAAc1X,GACjB,MAAM,IAAIvE,MAAM,2EAGlB,GAA2B,qBAAhBuE,EAAOG,KAChB,MAAM,IAAI1E,MAAM,sFAGlB,GAAI2c,EACF,MAAM,IAAI3c,MAAM,sCAGlB,IACE2c,GAAgB,EAChBH,EAAeD,EAAeC,EAAcjY,GAF9C,QAIEoY,GAAgB,EAKlB,IAFA,IAAI5V,EAAY0V,EAAmBC,EAE1B9sB,EAAI,EAAGA,EAAImX,EAAUjX,OAAQF,IAAK,EAEzCwX,EADeL,EAAUnX,MAI3B,OAAO2U,EA6ET,OAHAsE,EAAS,CACPnE,KAAMmX,EAAYC,QAEb7c,EAAQ,CACb4J,SAAUA,EACVvB,UAAWA,EACXiB,SAAUA,EACVsU,eAnEF,SAAwBC,GACtB,GAA2B,oBAAhBA,EACT,MAAM,IAAI9c,MAAM,8CAGlBuc,EAAiBO,EAKjBjU,EAAS,CACPnE,KAAMmX,EAAYE,aAyDbgB,KA9CT,WACE,IAAIhe,EAEAie,EAAiB1V,EACrB,OAAOvI,EAAO,CASZuI,UAAW,SAAmB2V,GAC5B,GAAwB,kBAAbA,GAAsC,OAAbA,EAClC,MAAM,IAAI5rB,UAAU,0CAGtB,SAAS6rB,IACHD,EAASrV,MACXqV,EAASrV,KAAKW,KAMlB,OAFA2U,IAEO,CACLpW,YAFgBkW,EAAeE,OAK7BH,KAAgB,WACtB,OAAOvlB,MACNuH,GAcgCE,EA0BvC,SAASke,EAA8B3uB,EAAK+V,GAC1C,IAAI6Y,EAAa7Y,GAAUA,EAAOG,KAElC,MAAO,UADiB0Y,GAAc,WAAcC,OAAOD,GAAc,KAAQ,aAC3C,cAAiB5uB,EAAM,iLAgE/D,SAAS8uB,EAAgBC,GAIvB,IAHA,IAAIC,EAAc9uB,OAAOQ,KAAKquB,GAC1BE,EAAgB,GAEX7tB,EAAI,EAAGA,EAAI4tB,EAAY1tB,OAAQF,IAAK,CAC3C,IAAIpB,EAAMgvB,EAAY5tB,GAElBoS,EAMyB,oBAAlBub,EAAS/uB,KAClBivB,EAAcjvB,GAAO+uB,EAAS/uB,IAIlC,IASIkvB,EATAC,EAAmBjvB,OAAOQ,KAAKuuB,GAWnC,KAjEF,SAA4BF,GAC1B7uB,OAAOQ,KAAKquB,GAAUvtB,SAAQ,SAAUxB,GACtC,IAAI4tB,EAAUmB,EAAS/uB,GAKvB,GAA4B,qBAJT4tB,OAAQ3X,EAAW,CACpCC,KAAMmX,EAAYC,OAIlB,MAAM,IAAI9b,MAAM,YAAexR,EAAM,iRAGvC,GAEO,qBAFI4tB,OAAQ3X,EAAW,CAC5BC,KAAMmX,EAAYG,yBAElB,MAAM,IAAIhc,MAAM,YAAexR,EAAM,6EAAqFqtB,EAAYC,KAAO,kTAoD/I8B,CAAmBH,GACnB,MAAO3Q,GACP4Q,EAAsB5Q,EAGxB,OAAO,SAAqBhS,EAAOyJ,GAKjC,QAJc,IAAVzJ,IACFA,EAAQ,IAGN4iB,EACF,MAAMA,EAcR,IAX2C,IAQvCG,GAAa,EACbjjB,EAAY,GAEPsY,EAAK,EAAGA,EAAKyK,EAAiB7tB,OAAQojB,IAAM,CACnD,IAAIlO,EAAO2Y,EAAiBzK,GACxBkJ,EAAUqB,EAAczY,GACxB8Y,EAAsBhjB,EAAMkK,GAC5B+Y,EAAkB3B,EAAQ0B,EAAqBvZ,GAEnD,GAA+B,qBAApBwZ,EAAiC,CAC1C,IAAIC,EAAeb,EAA8BnY,EAAMT,GACvD,MAAM,IAAIvE,MAAMge,GAGlBpjB,EAAUoK,GAAQ+Y,EAClBF,EAAaA,GAAcE,IAAoBD,EAIjD,OADAD,EAAaA,GAAcF,EAAiB7tB,SAAWpB,OAAOQ,KAAK4L,GAAOhL,QACtD8K,EAAYE,GAIpC,SAASmjB,EAAkBC,EAAerV,GACxC,OAAO,WACL,OAAOA,EAASqV,EAAczuB,MAAM+H,KAAM3H,aA0B9C,SAASqe,EAAmBiQ,EAAgBtV,GAC1C,GAA8B,oBAAnBsV,EACT,OAAOF,EAAkBE,EAAgBtV,GAG3C,GAA8B,kBAAnBsV,GAAkD,OAAnBA,EACxC,MAAM,IAAIne,MAAM,0EAA+F,OAAnBme,EAA0B,cAAgBA,GAAkB,8FAG1J,IAAIC,EAAsB,GAE1B,IAAK,IAAI5vB,KAAO2vB,EAAgB,CAC9B,IAAID,EAAgBC,EAAe3vB,GAEN,oBAAlB0vB,IACTE,EAAoB5vB,GAAOyvB,EAAkBC,EAAerV,IAIhE,OAAOuV,EAGT,SAAS9vB,EAAgBC,EAAKC,EAAKC,GAYjC,OAXID,KAAOD,EACTG,OAAOC,eAAeJ,EAAKC,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZP,EAAIC,GAAOC,EAGNF,EAGT,SAASQ,EAAQC,EAAQC,GACvB,IAAIC,EAAOR,OAAOQ,KAAKF,GASvB,OAPIN,OAAOS,uBACTD,EAAKM,KAAKC,MAAMP,EAAMR,OAAOS,sBAAsBH,IAGjDC,IAAgBC,EAAOA,EAAKG,QAAO,SAAUC,GAC/C,OAAOZ,OAAOa,yBAAyBP,EAAQM,GAAKV,eAE/CM,EAGT,SAASQ,EAAeC,GACtB,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,GAE/CA,EAAI,EACNb,EAAQgB,GAAQ,GAAMC,SAAQ,SAAUxB,GACtCF,EAAgBqB,EAAQnB,EAAKuB,EAAOvB,OAE7BE,OAAOuB,0BAChBvB,OAAOwB,iBAAiBP,EAAQjB,OAAOuB,0BAA0BF,IAEjEhB,EAAQgB,GAAQC,SAAQ,SAAUxB,GAChCE,OAAOC,eAAegB,EAAQnB,EAAKE,OAAOa,yBAAyBQ,EAAQvB,OAKjF,OAAOmB,EAaT,SAAS0uB,IACP,IAAK,IAAItZ,EAAOlV,UAAUC,OAAQwuB,EAAQ,IAAI5rB,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAChFsZ,EAAMtZ,GAAQnV,UAAUmV,GAG1B,OAAqB,IAAjBsZ,EAAMxuB,OACD,SAAUmR,GACf,OAAOA,GAIU,IAAjBqd,EAAMxuB,OACDwuB,EAAM,GAGRA,EAAM5d,QAAO,SAAUsP,EAAGC,GAC/B,OAAO,WACL,OAAOD,EAAEC,EAAExgB,WAAM,EAAQI,gBAsB/B,SAAS0uB,IACP,IAAK,IAAIxZ,EAAOlV,UAAUC,OAAQ0uB,EAAc,IAAI9rB,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IACtFwZ,EAAYxZ,GAAQnV,UAAUmV,GAGhC,OAAO,SAAUmX,GACf,OAAO,WACL,IAAIvV,EAAQuV,EAAY1sB,WAAM,EAAQI,WAElC4uB,EAAY,WACd,MAAM,IAAIze,MAAM,2HAGd0e,EAAgB,CAClBnW,SAAU3B,EAAM2B,SAChBM,SAAU,WACR,OAAO4V,EAAUhvB,WAAM,EAAQI,aAG/B8uB,EAAQH,EAAY7oB,KAAI,SAAUipB,GACpC,OAAOA,EAAWF,MAGpB,OAAOhvB,EAAe,GAAIkX,EAAO,CAC/BiC,SAFF4V,EAAYJ,EAAQ5uB,WAAM,EAAQkvB,EAAtBN,CAA6BzX,EAAMiC,gB,6BCnoBtC,SAASgW,EAAuB9tB,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIqT,eAAe,6DAG3B,OAAOrT,EALT,mC,+BCAA,8CAkCA,SAAS2H,EAAoBhB,EAAWE,GACtC,IAAIknB,EAAY,GAIhB,OAHApwB,OAAOQ,KAAKwI,GAAa,IAAI1H,SAAQ,SAAUxB,GAC7CswB,EAAUC,YAAmBvwB,EAAKoJ,IAAWF,EAAUlJ,MAElDswB,I,6BCrCTpwB,OAAOC,eAAeP,EAAS,aAAc,CAC3CK,OAAO,IAETL,EAAQ4wB,WAAaA,EAErB,IAIgCzwB,EAJ5B0wB,EAAgB5wB,EAAQ,IAExB6wB,GAE4B3wB,EAFY0wB,IAES1wB,EAAI4wB,WAAa5wB,EAAM,CAAE0O,QAAS1O,GA8BvF,SAAS+lB,EAAK/Q,GACZ,OAAOA,EAAIA,EAAIzT,OAAS,GAG1B,SAASsvB,EAAYC,GACnB,GAAIA,EAAIC,MACN,OAAOD,EAAIC,MAIb,IAAK,IAAI1vB,EAAI,EAAGA,EAAI8E,SAAS6qB,YAAYzvB,OAAQF,IAC/C,GAAI8E,SAAS6qB,YAAY3vB,GAAG4vB,YAAcH,EACxC,OAAO3qB,SAAS6qB,YAAY3vB,GAKlC,IAAI6vB,EAA8B,qBAAXzW,OACnB0W,GAAkD,EAClDC,GAAS3d,EAET4d,EAAQ,WACV,GAAIH,EAAW,CACb,IAAII,EAAMnrB,SAASlC,cAAc,OAEjC,OADAqtB,EAAIC,UAAY,8CACgC,IAAzCD,EAAIE,qBAAqB,KAAKjwB,QAJ7B,GAQZ,SAASkwB,IACP,IAAIX,EAAM3qB,SAASlC,cAAc,SAKjC,OAJA6sB,EAAI3a,KAAO,WACX2a,EAAI1qB,aAAa,cAAe,IAChC0qB,EAAIY,YAAYvrB,SAASwrB,eAAe,MACvCxrB,SAASyrB,MAAQzrB,SAASqrB,qBAAqB,QAAQ,IAAIE,YAAYZ,GACjEA,EAGT,SAASL,IACP,IAAIjgB,EAAOlP,UAAUC,OAAS,QAAsB2U,IAAjB5U,UAAU,GAAmBA,UAAU,GAAK,GAC3EuwB,EAAcrhB,EAAKshB,OACnBA,OAAyB5b,IAAhB2b,GAA6BV,IAAUC,EAASS,EACzDE,EAAiBvhB,EAAKwhB,UACtBA,OAA+B9b,IAAnB6b,EAA+Bb,GAAaG,EAAQ,IAAO,KAAQU,EAEnF9oB,KAAKgpB,SAAWH,EAChB7oB,KAAK8nB,WAAQ7a,EACbjN,KAAKipB,KAAO,GACZjpB,KAAK+oB,UAAYA,EACjB/oB,KAAKkpB,IAAM,GAGb,EAAIxB,EAAejiB,SAAS+hB,EAAWpuB,UAAW,CAChD+vB,SAAU,WACR,OAAOvB,EAAY9K,EAAK9c,KAAKipB,QAE/BG,OAAQ,WACN,IAAIxmB,EAAQ5C,KAEZ,GAAIA,KAAKqpB,SACP,MAAM,IAAI7gB,MAAM,gCAEdyf,EACFjoB,KAAKipB,KAAK,GAAKT,IAGfxoB,KAAK8nB,MAAQ,CACXwB,SAAU,GACVC,WAAY,SAAoB5rB,GAG9BiF,EAAMklB,MAAMwB,SAAStxB,KAAK,CAAEyE,QAASkB,MAI3CqC,KAAKqpB,UAAW,GAElBR,OAAQ,SAAgBxkB,GACtB,GAAiB,IAAbrE,KAAKkpB,IACP,MAAM,IAAI1gB,MAAM,mFAAqFnE,EAAO,wDAA0DA,EAAO,KAE/KrE,KAAKgpB,WAAa3kB,GAEpBmlB,QAAS,SAAiB7rB,GAGxB,IACE,IAAImqB,EAAQ9nB,KAAKmpB,WACjBrB,EAAMyB,WAAW5rB,GAAmC,IAA7BA,EAAKgD,QAAQ,WAAoB,EAAImnB,EAAMwB,SAAShxB,QAC3E,MAAOgd,GACH4S,GAEF5c,QAAQN,KAAK,gCAAiCrN,KAIpD8rB,OAAQ,SAAgB9rB,GAEtB,GAAIsqB,EAEF,GAAIjoB,KAAKgpB,UAAYhpB,KAAKmpB,WAAWI,WACnCvpB,KAAKwpB,QAAQ7rB,QAOX,IAAiC,IAA7BA,EAAKgD,QAAQ,WAAmB,CAClC,IAAIknB,EAAM/K,EAAK9c,KAAKipB,MACpBpB,EAAI5oB,aAAa/B,SAASwrB,eAAe/qB,GAAOkqB,EAAI3oB,iBAEpD4d,EAAK9c,KAAKipB,MAAMR,YAAYvrB,SAASwrB,eAAe/qB,SAK1DqC,KAAK8nB,MAAMyB,WAAW5rB,GAAmC,IAA7BA,EAAKgD,QAAQ,WAAoB,EAAIX,KAAK8nB,MAAMwB,SAAShxB,QAOvF,OAJA0H,KAAKkpB,MACDjB,GAAajoB,KAAKkpB,IAAMlpB,KAAK+oB,YAAc,GAC7C/oB,KAAKipB,KAAKjxB,KAAKwwB,KAEVxoB,KAAKkpB,IAAM,GAqCpBQ,OAAQ,SAAiBxN,GAEvB,OAAOlc,KAAKzB,QAAQ2d,EAAO,KAE7ByN,MAAO,WACD1B,GACFjoB,KAAKipB,KAAKzwB,SAAQ,SAAUqvB,GAC1B,OAAOA,EAAI+B,WAAWrqB,YAAYsoB,MAEpC7nB,KAAKipB,KAAO,GACZjpB,KAAK8nB,MAAQ,KACb9nB,KAAKkpB,IAAM,GAIXlpB,KAAK8nB,MAAMwB,SAAW,GAExBtpB,KAAKqpB,UAAW,GAElB9a,MAAO,WACL,IAAK0Z,EACH,OAAOjoB,KAAK8nB,MAAMwB,SAEpB,IAAIvd,EAAM,GAIV,OAHA/L,KAAKipB,KAAKzwB,SAAQ,SAAUqvB,GAC1B,OAAO9b,EAAIwE,OAAOtY,MAAM8T,EAAK,CAACA,EAAIzT,OAAQ,GAAGuE,OAtNnD,SAA4BkP,GAAO,GAAI7Q,MAAMC,QAAQ4Q,GAAM,CAAE,IAAK,IAAI3T,EAAI,EAAG4T,EAAO9Q,MAAM6Q,EAAIzT,QAASF,EAAI2T,EAAIzT,OAAQF,IAAO4T,EAAK5T,GAAK2T,EAAI3T,GAAM,OAAO4T,EAAe,OAAO9Q,MAAMiR,KAAKJ,GAsNhID,CAAmB5Q,MAAMiR,KAAKyb,EAAYC,GAAKyB,gBAE9Fvd,M,6BCrOX,uDAmCA,SAASpI,EAAYkmB,GACnB,IAAItsB,EAAqB,oBAAPssB,EAAoBA,IAAOA,EAE7C,OAAItsB,IAASL,SACJA,SAASqE,gBACPhE,aAAgBusB,SAAWvsB,IAASiU,QAAUjU,GAAiC,qBAAlBA,EAAKwsB,SACpExsB,EACEA,EACFysB,IAASrmB,YAAYpG,QADvB,I,gBC1CT,OAIA,SAAUojB,GAEV,IAAIsJ,EAAW,OACXC,EAAY,OACZC,EAAc,EACdC,EAAYzJ,EAAK0J,MACjBC,EAAU3J,EAAKwC,IACfoH,EAAU5J,EAAKyC,IACfoH,EAAa7J,EAAKC,OAEtB,SAAS6J,EAAWC,EAAOC,GAMvB,GAHAA,EAAOA,GAAQ,IADfD,EAASA,GAAiB,cAILD,EAClB,OAAOC,EAGV,KAAM1qB,gBAAgByqB,GAClB,OAAO,IAAIA,EAAUC,EAAOC,GAGhC,IAAIC,EAoRR,SAAoBF,GAEhB,IAAIE,EAAM,CAAEC,EAAG,EAAGvkB,EAAG,EAAGmS,EAAG,GACvBD,EAAI,EACJsS,EAAI,KACJC,EAAI,KACJC,EAAI,KACJ3J,GAAK,EACLyC,GAAS,EAEO,iBAAT4G,IACPA,EAywBR,SAA6BA,GAEzBA,EAAQA,EAAMnsB,QAAQ0rB,EAAS,IAAI1rB,QAAQ2rB,EAAW,IAAIntB,cAC1D,IAaIyB,EAbAysB,GAAQ,EACZ,GAAIC,EAAMR,GACNA,EAAQQ,EAAMR,GACdO,GAAQ,OAEP,GAAa,eAATP,EACL,MAAO,CAAEG,EAAG,EAAGvkB,EAAG,EAAGmS,EAAG,EAAGD,EAAG,EAAGsL,OAAQ,QAQ7C,GAAKtlB,EAAQ2sB,EAASP,IAAIQ,KAAKV,GAC3B,MAAO,CAAEG,EAAGrsB,EAAM,GAAI8H,EAAG9H,EAAM,GAAIia,EAAGja,EAAM,IAEhD,GAAKA,EAAQ2sB,EAASE,KAAKD,KAAKV,GAC5B,MAAO,CAAEG,EAAGrsB,EAAM,GAAI8H,EAAG9H,EAAM,GAAIia,EAAGja,EAAM,GAAIga,EAAGha,EAAM,IAE7D,GAAKA,EAAQ2sB,EAASG,IAAIF,KAAKV,GAC3B,MAAO,CAAEa,EAAG/sB,EAAM,GAAIssB,EAAGtsB,EAAM,GAAIwsB,EAAGxsB,EAAM,IAEhD,GAAKA,EAAQ2sB,EAASK,KAAKJ,KAAKV,GAC5B,MAAO,CAAEa,EAAG/sB,EAAM,GAAIssB,EAAGtsB,EAAM,GAAIwsB,EAAGxsB,EAAM,GAAIga,EAAGha,EAAM,IAE7D,GAAKA,EAAQ2sB,EAASM,IAAIL,KAAKV,GAC3B,MAAO,CAAEa,EAAG/sB,EAAM,GAAIssB,EAAGtsB,EAAM,GAAIusB,EAAGvsB,EAAM,IAEhD,GAAKA,EAAQ2sB,EAASO,KAAKN,KAAKV,GAC5B,MAAO,CAAEa,EAAG/sB,EAAM,GAAIssB,EAAGtsB,EAAM,GAAIusB,EAAGvsB,EAAM,GAAIga,EAAGha,EAAM,IAE7D,GAAKA,EAAQ2sB,EAASQ,KAAKP,KAAKV,GAC5B,MAAO,CACHG,EAAGe,EAAgBptB,EAAM,IACzB8H,EAAGslB,EAAgBptB,EAAM,IACzBia,EAAGmT,EAAgBptB,EAAM,IACzBga,EAAGqT,EAAoBrtB,EAAM,IAC7BslB,OAAQmH,EAAQ,OAAS,QAGjC,GAAKzsB,EAAQ2sB,EAASW,KAAKV,KAAKV,GAC5B,MAAO,CACHG,EAAGe,EAAgBptB,EAAM,IACzB8H,EAAGslB,EAAgBptB,EAAM,IACzBia,EAAGmT,EAAgBptB,EAAM,IACzBslB,OAAQmH,EAAQ,OAAS,OAGjC,GAAKzsB,EAAQ2sB,EAASY,KAAKX,KAAKV,GAC5B,MAAO,CACHG,EAAGe,EAAgBptB,EAAM,GAAK,GAAKA,EAAM,IACzC8H,EAAGslB,EAAgBptB,EAAM,GAAK,GAAKA,EAAM,IACzCia,EAAGmT,EAAgBptB,EAAM,GAAK,GAAKA,EAAM,IACzCga,EAAGqT,EAAoBrtB,EAAM,GAAK,GAAKA,EAAM,IAC7CslB,OAAQmH,EAAQ,OAAS,QAGjC,GAAKzsB,EAAQ2sB,EAASa,KAAKZ,KAAKV,GAC5B,MAAO,CACHG,EAAGe,EAAgBptB,EAAM,GAAK,GAAKA,EAAM,IACzC8H,EAAGslB,EAAgBptB,EAAM,GAAK,GAAKA,EAAM,IACzCia,EAAGmT,EAAgBptB,EAAM,GAAK,GAAKA,EAAM,IACzCslB,OAAQmH,EAAQ,OAAS,OAIjC,OAAO,EA/0BKgB,CAAoBvB,IAGZ,iBAATA,IACHwB,EAAexB,EAAMG,IAAMqB,EAAexB,EAAMpkB,IAAM4lB,EAAexB,EAAMjS,IAiDrEoS,EAhDSH,EAAMG,EAgDZvkB,EAhDeokB,EAAMpkB,EAgDlBmS,EAhDqBiS,EAAMjS,EAAvCmS,EAiDD,CACHC,EAAqB,IAAlBsB,EAAQtB,EAAG,KACdvkB,EAAqB,IAAlB6lB,EAAQ7lB,EAAG,KACdmS,EAAqB,IAAlB0T,EAAQ1T,EAAG,MAnDV4I,GAAK,EACLyC,EAAwC,MAA/B+B,OAAO6E,EAAMG,GAAG5N,QAAQ,GAAa,OAAS,OAElDiP,EAAexB,EAAMa,IAAMW,EAAexB,EAAMI,IAAMoB,EAAexB,EAAMK,IAChFD,EAAIsB,EAAoB1B,EAAMI,GAC9BC,EAAIqB,EAAoB1B,EAAMK,GAC9BH,EAoJX,SAAkBW,EAAGT,EAAGC,GAErBQ,EAAsB,EAAlBY,EAAQZ,EAAG,KACfT,EAAIqB,EAAQrB,EAAG,KACfC,EAAIoB,EAAQpB,EAAG,KAEf,IAAI3yB,EAAIuoB,EAAK0L,MAAMd,GACftH,EAAIsH,EAAInzB,EACR2B,EAAIgxB,GAAK,EAAID,GACbwB,EAAIvB,GAAK,EAAI9G,EAAI6G,GACjByB,EAAIxB,GAAK,GAAK,EAAI9G,GAAK6G,GACvB0B,EAAMp0B,EAAI,EAKd,MAAO,CAAEyyB,EAAO,IAJR,CAACE,EAAGuB,EAAGvyB,EAAGA,EAAGwyB,EAAGxB,GAAGyB,GAINlmB,EAAO,IAHpB,CAACimB,EAAGxB,EAAGA,EAAGuB,EAAGvyB,EAAGA,GAAGyyB,GAGM/T,EAAO,IAFhC,CAAC1e,EAAGA,EAAGwyB,EAAGxB,EAAGA,EAAGuB,GAAGE,IAlKbC,CAAS/B,EAAMa,EAAGT,EAAGC,GAC3B1J,GAAK,EACLyC,EAAS,OAEJoI,EAAexB,EAAMa,IAAMW,EAAexB,EAAMI,IAAMoB,EAAexB,EAAMM,KAChFF,EAAIsB,EAAoB1B,EAAMI,GAC9BE,EAAIoB,EAAoB1B,EAAMM,GAC9BJ,EA6EZ,SAAkBW,EAAGT,EAAGE,GACpB,IAAIH,EAAGvkB,EAAGmS,EAMV,SAASiU,EAAQ3yB,EAAGuyB,EAAGC,GAGnB,OAFGA,EAAI,IAAGA,GAAK,GACZA,EAAI,IAAGA,GAAK,GACZA,EAAI,EAAE,EAAUxyB,EAAc,GAATuyB,EAAIvyB,GAASwyB,EAClCA,EAAI,GAAYD,EAChBC,EAAI,EAAE,EAAUxyB,GAAKuyB,EAAIvyB,IAAM,EAAE,EAAIwyB,GAAK,EACtCxyB,EAGX,GAbAwxB,EAAIY,EAAQZ,EAAG,KACfT,EAAIqB,EAAQrB,EAAG,KACfE,EAAImB,EAAQnB,EAAG,KAWN,IAANF,EACCD,EAAIvkB,EAAImS,EAAIuS,MAEX,CACD,IAAIsB,EAAItB,EAAI,GAAMA,GAAK,EAAIF,GAAKE,EAAIF,EAAIE,EAAIF,EACxC/wB,EAAI,EAAIixB,EAAIsB,EAChBzB,EAAI6B,EAAQ3yB,EAAGuyB,EAAGf,EAAI,EAAE,GACxBjlB,EAAIomB,EAAQ3yB,EAAGuyB,EAAGf,GAClB9S,EAAIiU,EAAQ3yB,EAAGuyB,EAAGf,EAAI,EAAE,GAG5B,MAAO,CAAEV,EAAO,IAAJA,EAASvkB,EAAO,IAAJA,EAASmS,EAAO,IAAJA,GAxGtBkU,CAASjC,EAAMa,EAAGT,EAAGE,GAC3B3J,GAAK,EACLyC,EAAS,OAGT4G,EAAM7uB,eAAe,OACrB2c,EAAIkS,EAAMlS,IA4BtB,IAAkBqS,EAAGvkB,EAAGmS,EAtBpB,OAFAD,EAAIoU,EAAWpU,GAER,CACH6I,GAAIA,EACJyC,OAAQ4G,EAAM5G,QAAUA,EACxB+G,EAAGP,EAAQ,IAAKC,EAAQK,EAAIC,EAAG,IAC/BvkB,EAAGgkB,EAAQ,IAAKC,EAAQK,EAAItkB,EAAG,IAC/BmS,EAAG6R,EAAQ,IAAKC,EAAQK,EAAInS,EAAG,IAC/BD,EAAGA,GApUGqU,CAAWnC,GACrB1qB,KAAK8sB,eAAiBpC,EACtB1qB,KAAK+sB,GAAKnC,EAAIC,EACd7qB,KAAKgtB,GAAKpC,EAAItkB,EACdtG,KAAKitB,GAAKrC,EAAInS,EACdzY,KAAKktB,GAAKtC,EAAIpS,EACdxY,KAAKmtB,QAAU/C,EAAU,IAAIpqB,KAAKktB,IAAM,IACxCltB,KAAKotB,QAAUzC,EAAK7G,QAAU8G,EAAI9G,OAClC9jB,KAAKqtB,cAAgB1C,EAAK2C,aAMtBttB,KAAK+sB,GAAK,IAAK/sB,KAAK+sB,GAAK3C,EAAUpqB,KAAK+sB,KACxC/sB,KAAKgtB,GAAK,IAAKhtB,KAAKgtB,GAAK5C,EAAUpqB,KAAKgtB,KACxChtB,KAAKitB,GAAK,IAAKjtB,KAAKitB,GAAK7C,EAAUpqB,KAAKitB,KAE5CjtB,KAAKutB,IAAM3C,EAAIvJ,GACfrhB,KAAKwtB,OAASrD,IA6UlB,SAASsD,EAAS5C,EAAGvkB,EAAGmS,GAEpBoS,EAAIsB,EAAQtB,EAAG,KACfvkB,EAAI6lB,EAAQ7lB,EAAG,KACfmS,EAAI0T,EAAQ1T,EAAG,KAEf,IACI8S,EAAGT,EADH1H,EAAMmH,EAAQM,EAAGvkB,EAAGmS,GAAI0K,EAAMmH,EAAQO,EAAGvkB,EAAGmS,GACtCuS,GAAK5H,EAAMD,GAAO,EAE5B,GAAGC,GAAOD,EACNoI,EAAIT,EAAI,MAEP,CACD,IAAI9G,EAAIZ,EAAMD,EAEd,OADA2H,EAAIE,EAAI,GAAMhH,GAAK,EAAIZ,EAAMD,GAAOa,GAAKZ,EAAMD,GACxCC,GACH,KAAKyH,EAAGU,GAAKjlB,EAAImS,GAAKuL,GAAK1d,EAAImS,EAAI,EAAI,GAAI,MAC3C,KAAKnS,EAAGilB,GAAK9S,EAAIoS,GAAK7G,EAAI,EAAG,MAC7B,KAAKvL,EAAG8S,GAAKV,EAAIvkB,GAAK0d,EAAI,EAG9BuH,GAAK,EAGT,MAAO,CAAEA,EAAGA,EAAGT,EAAGA,EAAGE,EAAGA,GAyC5B,SAAS0C,EAAS7C,EAAGvkB,EAAGmS,GAEpBoS,EAAIsB,EAAQtB,EAAG,KACfvkB,EAAI6lB,EAAQ7lB,EAAG,KACfmS,EAAI0T,EAAQ1T,EAAG,KAEf,IACI8S,EAAGT,EADH1H,EAAMmH,EAAQM,EAAGvkB,EAAGmS,GAAI0K,EAAMmH,EAAQO,EAAGvkB,EAAGmS,GACtCsS,EAAI3H,EAEVY,EAAIZ,EAAMD,EAGd,GAFA2H,EAAY,IAAR1H,EAAY,EAAIY,EAAIZ,EAErBA,GAAOD,EACNoI,EAAI,MAEH,CACD,OAAOnI,GACH,KAAKyH,EAAGU,GAAKjlB,EAAImS,GAAKuL,GAAK1d,EAAImS,EAAI,EAAI,GAAI,MAC3C,KAAKnS,EAAGilB,GAAK9S,EAAIoS,GAAK7G,EAAI,EAAG,MAC7B,KAAKvL,EAAG8S,GAAKV,EAAIvkB,GAAK0d,EAAI,EAE9BuH,GAAK,EAET,MAAO,CAAEA,EAAGA,EAAGT,EAAGA,EAAGC,EAAGA,GA8B5B,SAAS4C,EAAS9C,EAAGvkB,EAAGmS,EAAGmV,GAEvB,IAAIC,EAAM,CACNC,EAAK1D,EAAUS,GAAG3e,SAAS,KAC3B4hB,EAAK1D,EAAU9jB,GAAG4F,SAAS,KAC3B4hB,EAAK1D,EAAU3R,GAAGvM,SAAS,MAI/B,OAAI0hB,GAAcC,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,GACzH8R,EAAI,GAAG9R,OAAO,GAAK8R,EAAI,GAAG9R,OAAO,GAAK8R,EAAI,GAAG9R,OAAO,GAGxD8R,EAAI/uB,KAAK,IA2BpB,SAASivB,EAAclD,EAAGvkB,EAAGmS,EAAGD,GAS5B,MAPU,CACNsV,EAAKE,EAAoBxV,IACzBsV,EAAK1D,EAAUS,GAAG3e,SAAS,KAC3B4hB,EAAK1D,EAAU9jB,GAAG4F,SAAS,KAC3B4hB,EAAK1D,EAAU3R,GAAGvM,SAAS,MAGpBpN,KAAK,IAwBpB,SAASmvB,EAAWvD,EAAOwD,GACvBA,EAAqB,IAAXA,EAAgB,EAAKA,GAAU,GACzC,IAAI5C,EAAMb,EAAUC,GAAOyD,QAG3B,OAFA7C,EAAIR,GAAKoD,EAAS,IAClB5C,EAAIR,EAAIsD,EAAQ9C,EAAIR,GACbL,EAAUa,GAGrB,SAAS+C,EAAS3D,EAAOwD,GACrBA,EAAqB,IAAXA,EAAgB,EAAKA,GAAU,GACzC,IAAI5C,EAAMb,EAAUC,GAAOyD,QAG3B,OAFA7C,EAAIR,GAAKoD,EAAS,IAClB5C,EAAIR,EAAIsD,EAAQ9C,EAAIR,GACbL,EAAUa,GAGrB,SAASgD,EAAU5D,GACf,OAAOD,EAAUC,GAAOuD,WAAW,KAGvC,SAASM,EAAS7D,EAAOwD,GACrBA,EAAqB,IAAXA,EAAgB,EAAKA,GAAU,GACzC,IAAI5C,EAAMb,EAAUC,GAAOyD,QAG3B,OAFA7C,EAAIN,GAAKkD,EAAS,IAClB5C,EAAIN,EAAIoD,EAAQ9C,EAAIN,GACbP,EAAUa,GAGrB,SAASkD,EAAS9D,EAAOwD,GACrBA,EAAqB,IAAXA,EAAgB,EAAKA,GAAU,GACzC,IAAItD,EAAMH,EAAUC,GAAO+D,QAI3B,OAHA7D,EAAIC,EAAIN,EAAQ,EAAGD,EAAQ,IAAKM,EAAIC,EAAIT,GAAmB8D,EAAS,IAAlB,OAClDtD,EAAItkB,EAAIikB,EAAQ,EAAGD,EAAQ,IAAKM,EAAItkB,EAAI8jB,GAAmB8D,EAAS,IAAlB,OAClDtD,EAAInS,EAAI8R,EAAQ,EAAGD,EAAQ,IAAKM,EAAInS,EAAI2R,GAAmB8D,EAAS,IAAlB,OAC3CzD,EAAUG,GAGrB,SAAS8D,EAAQhE,EAAOwD,GACpBA,EAAqB,IAAXA,EAAgB,EAAKA,GAAU,GACzC,IAAI5C,EAAMb,EAAUC,GAAOyD,QAG3B,OAFA7C,EAAIN,GAAKkD,EAAS,IAClB5C,EAAIN,EAAIoD,EAAQ9C,EAAIN,GACbP,EAAUa,GAKrB,SAASqD,EAAKjE,EAAOwD,GACjB,IAAI5C,EAAMb,EAAUC,GAAOyD,QACvBS,GAAOtD,EAAIC,EAAI2C,GAAU,IAE7B,OADA5C,EAAIC,EAAIqD,EAAM,EAAI,IAAMA,EAAMA,EACvBnE,EAAUa,GAQrB,SAASuD,EAAWnE,GAChB,IAAIY,EAAMb,EAAUC,GAAOyD,QAE3B,OADA7C,EAAIC,GAAKD,EAAIC,EAAI,KAAO,IACjBd,EAAUa,GAGrB,SAASwD,EAAMpE,GACX,IAAIY,EAAMb,EAAUC,GAAOyD,QACvB5C,EAAID,EAAIC,EACZ,MAAO,CACHd,EAAUC,GACVD,EAAU,CAAEc,GAAIA,EAAI,KAAO,IAAKT,EAAGQ,EAAIR,EAAGE,EAAGM,EAAIN,IACjDP,EAAU,CAAEc,GAAIA,EAAI,KAAO,IAAKT,EAAGQ,EAAIR,EAAGE,EAAGM,EAAIN,KAIzD,SAAS+D,EAAOrE,GACZ,IAAIY,EAAMb,EAAUC,GAAOyD,QACvB5C,EAAID,EAAIC,EACZ,MAAO,CACHd,EAAUC,GACVD,EAAU,CAAEc,GAAIA,EAAI,IAAM,IAAKT,EAAGQ,EAAIR,EAAGE,EAAGM,EAAIN,IAChDP,EAAU,CAAEc,GAAIA,EAAI,KAAO,IAAKT,EAAGQ,EAAIR,EAAGE,EAAGM,EAAIN,IACjDP,EAAU,CAAEc,GAAIA,EAAI,KAAO,IAAKT,EAAGQ,EAAIR,EAAGE,EAAGM,EAAIN,KAIzD,SAASgE,EAAgBtE,GACrB,IAAIY,EAAMb,EAAUC,GAAOyD,QACvB5C,EAAID,EAAIC,EACZ,MAAO,CACHd,EAAUC,GACVD,EAAU,CAAEc,GAAIA,EAAI,IAAM,IAAKT,EAAGQ,EAAIR,EAAGE,EAAGM,EAAIN,IAChDP,EAAU,CAAEc,GAAIA,EAAI,KAAO,IAAKT,EAAGQ,EAAIR,EAAGE,EAAGM,EAAIN,KAIzD,SAASiE,EAAUvE,EAAOwE,EAASC,GAC/BD,EAAUA,GAAW,EACrBC,EAASA,GAAU,GAEnB,IAAI7D,EAAMb,EAAUC,GAAOyD,QACvB/vB,EAAO,IAAM+wB,EACbC,EAAM,CAAC3E,EAAUC,IAErB,IAAKY,EAAIC,GAAMD,EAAIC,GAAKntB,EAAO8wB,GAAW,GAAM,KAAO,MAAOA,GAC1D5D,EAAIC,GAAKD,EAAIC,EAAIntB,GAAQ,IACzBgxB,EAAIp3B,KAAKyyB,EAAUa,IAEvB,OAAO8D,EAGX,SAASC,EAAc3E,EAAOwE,GAC1BA,EAAUA,GAAW,EAMrB,IALA,IAAIzD,EAAMhB,EAAUC,GAAO4E,QACvB/D,EAAIE,EAAIF,EAAGT,EAAIW,EAAIX,EAAGC,EAAIU,EAAIV,EAC9BqE,EAAM,GACNG,EAAe,EAAIL,EAEhBA,KACHE,EAAIp3B,KAAKyyB,EAAU,CAAEc,EAAGA,EAAGT,EAAGA,EAAGC,EAAGA,KACpCA,GAAKA,EAAIwE,GAAgB,EAG7B,OAAOH,EApoBX3E,EAAUrxB,UAAY,CAClBo2B,OAAQ,WACJ,OAAOxvB,KAAKyvB,gBAAkB,KAElCC,QAAS,WACL,OAAQ1vB,KAAKwvB,UAEjBG,QAAS,WACL,OAAO3vB,KAAKutB,KAEhBqC,iBAAkB,WAChB,OAAO5vB,KAAK8sB,gBAEd+C,UAAW,WACP,OAAO7vB,KAAKotB,SAEhB0C,SAAU,WACN,OAAO9vB,KAAKktB,IAEhBuC,cAAe,WAEX,IAAI7E,EAAM5qB,KAAKyuB,QACf,OAAgB,IAAR7D,EAAIC,EAAkB,IAARD,EAAItkB,EAAkB,IAARskB,EAAInS,GAAW,KAEvDsX,aAAc,WAEV,IACIC,EAAOC,EAAOC,EADdtF,EAAM5qB,KAAKyuB,QASf,OAPAuB,EAAQpF,EAAIC,EAAE,IACdoF,EAAQrF,EAAItkB,EAAE,IACd4pB,EAAQtF,EAAInS,EAAE,IAKN,OAHJuX,GAAS,OAAcA,EAAQ,MAAkBrP,EAAKwP,KAAMH,EAAQ,MAAS,MAAQ,MAGlE,OAFnBC,GAAS,OAAcA,EAAQ,MAAkBtP,EAAKwP,KAAMF,EAAQ,MAAS,MAAQ,MAEnD,OADlCC,GAAS,OAAcA,EAAQ,MAAkBvP,EAAKwP,KAAMD,EAAQ,MAAS,MAAQ,OAG7FE,SAAU,SAASn5B,GAGf,OAFA+I,KAAKktB,GAAKN,EAAW31B,GACrB+I,KAAKmtB,QAAU/C,EAAU,IAAIpqB,KAAKktB,IAAM,IACjCltB,MAEXsvB,MAAO,WACH,IAAI7D,EAAMiC,EAAS1tB,KAAK+sB,GAAI/sB,KAAKgtB,GAAIhtB,KAAKitB,IAC1C,MAAO,CAAE1B,EAAW,IAARE,EAAIF,EAAST,EAAGW,EAAIX,EAAGC,EAAGU,EAAIV,EAAGvS,EAAGxY,KAAKktB,KAEzDmD,YAAa,WACT,IAAI5E,EAAMiC,EAAS1tB,KAAK+sB,GAAI/sB,KAAKgtB,GAAIhtB,KAAKitB,IACtC1B,EAAInB,EAAkB,IAARqB,EAAIF,GAAUT,EAAIV,EAAkB,IAARqB,EAAIX,GAAUC,EAAIX,EAAkB,IAARqB,EAAIV,GAC9E,OAAmB,GAAX/qB,KAAKktB,GACX,OAAU3B,EAAI,KAAOT,EAAI,MAAQC,EAAI,KACrC,QAAUQ,EAAI,KAAOT,EAAI,MAAQC,EAAI,MAAO/qB,KAAKmtB,QAAU,KAEjEgB,MAAO,WACH,IAAI7C,EAAMmC,EAASztB,KAAK+sB,GAAI/sB,KAAKgtB,GAAIhtB,KAAKitB,IAC1C,MAAO,CAAE1B,EAAW,IAARD,EAAIC,EAAST,EAAGQ,EAAIR,EAAGE,EAAGM,EAAIN,EAAGxS,EAAGxY,KAAKktB,KAEzDoD,YAAa,WACT,IAAIhF,EAAMmC,EAASztB,KAAK+sB,GAAI/sB,KAAKgtB,GAAIhtB,KAAKitB,IACtC1B,EAAInB,EAAkB,IAARkB,EAAIC,GAAUT,EAAIV,EAAkB,IAARkB,EAAIR,GAAUE,EAAIZ,EAAkB,IAARkB,EAAIN,GAC9E,OAAmB,GAAXhrB,KAAKktB,GACX,OAAU3B,EAAI,KAAOT,EAAI,MAAQE,EAAI,KACrC,QAAUO,EAAI,KAAOT,EAAI,MAAQE,EAAI,MAAOhrB,KAAKmtB,QAAU,KAEjEoD,MAAO,SAAS3C,GACZ,OAAOD,EAAS3tB,KAAK+sB,GAAI/sB,KAAKgtB,GAAIhtB,KAAKitB,GAAIW,IAE/C4C,YAAa,SAAS5C,GAClB,MAAO,IAAM5tB,KAAKuwB,MAAM3C,IAE5B6C,OAAQ,SAASC,GACb,OA6YR,SAAmB7F,EAAGvkB,EAAGmS,EAAGD,EAAGkY,GAE3B,IAAI7C,EAAM,CACNC,EAAK1D,EAAUS,GAAG3e,SAAS,KAC3B4hB,EAAK1D,EAAU9jB,GAAG4F,SAAS,KAC3B4hB,EAAK1D,EAAU3R,GAAGvM,SAAS,KAC3B4hB,EAAKE,EAAoBxV,KAI7B,GAAIkY,GAAc7C,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,IAAM8R,EAAI,GAAG9R,OAAO,GACxK,OAAO8R,EAAI,GAAG9R,OAAO,GAAK8R,EAAI,GAAG9R,OAAO,GAAK8R,EAAI,GAAG9R,OAAO,GAAK8R,EAAI,GAAG9R,OAAO,GAGlF,OAAO8R,EAAI/uB,KAAK,IA3ZL6xB,CAAU3wB,KAAK+sB,GAAI/sB,KAAKgtB,GAAIhtB,KAAKitB,GAAIjtB,KAAKktB,GAAIwD,IAEzDE,aAAc,SAASF,GACnB,MAAO,IAAM1wB,KAAKywB,OAAOC,IAE7BjC,MAAO,WACH,MAAO,CAAE5D,EAAGT,EAAUpqB,KAAK+sB,IAAKzmB,EAAG8jB,EAAUpqB,KAAKgtB,IAAKvU,EAAG2R,EAAUpqB,KAAKitB,IAAKzU,EAAGxY,KAAKktB,KAE1F2D,YAAa,WACT,OAAmB,GAAX7wB,KAAKktB,GACX,OAAU9C,EAAUpqB,KAAK+sB,IAAM,KAAO3C,EAAUpqB,KAAKgtB,IAAM,KAAO5C,EAAUpqB,KAAKitB,IAAM,IACvF,QAAU7C,EAAUpqB,KAAK+sB,IAAM,KAAO3C,EAAUpqB,KAAKgtB,IAAM,KAAO5C,EAAUpqB,KAAKitB,IAAM,KAAOjtB,KAAKmtB,QAAU,KAEnH2D,gBAAiB,WACb,MAAO,CAAEjG,EAAGT,EAAkC,IAAxB+B,EAAQnsB,KAAK+sB,GAAI,MAAc,IAAKzmB,EAAG8jB,EAAkC,IAAxB+B,EAAQnsB,KAAKgtB,GAAI,MAAc,IAAKvU,EAAG2R,EAAkC,IAAxB+B,EAAQnsB,KAAKitB,GAAI,MAAc,IAAKzU,EAAGxY,KAAKktB,KAExK6D,sBAAuB,WACnB,OAAmB,GAAX/wB,KAAKktB,GACX,OAAU9C,EAAkC,IAAxB+B,EAAQnsB,KAAK+sB,GAAI,MAAc,MAAQ3C,EAAkC,IAAxB+B,EAAQnsB,KAAKgtB,GAAI,MAAc,MAAQ5C,EAAkC,IAAxB+B,EAAQnsB,KAAKitB,GAAI,MAAc,KACrJ,QAAU7C,EAAkC,IAAxB+B,EAAQnsB,KAAK+sB,GAAI,MAAc,MAAQ3C,EAAkC,IAAxB+B,EAAQnsB,KAAKgtB,GAAI,MAAc,MAAQ5C,EAAkC,IAAxB+B,EAAQnsB,KAAKitB,GAAI,MAAc,MAAQjtB,KAAKmtB,QAAU,KAElL6D,OAAQ,WACJ,OAAgB,IAAZhxB,KAAKktB,GACE,gBAGPltB,KAAKktB,GAAK,KAIP+D,EAAStD,EAAS3tB,KAAK+sB,GAAI/sB,KAAKgtB,GAAIhtB,KAAKitB,IAAI,MAAU,IAElEiE,SAAU,SAASC,GACf,IAAIC,EAAa,IAAMrD,EAAc/tB,KAAK+sB,GAAI/sB,KAAKgtB,GAAIhtB,KAAKitB,GAAIjtB,KAAKktB,IACjEmE,EAAmBD,EACnB9D,EAAettB,KAAKqtB,cAAgB,qBAAuB,GAE/D,GAAI8D,EAAa,CACb,IAAIrG,EAAIL,EAAU0G,GAClBE,EAAmB,IAAMtD,EAAcjD,EAAEiC,GAAIjC,EAAEkC,GAAIlC,EAAEmC,GAAInC,EAAEoC,IAG/D,MAAO,8CAA8CI,EAAa,iBAAiB8D,EAAW,gBAAgBC,EAAiB,KAEnInlB,SAAU,SAAS4X,GACf,IAAIwN,IAAcxN,EAClBA,EAASA,GAAU9jB,KAAKotB,QAExB,IAAImE,GAAkB,EAClBC,EAAWxxB,KAAKktB,GAAK,GAAKltB,KAAKktB,IAAM,EAGzC,OAFwBoE,IAAaE,GAAwB,QAAX1N,GAA+B,SAAXA,GAAgC,SAAXA,GAAgC,SAAXA,GAAgC,SAAXA,GAAgC,SAAXA,GAU3I,QAAXA,IACAyN,EAAkBvxB,KAAK6wB,eAEZ,SAAX/M,IACAyN,EAAkBvxB,KAAK+wB,yBAEZ,QAAXjN,GAA+B,SAAXA,IACpByN,EAAkBvxB,KAAKwwB,eAEZ,SAAX1M,IACAyN,EAAkBvxB,KAAKwwB,aAAY,IAExB,SAAX1M,IACAyN,EAAkBvxB,KAAK4wB,cAAa,IAEzB,SAAX9M,IACAyN,EAAkBvxB,KAAK4wB,gBAEZ,SAAX9M,IACAyN,EAAkBvxB,KAAKgxB,UAEZ,QAAXlN,IACAyN,EAAkBvxB,KAAKswB,eAEZ,QAAXxM,IACAyN,EAAkBvxB,KAAKqwB,eAGpBkB,GAAmBvxB,KAAKwwB,eAjCZ,SAAX1M,GAAiC,IAAZ9jB,KAAKktB,GACnBltB,KAAKgxB,SAEThxB,KAAK6wB,eAgCpBY,MAAO,WACH,OAAOhH,EAAUzqB,KAAKkM,aAG1BwlB,mBAAoB,SAAS3S,EAAIpU,GAC7B,IAAI+f,EAAQ3L,EAAG9mB,MAAM,KAAM,CAAC+H,MAAMnD,OAAO,GAAGyT,MAAM9W,KAAKmR,KAKvD,OAJA3K,KAAK+sB,GAAKrC,EAAMqC,GAChB/sB,KAAKgtB,GAAKtC,EAAMsC,GAChBhtB,KAAKitB,GAAKvC,EAAMuC,GAChBjtB,KAAKowB,SAAS1F,EAAMwC,IACbltB,MAEXuuB,QAAS,WACL,OAAOvuB,KAAK0xB,mBAAmBnD,EAASl2B,YAE5Cm2B,SAAU,WACN,OAAOxuB,KAAK0xB,mBAAmBlD,EAAUn2B,YAE7Cq2B,OAAQ,WACJ,OAAO1uB,KAAK0xB,mBAAmBhD,EAAQr2B,YAE3C41B,WAAY,WACR,OAAOjuB,KAAK0xB,mBAAmBzD,EAAY51B,YAE/Cg2B,SAAU,WACN,OAAOruB,KAAK0xB,mBAAmBrD,EAAUh2B,YAE7Ci2B,UAAW,WACP,OAAOtuB,KAAK0xB,mBAAmBpD,EAAWj2B,YAE9Cs2B,KAAM,WACF,OAAO3uB,KAAK0xB,mBAAmB/C,EAAMt2B,YAGzCs5B,kBAAmB,SAAS5S,EAAIpU,GAC5B,OAAOoU,EAAG9mB,MAAM,KAAM,CAAC+H,MAAMnD,OAAO,GAAGyT,MAAM9W,KAAKmR,MAEtDskB,UAAW,WACP,OAAOjvB,KAAK2xB,kBAAkB1C,EAAW52B,YAE7Cw2B,WAAY,WACR,OAAO7uB,KAAK2xB,kBAAkB9C,EAAYx2B,YAE9Cg3B,cAAe,WACX,OAAOrvB,KAAK2xB,kBAAkBtC,EAAeh3B,YAEjD22B,gBAAiB,WACb,OAAOhvB,KAAK2xB,kBAAkB3C,EAAiB32B,YAEnDy2B,MAAO,WACH,OAAO9uB,KAAK2xB,kBAAkB7C,EAAOz2B,YAEzC02B,OAAQ,WACJ,OAAO/uB,KAAK2xB,kBAAkB5C,EAAQ12B,aAM9CoyB,EAAUmH,UAAY,SAASlH,EAAOC,GAClC,GAAoB,iBAATD,EAAmB,CAC1B,IAAImH,EAAW,GACf,IAAK,IAAIz5B,KAAKsyB,EACNA,EAAM7uB,eAAezD,KAEjBy5B,EAASz5B,GADH,MAANA,EACcsyB,EAAMtyB,GAGNg0B,EAAoB1B,EAAMtyB,KAIpDsyB,EAAQmH,EAGZ,OAAOpH,EAAUC,EAAOC,IA0Q5BF,EAAUqH,OAAS,SAAUC,EAAQC,GACjC,SAAKD,IAAWC,IACTvH,EAAUsH,GAAQlB,eAAiBpG,EAAUuH,GAAQnB,eAGhEpG,EAAU7J,OAAS,WACf,OAAO6J,EAAUmH,UAAU,CACvB/G,EAAGL,IACHlkB,EAAGkkB,IACH/R,EAAG+R,OA2IXC,EAAUwH,IAAM,SAASF,EAAQC,EAAQ9D,GACrCA,EAAqB,IAAXA,EAAgB,EAAKA,GAAU,GAEzC,IAAIgE,EAAOzH,EAAUsH,GAAQtD,QACzB0D,EAAO1H,EAAUuH,GAAQvD,QAEzB10B,EAAIm0B,EAAS,IASjB,OAAOzD,EAPI,CACPI,GAAKsH,EAAKtH,EAAIqH,EAAKrH,GAAK9wB,EAAKm4B,EAAKrH,EAClCvkB,GAAK6rB,EAAK7rB,EAAI4rB,EAAK5rB,GAAKvM,EAAKm4B,EAAK5rB,EAClCmS,GAAK0Z,EAAK1Z,EAAIyZ,EAAKzZ,GAAK1e,EAAKm4B,EAAKzZ,EAClCD,GAAK2Z,EAAK3Z,EAAI0Z,EAAK1Z,GAAKze,EAAKm4B,EAAK1Z,KAa1CiS,EAAU2H,YAAc,SAASL,EAAQC,GACrC,IAAIK,EAAK5H,EAAUsH,GACfO,EAAK7H,EAAUuH,GACnB,OAAQrR,EAAKyC,IAAIiP,EAAGtC,eAAeuC,EAAGvC,gBAAgB,MAASpP,EAAKwC,IAAIkP,EAAGtC,eAAeuC,EAAGvC,gBAAgB,MAajHtF,EAAU8H,WAAa,SAASR,EAAQC,EAAQQ,GAC5C,IACIC,EAAYC,EADZN,EAAc3H,EAAU2H,YAAYL,EAAQC,GAMhD,OAHAU,GAAM,GAEND,EAkaJ,SAA4BE,GAGxB,IAAIxoB,EAAOhC,EAEXgC,IADAwoB,EAAQA,GAAS,CAAC,MAAQ,KAAM,KAAO,UACxBxoB,OAAS,MAAM5D,cAC9B4B,GAAQwqB,EAAMxqB,MAAQ,SAASpL,cACjB,OAAVoN,GAA4B,QAAVA,IAClBA,EAAQ,MAEC,UAAThC,GAA6B,UAATA,IACpBA,EAAO,SAEX,MAAO,CAAC,MAAQgC,EAAO,KAAOhC,GA/ajByqB,CAAmBJ,IACbroB,MAAQsoB,EAAWtqB,MAClC,IAAK,UACL,IAAK,WACDuqB,EAAMN,GAAe,IACrB,MACJ,IAAK,UACDM,EAAMN,GAAe,EACrB,MACJ,IAAK,WACDM,EAAMN,GAAe,EAG7B,OAAOM,GAaXjI,EAAUoI,aAAe,SAASC,EAAWC,EAAWpoB,GACpD,IAEIynB,EACAY,EAAuB7oB,EAAOhC,EAH9B8qB,EAAY,KACZC,EAAY,EAIhBF,GADAroB,EAAOA,GAAQ,IACcqoB,sBAC7B7oB,EAAQQ,EAAKR,MACbhC,EAAOwC,EAAKxC,KAEZ,IAAK,IAAI/P,EAAG,EAAGA,EAAI26B,EAAUz6B,OAASF,KAClCg6B,EAAc3H,EAAU2H,YAAYU,EAAWC,EAAU36B,KACvC86B,IACdA,EAAYd,EACZa,EAAYxI,EAAUsI,EAAU36B,KAIxC,OAAIqyB,EAAU8H,WAAWO,EAAWG,EAAW,CAAC,MAAQ9oB,EAAM,KAAOhC,MAAW6qB,EACrEC,GAGPtoB,EAAKqoB,uBAAsB,EACpBvI,EAAUoI,aAAaC,EAAU,CAAC,OAAQ,QAAQnoB,KAQjE,IAAIugB,EAAQT,EAAUS,MAAQ,CAC1BiI,UAAW,SACXC,aAAc,SACdC,KAAM,MACNC,WAAY,SACZC,MAAO,SACPC,MAAO,SACPC,OAAQ,SACRC,MAAO,MACPC,eAAgB,SAChBC,KAAM,MACNC,WAAY,SACZC,MAAO,SACPC,UAAW,SACXC,YAAa,SACbC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,MAAO,SACPC,eAAgB,SAChBC,SAAU,SACVC,QAAS,SACTC,KAAM,MACNC,SAAU,SACVC,SAAU,SACVC,cAAe,SACfC,SAAU,SACVC,UAAW,SACXC,SAAU,SACVC,UAAW,SACXC,YAAa,SACbC,eAAgB,SAChBC,WAAY,SACZC,WAAY,SACZC,QAAS,SACTC,WAAY,SACZC,aAAc,SACdC,cAAe,SACfC,cAAe,SACfC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,SAAU,SACVC,YAAa,SACbC,QAAS,SACTC,QAAS,SACTC,WAAY,SACZC,UAAW,SACXC,YAAa,SACbC,YAAa,SACbC,QAAS,MACTC,UAAW,SACXC,WAAY,SACZC,KAAM,SACNC,UAAW,SACXC,KAAM,SACNC,MAAO,SACPC,YAAa,SACbC,KAAM,SACNC,SAAU,SACVC,QAAS,SACTC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,SAAU,SACVC,cAAe,SACfC,UAAW,SACXC,aAAc,SACdC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,qBAAsB,SACtBC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,cAAe,SACfC,aAAc,SACdC,eAAgB,MAChBC,eAAgB,MAChBC,eAAgB,SAChBC,YAAa,SACbC,KAAM,MACNC,UAAW,SACXC,MAAO,SACPC,QAAS,MACTC,OAAQ,SACRC,iBAAkB,SAClBC,WAAY,SACZC,aAAc,SACdC,aAAc,SACdC,eAAgB,SAChBC,gBAAiB,SACjBC,kBAAmB,SACnBC,gBAAiB,SACjBC,gBAAiB,SACjBC,aAAc,SACdC,UAAW,SACXC,UAAW,SACXC,SAAU,SACVC,YAAa,SACbC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,cAAe,SACfC,UAAW,SACXC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,WAAY,SACZC,OAAQ,SACRC,cAAe,SACfC,IAAK,MACLC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,OAAQ,SACRC,WAAY,SACZC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,UAAW,SACXC,UAAW,SACXC,KAAM,SACNC,YAAa,SACbC,UAAW,SACXC,IAAK,SACLC,KAAM,SACNC,QAAS,SACTC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,MAAO,MACPC,WAAY,SACZC,OAAQ,MACRC,YAAa,UAIbtL,EAAWxG,EAAUwG,SAOzB,SAAcr4B,GACV,IAAI4jC,EAAU,GACd,IAAK,IAAIpkC,KAAKQ,EACNA,EAAEiD,eAAezD,KACjBokC,EAAQ5jC,EAAER,IAAMA,GAGxB,OAAOokC,EAdyBC,CAAKvR,GAkBzC,SAAS0B,EAAWpU,GAOhB,OANAA,EAAIkkB,WAAWlkB,IAEXmkB,MAAMnkB,IAAMA,EAAI,GAAKA,EAAI,KACzBA,EAAI,GAGDA,EAIX,SAAS2T,EAAQ/P,EAAGgH,IAgCpB,SAAwBhH,GACpB,MAAmB,iBAALA,IAAoC,GAAnBA,EAAEzb,QAAQ,MAAgC,IAAlB+7B,WAAWtgB,IAhC9DwgB,CAAexgB,KAAMA,EAAI,QAE7B,IAAIygB,EAkCR,SAAsBzgB,GAClB,MAAoB,kBAANA,IAAqC,GAAnBA,EAAEzb,QAAQ,KAnCrBm8B,CAAa1gB,GASlC,OARAA,EAAIkO,EAAQlH,EAAKmH,EAAQ,EAAGmS,WAAWtgB,KAGnCygB,IACAzgB,EAAI2gB,SAAS3gB,EAAIgH,EAAK,IAAM,KAI3BzC,EAAKqc,IAAI5gB,EAAIgH,GAAO,KACd,EAIHhH,EAAIgH,EAAOsZ,WAAWtZ,GAIlC,SAASgL,EAAQ6O,GACb,OAAO3S,EAAQ,EAAGC,EAAQ,EAAG0S,IAIjC,SAASrR,EAAgBqR,GACrB,OAAOF,SAASE,EAAK,IAezB,SAASnP,EAAK/J,GACV,OAAmB,GAAZA,EAAEzrB,OAAc,IAAMyrB,EAAI,GAAKA,EAI1C,SAASqI,EAAoBhQ,GAKzB,OAJIA,GAAK,IACLA,EAAS,IAAJA,EAAW,KAGbA,EAIX,SAAS4R,EAAoBhK,GACzB,OAAOrD,EAAK0J,MAAsB,IAAhBqS,WAAW1Y,IAAU9X,SAAS,IAGpD,SAAS2f,EAAoBN,GACzB,OAAQK,EAAgBL,GAAK,IAGjC,IAAIJ,EAAY,WAGZ,IAMI+R,EAAW,6CAKXC,EAAoB,cAAgBD,EAAW,aAAeA,EAAW,aAAeA,EAAW,YACnGE,EAAoB,cAAgBF,EAAW,aAAeA,EAAW,aAAeA,EAAW,aAAeA,EAAW,YAEjI,MAAO,CACHA,SAAU,IAAIhiB,OAAOgiB,GACrBtS,IAAK,IAAI1P,OAAO,MAAQiiB,GACxB9R,KAAM,IAAInQ,OAAO,OAASkiB,GAC1B9R,IAAK,IAAIpQ,OAAO,MAAQiiB,GACxB3R,KAAM,IAAItQ,OAAO,OAASkiB,GAC1B3R,IAAK,IAAIvQ,OAAO,MAAQiiB,GACxBzR,KAAM,IAAIxQ,OAAO,OAASkiB,GAC1BpR,KAAM,uDACNF,KAAM,uDACNC,KAAM,uEACNJ,KAAM,wEA5BE,GAmChB,SAASO,EAAexB,GACpB,QAASS,EAAS+R,SAAS9R,KAAKV,GAgGC/zB,EAAOC,QACxCD,EAAOC,QAAU6zB,OAIX,KAAN4S,aAAoB,OAAO5S,GAArB,8BA/pCV,CAsqCG9J,O,6BC1qCH,8CAkCA,SAASzf,EAAoBhB,EAAWE,GACtC,IAAIknB,EAAY,GAIhB,OAHApwB,OAAOQ,KAAKwI,GAAa,IAAI1H,SAAQ,SAAUxB,GAC7CswB,EAAUC,YAAmBvwB,EAAKoJ,IAAWF,EAAUlJ,MAElDswB,I,6BCvCT,8CAkCA,SAASpmB,EAAoBhB,EAAWE,GACtC,IAAIknB,EAAY,GAIhB,OAHApwB,OAAOQ,KAAKwI,GAAa,IAAI1H,SAAQ,SAAUxB,GAC7CswB,EAAUC,YAAmBvwB,EAAKoJ,IAAWF,EAAUlJ,MAElDswB,I,6BCvCT,8CAkCA,SAASpmB,EAAoBhB,EAAWE,GACtC,IAAIknB,EAAY,GAIhB,OAHApwB,OAAOQ,KAAKwI,GAAa,IAAI1H,SAAQ,SAAUxB,GAC7CswB,EAAUC,YAAmBvwB,EAAKoJ,IAAWF,EAAUlJ,MAElDswB,I,6BCLT,SAAS3lB,EAAU27B,GACjB,OAAO,WACL,IAAK,IAAI/vB,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAGzB,OAAO,SAAU5L,GACf,GAAwB,oBAAb07B,EAAyB,CAClC,IAAIx7B,EAAcF,EAAkBE,aAAeF,EAAkBG,KACjEw7B,EAAqBD,EAASrlC,WAAM,EAAQ,CAAC2J,GAAmB/E,OAAO8N,IAE3E,OADA4yB,EAAmBz7B,YAAcA,EAC1By7B,EAEP,OAAO37B,IC/Cf,mC,6BCAe,SAAS9K,EAAgBC,EAAKC,EAAKC,GAYhD,OAXID,KAAOD,EACTG,OAAOC,eAAeJ,EAAKC,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZP,EAAIC,GAAOC,EAGNF,ECVT,SAASQ,EAAQC,EAAQC,GACvB,IAAIC,EAAOR,OAAOQ,KAAKF,GAEvB,GAAIN,OAAOS,sBAAuB,CAChC,IAAIC,EAAUV,OAAOS,sBAAsBH,GACvCC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GACrD,OAAOZ,OAAOa,yBAAyBP,EAAQM,GAAKV,eAEtDM,EAAKM,KAAKC,MAAMP,EAAME,GAGxB,OAAOF,EAGM,SAASQ,EAAeC,GACrC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,GAE/CA,EAAI,EACNb,EAAQL,OAAOqB,IAAS,GAAMC,SAAQ,SAAUxB,GAC9C,EAAemB,EAAQnB,EAAKuB,EAAOvB,OAE5BE,OAAOuB,0BAChBvB,OAAOwB,iBAAiBP,EAAQjB,OAAOuB,0BAA0BF,IAEjEhB,EAAQL,OAAOqB,IAASC,SAAQ,SAAUxB,GACxCE,OAAOC,eAAegB,EAAQnB,EAAKE,OAAOa,yBAAyBQ,EAAQvB,OAKjF,OAAOmB,EAjCT,mC,gBCAAxB,EAAOC,QAAU,EAAQ,M,gCCAzB,yHA2BA,SAAS8G,EAAajB,EAAS+gC,GAC7B,IAAIjgC,EAAOkQ,YAAShR,GAMpB,MAJyB,oBAAd+gC,IACTjgC,EA6BJ,SAASkgC,EAAclgC,EAAMigC,GAC3B,IAAKjgC,EACH,OAGF,GAAIA,EAAK2P,OAAStE,IAAUnI,MAC1B,OAAO+8B,EAAUjgC,GAGnB,IAAIgR,EAAQhR,EAAKgR,OAAS,GAEtB3Q,EAAcC,YAAc,GAAIN,GAKpC,OAHAK,EAAY2Q,MAAQA,EAAMpQ,KAAI,SAAUR,GACtC,OAAO8/B,EAAc9/B,EAAM6/B,MAEtB5/B,EA7CE6/B,CAAclgC,EAAMigC,IAGtBE,EAAUngC,GAGnB,SAASW,EAAoBP,GAC3B,OAAOA,EAAKkQ,QAAUlQ,EAAKkQ,OAAOX,OAAStE,IAAUyF,UAGvD,SAASsvB,EAAQlhC,GACf,IAAIc,EAAOkQ,YAAShR,GAChB8R,EAAQ,GAEZ,GAAIhR,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,EACpCiW,EAAQhR,EAAKgR,MAAMpQ,KAAI,SAAUR,GAC/B,OAAO+/B,EAAU//B,UAEd,CACL,IAAIigC,EAAWF,EAAUngC,GAErBqgC,IACFrvB,EAAQ,CAACqvB,IAIb,OAAOrvB,EAsBT,SAASmvB,EAAUngC,EAAMqQ,GACvB,IAAInR,EAAU,GACV0M,EAASyE,GAAQ,GAcrB,GAZIrQ,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,EACpCmE,EAAUc,EAAKgR,MAAMpQ,KAAI,SAAUR,GACjC,OAAO+/B,EAAU//B,EAAMlB,MACtBqC,KAAK,OAERrC,EAAUc,EAAKd,QAAQ6B,UAGrB7B,EAAU,KAAKI,OAAOJ,EAAS,OAI/BA,EAAS,CACX,IAAI2D,EAAS7C,EAAKQ,SAAW,GAAGlB,OAAOU,EAAKQ,SAAU,QAAU,GAC5D8/B,EAAStgC,EAAKQ,SAAW,MAAQ,GACrCoL,GAAU,GAAGtM,OAAOuD,GAAQvD,OAAOJ,GAASI,OAAOghC,GAGrD,OAAO10B,I,6BCrGT,yHA2BA,SAASzL,EAAajB,EAAS+gC,GAC7B,IAAIjgC,EAAOkQ,YAAShR,GAMpB,MAJyB,oBAAd+gC,IACTjgC,EA6BJ,SAASkgC,EAAclgC,EAAMigC,GAC3B,IAAKjgC,EACH,OAGF,GAAIA,EAAK2P,OAAStE,IAAUnI,MAC1B,OAAO+8B,EAAUjgC,GAGnB,IAAIgR,EAAQhR,EAAKgR,OAAS,GAEtB3Q,EAAcC,YAAc,GAAIN,GAKpC,OAHAK,EAAY2Q,MAAQA,EAAMpQ,KAAI,SAAUR,GACtC,OAAO8/B,EAAc9/B,EAAM6/B,MAEtB5/B,EA7CE6/B,CAAclgC,EAAMigC,IAGtBE,EAAUngC,GAGnB,SAASW,EAAoBP,GAC3B,OAAOA,EAAKkQ,QAAUlQ,EAAKkQ,OAAOX,OAAStE,IAAUyF,UAGvD,SAASsvB,EAAQlhC,GACf,IAAIc,EAAOkQ,YAAShR,GAChB8R,EAAQ,GAEZ,GAAIhR,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,EACpCiW,EAAQhR,EAAKgR,MAAMpQ,KAAI,SAAUR,GAC/B,OAAO+/B,EAAU//B,UAEd,CACL,IAAIigC,EAAWF,EAAUngC,GAErBqgC,IACFrvB,EAAQ,CAACqvB,IAIb,OAAOrvB,EAsBT,SAASmvB,EAAUngC,EAAMqQ,GACvB,IAAInR,EAAU,GACV0M,EAASyE,GAAQ,GAcrB,GAZIrQ,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,EACpCmE,EAAUc,EAAKgR,MAAMpQ,KAAI,SAAUR,GACjC,OAAO+/B,EAAU//B,EAAMlB,MACtBqC,KAAK,OAERrC,EAAUc,EAAKd,QAAQ6B,UAGrB7B,EAAU,KAAKI,OAAOJ,EAAS,OAI/BA,EAAS,CACX,IAAI2D,EAAS7C,EAAKQ,SAAW,GAAGlB,OAAOU,EAAKQ,SAAU,QAAU,GAC5D8/B,EAAStgC,EAAKQ,SAAW,MAAQ,GACrCoL,GAAU,GAAGtM,OAAOuD,GAAQvD,OAAOJ,GAASI,OAAOghC,GAGrD,OAAO10B,I,6BCrGT,yHA2BA,SAASzL,EAAajB,EAAS+gC,GAC7B,IAAIjgC,EAAOkQ,YAAShR,GAMpB,MAJyB,oBAAd+gC,IACTjgC,EA6BJ,SAASkgC,EAAclgC,EAAMigC,GAC3B,IAAKjgC,EACH,OAGF,GAAIA,EAAK2P,OAAStE,IAAUnI,MAC1B,OAAO+8B,EAAUjgC,GAGnB,IAAIgR,EAAQhR,EAAKgR,OAAS,GAEtB3Q,EAAcC,YAAc,GAAIN,GAKpC,OAHAK,EAAY2Q,MAAQA,EAAMpQ,KAAI,SAAUR,GACtC,OAAO8/B,EAAc9/B,EAAM6/B,MAEtB5/B,EA7CE6/B,CAAclgC,EAAMigC,IAGtBE,EAAUngC,GAGnB,SAASW,EAAoBP,GAC3B,OAAOA,EAAKkQ,QAAUlQ,EAAKkQ,OAAOX,OAAStE,IAAUyF,UAGvD,SAASsvB,EAAQlhC,GACf,IAAIc,EAAOkQ,YAAShR,GAChB8R,EAAQ,GAEZ,GAAIhR,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,EACpCiW,EAAQhR,EAAKgR,MAAMpQ,KAAI,SAAUR,GAC/B,OAAO+/B,EAAU//B,UAEd,CACL,IAAIigC,EAAWF,EAAUngC,GAErBqgC,IACFrvB,EAAQ,CAACqvB,IAIb,OAAOrvB,EAsBT,SAASmvB,EAAUngC,EAAMqQ,GACvB,IAAInR,EAAU,GACV0M,EAASyE,GAAQ,GAcrB,GAZIrQ,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,EACpCmE,EAAUc,EAAKgR,MAAMpQ,KAAI,SAAUR,GACjC,OAAO+/B,EAAU//B,EAAMlB,MACtBqC,KAAK,OAERrC,EAAUc,EAAKd,QAAQ6B,UAGrB7B,EAAU,KAAKI,OAAOJ,EAAS,OAI/BA,EAAS,CACX,IAAI2D,EAAS7C,EAAKQ,SAAW,GAAGlB,OAAOU,EAAKQ,SAAU,QAAU,GAC5D8/B,EAAStgC,EAAKQ,SAAW,MAAQ,GACrCoL,GAAU,GAAGtM,OAAOuD,GAAQvD,OAAOJ,GAASI,OAAOghC,GAGrD,OAAO10B,I,6BCrGT,yHA2BA,SAASzL,EAAajB,EAAS+gC,GAC7B,IAAIjgC,EAAOkQ,YAAShR,GAMpB,MAJyB,oBAAd+gC,IACTjgC,EA6BJ,SAASkgC,EAAclgC,EAAMigC,GAC3B,IAAKjgC,EACH,OAGF,GAAIA,EAAK2P,OAAStE,IAAUnI,MAC1B,OAAO+8B,EAAUjgC,GAGnB,IAAIgR,EAAQhR,EAAKgR,OAAS,GAEtB3Q,EAAcC,YAAc,GAAIN,GAKpC,OAHAK,EAAY2Q,MAAQA,EAAMpQ,KAAI,SAAUR,GACtC,OAAO8/B,EAAc9/B,EAAM6/B,MAEtB5/B,EA7CE6/B,CAAclgC,EAAMigC,IAGtBE,EAAUngC,GAGnB,SAASW,EAAoBP,GAC3B,OAAOA,EAAKkQ,QAAUlQ,EAAKkQ,OAAOX,OAAStE,IAAUyF,UAGvD,SAASsvB,EAAQlhC,GACf,IAAIc,EAAOkQ,YAAShR,GAChB8R,EAAQ,GAEZ,GAAIhR,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,EACpCiW,EAAQhR,EAAKgR,MAAMpQ,KAAI,SAAUR,GAC/B,OAAO+/B,EAAU//B,UAEd,CACL,IAAIigC,EAAWF,EAAUngC,GAErBqgC,IACFrvB,EAAQ,CAACqvB,IAIb,OAAOrvB,EAsBT,SAASmvB,EAAUngC,EAAMqQ,GACvB,IAAInR,EAAU,GACV0M,EAASyE,GAAQ,GAcrB,GAZIrQ,EAAKgR,OAAShR,EAAKgR,MAAMjW,OAAS,EACpCmE,EAAUc,EAAKgR,MAAMpQ,KAAI,SAAUR,GACjC,OAAO+/B,EAAU//B,EAAMlB,MACtBqC,KAAK,OAERrC,EAAUc,EAAKd,QAAQ6B,UAGrB7B,EAAU,KAAKI,OAAOJ,EAAS,OAI/BA,EAAS,CACX,IAAI2D,EAAS7C,EAAKQ,SAAW,GAAGlB,OAAOU,EAAKQ,SAAU,QAAU,GAC5D8/B,EAAStgC,EAAKQ,SAAW,MAAQ,GACrCoL,GAAU,GAAGtM,OAAOuD,GAAQvD,OAAOJ,GAASI,OAAOghC,GAGrD,OAAO10B,I,8BCrGT,iOASI20B,EAAoB,0BACpBC,EAAwB,wBAe5B,SAASC,IACP,MAAO,CACL5+B,WAAYooB,IACZyW,gBAAiB,KACjBC,WAAYpnC,YAAgB,GAAIgnC,EAAmB,IACnDK,OAAQ,GACRC,WAAY,IAgChB,SAASC,IACP,OAAOC,EAAOP,GAOhB,SAASQ,EAAYC,GACnBF,EAAOP,GAAyBS,EAOlC,SAASC,IACPF,EAAYP,KAQd,SAASU,IACP,IAAIC,EAAeN,IACfJ,EAAkBU,EAAaV,gBAC/BG,EAAaO,EAAaP,WAE9B,OAAOH,GAAmBG,EAAWA,EAAW9lC,OAAS,IAAMwlC,EAoFjE,SAASc,EAAmBp8B,GAC1B,IAAI7C,EAAetH,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACpF,IAAKmK,EAAU,OAAO7C,EACtB,IAAIlE,EAAQ4iC,IAAcF,OAAO37B,GAEjC,OAAI/G,IAGE+G,IAAas7B,GAID,sCAAsCjhC,OAAO2F,EAAU,sBAGhE7C,GAIX,SAASk/B,EAA0Br8B,EAAU5C,GAC3C,IAAInE,EAAQmjC,EAAmBp8B,GAC3BtC,EAAYzE,EAAMyE,WAAa,GAC/B4+B,EAAmBx+B,YAAQV,GAE/B,IAAKk/B,GAAoBrjC,EAAMC,UAM7B,MAFa,uBAAuBmB,OAAOpB,EAAMzE,IAAK,6CAA6C6F,OAAOkiC,KAAKC,UAAUp/B,IAElHM,EAGT,IAAI++B,EAAmB3+B,YAAQJ,GAC/B,OAAK++B,GAAqBH,EACtBG,EAAyBr/B,GAAa,GACnCM,EAF4CiE,YAAUjE,EAAWN,GAa1E,SAASs/B,EAA+B18B,EAAU5C,GAChD,IAAIM,EAEJ,GAAIsC,EACFtC,EAAY2+B,EAA0Br8B,EAAU5C,OAC3C,CAEL,IAAIu/B,EAAmBd,IAAcz+B,UACjCw/B,EAA0B9+B,YAAQ6+B,GAKpCj/B,EAHGk/B,GAA4B9+B,YAAQV,GAE9Bw/B,EACGx/B,EAEAu/B,EAJAh7B,YAAUg7B,EAAkBv/B,GAQ5C,OAAOi/B,EAA0BH,IAAsBx+B,GA6CzD,SAASiC,EAAuBk9B,EAAcC,GAC5C,IACIpB,EADgBG,IACWH,WAEO,oBAA3BoB,IAIXpB,EAAWJ,GAAmBuB,GAAgBC,EAC9CpoC,OAAOQ,KAAK4nC,GAAwB9mC,SAAQ,SAAUgK,GAC/C07B,EAAWriC,eAAe2G,KAE7B07B,EAAW17B,GAAY,IAGzB07B,EAAW17B,GAAU68B,GAhDzB,SAA4BC,EAAwB98B,GAClD,OAAO,SAAUtC,GACf,IAAIzE,EAAQ,GAE0B,oBAA3B6jC,IACT7jC,EAAQ6jC,EAAuBp/B,IAKjC,IAAIq/B,EAAwB,GAY5B,MAVgD,oBAArCD,EAAuB98B,KAChC+8B,EAAwBD,EAAuB98B,GAAUtC,IAGtDI,YAAQi/B,IAA2Bj/B,YAAQ7E,GAErC6E,YAAQ7E,KACjBA,EAAQ8jC,GAFR9jC,EAAQoC,YAAc,GAAIpC,EAAO,GAAI8jC,GAKhC9jC,GA0B8B+jC,CAAmBF,EAAwB98B,OA6BpF,SAASuB,EAAcvB,EAAU5C,GAChBy+B,IAKCD,WAAW9lC,OAE3B,IAAI4lC,EAjCN,SAAiC17B,GAC/B,IACI07B,EADgBG,IACWH,WAE3B3R,EAAI/pB,GAAYk8B,IAEpB,OAAO7gC,YAAc,GAAIqgC,EAAWJ,GAAoB,GAAII,EAAW3R,IA2BtDkT,CAAwBj9B,GACrC/G,EAAQ,GACRyE,EAAYg/B,EAA+B18B,EAAU5C,GAEzD,IAAIU,YAAQJ,GAOZ,OAHAhJ,OAAOS,sBAAsBumC,GAAY1lC,SAAQ,SAAU6mC,GACzD5jC,EAAM4jC,GAAgBnB,EAAWmB,GAAcn/B,MAE1CzE,EAaT,SAASgH,EAAuB48B,EAAc78B,EAAU5C,GACtD,IAAI2sB,EAAI/pB,GAAYk8B,IAChBjjC,EAAQmjC,EAAmBrS,GAC3B7lB,EAAiB,GACjBg5B,EAAuBjkC,EAAM4jC,GAEjC,GAAIK,EAEFh5B,EAAiBg5B,MACZ,CACL,IAAIx/B,EAAYrC,YAAc,CAC5B8hC,QAAS,GACTC,YAAa,GACbC,OAAQ,GACRC,MAAO,GACP1xB,MAAO,GACP2xB,QAAS,GACT33B,QAAS,GACTN,SAAU,GACVk4B,YAAa,GACbC,WAAY,IACXf,EAA+B18B,IAE9B88B,EAvER,SAAgC98B,EAAU68B,GACxC,IACInB,EADgBG,IACWH,WAE/B,OAAOA,EAAW17B,IAAa07B,EAAW17B,GAAU68B,IAAiBnB,EAAWJ,GAAmBuB,GAmEpEa,CAAuB3T,EAAG8S,GAEvD,GAAsC,oBAA3BC,EACT,IACE54B,EAAiB44B,EAAuBp/B,GACxC,MAAOoV,GAIO,eAAezY,OAAOyY,IAK1C,OAAIhV,YAAQV,GACHnE,EAAM4jC,GAAgB34B,EACpBjL,EAAMC,WAIF,sBAAsBmB,OAAO0vB,EAAG,gDAAgD1vB,OAAOwiC,EAAanzB,WAAY,OAAOrP,OAAOkiC,KAAKC,UAAUp/B,IAEnJ8G,GACEpG,YAAQoG,GACV9G,EAEA/B,YAAc,GAAI6I,EAAgB,GAAI9G,GAQjD,SAASoD,EAAqB3C,EAAUV,EAAcqC,GACpD,IACI5C,EADgBi/B,IACWj/B,WAE/B,GAAIA,IAAeA,EAAW+gC,QAAQn+B,GAAc,CAClD,IAAIvF,EAAU2jC,YAAW//B,EAAUV,EAAcqC,GACjD5C,EAAWihC,MAAMr+B,EAAa27B,YAAQlhC,KA/ZtC6hC,EAAOP,GAOTQ,EAiBF,SAA0BC,GACxB,IAAI8B,EAAkBtC,IAEtB,GAAwB,qBAAbQ,EACT,OAAO8B,EAeT,OAXAppC,OAAOQ,KAAK4oC,GAAiB9nC,SAAQ,SAAUxB,GAChB,qBAAlBwnC,EAASxnC,KACV,KASLwnC,EApCK+B,CAAiBjC,EAAOP,KAGpCU,M,gCCXF,SAAS+B,EAAQC,GAEf,GAAIA,GAAe,kBAAoBA,EAAa,CAClD,IAAIC,EAAaD,EAAYE,OAASF,EAAYD,SAAWC,EAAYG,SACrEF,IAAYD,EAAcC,GAIhC,GAAI,kBAAoBD,EAAa,OAAOvV,EAAMuV,GAGlD,IAOII,EAPA/iB,EAAS+H,OAAO4a,GAIpB,OADII,EAAgBC,EAAMhjB,EAAO/gB,gBACP8jC,GAGtBA,EAAgBE,EAAQjjB,EAAO/gB,kBAIb,IAAlB+gB,EAAOxlB,OAAqBwlB,EAAOkjB,WAAW,QAAlD,GAaFR,EAAQS,WAAa,SAAoBjgB,EAAOkgB,GAC9C,GAAIlgB,GAAS,kBAAoBA,EAAO,CACtC,IAAIwf,EAAUxf,EAAM2f,OAAS3f,EAAMwf,SAAWxf,EAAM4f,SACpD,GAAgB,OAAZJ,QAAgCvzB,IAAZuzB,EAAyB,OAAO,EACxD,GAA0B,kBAAfU,EAAyB,CAElC,IAIIL,EAHJ,GADIA,EAAgBC,EAAMI,EAAWnkC,eAChB,OAAO8jC,IAAkBL,EAI9C,GADIK,EAAgBE,EAAQG,EAAWnkC,eAClB,OAAO8jC,IAAkBL,OACzC,GAA0B,kBAAfU,EAChB,OAAOA,IAAeV,EAExB,OAAO,IAYX,IAAIM,GARJlqC,EAAUD,EAAOC,QAAU4pC,GAQPW,KAAOvqC,EAAQkqC,MAAQ,CACzC,UAAa,EACb,IAAO,EACP,MAAS,GACT,MAAS,GACT,KAAQ,GACR,IAAO,GACP,cAAe,GACf,YAAa,GACb,IAAO,GACP,MAAS,GACT,UAAW,GACX,YAAa,GACb,IAAO,GACP,KAAQ,GACR,KAAQ,GACR,GAAM,GACN,MAAS,GACT,KAAQ,GACR,OAAU,GACV,OAAU,GACV,QAAW,GACX,eAAgB,GAChB,gBAAiB,GACjB,WAAY,IACZ,WAAY,IACZ,WAAY,IACZ,WAAY,IACZ,WAAY,IACZ,WAAY,IACZ,cAAe,IACf,cAAe,IACf,gBAAiB,IACjB,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,IAAK,IACL,IAAK,KAKHC,EAAUnqC,EAAQmqC,QAAU,CAC9B,QAAW,GACX,SAAK,GACL,SAAK,GACL,SAAK,GACL,SAAK,GACL,IAAO,GACP,QAAW,GACX,OAAU,GACV,MAAS,GACT,MAAS,GACT,KAAQ,GACR,OAAU,GACV,OAAU,GACV,IAAO,GACP,SAAY,GACZ,KAAQ,GACR,KAAQ,GACR,IAAO,GACP,IAAO,GACP,IAAO,IAQT,IAAK3oC,EAAI,GAAIA,EAAI,IAAKA,IAAK0oC,EAAMjb,OAAOub,aAAahpC,IAAMA,EAAI,GAG/D,IAAK,IAAIA,EAAI,GAAIA,EAAI,GAAIA,IAAK0oC,EAAM1oC,EAAI,IAAMA,EAG9C,IAAKA,EAAI,EAAGA,EAAI,GAAIA,IAAK0oC,EAAM,IAAI1oC,GAAKA,EAAI,IAG5C,IAAKA,EAAI,EAAGA,EAAI,GAAIA,IAAK0oC,EAAM,UAAU1oC,GAAKA,EAAI,GAQlD,IAAI8yB,EAAQt0B,EAAQs0B,MAAQt0B,EAAQyqC,MAAQ,GAG5C,IAAKjpC,KAAK0oC,EAAO5V,EAAM4V,EAAM1oC,IAAMA,EAGnC,IAAK,IAAIkpC,KAASP,EAChBD,EAAMQ,GAASP,EAAQO,I,8BC7KzB,iOASIxD,EAAoB,0BACpBC,EAAwB,wBAe5B,SAASC,IACP,MAAO,CACL5+B,WAAYooB,IACZyW,gBAAiB,KACjBC,WAAYpnC,YAAgB,GAAIgnC,EAAmB,IACnDK,OAAQ,GACRC,WAAY,IAgChB,SAASC,IACP,OAAOC,EAAOP,GAOhB,SAASQ,EAAYC,GACnBF,EAAOP,GAAyBS,EAOlC,SAASC,IACPF,EAAYP,KAQd,SAASU,IACP,IAAIC,EAAeN,IACfJ,EAAkBU,EAAaV,gBAC/BG,EAAaO,EAAaP,WAE9B,OAAOH,GAAmBG,EAAWA,EAAW9lC,OAAS,IAAMwlC,EAoFjE,SAASc,EAAmBp8B,GAC1B,IAAI7C,EAAetH,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACpF,IAAKmK,EAAU,OAAO7C,EACtB,IAAIlE,EAAQ4iC,IAAcF,OAAO37B,GAEjC,OAAI/G,IAGE+G,IAAas7B,GAID,sCAAsCjhC,OAAO2F,EAAU,sBAGhE7C,GAIX,SAASk/B,EAA0Br8B,EAAU5C,GAC3C,IAAInE,EAAQmjC,EAAmBp8B,GAC3BtC,EAAYzE,EAAMyE,WAAa,GAC/B4+B,EAAmBx+B,YAAQV,GAE/B,IAAKk/B,GAAoBrjC,EAAMC,UAM7B,MAFa,uBAAuBmB,OAAOpB,EAAMzE,IAAK,6CAA6C6F,OAAOkiC,KAAKC,UAAUp/B,IAElHM,EAGT,IAAI++B,EAAmB3+B,YAAQJ,GAC/B,OAAK++B,GAAqBH,EACtBG,EAAyBr/B,GAAa,GACnCM,EAF4CiE,YAAUjE,EAAWN,GAa1E,SAASs/B,EAA+B18B,EAAU5C,GAChD,IAAIM,EAEJ,GAAIsC,EACFtC,EAAY2+B,EAA0Br8B,EAAU5C,OAC3C,CAEL,IAAIu/B,EAAmBd,IAAcz+B,UACjCw/B,EAA0B9+B,YAAQ6+B,GAKpCj/B,EAHGk/B,GAA4B9+B,YAAQV,GAE9Bw/B,EACGx/B,EAEAu/B,EAJAh7B,YAAUg7B,EAAkBv/B,GAQ5C,OAAOi/B,EAA0BH,IAAsBx+B,GA6CzD,SAASiC,EAAuBk9B,EAAcC,GAC5C,IACIpB,EADgBG,IACWH,WAEO,oBAA3BoB,IAIXpB,EAAWJ,GAAmBuB,GAAgBC,EAC9CpoC,OAAOQ,KAAK4nC,GAAwB9mC,SAAQ,SAAUgK,GAC/C07B,EAAWriC,eAAe2G,KAE7B07B,EAAW17B,GAAY,IAGzB07B,EAAW17B,GAAU68B,GAhDzB,SAA4BC,EAAwB98B,GAClD,OAAO,SAAUtC,GACf,IAAIzE,EAAQ,GAE0B,oBAA3B6jC,IACT7jC,EAAQ6jC,EAAuBp/B,IAKjC,IAAIq/B,EAAwB,GAY5B,MAVgD,oBAArCD,EAAuB98B,KAChC+8B,EAAwBD,EAAuB98B,GAAUtC,IAGtDI,YAAQi/B,IAA2Bj/B,YAAQ7E,GAErC6E,YAAQ7E,KACjBA,EAAQ8jC,GAFR9jC,EAAQoC,YAAc,GAAIpC,EAAO,GAAI8jC,GAKhC9jC,GA0B8B+jC,CAAmBF,EAAwB98B,OA6BpF,SAASuB,EAAcvB,EAAU5C,GAChBy+B,IAKCD,WAAW9lC,OAE3B,IAAI4lC,EAjCN,SAAiC17B,GAC/B,IACI07B,EADgBG,IACWH,WAE3B3R,EAAI/pB,GAAYk8B,IAEpB,OAAO7gC,YAAc,GAAIqgC,EAAWJ,GAAoB,GAAII,EAAW3R,IA2BtDkT,CAAwBj9B,GACrC/G,EAAQ,GACRyE,EAAYg/B,EAA+B18B,EAAU5C,GAEzD,IAAIU,YAAQJ,GAOZ,OAHAhJ,OAAOS,sBAAsBumC,GAAY1lC,SAAQ,SAAU6mC,GACzD5jC,EAAM4jC,GAAgBnB,EAAWmB,GAAcn/B,MAE1CzE,EAaT,SAASgH,EAAuB48B,EAAc78B,EAAU5C,GACtD,IAAI2sB,EAAI/pB,GAAYk8B,IAChBjjC,EAAQmjC,EAAmBrS,GAC3B7lB,EAAiB,GACjBg5B,EAAuBjkC,EAAM4jC,GAEjC,GAAIK,EAEFh5B,EAAiBg5B,MACZ,CACL,IAAIx/B,EAAYrC,YAAc,CAC5B8hC,QAAS,GACTC,YAAa,GACbC,OAAQ,GACRC,MAAO,GACP1xB,MAAO,GACP2xB,QAAS,GACT33B,QAAS,GACTN,SAAU,GACVk4B,YAAa,GACbC,WAAY,IACXf,EAA+B18B,IAE9B88B,EAvER,SAAgC98B,EAAU68B,GACxC,IACInB,EADgBG,IACWH,WAE/B,OAAOA,EAAW17B,IAAa07B,EAAW17B,GAAU68B,IAAiBnB,EAAWJ,GAAmBuB,GAmEpEa,CAAuB3T,EAAG8S,GAEvD,GAAsC,oBAA3BC,EACT,IACE54B,EAAiB44B,EAAuBp/B,GACxC,MAAOoV,GAIO,eAAezY,OAAOyY,IAK1C,OAAIhV,YAAQV,GACHnE,EAAM4jC,GAAgB34B,EACpBjL,EAAMC,WAIF,sBAAsBmB,OAAO0vB,EAAG,gDAAgD1vB,OAAOwiC,EAAanzB,WAAY,OAAOrP,OAAOkiC,KAAKC,UAAUp/B,IAEnJ8G,GACEpG,YAAQoG,GACV9G,EAEA/B,YAAc,GAAI6I,EAAgB,GAAI9G,GAQjD,SAASoD,EAAqB3C,EAAUV,EAAcqC,GACpD,IACI5C,EADgBi/B,IACWj/B,WAE/B,GAAIA,IAAeA,EAAW+gC,QAAQn+B,GAAc,CAClD,IAAIvF,EAAU2jC,YAAW//B,EAAUV,EAAcqC,GACjD5C,EAAWihC,MAAMr+B,EAAa27B,YAAQlhC,KA/ZtC6hC,EAAOP,GAOTQ,EAiBF,SAA0BC,GACxB,IAAI8B,EAAkBtC,IAEtB,GAAwB,qBAAbQ,EACT,OAAO8B,EAeT,OAXAppC,OAAOQ,KAAK4oC,GAAiB9nC,SAAQ,SAAUxB,GAChB,qBAAlBwnC,EAASxnC,KACV,KASLwnC,EApCK+B,CAAiBjC,EAAOP,KAGpCU,M,gDCtBF,iOASIX,EAAoB,0BACpBC,EAAwB,wBAe5B,SAASC,IACP,MAAO,CACL5+B,WAAYooB,IACZyW,gBAAiB,KACjBC,WAAYpnC,YAAgB,GAAIgnC,EAAmB,IACnDK,OAAQ,GACRC,WAAY,IAgChB,SAASC,IACP,OAAOC,EAAOP,GAOhB,SAASQ,EAAYC,GACnBF,EAAOP,GAAyBS,EAOlC,SAASC,IACPF,EAAYP,KAQd,SAASU,IACP,IAAIC,EAAeN,IACfJ,EAAkBU,EAAaV,gBAC/BG,EAAaO,EAAaP,WAE9B,OAAOH,GAAmBG,EAAWA,EAAW9lC,OAAS,IAAMwlC,EAoFjE,SAASc,EAAmBp8B,GAC1B,IAAI7C,EAAetH,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACpF,IAAKmK,EAAU,OAAO7C,EACtB,IAAIlE,EAAQ4iC,IAAcF,OAAO37B,GAEjC,OAAI/G,IAGE+G,IAAas7B,GAID,sCAAsCjhC,OAAO2F,EAAU,sBAGhE7C,GAIX,SAASk/B,EAA0Br8B,EAAU5C,GAC3C,IAAInE,EAAQmjC,EAAmBp8B,GAC3BtC,EAAYzE,EAAMyE,WAAa,GAC/B4+B,EAAmBx+B,YAAQV,GAE/B,IAAKk/B,GAAoBrjC,EAAMC,UAM7B,MAFa,uBAAuBmB,OAAOpB,EAAMzE,IAAK,6CAA6C6F,OAAOkiC,KAAKC,UAAUp/B,IAElHM,EAGT,IAAI++B,EAAmB3+B,YAAQJ,GAC/B,OAAK++B,GAAqBH,EACtBG,EAAyBr/B,GAAa,GACnCM,EAF4CiE,YAAUjE,EAAWN,GAa1E,SAASs/B,EAA+B18B,EAAU5C,GAChD,IAAIM,EAEJ,GAAIsC,EACFtC,EAAY2+B,EAA0Br8B,EAAU5C,OAC3C,CAEL,IAAIu/B,EAAmBd,IAAcz+B,UACjCw/B,EAA0B9+B,YAAQ6+B,GAKpCj/B,EAHGk/B,GAA4B9+B,YAAQV,GAE9Bw/B,EACGx/B,EAEAu/B,EAJAh7B,YAAUg7B,EAAkBv/B,GAQ5C,OAAOi/B,EAA0BH,IAAsBx+B,GA6CzD,SAASiC,EAAuBk9B,EAAcC,GAC5C,IACIpB,EADgBG,IACWH,WAEO,oBAA3BoB,IAIXpB,EAAWJ,GAAmBuB,GAAgBC,EAC9CpoC,OAAOQ,KAAK4nC,GAAwB9mC,SAAQ,SAAUgK,GAC/C07B,EAAWriC,eAAe2G,KAE7B07B,EAAW17B,GAAY,IAGzB07B,EAAW17B,GAAU68B,GAhDzB,SAA4BC,EAAwB98B,GAClD,OAAO,SAAUtC,GACf,IAAIzE,EAAQ,GAE0B,oBAA3B6jC,IACT7jC,EAAQ6jC,EAAuBp/B,IAKjC,IAAIq/B,EAAwB,GAY5B,MAVgD,oBAArCD,EAAuB98B,KAChC+8B,EAAwBD,EAAuB98B,GAAUtC,IAGtDI,YAAQi/B,IAA2Bj/B,YAAQ7E,GAErC6E,YAAQ7E,KACjBA,EAAQ8jC,GAFR9jC,EAAQoC,YAAc,GAAIpC,EAAO,GAAI8jC,GAKhC9jC,GA0B8B+jC,CAAmBF,EAAwB98B,OA6BpF,SAASuB,EAAcvB,EAAU5C,GAChBy+B,IAKCD,WAAW9lC,OAE3B,IAAI4lC,EAjCN,SAAiC17B,GAC/B,IACI07B,EADgBG,IACWH,WAE3B3R,EAAI/pB,GAAYk8B,IAEpB,OAAO7gC,YAAc,GAAIqgC,EAAWJ,GAAoB,GAAII,EAAW3R,IA2BtDkT,CAAwBj9B,GACrC/G,EAAQ,GACRyE,EAAYg/B,EAA+B18B,EAAU5C,GAEzD,IAAIU,YAAQJ,GAOZ,OAHAhJ,OAAOS,sBAAsBumC,GAAY1lC,SAAQ,SAAU6mC,GACzD5jC,EAAM4jC,GAAgBnB,EAAWmB,GAAcn/B,MAE1CzE,EAaT,SAASgH,EAAuB48B,EAAc78B,EAAU5C,GACtD,IAAI2sB,EAAI/pB,GAAYk8B,IAChBjjC,EAAQmjC,EAAmBrS,GAC3B7lB,EAAiB,GACjBg5B,EAAuBjkC,EAAM4jC,GAEjC,GAAIK,EAEFh5B,EAAiBg5B,MACZ,CACL,IAAIx/B,EAAYrC,YAAc,CAC5B8hC,QAAS,GACTC,YAAa,GACbC,OAAQ,GACRC,MAAO,GACP1xB,MAAO,GACP2xB,QAAS,GACT33B,QAAS,GACTN,SAAU,GACVk4B,YAAa,GACbC,WAAY,IACXf,EAA+B18B,IAE9B88B,EAvER,SAAgC98B,EAAU68B,GACxC,IACInB,EADgBG,IACWH,WAE/B,OAAOA,EAAW17B,IAAa07B,EAAW17B,GAAU68B,IAAiBnB,EAAWJ,GAAmBuB,GAmEpEa,CAAuB3T,EAAG8S,GAEvD,GAAsC,oBAA3BC,EACT,IACE54B,EAAiB44B,EAAuBp/B,GACxC,MAAOoV,GAIO,eAAezY,OAAOyY,IAK1C,OAAIhV,YAAQV,GACHnE,EAAM4jC,GAAgB34B,EACpBjL,EAAMC,WAIF,sBAAsBmB,OAAO0vB,EAAG,gDAAgD1vB,OAAOwiC,EAAanzB,WAAY,OAAOrP,OAAOkiC,KAAKC,UAAUp/B,IAEnJ8G,GACEpG,YAAQoG,GACV9G,EAEA/B,YAAc,GAAI6I,EAAgB,GAAI9G,GAQjD,SAASoD,EAAqB3C,EAAUV,EAAcqC,GACpD,IACI5C,EADgBi/B,IACWj/B,WAE/B,GAAIA,IAAeA,EAAW+gC,QAAQn+B,GAAc,CAClD,IAAIvF,EAAU2jC,YAAW//B,EAAUV,EAAcqC,GACjD5C,EAAWihC,MAAMr+B,EAAa27B,YAAQlhC,KA/ZtC6hC,EAAOP,GAOTQ,EAiBF,SAA0BC,GACxB,IAAI8B,EAAkBtC,IAEtB,GAAwB,qBAAbQ,EACT,OAAO8B,EAeT,OAXAppC,OAAOQ,KAAK4oC,GAAiB9nC,SAAQ,SAAUxB,GAChB,qBAAlBwnC,EAASxnC,KACV,KASLwnC,EApCK+B,CAAiBjC,EAAOP,KAGpCU,M,gDCtBF,mQASIX,EAAoB,0BACpBC,EAAwB,wBAe5B,SAASC,IACP,MAAO,CACL5+B,WAAYooB,IACZyW,gBAAiB,KACjBC,WAAYpnC,YAAgB,GAAIgnC,EAAmB,IACnDK,OAAQ,GACRC,WAAY,IAgChB,SAASC,IACP,OAAOC,EAAOP,GAOhB,SAASQ,EAAYC,GACnBF,EAAOP,GAAyBS,EAOlC,SAASC,IACPF,EAAYP,KAQd,SAASU,IACP,IAAIC,EAAeN,IACfJ,EAAkBU,EAAaV,gBAC/BG,EAAaO,EAAaP,WAE9B,OAAOH,GAAmBG,EAAWA,EAAW9lC,OAAS,IAAMwlC,EASjE,SAASyD,EAAgB/+B,EAAU5C,GACjC,IAAI4+B,EAAWH,IACX5iC,EAAQ+iC,EAASL,OAAO37B,GAe5B,OAbK/G,IACC+G,IAAas7B,GAID,sCAAsCjhC,OAAO2F,EAAU,sBAGvE/G,EAAQ,IAGV+iC,EAASP,gBAAkBz7B,EAC3Bg8B,EAAS5+B,UAAYA,EACdnE,EA0DT,SAASmjC,EAAmBp8B,GAC1B,IAAI7C,EAAetH,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACpF,IAAKmK,EAAU,OAAO7C,EACtB,IAAIlE,EAAQ4iC,IAAcF,OAAO37B,GAEjC,OAAI/G,IAGE+G,IAAas7B,GAID,sCAAsCjhC,OAAO2F,EAAU,sBAGhE7C,GAIX,SAASk/B,EAA0Br8B,EAAU5C,GAC3C,IAAInE,EAAQmjC,EAAmBp8B,GAC3BtC,EAAYzE,EAAMyE,WAAa,GAC/B4+B,EAAmBx+B,YAAQV,GAE/B,IAAKk/B,GAAoBrjC,EAAMC,UAM7B,MAFa,uBAAuBmB,OAAOpB,EAAMzE,IAAK,6CAA6C6F,OAAOkiC,KAAKC,UAAUp/B,IAElHM,EAGT,IAAI++B,EAAmB3+B,YAAQJ,GAC/B,OAAK++B,GAAqBH,EACtBG,EAAyBr/B,GAAa,GACnCM,EAF4CiE,YAAUjE,EAAWN,GAa1E,SAASs/B,EAA+B18B,EAAU5C,GAChD,IAAIM,EAEJ,GAAIsC,EACFtC,EAAY2+B,EAA0Br8B,EAAU5C,OAC3C,CAEL,IAAIu/B,EAAmBd,IAAcz+B,UACjCw/B,EAA0B9+B,YAAQ6+B,GAKpCj/B,EAHGk/B,GAA4B9+B,YAAQV,GAE9Bw/B,EACGx/B,EAEAu/B,EAJAh7B,YAAUg7B,EAAkBv/B,GAQ5C,OAAOi/B,EAA0BH,IAAsBx+B,GA6CzD,SAASiC,EAAuBk9B,EAAcC,GAC5C,IACIpB,EADgBG,IACWH,WAEO,oBAA3BoB,IAIXpB,EAAWJ,GAAmBuB,GAAgBC,EAC9CpoC,OAAOQ,KAAK4nC,GAAwB9mC,SAAQ,SAAUgK,GAC/C07B,EAAWriC,eAAe2G,KAE7B07B,EAAW17B,GAAY,IAGzB07B,EAAW17B,GAAU68B,GAhDzB,SAA4BC,EAAwB98B,GAClD,OAAO,SAAUtC,GACf,IAAIzE,EAAQ,GAE0B,oBAA3B6jC,IACT7jC,EAAQ6jC,EAAuBp/B,IAKjC,IAAIq/B,EAAwB,GAY5B,MAVgD,oBAArCD,EAAuB98B,KAChC+8B,EAAwBD,EAAuB98B,GAAUtC,IAGtDI,YAAQi/B,IAA2Bj/B,YAAQ7E,GAErC6E,YAAQ7E,KACjBA,EAAQ8jC,GAFR9jC,EAAQoC,YAAc,GAAIpC,EAAO,GAAI8jC,GAKhC9jC,GA0B8B+jC,CAAmBF,EAAwB98B,OA6BpF,SAASuB,EAAcvB,EAAU5C,GAChBy+B,IAKCD,WAAW9lC,OAE3B,IAAI4lC,EAjCN,SAAiC17B,GAC/B,IACI07B,EADgBG,IACWH,WAE3B3R,EAAI/pB,GAAYk8B,IAEpB,OAAO7gC,YAAc,GAAIqgC,EAAWJ,GAAoB,GAAII,EAAW3R,IA2BtDkT,CAAwBj9B,GACrC/G,EAAQ,GACRyE,EAAYg/B,EAA+B18B,EAAU5C,GAEzD,IAAIU,YAAQJ,GAOZ,OAHAhJ,OAAOS,sBAAsBumC,GAAY1lC,SAAQ,SAAU6mC,GACzD5jC,EAAM4jC,GAAgBnB,EAAWmB,GAAcn/B,MAE1CzE,EAaT,SAASgH,EAAuB48B,EAAc78B,EAAU5C,GACtD,IAAI2sB,EAAI/pB,GAAYk8B,IAChBjjC,EAAQmjC,EAAmBrS,GAC3B7lB,EAAiB,GACjBg5B,EAAuBjkC,EAAM4jC,GAEjC,GAAIK,EAEFh5B,EAAiBg5B,MACZ,CACL,IAAIx/B,EAAYrC,YAAc,CAC5B8hC,QAAS,GACTC,YAAa,GACbC,OAAQ,GACRC,MAAO,GACP1xB,MAAO,GACP2xB,QAAS,GACT33B,QAAS,GACTN,SAAU,GACVk4B,YAAa,GACbC,WAAY,IACXf,EAA+B18B,IAE9B88B,EAvER,SAAgC98B,EAAU68B,GACxC,IACInB,EADgBG,IACWH,WAE/B,OAAOA,EAAW17B,IAAa07B,EAAW17B,GAAU68B,IAAiBnB,EAAWJ,GAAmBuB,GAmEpEa,CAAuB3T,EAAG8S,GAEvD,GAAsC,oBAA3BC,EACT,IACE54B,EAAiB44B,EAAuBp/B,GACxC,MAAOoV,GAIO,eAAezY,OAAOyY,IAK1C,OAAIhV,YAAQV,GACHnE,EAAM4jC,GAAgB34B,EACpBjL,EAAMC,WAIF,sBAAsBmB,OAAO0vB,EAAG,gDAAgD1vB,OAAOwiC,EAAanzB,WAAY,OAAOrP,OAAOkiC,KAAKC,UAAUp/B,IAEnJ8G,GACEpG,YAAQoG,GACV9G,EAEA/B,YAAc,GAAI6I,EAAgB,GAAI9G,GAQjD,SAASoD,EAAqB3C,EAAUV,EAAcqC,GACpD,IACI5C,EADgBi/B,IACWj/B,WAE/B,GAAIA,IAAeA,EAAW+gC,QAAQn+B,GAAc,CAClD,IAAIvF,EAAU2jC,YAAW//B,EAAUV,EAAcqC,GACjD5C,EAAWihC,MAAMr+B,EAAa27B,YAAQlhC,KA/ZtC6hC,EAAOP,GAOTQ,EAiBF,SAA0BC,GACxB,IAAI8B,EAAkBtC,IAEtB,GAAwB,qBAAbQ,EACT,OAAO8B,EAeT,OAXAppC,OAAOQ,KAAK4oC,GAAiB9nC,SAAQ,SAAUxB,GAChB,qBAAlBwnC,EAASxnC,KACV,KASLwnC,EApCK+B,CAAiBjC,EAAOP,KAGpCU,IAgaF,IAAI+C,EAAgB,CAClBnD,YAAaA,EACbI,cAAeA,EACfF,YAAaA,EACb97B,uBAAwBA,EACxBsB,cAAeA,EACf09B,oBA3BF,WACE,OAAOpD,IAAcF,QA2BrBh8B,uBAAwBA,EACxBu/B,cA5RF,SAAuBjmC,GACrB,IACIkmC,EADAnD,EAAWH,IAWf,OARI5iC,EAAMzE,KAAOwnC,EAASL,OAAO1iC,EAAMzE,KACrC2qC,EAAkBnD,EAASL,OAAO1iC,EAAMzE,MAExC2qC,EAxCJ,SAAmBp6B,GACjB,IAAIvQ,EAAMuQ,EAAKvQ,IACXkJ,EAAYqH,EAAKrH,UACjB0hC,EAAOr6B,EAAKq6B,KACZlmC,EAAY6L,EAAK7L,UACjBmmC,EAAct6B,EAAKs6B,YACnBr/B,EAAWxL,GAAOiL,cACtB,MAAO,CACLjL,IAAKwL,EACL9G,UAAWA,EACXwE,UAAWrC,YAAc,GAAIqC,GAC7B2hC,YAAaA,EACbC,IAAK,WACH,IAAIr6B,EAAQpP,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACzE0pC,EAAat6B,EAAMs6B,WACnBniC,EAAY6H,EAAM7H,UAElBmiC,GAIIH,GAAQA,EAAK5qC,IAAK,gDAAgD6F,OAAO2F,EAAU,KAErFo/B,GAAQA,EAAK5qC,KACfuqC,EAAgBK,EAAK5qC,MAGvBuqC,EAAgB/+B,EAAU5C,KAaZoiC,CAAUvmC,GAC5B+iC,EAASL,OAAOwD,EAAgB3qC,KAAO2qC,EACvCnD,EAASJ,WAAWpmC,KAAK2pC,EAAgB3qC,MAGpC2qC,GAiRP3+B,qBAAsBA,EACtBi/B,qBAjBF,WACE,IACI7iC,EADgBi/B,IACWj/B,WAE/BA,GAAcA,EAAWuqB,Y,kCCnb3B,IAAIrjB,EAGJA,EAAK,WACJ,OAAOtG,KADH,GAIL,IAECsG,EAAIA,GAAK,IAAI47B,SAAS,cAAb,GACR,MAAO5sB,GAEc,kBAAX9D,SAAqBlL,EAAIkL,QAOrC7a,EAAOC,QAAU0P,G,6BCcjB,SAASihB,EAAmB4a,EAAc/hC,GACxC,IAAI2B,EAAO3B,EAAS,GAAGvD,OAAOuD,EAAQ,KAAKvD,OAAOslC,GAAgBA,EAClE,MAAO,KAAKtlC,OAAOkF,GAnCrB,mC,6BCAA,yGAuCA,SAASq+B,IACP,OAAItgC,cACKsiC,EAAwBnqC,MAAM+H,KAAM3H,WAEpCkI,EAAuBtI,MAAM+H,KAAM3H,WAI9C,SAASkI,EAAuBF,EAAUH,GAExC,IAAIzD,EAAU4D,EAASH,GAEnBmiC,EAAcniC,EAAYgB,YAAoBhB,GAAa,GAE/D,OADAzD,EAAU6lC,YAAsB7lC,EAAS4lC,GAI3C,SAASD,EAAwB/hC,EAAUH,EAAWE,GACpD,IAEI3D,EAAU4D,EAFMH,EAAYqiC,YAA+BriC,EAAWE,GAAU,IAIhFiiC,EAAcniC,EAAY,WAC5B,OAAOgB,YAAoBhB,IACzB,GAKJ,OADAzD,EAAU,CAHVA,EAAU6lC,YAAsB7lC,EAAS4lC,GAGrBG,EAFKtiC,EAAYgB,YAAoBhB,EAAWE,GAAU,KAElBtB,KAAK,MAInE,SAAS0jC,IACP,IAAItiC,EAAY7H,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC7EkW,EAAQ,GAEZ,IAAK,IAAIvX,KAAOkJ,EACVhJ,OAAOkC,UAAUyC,eAAerC,KAAK0G,EAAWlJ,IAAkC,qBAAnBkJ,EAAUlJ,IAC3EuX,EAAMvW,KAAK,GAAG6E,OAAO7F,EAAK,MAAM6F,OAAOqD,EAAUlJ,KAIrD,OAAIuX,EAAMjW,OAAS,EACV,4BAA4BuE,OAAO0R,EAAMzP,KAAK,OAAQ,oBAEtD,K,6BCnDX,SAASyoB,EAAmB4a,EAAc/hC,GACxC,IAAI2B,EAAO3B,EAAS,GAAGvD,OAAOuD,EAAQ,KAAKvD,OAAOslC,GAAgBA,EAClE,MAAO,KAAKtlC,OAAOkF,GAnCrB,mC,6BCAA,yGAuCA,SAASq+B,IACP,OAAItgC,cACKsiC,EAAwBnqC,MAAM+H,KAAM3H,WAEpCkI,EAAuBtI,MAAM+H,KAAM3H,WAI9C,SAASkI,EAAuBF,EAAUH,GAExC,IAAIzD,EAAU4D,EAASH,GAEnBmiC,EAAcniC,EAAYgB,YAAoBhB,GAAa,GAE/D,OADAzD,EAAU6lC,YAAsB7lC,EAAS4lC,GAI3C,SAASD,EAAwB/hC,EAAUH,EAAWE,GACpD,IAEI3D,EAAU4D,EAFMH,EAAYqiC,YAA+BriC,EAAWE,GAAU,IAIhFiiC,EAAcniC,EAAY,WAC5B,OAAOgB,YAAoBhB,IACzB,GAKJ,OADAzD,EAAU,CAHVA,EAAU6lC,YAAsB7lC,EAAS4lC,GAGrBG,EAFKtiC,EAAYgB,YAAoBhB,EAAWE,GAAU,KAElBtB,KAAK,MAInE,SAAS0jC,IACP,IAAItiC,EAAY7H,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC7EkW,EAAQ,GAEZ,IAAK,IAAIvX,KAAOkJ,EACVhJ,OAAOkC,UAAUyC,eAAerC,KAAK0G,EAAWlJ,IAAkC,qBAAnBkJ,EAAUlJ,IAC3EuX,EAAMvW,KAAK,GAAG6E,OAAO7F,EAAK,MAAM6F,OAAOqD,EAAUlJ,KAIrD,OAAIuX,EAAMjW,OAAS,EACV,4BAA4BuE,OAAO0R,EAAMzP,KAAK,OAAQ,oBAEtD,K,6BCnDX,SAASyoB,EAAmB4a,EAAc/hC,GACxC,IAAI2B,EAAO3B,EAAS,GAAGvD,OAAOuD,EAAQ,KAAKvD,OAAOslC,GAAgBA,EAClE,MAAO,KAAKtlC,OAAOkF,GAnCrB,mC,6BCAA,yGAuCA,SAASq+B,IACP,OAAItgC,cACKsiC,EAAwBnqC,MAAM+H,KAAM3H,WAEpCkI,EAAuBtI,MAAM+H,KAAM3H,WAI9C,SAASkI,EAAuBF,EAAUH,GAExC,IAAIzD,EAAU4D,EAASH,GAEnBmiC,EAAcniC,EAAYgB,YAAoBhB,GAAa,GAE/D,OADAzD,EAAU6lC,YAAsB7lC,EAAS4lC,GAI3C,SAASD,EAAwB/hC,EAAUH,EAAWE,GACpD,IAEI3D,EAAU4D,EAFMH,EAAYqiC,YAA+BriC,EAAWE,GAAU,IAIhFiiC,EAAcniC,EAAY,WAC5B,OAAOgB,YAAoBhB,IACzB,GAKJ,OADAzD,EAAU,CAHVA,EAAU6lC,YAAsB7lC,EAAS4lC,GAGrBG,EAFKtiC,EAAYgB,YAAoBhB,EAAWE,GAAU,KAElBtB,KAAK,MAInE,SAAS0jC,IACP,IAAItiC,EAAY7H,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC7EkW,EAAQ,GAEZ,IAAK,IAAIvX,KAAOkJ,EACVhJ,OAAOkC,UAAUyC,eAAerC,KAAK0G,EAAWlJ,IAAkC,qBAAnBkJ,EAAUlJ,IAC3EuX,EAAMvW,KAAK,GAAG6E,OAAO7F,EAAK,MAAM6F,OAAOqD,EAAUlJ,KAIrD,OAAIuX,EAAMjW,OAAS,EACV,4BAA4BuE,OAAO0R,EAAMzP,KAAK,OAAQ,oBAEtD,K,6BCnDX,SAASyoB,EAAmB4a,EAAc/hC,GACxC,IAAI2B,EAAO3B,EAAS,GAAGvD,OAAOuD,EAAQ,KAAKvD,OAAOslC,GAAgBA,EAClE,MAAO,KAAKtlC,OAAOkF,GAnCrB,mC,6BCAA,yGAuCA,SAASq+B,IACP,OAAItgC,cACKsiC,EAAwBnqC,MAAM+H,KAAM3H,WAEpCkI,EAAuBtI,MAAM+H,KAAM3H,WAI9C,SAASkI,EAAuBF,EAAUH,GAExC,IAAIzD,EAAU4D,EAASH,GAEnBmiC,EAAcniC,EAAYgB,YAAoBhB,GAAa,GAE/D,OADAzD,EAAU6lC,YAAsB7lC,EAAS4lC,GAI3C,SAASD,EAAwB/hC,EAAUH,EAAWE,GACpD,IAEI3D,EAAU4D,EAFMH,EAAYqiC,YAA+BriC,EAAWE,GAAU,IAIhFiiC,EAAcniC,EAAY,WAC5B,OAAOgB,YAAoBhB,IACzB,GAKJ,OADAzD,EAAU,CAHVA,EAAU6lC,YAAsB7lC,EAAS4lC,GAGrBG,EAFKtiC,EAAYgB,YAAoBhB,EAAWE,GAAU,KAElBtB,KAAK,MAInE,SAAS0jC,IACP,IAAItiC,EAAY7H,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC7EkW,EAAQ,GAEZ,IAAK,IAAIvX,KAAOkJ,EACVhJ,OAAOkC,UAAUyC,eAAerC,KAAK0G,EAAWlJ,IAAkC,qBAAnBkJ,EAAUlJ,IAC3EuX,EAAMvW,KAAK,GAAG6E,OAAO7F,EAAK,MAAM6F,OAAOqD,EAAUlJ,KAIrD,OAAIuX,EAAMjW,OAAS,EACV,4BAA4BuE,OAAO0R,EAAMzP,KAAK,OAAQ,oBAEtD,K,iCC3DP2jC,E,SCFA5iB,EAAiC,qBAAdD,WAA6BA,UAAUC,WAAa,GAShE6iB,EAAS,OAAOC,KAAK9iB,GDEhC,SAAS/f,IACP,MAA+B,qBAApB2iC,EAAwCA,EAC5CA,EAAkBphC,MAAcqhC,GACvClxB,OAAOoxB,KAAOpxB,OAAOoxB,IAAIC,UAAYrxB,OAAOoxB,IAAIC,SAAS,QAAS,kBArCpE,mC,iCEyBIJ,E,SCFA5iB,EAAiC,qBAAdD,WAA6BA,UAAUC,WAAa,GAShE6iB,EAAS,OAAOC,KAAK9iB,GDEhC,SAAS/f,IACP,MAA+B,qBAApB2iC,EAAwCA,EAC5CA,EAAkBphC,MAAcqhC,GACvClxB,OAAOoxB,KAAOpxB,OAAOoxB,IAAIC,UAAYrxB,OAAOoxB,IAAIC,SAAS,QAAS,kBArCpE,mC,iCEyBIJ,E,SCFA5iB,EAAiC,qBAAdD,WAA6BA,UAAUC,WAAa,GAShE6iB,EAAS,OAAOC,KAAK9iB,GDEhC,SAAS/f,IACP,GAA+B,qBAApB2iC,EAAiC,OAAOA,EAInD,IAAIK,EAAqBljB,WAAaA,UAAUC,WAAaD,UAAUC,UAAUkjB,SAAS,SACtFC,EAAkCxxB,OAAOoxB,KAAOpxB,OAAOoxB,IAAIC,UAAYrxB,OAAOoxB,IAAIC,SAAS,QAAS,kBACxG,OAAOJ,EAAkBphC,MAAcqhC,IACvCM,GAAmCF,GA1CrC,mC,iCEyBIL,E,SCFA5iB,EAAiC,qBAAdD,WAA6BA,UAAUC,WAAa,GAShE6iB,EAAS,OAAOC,KAAK9iB,GDEhC,SAAS/f,IACP,GAA+B,qBAApB2iC,EAAiC,OAAOA,EAInD,IAAIK,EAAqBljB,WAAaA,UAAUC,WAAaD,UAAUC,UAAUkjB,SAAS,SACtFC,EAAkCxxB,OAAOoxB,KAAOpxB,OAAOoxB,IAAIC,UAAYrxB,OAAOoxB,IAAIC,SAAS,QAAS,kBACxG,OAAOJ,EAAkBphC,MAAcqhC,IACvCM,GAAmCF,GA1CrC,mC,6BEAe,SAAShpC,EAAgBlB,EAAGmB,GAMzC,OALAD,EAAkB5C,OAAO2B,gBAAkB,SAAyBD,EAAGmB,GAErE,OADAnB,EAAEG,UAAYgB,EACPnB,IAGcA,EAAGmB,GAN5B,mC,6BCAe,SAASkpC,EAAehpC,EAAUC,GAC/CD,EAASb,UAAYlC,OAAOiD,OAAOD,EAAWd,WAC9Ca,EAASb,UAAUD,YAAcc,EACjCA,EAASlB,UAAYmB,E,gFCGnBgpC,EAAwB,WAsK5B,IAEehnB,EAFHnhB,IAAM6T,eAjIlB,SAA4Bu0B,EAAcC,GACxC,IAAIC,EAAuBC,EAEvBC,EAAc,0BAA4BC,MAAQ,KAElD9yB,EAEJ,SAAUzM,GAGR,SAASyM,IACP,IAAI9N,EAIJ,OAFAA,EAAQqB,EAAWhM,MAAM+H,KAAM3H,YAAc2H,MACvCyjC,QAzCZ,SAA4BxsC,GAC1B,IAAIysC,EAAW,GACf,MAAO,CACLC,GAAI,SAAYC,GACdF,EAAS1rC,KAAK4rC,IAEhBC,IAAK,SAAaD,GAChBF,EAAWA,EAAS7rC,QAAO,SAAU0zB,GACnC,OAAOA,IAAMqY,MAGjBhgC,IAAK,WACH,OAAO3M,GAET6sC,IAAK,SAAaC,EAAUC,GAC1B/sC,EAAQ8sC,EACRL,EAASlrC,SAAQ,SAAUorC,GACzB,OAAOA,EAAQ3sC,EAAO+sC,QAwBRC,CAAmBrhC,EAAMvI,MAAMpD,OACxC2L,EAPTqgC,IAAevyB,EAAUzM,GAUzB,IAAIyL,EAASgB,EAAStX,UAoCtB,OAlCAsW,EAAOw0B,gBAAkB,WACvB,IAAI38B,EAEJ,OAAOA,EAAO,IAASg8B,GAAevjC,KAAKyjC,QAASl8B,GAGtDmI,EAAOy0B,0BAA4B,SAAmChhC,GACpE,GAAInD,KAAK3F,MAAMpD,QAAUkM,EAAUlM,MAAO,CACxC,IAEI+sC,EAFAI,EAAWpkC,KAAK3F,MAAMpD,MACtB8sC,EAAW5gC,EAAUlM,QAhEfoF,EAmEG+nC,MAnEA9nC,EAmEUynC,GAjEd,IAAN1nC,GAAW,EAAIA,IAAM,EAAIC,EAEzBD,IAAMA,GAAKC,IAAMA,GAgElB0nC,EAAc,GAEdA,EAA8C,oBAAzBZ,EAAsCA,EAAqBgB,EAAUL,GAAYb,EAQlF,KAFpBc,GAAe,IAGbhkC,KAAKyjC,QAAQK,IAAI3gC,EAAUlM,MAAO+sC,IA/E9C,IAAkB3nC,EAAGC,GAqFjBoT,EAAO20B,OAAS,WACd,OAAOrkC,KAAK3F,MAAMmD,UAGbkT,EA/CT,CAgDEtM,aAEFsM,EAASnM,oBAAqB8+B,EAAwB,IAA0BE,GAAehoC,IAAU/D,OAAO4Z,WAAYiyB,GAE5H,IAAIvvB,EAEJ,SAAUwwB,GAGR,SAASxwB,IACP,IAAIywB,EAiBJ,OAfAA,EAASD,EAAYrsC,MAAM+H,KAAM3H,YAAc2H,MACxCsD,MAAQ,CACbrM,MAAOstC,EAAOC,YAGhBD,EAAOE,SAAW,SAAUV,EAAUC,GAGC,MAFI,EAAtBO,EAAOG,cAENV,IAClBO,EAAOzjB,SAAS,CACd7pB,MAAOstC,EAAOC,cAKbD,EApBTtB,IAAenvB,EAAUwwB,GAuBzB,IAAIK,EAAU7wB,EAAS1a,UAkCvB,OAhCAurC,EAAQR,0BAA4B,SAAmChhC,GACrE,IAAIuhC,EAAevhC,EAAUuhC,aAC7B1kC,KAAK0kC,kBAAgCz3B,IAAjBy3B,GAA+C,OAAjBA,EAAwBxB,EAAwBwB,GAGpGC,EAAQC,kBAAoB,WACtB5kC,KAAKpE,QAAQ2nC,IACfvjC,KAAKpE,QAAQ2nC,GAAaI,GAAG3jC,KAAKykC,UAGpC,IAAIC,EAAe1kC,KAAK3F,MAAMqqC,aAC9B1kC,KAAK0kC,kBAAgCz3B,IAAjBy3B,GAA+C,OAAjBA,EAAwBxB,EAAwBwB,GAGpGC,EAAQE,qBAAuB,WACzB7kC,KAAKpE,QAAQ2nC,IACfvjC,KAAKpE,QAAQ2nC,GAAaM,IAAI7jC,KAAKykC,WAIvCE,EAAQH,SAAW,WACjB,OAAIxkC,KAAKpE,QAAQ2nC,GACRvjC,KAAKpE,QAAQ2nC,GAAa3/B,MAE1Bu/B,GAIXwB,EAAQN,OAAS,WACf,OAxHa7mC,EAwHIwC,KAAK3F,MAAMmD,SAvHzBtC,MAAMC,QAAQqC,GAAYA,EAAS,GAAKA,GAuHLwC,KAAKsD,MAAMrM,OAxHvD,IAAmBuG,GA2HRsW,EA1DT,CA2DE1P,aAGF,OADA0P,EAASjQ,eAAgBy/B,EAAwB,IAA0BC,GAAehoC,IAAU/D,OAAQ8rC,GACrG,CACL5yB,SAAUA,EACVoD,SAAUA,I,8JCrKd,IAOMlY,EAPqB,SAAAmG,G,IACnBnG,EAAUgT,I,OAChBhT,gBAEA,EAG4BkpC,CAA9B,UCDMC,E,uBAKJ,G,2BACE,UAEA,MAAa,CACXz8B,SAAUjO,UAAciO,U,EAQ1B,c,EACA,sBAEKjO,EAAL,gB,EACE,SAAgBA,EAAA,gBAAqB,SAAAiO,GAC/B,EAAJ,W,EACE,SAAc,CAAEA,a,EAEhB,uB,WAxBD08B,iBAAP,Y,MACS,CAAEvnB,KAAF,IAAawnB,IAAb,IAAuBC,OAAvB,GAAmCC,QAAsB,MAAbrpB,I,2BA6BrD8oB,6B,KACE,cAEI5kC,KAAJ,kB,KACE,SAAc,CAAEsI,SAAUtI,KAAKolC,oB,EAInCP,gCACM7kC,KAAJ,UAAmBA,KAAK+iB,Y,EAG1BshB,kB,OAEI,kBAACgB,EAAD,UACE7nC,SAAUwC,KAAK3F,MAAMmD,UADvB,KAEEvG,MAAO,CACLsoB,QAASvf,KAAK3F,MADT,QAELiO,SAAUtI,KAAKsD,MAFV,SAGL9E,MAAOumC,mBAAwB/kC,KAAKsD,MAAMgF,SAHrC,UAILg9B,cAAetlC,KAAK3F,MAAMirC,kB,GAnDfvqC,IAAMqJ,WCCArJ,IAAMqJ,UCRTrJ,IAAMqJ,UCA9B,IAAMmhC,EAAN,GACMC,EAAN,IACIC,EAAJ,EAuBA,SAASC,EAAU5pB,EAAU/F,QAAc,IAAdA,MAAU,KACd,kBAAZA,GAAwB7a,cAAnC,MACE6a,EAAU,CAAE0H,KAAM1H,I,MAFqB,EAKjC0H,EALiC,O,IAAA,MAK3BkoB,OAL2B,S,IAAA,OAKZC,OALY,S,IAAA,UAKIC,OALJ,S,MAO3B,GAAGhpC,OAAjB,GAEO,QAAa,c,IACb4gB,GAAL,KAAaA,EAAa,OAAO,K,GACjC,EAAa,OAAOqoB,E,MAhCxB,c,IACQC,EAAW,GAAGhwB,EAAN,IAAoBA,EAApB,OAAqCA,EAAnD,UACMiwB,EAAYT,OAAoBA,KAAtC,I,GAEIS,EAAJ,GAAqB,OAAOA,EAAP,G,IAEftuC,EAAN,GAEMyR,EAAS,CAAE88B,OADFC,IAAazoB,EAAM/lB,EAAlC,GACyBA,Q,OAErB+tC,EAAJ,IACEO,OACAP,KAGF,EAmB2BU,CAAY1oB,EAAM,CACzCzP,IADyC,EAEzC43B,OAFyC,EAGzCC,cAHMI,EAJ6B,SAIrBvuC,EAJqB,OAS/B8G,EAAQynC,OAAd,G,IAEA,EAAY,OAAO,K,IAEZhB,EAAkBzmC,EAbY,GAatB6I,EAAU7I,EAbY,SAc/B2mC,EAAUrpB,IAAhB,E,OAEI6pB,IAAJ,EAA8B,KAEvB,CACLloB,KADK,EAELwnB,IAAKxnB,cAAgBwnB,EAAhBxnB,IAFA,EAGL0nB,QAHK,EAILD,OAAQxtC,EAAA,QAAY,gB,OAClBge,EAAK1e,EAAL0e,MAAiBrO,EAAjBqO,GACA,IAFM,OAtBZ,M,ICPI0wB,E,wFACJ/B,kB,kBAEI,kBAACgB,EAAD,eACG,YACC,mB,IAEM/8B,EAAW,kBAAuB1M,EAAxC,SACM4C,EAAQ,sBACV,QADU,cAEV,aACAknC,EAAUp9B,EAAD,SAAoB,EAD7B,OAEA1M,EAJJ,MAMMvB,EAAQ,OAAH,IAAG,CAAH,MAAiBiO,SAAjB,EAA2B9J,U,EAEA,EAZ5B,MAYJhB,EAZI,WAYM6oC,EAZN,YAYiBhC,EAZjB,S,OAgBNnpC,kBAAJ,IAA+BsC,WAC7BA,QAIA,kBAAC6nC,EAAD,UAAwBpuC,MAAOoD,GAC5BA,QACGmD,EACsB,oBAAbA,EAGHA,EAHJ,GADM,EAMN6oC,EACAtrC,oBADS,GAETspC,EACAA,EADM,GATXhqC,KAYuB,oBAAbmD,EAGLA,EAHF,GAdR,U,GAxBUzC,IAAMqJ,WCrB1B,SAASoZ,EAAgBC,G,MAChBA,oBAAgC,IAAvC,EAYF,SAASC,EAAc4C,EAAUhY,G,IAC/B,EAAe,OAAOA,E,IAEhByB,EAAOyT,EAAb,G,OAEA,IAAIlV,sBAA8CA,E,eAElD,GAEEwT,SAAUxT,kBAAyByB,EAAzBzB,UAId,SAASg+B,EAAUh+B,G,MACU,kBAAbA,EAAwBA,EAAWuV,YAAjD,GAGF,SAAS0oB,EAAcn0B,G,OACd,WACLc,iBAIJ,SAASszB,KAQkBzrC,IAAMqJ,UCzCZrJ,IAAMqJ,UCLRrJ,IAAnB,Y,6BCEe0rC,ICNXC,EAAkB,23HAElBxqB,EDJJ,SAAiB6C,GACf,IAAIwmB,EAAQ,GACZ,OAAO,SAAU97B,GAEf,YADmBwD,IAAfs4B,EAAM97B,KAAoB87B,EAAM97B,GAAOsV,EAAGtV,IACvC87B,EAAM97B,ICALg9B,EAAQ,SAAU/lC,GAC5B,OAAOgmC,EAAgB/D,KAAKjiC,IAAgC,MAAvBA,EAAKsgC,WAAW,IAE3B,MAAvBtgC,EAAKsgC,WAAW,IAEhBtgC,EAAKsgC,WAAW,GAAK,MAKX9kB,O,6BCAftlB,EAAQ+vC,MAkCR,SAAetgC,EAAK0P,GAClB,GAAmB,kBAAR1P,EACT,MAAM,IAAIxM,UAAU,iCAQtB,IALA,IAAI9C,EAAM,GACN6vC,EAAM7wB,GAAW,GACjB8wB,EAAQxgC,EAAIpI,MAAM6oC,GAClBC,EAAMH,EAAII,QAAUA,EAEf5uC,EAAI,EAAGA,EAAIyuC,EAAMvuC,OAAQF,IAAK,CACrC,IAAI6uC,EAAOJ,EAAMzuC,GACb8uC,EAASD,EAAKtmC,QAAQ,KAG1B,KAAIumC,EAAS,GAAb,CAIA,IAAIlwC,EAAMiwC,EAAKhqB,OAAO,EAAGiqB,GAAQ5oC,OAC7B2+B,EAAMgK,EAAKhqB,SAASiqB,EAAQD,EAAK3uC,QAAQgG,OAGzC,KAAO2+B,EAAI,KACbA,EAAMA,EAAI3sB,MAAM,GAAI,SAIlBrD,GAAalW,EAAIC,KACnBD,EAAIC,GAAOmwC,EAAUlK,EAAK8J,KAI9B,OAAOhwC,GAlETH,EAAQwwC,UAqFR,SAAmBrlC,EAAMk7B,EAAKlnB,GAC5B,IAAI6wB,EAAM7wB,GAAW,GACjBsxB,EAAMT,EAAIU,QAAUA,EAExB,GAAmB,oBAARD,EACT,MAAM,IAAIxtC,UAAU,4BAGtB,IAAK0tC,EAAmB5E,KAAK5gC,GAC3B,MAAM,IAAIlI,UAAU,4BAGtB,IAAI5C,EAAQowC,EAAIpK,GAEhB,GAAIhmC,IAAUswC,EAAmB5E,KAAK1rC,GACpC,MAAM,IAAI4C,UAAU,2BAGtB,IAAIwM,EAAMtE,EAAO,IAAM9K,EAEvB,GAAI,MAAQ2vC,EAAIY,OAAQ,CACtB,IAAIA,EAASZ,EAAIY,OAAS,EAC1B,GAAI7K,MAAM6K,GAAS,MAAM,IAAIh/B,MAAM,6BACnCnC,GAAO,aAAesa,KAAK0L,MAAMmb,GAGnC,GAAIZ,EAAIa,OAAQ,CACd,IAAKF,EAAmB5E,KAAKiE,EAAIa,QAC/B,MAAM,IAAI5tC,UAAU,4BAGtBwM,GAAO,YAAcugC,EAAIa,OAG3B,GAAIb,EAAInpB,KAAM,CACZ,IAAK8pB,EAAmB5E,KAAKiE,EAAInpB,MAC/B,MAAM,IAAI5jB,UAAU,0BAGtBwM,GAAO,UAAYugC,EAAInpB,KAGzB,GAAImpB,EAAIc,QAAS,CACf,GAAuC,oBAA5Bd,EAAIc,QAAQC,YACrB,MAAM,IAAI9tC,UAAU,6BAGtBwM,GAAO,aAAeugC,EAAIc,QAAQC,cAGhCf,EAAIgB,WACNvhC,GAAO,cAGLugC,EAAIiB,SACNxhC,GAAO,YAGT,GAAIugC,EAAIkB,SAAU,CAIhB,OAHuC,kBAAjBlB,EAAIkB,SACtBlB,EAAIkB,SAAS/qC,cAAgB6pC,EAAIkB,UAGnC,KAAK,EACHzhC,GAAO,oBACP,MACF,IAAK,MACHA,GAAO,iBACP,MACF,IAAK,SACHA,GAAO,oBACP,MACF,IAAK,OACHA,GAAO,kBACP,MACF,QACE,MAAM,IAAIxM,UAAU,+BAI1B,OAAOwM,GA9JT,IAAI2gC,EAASe,mBACTT,EAASU,mBACTlB,EAAkB,MAUlBS,EAAqB,wCA6JzB,SAASJ,EAAU9gC,EAAK2gC,GACtB,IACE,OAAOA,EAAO3gC,GACd,MAAOiP,GACP,OAAOjP,K,iCC1LM4hC,EAAQC,EAASvvB,E,4ICgBnB,SAASwvB,EAAU5gC,GAChC,IAAIs4B,EAASt4B,EAAKs4B,OAClB,MAAO,CACLuI,oBAAqBvI,EAAOwI,aAC5BC,aAAczI,EAAO0I,YACrBC,eAAgB3I,EAAO4I,SACvBC,sBAAuB7I,EAAO8I,UAC9BC,aAAc/I,EAAOgJ,YACrBC,WAAYjJ,EAAOkJ,UACnBC,WAAYnJ,EAAOoJ,WACnBC,WAAYrJ,EAAOsJ,UACnBC,aAAcvJ,EAAOwJ,aAIzBlB,EAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACLooC,aAAcpoC,EAAU,4BACxB4oC,WAAY5oC,EAAU,sBDF1B,IAAIM,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,4JAA4JoB,OAAOpB,EAAM6sC,cAAgB,UAAW,2BAA2BzrC,OAAOpB,EAAM+sC,gBAAkB,UAAW,2BAA2B3rC,OAAOpB,EAAM2sC,qBAAuB,UAAW,2BAA2BvrC,OAAOpB,EAAMitC,uBAAyB,UAAW,2BAA2B7rC,OAAOpB,EAAM2tC,cAAgB,UAAW,2BAA2BvsC,OAAOpB,EAAMqtC,YAAc,UAAW,2BAA2BjsC,OAAOpB,EAAMmtC,cAAgB,UAAW,2BAA2B/rC,OAAOpB,EAAMutC,YAAc,UAAW,2BAA2BnsC,OAAOpB,EAAMytC,YAAc,UAAW,MAEjvB,KAAQ,aACR,OAAU,aACV,MAAS,aACT,iBAAkB,aAClB,iBAAkB,aAClB,mBAAoB,aACpB,yBAA0B,aAC1B,2BAA4B,aAC5B,iBAAkB,aAClB,eAAgB,aAChB,iBAAkB,aAClB,eAAgB,aAChB,eAAgB,cASdK,EAAoBC,aAA8CC,CAAKxB,EAA/BvmC,YAAUjG,EAAO+E,EAAuBkpC,EAAgB/wB,EAAQuvB,EAE5G,SAAUjkC,GAGR,SAASslC,IACP,IAAI3mC,EAOJ,OALAlJ,YAAgBsG,KAAMupC,IAEtB3mC,EAAQtJ,YAA2B0G,KAAMrH,YAAgB4wC,GAAW/vC,KAAKwG,QACnE2pC,QAAU1nC,YAAI,mBACpBW,EAAMgnC,OAAS3nC,YAAI,kBACZW,EA8FT,OAxGA5I,YAAUuvC,EAAWtlC,GAarB1J,YAAagvC,EAAW,CAAC,CACvBvyC,IAAK,cACLC,MAAO,WACL,IAAIoqC,EAAQrhC,KAAK3F,MAAMgnC,MACvB,OAAOA,EAAQtmC,IAAMC,cAAc,QAAS,CAC1CoC,GAAI4C,KAAK2pC,SACRtI,GAAS,OAEb,CACDrqC,IAAK,aACLC,MAAO,SAAoB+S,GACzB,OAAOA,EAAOjP,IAAMC,cAAc,OAAQ,CACxCoC,GAAI4C,KAAK4pC,QACR5/B,GAAQ,OAEZ,CACDhT,IAAK,gBACLC,MAAO,WACL,GAAI+I,KAAK3F,MAAMwvC,IAAK,CAClB,IAAIA,EAAMN,EAAUO,WAAW9pC,KAAK3F,MAAMwvC,KAC1C,OAAO9uC,IAAMC,cAAc,IAAK,CAC9B+uC,KAAM,eACNC,wBAAyB,CACvBC,OAAQJ,KAKZ,OAAO9uC,IAAMC,cAAc,IAAK,CAC9B+uC,KAAM,gBACL/pC,KAAK3F,MAAMmD,YAGjB,CACDxG,IAAK,SACLC,MAAO,WACL,IAAIizC,EAEAC,EAAcnqC,KAAK3F,MACnBoG,EAAQ0pC,EAAY1pC,MACpB2pC,EAAQD,EAAYC,MACpBC,EAASF,EAAYE,OACrBhJ,EAAQ8I,EAAY9I,MACpBQ,EAAcsI,EAAYtI,YAC1ByI,EAAYH,EAAYG,UAGxB5f,GAFWyf,EAAY3sC,SACjB2sC,EAAYN,IACVM,EAAYzf,OACpBrwB,EAAQ+R,YAAyB+9B,EAAa,CAAC,QAAS,QAAS,SAAU,QAAS,cAAe,YAAa,WAAY,MAAO,UAEvI,OAAOpvC,IAAMC,cAAc,MAAO9D,OAAOoL,OAAO,GAoEtD,SAAyBunC,GACvB,IAAIU,EAAa,GAEbC,EAAuB,uDAE3B,GAAmB,kBAARX,EAMT,IALA,IAAIY,EAJoB,qBAIoBrf,KAAKye,GAC7Ca,EAAmBD,EAAoBA,EAAkB,GAAK,GAC9DE,EAAW,CAAC,QAAS,cAAe,WACpCnsC,EAAQgsC,EAAqBpf,KAAKsf,GAEtB,MAATlsC,IAC+B,IAAhCmsC,EAAShqC,QAAQnC,EAAM,MACzB+rC,EAAW/rC,EAAM,IAAMA,EAAM,KAAOA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,KAAOA,EAAM,IAGrGA,EAAQgsC,EAAqBpf,KAAKsf,GAItC,OAAOH,EAxFiDK,CAAgB5qC,KAAK3F,MAAMwvC,KAAMgB,YAAU7qC,KAAK3F,MAAOkvC,EAAUzlC,UAAW,CAAC,WAAY,CAC3IrD,MAAO5C,YAAc,GAAI4C,EAAO,CAC9B2pC,MAAOA,EACPC,OAAQA,IAEVD,MAAOA,GAAS,MAChBC,OAAQA,GAAU,MAClB,cAAehJ,EAAQ,KAAO,OAC9B,kBAAmBrhC,KAAK8qC,WACxBf,KAAM/pC,KAAK+pC,KACXO,UAAWA,EAAY,OAAS,QAChCS,UAAWC,KAAYd,EAAc,GAAIpzC,YAAgBozC,EAAa1pC,EAAOyqC,MAAM,GAAOn0C,YAAgBozC,EAAa1pC,EAAO,UAAU3D,OAAO6tB,IAAmB,SAAVA,GAAmB5zB,YAAgBozC,EAAa1pC,EAAO0qC,OAAQlrC,KAAK3F,MAAM6wC,QAASp0C,YAAgBozC,EAAa1pC,EAAOoiB,OAAQ5iB,KAAK3F,MAAM6wC,QAASp0C,YAAgBozC,EAAa7vC,EAAM0wC,UAAW1wC,EAAM0wC,WAAYb,MACzWlqC,KAAKmrC,cAAenrC,KAAKorC,WAAWvJ,GAAc7hC,KAAKqrC,mBAE5D,CACDr0C,IAAK,OACL4M,IAAK,WACH,OAAI5D,KAAK3F,MAAMgnC,MACN,MAEA,iBAGV,CACDrqC,IAAK,aACL4M,IAAK,WACH,IAAI0nC,EAAM,GAUV,OARItrC,KAAK3F,MAAMgnC,OACbiK,EAAItzC,KAAKgI,KAAK2pC,SAGZ3pC,KAAK3F,MAAMwnC,aACbyJ,EAAItzC,KAAKgI,KAAK4pC,QAGT0B,EAAIhzC,OAAS,EAAIgzC,EAAIxsC,KAAK,KAAO,SAI5CyqC,EAAUznC,YAAc,YACjBynC,EAzGT,CA0GEnlC,aAAY8jC,EAAQpkC,UAAY,CAChCtG,SAAUjC,IAAUgC,KACpBssC,IAAKtuC,IAAUgwC,OACflK,MAAO9lC,IAAUgwC,OACjB1J,YAAatmC,IAAUgwC,OACvBjB,UAAW/uC,IAAU8I,KACrB+lC,MAAO7uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACxDpB,OAAQ9uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACzDP,OAAQ3vC,IAAU8I,KAClBqmB,MAAOnvB,IAAUsM,MAAM,CAAC,UAAW,UAAW,YAAa,kBAAmB,oBAAqB,UAAW,QAAS,QAAS,UAAW,QAAS,UACnJqgC,EAAQ5jC,aAAe,CACxBgmC,WAAW,EACXT,IAAK,GACLxI,MAAO,GACPQ,YAAa,GACbqJ,QAAQ,EACR1tC,SAAU,KACV4sC,WAAO,EACPC,YAAQ,EACR3f,MAAO,WACNwd,EAAQ4B,WAAa,SAAUD,GAChC,IACI6B,EADU,iCACQtgB,KAAKye,GAC3B,OAAO6B,EAAUA,EAAQ,GAAK7B,GAnI0D5B,EAoIvFtvB,KAAWsvB,IAAWA,EAyBVsB,IEvNEtB,EAAQC,EAASvvB,EATlC,kCAwCA,IAAInY,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,2eAA2eoB,OAAOpB,EAAMkwC,YAAc,UAAW,+BAA+B9uC,OAAOpB,EAAMmwC,WAAa,UAAW,+BAA+B/uC,OAAOpB,EAAMowC,YAAc,UAAW,+BAA+BhvC,OAAOpB,EAAMqwC,WAAa,UAAW,+BAA+BjvC,OAAOpB,EAAMswC,YAAc,UAAW,MAE5yB,KAAQ,aACR,aAAc,aACd,cAAe,aACf,cAAe,aACf,cAAiB,aACjB,gBAAiB,aACjB,cAAe,aACf,eAAgB,aAChB,cAAe,aACf,gBAAiB,cASfC,EAAkBxC,aAA8CC,CAAKxB,EAA/BvmC,aCxC3B,WACb,MAAO,CACLiqC,WAAY,WACZC,UAAW,OACXC,WAAY,OACZC,UAAW,OACXC,WAAY,WDkC2CvrC,EAAuBkpC,EAAgB/wB,EAAQuvB,EAE1G,SAAUjkC,GAGR,SAAS+nC,IAGP,OAFAtyC,YAAgBsG,KAAMgsC,GAEf1yC,YAA2B0G,KAAMrH,YAAgBqzC,GAAS/zC,MAAM+H,KAAM3H,YAuB/E,OA5BA2B,YAAUgyC,EAAS/nC,GAQnB1J,YAAayxC,EAAS,CAAC,CACrBh1C,IAAK,SACLC,MAAO,WACL,IAAIizC,EAEAC,EAAcnqC,KAAK3F,MACnB4xC,EAAS9B,EAAY8B,OACrBlB,EAAYZ,EAAYY,UACxB5iC,EAAOgiC,EAAYhiC,KACnB+jC,EAAgB/B,EAAY+B,cAC5B7xC,EAAQ+R,YAAyB+9B,EAAa,CAAC,SAAU,YAAa,OAAQ,kBAElF,OAAOpvC,IAAMC,cAAcuuC,EAAWryC,OAAOoL,OAAO,GAAIjI,EAAO,CAC7D4xC,OAAQA,EACRlB,UAAWC,KAAYd,EAAc,GAAIpzC,YAAgBozC,EAAa1pC,EAAOyqC,MAAM,GAAOn0C,YAAgBozC,EAAa1pC,EAAO,WAAW3D,OAAOovC,IAAUA,GAAqB,MAAXA,GAAiBn1C,YAAgBozC,EAAa1pC,EAAO,SAAS3D,OAAOsL,IAAQA,GAAOrR,YAAgBozC,EAAa1pC,EAAO0rC,cAAeA,GAAgBp1C,YAAgBozC,EAAaa,EAAWA,GAAYb,WAKrX8B,EAAQlqC,YAAc,UACfkqC,EA7BT,CA8BE5nC,aAAY8jC,EAAQpkC,UAAYjG,YAAc,GAAI0rC,EAAUzlC,UAAW,CACvEmoC,OAAQ1wC,IAAUsM,MAAM,CAAC,IAAK,KAAM,MAAO,QAC3CM,KAAM5M,IAAUsM,MAAM,CAAC,UAAW,QAAS,SAAU,QAAS,YAC9DqkC,cAAe3wC,IAAU8I,OACvB6jC,EAAQ5jC,aAAe,CACzB2nC,OAAQ,IACRC,eAAe,EACf/jC,UAAM,GAvCgF8/B,EAwCrFtvB,KAAWsvB,IAAWA,G,6BEpEzB,SAAS3F,EAAsB7lC,EAASyD,GACtC,IAAIwrC,EAcN,SAAoBrlC,EAAK8lC,GACvB,IACI3tC,EADAktC,EAAU,GAEVU,EAAUD,EACdC,EAAQC,UAAY,EACpBD,EAAU,IAAIlxB,OAAOkxB,EAAQ7zC,OAAQ,KAErC,KAAuC,QAA/BiG,EAAQ4tC,EAAQhhB,KAAK/kB,KAC3BqlC,EAAQ1zC,KAAKwG,GAET4tC,EAAQC,YAAc7tC,EAAM0d,OAC9BkwB,EAAQC,YAIZ,OAAOX,EA7BOY,CAAW7vC,EAAS,iCAC9B0M,EAAS1M,EAEb,GAAIivC,EAAQpzC,OAAS,EAAG,CACtB,IAAI2O,EAA4B,oBAAd/G,EAA2BA,IAAcA,EAC3DwrC,EAAQlzC,SAAQ,SAAUgG,GACxB,IAAI4tC,EAAU,IAAIlxB,OAAO1c,EAAM,GAAGD,QAAQ,sBAAuB,QAAS,MAC1E4K,EAASA,EAAO5K,QAAQ6tC,EAASnlC,EAAKzI,EAAM,QAIhD,OAAO2K,EA/CT,mC,6BCmCA,SAASm5B,EAAsB7lC,EAASyD,GACtC,IAAIwrC,EAcN,SAAoBrlC,EAAK8lC,GACvB,IACI3tC,EADAktC,EAAU,GAEVU,EAAUD,EACdC,EAAQC,UAAY,EACpBD,EAAU,IAAIlxB,OAAOkxB,EAAQ7zC,OAAQ,KAErC,KAAuC,QAA/BiG,EAAQ4tC,EAAQhhB,KAAK/kB,KAC3BqlC,EAAQ1zC,KAAKwG,GAET4tC,EAAQC,YAAc7tC,EAAM0d,OAC9BkwB,EAAQC,YAIZ,OAAOX,EA7BOY,CAAW7vC,EAAS,iCAC9B0M,EAAS1M,EAEb,GAAIivC,EAAQpzC,OAAS,EAAG,CACtB,IAAI2O,EAA4B,oBAAd/G,EAA2BA,IAAcA,EAC3DwrC,EAAQlzC,SAAQ,SAAUgG,GACxB,IAAI4tC,EAAU,IAAIlxB,OAAO1c,EAAM,GAAGD,QAAQ,sBAAuB,QAAS,MAC1E4K,EAASA,EAAO5K,QAAQ6tC,EAASnlC,EAAKzI,EAAM,QAIhD,OAAO2K,EA/CT,mC,6BCmCA,SAASm5B,EAAsB7lC,EAASyD,GACtC,IAAIwrC,EAcN,SAAoBrlC,EAAK8lC,GACvB,IACI3tC,EADAktC,EAAU,GAEVU,EAAUD,EACdC,EAAQC,UAAY,EACpBD,EAAU,IAAIlxB,OAAOkxB,EAAQ7zC,OAAQ,KAErC,KAAuC,QAA/BiG,EAAQ4tC,EAAQhhB,KAAK/kB,KAC3BqlC,EAAQ1zC,KAAKwG,GAET4tC,EAAQC,YAAc7tC,EAAM0d,OAC9BkwB,EAAQC,YAIZ,OAAOX,EA7BOY,CAAW7vC,EAAS,iCAC9B0M,EAAS1M,EAEb,GAAIivC,EAAQpzC,OAAS,EAAG,CACtB,IAAI2O,EAA4B,oBAAd/G,EAA2BA,IAAcA,EAC3DwrC,EAAQlzC,SAAQ,SAAUgG,GACxB,IAAI4tC,EAAU,IAAIlxB,OAAO1c,EAAM,GAAGD,QAAQ,sBAAuB,QAAS,MAC1E4K,EAASA,EAAO5K,QAAQ6tC,EAASnlC,EAAKzI,EAAM,QAIhD,OAAO2K,EA/CT,mC,6BCmCA,SAASm5B,EAAsB7lC,EAASyD,GACtC,IAAIwrC,EAcN,SAAoBrlC,EAAK8lC,GACvB,IACI3tC,EADAktC,EAAU,GAEVU,EAAUD,EACdC,EAAQC,UAAY,EACpBD,EAAU,IAAIlxB,OAAOkxB,EAAQ7zC,OAAQ,KAErC,KAAuC,QAA/BiG,EAAQ4tC,EAAQhhB,KAAK/kB,KAC3BqlC,EAAQ1zC,KAAKwG,GAET4tC,EAAQC,YAAc7tC,EAAM0d,OAC9BkwB,EAAQC,YAIZ,OAAOX,EA7BOY,CAAW7vC,EAAS,iCAC9B0M,EAAS1M,EAEb,GAAIivC,EAAQpzC,OAAS,EAAG,CACtB,IAAI2O,EAA4B,oBAAd/G,EAA2BA,IAAcA,EAC3DwrC,EAAQlzC,SAAQ,SAAUgG,GACxB,IAAI4tC,EAAU,IAAIlxB,OAAO1c,EAAM,GAAGD,QAAQ,sBAAuB,QAAS,MAC1E4K,EAASA,EAAO5K,QAAQ6tC,EAASnlC,EAAKzI,EAAM,QAIhD,OAAO2K,EA/CT,mC,6BCMA,IAAIojC,EAAU11C,EAAQ,IAClB21C,EAAgB,CAChBjoC,mBAAmB,EACnBkoC,aAAa,EACb5oC,cAAc,EACdS,cAAc,EACdxC,aAAa,EACb4qC,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACR/oC,WAAW,EACXoJ,MAAM,GAGN4/B,EAAgB,CAChB/qC,MAAM,EACNzJ,QAAQ,EACRc,WAAW,EACX2zC,QAAQ,EACRC,QAAQ,EACR30C,WAAW,EACX40C,OAAO,GAWPC,EAAe,CACf,UAAY,EACZC,SAAS,EACT7oC,cAAc,EACdxC,aAAa,EACbgC,WAAW,EACXoJ,MAAM,GAGNkgC,EAAe,GAGnB,SAASC,EAAWhH,GAChB,OAAIkG,EAAQe,OAAOjH,GACR6G,EAEJE,EAAa/G,EAAS,WAAiBmG,EANlDY,EAAab,EAAQgB,YAlBK,CACtB,UAAY,EACZlJ,QAAQ,EACR//B,cAAc,EACdxC,aAAa,EACbgC,WAAW,GAsBf,IAAI3M,EAAiBD,OAAOC,eACxBq2C,EAAsBt2C,OAAOs2C,oBAC7B71C,EAAwBT,OAAOS,sBAC/BI,EAA2Bb,OAAOa,yBAClCe,EAAiB5B,OAAO4B,eACxB20C,EAAkBv2C,OAAOkC,UAuC7BzC,EAAOC,QArCP,SAAS82C,EAAqBC,EAAiBC,EAAiBC,GAC5D,GAA+B,kBAApBD,EAA8B,CAGrC,GAAIH,EAAiB,CACjB,IAAIK,EAAqBh1C,EAAe80C,GACpCE,GAAsBA,IAAuBL,GAC7CC,EAAqBC,EAAiBG,EAAoBD,GAIlE,IAAIn2C,EAAO81C,EAAoBI,GAE3Bj2C,IACAD,EAAOA,EAAKmF,OAAOlF,EAAsBi2C,KAM7C,IAHA,IAAIG,EAAgBV,EAAWM,GAC3BK,EAAgBX,EAAWO,GAEtBx1C,EAAI,EAAGA,EAAIV,EAAKY,SAAUF,EAAG,CAClC,IAAIpB,EAAMU,EAAKU,GACf,IAAK00C,EAAc91C,MAAU62C,IAAaA,EAAU72C,OAAWg3C,IAAiBA,EAAch3C,OAAW+2C,IAAiBA,EAAc/2C,IAAO,CAC3I,IAAIsD,EAAavC,EAAyB61C,EAAiB52C,GAC3D,IAEIG,EAAew2C,EAAiB32C,EAAKsD,GACvC,MAAOgb,MAIjB,OAAOq4B,EAGX,OAAOA,I,iCC3FX,IAAIh2C,EAAwBT,OAAOS,sBAC/BkE,EAAiB3E,OAAOkC,UAAUyC,eAClCoyC,EAAmB/2C,OAAOkC,UAAUmT,qBAExC,SAAS2hC,EAASjR,GACjB,GAAY,OAARA,QAAwBhwB,IAARgwB,EACnB,MAAM,IAAIpjC,UAAU,yDAGrB,OAAO3C,OAAO+lC,GA+CftmC,EAAOC,QA5CP,WACC,IACC,IAAKM,OAAOoL,OACX,OAAO,EAMR,IAAI6rC,EAAQ,IAAItoB,OAAO,OAEvB,GADAsoB,EAAM,GAAK,KACkC,MAAzCj3C,OAAOs2C,oBAAoBW,GAAO,GACrC,OAAO,EAKR,IADA,IAAIC,EAAQ,GACHh2C,EAAI,EAAGA,EAAI,GAAIA,IACvBg2C,EAAM,IAAMvoB,OAAOub,aAAahpC,IAAMA,EAKvC,GAAwB,eAHXlB,OAAOs2C,oBAAoBY,GAAOjwC,KAAI,SAAUie,GAC5D,OAAOgyB,EAAMhyB,MAEHtd,KAAK,IACf,OAAO,EAIR,IAAIuvC,EAAQ,GAIZ,MAHA,uBAAuBpwC,MAAM,IAAIzF,SAAQ,SAAU81C,GAClDD,EAAMC,GAAUA,KAGf,yBADEp3C,OAAOQ,KAAKR,OAAOoL,OAAO,GAAI+rC,IAAQvvC,KAAK,IAM9C,MAAO6N,GAER,OAAO,GAIQ4hC,GAAoBr3C,OAAOoL,OAAS,SAAUnK,EAAQI,GAKtE,IAJA,IAAI4T,EAEAvU,EADA2kB,EAAK2xB,EAAS/1C,GAGT2yB,EAAI,EAAGA,EAAIzyB,UAAUC,OAAQwyB,IAAK,CAG1C,IAAK,IAAI9zB,KAFTmV,EAAOjV,OAAOmB,UAAUyyB,IAGnBjvB,EAAerC,KAAK2S,EAAMnV,KAC7BulB,EAAGvlB,GAAOmV,EAAKnV,IAIjB,GAAIW,EAAuB,CAC1BC,EAAUD,EAAsBwU,GAChC,IAAK,IAAI/T,EAAI,EAAGA,EAAIR,EAAQU,OAAQF,IAC/B61C,EAAiBz0C,KAAK2S,EAAMvU,EAAQQ,MACvCmkB,EAAG3kB,EAAQQ,IAAM+T,EAAKvU,EAAQQ,MAMlC,OAAOmkB,I,6BCrFN5lB,EAAOC,QAAUC,EAAQ,M,6BCH3B,8CAkCA,SAAS0rC,EAA+BriC,EAAWE,GACjD,IAAIjC,EAAM,GAIV,OAHAjH,OAAOQ,KAAKwI,GAAa,IAAI1H,SAAQ,SAAU2pC,GAC7ChkC,EAAIgkC,GAAgB,OAAOtlC,OAAO0qB,YAAmB4a,EAAc/hC,GAAS,QAEvEjC,I,6BCvCT,8CAkCA,SAASokC,EAA+BriC,EAAWE,GACjD,IAAIjC,EAAM,GAIV,OAHAjH,OAAOQ,KAAKwI,GAAa,IAAI1H,SAAQ,SAAU2pC,GAC7ChkC,EAAIgkC,GAAgB,OAAOtlC,OAAO0qB,YAAmB4a,EAAc/hC,GAAS,QAEvEjC,I,6BCvCT,8CAkCA,SAASokC,EAA+BriC,EAAWE,GACjD,IAAIjC,EAAM,GAIV,OAHAjH,OAAOQ,KAAKwI,GAAa,IAAI1H,SAAQ,SAAU2pC,GAC7ChkC,EAAIgkC,GAAgB,OAAOtlC,OAAO0qB,YAAmB4a,EAAc/hC,GAAS,QAEvEjC,I,6BCvCT,8CAkCA,SAASokC,EAA+BriC,EAAWE,GACjD,IAAIjC,EAAM,GAIV,OAHAjH,OAAOQ,KAAKwI,GAAa,IAAI1H,SAAQ,SAAU2pC,GAC7ChkC,EAAIgkC,GAAgB,OAAOtlC,OAAO0qB,YAAmB4a,EAAc/hC,GAAS,QAEvEjC,I,yFCvCT,SAAS9E,EAAQtC,GAAwT,OAAtOsC,EAArD,oBAAXJ,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBnC,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXkC,QAAyBlC,EAAIoC,cAAgBF,QAAUlC,IAAQkC,OAAOG,UAAY,gBAAkBrC,IAAyBA,GAIxV,IAqEey3C,EArEO,SAAyBC,GAC7C,IAAIC,EAAQD,EAAUC,MAClBC,EAAOF,EAAUE,KAMjBC,EAAY,SAAmBtrC,GACjC,IAL+BrM,EAK3B43C,EAASF,EAAKD,EAAMprC,EAAO,CAAC,YAEhC,GANgB,OADerM,EAOjB43C,IAN6B,WAAnBx1C,EAAQpC,KAAuBy3C,EAAMz3C,EAAO,CAAC,eAAgBy3C,EAAMz3C,EAAO,CAAC,WAOjG,KAAM,iFAGR,OAAO43C,GAGLC,EAAc,SAAqBxrC,GACrC,OAAOqrC,EAAKD,EAAME,EAAUtrC,GAAQ,CAAC,eAwCvC,MAAO,CACLwrC,YAAaA,EACbC,UAvCc,SAAmBzrC,GACjC,OAAOqrC,EAAKD,EAAME,EAAUtrC,GAAQ,CAAC,aAuCrCsrC,UAAWA,EACXI,UArCc,SAAmB1rC,GACjC,OAAOqrC,EAAKD,EAAME,EAAUtrC,GAAQ,CAAC,WAAY,aAqCjD2rC,QAlCY,SAAiB3rC,GAC7B,OAAOqrC,EAAKD,EAAME,EAAUtrC,GAAQ,CAAC,WAAY,WAkCjD4rC,oBA5BwB,SAA6BzxB,GACrD,IAAI0xB,EAAe,KACfC,EAAY,KAChB,OAAO,SAAU9rC,GACf,IACIwY,GADOgzB,EAAYxrC,IAAU,IACbwY,SAEpB,GAAIA,IAAaqzB,EACf,OAAOC,EAGTD,EAAerzB,EACf,IAAItd,EAAQknC,YAAU5pB,EAAU2B,GAMhC,OAJKjf,GAAU4wC,GAAa5wC,EAAMymC,MAAQmK,EAAUnK,MAClDmK,EAAY5wC,GAGP4wC,MC3Db,SAAS/1C,EAAQtC,GAAwT,OAAtOsC,EAArD,oBAAXJ,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBnC,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXkC,QAAyBlC,EAAIoC,cAAgBF,QAAUlC,IAAQkC,OAAOG,UAAY,gBAAkBrC,IAAyBA,GAExV,SAASyV,IAA2Q,OAA9PA,EAAWtV,OAAOoL,QAAU,SAAUnK,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAIpB,KAAOuB,EAAcrB,OAAOkC,UAAUyC,eAAerC,KAAKjB,EAAQvB,KAAQmB,EAAOnB,GAAOuB,EAAOvB,IAAY,OAAOmB,IAA2BF,MAAM+H,KAAM3H,WAIhT,SAAS+B,EAAkBjC,EAAQkC,GAAS,IAAK,IAAIjC,EAAI,EAAGA,EAAIiC,EAAM/B,OAAQF,IAAK,CAAE,IAAIkC,EAAaD,EAAMjC,GAAIkC,EAAWlD,WAAakD,EAAWlD,aAAc,EAAOkD,EAAWjD,cAAe,EAAU,UAAWiD,IAAYA,EAAWhD,UAAW,GAAMJ,OAAOC,eAAegB,EAAQmC,EAAWtD,IAAKsD,IAI7S,SAAShB,EAA2BC,EAAMC,GAAQ,OAAIA,GAA2B,WAAlBH,EAAQG,IAAsC,oBAATA,EAEpG,SAAgCD,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIqT,eAAe,6DAAgE,OAAOrT,EAFb8tB,CAAuB9tB,GAAtCC,EAInI,SAASb,EAAgBC,GAAwJ,OAAnJD,EAAkBzB,OAAO2B,eAAiB3B,OAAO4B,eAAiB,SAAyBF,GAAK,OAAOA,EAAEG,WAAa7B,OAAO4B,eAAeF,KAA8BA,GAIxM,SAASkB,EAAgBlB,EAAGmB,GAA+G,OAA1GD,EAAkB5C,OAAO2B,gBAAkB,SAAyBD,EAAGmB,GAAsB,OAAjBnB,EAAEG,UAAYgB,EAAUnB,IAA6BA,EAAGmB,GASrK,IAyIes1C,EAzIa,SAA+BZ,GACzD,IACIK,EADmBN,EAAgBC,GACJK,YAS/BQ,EAEJ,SAAUC,GAGR,SAASD,EAAgBj1C,GACvB,IAAIuI,GAxCV,SAAyBjJ,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA0C1GH,CAAgBsG,KAAMsvC,GAEtB1sC,EAAQtJ,EAA2B0G,KAAMrH,EAAgB22C,GAAiB91C,KAAKwG,KAAM3F,IACrF,IAAI+U,EAAQ/U,EAAM+U,MACdmQ,EAAUllB,EAAMklB,QAChBzS,EAAoBzS,EAAMyS,kBAC9BlK,EAAM4sC,kBAAmB,EAEzB5sC,EAAM0M,YAAcF,EAAMU,WAAU,WAElC,IAAI2/B,EAAeX,EAAY1/B,EAAM2B,YACjC2+B,EAAkBD,EAAa3zB,SAC/B6zB,EAAgBF,EAAa3xB,OAC7B8xB,EAAcH,EAAa1xB,KAG3B8xB,EAAoBtwB,EAAQjX,SAC5BwnC,EAAoBD,EAAkB/zB,SACtCi0B,EAAkBF,EAAkB/xB,OACpCkyB,EAAgBH,EAAkB9xB,KAET,SAAzB1jB,EAAMklB,QAAQxS,QAAsB+iC,IAAsBJ,GAAmBK,IAAoBJ,GAAiBK,IAAkBJ,IACtIhtC,EAAM4sC,kBAAmB,EAEzBjwB,EAAQvnB,KAAK,CACX8jB,SAAU4zB,EACV5xB,OAAQ6xB,EACR5xB,KAAM6xB,QAKZ,IAAIK,EAAuB,SAA8B3nC,EAAUyE,GACjE,IAAIC,EAAmB3U,UAAUC,OAAS,QAAsB2U,IAAjB5U,UAAU,IAAmBA,UAAU,GAGjFuK,EAAM4sC,iBAGT5sC,EAAM4sC,kBAAmB,EAFzB1iC,EAAkBxE,EAAUyE,EAAQC,IAYxC,OALApK,EAAMmgB,SAAWxD,EAAQuD,OAAOmtB,GAIhCA,EAAqB1wB,EAAQjX,SAAUiX,EAAQxS,QAAQ,GAChDnK,EAvFb,IAAsBhJ,EAAaY,EAAYC,EA4G3C,OApGJ,SAAmBR,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,sDAAyDI,EAASb,UAAYlC,OAAOiD,OAAOD,GAAcA,EAAWd,UAAW,CAAED,YAAa,CAAElC,MAAOgD,EAAU3C,UAAU,EAAMD,cAAc,KAAe6C,GAAYJ,EAAgBG,EAAUC,GAyB/WF,CAAUs1C,EAAiBC,GAjCT31C,EA0FL01C,GA1FkB90C,EA0FD,CAAC,CAC7BxD,IAAK,uBACLC,MAAO,WACL+I,KAAK+iB,WACL/iB,KAAKsP,gBAEN,CACDtY,IAAK,SACLC,MAAO,WACL,IAAIkzC,EAAcnqC,KAAK3F,MACnBklB,EAAU4qB,EAAY5qB,QACtB/hB,EAAW2sC,EAAY3sC,SAC3B,OAAOzC,IAAMC,cAAc+pC,IAAQ,CACjCxlB,QAASA,GACR/hB,QAxGmEpD,EAAkBR,EAAYR,UAAWoB,GAAiBC,GAAaL,EAAkBR,EAAaa,GA4GzK60C,EA5ET,CA6EEY,iBAEFZ,EAAgBxrC,UAAY,CAC1BsL,MAAO7T,IAAU2V,MAAM,CACrBH,SAAUxV,IAAU4V,KAAKC,WACzBtB,UAAWvU,IAAU4V,KAAKC,aACzBA,WACHmO,QAAShkB,IAAU2V,MAAM,CACvBnE,OAAQxR,IAAUgwC,OAAOn6B,WACzB0R,OAAQvnB,IAAU4V,KAAKC,WACvB9I,SAAU/M,IAAU/D,OAAO4Z,WAC3BpZ,KAAMuD,IAAU4V,KAAKC,aACpBA,WACHkP,SAAU/kB,IAAUgwC,OACpB/tC,SAAUjC,IAAUiwC,UAAU,CAACjwC,IAAU4V,KAAM5V,IAAUgC,OACzDuP,kBAAmBvR,IAAU4V,KAAKC,YAGpC,IAQI++B,EAA6B,SAAoC91C,GACnE,IAAI4W,EAAU5W,EAAMuB,SAAW+S,IAE/B,GAAe,MAAXsC,EACF,KAAM,mCAGR,OAAOlW,IAAMC,cAAciW,EAAQ6C,SAAU,MAAM,SAAUvM,GAC3D,IAAI6H,EAAQ7H,EAAK6H,MACjB,OAAOrU,IAAMC,cAAcs0C,EAAiB9iC,EAAS,CACnD4C,MAAOA,GACN/U,QAOP,OAHA81C,EAA2BrsC,UAAY,CACrClI,QAASL,IAAU/D,QAEd44C,YAAQ,MA1BU,SAA4B/+B,GACnD,MAAO,CACLvE,kBAAmB,SAA2BxE,EAAUyE,EAAQC,GAC9D,OAAOqE,EAASg/B,YAAmB/nC,EAAUyE,EAAQC,QAuBpDojC,CAAkCD,ICjK3C,SAAS9mC,EAAe0C,EAAK3T,GAAK,OAMlC,SAAyB2T,GAAO,GAAI7Q,MAAMC,QAAQ4Q,GAAM,OAAOA,EANtBukC,CAAgBvkC,IAIzD,SAA+BA,EAAK3T,GAAK,IAAIijB,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKvO,EAAW,IAAM,IAAK,IAAiCwO,EAA7BC,EAAK3P,EAAI9S,OAAOC,cAAmBoiB,GAAMG,EAAKC,EAAGtL,QAAQuL,QAAoBN,EAAKrjB,KAAKyjB,EAAGxkB,QAAYmB,GAAKijB,EAAK/iB,SAAWF,GAA3DkjB,GAAK,IAAoE,MAAO3O,GAAO4O,GAAK,EAAMC,EAAK7O,EAAtL,QAAuM,IAAW2O,GAAsB,MAAhBI,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAIH,EAAI,MAAMC,GAAQ,OAAOH,EAJjVk1B,CAAsBxkC,EAAK3T,IAE5F,WAA8B,MAAM,IAAIyB,UAAU,wDAFgD22C,GAQlG,SAAS3yC,EAAc1F,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,GAAQb,EAAUL,OAAOQ,KAAKa,GAAqD,oBAAjCrB,OAAOS,wBAAwCJ,EAAUA,EAAQsF,OAAO3F,OAAOS,sBAAsBY,GAAQV,QAAO,SAAUC,GAAO,OAAOZ,OAAOa,yBAAyBQ,EAAQT,GAAKV,gBAAmBG,EAAQiB,SAAQ,SAAUxB,GAAOF,EAAgBqB,EAAQnB,EAAKuB,EAAOvB,OAAa,OAAOmB,EAExd,SAASrB,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAQ3M,IAAI05C,EAAc,SAAqBnoC,GACrC,IAAIooC,EAAcpoC,GAAYA,EAASwV,OAEvC,GAA2B,kBAAhB4yB,GAAmD,IAAvBA,EAAYp4C,OACjD,OAAOuF,EAAc,GAAIyK,EAAU,CACjCqoC,MAAO,KAKX,IAIIA,EAJSD,EAAYziC,UAAU,GAEdhQ,MAAM,KAEPiL,QAAO,SAAU0nC,EAAKC,GAExC,IACIC,EAAuBznC,EADDwnC,EAAa5yC,MAAM,KACkB,GAI/D,OAAOJ,EAAc,GAAI+yC,EAAK95C,EAAgB,GAH/Bg6C,EAAqB,GACnBA,EAAqB,OAGrC,IACH,OAAOjzC,EAAc,GAAIyK,EAAU,CACjCqoC,MAAOA,KA4CII,EAxCW,SAA6BtC,GACrD,IAAIuC,EAASvC,EAAUuC,OACnBC,EAAQxC,EAAUwC,MAmCtB,OAjC0B,SAA6B1xB,GACrD,IAAI2xB,EAAqBF,EAAO,CAC9B1oC,SAAUmoC,EAAYlxB,EAAQjX,UAC9ByE,OAAQwS,EAAQxS,SAOlB,OAAO,WACL,IAAIzJ,EAAQjL,UAAUC,OAAS,QAAsB2U,IAAjB5U,UAAU,GAAmBA,UAAU,GAAK64C,EAE5E3pC,EAAOlP,UAAUC,OAAS,QAAsB2U,IAAjB5U,UAAU,GAAmBA,UAAU,GAAK,GAC3E6U,EAAO3F,EAAK2F,KACZC,EAAU5F,EAAK4F,QAEnB,GAAID,IAASL,IAAiB,CAC5B,IAAIvE,EAAW6E,EAAQ7E,SACnByE,EAASI,EAAQJ,OACjBC,EAAmBG,EAAQH,iBAG/B,OAAOA,EAAmB1J,EAAQ2tC,EAAM3tC,EAAO,CAC7CgF,SAAU0oC,EAAOP,EAAYnoC,IAC7ByE,OAAQA,IAIZ,OAAOzJ,KC7Eb,SAASxM,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAG3M,IAYe03C,EAZC,CACduC,OAAQ,SAAgB/5C,GACtB,OAAOA,GAETy3C,MCRU,SAAeprC,EAAOma,GAChC,IAAKna,EACH,OAAOA,EAGT,IAAIhL,EAASmlB,EAAKnlB,OAElB,GAAKA,EAAL,CAMA,IAFA,IAAI6Q,EAAS7F,EAEJlL,EAAI,EAAGA,EAAIE,GAAY6Q,IAAU/Q,EACxC+Q,EAASA,EAAOsU,EAAKrlB,IAGvB,OAAO+Q,IDRP8nC,MAAO,SAAe3tC,EAAO6J,GAC3B,OAXJ,SAAuBhV,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,GAAQb,EAAUL,OAAOQ,KAAKa,GAAqD,oBAAjCrB,OAAOS,wBAAwCJ,EAAUA,EAAQsF,OAAO3F,OAAOS,sBAAsBY,GAAQV,QAAO,SAAUC,GAAO,OAAOZ,OAAOa,yBAAyBQ,EAAQT,GAAKV,gBAAmBG,EAAQiB,SAAQ,SAAUxB,GAAOF,EAAgBqB,EAAQnB,EAAKuB,EAAOvB,OAAa,OAAOmB,EAW7c0F,CAAc,GAAIyF,EAAO6J,IAElCwhC,KAAM,SAAc13C,GAClB,OAAOA,IEdX,oEAMO,IAAIq4C,EAEXD,EAAsB8B,GACXC,EAEXL,EAAoBI,GAEhBE,EAEJ7C,EAAgB2C,GACEE,EAAiBvC,YACnBuC,EAAiBtC,UACnBsC,EAAiBpC,QACfoC,EAAiBrC,UACPqC,EAAiBnC,qB,6BClB3Ch4C,OAAOC,eAAeP,EAAS,aAAc,CAAEK,OAAO,IAItD,IAF0Bq6C,EAEtBv2C,EAAQlE,EAAQ,GAChB06C,GAHsBD,EAGWv2C,IAHwB,kBAAPu2C,GAAoB,YAAaA,EAAMA,EAAE,QAAcA,EAOzGE,EAAK,IAFM36C,EAAQ,MAGnB46C,EAAUD,EAAGE,aAEbC,GADMH,EAAGI,SACAJ,EAAGK,aACZC,EAASN,EAAGO,YACZC,EAAKR,EAAGS,QACRtyB,EAAK6xB,EAAGU,QAERC,EAAc,SAAqBp4C,GACrC,IAAIiqB,EAAI3rB,UAAUC,OAAS,QAAsB2U,IAAjB5U,UAAU,GAAmBA,UAAU,GAAK,OAC5E,OAAO0B,GAAQiqB,GAEbouB,EAAuB,WACzB,QAAsB,qBAAX5gC,SACLA,OAAOoO,YAAaA,aACfpO,OAAOoO,WAAaA,YAM7ByyB,EAAe,SAAsBnlC,GACvC,IAAIolC,EAAMF,IACV,OAAOE,IAAQA,EAAIC,SAASxP,SAAS71B,IAA0B,aAAjBolC,EAAIC,UAA2BD,EAAIE,eAAiB,IAAMhhC,OAAOihC,WAGjH,SAASp5C,EAAQtC,GAWf,OATEsC,EADoB,oBAAXJ,QAAoD,kBAApBA,OAAOC,SACtC,SAAUnC,GAClB,cAAcA,GAGN,SAAUA,GAClB,OAAOA,GAAyB,oBAAXkC,QAAyBlC,EAAIoC,cAAgBF,QAAUlC,IAAQkC,OAAOG,UAAY,gBAAkBrC,IAI9GA,GASjB,SAASqD,EAAkBjC,EAAQkC,GACjC,IAAK,IAAIjC,EAAI,EAAGA,EAAIiC,EAAM/B,OAAQF,IAAK,CACrC,IAAIkC,EAAaD,EAAMjC,GACvBkC,EAAWlD,WAAakD,EAAWlD,aAAc,EACjDkD,EAAWjD,cAAe,EACtB,UAAWiD,IAAYA,EAAWhD,UAAW,GACjDJ,OAAOC,eAAegB,EAAQmC,EAAWtD,IAAKsD,IAUlD,SAASxD,EAAgBC,EAAKC,EAAKC,GAYjC,OAXID,KAAOD,EACTG,OAAOC,eAAeJ,EAAKC,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZP,EAAIC,GAAOC,EAGNF,EAGT,SAASyV,IAeP,OAdAA,EAAWtV,OAAOoL,QAAU,SAAUnK,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAIpB,KAAOuB,EACVrB,OAAOkC,UAAUyC,eAAerC,KAAKjB,EAAQvB,KAC/CmB,EAAOnB,GAAOuB,EAAOvB,IAK3B,OAAOmB,IAGOF,MAAM+H,KAAM3H,WAG9B,SAASd,EAAQC,EAAQC,GACvB,IAAIC,EAAOR,OAAOQ,KAAKF,GAEvB,GAAIN,OAAOS,sBAAuB,CAChC,IAAIC,EAAUV,OAAOS,sBAAsBH,GACvCC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GACrD,OAAOZ,OAAOa,yBAAyBP,EAAQM,GAAKV,eAEtDM,EAAKM,KAAKC,MAAMP,EAAME,GAGxB,OAAOF,EAsCT,SAASiB,EAAgBC,GAIvB,OAHAD,EAAkBzB,OAAO2B,eAAiB3B,OAAO4B,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAa7B,OAAO4B,eAAeF,KAEvBA,GAGzB,SAASkB,EAAgBlB,EAAGmB,GAM1B,OALAD,EAAkB5C,OAAO2B,gBAAkB,SAAyBD,EAAGmB,GAErE,OADAnB,EAAEG,UAAYgB,EACPnB,IAGcA,EAAGmB,GAG5B,SAASstB,EAAuB9tB,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIqT,eAAe,6DAG3B,OAAOrT,EAWT,IAAIm5C,EACM,SADNA,EAEM,SAFNA,EAGQ,UAHRA,EAIO,UAJPA,EAKQ,WALRA,OAMOzlC,EAEP0lC,EACM,SADNA,EAEO,UAFPA,EAGK,QAHLA,EAIM,SAJNA,EAKM,SALNA,EAMiB,oBANjBA,EAOI,OAPJA,EAQQ,WARRA,EASE,KATFA,EAUa,gBAEbC,EACG,MADHA,EAEO,UAFPA,EAGa,gBAEbC,EAAc,CAChBC,UAAU,EACVC,UAAU,EACV9qB,WAAW,EACX+qB,WAAW,EACXC,WAAW,EACXC,YAAY,GAsCVC,EAAa,SAAoBlrB,EAAWwpB,EAASK,EAAQE,EAAIryB,GACnE,MAAO,CACLsI,UAAWA,EACXmrB,oBAAqBjB,EAAYV,EAAQ4B,OACzCC,mBAAoBnB,EAAYV,EAAQ1oC,SACxCwqC,YAAapB,EAAYV,EAAQ1vC,MACjCyxC,WAAYrB,EAAYL,EAAO/vC,MAC/B0xC,cAAetB,EAAYL,EAAO/oC,SAClC2qC,OAAQvB,EAAYH,EAAGjwC,MACvB4xC,UAAWxB,EAAYH,EAAGjpC,SAC1B8W,UAAWsyB,EAAYxyB,KAGvBi0B,EAAgB,SAAuB1mC,EAAMykC,EAAQK,EAAIryB,GAC3D,OAtJF,SAAwBxnB,GACtB,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,GAE/CA,EAAI,EACNb,EAAQgB,GAAQ,GAAMC,SAAQ,SAAUxB,GACtCF,EAAgBqB,EAAQnB,EAAKuB,EAAOvB,OAE7BE,OAAOuB,0BAChBvB,OAAOwB,iBAAiBP,EAAQjB,OAAOuB,0BAA0BF,IAEjEhB,EAAQgB,GAAQC,SAAQ,SAAUxB,GAChCE,OAAOC,eAAegB,EAAQnB,EAAKE,OAAOa,yBAAyBQ,EAAQvB,OAKjF,OAAOmB,EAqIAD,CAAe,GAAIgV,EAAM,CAC9B2mC,OAAQ1B,EAAYR,EAAOkC,QAC3BC,MAAO3B,EAAYR,EAAOmC,OAC1B9B,GAAIG,EAAYH,EAAGjwC,MACnB4xC,UAAWxB,EAAYH,EAAGjpC,SAC1B4W,GAAIwyB,EAAYxyB,MAGhBo0B,EAAa,SAAoBf,EAAWlB,EAAQE,EAAIryB,GAC1D,MAAO,CACLqzB,UAAWA,EACXQ,WAAYrB,EAAYL,EAAO/vC,MAC/B0xC,cAAetB,EAAYL,EAAO/oC,SAClC2qC,OAAQvB,EAAYH,EAAGjwC,MACvB4xC,UAAWxB,EAAYH,EAAGjpC,SAC1B8W,UAAWsyB,EAAYxyB,KAGvBq0B,EAAiB,SAAwBf,EAAWnB,EAAQE,EAAIryB,GAClE,MAAO,CACLszB,UAAWA,EACXO,WAAYrB,EAAYL,EAAO/vC,MAC/B0xC,cAAetB,EAAYL,EAAO/oC,SAClC2qC,OAAQvB,EAAYH,EAAGjwC,MACvB4xC,UAAWxB,EAAYH,EAAGjpC,SAC1B8W,UAAWsyB,EAAYxyB,KAGvBs0B,EAAc,SAAqBf,EAAYpB,EAAQE,EAAIryB,GAC7D,MAAO,CACLuzB,WAAYA,EACZM,WAAYrB,EAAYL,EAAO/vC,MAC/B0xC,cAAetB,EAAYL,EAAO/oC,SAClC2qC,OAAQvB,EAAYH,EAAGjwC,MACvB4xC,UAAWxB,EAAYH,EAAGjpC,SAC1B8W,UAAWsyB,EAAYxyB,KAIvBzS,EAzFY,SAAmBA,GACjC,OAAQA,GACN,KAAKwlC,EACH,MAAO,CACLI,UAAU,GAGd,KAAKJ,EACH,MAAO,CACLK,UAAU,GAGd,KAAKL,EACH,MAAO,CACLM,WAAW,GAGf,KAAKN,EACH,MAAO,CACLO,WAAW,GAGf,KAAKP,EACH,MAAO,CACLQ,YAAY,GAGhB,KAAKR,EACH,MAAO,CACLzqB,WAAW,GAGf,QACE,OAAO4qB,GAwDFqB,CAAUvC,EAAOzkC,MAmC5B,IAsJI8lC,EAlIKrB,EAAOzkC,OAASwlC,EAmIrBO,EAvHKtB,EAAOzkC,OAASwlC,EAwHrBQ,EA5HKvB,EAAOzkC,OAASwlC,EA6HrByB,EAjFK1C,EAAQ1vC,OAAS4wC,EAkFtByB,EAlGK3C,EAAQ1vC,OAAS4wC,EAmGtBG,GAnJwB,WAC1B,OAAQnB,EAAOzkC,MACb,KAAKwlC,EACL,KAAKA,EACH,OAAO,EAET,QACE,OAAO,GA4IE2B,GACXC,GA3JK3C,EAAOzkC,OAASwlC,EA4JrBK,GAxJKpB,EAAOzkC,OAASwlC,EAyJrBzqB,GAtIK0pB,EAAOzkC,OAASwlC,EAuIrB6B,GA3HKvC,EAAGjwC,OAAS6wC,EA4HjB4B,GAxHKxC,EAAGjwC,OAAS6wC,EAyHjB6B,GArHKzC,EAAGjwC,OAAS6wC,EAsHjB8B,GAlHKjD,EAAQ1vC,OAAS4wC,EAmHtBgC,GA/GKlD,EAAQ1vC,OAAS4wC,EAgHtBiC,GAhGKnD,EAAQ1vC,OAAS4wC,GAAwBlB,EAAQ1vC,OAAS4wC,EAiG/DkC,GAzFKpD,EAAQ1vC,OAAS4wC,EA0FtBmC,GAtFKrD,EAAQ1vC,OAAS4wC,GAAmClB,EAAQ1vC,OAAS4wC,EAuF1EgB,GApDKxB,EAAYH,EAAGjpC,SAqDpB2qC,GAjDKvB,EAAYH,EAAGjwC,MAkDpBgzC,GA9DK5C,EAAYV,EAAQ1oC,SA+DzBisC,GA3DK7C,EAAYV,EAAQ4B,OA4DzBE,GAhDKpB,EAAYV,EAAQ1vC,MAiDzBkzC,GA7CK9C,EAAYR,EAAOkC,QA8CxBqB,GA1CK/C,EAAYR,EAAOmC,OA2CxBN,GAvCKrB,EAAYL,EAAO/vC,MAwCxB0xC,GApCKtB,EAAYL,EAAO/oC,SAqCxBmpC,GAjCKC,EAAYxyB,GAkCjB+iB,GArHK+O,EAAQ1vC,OAAS4wC,EAsHtBwC,GAlHK1D,EAAQ1vC,OAAS4wC,EAmHtByC,GAhCKjD,EAAYR,EAAOzkC,KAAM,WAiC9BmoC,GA3FW,WACb,IAAI/C,EAAMF,IACV,OAAOE,IAAQ,mBAAmB3P,KAAK2P,EAAIC,WAA8B,aAAjBD,EAAIC,UAA2BD,EAAIE,eAAiB,KAAOhhC,OAAOihC,SAyF9G6C,GACVC,GAtFKlD,EAAa,QAuFlBmD,GAnFKnD,EAAa,UAoFlBoD,GAhFKpD,EAAa,QAiFlBqD,GArGiB,WACnB,IAAIpD,EAAMF,IACNzyB,EAAK2yB,GAAOA,EAAIzyB,UAAU9iB,cAC9B,MAAqB,kBAAP4iB,GAAkBA,EAAGojB,SAAS,YAkG7B4S,GA4MjB/+C,EAAQg/C,YA1MU,SAAqBruC,GACrC,IAAIsuC,EAAqBtuC,EAAKsuC,mBAC1Br4C,EAAW+J,EAAK/J,SAChBs4C,EAAgBvuC,EAAKuuC,cACrBr1C,EAAQ8G,EAAK9G,MACjB,OAAO8zC,GAAYsB,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CACzI+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MAmMjB5G,EAAQo/C,YAjMU,SAAqBvuC,GACrC,IAAIouC,EAAqBpuC,EAAMouC,mBAC3Br4C,EAAWiK,EAAMjK,SACjBs4C,EAAgBruC,EAAMquC,cACtBr1C,EAAQgH,EAAMhH,MAClB,OAAOwnB,GAAY4tB,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CACzI+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MA0LjB5G,EAAQq/C,YAlHU,SAAqBC,GACrC,IAAIL,EAAqBK,EAAOL,mBAC5Br4C,EAAW04C,EAAO14C,SAClBs4C,EAAgBI,EAAOJ,cACvBr1C,EAAQy1C,EAAOz1C,MACnB,OAAOwyC,EAAY4C,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CACzI+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MA2GjB5G,EAAQu/C,WA/FS,SAAoBC,GACnC,IAAIP,EAAqBO,EAAOP,mBAC5Br4C,EAAW44C,EAAO54C,SAClBs4C,EAAgBM,EAAON,cACvBr1C,EAAQ21C,EAAO31C,MAEnB,OADgB21C,EAAO/rC,UACJwrC,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CACzI+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MAuFjB5G,EAAQy/C,OA1LK,SAAgB3uC,GAC3B,IAAImuC,EAAqBnuC,EAAMmuC,mBAC3Br4C,EAAWkK,EAAMlK,SACjBs4C,EAAgBpuC,EAAMouC,cACtBr1C,EAAQiH,EAAMjH,MAClB,OAAOq0C,GAAOe,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CACpI+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MAmLjB5G,EAAQ0/C,QAjLM,SAAiBltC,GAC7B,IAAIysC,EAAqBzsC,EAAMysC,mBAC3Br4C,EAAW4L,EAAM5L,SACjBs4C,EAAgB1sC,EAAM0sC,cACtBr1C,EAAQ2I,EAAM3I,MAClB,OAAOg0C,GAAQoB,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CACrI+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MA0KjB5G,EAAQ2/C,eA1Ia,SAAwBC,GAC3C,IAAIX,EAAqBW,EAAMX,mBAC3Br4C,EAAWg5C,EAAMh5C,SACjBs4C,EAAgBU,EAAMV,cACtBr1C,EAAQ+1C,EAAM/1C,MAClB,OAAO6zC,GAAeuB,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CAC5I+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MAmIjB5G,EAAQ6/C,WAzKS,SAAoBC,GACnC,IAAIb,EAAqBa,EAAMb,mBAC3Br4C,EAAWk5C,EAAMl5C,SACjBs4C,EAAgBY,EAAMZ,cACtBr1C,EAAQi2C,EAAMj2C,MAClB,OAAOqyC,GAAW+C,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CACxI+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MAkKjB5G,EAAQ+/C,YAlIU,SAAqBC,GACrC,IAAIf,EAAqBe,EAAMf,mBAC3Br4C,EAAWo5C,EAAMp5C,SACjBs4C,EAAgBc,EAAMd,cACtBr1C,EAAQm2C,EAAMn2C,MAClB,OAAOuyC,EAAY6C,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CACzI+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MA2HjB5G,EAAQigD,WAjKS,SAAoBC,GACnC,IAAIjB,EAAqBiB,EAAMjB,mBAC3Br4C,EAAWs5C,EAAMt5C,SACjBs4C,EAAgBgB,EAAMhB,cACtBr1C,EAAQq2C,EAAMr2C,MAClB,OAAOsyC,GAAW8C,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CACxI+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MA0JjB5G,EAAQmgD,aAhHW,SAAsBC,GACvC,IAAInB,EAAqBmB,EAAOnB,mBAC5Br4C,EAAWw5C,EAAOx5C,SAClBs4C,EAAgBkB,EAAOlB,cACvBr1C,EAAQu2C,EAAOv2C,MACnB,OAAOyyC,EAAa2C,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CAC1I+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MAyGjB5G,EAAQqgD,aAzJW,SAAsBC,GACvC,IAAIrB,EAAqBqB,EAAMrB,mBAC3Br4C,EAAW05C,EAAM15C,SACjBs4C,EAAgBoB,EAAMpB,cACtBr1C,EAAQy2C,EAAMz2C,MAClB,OAAO+zC,GAAaqB,EAAqBtE,EAAev2C,cAAcD,EAAMg7C,SAAU,KAAMv4C,GAAY+zC,EAAev2C,cAAc,MAAO,CAC1I+vC,UAAW+K,EACXr1C,MAAOA,GACNjD,GAAY,MAkJjB5G,EAAQ28C,YAAcA,GACtB38C,EAAQo+C,eAAiBA,GACzBp+C,EAAQugD,aAnbR,WACE,IAAIlvB,EAAY/a,EAAK+a,UACjB6qB,EAAW5lC,EAAK4lC,SAChBC,EAAW7lC,EAAK6lC,SAChBC,EAAY9lC,EAAK8lC,UACjBC,EAAY/lC,EAAK+lC,UACjBC,EAAahmC,EAAKgmC,WAEtB,OAAIjrB,EACKkrB,EAAWlrB,EAAWwpB,EAASK,EAAQE,EAAIryB,GAGhDqzB,EACKe,EAAWf,EAAWlB,EAAQE,EAAIryB,GAGvCszB,EACKe,EAAef,EAAWnB,EAAQE,EAAIryB,GAG3CmzB,EACKc,EAAc1mC,EAAMykC,EAAQK,EAAIryB,GAGrCozB,EACKa,EAAc1mC,EAAMykC,EAAQK,EAAIryB,GAGrCuzB,EACKe,EAAYf,EAAYpB,EAAQE,EAAIryB,QAD7C,GAwZF/oB,EAAQw+C,WAAaA,GACrBx+C,EAAQ48C,WAAaA,GACrB58C,EAAQ68C,cAAgBA,GACxB78C,EAAQm+C,mBAAqBA,GAC7Bn+C,EAAQs7C,MAAQA,GAChBt7C,EAAQ29C,UAAYA,GACpB39C,EAAQqxB,UAAYA,GACpBrxB,EAAQ89C,SAAWA,GACnB99C,EAAQw9C,WAAaA,EACrBx9C,EAAQq8C,UAAYA,EACpBr8C,EAAQ8rC,OAASA,GACjB9rC,EAAQ8+C,WAAaA,GACrB9+C,EAAQ+9C,UAAYA,GACpB/9C,EAAQk+C,KAAOA,GACfl+C,EAAQ69C,MAAQA,GAChB79C,EAAQy+C,QAAUA,GAClBz+C,EAAQ2+C,SAAWA,GACnB3+C,EAAQ4+C,WAAaA,GACrB5+C,EAAQ6+C,SAAWA,GACnB7+C,EAAQk8C,SAAWA,GACnBl8C,EAAQ09C,aAAeA,GACvB19C,EAAQu9C,eAAiBA,EACzBv9C,EAAQi+C,QAAUA,GAClBj+C,EAAQg+C,SAAWA,GACnBh+C,EAAQo8C,UAAYA,EACpBp8C,EAAQm8C,SAAWA,GACnBn8C,EAAQs8C,WAAaA,EACrBt8C,EAAQ49C,WAAaA,GACrB59C,EAAQu+C,SAAWA,GACnBv+C,EAAQs+C,YAAcA,GACtBt+C,EAAQq+C,aAAeA,GACvBr+C,EAAQ88C,OAASA,GACjB98C,EAAQ+8C,UAAYA,GACpB/8C,EAAQwgD,sBAhIR,SAA+BjkC,GAC7B,OAEE,SAAUkkC,GAGR,SAASpP,EAAO5tC,GACd,IAAIuI,EAaJ,OA7mBR,SAAyBjJ,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAgmBhBH,CAAgBsG,KAAMioC,IAEtBrlC,EApeR,SAAoCrJ,EAAMC,GACxC,OAAIA,GAAyB,kBAATA,GAAqC,oBAATA,EAIzC6tB,EAAuB9tB,GAHrBC,EAkeKF,CAA2B0G,KAAMrH,EAAgBsvC,GAAQzuC,KAAKwG,KAAM3F,KACtEi9C,sBAAuB,EAC7B10C,EAAM20C,wBAA0B30C,EAAM20C,wBAAwB9nC,KAAK4X,EAAuBzkB,IAC1FA,EAAM40C,oBAAsB50C,EAAM40C,oBAAoB/nC,KAAK4X,EAAuBzkB,IAClFA,EAAM60C,WAAa70C,EAAM60C,WAAWhoC,KAAK4X,EAAuBzkB,IAChEA,EAAMU,MAAQ,CACZo0C,aAAa,EACbC,YAAY,GAEP/0C,EA7lBf,IAAsBhJ,EAAaY,EAAYC,EAopBzC,OA3kBN,SAAmBR,EAAUC,GAC3B,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIL,UAAU,sDAGtBI,EAASb,UAAYlC,OAAOiD,OAAOD,GAAcA,EAAWd,UAAW,CACrED,YAAa,CACXlC,MAAOgD,EACP3C,UAAU,EACVD,cAAc,KAGd6C,GAAYJ,EAAgBG,EAAUC,GAwftCF,CAAUiuC,EAAQoP,GA7kBFz9C,EAgmBHquC,GAhmBgBztC,EAgmBR,CAAC,CACpBxD,IAAK,0BACLC,MAAO,WACA+I,KAAKs3C,uBACRt3C,KAAKs3C,sBAAuB,GAG9B,IAAIM,EAAcpmC,OAAOqmC,WAAarmC,OAAOsmC,YAAc,GAAK,EAChE93C,KAAK8gB,SAAS,CACZ62B,WAA4B,IAAhBC,EACZF,YAA6B,KAAhBE,MAGhB,CACD5gD,IAAK,sBACLC,MAAO,WACL+I,KAAKu3C,4BAEN,CACDvgD,IAAK,aACLC,MAAO,WACL+I,KAAKu3C,4BAEN,CACDvgD,IAAK,oBACLC,MAAO,gBACmEgW,KAAjD,qBAAXuE,OAAyB,YAAcnY,EAAQmY,UAA0BshC,KAC9E9yC,KAAKs3C,qBAIR9lC,OAAO2Q,oBAAoB,OAAQniB,KAAKy3C,YAAY,IAHpDz3C,KAAKu3C,0BACL/lC,OAAO0Q,iBAAiB,OAAQliB,KAAKy3C,YAAY,IAKnDjmC,OAAO0Q,iBAAiB,SAAUliB,KAAKw3C,qBAAqB,MAG/D,CACDxgD,IAAK,uBACLC,MAAO,WACLua,OAAO2Q,oBAAoB,SAAUniB,KAAKw3C,qBAAqB,KAEhE,CACDxgD,IAAK,SACLC,MAAO,WACL,OAAOs6C,EAAev2C,cAAcmY,EAAkB3G,EAAS,GAAIxM,KAAK3F,MAAO,CAC7Eq9C,YAAa13C,KAAKsD,MAAMo0C,YACxBC,WAAY33C,KAAKsD,MAAMq0C,mBA9oBjBv9C,EAAkBR,EAAYR,UAAWoB,GACrDC,GAAaL,EAAkBR,EAAaa,GAkpBrCwtC,EA1EX,CA2EIsJ,EAAentC,a,kCCxtBrB,kBAGI6mC,EAHJ,SAMEA,EADkB,qBAAT1xC,KACFA,KACoB,qBAAXiY,OACTA,OACoB,qBAAX8sB,EACTA,EAEA3nC,EAKT,IAAIwS,EAAS4uC,YAAS9M,GACP9hC,Q,0CCZfxS,EAAOC,QANP,SAAwBqD,EAAUC,GAChCD,EAASb,UAAYlC,OAAOiD,OAAOD,EAAWd,WAC9Ca,EAASb,UAAUD,YAAcc,EACjCA,EAASlB,UAAYmB,I,gBCHvB,IAAI89C,EAAUnhD,EAAQ,KAKtBF,EAAOC,QAAUsvC,EACjBvvC,EAAOC,QAAQ+vC,MAAQA,EACvBhwC,EAAOC,QAAQqhD,QAsGf,SAAkB5xC,EAAK0P,GACrB,OAAOmiC,EAAiBvR,EAAMtgC,EAAK0P,KAtGrCpf,EAAOC,QAAQshD,iBAAmBA,EAClCvhD,EAAOC,QAAQuhD,eAAiBA,EAOhC,IAAIC,EAAc,IAAIl9B,OAAO,CAG3B,UAOA,0GACApc,KAAK,KAAM,KASb,SAAS6nC,EAAOtgC,EAAK0P,GAQnB,IAPA,IAKIlT,EALAw1C,EAAS,GACTrhD,EAAM,EACNklB,EAAQ,EACRuB,EAAO,GACP66B,EAAmBviC,GAAWA,EAAQwiC,WAAa,IAGf,OAAhC11C,EAAMu1C,EAAYhtB,KAAK/kB,KAAe,CAC5C,IAAImyC,EAAI31C,EAAI,GACR41C,EAAU51C,EAAI,GACdnE,EAASmE,EAAIqZ,MAKjB,GAJAuB,GAAQpX,EAAIiK,MAAM4L,EAAOxd,GACzBwd,EAAQxd,EAAS85C,EAAElgD,OAGfmgD,EACFh7B,GAAQg7B,EAAQ,OADlB,CAKA,IAAIroC,EAAO/J,EAAI6V,GACX9b,EAASyC,EAAI,GACbd,EAAOc,EAAI,GACX61C,EAAU71C,EAAI,GACd81C,EAAQ91C,EAAI,GACZ+1C,EAAW/1C,EAAI,GACfg2C,EAAWh2C,EAAI,GAGf4a,IACF46B,EAAOrgD,KAAKylB,GACZA,EAAO,IAGT,IAAIq7B,EAAoB,MAAV14C,GAA0B,MAARgQ,GAAgBA,IAAShQ,EACrD24C,EAAsB,MAAbH,GAAiC,MAAbA,EAC7BI,EAAwB,MAAbJ,GAAiC,MAAbA,EAC/BL,EAAY11C,EAAI,IAAMy1C,EACtBW,EAAUP,GAAWC,EAEzBN,EAAOrgD,KAAK,CACV+J,KAAMA,GAAQ/K,IACdoJ,OAAQA,GAAU,GAClBm4C,UAAWA,EACXS,SAAUA,EACVD,OAAQA,EACRD,QAASA,EACTD,WAAYA,EACZI,QAASA,EAAUC,EAAYD,GAAYJ,EAAW,KAAO,KAAOM,EAAaZ,GAAa,SAclG,OATIr8B,EAAQ7V,EAAI/N,SACdmlB,GAAQpX,EAAI4W,OAAOf,IAIjBuB,GACF46B,EAAOrgD,KAAKylB,GAGP46B,EAoBT,SAASe,EAA0B/yC,GACjC,OAAOgzC,UAAUhzC,GAAK9H,QAAQ,WAAW,SAAUwlB,GACjD,MAAO,IAAMA,EAAEid,WAAW,GAAG90B,SAAS,IAAI3F,iBAmB9C,SAAS2xC,EAAkBG,GAKzB,IAHA,IAAI3M,EAAU,IAAIxwC,MAAMm9C,EAAO//C,QAGtBF,EAAI,EAAGA,EAAIigD,EAAO//C,OAAQF,IACR,kBAAdigD,EAAOjgD,KAChBszC,EAAQtzC,GAAK,IAAI8iB,OAAO,OAASm9B,EAAOjgD,GAAG6gD,QAAU,OAIzD,OAAO,SAAUliD,EAAK4zB,GAMpB,IALA,IAAIlN,EAAO,GACP67B,EAAOviD,GAAO,GAEduwC,GADU3c,GAAQ,IACD4uB,OAASH,EAA2BpR,mBAEhD5vC,EAAI,EAAGA,EAAIigD,EAAO//C,OAAQF,IAAK,CACtC,IAAIohD,EAAQnB,EAAOjgD,GAEnB,GAAqB,kBAAVohD,EAAX,CAMA,IACIC,EADAxiD,EAAQqiD,EAAKE,EAAMz3C,MAGvB,GAAa,MAAT9K,EAAe,CACjB,GAAIuiD,EAAMR,SAAU,CAEdQ,EAAMV,UACRr7B,GAAQ+7B,EAAMp5C,QAGhB,SAEA,MAAM,IAAIvG,UAAU,aAAe2/C,EAAMz3C,KAAO,mBAIpD,GAAIi2C,EAAQ/gD,GAAZ,CACE,IAAKuiD,EAAMT,OACT,MAAM,IAAIl/C,UAAU,aAAe2/C,EAAMz3C,KAAO,kCAAoCg9B,KAAKC,UAAU/nC,GAAS,KAG9G,GAAqB,IAAjBA,EAAMqB,OAAc,CACtB,GAAIkhD,EAAMR,SACR,SAEA,MAAM,IAAIn/C,UAAU,aAAe2/C,EAAMz3C,KAAO,qBAIpD,IAAK,IAAI23C,EAAI,EAAGA,EAAIziD,EAAMqB,OAAQohD,IAAK,CAGrC,GAFAD,EAAUnS,EAAOrwC,EAAMyiD,KAElBhO,EAAQtzC,GAAGuqC,KAAK8W,GACnB,MAAM,IAAI5/C,UAAU,iBAAmB2/C,EAAMz3C,KAAO,eAAiBy3C,EAAMP,QAAU,oBAAsBla,KAAKC,UAAUya,GAAW,KAGvIh8B,IAAe,IAANi8B,EAAUF,EAAMp5C,OAASo5C,EAAMjB,WAAakB,OApBzD,CA4BA,GAFAA,EAAUD,EAAMX,SA5EbQ,UA4EuCpiD,GA5ExBsH,QAAQ,SAAS,SAAUwlB,GAC/C,MAAO,IAAMA,EAAEid,WAAW,GAAG90B,SAAS,IAAI3F,iBA2EW+gC,EAAOrwC,IAErDy0C,EAAQtzC,GAAGuqC,KAAK8W,GACnB,MAAM,IAAI5/C,UAAU,aAAe2/C,EAAMz3C,KAAO,eAAiBy3C,EAAMP,QAAU,oBAAsBQ,EAAU,KAGnHh8B,GAAQ+7B,EAAMp5C,OAASq5C,QArDrBh8B,GAAQ+7B,EAwDZ,OAAO/7B,GAUX,SAAS07B,EAAc9yC,GACrB,OAAOA,EAAI9H,QAAQ,6BAA8B,QASnD,SAAS26C,EAAaP,GACpB,OAAOA,EAAMp6C,QAAQ,gBAAiB,QAUxC,SAASo7C,EAAYC,EAAIliD,GAEvB,OADAkiD,EAAGliD,KAAOA,EACHkiD,EAST,SAASC,EAAO9jC,GACd,OAAOA,EAAQ8vB,UAAY,GAAK,IAwElC,SAASsS,EAAgBE,EAAQ3gD,EAAMqe,GAChCiiC,EAAQtgD,KACXqe,EAAkCre,GAAQqe,EAC1Cre,EAAO,IAUT,IALA,IAAIkuC,GAFJ7vB,EAAUA,GAAW,IAEA6vB,OACjB53B,GAAsB,IAAhB+H,EAAQ/H,IACd8rC,EAAQ,GAGH1hD,EAAI,EAAGA,EAAIigD,EAAO//C,OAAQF,IAAK,CACtC,IAAIohD,EAAQnB,EAAOjgD,GAEnB,GAAqB,kBAAVohD,EACTM,GAASX,EAAaK,OACjB,CACL,IAAIp5C,EAAS+4C,EAAaK,EAAMp5C,QAC5Bs4C,EAAU,MAAQc,EAAMP,QAAU,IAEtCvhD,EAAKM,KAAKwhD,GAENA,EAAMT,SACRL,GAAW,MAAQt4C,EAASs4C,EAAU,MAaxCoB,GANIpB,EAJAc,EAAMR,SACHQ,EAAMV,QAGC14C,EAAS,IAAMs4C,EAAU,KAFzB,MAAQt4C,EAAS,IAAMs4C,EAAU,MAKnCt4C,EAAS,IAAMs4C,EAAU,KAOzC,IAAIH,EAAYY,EAAapjC,EAAQwiC,WAAa,KAC9CwB,EAAoBD,EAAMxpC,OAAOioC,EAAUjgD,UAAYigD,EAkB3D,OAZK3S,IACHkU,GAASC,EAAoBD,EAAMxpC,MAAM,GAAIioC,EAAUjgD,QAAUwhD,GAAS,MAAQvB,EAAY,WAI9FuB,GADE9rC,EACO,IAIA43B,GAAUmU,EAAoB,GAAK,MAAQxB,EAAY,MAG3DoB,EAAW,IAAIz+B,OAAO,IAAM4+B,EAAOD,EAAM9jC,IAAWre,GAe7D,SAASwuC,EAAczoB,EAAM/lB,EAAMqe,GAQjC,OAPKiiC,EAAQtgD,KACXqe,EAAkCre,GAAQqe,EAC1Cre,EAAO,IAGTqe,EAAUA,GAAW,GAEjB0H,aAAgBvC,OAlJtB,SAAyBuC,EAAM/lB,GAE7B,IAAIsiD,EAASv8B,EAAKllB,OAAOiG,MAAM,aAE/B,GAAIw7C,EACF,IAAK,IAAI5hD,EAAI,EAAGA,EAAI4hD,EAAO1hD,OAAQF,IACjCV,EAAKM,KAAK,CACR+J,KAAM3J,EACNgI,OAAQ,KACRm4C,UAAW,KACXS,UAAU,EACVD,QAAQ,EACRD,SAAS,EACTD,UAAU,EACVI,QAAS,OAKf,OAAOU,EAAWl8B,EAAM/lB,GAgIfuiD,CAAex8B,EAA6B/lB,GAGjDsgD,EAAQv6B,GAxHd,SAAwBA,EAAM/lB,EAAMqe,GAGlC,IAFA,IAAI/X,EAAQ,GAEH5F,EAAI,EAAGA,EAAIqlB,EAAKnlB,OAAQF,IAC/B4F,EAAMhG,KAAKkuC,EAAazoB,EAAKrlB,GAAIV,EAAMqe,GAASxd,QAKlD,OAAOohD,EAFM,IAAIz+B,OAAO,MAAQld,EAAMc,KAAK,KAAO,IAAK+6C,EAAM9jC,IAEnCre,GAgHjBwiD,CAAqCz8B,EAA8B/lB,EAAOqe,GArGrF,SAAyB0H,EAAM/lB,EAAMqe,GACnC,OAAOoiC,EAAexR,EAAMlpB,EAAM1H,GAAUre,EAAMqe,GAuG3CokC,CAAsC18B,EAA8B/lB,EAAOqe,K,mCCxapF,qBAASjK,EAAmBC,GAAO,OAMnC,SAA4BA,GAAO,GAAI7Q,MAAMC,QAAQ4Q,GAAM,CAAE,IAAK,IAAI3T,EAAI,EAAG4T,EAAO,IAAI9Q,MAAM6Q,EAAIzT,QAASF,EAAI2T,EAAIzT,OAAQF,IAAO4T,EAAK5T,GAAK2T,EAAI3T,GAAM,OAAO4T,GANnHouC,CAAmBruC,IAI7D,SAA0BE,GAAQ,GAAIhT,OAAOC,YAAYhC,OAAO+U,IAAkD,uBAAzC/U,OAAOkC,UAAU8S,SAAS1S,KAAKyS,GAAgC,OAAO/Q,MAAMiR,KAAKF,GAJrFouC,CAAiBtuC,IAEtF,WAAgC,MAAM,IAAIlS,UAAU,mDAF0CygD,GAiC/EC,IAlBQ,SAA0Bh7B,GAC/C,OAAO,SAAUnQ,GACf,OAAO,SAAUgB,GACf,OAAO,SAAUrD,GAEf,GAAIA,EAAOG,OAASE,IAClB,OAAOgD,EAAKrD,GAGd,IAAIytC,EAAkBztC,EAAOI,QACzBG,EAASktC,EAAgBltC,OACzB3C,EAAO6vC,EAAgB7vC,KAC3B4U,EAAQjS,GAAQrV,MAAMsnB,EAASzT,EAAmBnB,S,6BC3B3C,SAAS8vC,EAAyBxP,GAChD,IAAI9hC,EACAlQ,EAASgyC,EAAKhyC,OAalB,MAXsB,oBAAXA,EACNA,EAAOyhD,WACVvxC,EAASlQ,EAAOyhD,YAEhBvxC,EAASlQ,EAAO,cAChBA,EAAOyhD,WAAavxC,GAGrBA,EAAS,eAGHA,EAfR,mC,6BCAA,kCAiCA,IAAI9H,IAAiC,qBAAXmQ,SAA0BA,OAAOtU,WAAYsU,OAAOtU,SAASlC,gB,6BCjCvF,kCAiCA,IAAIqG,IAAiC,qBAAXmQ,SAA0BA,OAAOtU,WAAYsU,OAAOtU,SAASlC,gB,gBCjCvF,IAAI2/C,EAAuB,qBAAT5b,KAAuBA,KAAOloC,EAAQ,KAExDF,EAAOC,QAAU,SAAUG,EAAK4zB,GACvBA,IAAMA,EAAO,IACE,oBAATA,IAAqBA,EAAO,CAAEiwB,IAAKjwB,IAC9C,IAAIkwB,EAAQlwB,EAAKkwB,OAAS,GACL,kBAAVA,IAAoBA,EAAQ3/C,MAAM2/C,EAAM,GAAG/7C,KAAK,MAC3D,IAGiCmlB,EAH7B62B,EAAiC,mBAAhBnwB,EAAKmwB,QAAwBnwB,EAAKmwB,OACnDC,EAAWpwB,EAAKowB,UAAY,SAAS/jD,EAAKC,GAAS,OAAOA,GAE1D2jD,EAAMjwB,EAAKiwB,MAAkB32B,EAQ9B0G,EAAKiwB,IAPG,SAAUr9C,GACb,OAAO,SAAUib,EAAGC,GAChB,IAAIuiC,EAAO,CAAEhkD,IAAKwhB,EAAGvhB,MAAOsG,EAAKib,IAC7ByiC,EAAO,CAAEjkD,IAAKyhB,EAAGxhB,MAAOsG,EAAKkb,IACjC,OAAOwL,EAAE+2B,EAAMC,MAKvBC,EAAO,GACX,OAAQ,SAASlc,EAAWnxB,EAAQ7W,EAAKuG,EAAM4M,GAC3C,IAAIgxC,EAASN,EAAS,KAAO,IAAI3/C,MAAMiP,EAAQ,GAAGrL,KAAK+7C,GAAU,GAC7DO,EAAiBP,EAAQ,KAAO,IAQpC,GANIt9C,GAAQA,EAAK89C,QAAiC,oBAAhB99C,EAAK89C,SACnC99C,EAAOA,EAAK89C,eAKHpuC,KAFb1P,EAAOw9C,EAASvhD,KAAKqU,EAAQ7W,EAAKuG,IAElC,CAGA,GAAoB,kBAATA,GAA8B,OAATA,EAC5B,OAAOo9C,EAAK3b,UAAUzhC,GAE1B,GAAIpC,EAAQoC,GAAO,CAEf,IADA,IAAIm1B,EAAM,GACDt6B,EAAI,EAAGA,EAAImF,EAAKjF,OAAQF,IAAK,CAClC,IAAIilB,EAAO2hB,EAAUzhC,EAAMnF,EAAGmF,EAAKnF,GAAI+R,EAAM,IAAMwwC,EAAK3b,UAAU,MAClEtM,EAAI16B,KAAKmjD,EAASN,EAAQx9B,GAE9B,MAAO,IAAMqV,EAAI5zB,KAAK,KAAOq8C,EAAS,IAGtC,IAA4B,IAAxBD,EAAKv6C,QAAQpD,GAAc,CAC3B,GAAIu9C,EAAQ,OAAOH,EAAK3b,UAAU,aAClC,MAAM,IAAInlC,UAAU,yCAEnBqhD,EAAKljD,KAAKuF,GAEf,IAAI7F,EAAO4jD,EAAW/9C,GAAMg+C,KAAKX,GAAOA,EAAIr9C,IAE5C,IADIm1B,EAAM,GACDt6B,EAAI,EAAGA,EAAIV,EAAKY,OAAQF,IAAK,CAClC,IACInB,EAAQ+nC,EAAUzhC,EADlBvG,EAAMU,EAAKU,GACkBmF,EAAKvG,GAAMmT,EAAM,GAElD,GAAIlT,EAAJ,CAEA,IAAIukD,EAAWb,EAAK3b,UAAUhoC,GACxBokD,EACAnkD,EAENy7B,EAAI16B,KAAKmjD,EAASN,EAAQW,IAG9B,OADAN,EAAK3qC,OAAO2qC,EAAKv6C,QAAQpD,GAAO,GACzB,IAAMm1B,EAAI5zB,KAAK,KAAOq8C,EAAS,KA9CtC,CAgDL,CAAE,GAAIpkD,GAAO,GAAIA,EAAK,IAG7B,IAAIoE,EAAUD,MAAMC,SAAW,SAAUkB,GACrC,MAA+B,mBAAxB,GAAG6P,SAAS1S,KAAK6C,IAGxBi/C,EAAapkD,OAAOQ,MAAQ,SAAUX,GACtC,IAAI0kD,EAAMvkD,OAAOkC,UAAUyC,gBAAkB,WAAc,OAAO,GAC9DnE,EAAO,GACX,IAAK,IAAIV,KAAOD,EACR0kD,EAAIjiD,KAAKzC,EAAKC,IAAMU,EAAKM,KAAKhB,GAEtC,OAAOU,I,8BClFX,YAGA,IAAIV,EAAM,uBAEVL,EAAOC,QAAU,WACf,OAAO0nC,EAAOtnC,IAAQsnC,EAAOtnC,IAAQ,GAAK,K,+CCN5C,SAAS0kD,EAAsBC,GAC7B,OAAO,SAAUp0C,GACf,IAAI8J,EAAW9J,EAAK8J,SAChBN,EAAWxJ,EAAKwJ,SACpB,OAAO,SAAUX,GACf,OAAO,SAAUrD,GACf,MAAsB,oBAAXA,EACFA,EAAOsE,EAAUN,EAAU4qC,GAG7BvrC,EAAKrD,MAMpB,IAAI6uC,EAAQF,IACZE,EAAMC,kBAAoBH,EAEXE,O,4HCmBf,SAASE,IACP,IAAK,IAAIvuC,EAAOlV,UAAUC,OAAQwuB,EAAQ,IAAI5rB,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAChFsZ,EAAMtZ,GAAQnV,UAAUmV,GAG1B,OAAOsZ,EAAMjvB,QAAO,SAAUosB,EAAG7rB,GAC/B,GAAS,MAAL6rB,EACF,OAAO,EAIT,IAAI83B,EA8BR,SAAuBhwC,EAAKkxB,GAC1B,IAAI8e,EAAU,GAMd,OALAhwC,EAAIvT,SAAQ,SAAU8c,EAAGld,GACnBkd,IAAM2nB,GACR8e,EAAQ/jD,KAAKI,MAGV2jD,EArCSC,CAAcl1B,EAAO7C,GACnC,OAA0B,IAAnB83B,EAAQzjD,QAAgBF,IAAM2jD,EAAQ,MAC5C7yC,QAAO,SAAU0nC,EAAK3sB,GACvB,GAAiB,oBAANA,EACT,MAAM,IAAIzb,MAAM,2EAGlB,OAAY,OAARooC,EACK3sB,EAGF,WACL,IAAK,IAAIvZ,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,GAAQE,EAAQ,EAAGA,EAAQF,EAAOE,IACpFD,EAAKC,GAASvS,UAAUuS,GAG1BgmC,EAAI34C,MAAM+H,KAAM2K,GAChBsZ,EAAEhsB,MAAM+H,KAAM2K,MAEf,MC7BL,SAAS1P,EAAiBghD,EAAS5hD,GACjC,IAAI6hD,EAAW7hD,EAAMmb,IACjB2mC,EAAcF,EAAQzmC,IAGtBwB,EAAcnZ,YAAc,GAAIxD,GAEhC4hD,EAAQ5hD,MAAMoG,OAASpG,EAAMoG,QAE/BuW,EAAYvW,MAAQ5C,YAAc,GAAIo+C,EAAQ5hD,MAAMoG,MAAO,GAAIpG,EAAMoG,QAIvEuW,EAAYhgB,IAAMilD,EAAQjlD,KAAOqD,EAAMrD,IAEvCE,OAAOQ,KAAK2C,GAAO7B,SAAQ,SAAUkI,GAMR,IAAvBA,EAAKC,QAAQ,OAAuC,oBAAhBtG,EAAMqG,IAAuD,oBAAxBu7C,EAAQ5hD,MAAMqG,KACzFsW,EAAYtW,GAAQo7C,EAAsBG,EAAQ5hD,MAAMqG,GAAOrG,EAAMqG,QAIzE,IAAK,IAAI6M,EAAOlV,UAAUC,OAAQkF,EAAW,IAAItC,MAAMqS,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IACtGhQ,EAASgQ,EAAO,GAAKnV,UAAUmV,GAGjC,OAAmB,MAAf2uC,GAAmC,MAAZD,EAClBnhD,IAAMqhD,aAAankD,MAAM8C,IAAO,CAACkhD,EAASjlC,GAAana,OAAOW,KAMzC,wJAAwJX,OAAOs/C,GAEtLphD,IAAMqhD,aAAankD,MAAM8C,IAAO,CAACkhD,EAASp+C,YAAc,GAAImZ,EAAa,CAC9ExB,IAAK,SAAa6wB,GAChB6V,EAAS7V,GACT8V,EAAY9V,OAEZxpC,OAAOW,KC3Cb,SAAS9C,EAAkBC,GACzB,IAAIN,EAAQhC,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACzEuC,EAAaC,WAASC,MAAMH,GAEhC,OAAmB,IAAfC,EACK,KACmB,kBAAVD,GAAsBA,EAAMrC,OAAS,GAAKsC,EAAa,EAChEG,IAAMC,cAAc,OAAQX,EAAOM,GAEnCM,EAAiBC,MAAMC,QAAQR,GAASA,EAAM,GAAKA,EAAON,GAItDK,I,OCnBXU,EAAe,CACjBC,YAFgB,cAQhBC,MAAOxE,YAAgB,GARP,cAQwByE,IAAU/D,QAOlDgE,iBAAkB,SAA0BC,EAAOC,GACjD,OAAO5E,YAAgB,GAhBT,cAgB0B,CACtC2E,MAAOA,EACPC,UAAWA,KAQfC,gBAAiB,SAAyBC,GACxC,GAAIA,EACF,OAAOA,EA5BK,iB,QCClB,SAAS+F,EAAU27B,GACjB,OAAO,WACL,IAAK,IAAI/vB,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAGzB,OAAO,SAAU5L,GACf,GAAwB,oBAAb07B,EAAyB,CAClC,IAAIx7B,EAAcF,EAAkBE,aAAeF,EAAkBG,KACjEw7B,EAAqBD,EAASrlC,WAAM,EAAQ,CAAC2J,GAAmB/E,OAAO8N,IAE3E,OADA4yB,EAAmBz7B,YAAcA,EAC1By7B,EAEP,OAAO37B,IAMAD,I,iBC7BX9F,GCOWC,EAAf,EDPqB5E,OAAOkC,UAAUyC,gBAetC,SAASE,EAAaC,EAAMC,GAC1B,GAAIC,EAAGF,EAAMC,GACX,OAAO,EAGT,GAAoB,kBAATD,GAA8B,OAATA,GAAiC,kBAATC,GAA8B,OAATA,EAC3E,OAAO,EAGT,IAAIE,EAAQjF,OAAOQ,KAAKsE,GACpBI,EAAQlF,OAAOQ,KAAKuE,GAExB,GAAIE,EAAM7D,SAAW8D,EAAM9D,OACzB,OAAO,EAIT,IAAK,IAAIF,EAAI,EAAGA,EAAI+D,EAAM7D,OAAQF,IAChC,IAAKyD,EAAerC,KAAKyC,EAAME,EAAM/D,MAAQ8D,EAAGF,EAAKG,EAAM/D,IAAK6D,EAAKE,EAAM/D,KACzE,OAAO,EAIX,OAAO,EAQT,SAAS8D,EAAGG,EAAGC,GAEb,OAAID,IAAMC,EAGK,IAAND,GAAiB,IAANC,GAAW,EAAID,IAAM,EAAIC,EAGpCD,IAAMA,GAAKC,IAAMA,EAIbP,I,kCE/Cf,SAAS4H,EAAYkmB,GACnB,IAAItsB,EAAqB,oBAAPssB,EAAoBA,IAAOA,EAE7C,OAAItsB,IAASL,SACJA,SAASqE,gBACPhE,aAAgBusB,SAAWvsB,IAASiU,QAAUjU,GAAiC,qBAAlBA,EAAKwsB,SACpExsB,EACEA,EACFysB,IAASrmB,YAAYpG,QADvB,EAKMoG,I,QCpBf,SAASpH,EAAkBC,EAASC,EAASC,GAC3C,IAAIC,EAAYH,EAAQI,cAAc,IAAIC,OAAOH,IAC7CI,EAAOJ,EAAMK,cAEjB,GAAKN,EAQE,CACL,IAAIO,GAAoBL,EACpBM,EAAYR,EAEZO,KACFL,EAAYO,SAASlC,cAAc,UACzBmC,aAAa,UAAU,GACjCR,EAAUQ,aAAa,OAAQ,YAC/BR,EAAUS,GAAKV,GAGZC,EAAUU,UA+BnB,SAASC,EAAkBC,EAAMb,GAE/B,IAAIc,EAAWD,EAAKC,UAAYD,EAAKE,WAEjCF,EAAKJ,cACPI,EAAKJ,aAAaT,EAAO,IAG3B,IAAK,IAAItE,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IACnCkF,EAAkBE,EAASpF,GAAIsE,GAtC7BY,CAAkBd,EAASM,GAC3BG,EAeN,SAAsBR,EAASC,GAC7B,OAAOgB,YAAajB,GAAS,SAAUkB,GACrC,IAAIC,EAAcC,YAAc,GAAIF,GAOpC,OALKA,EAAKG,WACRF,EAAYG,SAwElB,SAAmBJ,EAAMjB,GACvB,IAAIsB,EAAQL,EAAKI,SAASE,MAAM,KAE3BC,YAAoBP,KACvBK,EAAQA,EAAMG,KAAI,SAAUC,GAC1B,OApBN,SAA8BL,EAAUrB,GACtC,IAAI2B,EAAiBN,EAASO,OAW9B,OAVAD,EAAiBA,EAAeE,QAChC,2CAA2C,SAAUC,EAAOC,EAAYV,GACtE,IAAIW,EAASrG,UAAUA,UAAUC,OAAS,GAE1C,OAAIqG,EAAgBZ,IAAaW,EAAS,EACjCE,EAAsBb,EAAUU,EAAY/B,GAE5CqB,KAWAc,CAAqBT,EAAM1B,OAItC,OAAOsB,EAAMc,KAAK,KAjFSC,CAAUpB,EAAMjB,GACvCkB,EAAYE,UAAW,GAGlBF,KAxBOoB,CAAa/B,EAAW,IAAIJ,OAAOC,EAAM,OAGnDE,GACFR,EAAQyC,aAAatC,EAAWH,EAAQ0C,YAGtC,gBAAiBvC,EACnBA,EAAUwC,YAAclC,EAExBN,EAAUyC,WAAW3C,QAAUQ,OA/B7BN,IACGA,EAAUU,QA6DrB,SAASgC,EAAuB9B,EAAMb,GACpC,IAAIc,EAAWD,EAAKC,UAAYD,EAAKE,WAEjCF,EAAK+B,iBACP/B,EAAK+B,gBAAgB5C,GAGvB,IAAK,IAAItE,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IACnCiH,EAAuB7B,EAASpF,GAAIsE,GApEhC2C,CAAuB7C,EAASM,GAGlCN,EAAQ+C,YAAY5C,IA0E1B,SAASgC,EAAgBZ,GACvB,OAAOA,EAASS,MAAM,wBASxB,SAASI,EAAsBb,EAAUU,EAAY/B,GACnD,OAhBF,SAAwBqB,GAEtB,OAAOA,EAASS,MAAM,0BAclBgB,CAAezB,GACVA,EAIFU,GADc/B,EAXvB,SAA6BqB,EAAUrB,GACrC,IAAIsB,EAAQD,EAASE,MAAM,KAE3B,OADAD,EAAM,IAAMtB,EACLsB,EAAMc,KAAK,KAQWW,CAAoB1B,EAAUrB,GAASqB,GA+BvDxB,I,QC5Hf,SAASmD,EAAcC,EAAclE,GACnC,IAAImE,EAAY,GAEhB,OAAID,IAAiBlE,GAAUA,GAE/BvE,OAAOQ,KAAK+D,GAAOjD,SAAQ,SAAUxB,GAC/B2I,EAAa3I,KAASyE,EAAMzE,KAC9B4I,EAAU5I,GAAOyE,EAAMzE,OAGpB4I,GAPsCA,EAUhCF,I,gBCDf,SAASG,IACHC,cACFC,EAA0B9H,MAAM+H,KAAM3H,WAEtC4H,EAA6BhI,MAAM+H,KAAM3H,WAI7C,SAAS4H,EAA6BzD,EAAS0D,EAAWC,EAAUC,EAAQC,EAAU3D,GACpF,GAAKF,IAAW8D,YAAQJ,GAAxB,CAIA,IAAIN,EAAYF,EAAcS,EAAUD,GACpCzD,EAAU,GAEVmD,GAAa1I,OAAOQ,KAAKkI,GAAWtH,OAAS,IAC/CmE,EAAU8D,YAAuBF,EAAUxC,YAAc,GAAIsC,EAAU,GAAID,KAG7E3D,EAAkBC,EAASC,EAASC,IAGtC,SAASqD,EAA0BvD,EAAS0D,EAAWC,EAAUC,GAC/D,GAAK5D,IAAW8D,YAAQJ,GAAxB,EAYF,SAA+B1D,EAAS4D,GAGtC,IAFA,IAAII,EAAShE,EAAQiE,MAEZrI,EAAIoI,EAAOlI,OAAS,EAAGF,GAAK,EAAGA,IAAK,CAC3C,IAAIsI,EAAOF,EAAOpI,GAEdsI,EAAKC,QAAQ,KAAK9D,OAAOuD,EAAQ,OAAS,GAC5C5D,EAAQiE,MAAMG,eAAeF,IAfjCG,CAAsBrE,EAAS4D,GAC/B,IAAIR,EAAYF,EAAcS,EAAUD,GAEpCN,IAAcU,YAAQV,IAiB5B,SAA6BpD,EAASsE,GACpC5J,OAAOQ,KAAKoJ,GAAYtI,SAAQ,SAAUuI,GACxC,IAAI9J,EAAQ6J,EAAWC,GAEnB9J,GACFuF,EAAQiE,MAAMO,YAAYD,EAAc9J,MArB1CgK,CAAoBzE,EAAS0E,YAAoBtB,EAAWQ,KA0BjDP,I,SC7EXsB,GAAS,EASb,SAASC,IACP,IAAID,IACJA,GAAS,EAELE,KAAW,CACb,IAAIC,EAAMpE,SAASqE,gBAAgBC,aAAa,OAE3CF,GAMHpE,SAASqE,gBAAgBpE,aAAa,MAAO,QAKpCiE,I,QC4BXK,EAAW,GAkBXC,EAAYC,GAAU,SAAUC,EAAmBnG,GACrD,IAAI+E,EAASnI,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC1EwJ,EAAUxJ,UAAUC,OAAS,EAAID,UAAU,QAAK,EAChDyJ,EAAcF,EAAkBE,aAAeF,EAAkBG,KACjEC,EAAc,GAAGnF,OAAO2D,GAAUA,EAAOwB,aAAeC,eAW5D,IAAIC,EAAajJ,OAAO+I,GAEpB3B,EAAW,aAEXG,GAAUA,EAAOH,WACnBA,EAAsC,oBAApBG,EAAOH,SAA0BG,EAAOH,SAAW,WAMnE,MAAO,KAIX8B,YAAuBD,EAAYzG,GAEnC,IAAI2G,EAAa,SAAoBxG,GAEnC,OADmBR,EAAaO,gBAAgBC,IACzB6F,GAGrBY,EAAsB,SAA6BzG,GACrD,IACIH,EADc2G,EAAWxG,GACLH,MAExB,OAAIA,GAASA,EAAMyG,GACVhL,OAAOoL,OAAO,GAAI7G,EAAMyG,IAExBT,GAIPc,EAA6B,SAAoCC,EAAU5C,GAC7E,OAAO6C,YAAuBP,EAAYM,EAAU5C,IAGlD8C,EAEJ,SAAUC,GAGR,SAASD,IACP,IAAIE,EAEJlJ,YAAgBsG,KAAM0C,GAEtB,IAAIG,EAAMD,EAAQtJ,YAA2B0G,KAAMrH,YAAgB+J,GAAoBzK,MAAM+H,KAAM3H,YAEnGuK,EAAME,YAAc,KACpBF,EAAMG,YAAcd,YAAIH,GACxB,IAAInC,EAAe4C,IAEnB,OADAS,YAAqB3C,EAAUV,EAAcqC,GACtC1I,YAA2BsJ,EAAOC,GA+F3C,OA5GA7I,YAAU0I,EAAoBC,GAgB9BpI,YAAamI,EAAoB,CAAC,CAChC1L,IAAK,oBACLC,MAAO,WACL+I,KAAKiD,aACL7B,IAEI8B,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,oBAAqB4G,OAC3EkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,oBAAqB4G,MAAMxG,KAAKwG,QAGvF,CACDhJ,IAAK,wBACLC,MAAO,SAA+BkM,EAAWC,EAAWC,GAE1D,OAD8BvH,IAAUV,EAAaO,gBAAgBqE,KAAKpE,SAAUR,EAAaO,gBAAgB0H,MAG7GH,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,wBAAyB4G,MACxEkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,wBAAyB4G,MAAMxG,KAAKwG,KAAMmD,EAAWC,EAAWC,IAGrHtH,EAAaiE,KAAK3F,MAAO8I,KAAepH,EAAaiE,KAAKsD,MAAOF,KAAerH,EAAaiE,KAAKpE,QAASyH,MAEpH,CACDrM,IAAK,qBACLC,MAAO,SAA4BsM,EAAWC,EAAWC,GAClD3H,IAAUyH,EAAU9H,MAAOuE,KAAK3F,MAAMoB,QAAWK,IAAUuG,EAAoBoB,GAAcpB,EAAoBrC,KAAKpE,YACzHoE,KAAK8C,YAAc,MAGrB9C,KAAKiD,aAEDC,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,qBAAsB4G,OAC5EkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,qBAAsB4G,MAAMxG,KAAKwG,KAAMuD,EAAWC,EAAWC,KAGpH,CACDzM,IAAK,aACLC,MAAO,SAAoByM,GACzB,IAAIpD,YAAQN,KAAKvE,OAAjB,CAIA,IAAIkE,EAAe4C,IACnB1C,EAAqB6D,GAAWC,EAAY3D,MAC5CA,KAAKvE,MAAOkE,EAAcqC,EAAa3B,EACvCL,KAAKtD,UAGN,CACD1F,IAAK,QACL4M,IAAK,WACH,MAAO,GAAG/G,OAAOmF,EAAa,MAAMnF,OAAOmD,KAAK+C,eAEjD,CACD/L,IAAK,QACL4M,IAAK,WACH,GAAyB,OAArB5D,KAAK8C,YACP,OAAO9C,KAAK8C,YAGd,IACIpH,EADe0G,EAAWpC,KAAKpE,SACNF,UAEzBD,EAAQ4G,EAAoBrC,KAAKpE,SAyBrC,OAvBIoE,KAAK3F,MAAMoB,QAAU6E,YAAQN,KAAK3F,MAAMoB,SACrCA,EAEMC,EAIqEsE,KAAK3F,MAAMoB,MAEzFA,EAAQ6E,YAAQ7E,GAASuE,KAAK3F,MAAMoB,MAAQvE,OAAOoL,OAAO,GAAI7G,EAAOuE,KAAK3F,MAAMoB,OAPhFA,EAAQuE,KAAK3F,MAAMoB,OAYA,oBAAZoG,IACTpG,EAAQoG,EAAQ,CACdpG,MAAOA,EACPqG,YAAaA,KAKjB9B,KAAK8C,YAAcP,EAA2B,KAAM9G,GAC7CuE,KAAK8C,gBAITJ,EA7GT,CA8GEd,GAUF,OARAc,EAAmBV,YAAcA,EACjCU,EAAmBjH,MAAQyG,EAC3BQ,EAAmBmB,aAAe3M,OAAOoL,OAAO,GAAIV,EAAkBiC,aAAczI,EAAaE,OACjGoH,EAAmBoB,UAAY5M,OAAOoL,OAAO,GAAIV,EAAkBkC,UAAW,CAC5ErI,MAAOF,IAAU/D,SAGnBkL,EAAmBqB,cAAgBxB,EAC5BG,KAWThB,EAAUqC,cAAgBA,IACXrC,ICnPXsC,EAEJ,SAAUC,GAGR,SAASD,IAGP,OAFAtK,YAAgBsG,KAAMgE,GAEf1K,YAA2B0G,KAAMrH,YAAgBqL,GAAY/L,MAAM+H,KAAM3H,YA8BlF,OAnCA2B,YAAUgK,EAAYC,GAQtB1J,YAAayJ,EAAY,CAAC,CACxBhN,IAAK,kBACLC,MAAO,WACL,IAAIwE,EAAQuE,KAAK3F,MAAMoB,OAAS,GAC5ByI,EAAqB9I,EAAaO,gBAAgBqE,KAAKpE,UAAY,GAavE,OAXIsI,EAAmBxI,WAAawI,EAAmBzI,OAI9CuE,KAAK3F,MAAMoB,MAAyEuE,KAAK3F,MAAMoB,MAEtGA,EAAQyI,EAAmBzI,OAClByI,EAAmBzI,QAC5BA,EAAQ0I,YAAUD,EAAmBzI,MAAOA,IAGvCL,EAAaI,iBAAiBC,EAAOyI,EAAmBxI,WAAasE,KAAK3F,MAAMqB,aAExF,CACD1E,IAAK,SACLC,MAAO,WACL,OAAOyD,EAAkBsF,KAAK3F,MAAMmD,cAIxCwG,EAAWlC,YAAc,aAClBkC,EApCT,CAqCEI,aAEFJ,EAAWF,UAAY,CAIrBrI,MAAOF,IAAU/D,OAKjBgG,SAAUjC,IAAUgC,KAKpB7B,UAAWH,IAAU8I,MAEvBL,EAAWM,aAAe,CACxB7I,WAAO,EACP+B,SAAU,KACV9B,WAAW,GAEbsI,EAAWO,kBAAoBnJ,EAAaE,MAC5C0I,EAAWH,aAAezI,EAAaE,MACvC0I,EAAWD,cAAgBrC,EAAUqC,cACtBC,ICpFXQ,EAAsB,CACxBC,aAAc,CACZC,QAAS,UACTC,MAAO,QACPC,QAAS,UACTC,KAAM,QAERC,eAAgB,CACdC,QAAS,UACTC,MAAO,QACPN,QAAS,UACTC,MAAO,QACPC,QAAS,WAEXK,cAAe,CACb,EAAK,IACLJ,KAAM,OACNK,MAAO,QACPC,OAAQ,SACRC,MAAO,SAETC,aAAc,CACZ,EAAK,IACLR,KAAM,OACNK,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPE,OAAQ,SACRC,KAAM,QAERC,YAAa,CACXC,QAAS,UACTC,QAAS,UACTC,YAAa,eAEfC,MAAO,CACLC,OAAQ,UACRX,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPU,OAAQ,WAEVC,QAAS,CACP,EAAK,IACLlB,KAAM,OACNmB,KAAM,OACNC,SAAU,YACVC,QAAS,WACTL,OAAQ,UACRX,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPU,OAAQ,UACRK,QAAS,a,mBCpDEqB,ICCX/C,EAAeD,EAAoBC,aACnCK,EAAiBN,EAAoBM,eACrCG,EAAgBT,EAAoBS,cACpCI,EAAeb,EAAoBa,aACnCG,GAAchB,EAAoBgB,YAClCI,GAAQpB,EAAoBoB,MAC5BG,GAAUvB,EAAoBuB,QAmBlC,SAASiC,GAAkBK,GACzB,OAAO,SAAUhO,EAAOuM,EAAUH,EAAe6B,GAC/C,IAAI3B,EAAYtM,EAAMuM,GAEtB,GAAyB,qBAAdD,EAAX,CAIA,IAAI4B,SAAuB5B,EAE3B,GAAsB,WAAlB4B,EACF,OAAO,IAAIC,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,eAAe/J,OAAO0L,EAAe,mBAAmB1L,OAAO4J,EAAe,gBAAkB,aAGtK,IAAIgC,EAAa9B,EAAU1I,MAAM,KAC7ByK,EAAeD,EAAWnQ,OAE9B,KAAIoQ,EAAe,GAAKA,EAAe,GASrC,OAAO,IAAIF,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,OAAO/J,OAAO8J,EAAW,mBAAmB9J,OAAO4J,EAAe,gBAAkB,wDAAwD5J,OAAOwL,EAAYvJ,KAAK,MAAO,OAR/O,IAAK,IAAI1G,EAAI,EAAGA,EAAIsQ,EAActQ,IAAK,CAGrC,IAAoB,IAFHiQ,EAAY1H,QAAQ8H,EAAWrQ,IAG9C,OAAO,IAAIoQ,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,OAAO/J,OAAO4L,EAAWrQ,GAAI,mBAAmByE,OAAO4J,EAAe,gBAAkB,aAAa5J,OAAOwL,EAAYvJ,KAAK,MAAO,UA/BxMvD,IAAUsM,MAAM3Q,OAAOmQ,OAAO5C,IAC5BlJ,IAAUsM,MAAM3Q,OAAOmQ,OAAOvC,IAC3BkD,GAAkB9Q,OAAOmQ,OAAOpC,IAC/B+C,GAAkB9Q,OAAOmQ,OAAOhC,IAClC9J,IAAUsM,MAAM3Q,OAAOmQ,OAAO7B,KACpCjK,IAAUsM,MAAM3Q,OAAOmQ,OAAOzB,KAC3BoC,GAAkB9Q,OAAOmQ,OAAOtB,KAkC5B4B,I,SCzDXg4B,ICAWh3B,GAAf,ECAeC,GAAf,E,MFAc1R,OAAOmlD,OAAO,CAC1BC,YAAa,WAEbC,aAAc,UAEdC,YAAa,SAEbC,WAAY,YAEZC,YAAa,WAEbC,WAAY,UAEZl8C,MAAO,WG6CT,IAxC0Bo/B,GAwCtBA,GAAS3oC,OAAOmlD,QAxCMxc,GAjBb,CACX+c,MAAO,UACPC,KAAM,UACNC,SAAU,UACVC,SAAU,UACVC,OAAQ,UACRzoB,QAAS,UACT0oB,KAAM,UACNC,SAAU,UACVC,OAAQ,UACRC,IAAK,UACLC,MAAO,UACPC,MAAO,UACPC,UAAW,UACXnhB,MAAO,WAIAv+B,YAAc,GAAIgiC,GAAQ,CAC/B0I,YAAa1I,GAAOqd,SACpBzU,SAAU5I,GAAOud,IACjBzU,UAAW9I,GAAO0d,UAClBlV,aAAcxI,GAAOzD,MACrB2M,UAAWlJ,GAAO+c,MAClBY,SAAU3d,GAAOgd,KACjB1T,UAAWtJ,GAAOmd,OAClBS,SAAU5d,GAAO+c,MACjBvT,YAAaxJ,GAAOkd,SACpB9T,WAAYpJ,GAAOtL,QACnBsU,YAAahJ,GAAOod,KACpBS,kBAAmB7d,GAAOqd,SAC1BS,eAAgB9d,GAAOud,IACvBQ,iBAAkB/d,GAAOyd,MACzBO,gBAAiBhe,GAAO0d,UACxBO,mBAAoBje,GAAOzD,MAC3B2hB,gBAAiBle,GAAO+c,MACxBoB,yBAA0Bne,GAAOsd,OACjCc,gBAAiBpe,GAAOmd,OACxBkB,eAAgBre,GAAO+c,MACvBuB,kBAAmBte,GAAOkd,SAC1BqB,iBAAkBve,GAAOtL,QACzB8pB,kBAAmBxe,GAAOod,KAC1BqB,eAAgBze,GAAOzD,MACvBmiB,YAAa1e,GAAO0d,UACpBiB,aAAc3e,GAAOyd,MACrBmB,WAAY5e,GAAOud,IACnBsB,cAAe7e,GAAOqd,SACtByB,YAAa9e,GAAO+c,MACpBgC,YAAa/e,GAAOmd,OACpB6B,WAAYhf,GAAO+c,MACnBkC,cAAejf,GAAOkd,SACtBgC,aAAclf,GAAOtL,QACrByqB,cAAenf,GAAOod,KACtBgC,YAAapf,GAAOtL,YCvDpByL,GAAc9oC,OAAOmlD,OAAO,CAC9B6C,SAAU,QACVC,OAAQ,gBCFNlf,GAAa/oC,OAAOmlD,OAAO,CAC7B+C,WAAY,gEACZC,oBAAqB,oDACrBC,eAAgB,UAEhBC,cAAe,WAEfC,eAAgB,OAEhBC,cAAe,WAEfC,eAAgB,UAEhBC,gBAAiB,WAEjBC,gBAAiB,IACjBC,iBAAkB,IAClBC,eAAgB,IAChBC,WAAY,IAEZC,cAAe,MACfC,oBAAqB,KACrBC,iBAAkB,EAClBC,oBAAqB,EACrBC,uBAAwB,aACxBC,sBAAuB,cCzBrBj4C,GAAUlR,OAAOmlD,OAAO,CAC1Bp2C,SAAU,WAEVC,QAAS,WAETL,OAAQ,SAERX,MAAO,UAEPC,OAAQ,SAERC,MAAO,UAEPU,OAAQ,OAERK,QAAS,YCfP25B,GAAQ5oC,OAAOmlD,OAAO,CACxBiE,iBAAkB,UAClBC,kBAAmB,WACnBC,iBAAkB,SCDhBn5C,GACO,EADPA,GAGM,GAHNA,GAKK,GALLA,GAOM,GAPNA,GASK,GATLA,GAWM,GAGNu4B,GAAc1oC,OAAOmlD,OAAO,CAC9Bn2C,QAAS,GAAGrJ,OAAOwK,GAAgB,MACnCxB,OAAQ,GAAGhJ,OAAOwK,GAAe,MACjCnC,MAAO,GAAGrI,OAAOwK,GAAc,MAC/BlC,OAAQ,GAAGtI,OAAOwK,GAAe,MACjCjC,MAAO,GAAGvI,OAAOwK,GAAc,MAC/BvB,OAAQ,GAAGjJ,OAAOwK,GAAe,MACjCo5C,SAAU,GAAG5jD,OAAOwK,GAvBP,MAuBgC,QCtB3C+G,GAAQlX,OAAOmlD,OAAO,CACxBqE,UAAW,cAAc7jD,OAAO+iC,GAAYz6B,QAC5Cw7C,SAAU,cAAc9jD,OAAO+iC,GAAYx6B,OAC3Cw7C,UAAW,cAAc/jD,OAAO+iC,GAAY95B,UCH1CuB,GAAS,CAAC,oFAAqF,oFAAqF,mFACpL04B,GAAU7oC,OAAOmlD,OAAO,CAC1BwE,OAAQx5C,GAAO,GACfy5C,OAAQz5C,GAAO,GACf05C,OAAQ15C,GAAO,GACf3C,QAAS2C,GAAO,GAChB1C,MAAO0C,GAAO,GACdzC,QAASyC,GAAO,KCRdS,GAAW5Q,OAAOmlD,OAAO,CAC3Bz3C,QAAS,KACTD,MAAO,EACPK,OAAQ,EACRD,SAAU,OC3BZ,mCAoCA,IACI7E,GAAY,CACdy/B,QAASA,GACTE,OAAQA,GACRG,YAAaA,GACbC,WAAYA,GACZ73B,QAASA,GACT03B,MAAOA,GACP1xB,MAAOA,GACPwxB,YAAaA,GACbG,QAASA,GACTj4B,SAAUA,IAERk5C,GAAiB,CAEnB,mBAAoBnhB,GAAOkJ,UAC3B,2BAA4BlJ,GAAO0I,YACnC,gBAAiB1I,GAAO2d,SACxB,qBAAsB,OACtB,+BAAgC3d,GAAOke,gBACvC,gCAAiCle,GAAOwI,aACxC,iCAAkCxI,GAAO6d,kBACzC,kCAAmC7d,GAAOwI,aAC1C,0BAA2BxI,GAAOme,yBAClC,2BAA4Bne,GAAO6d,kBACnC,uCAAwC7d,GAAOwI,aAC/C,+CAAgDxI,GAAOkJ,UACvD,4CAA6ClJ,GAAOwI,aACpD,oDAAqDxI,GAAOkJ,WAE1DttC,GAAQ+lC,IAAcE,cAAc,CACtC1qC,IA/BQ,SAgCRkJ,UAAWrC,YAAc,GAAIqC,GAAW,GAAI8gD,O,iDCrD/B,SAAS,EAAWC,EAAQt2C,EAAMu2C,GAc/C,OAVE,EAjBJ,WACE,GAAuB,qBAAZp3C,UAA4BA,QAAQq3C,UAAW,OAAO,EACjE,GAAIr3C,QAAQq3C,UAAUC,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EAExC,IAEE,OADAvmC,KAAK1hB,UAAU8S,SAAS1S,KAAKsQ,QAAQq3C,UAAUrmC,KAAM,IAAI,iBAClD,EACP,MAAOxF,GACP,OAAO,GAKLgsC,GACWx3C,QAAQq3C,UAER,SAAoBF,EAAQt2C,EAAMu2C,GAC7C,IAAI1oC,EAAI,CAAC,MACTA,EAAExgB,KAAKC,MAAMugB,EAAG7N,GAChB,IACIhR,EAAW,IADGuoC,SAASzyB,KAAKxX,MAAMgpD,EAAQzoC,IAG9C,OADI0oC,GAAO,OAAAroD,EAAA,GAAec,EAAUunD,EAAM9nD,WACnCO,IAIO1B,MAAM,KAAMI,WCzBjB,SAAS,EAAiB6oD,GACvC,IAAIK,EAAwB,oBAARC,IAAqB,IAAIA,SAAQv0C,EA8BrD,OA5BA,EAAmB,SAA0Bi0C,GAC3C,GAAc,OAAVA,ICRkCniC,EDQEmiC,GCPsB,IAAzDhf,SAASh2B,SAAS1S,KAAKulB,GAAIpe,QAAQ,kBDOQ,OAAOugD,ECR5C,IAA2BniC,EDUtC,GAAqB,oBAAVmiC,EACT,MAAM,IAAIrnD,UAAU,sDAGtB,GAAsB,qBAAX0nD,EAAwB,CACjC,GAAIA,EAAO9F,IAAIyF,GAAQ,OAAOK,EAAO39C,IAAIs9C,GAEzCK,EAAOzd,IAAIod,EAAOO,GAGpB,SAASA,IACP,OAAO,EAAUP,EAAO7oD,UAAW,OAAAS,EAAA,GAAekH,MAAM7G,aAW1D,OARAsoD,EAAQroD,UAAYlC,OAAOiD,OAAO+mD,EAAM9nD,UAAW,CACjDD,YAAa,CACXlC,MAAOwqD,EACPrqD,YAAY,EACZE,UAAU,EACVD,cAAc,KAGX,OAAAwB,EAAA,GAAe4oD,EAASP,KAGTA,GAnC1B,mC,iCE4BIQ,E,QAHAC,EAAQn3C,8CAAYm3C,QAASC,EAC7BC,EAA4B3xC,QAAQ1F,8CAAYq3C,2BAA6BF,GAC7EG,EAAS,GAWTt6B,EAAa,CAMf6Y,MAAO,SAAejjC,EAAImR,GACnBuzC,EAAO1kD,KACV0kD,EAAO1kD,GAqBb,SAAgBmR,GACd,IAAIuZ,EASN,WACO45B,IACHA,EAMJ,WACE,IAAI55B,EAAQ,IAAIi6B,aAAiB,CAC/Bl5B,QAASg5B,IAGX,OADA/5B,EAAMsB,SACCtB,EAXkBk6B,IAGzB,OAAON,EAdKt4B,GACR64B,EAAW,GACf1zC,EAAM/V,SAAQ,SAAUmF,GAClBA,GACFskD,EAASjqD,KAAK8vB,EAAM2B,OAAO9rB,OA1Bd8rB,CAAOlb,KAQxB4xB,QAAS,SAAiB/iC,GACxB,OAAOA,KAAM0kD,GAEfn4B,MAAO,WACD+3B,GACFA,EAAqB/3B,QAGvBm4B,EAAS,GACTJ,EAAuB,OC/D3B,mC,gECsCA,SAAS5F,IACP,IAAK,IAAIvuC,EAAOlV,UAAUC,OAAQwuB,EAAQ,IAAI5rB,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAChFsZ,EAAMtZ,GAAQnV,UAAUmV,GAG1B,OAAOsZ,EAAMjvB,QAAO,SAAUosB,EAAG7rB,GAC/B,GAAS,MAAL6rB,EACF,OAAO,EAIT,IAAI83B,EA8BR,SAAuBhwC,EAAKkxB,GAC1B,IAAI8e,EAAU,GAMd,OALAhwC,EAAIvT,SAAQ,SAAU8c,EAAGld,GACnBkd,IAAM2nB,GACR8e,EAAQ/jD,KAAKI,MAGV2jD,EArCSC,CAAcl1B,EAAO7C,GACnC,OAA0B,IAAnB83B,EAAQzjD,QAAgBF,IAAM2jD,EAAQ,MAC5C7yC,QAAO,SAAU0nC,EAAK3sB,GACvB,GAAiB,oBAANA,EACT,MAAM,IAAIzb,MAAM,2EAGlB,OAAY,OAARooC,EACK3sB,EAGF,WACL,IAAK,IAAIvZ,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,GAAQE,EAAQ,EAAGA,EAAQF,EAAOE,IACpFD,EAAKC,GAASvS,UAAUuS,GAG1BgmC,EAAI34C,MAAM+H,KAAM2K,GAChBsZ,EAAEhsB,MAAM+H,KAAM2K,MAEf,MC7BL,SAAS1P,EAAiBghD,EAAS5hD,GACjC,IAAI6hD,EAAW7hD,EAAMmb,IACjB2mC,EAAcF,EAAQzmC,IAGtBwB,EAAcnZ,YAAc,GAAIxD,GAEhC4hD,EAAQ5hD,MAAMoG,OAASpG,EAAMoG,QAE/BuW,EAAYvW,MAAQ5C,YAAc,GAAIo+C,EAAQ5hD,MAAMoG,MAAO,GAAIpG,EAAMoG,QAIvEuW,EAAYhgB,IAAMilD,EAAQjlD,KAAOqD,EAAMrD,IAEvCE,OAAOQ,KAAK2C,GAAO7B,SAAQ,SAAUkI,GAMR,IAAvBA,EAAKC,QAAQ,OAAuC,oBAAhBtG,EAAMqG,IAAuD,oBAAxBu7C,EAAQ5hD,MAAMqG,KACzFsW,EAAYtW,GAAQo7C,EAAsBG,EAAQ5hD,MAAMqG,GAAOrG,EAAMqG,QAIzE,IAAK,IAAI6M,EAAOlV,UAAUC,OAAQkF,EAAW,IAAItC,MAAMqS,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IACtGhQ,EAASgQ,EAAO,GAAKnV,UAAUmV,GAGjC,OAAmB,MAAf2uC,GAAmC,MAAZD,EAClBnhD,IAAMqhD,aAAankD,MAAM8C,IAAO,CAACkhD,EAASjlC,GAAana,OAAOW,KAMzC,wJAAwJX,OAAOs/C,GAEtLphD,IAAMqhD,aAAankD,MAAM8C,IAAO,CAACkhD,EAASp+C,YAAc,GAAImZ,EAAa,CAC9ExB,IAAK,SAAa6wB,GAChB6V,EAAS7V,GACT8V,EAAY9V,OAEZxpC,OAAOW,KAnFb,mC,iCC4BIkkD,E,QAHAC,EAAQn3C,8CAAYm3C,QAASC,EAC7BC,EAA4B3xC,QAAQ1F,8CAAYq3C,2BAA6BF,GAC7EG,EAAS,GAWTt6B,EAAa,CAMf6Y,MAAO,SAAejjC,EAAImR,GACnBuzC,EAAO1kD,KACV0kD,EAAO1kD,GAqBb,SAAgBmR,GACd,IAAIuZ,EASN,WACO45B,IACHA,EAMJ,WACE,IAAI55B,EAAQ,IAAIi6B,aAAiB,CAC/Bl5B,QAASg5B,IAGX,OADA/5B,EAAMsB,SACCtB,EAXkBk6B,IAGzB,OAAON,EAdKt4B,GACR64B,EAAW,GACf1zC,EAAM/V,SAAQ,SAAUmF,GAClBA,GACFskD,EAASjqD,KAAK8vB,EAAM2B,OAAO9rB,OA1Bd8rB,CAAOlb,KAQxB4xB,QAAS,SAAiB/iC,GACxB,OAAOA,KAAM0kD,GAEfn4B,MAAO,WACD+3B,GACFA,EAAqB/3B,QAGvBm4B,EAAS,GACTJ,EAAuB,OC/D3B,mC,iCC4BIA,E,QAHAC,EAAQn3C,8CAAYm3C,QAASC,EAC7BC,EAA4B3xC,QAAQ1F,8CAAYq3C,2BAA6BF,GAC7EG,EAAS,GAWTt6B,EAAa,CAMf6Y,MAAO,SAAejjC,EAAImR,GACnBuzC,EAAO1kD,KACV0kD,EAAO1kD,GAqBb,SAAgBmR,GACd,IAAIuZ,EASN,WACO45B,IACHA,EAMJ,WACE,IAAI55B,EAAQ,IAAIi6B,aAAiB,CAC/Bl5B,QAASg5B,IAGX,OADA/5B,EAAMsB,SACCtB,EAXkBk6B,IAGzB,OAAON,EAdKt4B,GACR64B,EAAW,GACf1zC,EAAM/V,SAAQ,SAAUmF,GAClBA,GACFskD,EAASjqD,KAAK8vB,EAAM2B,OAAO9rB,OA1Bd8rB,CAAOlb,KAQxB4xB,QAAS,SAAiB/iC,GACxB,OAAOA,KAAM0kD,GAEfn4B,MAAO,WACD+3B,GACFA,EAAqB/3B,QAGvBm4B,EAAS,GACTJ,EAAuB,OC/D3B,mC,iCC4BIA,E,QAHAC,EAAQn3C,8CAAYm3C,QAASC,EAC7BC,EAA4B3xC,QAAQ1F,8CAAYq3C,2BAA6BF,GAC7EG,EAAS,GAWTt6B,EAAa,CAMf6Y,MAAO,SAAejjC,EAAImR,GACnBuzC,EAAO1kD,KACV0kD,EAAO1kD,GAqBb,SAAgBmR,GACd,IAAIuZ,EASN,WACO45B,IACHA,EAMJ,WACE,IAAI55B,EAAQ,IAAIi6B,aAAiB,CAC/Bl5B,QAASg5B,IAGX,OADA/5B,EAAMsB,SACCtB,EAXkBk6B,IAGzB,OAAON,EAdKt4B,GACR64B,EAAW,GACf1zC,EAAM/V,SAAQ,SAAUmF,GAClBA,GACFskD,EAASjqD,KAAK8vB,EAAM2B,OAAO9rB,OA1Bd8rB,CAAOlb,KAQxB4xB,QAAS,SAAiB/iC,GACxB,OAAOA,KAAM0kD,GAEfn4B,MAAO,WACD+3B,GACFA,EAAqB/3B,QAGvBm4B,EAAS,GACTJ,EAAuB,OC/D3B,mC,6BCAA,qDAqCA,SAASv9C,IACP,IAAIwG,EAAOzP,MAAM9B,UAAUkX,MAAM9W,KAAKnB,WAClCF,EAAS,GAIb,OAHAwS,EAAKnS,SAAQ,SAAUiR,GACrBtR,EAKJ,SAAS+pD,EAAsB/pD,EAAQI,GACrC,GAAI4pD,EAAS5pD,GAAS,CACpB,IAAIb,EAAO,GAAGmF,OAAOiP,YAAmB5U,OAAOQ,KAAKa,IAAUuT,YAAmB5U,OAAOS,sBAAsBY,KAE1G6pD,EAASvkD,YAAc,GAAI1F,GAa/B,OAXAT,EAAKc,SAAQ,SAAUxB,GACjBmrD,EAAShqD,EAAOnB,KAASmrD,EAAS5pD,EAAOvB,IAC3CorD,EAAOprD,GAAOkrD,EAAsB/pD,EAAOnB,GAAMuB,EAAOvB,IAC/CmE,EAAQ5C,EAAOvB,KAASmE,EAAQhD,EAAOnB,IAChDorD,EAAOprD,GAAO8U,YAAmB,IAAIu2C,IAAI,GAAGxlD,OAAOiP,YAAmB3T,EAAOnB,IAAO8U,YAAmBvT,EAAOvB,OACrGmE,EAAQhD,EAAOnB,IACxBorD,EAAOprD,GAAO8U,YAAmB,IAAIu2C,IAAI,GAAGxlD,OAAOiP,YAAmB3T,EAAOnB,IAAO,CAACuB,EAAOvB,OAE5ForD,EAAOprD,GAAOuB,EAAOvB,MAGlBorD,EAEP,OAAOvkD,YAAc,GAAI1F,GAxBhB+pD,CAAsB/pD,EAAQsR,MAElCtR,EA0BT,SAASgqD,EAAS9kC,GAChB,OAAOA,IAAyB,kBAATA,GAAqC,oBAATA,KAAyBniB,MAAMC,QAAQkiB,GAG5F,SAASliB,EAAQkiB,GACf,OAAOA,GAAQniB,MAAMC,QAAQkiB,K,6BC1E/B,qDAqCA,SAASlZ,IACP,IAAIwG,EAAOzP,MAAM9B,UAAUkX,MAAM9W,KAAKnB,WAClCF,EAAS,GAIb,OAHAwS,EAAKnS,SAAQ,SAAUiR,GACrBtR,EAKJ,SAAS+pD,EAAsB/pD,EAAQI,GACrC,GAAI4pD,EAAS5pD,GAAS,CACpB,IAAIb,EAAO,GAAGmF,OAAOiP,YAAmB5U,OAAOQ,KAAKa,IAAUuT,YAAmB5U,OAAOS,sBAAsBY,KAE1G6pD,EAASvkD,YAAc,GAAI1F,GAa/B,OAXAT,EAAKc,SAAQ,SAAUxB,GACjBmrD,EAAShqD,EAAOnB,KAASmrD,EAAS5pD,EAAOvB,IAC3CorD,EAAOprD,GAAOkrD,EAAsB/pD,EAAOnB,GAAMuB,EAAOvB,IAC/CmE,EAAQ5C,EAAOvB,KAASmE,EAAQhD,EAAOnB,IAChDorD,EAAOprD,GAAO8U,YAAmB,IAAIu2C,IAAI,GAAGxlD,OAAOiP,YAAmB3T,EAAOnB,IAAO8U,YAAmBvT,EAAOvB,OACrGmE,EAAQhD,EAAOnB,IACxBorD,EAAOprD,GAAO8U,YAAmB,IAAIu2C,IAAI,GAAGxlD,OAAOiP,YAAmB3T,EAAOnB,IAAO,CAACuB,EAAOvB,OAE5ForD,EAAOprD,GAAOuB,EAAOvB,MAGlBorD,EAEP,OAAOvkD,YAAc,GAAI1F,GAxBhB+pD,CAAsB/pD,EAAQsR,MAElCtR,EA0BT,SAASgqD,EAAS9kC,GAChB,OAAOA,IAAyB,kBAATA,GAAqC,oBAATA,KAAyBniB,MAAMC,QAAQkiB,GAG5F,SAASliB,EAAQkiB,GACf,OAAOA,GAAQniB,MAAMC,QAAQkiB,K,6BC1E/B,qDAqCA,SAASlZ,IACP,IAAIwG,EAAOzP,MAAM9B,UAAUkX,MAAM9W,KAAKnB,WAClCF,EAAS,GAIb,OAHAwS,EAAKnS,SAAQ,SAAUiR,GACrBtR,EAKJ,SAAS+pD,EAAsB/pD,EAAQI,GACrC,GAAI4pD,EAAS5pD,GAAS,CACpB,IAAIb,EAAO,GAAGmF,OAAOiP,YAAmB5U,OAAOQ,KAAKa,IAAUuT,YAAmB5U,OAAOS,sBAAsBY,KAE1G6pD,EAASvkD,YAAc,GAAI1F,GAa/B,OAXAT,EAAKc,SAAQ,SAAUxB,GACjBmrD,EAAShqD,EAAOnB,KAASmrD,EAAS5pD,EAAOvB,IAC3CorD,EAAOprD,GAAOkrD,EAAsB/pD,EAAOnB,GAAMuB,EAAOvB,IAC/CmE,EAAQ5C,EAAOvB,KAASmE,EAAQhD,EAAOnB,IAChDorD,EAAOprD,GAAO8U,YAAmB,IAAIu2C,IAAI,GAAGxlD,OAAOiP,YAAmB3T,EAAOnB,IAAO8U,YAAmBvT,EAAOvB,OACrGmE,EAAQhD,EAAOnB,IACxBorD,EAAOprD,GAAO8U,YAAmB,IAAIu2C,IAAI,GAAGxlD,OAAOiP,YAAmB3T,EAAOnB,IAAO,CAACuB,EAAOvB,OAE5ForD,EAAOprD,GAAOuB,EAAOvB,MAGlBorD,EAEP,OAAOvkD,YAAc,GAAI1F,GAxBhB+pD,CAAsB/pD,EAAQsR,MAElCtR,EA0BT,SAASgqD,EAAS9kC,GAChB,OAAOA,IAAyB,kBAATA,GAAqC,oBAATA,KAAyBniB,MAAMC,QAAQkiB,GAG5F,SAASliB,EAAQkiB,GACf,OAAOA,GAAQniB,MAAMC,QAAQkiB,K,6BC1E/B,qDAqCA,SAASlZ,IACP,IAAIwG,EAAOzP,MAAM9B,UAAUkX,MAAM9W,KAAKnB,WAClCF,EAAS,GAIb,OAHAwS,EAAKnS,SAAQ,SAAUiR,GACrBtR,EAKJ,SAAS+pD,EAAsB/pD,EAAQI,GACrC,GAAI4pD,EAAS5pD,GAAS,CACpB,IAAIb,EAAO,GAAGmF,OAAOiP,YAAmB5U,OAAOQ,KAAKa,IAAUuT,YAAmB5U,OAAOS,sBAAsBY,KAE1G6pD,EAASvkD,YAAc,GAAI1F,GAa/B,OAXAT,EAAKc,SAAQ,SAAUxB,GACjBmrD,EAAShqD,EAAOnB,KAASmrD,EAAS5pD,EAAOvB,IAC3CorD,EAAOprD,GAAOkrD,EAAsB/pD,EAAOnB,GAAMuB,EAAOvB,IAC/CmE,EAAQ5C,EAAOvB,KAASmE,EAAQhD,EAAOnB,IAChDorD,EAAOprD,GAAO8U,YAAmB,IAAIu2C,IAAI,GAAGxlD,OAAOiP,YAAmB3T,EAAOnB,IAAO8U,YAAmBvT,EAAOvB,OACrGmE,EAAQhD,EAAOnB,IACxBorD,EAAOprD,GAAO8U,YAAmB,IAAIu2C,IAAI,GAAGxlD,OAAOiP,YAAmB3T,EAAOnB,IAAO,CAACuB,EAAOvB,OAE5ForD,EAAOprD,GAAOuB,EAAOvB,MAGlBorD,EAEP,OAAOvkD,YAAc,GAAI1F,GAxBhB+pD,CAAsB/pD,EAAQsR,MAElCtR,EA0BT,SAASgqD,EAAS9kC,GAChB,OAAOA,IAAyB,kBAATA,GAAqC,oBAATA,KAAyBniB,MAAMC,QAAQkiB,GAG5F,SAASliB,EAAQkiB,GACf,OAAOA,GAAQniB,MAAMC,QAAQkiB,K,qCCjElB,IAAIkO,EAAE10B,EAAQ,IAAiBulB,EAAE,oBAAoBnjB,QAAQA,OAAOqpD,IAAIvoD,EAAEqiB,EAAEnjB,OAAOqpD,IAAI,iBAAiB,MAAMh2B,EAAElQ,EAAEnjB,OAAOqpD,IAAI,gBAAgB,MAAMz3B,EAAEzO,EAAEnjB,OAAOqpD,IAAI,kBAAkB,MAAM/1B,EAAEnQ,EAAEnjB,OAAOqpD,IAAI,qBAAqB,MAAMC,EAAEnmC,EAAEnjB,OAAOqpD,IAAI,kBAAkB,MAAMv3B,EAAE3O,EAAEnjB,OAAOqpD,IAAI,kBAAkB,MAAME,EAAEpmC,EAAEnjB,OAAOqpD,IAAI,iBAAiB,MAAMjmD,EAAE+f,EAAEnjB,OAAOqpD,IAAI,qBAAqB,MAAMhmD,EAAE8f,EAAEnjB,OAAOqpD,IAAI,kBAAkB,MAAMlmC,GAAGnjB,OAAOqpD,IAAI,uBACpc,IAAIG,EAAErmC,EAAEnjB,OAAOqpD,IAAI,cAAc,MAAMI,EAAGtmC,EAAEnjB,OAAOqpD,IAAI,cAAc,MAAMlmC,GAAGnjB,OAAOqpD,IAAI,qBAAqBlmC,GAAGnjB,OAAOqpD,IAAI,mBAAmBlmC,GAAGnjB,OAAOqpD,IAAI,eAAe,IAAIK,EAAE,oBAAoB1pD,QAAQA,OAAOC,SACrN,SAAS0pD,EAAEpqC,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEuL,EAAE,EAAEA,EAAE1rB,UAAUC,OAAOyrB,IAAItL,GAAG,WAAWuvB,mBAAmB3vC,UAAU0rB,IAAI,MAAM,yBAAyBvL,EAAE,WAAWC,EAAE,iHAAiH,IAAIoqC,EAAE,CAACC,UAAU,WAAW,OAAM,GAAIC,mBAAmB,aAAaC,oBAAoB,aAAaC,gBAAgB,cAAcC,EAAE,GACnc,SAASC,EAAE3qC,EAAEC,EAAEsL,GAAG/jB,KAAK3F,MAAMme,EAAExY,KAAKpE,QAAQ6c,EAAEzY,KAAKojD,KAAKF,EAAEljD,KAAKqjD,QAAQt/B,GAAG8+B,EAA6R,SAASS,KAA6B,SAASC,EAAE/qC,EAAEC,EAAEsL,GAAG/jB,KAAK3F,MAAMme,EAAExY,KAAKpE,QAAQ6c,EAAEzY,KAAKojD,KAAKF,EAAEljD,KAAKqjD,QAAQt/B,GAAG8+B,EAA3YM,EAAE/pD,UAAUoqD,iBAAiB,GAAGL,EAAE/pD,UAAU0nB,SAAS,SAAStI,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAMhQ,MAAMo6C,EAAE,KAAK5iD,KAAKqjD,QAAQJ,gBAAgBjjD,KAAKwY,EAAEC,EAAE,aAAa0qC,EAAE/pD,UAAUqqD,YAAY,SAASjrC,GAAGxY,KAAKqjD,QAAQN,mBAAmB/iD,KAAKwY,EAAE,gBAA8B8qC,EAAElqD,UAAU+pD,EAAE/pD,UAAsF,IAAIsqD,EAAEH,EAAEnqD,UAAU,IAAIkqD,EAC/eI,EAAEvqD,YAAYoqD,EAAEh4B,EAAEm4B,EAAEP,EAAE/pD,WAAWsqD,EAAEC,sBAAqB,EAAG,IAAIC,EAAE,CAACzzC,QAAQ,MAAM0zC,EAAE,CAAC1zC,QAAQ,MAAM2zC,EAAE5sD,OAAOkC,UAAUyC,eAAekoD,EAAE,CAAC/sD,KAAI,EAAGwe,KAAI,EAAGwuC,QAAO,EAAGC,UAAS,GACvK,SAASC,EAAE1rC,EAAEC,EAAEsL,GAAG,IAAIzO,EAAE0O,EAAE,GAAG1d,EAAE,KAAK0kB,EAAE,KAAK,GAAG,MAAMvS,EAAE,IAAInD,UAAK,IAASmD,EAAEjD,MAAMwV,EAAEvS,EAAEjD,UAAK,IAASiD,EAAEzhB,MAAMsP,EAAE,GAAGmS,EAAEzhB,KAAKyhB,EAAEqrC,EAAEtqD,KAAKif,EAAEnD,KAAKyuC,EAAEloD,eAAeyZ,KAAK0O,EAAE1O,GAAGmD,EAAEnD,IAAI,IAAI2O,EAAE5rB,UAAUC,OAAO,EAAE,GAAG,IAAI2rB,EAAED,EAAExmB,SAASumB,OAAO,GAAG,EAAEE,EAAE,CAAC,IAAI,IAAI9H,EAAEjhB,MAAM+oB,GAAGu0B,EAAE,EAAEA,EAAEv0B,EAAEu0B,IAAIr8B,EAAEq8B,GAAGngD,UAAUmgD,EAAE,GAAGx0B,EAAExmB,SAAS2e,EAAE,GAAG3D,GAAGA,EAAElU,aAAa,IAAIgR,KAAK2O,EAAEzL,EAAElU,kBAAe,IAAS0f,EAAE1O,KAAK0O,EAAE1O,GAAG2O,EAAE3O,IAAI,MAAM,CAAC6uC,SAASpqD,EAAEmT,KAAKsL,EAAExhB,IAAIsP,EAAEkP,IAAIwV,EAAE3wB,MAAM2pB,EAAEogC,OAAOP,EAAE1zC,SACvU,SAASk0C,EAAE7rC,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE2rC,WAAWpqD,EAA0G,IAAIuqD,EAAE,OAAOC,EAAE,GAAG,SAASC,EAAEhsC,EAAEC,EAAEsL,EAAEzO,GAAG,GAAGivC,EAAEjsD,OAAO,CAAC,IAAI0rB,EAAEugC,EAAEloC,MAA8D,OAAxD2H,EAAE7a,OAAOqP,EAAEwL,EAAEygC,UAAUhsC,EAAEuL,EAAE7S,KAAK4S,EAAEC,EAAEpoB,QAAQ0Z,EAAE0O,EAAElpB,MAAM,EAASkpB,EAAE,MAAM,CAAC7a,OAAOqP,EAAEisC,UAAUhsC,EAAEtH,KAAK4S,EAAEnoB,QAAQ0Z,EAAExa,MAAM,GAC7b,SAAS4pD,EAAElsC,GAAGA,EAAErP,OAAO,KAAKqP,EAAEisC,UAAU,KAAKjsC,EAAErH,KAAK,KAAKqH,EAAE5c,QAAQ,KAAK4c,EAAE1d,MAAM,EAAE,GAAGypD,EAAEjsD,QAAQisD,EAAEvsD,KAAKwgB,GAE2F,SAASmsC,EAAEnsC,EAAEC,EAAEsL,GAAG,OAAO,MAAMvL,EAAE,EADlO,SAASosC,EAAEpsC,EAAEC,EAAEsL,EAAEzO,GAAG,IAAI0O,SAASxL,EAAK,cAAcwL,GAAG,YAAYA,IAAExL,EAAE,MAAK,IAAIlS,GAAE,EAAG,GAAG,OAAOkS,EAAElS,GAAE,OAAQ,OAAO0d,GAAG,IAAK,SAAS,IAAK,SAAS1d,GAAE,EAAG,MAAM,IAAK,SAAS,OAAOkS,EAAE2rC,UAAU,KAAKpqD,EAAE,KAAKuyB,EAAEhmB,GAAE,GAAI,GAAGA,EAAE,OAAOyd,EAAEzO,EAAEkD,EAAE,KAAKC,EAAE,IAAIosC,EAAErsC,EAAE,GAAGC,GAAG,EAAyB,GAAvBnS,EAAE,EAAEmS,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOvd,MAAMC,QAAQqd,GAAG,IAAI,IAAIwS,EAAE,EAAEA,EAAExS,EAAElgB,OAAO0yB,IAAI,CAAQ,IAAI/G,EAAExL,EAAEosC,EAAf7gC,EAAExL,EAAEwS,GAAeA,GAAG1kB,GAAGs+C,EAAE5gC,EAAEC,EAAEF,EAAEzO,QAAQ,GAAG,OAAOkD,GAAG,kBAAkBA,EAAEyL,EAAE,KAAiCA,EAAE,oBAA7BA,EAAE0+B,GAAGnqC,EAAEmqC,IAAInqC,EAAE,eAAsCyL,EAAE,KAAM,oBAAoBA,EAAE,IAAIzL,EAAEyL,EAAEzqB,KAAKgf,GAAGwS,EACpf,IAAIhH,EAAExL,EAAEpI,QAAQuL,MAA6BrV,GAAGs+C,EAA1B5gC,EAAEA,EAAE/sB,MAAMgtB,EAAExL,EAAEosC,EAAE7gC,EAAEgH,KAAcjH,EAAEzO,QAAQ,GAAG,WAAW0O,EAAE,MAAMD,EAAE,GAAGvL,EAAEhQ,MAAMo6C,EAAE,GAAG,oBAAoB7+B,EAAE,qBAAqB7sB,OAAOQ,KAAK8gB,GAAG1Z,KAAK,MAAM,IAAIilB,EAAE,KAAK,OAAOzd,EAAqCs+C,CAAEpsC,EAAE,GAAGC,EAAEsL,GAAG,SAAS8gC,EAAErsC,EAAEC,GAAG,MAAM,kBAAkBD,GAAG,OAAOA,GAAG,MAAMA,EAAExhB,IAH7I,SAAgBwhB,GAAG,IAAIC,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,KAAK,GAAGD,GAAGja,QAAQ,SAAQ,SAASia,GAAG,OAAOC,EAAED,MAG8CssC,CAAOtsC,EAAExhB,KAAKyhB,EAAEvM,SAAS,IAAI,SAAS64C,EAAGvsC,EAAEC,GAAGD,EAAErH,KAAK3X,KAAKgf,EAAE5c,QAAQ6c,EAAED,EAAE1d,SACzX,SAASkqD,EAAGxsC,EAAEC,EAAEsL,GAAG,IAAIzO,EAAEkD,EAAErP,OAAO6a,EAAExL,EAAEisC,UAAUjsC,EAAEA,EAAErH,KAAK3X,KAAKgf,EAAE5c,QAAQ6c,EAAED,EAAE1d,SAASI,MAAMC,QAAQqd,GAAGysC,EAAEzsC,EAAElD,EAAEyO,GAAE,SAASvL,GAAG,OAAOA,KAAI,MAAMA,IAAI6rC,EAAE7rC,KAAKA,EAJtJ,SAAYA,EAAEC,GAAG,MAAM,CAAC0rC,SAASpqD,EAAEmT,KAAKsL,EAAEtL,KAAKlW,IAAIyhB,EAAEjD,IAAIgD,EAAEhD,IAAInb,MAAMme,EAAEne,MAAM+pD,OAAO5rC,EAAE4rC,QAIkEc,CAAG1sC,EAAEwL,IAAIxL,EAAExhB,KAAKyhB,GAAGA,EAAEzhB,MAAMwhB,EAAExhB,IAAI,IAAI,GAAGwhB,EAAExhB,KAAKuH,QAAQ+lD,EAAE,OAAO,KAAKvgC,IAAIzO,EAAEtd,KAAKwgB,IAAI,SAASysC,EAAEzsC,EAAEC,EAAEsL,EAAEzO,EAAE0O,GAAG,IAAI1d,EAAE,GAAG,MAAMyd,IAAIzd,GAAG,GAAGyd,GAAGxlB,QAAQ+lD,EAAE,OAAO,KAAkBK,EAAEnsC,EAAEwsC,EAAjBvsC,EAAE+rC,EAAE/rC,EAAEnS,EAAEgP,EAAE0O,IAAa0gC,EAAEjsC,GAAG,SAAS0sC,IAAI,IAAI3sC,EAAEorC,EAAEzzC,QAAQ,GAAG,OAAOqI,EAAE,MAAMhQ,MAAMo6C,EAAE,MAAM,OAAOpqC,EACpZ,IAAI4sC,EAAE,CAACvqD,SAAS,CAACsD,IAAI,SAASqa,EAAEC,EAAEsL,GAAG,GAAG,MAAMvL,EAAE,OAAOA,EAAE,IAAIlD,EAAE,GAAmB,OAAhB2vC,EAAEzsC,EAAElD,EAAE,KAAKmD,EAAEsL,GAAUzO,GAAG9c,QAAQ,SAASggB,EAAEC,EAAEsL,GAAG,GAAG,MAAMvL,EAAE,OAAOA,EAAqBmsC,EAAEnsC,EAAEusC,EAAvBtsC,EAAE+rC,EAAE,KAAK,KAAK/rC,EAAEsL,IAAa2gC,EAAEjsC,IAAI3d,MAAM,SAAS0d,GAAG,OAAOmsC,EAAEnsC,GAAE,WAAW,OAAO,OAAM,OAAO6sC,QAAQ,SAAS7sC,GAAG,IAAIC,EAAE,GAAqC,OAAlCwsC,EAAEzsC,EAAEC,EAAE,MAAK,SAASD,GAAG,OAAOA,KAAWC,GAAG6sC,KAAK,SAAS9sC,GAAG,IAAI6rC,EAAE7rC,GAAG,MAAMhQ,MAAMo6C,EAAE,MAAM,OAAOpqC,IAAI+sC,UAAU,WAAW,MAAM,CAACp1C,QAAQ,OAAO/L,UAAU++C,EAAEjT,cAAcqT,EAAE30C,cAAc,SAAS4J,EAAEC,GACzV,YAD4V,IAASA,IAAIA,EAAE,OAAMD,EAAE,CAAC2rC,SAAS3B,EAAEgD,sBAAsB/sC,EACrgBgtC,cAAcjtC,EAAEktC,eAAeltC,EAAEmtC,aAAa,EAAEj1C,SAAS,KAAKoD,SAAS,OAAQpD,SAAS,CAACyzC,SAASp5B,EAAE66B,SAASptC,GAAUA,EAAE1E,SAAS0E,GAAG1F,WAAW,SAAS0F,GAAG,MAAM,CAAC2rC,SAAS9nD,EAAEgoC,OAAO7rB,IAAIqtC,KAAK,SAASrtC,GAAG,MAAM,CAAC2rC,SAASzB,EAAGoD,MAAMttC,EAAEutC,SAAS,EAAEC,QAAQ,OAAOtwC,KAAK,SAAS8C,EAAEC,GAAG,MAAM,CAAC0rC,SAAS1B,EAAEv1C,KAAKsL,EAAE20B,aAAQ,IAAS10B,EAAE,KAAKA,IAAIwtC,YAAY,SAASztC,EAAEC,GAAG,OAAO0sC,IAAIc,YAAYztC,EAAEC,IAAIzE,WAAW,SAASwE,EAAEC,GAAG,OAAO0sC,IAAInxC,WAAWwE,EAAEC,IAAIzH,UAAU,SAASwH,EAAEC,GAAG,OAAO0sC,IAAIn0C,UAAUwH,EAAEC,IAAIytC,oBAAoB,SAAS1tC,EACngBC,EAAEsL,GAAG,OAAOohC,IAAIe,oBAAoB1tC,EAAEC,EAAEsL,IAAIoiC,cAAc,aAAa10C,gBAAgB,SAAS+G,EAAEC,GAAG,OAAO0sC,IAAI1zC,gBAAgB+G,EAAEC,IAAI7H,QAAQ,SAAS4H,EAAEC,GAAG,OAAO0sC,IAAIv0C,QAAQ4H,EAAEC,IAAIjE,WAAW,SAASgE,EAAEC,EAAEsL,GAAG,OAAOohC,IAAI3wC,WAAWgE,EAAEC,EAAEsL,IAAInP,OAAO,SAAS4D,GAAG,OAAO2sC,IAAIvwC,OAAO4D,IAAI4tC,SAAS,SAAS5tC,GAAG,OAAO2sC,IAAIiB,SAAS5tC,IAAIu9B,SAASlrB,EAAEw7B,SAAS9D,EAAE+D,WAAW/5B,EAAEg6B,SAASjqD,EAAEtB,cAAckpD,EAAE9H,aAAa,SAAS5jC,EAAEC,EAAEsL,GAAG,GAAG,OAAOvL,QAAG,IAASA,EAAE,MAAMhQ,MAAMo6C,EAAE,IAAIpqC,IAAI,IAAIlD,EAAEiW,EAAE,GAAG/S,EAAEne,OAAO2pB,EAAExL,EAAExhB,IAAIsP,EAAEkS,EAAEhD,IAAIwV,EAAExS,EAAE4rC,OACrf,GAAG,MAAM3rC,EAAE,CAAoE,QAAnE,IAASA,EAAEjD,MAAMlP,EAAEmS,EAAEjD,IAAIwV,EAAE64B,EAAE1zC,cAAS,IAASsI,EAAEzhB,MAAMgtB,EAAE,GAAGvL,EAAEzhB,KAAQwhB,EAAEtL,MAAMsL,EAAEtL,KAAK5I,aAAa,IAAI2f,EAAEzL,EAAEtL,KAAK5I,aAAa,IAAI6X,KAAK1D,EAAEqrC,EAAEtqD,KAAKif,EAAE0D,KAAK4nC,EAAEloD,eAAesgB,KAAK7G,EAAE6G,QAAG,IAAS1D,EAAE0D,SAAI,IAAS8H,EAAEA,EAAE9H,GAAG1D,EAAE0D,IAAI,IAAIA,EAAE9jB,UAAUC,OAAO,EAAE,GAAG,IAAI6jB,EAAE7G,EAAE9X,SAASumB,OAAO,GAAG,EAAE5H,EAAE,CAAC8H,EAAE/oB,MAAMihB,GAAG,IAAI,IAAIq8B,EAAE,EAAEA,EAAEr8B,EAAEq8B,IAAIv0B,EAAEu0B,GAAGngD,UAAUmgD,EAAE,GAAGljC,EAAE9X,SAASymB,EAAE,MAAM,CAACkgC,SAASpqD,EAAEmT,KAAKsL,EAAEtL,KAAKlW,IAAIgtB,EAAExO,IAAIlP,EAAEjM,MAAMib,EAAE8uC,OAAOp5B,IAAIw7B,cAAc,SAAShuC,GAAG,IAAIC,EAAEyrC,EAAEz0C,KAAK,KAAK+I,GAAY,OAATC,EAAEvL,KAAKsL,EAASC,GAAGguC,eAAepC,EAAEt7C,QAAQ,UACrf29C,mDAAmD,CAACC,uBAAuB/C,EAAEgD,wBAAwB,CAACC,SAAS,MAAMC,kBAAkBjD,EAAEkD,qBAAqB,CAAC52C,SAAQ,GAAI7N,OAAOipB,IAAIy7B,EAAE,CAACvhD,QAAQ2/C,GAAG6B,EAAED,GAAG5B,GAAG4B,EAAErwD,EAAOC,QAAQqwD,EAAExhD,SAASwhD,G,6BCZ3N,IAAIvE,EAAG7rD,EAAQ,GAASulB,EAAEvlB,EAAQ,IAAiBy1B,EAAEz1B,EAAQ,KAAa,SAAS0rD,EAAE/pC,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEuL,EAAE,EAAEA,EAAE1rB,UAAUC,OAAOyrB,IAAItL,GAAG,WAAWuvB,mBAAmB3vC,UAAU0rB,IAAI,MAAM,yBAAyBvL,EAAE,WAAWC,EAAE,iHAAiH,IAAIiqC,EAAG,MAAMl6C,MAAM+5C,EAAE,MAAM,IAAI2C,EAAG,KAAKH,EAAG,GAC7b,SAASC,IAAK,GAAGE,EAAG,IAAI,IAAI1sC,KAAKusC,EAAG,CAAC,IAAItsC,EAAEssC,EAAGvsC,GAAGuL,EAAEmhC,EAAGvkD,QAAQ6X,GAAG,MAAM,EAAEuL,GAAG,MAAMvb,MAAM+5C,EAAE,GAAG/pC,IAAI,IAAI0uC,EAAGnjC,GAAG,CAAC,IAAItL,EAAE0uC,cAAc,MAAM3+C,MAAM+5C,EAAE,GAAG/pC,IAA2B,IAAI,IAAIwL,KAA/BkjC,EAAGnjC,GAAGtL,EAAEsL,EAAEtL,EAAE2uC,WAA0B,CAAC,IAAI9xC,OAAE,EAAW2O,EAAEF,EAAEC,GAAG1d,EAAEmS,EAAE8S,EAAEvH,EAAE,GAAGqjC,EAAGxrD,eAAe0vB,GAAG,MAAM/iB,MAAM+5C,EAAE,GAAGh3B,IAAI87B,EAAG97B,GAAGtH,EAAE,IAAI9H,EAAE8H,EAAEqjC,wBAAwB,GAAGnrC,EAAE,CAAC,IAAI7G,KAAK6G,EAAEA,EAAEtgB,eAAeyZ,IAAIiyC,EAAGprC,EAAE7G,GAAGhP,EAAEilB,GAAGjW,GAAE,OAAQ2O,EAAEujC,kBAAkBD,EAAGtjC,EAAEujC,iBAAiBlhD,EAAEilB,GAAGjW,GAAE,GAAIA,GAAE,EAAG,IAAIA,EAAE,MAAM9M,MAAM+5C,EAAE,GAAGv+B,EAAExL,OACjc,SAAS+uC,EAAG/uC,EAAEC,EAAEsL,GAAG,GAAG0jC,EAAGjvC,GAAG,MAAMhQ,MAAM+5C,EAAE,IAAI/pC,IAAIivC,EAAGjvC,GAAGC,EAAEivC,EAAGlvC,GAAGC,EAAE2uC,WAAWrjC,GAAG4jC,aAAa,IAAIT,EAAG,GAAGG,EAAG,GAAGI,EAAG,GAAGC,EAAG,GAAG,SAASE,EAAGpvC,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,EAAE3d,EAAEilB,EAAEpP,GAAG,IAAI6O,EAAE9vB,MAAM9B,UAAUkX,MAAM9W,KAAKnB,UAAU,GAAG,IAAIogB,EAAExgB,MAAM8rB,EAAEiH,GAAG,MAAMwtB,GAAGx4C,KAAK6nD,QAAQrP,IAAI,IAAIsP,GAAG,EAAGC,EAAG,KAAKC,GAAG,EAAGC,EAAG,KAAKC,EAAG,CAACL,QAAQ,SAASrvC,GAAGsvC,GAAG,EAAGC,EAAGvvC,IAAI,SAAS2vC,EAAG3vC,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,EAAE3d,EAAEilB,EAAEpP,GAAG2rC,GAAG,EAAGC,EAAG,KAAKH,EAAG3vD,MAAMiwD,EAAG7vD,WACvO,IAAI+vD,EAAG,KAAKzoC,EAAG,KAAK0oC,EAAG,KAAK,SAASC,EAAG9vC,EAAEC,EAAEsL,GAAG,IAAIC,EAAExL,EAAEtL,MAAM,gBAAgBsL,EAAE+vC,cAAcF,EAAGtkC,GAAxO,SAAYvL,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,EAAE3d,EAAEilB,EAAEpP,GAA4B,GAAzBgsC,EAAGlwD,MAAM+H,KAAK3H,WAAcyvD,EAAG,CAAC,IAAGA,EAAgC,MAAMt/C,MAAM+5C,EAAE,MAA1C,IAAIv3B,EAAE+8B,EAAGD,GAAG,EAAGC,EAAG,KAA8BC,IAAKA,GAAG,EAAGC,EAAGj9B,IAAuGw9B,CAAGxkC,EAAEvL,OAAE,EAAOD,GAAGA,EAAE+vC,cAAc,KAAK,SAASE,EAAGjwC,EAAEC,GAAG,GAAG,MAAMA,EAAE,MAAMjQ,MAAM+5C,EAAE,KAAK,OAAG,MAAM/pC,EAASC,EAAKvd,MAAMC,QAAQqd,GAAOtd,MAAMC,QAAQsd,IAAUD,EAAExgB,KAAKC,MAAMugB,EAAEC,GAAGD,IAAEA,EAAExgB,KAAKygB,GAAUD,GAAStd,MAAMC,QAAQsd,GAAG,CAACD,GAAG3b,OAAO4b,GAAG,CAACD,EAAEC,GACpd,SAASiwC,EAAGlwC,EAAEC,EAAEsL,GAAG7oB,MAAMC,QAAQqd,GAAGA,EAAEhgB,QAAQigB,EAAEsL,GAAGvL,GAAGC,EAAEjf,KAAKuqB,EAAEvL,GAAG,IAAImwC,EAAG,KAAK,SAASC,EAAGpwC,GAAG,GAAGA,EAAE,CAAC,IAAIC,EAAED,EAAEqwC,mBAAmB9kC,EAAEvL,EAAEswC,mBAAmB,GAAG5tD,MAAMC,QAAQsd,GAAG,IAAI,IAAIuL,EAAE,EAAEA,EAAEvL,EAAEngB,SAASkgB,EAAEuwC,uBAAuB/kC,IAAIskC,EAAG9vC,EAAEC,EAAEuL,GAAGD,EAAEC,SAASvL,GAAG6vC,EAAG9vC,EAAEC,EAAEsL,GAAGvL,EAAEqwC,mBAAmB,KAAKrwC,EAAEswC,mBAAmB,KAAKtwC,EAAEwwC,gBAAgBxwC,EAAErf,YAAY8vD,QAAQzwC,IAAI,SAAS0wC,EAAG1wC,GAAwC,GAArC,OAAOA,IAAImwC,EAAGF,EAAGE,EAAGnwC,IAAIA,EAAEmwC,EAAGA,EAAG,KAAQnwC,EAAE,CAAU,GAATkwC,EAAGlwC,EAAEowC,GAAOD,EAAG,MAAMngD,MAAM+5C,EAAE,KAAK,GAAGyF,EAAG,MAAMxvC,EAAEyvC,EAAGD,GAAG,EAAGC,EAAG,KAAKzvC,GAC5d,IAAI2wC,EAAG,CAACC,uBAAuB,SAAS5wC,GAAG,GAAG0sC,EAAG,MAAM18C,MAAM+5C,EAAE,MAAM2C,EAAGhqD,MAAM9B,UAAUkX,MAAM9W,KAAKgf,GAAGwsC,KAAMqE,yBAAyB,SAAS7wC,GAAG,IAASuL,EAALtL,GAAE,EAAK,IAAIsL,KAAKvL,EAAE,GAAGA,EAAE3c,eAAekoB,GAAG,CAAC,IAAIC,EAAExL,EAAEuL,GAAG,IAAIghC,EAAGlpD,eAAekoB,IAAIghC,EAAGhhC,KAAKC,EAAE,CAAC,GAAG+gC,EAAGhhC,GAAG,MAAMvb,MAAM+5C,EAAE,IAAIx+B,IAAIghC,EAAGhhC,GAAGC,EAAEvL,GAAE,GAAIA,GAAGusC,MAC/R,SAASsE,EAAG9wC,EAAEC,GAAG,IAAIsL,EAAEvL,EAAE+wC,UAAU,IAAIxlC,EAAE,OAAO,KAAK,IAAIC,EAAEokC,EAAGrkC,GAAG,IAAIC,EAAE,OAAO,KAAKD,EAAEC,EAAEvL,GAAGD,EAAE,OAAOC,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,oBAAoBuL,GAAGA,EAAEwlC,YAAqBxlC,IAAI,YAAbxL,EAAEA,EAAEtL,OAAuB,UAAUsL,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGwL,EAAE,MAAMxL,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAGuL,GAAG,oBAAoBA,EAAE,MAAMvb,MAAM+5C,EAAE,IAAI9pC,SAASsL,IAC1f,OAAOA,EAAE,IAAI0lC,EAAG/G,EAAGgE,mDAAmD+C,EAAG5tD,eAAe,4BAA4B4tD,EAAG9C,uBAAuB,CAACx2C,QAAQ,OAAOs5C,EAAG5tD,eAAe,6BAA6B4tD,EAAG7C,wBAAwB,CAACC,SAAS,OAClP,IAAI6C,EAAG,cAAclH,EAAE,oBAAoBvpD,QAAQA,OAAOqpD,IAAIqH,EAAGnH,EAAEvpD,OAAOqpD,IAAI,iBAAiB,MAAMsH,EAAGpH,EAAEvpD,OAAOqpD,IAAI,gBAAgB,MAAMuH,EAAGrH,EAAEvpD,OAAOqpD,IAAI,kBAAkB,MAAMwH,EAAGtH,EAAEvpD,OAAOqpD,IAAI,qBAAqB,MAAMyH,EAAGvH,EAAEvpD,OAAOqpD,IAAI,kBAAkB,MAAM0H,EAAGxH,EAAEvpD,OAAOqpD,IAAI,kBAAkB,MAAM2H,EAAGzH,EAAEvpD,OAAOqpD,IAAI,iBAAiB,MAAM4H,EAAG1H,EAAEvpD,OAAOqpD,IAAI,yBAAyB,MAAM6H,EAAG3H,EAAEvpD,OAAOqpD,IAAI,qBAAqB,MAAM8H,EAAG5H,EAAEvpD,OAAOqpD,IAAI,kBAAkB,MAAM+H,EAAG7H,EAAEvpD,OAAOqpD,IAAI,uBACve,MAAMgI,EAAG9H,EAAEvpD,OAAOqpD,IAAI,cAAc,MAAMiI,EAAG/H,EAAEvpD,OAAOqpD,IAAI,cAAc,MAAME,GAAGvpD,OAAOqpD,IAAI,qBAAqBE,GAAGvpD,OAAOqpD,IAAI,mBAAmBE,GAAGvpD,OAAOqpD,IAAI,eAAe,IAAIkI,EAAG,oBAAoBvxD,QAAQA,OAAOC,SAAS,SAASuxD,EAAGjyC,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAEgyC,GAAIhyC,EAAEgyC,IAAKhyC,EAAE,eAA0CA,EAAE,KAEzV,SAASkyC,EAAGlyC,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAE1W,aAAa0W,EAAEzW,MAAM,KAAK,GAAG,kBAAkByW,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKqxC,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,SAAS,KAAKG,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,aAAa,KAAKM,EAAG,MAAM,WAAW,KAAKC,EAAG,MAAM,eAAe,GAAG,kBAAkB7xC,EAAE,OAAOA,EAAE2rC,UAAU,KAAK8F,EAAG,MAAM,mBAAmB,KAAKD,EAAG,MAAM,mBAAmB,KAAKG,EAAG,IAAI1xC,EAAED,EAAE6rB,OAAmC,OAA5B5rB,EAAEA,EAAE3W,aAAa2W,EAAE1W,MAAM,GAAUyW,EAAE1W,cAAc,KAAK2W,EAAE,cAAcA,EAAE,IACnf,cAAc,KAAK6xC,EAAG,OAAOI,EAAGlyC,EAAEtL,MAAM,KAAKq9C,EAAG,GAAG/xC,EAAE,IAAIA,EAAEutC,QAAQvtC,EAAEwtC,QAAQ,KAAK,OAAO0E,EAAGlyC,GAAG,OAAO,KAAK,SAASmyC,EAAGnyC,GAAG,IAAIC,EAAE,GAAG,EAAE,CAACD,EAAE,OAAOA,EAAEqP,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,IAAI9D,EAAE,GAAG,MAAMvL,EAAE,QAAQ,IAAIwL,EAAExL,EAAEoyC,YAAYt1C,EAAEkD,EAAEqyC,aAAa5mC,EAAEymC,EAAGlyC,EAAEtL,MAAM6W,EAAE,KAAKC,IAAID,EAAE2mC,EAAG1mC,EAAE9W,OAAO8W,EAAEC,EAAEA,EAAE,GAAG3O,EAAE2O,EAAE,QAAQ3O,EAAEw1C,SAASvsD,QAAQmrD,EAAG,IAAI,IAAIp0C,EAAEy1C,WAAW,IAAIhnC,IAAIE,EAAE,gBAAgBF,EAAE,KAAKA,EAAE,aAAaC,GAAG,WAAWC,EAAExL,GAAGsL,EAAEvL,EAAEA,EAAEwyC,aAAaxyC,GAAG,OAAOC,EACrc,IAAIwyC,IAAK,qBAAqBz5C,QAAQ,qBAAqBA,OAAOtU,UAAU,qBAAqBsU,OAAOtU,SAASlC,eAAekwD,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAG7yC,GAAG,GAAGA,EAAEmH,EAAGnH,GAAG,CAAC,GAAG,oBAAoB0yC,GAAG,MAAM1iD,MAAM+5C,EAAE,MAAM,IAAI9pC,EAAE2vC,EAAG5vC,EAAE+wC,WAAW2B,GAAG1yC,EAAE+wC,UAAU/wC,EAAEtL,KAAKuL,IAAI,SAAS6yC,GAAG9yC,GAAG2yC,GAAGC,GAAGA,GAAGpzD,KAAKwgB,GAAG4yC,GAAG,CAAC5yC,GAAG2yC,GAAG3yC,EAAE,SAAS+yC,KAAK,GAAGJ,GAAG,CAAC,IAAI3yC,EAAE2yC,GAAG1yC,EAAE2yC,GAAoB,GAAjBA,GAAGD,GAAG,KAAKE,GAAG7yC,GAAMC,EAAE,IAAID,EAAE,EAAEA,EAAEC,EAAEngB,OAAOkgB,IAAI6yC,GAAG5yC,EAAED,KAAK,SAASgzC,GAAGhzC,EAAEC,GAAG,OAAOD,EAAEC,GAAG,SAASgzC,GAAGjzC,EAAEC,EAAEsL,EAAEC,GAAG,OAAOxL,EAAEC,EAAEsL,EAAEC,GAAG,SAAS0nC,MACle,IAAIC,GAAGH,GAAGI,IAAG,EAAGC,IAAG,EAAG,SAASC,KAAQ,OAAOX,IAAI,OAAOC,KAAGM,KAAKH,MAAK,IAAI/J,IAAI,IAAIuK,GAAG,8VAA8VC,GAAG90D,OAAOkC,UAAUyC,eAAeowD,GAAG,GAAGC,GAAG,GAEvQ,SAAStJ,GAAEpqC,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,GAAGjkB,KAAKmsD,gBAAgB,IAAI1zC,GAAG,IAAIA,GAAG,IAAIA,EAAEzY,KAAKosD,cAAcpoC,EAAEhkB,KAAKqsD,mBAAmB/2C,EAAEtV,KAAKssD,gBAAgBvoC,EAAE/jB,KAAKe,aAAayX,EAAExY,KAAKkN,KAAKuL,EAAEzY,KAAKusD,YAAYtoC,EAAE,IAAIi/B,GAAE,GACxZ,uIAAuIjlD,MAAM,KAAKzF,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAehgB,SAAQ,SAASggB,GAAG,IAAIC,EAAED,EAAE,GAAG0qC,GAAEzqC,GAAG,IAAImqC,GAAEnqC,EAAE,GAAE,EAAGD,EAAE,GAAG,MAAK,MAAM,CAAC,kBAAkB,YAAY,aAAa,SAAShgB,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAEzb,cAAc,MAAK,MAC9d,CAAC,cAAc,4BAA4B,YAAY,iBAAiBvE,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,wNAAwNva,MAAM,KAAKzF,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAEzb,cAAc,MAAK,MACzZ,CAAC,UAAU,WAAW,QAAQ,YAAYvE,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,UAAU,YAAYhgB,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,OAAO,OAAO,OAAO,QAAQhgB,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,UAAU,SAAShgB,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAEzb,cAAc,MAAK,MAAM,IAAIyvD,GAAG,gBAAgB,SAASC,GAAGj0C,GAAG,OAAOA,EAAE,GAAGjS,cAGtM,SAASmmD,GAAGl0C,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,OAAOA,EAAE,QAAQ,MAAM,IAC1T,SAASm0C,GAAGn0C,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAE4tC,GAAErnD,eAAe4c,GAAGyqC,GAAEzqC,GAAG,MAAW,OAAOnD,EAAE,IAAIA,EAAEpI,MAAK8W,IAAO,EAAEvL,EAAEngB,SAAS,MAAMmgB,EAAE,IAAI,MAAMA,EAAE,MAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,QAPnJ,SAAYD,EAAEC,EAAEsL,EAAEC,GAAG,GAAG,OAAOvL,GAAG,qBAAqBA,GAD4D,SAAYD,EAAEC,EAAEsL,EAAEC,GAAG,GAAG,OAAOD,GAAG,IAAIA,EAAE7W,KAAK,OAAM,EAAG,cAAcuL,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGuL,IAAc,OAAOD,GAASA,EAAEooC,gBAAmD,WAAnC3zC,EAAEA,EAAEzb,cAAcuT,MAAM,EAAE,KAAsB,UAAUkI,GAAE,QAAQ,OAAM,GACnTo0C,CAAGp0C,EAAEC,EAAEsL,EAAEC,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOD,EAAE,OAAOA,EAAE7W,MAAM,KAAK,EAAE,OAAOuL,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAOkkB,MAAMlkB,GAAG,KAAK,EAAE,OAAOkkB,MAAMlkB,IAAI,EAAEA,EAAE,OAAM,EAOrDo0C,CAAGp0C,EAAEsL,EAAEzO,EAAE0O,KAAKD,EAAE,MAAMC,GAAG,OAAO1O,EARhM,SAAYkD,GAAG,QAAGwzC,GAAGxyD,KAAK0yD,GAAG1zC,KAAewzC,GAAGxyD,KAAKyyD,GAAGzzC,KAAeuzC,GAAGppB,KAAKnqB,GAAU0zC,GAAG1zC,IAAG,GAAGyzC,GAAGzzC,IAAG,GAAS,IAQkFs0C,CAAGr0C,KAAK,OAAOsL,EAAEvL,EAAElZ,gBAAgBmZ,GAAGD,EAAErb,aAAasb,EAAE,GAAGsL,IAAIzO,EAAEg3C,gBAAgB9zC,EAAElD,EAAEvU,cAAc,OAAOgjB,EAAE,IAAIzO,EAAEpI,MAAQ,GAAG6W,GAAGtL,EAAEnD,EAAE82C,cAAcpoC,EAAE1O,EAAE+2C,mBAAmB,OAAOtoC,EAAEvL,EAAElZ,gBAAgBmZ,IAAasL,EAAE,KAAXzO,EAAEA,EAAEpI,OAAc,IAAIoI,IAAG,IAAKyO,EAAE,GAAG,GAAGA,EAAEC,EAAExL,EAAEu0C,eAAe/oC,EAAEvL,EAAEsL,GAAGvL,EAAErb,aAAasb,EAAEsL,MAC5d,SAASipC,GAAGx0C,GAAG,IAAIC,EAAED,EAAEtL,KAAK,OAAOsL,EAAEA,EAAEy0C,WAAW,UAAUz0C,EAAEzb,gBAAgB,aAAa0b,GAAG,UAAUA,GAEpF,SAASy0C,GAAG10C,GAAGA,EAAE20C,gBAAgB30C,EAAE20C,cADvD,SAAY30C,GAAG,IAAIC,EAAEu0C,GAAGx0C,GAAG,UAAU,QAAQuL,EAAE7sB,OAAOa,yBAAyBygB,EAAErf,YAAYC,UAAUqf,GAAGuL,EAAE,GAAGxL,EAAEC,GAAG,IAAID,EAAE3c,eAAe4c,IAAI,qBAAqBsL,GAAG,oBAAoBA,EAAEngB,KAAK,oBAAoBmgB,EAAE+f,IAAI,CAAC,IAAIxuB,EAAEyO,EAAEngB,IAAIqgB,EAAEF,EAAE+f,IAAiL,OAA7K5sC,OAAOC,eAAeqhB,EAAEC,EAAE,CAACphB,cAAa,EAAGuM,IAAI,WAAW,OAAO0R,EAAE9b,KAAKwG,OAAO8jC,IAAI,SAAStrB,GAAGwL,EAAE,GAAGxL,EAAEyL,EAAEzqB,KAAKwG,KAAKwY,MAAMthB,OAAOC,eAAeqhB,EAAEC,EAAE,CAACrhB,WAAW2sB,EAAE3sB,aAAmB,CAACotC,SAAS,WAAW,OAAOxgB,GAAGopC,SAAS,SAAS50C,GAAGwL,EAAE,GAAGxL,GAAG60C,aAAa,WAAW70C,EAAE20C,cACxf,YAAY30C,EAAEC,MAAuD60C,CAAG90C,IAAI,SAAS+0C,GAAG/0C,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIC,EAAED,EAAE20C,cAAc,IAAI10C,EAAE,OAAM,EAAG,IAAIsL,EAAEtL,EAAE+rB,WAAexgB,EAAE,GAAqD,OAAlDxL,IAAIwL,EAAEgpC,GAAGx0C,GAAGA,EAAEg1C,QAAQ,OAAO,QAAQh1C,EAAEvhB,QAAOuhB,EAAEwL,KAAaD,IAAGtL,EAAE20C,SAAS50C,IAAG,GAAO,SAASi1C,GAAGj1C,EAAEC,GAAG,IAAIsL,EAAEtL,EAAE+0C,QAAQ,OAAOpxC,EAAE,GAAG3D,EAAE,CAACi1C,oBAAe,EAAOvqB,kBAAa,EAAOlsC,WAAM,EAAOu2D,QAAQ,MAAMzpC,EAAEA,EAAEvL,EAAEm1C,cAAcC,iBACzY,SAASC,GAAGr1C,EAAEC,GAAG,IAAIsL,EAAE,MAAMtL,EAAE0qB,aAAa,GAAG1qB,EAAE0qB,aAAanf,EAAE,MAAMvL,EAAE+0C,QAAQ/0C,EAAE+0C,QAAQ/0C,EAAEi1C,eAAe3pC,EAAE2oC,GAAG,MAAMj0C,EAAExhB,MAAMwhB,EAAExhB,MAAM8sB,GAAGvL,EAAEm1C,cAAc,CAACC,eAAe5pC,EAAE8pC,aAAa/pC,EAAEgqC,WAAW,aAAat1C,EAAEvL,MAAM,UAAUuL,EAAEvL,KAAK,MAAMuL,EAAE+0C,QAAQ,MAAM/0C,EAAExhB,OAAO,SAAS+2D,GAAGx1C,EAAEC,GAAe,OAAZA,EAAEA,EAAE+0C,UAAiBb,GAAGn0C,EAAE,UAAUC,GAAE,GACjU,SAASw1C,GAAGz1C,EAAEC,GAAGu1C,GAAGx1C,EAAEC,GAAG,IAAIsL,EAAE2oC,GAAGj0C,EAAExhB,OAAO+sB,EAAEvL,EAAEvL,KAAK,GAAG,MAAM6W,EAAK,WAAWC,GAAM,IAAID,GAAG,KAAKvL,EAAEvhB,OAAOuhB,EAAEvhB,OAAO8sB,KAAEvL,EAAEvhB,MAAM,GAAG8sB,GAAOvL,EAAEvhB,QAAQ,GAAG8sB,IAAIvL,EAAEvhB,MAAM,GAAG8sB,QAAQ,GAAG,WAAWC,GAAG,UAAUA,EAA8B,YAA3BxL,EAAElZ,gBAAgB,SAAgBmZ,EAAE5c,eAAe,SAASqyD,GAAG11C,EAAEC,EAAEvL,KAAK6W,GAAGtL,EAAE5c,eAAe,iBAAiBqyD,GAAG11C,EAAEC,EAAEvL,KAAKw/C,GAAGj0C,EAAE0qB,eAAe,MAAM1qB,EAAE+0C,SAAS,MAAM/0C,EAAEi1C,iBAAiBl1C,EAAEk1C,iBAAiBj1C,EAAEi1C,gBACnZ,SAASS,GAAG31C,EAAEC,EAAEsL,GAAG,GAAGtL,EAAE5c,eAAe,UAAU4c,EAAE5c,eAAe,gBAAgB,CAAC,IAAImoB,EAAEvL,EAAEvL,KAAK,KAAK,WAAW8W,GAAG,UAAUA,QAAG,IAASvL,EAAExhB,OAAO,OAAOwhB,EAAExhB,OAAO,OAAOwhB,EAAE,GAAGD,EAAEm1C,cAAcG,aAAa/pC,GAAGtL,IAAID,EAAEvhB,QAAQuhB,EAAEvhB,MAAMwhB,GAAGD,EAAE2qB,aAAa1qB,EAAW,MAATsL,EAAEvL,EAAEzW,QAAcyW,EAAEzW,KAAK,IAAIyW,EAAEk1C,gBAAgBl1C,EAAEk1C,eAAel1C,EAAEk1C,iBAAiBl1C,EAAEm1C,cAAcC,eAAe,KAAK7pC,IAAIvL,EAAEzW,KAAKgiB,GAC1X,SAASmqC,GAAG11C,EAAEC,EAAEsL,GAAM,WAAWtL,GAAGD,EAAE41C,cAAcC,gBAAgB71C,IAAE,MAAMuL,EAAEvL,EAAE2qB,aAAa,GAAG3qB,EAAEm1C,cAAcG,aAAat1C,EAAE2qB,eAAe,GAAGpf,IAAIvL,EAAE2qB,aAAa,GAAGpf,IAAwF,SAASuqC,GAAG91C,EAAEC,GAA6D,OAA1DD,EAAE4D,EAAE,CAAC5e,cAAS,GAAQib,IAAMA,EAAlI,SAAYD,GAAG,IAAIC,EAAE,GAAuD,OAApDiqC,EAAG7nD,SAASrC,QAAQggB,GAAE,SAASA,GAAG,MAAMA,IAAIC,GAAGD,MAAYC,EAAiD81C,CAAG91C,EAAEjb,aAAUgb,EAAEhb,SAASib,GAASD,EACjV,SAASg2C,GAAGh2C,EAAEC,EAAEsL,EAAEC,GAAe,GAAZxL,EAAEA,EAAEzC,QAAW0C,EAAE,CAACA,EAAE,GAAG,IAAI,IAAInD,EAAE,EAAEA,EAAEyO,EAAEzrB,OAAOgd,IAAImD,EAAE,IAAIsL,EAAEzO,KAAI,EAAG,IAAIyO,EAAE,EAAEA,EAAEvL,EAAElgB,OAAOyrB,IAAIzO,EAAEmD,EAAE5c,eAAe,IAAI2c,EAAEuL,GAAG9sB,OAAOuhB,EAAEuL,GAAG0qC,WAAWn5C,IAAIkD,EAAEuL,GAAG0qC,SAASn5C,GAAGA,GAAG0O,IAAIxL,EAAEuL,GAAG2qC,iBAAgB,OAAQ,CAAmB,IAAlB3qC,EAAE,GAAG2oC,GAAG3oC,GAAGtL,EAAE,KAASnD,EAAE,EAAEA,EAAEkD,EAAElgB,OAAOgd,IAAI,CAAC,GAAGkD,EAAElD,GAAGre,QAAQ8sB,EAAiD,OAA9CvL,EAAElD,GAAGm5C,UAAS,OAAGzqC,IAAIxL,EAAElD,GAAGo5C,iBAAgB,IAAW,OAAOj2C,GAAGD,EAAElD,GAAGk0C,WAAW/wC,EAAED,EAAElD,IAAI,OAAOmD,IAAIA,EAAEg2C,UAAS,IACpY,SAASE,GAAGn2C,EAAEC,GAAG,GAAG,MAAMA,EAAEuxB,wBAAwB,MAAMxhC,MAAM+5C,EAAE,KAAK,OAAOnmC,EAAE,GAAG3D,EAAE,CAACxhB,WAAM,EAAOksC,kBAAa,EAAO3lC,SAAS,GAAGgb,EAAEm1C,cAAcG,eAAe,SAASc,GAAGp2C,EAAEC,GAAG,IAAIsL,EAAEtL,EAAExhB,MAAM,GAAG,MAAM8sB,EAAE,CAA+B,GAA9BA,EAAEtL,EAAE0qB,aAA6B,OAAhB1qB,EAAEA,EAAEjb,UAAoB,CAAC,GAAG,MAAMumB,EAAE,MAAMvb,MAAM+5C,EAAE,KAAK,GAAGrnD,MAAMC,QAAQsd,GAAG,CAAC,KAAK,GAAGA,EAAEngB,QAAQ,MAAMkQ,MAAM+5C,EAAE,KAAK9pC,EAAEA,EAAE,GAAGsL,EAAEtL,EAAE,MAAMsL,IAAIA,EAAE,IAAIvL,EAAEm1C,cAAc,CAACG,aAAapB,GAAG3oC,IAC3Y,SAAS8qC,GAAGr2C,EAAEC,GAAG,IAAIsL,EAAE2oC,GAAGj0C,EAAExhB,OAAO+sB,EAAE0oC,GAAGj0C,EAAE0qB,cAAc,MAAMpf,KAAIA,EAAE,GAAGA,KAAMvL,EAAEvhB,QAAQuhB,EAAEvhB,MAAM8sB,GAAG,MAAMtL,EAAE0qB,cAAc3qB,EAAE2qB,eAAepf,IAAIvL,EAAE2qB,aAAapf,IAAI,MAAMC,IAAIxL,EAAE2qB,aAAa,GAAGnf,GAAG,SAAS8qC,GAAGt2C,GAAG,IAAIC,EAAED,EAAErZ,YAAYsZ,IAAID,EAAEm1C,cAAcG,cAAc,KAAKr1C,GAAG,OAAOA,IAAID,EAAEvhB,MAAMwhB,GAb/R,0jCAA0jCxa,MAAM,KAAKzF,SAAQ,SAASggB,GAAG,IAAIC,EAAED,EAAEja,QAAQiuD,GACzmCC,IAAIvJ,GAAEzqC,GAAG,IAAImqC,GAAEnqC,EAAE,GAAE,EAAGD,EAAE,MAAK,MAAM,2EAA2Eva,MAAM,KAAKzF,SAAQ,SAASggB,GAAG,IAAIC,EAAED,EAAEja,QAAQiuD,GAAGC,IAAIvJ,GAAEzqC,GAAG,IAAImqC,GAAEnqC,EAAE,GAAE,EAAGD,EAAE,gCAA+B,MAAM,CAAC,WAAW,WAAW,aAAahgB,SAAQ,SAASggB,GAAG,IAAIC,EAAED,EAAEja,QAAQiuD,GAAGC,IAAIvJ,GAAEzqC,GAAG,IAAImqC,GAAEnqC,EAAE,GAAE,EAAGD,EAAE,wCAAuC,MAAM,CAAC,WAAW,eAAehgB,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAEzb,cAAc,MAAK,MACncmmD,GAAE6L,UAAU,IAAInM,GAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAI,CAAC,MAAM,OAAO,SAAS,cAAcpqD,SAAQ,SAASggB,GAAG0qC,GAAE1qC,GAAG,IAAIoqC,GAAEpqC,EAAE,GAAE,EAAGA,EAAEzb,cAAc,MAAK,MAW+G,IAAIiyD,GAAG,CAACC,KAAK,+BAA+BC,OAAO,qCAAqCC,IAAI,8BAC9X,SAASC,GAAG52C,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,gCAAgC,SAAS62C,GAAG72C,EAAEC,GAAG,OAAO,MAAMD,GAAG,iCAAiCA,EAAE42C,GAAG32C,GAAG,+BAA+BD,GAAG,kBAAkBC,EAAE,+BAA+BD,EAC3U,IAAI82C,GAAGC,GAAG,SAAS/2C,GAAG,MAAM,qBAAqBg3C,OAAOA,MAAMC,wBAAwB,SAASh3C,EAAEsL,EAAEC,EAAE1O,GAAGk6C,MAAMC,yBAAwB,WAAW,OAAOj3C,EAAEC,EAAEsL,OAAUvL,EAA5J,EAA+J,SAASA,EAAEC,GAAG,GAAGD,EAAEk3C,eAAeV,GAAGG,KAAK,cAAc32C,EAAEA,EAAE8P,UAAU7P,MAAM,CAA2F,KAA1F62C,GAAGA,IAAIpyD,SAASlC,cAAc,QAAUstB,UAAU,QAAQ7P,EAAEyE,UAAUhR,WAAW,SAAauM,EAAE62C,GAAGpwD,WAAWsZ,EAAEtZ,YAAYsZ,EAAEjZ,YAAYiZ,EAAEtZ,YAAY,KAAKuZ,EAAEvZ,YAAYsZ,EAAEiQ,YAAYhQ,EAAEvZ,gBACjb,SAASywD,GAAGn3C,EAAEC,GAAG,GAAGA,EAAE,CAAC,IAAIsL,EAAEvL,EAAEtZ,WAAW,GAAG6kB,GAAGA,IAAIvL,EAAEo3C,WAAW,IAAI7rC,EAAEgG,SAAwB,YAAdhG,EAAE8rC,UAAUp3C,GAAUD,EAAErZ,YAAYsZ,EAAE,SAASq3C,GAAGt3C,EAAEC,GAAG,IAAIsL,EAAE,GAAkF,OAA/EA,EAAEvL,EAAEzb,eAAe0b,EAAE1b,cAAcgnB,EAAE,SAASvL,GAAG,SAASC,EAAEsL,EAAE,MAAMvL,GAAG,MAAMC,EAASsL,EAAE,IAAIgsC,GAAG,CAACC,aAAaF,GAAG,YAAY,gBAAgBG,mBAAmBH,GAAG,YAAY,sBAAsBI,eAAeJ,GAAG,YAAY,kBAAkBK,cAAcL,GAAG,aAAa,kBAAkBM,GAAG,GAAGC,GAAG,GAC1M,SAASC,GAAG93C,GAAG,GAAG43C,GAAG53C,GAAG,OAAO43C,GAAG53C,GAAG,IAAIu3C,GAAGv3C,GAAG,OAAOA,EAAE,IAAYuL,EAARtL,EAAEs3C,GAAGv3C,GAAK,IAAIuL,KAAKtL,EAAE,GAAGA,EAAE5c,eAAekoB,IAAIA,KAAKssC,GAAG,OAAOD,GAAG53C,GAAGC,EAAEsL,GAAG,OAAOvL,EAA9XyyC,IAAKoF,GAAGnzD,SAASlC,cAAc,OAAOyF,MAAM,mBAAmB+Q,gBAAgBu+C,GAAGC,aAAaO,iBAAiBR,GAAGE,mBAAmBM,iBAAiBR,GAAGG,eAAeK,WAAW,oBAAoB/+C,eAAeu+C,GAAGI,cAAcK,YAAwJ,IAAIC,GAAGH,GAAG,gBAAgBI,GAAGJ,GAAG,sBAAsBK,GAAGL,GAAG,kBAAkBM,GAAGN,GAAG,iBAAiBO,GAAG,sNAAsN5yD,MAAM,KACpsB,SAAS6yD,GAAGt4C,GAAG,IAAIC,EAAED,EAAEuL,EAAEvL,EAAE,GAAGA,EAAEu4C,UAAU,KAAKt4C,EAAEuyC,QAAQvyC,EAAEA,EAAEuyC,WAAW,CAACxyC,EAAEC,EAAE,GAAO,KAAiB,MAArBA,EAAED,GAASw4C,aAAkBjtC,EAAEtL,EAAEuyC,QAAQxyC,EAAEC,EAAEuyC,aAAaxyC,GAAG,OAAO,IAAIC,EAAEoP,IAAI9D,EAAE,KAAK,SAASktC,GAAGz4C,GAAG,GAAG,KAAKA,EAAEqP,IAAI,CAAC,IAAIpP,EAAED,EAAE04C,cAAsE,GAAxD,OAAOz4C,IAAkB,QAAdD,EAAEA,EAAEu4C,aAAqBt4C,EAAED,EAAE04C,gBAAmB,OAAOz4C,EAAE,OAAOA,EAAE04C,WAAW,OAAO,KAAK,SAASC,GAAG54C,GAAG,GAAGs4C,GAAGt4C,KAAKA,EAAE,MAAMhQ,MAAM+5C,EAAE,MAEhK,SAAS8O,GAAG74C,GAAW,KAARA,EADtN,SAAYA,GAAG,IAAIC,EAAED,EAAEu4C,UAAU,IAAIt4C,EAAE,CAAS,GAAG,QAAXA,EAAEq4C,GAAGt4C,IAAe,MAAMhQ,MAAM+5C,EAAE,MAAM,OAAO9pC,IAAID,EAAE,KAAKA,EAAE,IAAI,IAAIuL,EAAEvL,EAAEwL,EAAEvL,IAAI,CAAC,IAAInD,EAAEyO,EAAEinC,OAAO,GAAG,OAAO11C,EAAE,MAAM,IAAI2O,EAAE3O,EAAEy7C,UAAU,GAAG,OAAO9sC,EAAE,CAAY,GAAG,QAAdD,EAAE1O,EAAE01C,QAAmB,CAACjnC,EAAEC,EAAE,SAAS,MAAM,GAAG1O,EAAE3a,QAAQspB,EAAEtpB,MAAM,CAAC,IAAIspB,EAAE3O,EAAE3a,MAAMspB,GAAG,CAAC,GAAGA,IAAIF,EAAE,OAAOqtC,GAAG97C,GAAGkD,EAAE,GAAGyL,IAAID,EAAE,OAAOotC,GAAG97C,GAAGmD,EAAEwL,EAAEA,EAAEqtC,QAAQ,MAAM9oD,MAAM+5C,EAAE,MAAO,GAAGx+B,EAAEinC,SAAShnC,EAAEgnC,OAAOjnC,EAAEzO,EAAE0O,EAAEC,MAAM,CAAC,IAAI,IAAI3d,GAAE,EAAGilB,EAAEjW,EAAE3a,MAAM4wB,GAAG,CAAC,GAAGA,IAAIxH,EAAE,CAACzd,GAAE,EAAGyd,EAAEzO,EAAE0O,EAAEC,EAAE,MAAM,GAAGsH,IAAIvH,EAAE,CAAC1d,GAAE,EAAG0d,EAAE1O,EAAEyO,EAAEE,EAAE,MAAMsH,EAAEA,EAAE+lC,QAAQ,IAAIhrD,EAAE,CAAC,IAAIilB,EAAEtH,EAAEtpB,MAAM4wB,GAAG,CAAC,GAAGA,IAC5fxH,EAAE,CAACzd,GAAE,EAAGyd,EAAEE,EAAED,EAAE1O,EAAE,MAAM,GAAGiW,IAAIvH,EAAE,CAAC1d,GAAE,EAAG0d,EAAEC,EAAEF,EAAEzO,EAAE,MAAMiW,EAAEA,EAAE+lC,QAAQ,IAAIhrD,EAAE,MAAMkC,MAAM+5C,EAAE,OAAQ,GAAGx+B,EAAEgtC,YAAY/sC,EAAE,MAAMxb,MAAM+5C,EAAE,MAAO,GAAG,IAAIx+B,EAAE8D,IAAI,MAAMrf,MAAM+5C,EAAE,MAAM,OAAOx+B,EAAEwlC,UAAUp5C,UAAU4T,EAAEvL,EAAEC,EAAmB84C,CAAG/4C,IAAS,OAAO,KAAK,IAAI,IAAIC,EAAED,IAAI,CAAC,GAAG,IAAIC,EAAEoP,KAAK,IAAIpP,EAAEoP,IAAI,OAAOpP,EAAE,GAAGA,EAAE9d,MAAM8d,EAAE9d,MAAMqwD,OAAOvyC,EAAEA,EAAEA,EAAE9d,UAAU,CAAC,GAAG8d,IAAID,EAAE,MAAM,MAAMC,EAAE64C,SAAS,CAAC,IAAI74C,EAAEuyC,QAAQvyC,EAAEuyC,SAASxyC,EAAE,OAAO,KAAKC,EAAEA,EAAEuyC,OAAOvyC,EAAE64C,QAAQtG,OAAOvyC,EAAEuyC,OAAOvyC,EAAEA,EAAE64C,SAAS,OAAO,KAC5c,IAAIE,GAAGC,GAAGC,GAAGC,IAAG,EAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAIxQ,IAAIyQ,GAAG,IAAIzQ,IAAI0Q,GAAG,GAAGC,GAAG,0QAA0Ql0D,MAAM,KAAKm0D,GAAG,gHAAgHn0D,MAAM,KAC7X,SAASo0D,GAAG75C,EAAEC,EAAEsL,EAAEC,GAAG,MAAM,CAACsuC,UAAU95C,EAAE+5C,aAAa95C,EAAE+5C,iBAAmB,GAAFzuC,EAAK0uC,YAAYzuC,GAAG,SAAS0uC,GAAGl6C,EAAEC,GAAG,OAAOD,GAAG,IAAK,QAAQ,IAAK,OAAOq5C,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYC,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaC,GAAGtoC,OAAOjR,EAAEk6C,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBV,GAAGvoC,OAAOjR,EAAEk6C,YAC/d,SAASC,GAAGp6C,EAAEC,EAAEsL,EAAEC,EAAE1O,GAAG,OAAG,OAAOkD,GAAGA,EAAEi6C,cAAcn9C,GAASkD,EAAE65C,GAAG55C,EAAEsL,EAAEC,EAAE1O,GAAG,OAAOmD,IAAY,QAARA,EAAEo6C,GAAGp6C,KAAag5C,GAAGh5C,IAAID,IAAEA,EAAEg6C,kBAAkBxuC,EAASxL,GAC9I,SAASs6C,GAAGt6C,GAAG,IAAIC,EAAEs6C,GAAGv6C,EAAErgB,QAAQ,GAAG,OAAOsgB,EAAE,CAAC,IAAIsL,EAAE+sC,GAAGr4C,GAAG,GAAG,OAAOsL,EAAE,GAAW,MAARtL,EAAEsL,EAAE8D,MAAY,GAAW,QAARpP,EAAEw4C,GAAGltC,IAAoF,OAAvEvL,EAAE85C,UAAU75C,OAAE6T,EAAE0mC,yBAAyBx6C,EAAEy6C,UAAS,WAAWvB,GAAG3tC,WAAkB,GAAG,IAAItL,GAAGsL,EAAEwlC,UAAU2J,QAA8D,YAArD16C,EAAE85C,UAAU,IAAIvuC,EAAE8D,IAAI9D,EAAEwlC,UAAU4J,cAAc,MAAa36C,EAAE85C,UAAU,KAAK,SAASc,GAAG56C,GAAG,GAAG,OAAOA,EAAE85C,UAAU,OAAM,EAAG,IAAI75C,EAAE46C,GAAG76C,EAAE+5C,aAAa/5C,EAAEg6C,iBAAiBh6C,EAAEi6C,aAAa,GAAG,OAAOh6C,EAAE,CAAC,IAAIsL,EAAE8uC,GAAGp6C,GAAiC,OAA9B,OAAOsL,GAAG0tC,GAAG1tC,GAAGvL,EAAE85C,UAAU75C,GAAQ,EAAG,OAAM,EAC9d,SAAS66C,GAAG96C,EAAEC,EAAEsL,GAAGqvC,GAAG56C,IAAIuL,EAAE2F,OAAOjR,GAAG,SAAS86C,KAAK,IAAI5B,IAAG,EAAG,EAAEC,GAAGt5D,QAAQ,CAAC,IAAIkgB,EAAEo5C,GAAG,GAAG,GAAG,OAAOp5C,EAAE85C,UAAU,CAAmB,QAAlB95C,EAAEq6C,GAAGr6C,EAAE85C,aAAqBd,GAAGh5C,GAAG,MAAM,IAAIC,EAAE46C,GAAG76C,EAAE+5C,aAAa/5C,EAAEg6C,iBAAiBh6C,EAAEi6C,aAAa,OAAOh6C,EAAED,EAAE85C,UAAU75C,EAAEm5C,GAAG4B,QAAQ,OAAO3B,IAAIuB,GAAGvB,MAAMA,GAAG,MAAM,OAAOC,IAAIsB,GAAGtB,MAAMA,GAAG,MAAM,OAAOC,IAAIqB,GAAGrB,MAAMA,GAAG,MAAMC,GAAGx5D,QAAQ86D,IAAIrB,GAAGz5D,QAAQ86D,IAAI,SAASG,GAAGj7C,EAAEC,GAAGD,EAAE85C,YAAY75C,IAAID,EAAE85C,UAAU,KAAKX,KAAKA,IAAG,EAAGrlC,EAAEonC,0BAA0BpnC,EAAEqnC,wBAAwBJ,MAC7d,SAASK,GAAGp7C,GAAG,SAASC,EAAEA,GAAG,OAAOg7C,GAAGh7C,EAAED,GAAG,GAAG,EAAEo5C,GAAGt5D,OAAO,CAACm7D,GAAG7B,GAAG,GAAGp5C,GAAG,IAAI,IAAIuL,EAAE,EAAEA,EAAE6tC,GAAGt5D,OAAOyrB,IAAI,CAAC,IAAIC,EAAE4tC,GAAG7tC,GAAGC,EAAEsuC,YAAY95C,IAAIwL,EAAEsuC,UAAU,OAA+F,IAAxF,OAAOT,IAAI4B,GAAG5B,GAAGr5C,GAAG,OAAOs5C,IAAI2B,GAAG3B,GAAGt5C,GAAG,OAAOu5C,IAAI0B,GAAG1B,GAAGv5C,GAAGw5C,GAAGx5D,QAAQigB,GAAGw5C,GAAGz5D,QAAQigB,GAAOsL,EAAE,EAAEA,EAAEmuC,GAAG55D,OAAOyrB,KAAIC,EAAEkuC,GAAGnuC,IAAKuuC,YAAY95C,IAAIwL,EAAEsuC,UAAU,MAAM,KAAK,EAAEJ,GAAG55D,QAAiB,QAARyrB,EAAEmuC,GAAG,IAAYI,WAAYQ,GAAG/uC,GAAG,OAAOA,EAAEuuC,WAAWJ,GAAGsB,QAC/X,SAASK,GAAGr7C,GAA6F,OAA1FA,EAAEA,EAAErgB,QAAQqgB,EAAEs7C,YAAYtiD,QAASuiD,0BAA0Bv7C,EAAEA,EAAEu7C,yBAAgC,IAAIv7C,EAAEuR,SAASvR,EAAEoR,WAAWpR,EAAE,SAASw7C,GAAGx7C,GAAG,GAAGA,EAAEA,EAAEwyC,aAAaxyC,GAAG,IAAIA,EAAEqP,KAAK,OAAOrP,GAAI,KAAK,SAASy7C,GAAGz7C,EAAEC,EAAEsL,IAAMtL,EAAE6wC,EAAG9wC,EAAEuL,EAAEmwC,eAAe5M,wBAAwB7uC,OAAIsL,EAAE8kC,mBAAmBJ,EAAG1kC,EAAE8kC,mBAAmBpwC,GAAGsL,EAAE+kC,mBAAmBL,EAAG1kC,EAAE+kC,mBAAmBtwC,IACtX,SAAS27C,GAAG37C,GAAG,GAAGA,GAAGA,EAAE07C,eAAe5M,wBAAwB,CAAC,IAAI,IAAI7uC,EAAED,EAAE47C,YAAYrwC,EAAE,GAAGtL,GAAGsL,EAAE/rB,KAAKygB,GAAGA,EAAEu7C,GAAGv7C,GAAG,IAAIA,EAAEsL,EAAEzrB,OAAO,EAAEmgB,KAAKw7C,GAAGlwC,EAAEtL,GAAG,WAAWD,GAAG,IAAIC,EAAE,EAAEA,EAAEsL,EAAEzrB,OAAOmgB,IAAIw7C,GAAGlwC,EAAEtL,GAAG,UAAUD,IAAI,SAAS67C,GAAG77C,EAAEC,EAAEsL,GAAGvL,GAAGuL,GAAGA,EAAEmwC,eAAe1M,mBAAmB/uC,EAAE6wC,EAAG9wC,EAAEuL,EAAEmwC,eAAe1M,qBAAqBzjC,EAAE8kC,mBAAmBJ,EAAG1kC,EAAE8kC,mBAAmBpwC,GAAGsL,EAAE+kC,mBAAmBL,EAAG1kC,EAAE+kC,mBAAmBtwC,IAAI,SAAS87C,GAAG97C,GAAGA,GAAGA,EAAE07C,eAAe1M,kBAAkB6M,GAAG77C,EAAE47C,YAAY,KAAK57C,GAChe,SAAS+7C,GAAG/7C,GAAGkwC,EAAGlwC,EAAE27C,IAAI,SAASK,KAAK,OAAM,EAAG,SAASC,KAAK,OAAM,EAAG,SAAStR,GAAE3qC,EAAEC,EAAEsL,EAAEC,GAA4F,IAAI,IAAI1O,KAAjGtV,KAAKk0D,eAAe17C,EAAExY,KAAKo0D,YAAY37C,EAAEzY,KAAKyyD,YAAY1uC,EAAEvL,EAAExY,KAAK7G,YAAYu7D,UAAyBl8C,EAAE3c,eAAeyZ,MAAMmD,EAAED,EAAElD,IAAItV,KAAKsV,GAAGmD,EAAEsL,GAAG,WAAWzO,EAAEtV,KAAK7H,OAAO6rB,EAAEhkB,KAAKsV,GAAGyO,EAAEzO,IAAgI,OAA5HtV,KAAK20D,oBAAoB,MAAM5wC,EAAE6wC,iBAAiB7wC,EAAE6wC,kBAAiB,IAAK7wC,EAAE8wC,aAAaL,GAAGC,GAAGz0D,KAAK+oD,qBAAqB0L,GAAUz0D,KAG3J,SAAS80D,GAAGt8C,EAAEC,EAAEsL,EAAEC,GAAG,GAAGhkB,KAAK+0D,UAAUz8D,OAAO,CAAC,IAAIgd,EAAEtV,KAAK+0D,UAAU14C,MAA2B,OAArBrc,KAAKxG,KAAK8b,EAAEkD,EAAEC,EAAEsL,EAAEC,GAAU1O,EAAE,OAAO,IAAItV,KAAKwY,EAAEC,EAAEsL,EAAEC,GAC7X,SAASgxC,GAAGx8C,GAAG,KAAKA,aAAaxY,MAAM,MAAMwI,MAAM+5C,EAAE,MAAM/pC,EAAEy8C,aAAa,GAAGj1D,KAAK+0D,UAAUz8D,QAAQ0H,KAAK+0D,UAAU/8D,KAAKwgB,GAAG,SAAS08C,GAAG18C,GAAGA,EAAEu8C,UAAU,GAAGv8C,EAAE28C,UAAUL,GAAGt8C,EAAEywC,QAAQ+L,GAHlL54C,EAAE+mC,GAAE/pD,UAAU,CAACg8D,eAAe,WAAWp1D,KAAK40D,kBAAiB,EAAG,IAAIp8C,EAAExY,KAAKyyD,YAAYj6C,IAAIA,EAAE48C,eAAe58C,EAAE48C,iBAAiB,mBAAmB58C,EAAEq8C,cAAcr8C,EAAEq8C,aAAY,GAAI70D,KAAK20D,mBAAmBH,KAAKa,gBAAgB,WAAW,IAAI78C,EAAExY,KAAKyyD,YAAYj6C,IAAIA,EAAE68C,gBAAgB78C,EAAE68C,kBAAkB,mBAAmB78C,EAAE88C,eAAe98C,EAAE88C,cAAa,GAAIt1D,KAAK+oD,qBAAqByL,KAAKe,QAAQ,WAAWv1D,KAAKgpD,aAAawL,IAAIxL,aAAayL,GAAGQ,WAAW,WAAW,IACpdx8C,EADwdD,EAAExY,KAAK7G,YAAYu7D,UACze,IAAIj8C,KAAKD,EAAExY,KAAKyY,GAAG,KAAKzY,KAAKyyD,YAAYzyD,KAAKo0D,YAAYp0D,KAAKk0D,eAAe,KAAKl0D,KAAK+oD,qBAAqB/oD,KAAK20D,mBAAmBF,GAAGz0D,KAAK8oD,mBAAmB9oD,KAAK6oD,mBAAmB,QAAQ1F,GAAEuR,UAAU,CAACxnD,KAAK,KAAK/U,OAAO,KAAKowD,cAAc,WAAW,OAAO,MAAMiN,WAAW,KAAKC,QAAQ,KAAKC,WAAW,KAAKC,UAAU,SAASn9C,GAAG,OAAOA,EAAEm9C,WAAW76C,KAAK86C,OAAOhB,iBAAiB,KAAKiB,UAAU,MAC9Y1S,GAAE2S,OAAO,SAASt9C,GAAG,SAASC,KAAK,SAASsL,IAAI,OAAOC,EAAE/rB,MAAM+H,KAAK3H,WAAW,IAAI2rB,EAAEhkB,KAAKyY,EAAErf,UAAU4qB,EAAE5qB,UAAU,IAAIkc,EAAE,IAAImD,EAAmH,OAAjH2D,EAAE9G,EAAEyO,EAAE3qB,WAAW2qB,EAAE3qB,UAAUkc,EAAEyO,EAAE3qB,UAAUD,YAAY4qB,EAAEA,EAAE2wC,UAAUt4C,EAAE,GAAG4H,EAAE0wC,UAAUl8C,GAAGuL,EAAE+xC,OAAO9xC,EAAE8xC,OAAOZ,GAAGnxC,GAAUA,GAAGmxC,GAAG/R,IACvE,IAAI4S,GAAG5S,GAAE2S,OAAO,CAACE,cAAc,KAAKC,YAAY,KAAKC,cAAc,OAAOC,GAAGhT,GAAE2S,OAAO,CAACM,cAAc,SAAS59C,GAAG,MAAM,kBAAkBA,EAAEA,EAAE49C,cAAc5kD,OAAO4kD,iBAAiBC,GAAGlT,GAAE2S,OAAO,CAACQ,KAAK,KAAKC,OAAO,OAAOC,GAAGH,GAAGP,OAAO,CAACW,cAAc,OACza,SAASC,GAAGl+C,GAAG,IAAIC,EAAED,EAAEgoB,QAA+E,MAAvE,aAAahoB,EAAgB,KAAbA,EAAEA,EAAEooB,WAAgB,KAAKnoB,IAAID,EAAE,IAAKA,EAAEC,EAAE,KAAKD,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,EAC7H,IAAIm+C,GAAG,CAACC,IAAI,SAASC,SAAS,IAAIC,KAAK,YAAYC,GAAG,UAAUC,MAAM,aAAaC,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAKC,KAAK,cAAcC,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAACC,EAAE,YAAYC,EAAE,MAAMC,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UAAUC,GAAG,MAAMC,GAAG,QAAQC,GAAG,WAAWC,GAAG,SAASC,GAAG,IAAIC,GAAG,SAASC,GAAG,WAAWC,GAAG,MAAMC,GAAG,OAAOC,GAAG,YAAYC,GAAG,UAAUC,GAAG,aAAaC,GAAG,YAAYC,GAAG,SAASC,GAAG,SAASC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAChfC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,MAAMC,IAAI,MAAMC,IAAI,MAAMC,IAAI,UAAUC,IAAI,aAAaC,IAAI,QAAQC,GAAG,CAACC,IAAI,SAASC,QAAQ,UAAUC,KAAK,UAAUC,MAAM,YAAY,SAASC,GAAG1hD,GAAG,IAAIC,EAAEzY,KAAKyyD,YAAY,OAAOh6C,EAAE0hD,iBAAiB1hD,EAAE0hD,iBAAiB3hD,MAAIA,EAAEqhD,GAAGrhD,OAAMC,EAAED,GAAM,SAAS4hD,KAAK,OAAOF,GAQpI,IAPrL,IAAI98D,GAAGi5D,GAAGP,OAAO,CAAC9+D,IAAI,SAASwhB,GAAG,GAAGA,EAAExhB,IAAI,CAAC,IAAIyhB,EAAEk+C,GAAGn+C,EAAExhB,MAAMwhB,EAAExhB,IAAI,GAAG,iBAAiByhB,EAAE,OAAOA,EAAE,MAAM,aAAaD,EAAEtL,KAAc,MAARsL,EAAEk+C,GAAGl+C,IAAU,QAAQqN,OAAOub,aAAa5oB,GAAI,YAAYA,EAAEtL,MAAM,UAAUsL,EAAEtL,KAAKsqD,GAAGh/C,EAAEgoB,UAAU,eAAe,IAAIl4B,SAAS,KAAK+xD,QAAQ,KAAKC,SAAS,KAAKC,OAAO,KAAKC,QAAQ,KAAKzhB,OAAO,KAAK0hB,OAAO,KAAKN,iBAAiBC,GAAGx5B,SAAS,SAASpoB,GAAG,MAAM,aAAaA,EAAEtL,KAAKwpD,GAAGl+C,GAAG,GAAGgoB,QAAQ,SAAShoB,GAAG,MAAM,YAAYA,EAAEtL,MAAM,UAAUsL,EAAEtL,KAAKsL,EAAEgoB,QAAQ,GAAGG,MAAM,SAASnoB,GAAG,MAAM,aAC7fA,EAAEtL,KAAKwpD,GAAGl+C,GAAG,YAAYA,EAAEtL,MAAM,UAAUsL,EAAEtL,KAAKsL,EAAEgoB,QAAQ,KAAKk6B,GAAG,EAAEC,GAAG,EAAEC,IAAG,EAAGC,IAAG,EAAGC,GAAGzE,GAAGP,OAAO,CAACiF,QAAQ,KAAKC,QAAQ,KAAKC,QAAQ,KAAKC,QAAQ,KAAKC,MAAM,KAAKC,MAAM,KAAKf,QAAQ,KAAKC,SAAS,KAAKC,OAAO,KAAKC,QAAQ,KAAKL,iBAAiBC,GAAGiB,OAAO,KAAKC,QAAQ,KAAK7E,cAAc,SAASj+C,GAAG,OAAOA,EAAEi+C,gBAAgBj+C,EAAE+iD,cAAc/iD,EAAEs7C,WAAWt7C,EAAEgjD,UAAUhjD,EAAE+iD,cAAcE,UAAU,SAASjjD,GAAG,GAAG,cAAcA,EAAE,OAAOA,EAAEijD,UAAU,IAAIhjD,EAAEiiD,GAAgB,OAAbA,GAAGliD,EAAEuiD,QAAeH,GAAG,cAAcpiD,EAAEtL,KAAKsL,EAAEuiD,QAC/etiD,EAAE,GAAGmiD,IAAG,EAAG,IAAIc,UAAU,SAASljD,GAAG,GAAG,cAAcA,EAAE,OAAOA,EAAEkjD,UAAU,IAAIjjD,EAAEkiD,GAAgB,OAAbA,GAAGniD,EAAEwiD,QAAeH,GAAG,cAAcriD,EAAEtL,KAAKsL,EAAEwiD,QAAQviD,EAAE,GAAGoiD,IAAG,EAAG,MAAMc,GAAGb,GAAGhF,OAAO,CAACnD,UAAU,KAAKvoB,MAAM,KAAKC,OAAO,KAAKuxB,SAAS,KAAKC,mBAAmB,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,YAAY,KAAKC,UAAU,OAAOC,GAAGrB,GAAGhF,OAAO,CAACsG,aAAa,OAAOC,GAAGhG,GAAGP,OAAO,CAACwG,QAAQ,KAAKC,cAAc,KAAKC,eAAe,KAAKjC,OAAO,KAAKC,QAAQ,KAAKH,QAAQ,KAAKC,SAAS,KAAKH,iBAAiBC,KAAKqC,GAAGtZ,GAAE2S,OAAO,CAAC/0D,aAAa,KAChgBk1D,YAAY,KAAKC,cAAc,OAAOwG,GAAG5B,GAAGhF,OAAO,CAAC6G,OAAO,SAASnkD,GAAG,MAAM,WAAWA,EAAEA,EAAEmkD,OAAO,gBAAgBnkD,GAAGA,EAAEokD,YAAY,GAAGC,OAAO,SAASrkD,GAAG,MAAM,WAAWA,EAAEA,EAAEqkD,OAAO,gBAAgBrkD,GAAGA,EAAEskD,YAAY,eAAetkD,GAAGA,EAAEukD,WAAW,GAAGC,OAAO,KAAKC,UAAU,OAAOC,GAAG,CAAC,CAAC,OAAO,OAAO,GAAG,CAAC,SAAS,SAAS,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,cAAc,cAAc,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,WAAW,WAAW,GAAG,CAAC,WAAW,cAAc,GAAG,CAAC,UAAU,UAC9e,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,WAAW,WAAW,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,gBAAgB,gBAAgB,GAAG,CAAC,cAAc,cAAc,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,aAAa,aAAa,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,SAAS,SAAS,GAAG,CAAC,SAAS,SAAS,GAAG,CAAC,cAAc,cAClf,GAAG,CAAC,WAAW,WAAW,GAAG,CAAC,aAAa,aAAa,GAAG,CAAC,eAAe,eAAe,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,WAAW,WAAW,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,WAAW,WAAW,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,WAAW,WAAW,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,cAAc,cAAc,GAAG,CAAC,aAAa,aAAa,GAAG,CAAC,cAAc,cAAc,GAAG,CAAC,SAAS,SAAS,GAAG,CAAC,SAAS,SAAS,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,QAAQ,QAChf,GAAG,CAACzM,GAAG,eAAe,GAAG,CAACC,GAAG,qBAAqB,GAAG,CAACC,GAAG,iBAAiB,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,iBAAiB,iBAAiB,GAAG,CAAC,iBAAiB,iBAAiB,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,oBAAoB,oBAAoB,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,aAAa,aAAa,GAAG,CAAC,iBAAiB,iBAAiB,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,qBAAqB,qBAAqB,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,WAClf,WAAW,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,UAAU,UAAU,GAAG,CAAC,aAAa,aAAa,GAAG,CAACC,GAAG,gBAAgB,GAAG,CAAC,UAAU,UAAU,IAAIuM,GAAG,GAAGC,GAAG,GAAGC,GAAG,EAAOA,GAAGH,GAAG5kE,OAAO+kE,KAAK,CAAC,IAAIC,GAAGJ,GAAGG,IAAIE,GAAGD,GAAG,GAAGE,GAAGF,GAAG,GAAGG,GAAGH,GAAG,GAAGI,GAAG,MAAMF,GAAG,GAAGj3D,cAAci3D,GAAGltD,MAAM,IAAIqtD,GAAG,CAACrW,wBAAwB,CAACsW,QAAQF,GAAGG,SAASH,GAAG,WAAW/V,aAAa,CAAC4V,IAAIO,cAAcL,IAAIN,GAAGK,IAAIG,GAAGP,GAAGG,IAAII,GACpZ,IAAII,GAAG,CAAC3W,WAAW+V,GAAGa,iBAAiB,SAASxlD,GAAW,YAAO,KAAfA,EAAE4kD,GAAG5kD,IAAqBA,EAAEslD,cAAc,GAAG3W,cAAc,SAAS3uC,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAE8nD,GAAG5kD,GAAG,IAAIlD,EAAE,OAAO,KAAK,OAAOkD,GAAG,IAAK,WAAW,GAAG,IAAIk+C,GAAG3yC,GAAG,OAAO,KAAK,IAAK,UAAU,IAAK,QAAQvL,EAAEpb,GAAG,MAAM,IAAK,OAAO,IAAK,QAAQob,EAAEg+C,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAIzyC,EAAEs3C,OAAO,OAAO,KAAK,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAc7iD,EAAEsiD,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAOtiD,EAC/kB2jD,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAa3jD,EAAE6jD,GAAG,MAAM,KAAK5L,GAAG,KAAKC,GAAG,KAAKC,GAAGn4C,EAAEu9C,GAAG,MAAM,KAAKnF,GAAGp4C,EAAEikD,GAAG,MAAM,IAAK,SAASjkD,EAAE69C,GAAG,MAAM,IAAK,QAAQ79C,EAAEkkD,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQlkD,EAAE29C,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAY39C,EAAEmjD,GAAG,MAAM,QAAQnjD,EAAE2qC,GAA+B,OAANoR,GAAvB97C,EAAED,EAAE28C,UAAU7/C,EAAEmD,EAAEsL,EAAEC,IAAgBvL,IAAIwlD,GAAG3xC,EAAE4xC,8BACxdC,GAAG7xC,EAAE0mC,yBAAyBoL,GAAGL,GAAGC,iBAAiBK,GAAG,GAAGC,GAAG,GAC9D,SAASC,GAAG/lD,GAAG,IAAIC,EAAED,EAAEgmD,WAAWz6C,EAAEtL,EAAE,EAAE,CAAC,IAAIsL,EAAE,CAACvL,EAAEimD,UAAUzmE,KAAK+rB,GAAG,MAAM,IAAIC,EAAED,EAAE,GAAG,IAAIC,EAAE6D,IAAI7D,EAAEA,EAAEulC,UAAU4J,kBAAkB,CAAC,KAAKnvC,EAAEgnC,QAAQhnC,EAAEA,EAAEgnC,OAAOhnC,EAAE,IAAIA,EAAE6D,IAAI,KAAK7D,EAAEulC,UAAU4J,cAAc,IAAInvC,EAAE,MAAc,KAARvL,EAAEsL,EAAE8D,MAAW,IAAIpP,GAAGD,EAAEimD,UAAUzmE,KAAK+rB,GAAGA,EAAEgvC,GAAG/uC,SAASD,GAAG,IAAIA,EAAE,EAAEA,EAAEvL,EAAEimD,UAAUnmE,OAAOyrB,IAAI,CAACtL,EAAED,EAAEimD,UAAU16C,GAAG,IAAIzO,EAAEu+C,GAAGr7C,EAAEi6C,aAAazuC,EAAExL,EAAE+5C,aAAa,IAAI,IAAItuC,EAAEzL,EAAEi6C,YAAYnsD,EAAEkS,EAAEg6C,iBAAiBjnC,EAAE,KAAKpP,EAAE,EAAEA,EAAE+qC,EAAG5uD,OAAO6jB,IAAI,CAAC,IAAI6O,EAAEk8B,EAAG/qC,GAAG6O,IAAIA,EAAEA,EAAEm8B,cAAcnjC,EAAEvL,EAAEwL,EAAE3O,EAAEhP,MAAMilB,EAAEk9B,EAAGl9B,EAAEP,IAAIk+B,EAAG39B,IAC/e,IAAImzC,IAAG,EAAG,SAASpb,GAAE9qC,EAAEC,GAAGkmD,GAAGlmD,EAAED,GAAE,GAAI,SAASmmD,GAAGnmD,EAAEC,EAAEsL,GAAG,OAAOq6C,GAAG3lD,IAAI,KAAK,EAAE,IAAIuL,EAAE46C,GAAGnvD,KAAK,KAAKgJ,EAAE,GAAG,MAAM,KAAK,EAAEuL,EAAE66C,GAAGpvD,KAAK,KAAKgJ,EAAE,GAAG,MAAM,QAAQuL,EAAE86C,GAAGrvD,KAAK,KAAKgJ,EAAE,GAAGsL,EAAEvL,EAAE0J,iBAAiBzJ,EAAEuL,GAAE,GAAIxL,EAAE0J,iBAAiBzJ,EAAEuL,GAAE,GAAI,SAAS46C,GAAGpmD,EAAEC,EAAEsL,GAAG6nC,IAAIF,KAAK,IAAI1nC,EAAE86C,GAAGxpD,EAAEs2C,GAAGA,IAAG,EAAG,IAAIH,GAAGznC,EAAExL,EAAEC,EAAEsL,GAAb,SAAyB6nC,GAAGt2C,IAAIw2C,MAAM,SAAS+S,GAAGrmD,EAAEC,EAAEsL,GAAGo6C,GAAGF,GAAGa,GAAGrvD,KAAK,KAAK+I,EAAEC,EAAEsL,IAChW,SAASg7C,GAAGvmD,EAAEC,EAAEsL,EAAEC,GAAG,GAAGs6C,GAAGhmE,OAAO,CAAC,IAAIgd,EAAEgpD,GAAGjiD,MAAM/G,EAAEi9C,aAAa/5C,EAAElD,EAAEk9C,iBAAiB/5C,EAAEnD,EAAEm9C,YAAY1uC,EAAEzO,EAAEkpD,WAAWx6C,EAAExL,EAAElD,OAAOkD,EAAE,CAAC+5C,aAAa/5C,EAAEg6C,iBAAiB/5C,EAAEg6C,YAAY1uC,EAAEy6C,WAAWx6C,EAAEy6C,UAAU,IAAI,IAAI,GAAGhmD,EAAE8lD,GAAGx6C,EAAEvL,EAAEqzC,GAAGpzC,EAAEsL,OAAE,OAAY,CAAC8nC,IAAG,EAAG,IAAIF,GAAGlzC,EAAEsL,OAAE,GAAX,QAA2B8nC,IAAG,EAAGC,OAA3E,QAA0FtzC,EAAE+5C,aAAa,KAAK/5C,EAAEi6C,YAAY,KAAKj6C,EAAEgmD,WAAW,KAAKhmD,EAAEimD,UAAUnmE,OAAO,EAAEgmE,GAAGhmE,OAAO+lE,IAAIC,GAAGtmE,KAAKwgB,IAC5Y,SAASsmD,GAAGtmD,EAAEC,EAAEsL,GAAG,GAAG26C,GAAG,GAAG,EAAE9M,GAAGt5D,SAAS,EAAE65D,GAAGxxD,QAAQ6X,GAAGA,EAAE65C,GAAG,KAAK75C,EAAEC,EAAEsL,GAAG6tC,GAAG55D,KAAKwgB,OAAO,CAAC,IAAIwL,EAAEqvC,GAAG76C,EAAEC,EAAEsL,GAAG,OAAOC,EAAE0uC,GAAGl6C,EAAEuL,IAAI,EAAEouC,GAAGxxD,QAAQ6X,IAAIA,EAAE65C,GAAGruC,EAAExL,EAAEC,EAAEsL,GAAG6tC,GAAG55D,KAAKwgB,IA5BpB,SAAYA,EAAEC,EAAEsL,EAAEC,GAAG,OAAOvL,GAAG,IAAK,QAAQ,OAAOo5C,GAAGe,GAAGf,GAAGr5C,EAAEC,EAAEsL,EAAEC,IAAG,EAAG,IAAK,YAAY,OAAO8tC,GAAGc,GAAGd,GAAGt5C,EAAEC,EAAEsL,EAAEC,IAAG,EAAG,IAAK,YAAY,OAAO+tC,GAAGa,GAAGb,GAAGv5C,EAAEC,EAAEsL,EAAEC,IAAG,EAAG,IAAK,cAAc,IAAI1O,EAAE0O,EAAE2uC,UAAgD,OAAtCX,GAAGluB,IAAIxuB,EAAEs9C,GAAGZ,GAAGpuD,IAAI0R,IAAI,KAAKkD,EAAEC,EAAEsL,EAAEC,KAAU,EAAG,IAAK,oBAAoB,OAAO1O,EAAE0O,EAAE2uC,UAAUV,GAAGnuB,IAAIxuB,EAAEs9C,GAAGX,GAAGruD,IAAI0R,IAAI,KAAKkD,EAAEC,EAAEsL,EAAEC,KAAI,EAAG,OAAM,EA4B3Tg7C,CAAGh7C,EAAExL,EAAEC,EAAEsL,KAAK2uC,GAAGl6C,EAAEuL,GAAGg7C,GAAGvmD,EAAEC,EAAEsL,EAAE,QAAQ,SAASsvC,GAAG76C,EAAEC,EAAEsL,GAAG,IAAIC,EAAE6vC,GAAG9vC,GAAW,GAAG,QAAXC,EAAE+uC,GAAG/uC,IAAe,CAAC,IAAI1O,EAAEw7C,GAAG9sC,GAAG,GAAG,OAAO1O,EAAE0O,EAAE,SAAS,CAAC,IAAIC,EAAE3O,EAAEuS,IAAI,GAAG,KAAK5D,EAAE,CAAS,GAAG,QAAXD,EAAEitC,GAAG37C,IAAe,OAAO0O,EAAEA,EAAE,UAAU,GAAG,IAAIC,EAAE,CAAC,GAAG3O,EAAEi0C,UAAU2J,QAAQ,OAAO,IAAI59C,EAAEuS,IAAIvS,EAAEi0C,UAAU4J,cAAc,KAAKnvC,EAAE,UAAU1O,IAAI0O,IAAIA,EAAE,OAAmB,OAAZ+6C,GAAGvmD,EAAEC,EAAEsL,EAAEC,GAAU,KACxe,SAASi7C,GAAGzmD,GAAG,IAAIyyC,EAAG,OAAM,EAAY,IAAIxyC,GAAbD,EAAE,KAAKA,KAAatb,SAAqG,OAA5Fub,KAAIA,EAAEvb,SAASlC,cAAc,QAASmC,aAAaqb,EAAE,WAAWC,EAAE,oBAAoBA,EAAED,IAAWC,EAAE,IAAIymD,GAAG,IAAK,oBAAoBC,QAAQA,QAAQ3d,KAAK,SAAS4d,GAAG5mD,GAAG,IAAIC,EAAEymD,GAAGt7D,IAAI4U,GAAuC,YAApC,IAASC,IAAIA,EAAE,IAAI4pC,IAAI6c,GAAGp7B,IAAItrB,EAAEC,IAAWA,EAChS,SAAS4mD,GAAG7mD,EAAEC,EAAEsL,GAAG,IAAIA,EAAE03B,IAAIjjC,GAAG,CAAC,OAAOA,GAAG,IAAK,SAASmmD,GAAGlmD,EAAE,UAAS,GAAI,MAAM,IAAK,QAAQ,IAAK,OAAOkmD,GAAGlmD,EAAE,SAAQ,GAAIkmD,GAAGlmD,EAAE,QAAO,GAAIsL,EAAEu7C,IAAI,QAAQv7C,EAAEu7C,IAAI,SAAS,MAAM,IAAK,SAAS,IAAK,QAAQL,GAAGzmD,IAAImmD,GAAGlmD,EAAED,GAAE,GAAI,MAAM,IAAK,UAAU,IAAK,SAAS,IAAK,QAAQ,MAAM,SAAS,IAAIq4C,GAAGlwD,QAAQ6X,IAAI8qC,GAAE9qC,EAAEC,GAAGsL,EAAEu7C,IAAI9mD,IAC1T,IAAI+mD,GAAG,CAACC,yBAAwB,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,MAAK,EAAGC,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGC,YAAW,EAAGC,WAAU,EAAGlhB,YAAW,EAAGmhB,SAAQ,EAAGC,OAAM,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAGC,QAAO,EAAGC,MAAK,EAAGC,aAAY,EAC1fC,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,eAAc,EAAGC,aAAY,GAAIC,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASC,GAAG1pD,EAAEC,EAAEsL,GAAG,OAAO,MAAMtL,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGsL,GAAG,kBAAkBtL,GAAG,IAAIA,GAAG8mD,GAAG1jE,eAAe2c,IAAI+mD,GAAG/mD,IAAI,GAAGC,GAAGna,OAAOma,EAAE,KAC9Z,SAAS0pD,GAAG3pD,EAAEC,GAAa,IAAI,IAAIsL,KAAlBvL,EAAEA,EAAE/X,MAAmBgY,EAAE,GAAGA,EAAE5c,eAAekoB,GAAG,CAAC,IAAIC,EAAE,IAAID,EAAEpjB,QAAQ,MAAM2U,EAAE4sD,GAAGn+C,EAAEtL,EAAEsL,GAAGC,GAAG,UAAUD,IAAIA,EAAE,YAAYC,EAAExL,EAAExX,YAAY+iB,EAAEzO,GAAGkD,EAAEuL,GAAGzO,GADTpe,OAAOQ,KAAK6nE,IAAI/mE,SAAQ,SAASggB,GAAGypD,GAAGzpE,SAAQ,SAASigB,GAAGA,EAAEA,EAAED,EAAEuD,OAAO,GAAGxV,cAAciS,EAAEvK,UAAU,GAAGsxD,GAAG9mD,GAAG8mD,GAAG/mD,SACrG,IAAI4pD,GAAGhmD,EAAE,CAACimD,UAAS,GAAI,CAACC,MAAK,EAAGv4D,MAAK,EAAGw4D,IAAG,EAAGC,KAAI,EAAGC,OAAM,EAAGC,IAAG,EAAGC,KAAI,EAAGC,OAAM,EAAGC,QAAO,EAAGhmB,MAAK,EAAGimB,MAAK,EAAGC,OAAM,EAAGxqE,QAAO,EAAGyqE,OAAM,EAAGC,KAAI,IAClT,SAASC,GAAG1qD,EAAEC,GAAG,GAAGA,EAAE,CAAC,GAAG2pD,GAAG5pD,KAAK,MAAMC,EAAEjb,UAAU,MAAMib,EAAEuxB,yBAAyB,MAAMxhC,MAAM+5C,EAAE,IAAI/pC,EAAE,KAAK,GAAG,MAAMC,EAAEuxB,wBAAwB,CAAC,GAAG,MAAMvxB,EAAEjb,SAAS,MAAMgL,MAAM+5C,EAAE,KAAK,KAAK,kBAAkB9pC,EAAEuxB,yBAAyB,WAAWvxB,EAAEuxB,yBAAyB,MAAMxhC,MAAM+5C,EAAE,KAAM,GAAG,MAAM9pC,EAAEhY,OAAO,kBAAkBgY,EAAEhY,MAAM,MAAM+H,MAAM+5C,EAAE,GAAG,MAClW,SAAS4gB,GAAG3qD,EAAEC,GAAG,IAAI,IAAID,EAAE7X,QAAQ,KAAK,MAAM,kBAAkB8X,EAAEvc,GAAG,OAAOsc,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,GAAI,SAAS4qD,GAAG5qD,EAAEC,GAAuD,IAAIsL,EAAEq7C,GAA1D5mD,EAAE,IAAIA,EAAEuR,UAAU,KAAKvR,EAAEuR,SAASvR,EAAEA,EAAE41C,eAA0B31C,EAAEivC,EAAGjvC,GAAG,IAAI,IAAIuL,EAAE,EAAEA,EAAEvL,EAAEngB,OAAO0rB,IAAIq7C,GAAG5mD,EAAEuL,GAAGxL,EAAEuL,GAAG,SAASs/C,MAC7Z,SAASC,GAAG9qD,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBtb,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOsb,EAAE61C,eAAe71C,EAAE+qD,KAAK,MAAM9qD,GAAG,OAAOD,EAAE+qD,MAAM,SAASC,GAAGhrD,GAAG,KAAKA,GAAGA,EAAEtZ,YAAYsZ,EAAEA,EAAEtZ,WAAW,OAAOsZ,EAAE,SAASirD,GAAGjrD,EAAEC,GAAG,IAAwBuL,EAApBD,EAAEy/C,GAAGhrD,GAAO,IAAJA,EAAE,EAAYuL,GAAG,CAAC,GAAG,IAAIA,EAAEgG,SAAS,CAA0B,GAAzB/F,EAAExL,EAAEuL,EAAE5kB,YAAY7G,OAAUkgB,GAAGC,GAAGuL,GAAGvL,EAAE,MAAM,CAAClb,KAAKwmB,EAAErlB,OAAO+Z,EAAED,GAAGA,EAAEwL,EAAExL,EAAE,CAAC,KAAKuL,GAAG,CAAC,GAAGA,EAAE2/C,YAAY,CAAC3/C,EAAEA,EAAE2/C,YAAY,MAAMlrD,EAAEuL,EAAEA,EAAE6F,WAAW7F,OAAE,EAAOA,EAAEy/C,GAAGz/C,IAC3P,SAAS4/C,KAAK,IAAI,IAAInrD,EAAEhH,OAAOiH,EAAE6qD,KAAK7qD,aAAaD,EAAEorD,mBAAmB,CAAC,IAAI,IAAI7/C,EAAE,kBAAkBtL,EAAEorD,cAAcv7D,SAAS+Z,KAAK,MAAM2B,GAAGD,GAAE,EAAG,IAAGA,EAAyB,MAAMtL,EAAE6qD,IAA/B9qD,EAAEC,EAAEorD,eAAgC3mE,UAAU,OAAOub,EAC5Y,SAASqrD,GAAGtrD,GAAG,IAAIC,EAAED,GAAGA,EAAEy0C,UAAUz0C,EAAEy0C,SAASlwD,cAAc,OAAO0b,IAAI,UAAUA,IAAI,SAASD,EAAEtL,MAAM,WAAWsL,EAAEtL,MAAM,QAAQsL,EAAEtL,MAAM,QAAQsL,EAAEtL,MAAM,aAAasL,EAAEtL,OAAO,aAAauL,GAAG,SAASD,EAAEurD,iBAAiB,IAAIC,GAAG,IAAIC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAG9rD,EAAEC,GAAG,OAAOD,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAW,QAAQC,EAAE8rD,UAAU,OAAM,EAC7X,SAASC,GAAGhsD,EAAEC,GAAG,MAAM,aAAaD,GAAG,WAAWA,GAAG,aAAaA,GAAG,kBAAkBC,EAAEjb,UAAU,kBAAkBib,EAAEjb,UAAU,kBAAkBib,EAAEuxB,yBAAyB,OAAOvxB,EAAEuxB,yBAAyB,MAAMvxB,EAAEuxB,wBAAwBC,OAAO,IAAIw6B,GAAG,oBAAoBC,WAAWA,gBAAW,EAAOC,GAAG,oBAAoBC,aAAaA,kBAAa,EAAO,SAAShrB,GAAGphC,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAEkrD,YAAY,CAAC,IAAIjrD,EAAED,EAAEuR,SAAS,GAAG,IAAItR,GAAG,IAAIA,EAAE,MAAM,OAAOD,EAClc,SAASqsD,GAAGrsD,GAAGA,EAAEA,EAAEssD,gBAAgB,IAAI,IAAIrsD,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEuR,SAAS,CAAC,IAAIhG,EAAEvL,EAAE8gC,KAAK,GAAGv1B,IAAIigD,IAAIjgD,IAAIogD,IAAIpgD,IAAImgD,GAAG,CAAC,GAAG,IAAIzrD,EAAE,OAAOD,EAAEC,SAASsL,IAAIkgD,IAAIxrD,IAAID,EAAEA,EAAEssD,gBAAgB,OAAO,KAAK,IAAIC,GAAGpkD,KAAKC,SAAS1U,SAAS,IAAIoE,MAAM,GAAG00D,GAAG,2BAA2BD,GAAGE,GAAG,wBAAwBF,GAAGG,GAAG,qBAAqBH,GACvT,SAAShS,GAAGv6C,GAAG,IAAIC,EAAED,EAAEwsD,IAAI,GAAGvsD,EAAE,OAAOA,EAAE,IAAI,IAAIsL,EAAEvL,EAAEoR,WAAW7F,GAAG,CAAC,GAAGtL,EAAEsL,EAAEmhD,KAAKnhD,EAAEihD,IAAI,CAAe,GAAdjhD,EAAEtL,EAAEs4C,UAAa,OAAOt4C,EAAE9d,OAAO,OAAOopB,GAAG,OAAOA,EAAEppB,MAAM,IAAI6d,EAAEqsD,GAAGrsD,GAAG,OAAOA,GAAG,CAAC,GAAGuL,EAAEvL,EAAEwsD,IAAI,OAAOjhD,EAAEvL,EAAEqsD,GAAGrsD,GAAG,OAAOC,EAAMsL,GAAJvL,EAAEuL,GAAM6F,WAAW,OAAO,KAAK,SAASipC,GAAGr6C,GAAkB,QAAfA,EAAEA,EAAEwsD,KAAKxsD,EAAE0sD,MAAc,IAAI1sD,EAAEqP,KAAK,IAAIrP,EAAEqP,KAAK,KAAKrP,EAAEqP,KAAK,IAAIrP,EAAEqP,IAAI,KAAKrP,EAAE,SAAS2sD,GAAG3sD,GAAG,GAAG,IAAIA,EAAEqP,KAAK,IAAIrP,EAAEqP,IAAI,OAAOrP,EAAE+wC,UAAU,MAAM/gD,MAAM+5C,EAAE,KAAM,SAAS6iB,GAAG5sD,GAAG,OAAOA,EAAEysD,KAAK,KAAK,IAAII,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAC9c,SAASC,KAAK,GAAGD,GAAG,OAAOA,GAAG,IAAI/sD,EAAkBwL,EAAhBvL,EAAE6sD,GAAGvhD,EAAEtL,EAAEngB,OAASgd,EAAE,UAAU+vD,GAAGA,GAAGpuE,MAAMouE,GAAGlmE,YAAY8kB,EAAE3O,EAAEhd,OAAO,IAAIkgB,EAAE,EAAEA,EAAEuL,GAAGtL,EAAED,KAAKlD,EAAEkD,GAAGA,KAAK,IAAIlS,EAAEyd,EAAEvL,EAAE,IAAIwL,EAAE,EAAEA,GAAG1d,GAAGmS,EAAEsL,EAAEC,KAAK1O,EAAE2O,EAAED,GAAGA,KAAK,OAAOuhD,GAAGjwD,EAAEhF,MAAMkI,EAAE,EAAEwL,EAAE,EAAEA,OAAE,GAAQ,IAAIyhD,GAAGtiB,GAAE2S,OAAO,CAACxc,KAAK,OAAOosB,GAAGviB,GAAE2S,OAAO,CAACxc,KAAK,OAAOqsB,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIC,GAAG3a,GAAI,qBAAqBz5C,OAAOq0D,GAAG,KAAK5a,GAAI,iBAAiB/tD,WAAW2oE,GAAG3oE,SAAS4oE,cACpX,IAAIC,GAAG9a,GAAI,cAAcz5C,SAASq0D,GAAGG,GAAG/a,KAAM2a,IAAIC,IAAI,EAAEA,IAAI,IAAIA,IAAII,GAAGpgD,OAAOub,aAAa,IAAI8kC,GAAG,CAACC,YAAY,CAAC7e,wBAAwB,CAACsW,QAAQ,gBAAgBC,SAAS,wBAAwBlW,aAAa,CAAC,iBAAiB,WAAW,YAAY,UAAUye,eAAe,CAAC9e,wBAAwB,CAACsW,QAAQ,mBAAmBC,SAAS,2BAA2BlW,aAAa,uDAAuD1pD,MAAM,MAAMooE,iBAAiB,CAAC/e,wBAAwB,CAACsW,QAAQ,qBAC7eC,SAAS,6BAA6BlW,aAAa,yDAAyD1pD,MAAM,MAAMqoE,kBAAkB,CAAChf,wBAAwB,CAACsW,QAAQ,sBAAsBC,SAAS,8BAA8BlW,aAAa,0DAA0D1pD,MAAM,OAAOsoE,IAAG,EAChU,SAASC,GAAGhuD,EAAEC,GAAG,OAAOD,GAAG,IAAK,QAAQ,OAAO,IAAImtD,GAAGhlE,QAAQ8X,EAAE+nB,SAAS,IAAK,UAAU,OAAO,MAAM/nB,EAAE+nB,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,OAAO,OAAM,EAAG,QAAQ,OAAM,GAAI,SAASimC,GAAGjuD,GAAc,MAAM,kBAAjBA,EAAEA,EAAE+9C,SAAkC,SAAS/9C,EAAEA,EAAE8gC,KAAK,KAAK,IAAIotB,IAAG,EAE1Q,IAAIC,GAAG,CAACvf,WAAW8e,GAAG/e,cAAc,SAAS3uC,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAE,GAAGswD,GAAGntD,EAAE,CAAC,OAAOD,GAAG,IAAK,mBAAmB,IAAIyL,EAAEiiD,GAAGG,iBAAiB,MAAM5tD,EAAE,IAAK,iBAAiBwL,EAAEiiD,GAAGE,eAAe,MAAM3tD,EAAE,IAAK,oBAAoBwL,EAAEiiD,GAAGI,kBAAkB,MAAM7tD,EAAEwL,OAAE,OAAYyiD,GAAGF,GAAGhuD,EAAEuL,KAAKE,EAAEiiD,GAAGE,gBAAgB,YAAY5tD,GAAG,MAAMuL,EAAEyc,UAAUvc,EAAEiiD,GAAGG,kBAClL,OADoMpiD,GAAG+hD,IAAI,OAAOjiD,EAAE02C,SAASiM,IAAIziD,IAAIiiD,GAAGG,iBAAiBpiD,IAAIiiD,GAAGE,gBAAgBM,KAAKpxD,EAAEkwD,OAAYF,GAAG,UAARD,GAAGrhD,GAAkBqhD,GAAGpuE,MAAMouE,GAAGlmE,YAAYunE,IAAG,IAAKziD,EAAEwhD,GAAGtQ,UAAUlxC,EACzfxL,EAAEsL,EAAEC,GAAG1O,EAAE2O,EAAEq1B,KAAKhkC,EAAW,QAARA,EAAEmxD,GAAG1iD,MAAcE,EAAEq1B,KAAKhkC,GAAIi/C,GAAGtwC,GAAG3O,EAAE2O,GAAG3O,EAAE,MAAMkD,EAAEutD,GAHuM,SAAYvtD,EAAEC,GAAG,OAAOD,GAAG,IAAK,iBAAiB,OAAOiuD,GAAGhuD,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAEkoB,MAAa,MAAK4lC,IAAG,EAAUN,IAAG,IAAK,YAAY,OAAOztD,EAAEC,EAAE6gC,QAAS2sB,IAAIM,GAAG,KAAK/tD,EAAE,QAAQ,OAAO,MAGhYouD,CAAGpuD,EAAEuL,GAF9E,SAAYvL,EAAEC,GAAG,GAAGiuD,GAAG,MAAM,mBAAmBluD,IAAIotD,IAAIY,GAAGhuD,EAAEC,IAAID,EAAEgtD,KAAKD,GAAGD,GAAGD,GAAG,KAAKqB,IAAG,EAAGluD,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAQ,OAAO,KAAK,IAAK,WAAW,KAAKC,EAAE4hD,SAAS5hD,EAAE8hD,QAAQ9hD,EAAE+hD,UAAU/hD,EAAE4hD,SAAS5hD,EAAE8hD,OAAO,CAAC,GAAG9hD,EAAEhK,MAAM,EAAEgK,EAAEhK,KAAKnW,OAAO,OAAOmgB,EAAEhK,KAAK,GAAGgK,EAAEkoB,MAAM,OAAO9a,OAAOub,aAAa3oB,EAAEkoB,OAAO,OAAO,KAAK,IAAK,iBAAiB,OAAOqlC,IAAI,OAAOvtD,EAAEgiD,OAAO,KAAKhiD,EAAE6gC,KAAK,QAAQ,OAAO,MAEjTutB,CAAGruD,EAAEuL,MAAKtL,EAAEitD,GAAGvQ,UAAU+Q,GAAGC,YAAY1tD,EAAEsL,EAAEC,IAAKs1B,KAAK9gC,EAAE+7C,GAAG97C,IAAIA,EAAE,KAAY,OAAOnD,EAAEmD,EAAE,OAAOA,EAAEnD,EAAE,CAACA,EAAEmD,KAAKquD,GAAG,CAACp8C,OAAM,EAAGq8C,MAAK,EAAGC,UAAS,EAAG,kBAAiB,EAAGC,OAAM,EAAGC,OAAM,EAAGz7B,QAAO,EAAG07B,UAAS,EAAGC,OAAM,EAAGtpD,QAAO,EAAGupD,KAAI,EAAGz5D,MAAK,EAAG05D,MAAK,EAAGriC,KAAI,EAAGsiC,MAAK,GAAI,SAASC,GAAGhvD,GAAG,IAAIC,EAAED,GAAGA,EAAEy0C,UAAUz0C,EAAEy0C,SAASlwD,cAAc,MAAM,UAAU0b,IAAIquD,GAAGtuD,EAAEtL,MAAM,aAAauL,EAC5b,IAAIgvD,GAAG,CAACC,OAAO,CAACpgB,wBAAwB,CAACsW,QAAQ,WAAWC,SAAS,mBAAmBlW,aAAa,8DAA8D1pD,MAAM,OAAO,SAAS0pE,GAAGnvD,EAAEC,EAAEsL,GAA8D,OAA3DvL,EAAE2qC,GAAEgS,UAAUsS,GAAGC,OAAOlvD,EAAEC,EAAEsL,IAAK7W,KAAK,SAASo+C,GAAGvnC,GAAGwwC,GAAG/7C,GAAUA,EAAE,IAAIovD,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGtvD,GAAG0wC,EAAG1wC,GAAG,SAASuvD,GAAGvvD,GAAe,GAAG+0C,GAAT4X,GAAG3sD,IAAY,OAAOA,EAAE,SAASwvD,GAAGxvD,EAAEC,GAAG,GAAG,WAAWD,EAAE,OAAOC,EAAE,IAAIwvD,IAAG,EAC9Y,SAASC,KAAKN,KAAKA,GAAGO,YAAY,mBAAmBC,IAAIP,GAAGD,GAAG,MAAM,SAASQ,GAAG5vD,GAAG,GAAG,UAAUA,EAAEzX,cAAcgnE,GAAGF,IAAI,GAAGrvD,EAAEmvD,GAAGE,GAAGrvD,EAAEq7C,GAAGr7C,IAAIozC,GAAG1C,EAAG1wC,OAAO,CAACozC,IAAG,EAAG,IAAIJ,GAAGsc,GAAGtvD,GAAV,QAAqBozC,IAAG,EAAGE,OAAO,SAASuc,GAAG7vD,EAAEC,EAAEsL,GAAG,UAAUvL,GAAG0vD,KAAUL,GAAG9jD,GAAR6jD,GAAGnvD,GAAU6vD,YAAY,mBAAmBF,KAAK,SAAS5vD,GAAG0vD,KAAK,SAASK,GAAG/vD,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAOuvD,GAAGF,IAAI,SAASW,GAAGhwD,EAAEC,GAAG,GAAG,UAAUD,EAAE,OAAOuvD,GAAGtvD,GAAG,SAASgwD,GAAGjwD,EAAEC,GAAG,GAAG,UAAUD,GAAG,WAAWA,EAAE,OAAOuvD,GAAGtvD,GAD/EwyC,IAAKgd,GAAGhJ,GAAG,YAAY/hE,SAAS4oE,cAAc,EAAE5oE,SAAS4oE,eAE1c,IACiT4C,GAD7SC,GAAG,CAACvhB,WAAWqgB,GAAGmB,uBAAuBX,GAAG9gB,cAAc,SAAS3uC,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAEmD,EAAE0sD,GAAG1sD,GAAGjH,OAAOyS,EAAE3O,EAAE23C,UAAU33C,EAAE23C,SAASlwD,cAAc,GAAG,WAAWknB,GAAG,UAAUA,GAAG,SAAS3O,EAAEpI,KAAK,IAAI5G,EAAE0hE,QAAQ,GAAGR,GAAGlyD,GAAG,GAAG2yD,GAAG3hE,EAAEmiE,OAAO,CAACniE,EAAEiiE,GAAG,IAAIh9C,EAAE88C,QAAQpkD,EAAE3O,EAAE23C,WAAW,UAAUhpC,EAAElnB,gBAAgB,aAAauY,EAAEpI,MAAM,UAAUoI,EAAEpI,QAAQ5G,EAAEkiE,IAAI,GAAGliE,IAAIA,EAAEA,EAAEkS,EAAEC,IAAI,OAAOkvD,GAAGrhE,EAAEyd,EAAEC,GAAGuH,GAAGA,EAAE/S,EAAElD,EAAEmD,GAAG,SAASD,IAAIA,EAAElD,EAAEq4C,gBAAgBn1C,EAAEu1C,YAAY,WAAWz4C,EAAEpI,MAAMghD,GAAG54C,EAAE,SAASA,EAAEre,SAAS4xE,GAAG,CAACC,WAAW,CAACthB,iBAAiB,eACxfG,aAAa,CAAC,WAAW,cAAcohB,WAAW,CAACvhB,iBAAiB,eAAeG,aAAa,CAAC,WAAW,cAAcqhB,aAAa,CAACxhB,iBAAiB,iBAAiBG,aAAa,CAAC,aAAa,gBAAgBshB,aAAa,CAACzhB,iBAAiB,iBAAiBG,aAAa,CAAC,aAAa,iBAAoBuhB,GAAG,CAAC9hB,WAAWyhB,GAAG1hB,cAAc,SAAS3uC,EAAEC,EAAEsL,EAAEC,EAAE1O,GAAG,IAAI2O,EAAE,cAAczL,GAAG,gBAAgBA,EAAElS,EAAE,aAAakS,GAAG,eAAeA,EAAE,GAAGyL,GAAG,KAAO,GAAF3O,KAAQyO,EAAE0yC,eAAe1yC,EAAEw3C,eAAej1D,IAAI2d,EAAE,OAAO,KAC9S,GAAxM3O,EAAE0O,EAAExS,SAASwS,EAAEA,GAAG1O,EAAE0O,EAAEoqC,eAAe94C,EAAE6zD,aAAa7zD,EAAE8zD,aAAa53D,OAAUlL,GAAMA,EAAEmS,EAAgD,QAA9CA,GAAGA,EAAEsL,EAAE0yC,eAAe1yC,EAAEy3C,WAAWzI,GAAGt6C,GAAG,QAAwBA,KAARwL,EAAE6sC,GAAGr4C,KAAU,IAAIA,EAAEoP,KAAK,IAAIpP,EAAEoP,OAAKpP,EAAE,OAAUnS,EAAE,KAAQA,IAAImS,EAAE,OAAO,KAAK,GAAG,aAAaD,GAAG,cAAcA,EAAG,IAAI+S,EAAEuvC,GAAO3+C,EAAE0sD,GAAGE,WAAe/9C,EAAE69C,GAAGC,WAAetwB,EAAE,YAAgB,eAAehgC,GAAG,gBAAgBA,IAAE+S,EAAEowC,GAAGx/C,EAAE0sD,GAAGI,aAAaj+C,EAAE69C,GAAGG,aAAaxwB,EAAE,WACtT,GADgUhgC,EAAE,MAAMlS,EAAEgP,EAAE6vD,GAAG7+D,GAAGgP,EAAE,MAAMmD,EAAEnD,EAAE6vD,GAAG1sD,IAAG0D,EAAEoP,EAAE4pC,UAAUh5C,EAAE7V,EAAEyd,EAAEC,IAAK9W,KAAKsrC,EAAE,QAAQr8B,EAAEhkB,OAC/eqgB,EAAE2D,EAAEs6C,cAAcnhD,GAAE0O,EAAEuH,EAAE4pC,UAAUnqC,EAAEvS,EAAEsL,EAAEC,IAAK9W,KAAKsrC,EAAE,QAAQx0B,EAAE7rB,OAAOmd,EAAE0O,EAAEyyC,cAAcj+C,EAAMggC,EAAE//B,GAAN8S,EAAEjlB,IAAYkyC,EAAEhgC,EAAE,CAAa,IAARA,EAAEggC,EAAElyC,EAAE,EAAMmS,EAAhBuS,EAAEO,EAAkB9S,EAAEA,EAAEu7C,GAAGv7C,GAAGnS,IAAQ,IAAJmS,EAAE,EAAMnD,EAAEkD,EAAElD,EAAEA,EAAE0+C,GAAG1+C,GAAGmD,IAAI,KAAK,EAAEnS,EAAEmS,GAAGuS,EAAEgpC,GAAGhpC,GAAG1kB,IAAI,KAAK,EAAEmS,EAAEnS,GAAGkS,EAAEw7C,GAAGx7C,GAAGC,IAAI,KAAKnS,KAAK,CAAC,GAAG0kB,IAAIxS,GAAGwS,IAAIxS,EAAEu4C,UAAU,MAAMv4C,EAAEwS,EAAEgpC,GAAGhpC,GAAGxS,EAAEw7C,GAAGx7C,GAAGwS,EAAE,UAAUA,EAAE,KAAS,IAAJxS,EAAEwS,EAAMA,EAAE,GAAGO,GAAGA,IAAI/S,IAAqB,QAAjBlS,EAAEilB,EAAEwlC,YAAuBzqD,IAAIkS,IAAQwS,EAAEhzB,KAAKuzB,GAAGA,EAAEyoC,GAAGzoC,GAAG,IAAIA,EAAE,GAAGitB,GAAGA,IAAIhgC,IAAqB,QAAjBlS,EAAEkyC,EAAEuY,YAAuBzqD,IAAIkS,IAAQ+S,EAAEvzB,KAAKwgD,GAAGA,EAAEwb,GAAGxb,GAAG,IAAIA,EAAE,EAAEA,EAAExtB,EAAE1yB,OAAOkgD,IAAI6b,GAAGrpC,EAAEwtB,GAAG,UAAUr8B,GAAG,IAAIq8B,EACtfjtB,EAAEjzB,OAAO,EAAEkgD,KAAK6b,GAAG9oC,EAAEitB,GAAG,WAAWx0B,GAAG,OAAGD,IAAI2kD,IAAUA,GAAG,KAAK,CAACvsD,KAAGusD,GAAG3kD,EAAQ,CAAC5H,EAAE6H,MAAqE,IAAIqlD,GAAG,oBAAoBnyE,OAAOgF,GAAGhF,OAAOgF,GAA5G,SAAYsc,EAAEC,GAAG,OAAOD,IAAIC,IAAI,IAAID,GAAG,EAAEA,IAAI,EAAEC,IAAID,IAAIA,GAAGC,IAAIA,GAAoD6wD,GAAGpyE,OAAOkC,UAAUyC,eAAe,SAAS0tE,GAAG/wD,EAAEC,GAAG,GAAG4wD,GAAG7wD,EAAEC,GAAG,OAAM,EAAG,GAAG,kBAAkBD,GAAG,OAAOA,GAAG,kBAAkBC,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAIsL,EAAE7sB,OAAOQ,KAAK8gB,GAAGwL,EAAE9sB,OAAOQ,KAAK+gB,GAAG,GAAGsL,EAAEzrB,SAAS0rB,EAAE1rB,OAAO,OAAM,EAAG,IAAI0rB,EAAE,EAAEA,EAAED,EAAEzrB,OAAO0rB,IAAI,IAAIslD,GAAG9vE,KAAKif,EAAEsL,EAAEC,MAAMqlD,GAAG7wD,EAAEuL,EAAEC,IAAIvL,EAAEsL,EAAEC,KAAK,OAAM,EAAG,OAAM,EAC/e,IAAIwlD,GAAGve,GAAI,iBAAiB/tD,UAAU,IAAIA,SAAS4oE,aAAa2D,GAAG,CAACC,OAAO,CAACpiB,wBAAwB,CAACsW,QAAQ,WAAWC,SAAS,mBAAmBlW,aAAa,iFAAiF1pD,MAAM,OAAO0rE,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAC1R,SAASC,GAAGvxD,EAAEC,GAAG,IAAIsL,EAAEtL,EAAEjH,SAASiH,EAAEA,EAAEvb,SAAS,IAAIub,EAAEsR,SAAStR,EAAEA,EAAE21C,cAAc,OAAG0b,IAAI,MAAMH,IAAIA,KAAKrG,GAAGv/C,GAAU,MAAU,mBAALA,EAAE4lD,KAAyB7F,GAAG//C,GAAGA,EAAE,CAACjW,MAAMiW,EAAEimD,eAAeh8D,IAAI+V,EAAEkmD,cAAuFlmD,EAAE,CAACmmD,YAA3EnmD,GAAGA,EAAEqqC,eAAerqC,EAAEqqC,cAAc+a,aAAa33D,QAAQ24D,gBAA+BD,WAAWE,aAAarmD,EAAEqmD,aAAaC,UAAUtmD,EAAEsmD,UAAUC,YAAYvmD,EAAEumD,aAAqBT,IAAIN,GAAGM,GAAG9lD,GAAG,MAAM8lD,GAAG9lD,GAAEvL,EAAE2qC,GAAEgS,UAAUsU,GAAGC,OAAOE,GAAGpxD,EAAEC,IAAKvL,KAAK,SAASsL,EAAErgB,OAAOwxE,GAAGpV,GAAG/7C,GAAGA,IAC1d,IAAI+xD,GAAG,CAACnjB,WAAWqiB,GAAGtiB,cAAc,SAAS3uC,EAAEC,EAAEsL,EAAEC,GAAG,IAA+DC,EAA3D3O,EAAE0O,EAAExS,SAASwS,EAAEA,EAAE9mB,SAAS,IAAI8mB,EAAE+F,SAAS/F,EAAEA,EAAEoqC,cAAgB,KAAKnqC,GAAG3O,GAAG,CAACkD,EAAE,CAAClD,EAAE8pD,GAAG9pD,GAAG2O,EAAEyjC,EAAG8iB,SAAS,IAAI,IAAIlkE,EAAE,EAAEA,EAAE2d,EAAE3rB,OAAOgO,IAAI,IAAIgP,EAAEmmC,IAAIx3B,EAAE3d,IAAI,CAACgP,GAAE,EAAG,MAAMkD,EAAElD,GAAE,EAAG2O,GAAG3O,EAAE,GAAG2O,EAAE,OAAO,KAAsB,OAAjB3O,EAAEmD,EAAE0sD,GAAG1sD,GAAGjH,OAAcgH,GAAG,IAAK,SAAWgvD,GAAGlyD,IAAI,SAASA,EAAEyuD,mBAAgB4F,GAAGr0D,EAAEs0D,GAAGnxD,EAAEoxD,GAAG,MAAK,MAAM,IAAK,OAAOA,GAAGD,GAAGD,GAAG,KAAK,MAAM,IAAK,YAAYG,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAU,OAAOA,IAAG,EAAGC,GAAGhmD,EAAEC,GAAG,IAAK,kBAAkB,GAAGwlD,GAAG,MACrf,IAAK,UAAU,IAAK,QAAQ,OAAOO,GAAGhmD,EAAEC,GAAG,OAAO,OAAOmlC,EAAGC,uBAAuB,0HAA0HnrD,MAAM,MAAgBmqD,EAAGgd,GAAGzlD,EAATkzC,GAAexK,EAAG8c,GAAGhc,EAAGE,yBAAyB,CAACohB,kBAAkB1M,GAAG2M,sBAAsBxB,GAAGyB,kBAAkBhC,GAAGiC,kBAAkBL,GAAGM,uBAAuBlE,KAAK,IAAItkB,IAAI,IAAIyoB,GAAG,GAAGC,IAAI,EAAE,SAASxnB,GAAE/qC,GAAG,EAAEuyD,KAAKvyD,EAAErI,QAAQ26D,GAAGC,IAAID,GAAGC,IAAI,KAAKA,MAChd,SAASnnB,GAAEprC,EAAEC,GAAGsyD,KAAKD,GAAGC,IAAIvyD,EAAErI,QAAQqI,EAAErI,QAAQsI,EAAE,IAAIuyD,GAAG,GAAGnnB,GAAE,CAAC1zC,QAAQ66D,IAAIlnB,GAAE,CAAC3zC,SAAQ,GAAI86D,GAAGD,GAAG,SAASE,GAAG1yD,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEtL,KAAKrJ,aAAa,IAAIkgB,EAAE,OAAOinD,GAAG,IAAIhnD,EAAExL,EAAE+wC,UAAU,GAAGvlC,GAAGA,EAAEmnD,8CAA8C1yD,EAAE,OAAOuL,EAAEonD,0CAA0C,IAASnnD,EAAL3O,EAAE,GAAK,IAAI2O,KAAKF,EAAEzO,EAAE2O,GAAGxL,EAAEwL,GAAoH,OAAjHD,KAAIxL,EAAEA,EAAE+wC,WAAY4hB,4CAA4C1yD,EAAED,EAAE4yD,0CAA0C91D,GAAUA,EAAE,SAASyuC,GAAEvrC,GAAyB,OAAO,QAA7BA,EAAEA,EAAEjU,yBAAmC,IAASiU,EAChf,SAAS6yD,GAAG7yD,GAAG+qC,GAAEO,IAAKP,GAAEM,IAAK,SAASynB,GAAG9yD,GAAG+qC,GAAEO,IAAKP,GAAEM,IAAK,SAAS0nB,GAAG/yD,EAAEC,EAAEsL,GAAG,GAAG8/B,GAAE1zC,UAAU66D,GAAG,MAAMxiE,MAAM+5C,EAAE,MAAMqB,GAAEC,GAAEprC,GAAKmrC,GAAEE,GAAE//B,GAAK,SAASynD,GAAGhzD,EAAEC,EAAEsL,GAAG,IAAIC,EAAExL,EAAE+wC,UAAgC,GAAtB/wC,EAAEC,EAAElU,kBAAqB,oBAAoByf,EAAEkgB,gBAAgB,OAAOngB,EAAwB,IAAI,IAAIzO,KAA9B0O,EAAEA,EAAEkgB,kBAAiC,KAAK5uB,KAAKkD,GAAG,MAAMhQ,MAAM+5C,EAAE,IAAImI,EAAGjyC,IAAI,UAAUnD,IAAI,OAAO8G,EAAE,GAAG2H,EAAE,GAAGC,GAAG,SAASynD,GAAGjzD,GAAG,IAAIC,EAAED,EAAE+wC,UAAsG,OAA5F9wC,EAAEA,GAAGA,EAAEizD,2CAA2CV,GAAGC,GAAGpnB,GAAE1zC,QAAQyzC,GAAEC,GAAEprC,GAAKmrC,GAAEE,GAAEA,GAAE3zC,UAAiB,EACle,SAASw7D,GAAGnzD,EAAEC,EAAEsL,GAAG,IAAIC,EAAExL,EAAE+wC,UAAU,IAAIvlC,EAAE,MAAMxb,MAAM+5C,EAAE,MAAMx+B,GAAGtL,EAAE+yD,GAAGhzD,EAAEC,EAAEwyD,IAAIjnD,EAAE0nD,0CAA0CjzD,EAAE8qC,GAAEO,IAAKP,GAAEM,IAAKD,GAAEC,GAAEprC,IAAM8qC,GAAEO,IAAKF,GAAEE,GAAE//B,GAChK,IAAI6nD,GAAGt/C,EAAE0mC,yBAAyB6Y,GAAGv/C,EAAEonC,0BAA0BoY,GAAGx/C,EAAEy/C,wBAAwBC,GAAG1/C,EAAE2/C,qBAAqBC,GAAG5/C,EAAE6/C,sBAAsBC,GAAG9/C,EAAE+/C,aAAaC,GAAGhgD,EAAEigD,iCAAiCC,GAAGlgD,EAAEmgD,2BAA2BC,GAAGpgD,EAAE4xC,8BAA8ByO,GAAGrgD,EAAEqnC,wBAAwBiZ,GAAGtgD,EAAEugD,qBAAqBC,GAAGxgD,EAAEygD,sBAAsBC,GAAG,GAAGC,QAAG,IAASf,GAAGA,GAAG,aAAagB,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAAGC,GAAGjB,KAAKkB,GAAG,IAAID,GAAGjB,GAAG,WAAW,OAAOA,KAAKiB,IACvc,SAASE,KAAK,OAAOjB,MAAM,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,QAAQ,MAAMtkE,MAAM+5C,EAAE,OAAQ,SAASirB,GAAGh1D,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAOg0D,GAAG,KAAK,GAAG,OAAOE,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOE,GAAG,QAAQ,MAAMtkE,MAAM+5C,EAAE,OAAQ,SAASkrB,GAAGj1D,EAAEC,GAAW,OAARD,EAAEg1D,GAAGh1D,GAAUozD,GAAGpzD,EAAEC,GAAG,SAASi1D,GAAGl1D,EAAEC,EAAEsL,GAAW,OAARvL,EAAEg1D,GAAGh1D,GAAUqzD,GAAGrzD,EAAEC,EAAEsL,GAAG,SAAS4pD,GAAGn1D,GAA8C,OAA3C,OAAO00D,IAAIA,GAAG,CAAC10D,GAAG20D,GAAGtB,GAAGW,GAAGoB,KAAKV,GAAGl1E,KAAKwgB,GAAUw0D,GAAG,SAASa,KAAK,GAAG,OAAOV,GAAG,CAAC,IAAI30D,EAAE20D,GAAGA,GAAG,KAAKrB,GAAGtzD,GAAGo1D,KAC/e,SAASA,KAAK,IAAIR,IAAI,OAAOF,GAAG,CAACE,IAAG,EAAG,IAAI50D,EAAE,EAAE,IAAI,IAAIC,EAAEy0D,GAAGO,GAAG,IAAG,WAAW,KAAKj1D,EAAEC,EAAEngB,OAAOkgB,IAAI,CAAC,IAAIuL,EAAEtL,EAAED,GAAG,GAAGuL,EAAEA,GAAE,SAAU,OAAOA,OAAMmpD,GAAG,KAAK,MAAMnpD,GAAG,MAAM,OAAOmpD,KAAKA,GAAGA,GAAG58D,MAAMkI,EAAE,IAAIqzD,GAAGW,GAAGqB,IAAI9pD,EAA3J,QAAsKqpD,IAAG,IAAK,IAAIU,GAAG,EAAE,SAASC,GAAGv1D,EAAEC,EAAEsL,GAAS,OAAO,YAAsC,IAAxB,WAAWvL,EAAEC,EAAE,KAA1CsL,GAAG,IAA6C,IAAMA,EAAE,SAASiqD,GAAGx1D,EAAEC,GAAG,GAAGD,GAAGA,EAAElU,aAAyC,IAAI,IAAIyf,KAAnCtL,EAAE2D,EAAE,GAAG3D,GAAGD,EAAEA,EAAElU,kBAA4B,IAASmU,EAAEsL,KAAKtL,EAAEsL,GAAGvL,EAAEuL,IAAI,OAAOtL,EAAE,IAAIw1D,GAAG,CAAC99D,QAAQ,MAAM+9D,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,KAC3e,SAASI,GAAG91D,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEtL,KAAK04C,SAAShC,GAAEqqB,GAAGlqD,EAAE0hC,eAAiB1hC,EAAE0hC,cAAchtC,EAAE,SAAS81D,GAAG/1D,GAAG,IAAIC,EAAEw1D,GAAG99D,QAAQozC,GAAE0qB,IAAMz1D,EAAEtL,KAAK04C,SAASH,cAAchtC,EAAE,SAAS+1D,GAAGh2D,EAAEC,GAAG,KAAK,OAAOD,GAAG,CAAC,IAAIuL,EAAEvL,EAAEu4C,UAAU,GAAGv4C,EAAEi2D,oBAAoBh2D,EAAED,EAAEi2D,oBAAoBh2D,EAAE,OAAOsL,GAAGA,EAAE0qD,oBAAoBh2D,IAAIsL,EAAE0qD,oBAAoBh2D,OAAQ,MAAG,OAAOsL,GAAGA,EAAE0qD,oBAAoBh2D,GAA+B,MAA7BsL,EAAE0qD,oBAAoBh2D,EAAaD,EAAEA,EAAEwyC,QAC7Y,SAAS0jB,GAAGl2D,EAAEC,GAAGy1D,GAAG11D,EAAE41D,GAAGD,GAAG,KAAsB,QAAjB31D,EAAEA,EAAEmvC,eAAuB,OAAOnvC,EAAEm2D,eAAen2D,EAAEo2D,gBAAgBn2D,IAAIo2D,IAAG,GAAIr2D,EAAEm2D,aAAa,MAAM,SAASG,GAAGt2D,EAAEC,GAAG,GAAG21D,KAAK51D,IAAG,IAAKC,GAAG,IAAIA,EAAmG,GAA7F,kBAAkBA,GAAG,aAAaA,IAAE21D,GAAG51D,EAAEC,EAAE,YAAWA,EAAE,CAAC7c,QAAQ4c,EAAEksB,aAAajsB,EAAErI,KAAK,MAAS,OAAO+9D,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAM1lE,MAAM+5C,EAAE,MAAM4rB,GAAG11D,EAAEy1D,GAAGvmB,aAAa,CAACinB,eAAe,EAAED,aAAal2D,EAAEs2D,WAAW,WAAWZ,GAAGA,GAAG/9D,KAAKqI,EAAE,OAAOD,EAAEitC,cAAc,IAAIupB,IAAG,EACvb,SAASC,GAAGz2D,GAAG,MAAM,CAAC02D,UAAU12D,EAAE22D,YAAY,KAAKC,WAAW,KAAKC,oBAAoB,KAAKC,mBAAmB,KAAKC,YAAY,KAAKC,WAAW,KAAKC,oBAAoB,KAAKC,mBAAmB,MAAM,SAASC,GAAGn3D,GAAG,MAAM,CAAC02D,UAAU12D,EAAE02D,UAAUC,YAAY32D,EAAE22D,YAAYC,WAAW52D,EAAE42D,WAAWC,oBAAoB,KAAKC,mBAAmB,KAAKC,YAAY,KAAKC,WAAW,KAAKC,oBAAoB,KAAKC,mBAAmB,MACna,SAASE,GAAGp3D,EAAEC,GAAG,MAAM,CAACm2D,eAAep2D,EAAEq3D,eAAep3D,EAAEoP,IAAI,EAAE1a,QAAQ,KAAK2B,SAAS,KAAKsB,KAAK,KAAK0/D,WAAW,MAAM,SAASC,GAAGv3D,EAAEC,GAAG,OAAOD,EAAE42D,WAAW52D,EAAE22D,YAAY32D,EAAE42D,WAAW32D,GAAGD,EAAE42D,WAAWh/D,KAAKqI,EAAED,EAAE42D,WAAW32D,GAC1N,SAASu3D,GAAGx3D,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEu4C,UAAU,GAAG,OAAOhtC,EAAE,CAAC,IAAIC,EAAExL,EAAEy3D,YAAgB36D,EAAE,KAAK,OAAO0O,IAAIA,EAAExL,EAAEy3D,YAAYhB,GAAGz2D,EAAE04C,qBAAqBltC,EAAExL,EAAEy3D,YAAY36D,EAAEyO,EAAEksD,YAAY,OAAOjsD,EAAE,OAAO1O,GAAG0O,EAAExL,EAAEy3D,YAAYhB,GAAGz2D,EAAE04C,eAAe57C,EAAEyO,EAAEksD,YAAYhB,GAAGlrD,EAAEmtC,gBAAgBltC,EAAExL,EAAEy3D,YAAYN,GAAGr6D,GAAG,OAAOA,IAAIA,EAAEyO,EAAEksD,YAAYN,GAAG3rD,IAAI,OAAO1O,GAAG0O,IAAI1O,EAAEy6D,GAAG/rD,EAAEvL,GAAG,OAAOuL,EAAEorD,YAAY,OAAO95D,EAAE85D,YAAYW,GAAG/rD,EAAEvL,GAAGs3D,GAAGz6D,EAAEmD,KAAKs3D,GAAG/rD,EAAEvL,GAAGnD,EAAE85D,WAAW32D,GACja,SAASy3D,GAAG13D,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEy3D,YAAiE,QAArDlsD,EAAE,OAAOA,EAAEvL,EAAEy3D,YAAYhB,GAAGz2D,EAAE04C,eAAeif,GAAG33D,EAAEuL,IAAYurD,mBAAmBvrD,EAAEsrD,oBAAoBtrD,EAAEurD,mBAAmB72D,GAAGsL,EAAEurD,mBAAmBl/D,KAAKqI,EAAEsL,EAAEurD,mBAAmB72D,GAAG,SAAS03D,GAAG33D,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEu4C,UAA+D,OAArD,OAAOhtC,GAAGtL,IAAIsL,EAAEksD,cAAcx3D,EAAED,EAAEy3D,YAAYN,GAAGl3D,IAAWA,EACvT,SAAS23D,GAAG53D,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,GAAG,OAAOF,EAAE8D,KAAK,KAAK,EAAE,MAAmB,oBAAZrP,EAAEuL,EAAE5W,SAA8BqL,EAAEhf,KAAKyqB,EAAED,EAAE1O,GAAGkD,EAAE,KAAK,EAAEA,EAAEw4C,WAAuB,KAAbx4C,EAAEw4C,UAAgB,GAAG,KAAK,EAAsD,GAAG,QAA3C17C,EAAE,oBAAdkD,EAAEuL,EAAE5W,SAAgCqL,EAAEhf,KAAKyqB,EAAED,EAAE1O,GAAGkD,SAAe,IAASlD,EAAE,MAAM,OAAO8G,EAAE,GAAG4H,EAAE1O,GAAG,KAAK,EAAE05D,IAAG,EAAG,OAAOhrD,EAC7Q,SAASqsD,GAAG73D,EAAEC,EAAEsL,EAAEC,EAAE1O,GAAG05D,IAAG,EAAa,IAAI,IAAI/qD,GAAlBxL,EAAE03D,GAAG33D,EAAEC,IAAey2D,UAAU5oE,EAAE,KAAKilB,EAAE,EAAEpP,EAAE1D,EAAE02D,YAAYnkD,EAAE/G,EAAE,OAAO9H,GAAG,CAAC,IAAIq8B,EAAEr8B,EAAEyyD,eAAep2B,EAAEljC,GAAG,OAAOhP,IAAIA,EAAE6V,EAAE8H,EAAE+G,GAAGO,EAAEitB,IAAIjtB,EAAEitB,KAAK83B,GAAG93B,EAAEr8B,EAAE0zD,gBAAgB7kD,EAAEolD,GAAG53D,EAAEC,EAAE0D,EAAE6O,EAAEjH,EAAEC,GAAG,OAAO7H,EAAErN,WAAW0J,EAAEw4C,WAAW,GAAG70C,EAAE2zD,WAAW,KAAK,OAAOr3D,EAAE+2D,WAAW/2D,EAAE82D,YAAY92D,EAAE+2D,WAAWrzD,GAAG1D,EAAE+2D,WAAWM,WAAW3zD,EAAE1D,EAAE+2D,WAAWrzD,KAAKA,EAAEA,EAAE/L,KAAY,IAAPooC,EAAE,KAASr8B,EAAE1D,EAAE42D,oBAAoB,OAAOlzD,GAAG,CAAC,IAAI0mC,EAAE1mC,EAAEyyD,eAAe/rB,EAAEvtC,GAAG,OAAOkjC,IAAIA,EAAEr8B,EAAE,OAAO7V,IAAI2d,EAAE+G,IAAIO,EAAEs3B,IAAIt3B,EAAEs3B,KAAK73B,EAAEolD,GAAG53D,EAAEC,EAAE0D,EAAE6O,EAAEjH,EAAEC,GAAG,OACnf7H,EAAErN,WAAW0J,EAAEw4C,WAAW,GAAG70C,EAAE2zD,WAAW,KAAK,OAAOr3D,EAAEi3D,mBAAmBj3D,EAAEg3D,oBAAoBh3D,EAAEi3D,mBAAmBvzD,GAAG1D,EAAEi3D,mBAAmBI,WAAW3zD,EAAE1D,EAAEi3D,mBAAmBvzD,KAAKA,EAAEA,EAAE/L,KAAK,OAAO9J,IAAImS,EAAE22D,WAAW,MAAM,OAAO52B,EAAE//B,EAAE62D,mBAAmB,KAAK92D,EAAEw4C,WAAW,GAAG,OAAO1qD,GAAG,OAAOkyC,IAAIv0B,EAAE+G,GAAGvS,EAAEy2D,UAAUjrD,EAAExL,EAAE02D,YAAY7oE,EAAEmS,EAAE42D,oBAAoB72B,EAAE+3B,GAAGhlD,GAAG/S,EAAEo2D,eAAerjD,EAAE/S,EAAE04C,cAAclmC,EACxY,SAASwlD,GAAGh4D,EAAEC,EAAEsL,GAAG,OAAOtL,EAAE42D,sBAAsB,OAAO52D,EAAE22D,aAAa32D,EAAE22D,WAAWh/D,KAAKqI,EAAE42D,oBAAoB52D,EAAE22D,WAAW32D,EAAE62D,oBAAoB72D,EAAE42D,oBAAoB52D,EAAE62D,mBAAmB,MAAMmB,GAAGh4D,EAAE82D,YAAYxrD,GAAGtL,EAAE82D,YAAY92D,EAAE+2D,WAAW,KAAKiB,GAAGh4D,EAAEg3D,oBAAoB1rD,GAAGtL,EAAEg3D,oBAAoBh3D,EAAEi3D,mBAAmB,KAAK,SAASe,GAAGj4D,EAAEC,GAAG,KAAK,OAAOD,GAAG,CAAC,IAAIuL,EAAEvL,EAAE1J,SAAS,GAAG,OAAOiV,EAAE,CAACvL,EAAE1J,SAAS,KAAK,IAAIkV,EAAEvL,EAAE,GAAG,oBAAoBsL,EAAE,MAAMvb,MAAM+5C,EAAE,IAAIx+B,IAAIA,EAAEvqB,KAAKwqB,GAAGxL,EAAEA,EAAEs3D,YACxd,IAAIY,GAAGjnB,EAAG7C,wBAAwB+pB,IAAI,IAAIjuB,EAAGt+C,WAAWg/C,KAAK,SAASwtB,GAAGp4D,EAAEC,EAAEsL,EAAEC,GAA8BD,EAAE,QAAXA,EAAEA,EAAEC,EAAtBvL,EAAED,EAAE04C,sBAAmC,IAASntC,EAAEtL,EAAE2D,EAAE,GAAG3D,EAAEsL,GAAGvL,EAAE04C,cAAcntC,EAAkB,QAAhBC,EAAExL,EAAEy3D,cAAsB,IAAIz3D,EAAEo2D,iBAAiB5qD,EAAEkrD,UAAUnrD,GAC/N,IAAI8sD,GAAG,CAAC/tB,UAAU,SAAStqC,GAAG,SAAOA,EAAEA,EAAEs4D,sBAAqBhgB,GAAGt4C,KAAKA,GAAMyqC,gBAAgB,SAASzqC,EAAEC,EAAEsL,GAAGvL,EAAEA,EAAEs4D,oBAAoB,IAAI9sD,EAAE+sD,KAAKz7D,EAAEo7D,GAAG7pB,UAAqBvxC,EAAEs6D,GAAd5rD,EAAEgtD,GAAGhtD,EAAExL,EAAElD,GAAUA,IAAKnI,QAAQsL,OAAE,IAASsL,GAAG,OAAOA,IAAIzO,EAAExG,SAASiV,GAAGisD,GAAGx3D,EAAElD,GAAG27D,GAAGz4D,EAAEwL,IAAIg/B,oBAAoB,SAASxqC,EAAEC,EAAEsL,GAAGvL,EAAEA,EAAEs4D,oBAAoB,IAAI9sD,EAAE+sD,KAAKz7D,EAAEo7D,GAAG7pB,UAAqBvxC,EAAEs6D,GAAd5rD,EAAEgtD,GAAGhtD,EAAExL,EAAElD,GAAUA,IAAKuS,IAAI,EAAEvS,EAAEnI,QAAQsL,OAAE,IAASsL,GAAG,OAAOA,IAAIzO,EAAExG,SAASiV,GAAGisD,GAAGx3D,EAAElD,GAAG27D,GAAGz4D,EAAEwL,IAAI++B,mBAAmB,SAASvqC,EAAEC,GAAGD,EAAEA,EAAEs4D,oBAAoB,IAAI/sD,EAAEgtD,KAAK/sD,EAAE0sD,GAAG7pB,UACve7iC,EAAE4rD,GAAd7rD,EAAEitD,GAAGjtD,EAAEvL,EAAEwL,GAAUA,IAAK6D,IAAI,OAAE,IAASpP,GAAG,OAAOA,IAAIuL,EAAElV,SAAS2J,GAAGu3D,GAAGx3D,EAAEwL,GAAGitD,GAAGz4D,EAAEuL,KAAK,SAASmtD,GAAG14D,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,EAAE3d,GAAiB,MAAM,oBAApBkS,EAAEA,EAAE+wC,WAAsC4nB,sBAAsB34D,EAAE24D,sBAAsBntD,EAAEC,EAAE3d,IAAGmS,EAAErf,YAAWqf,EAAErf,UAAUuqD,wBAAsB4lB,GAAGxlD,EAAEC,KAAKulD,GAAGj0D,EAAE2O,IAC7Q,SAASmtD,GAAG54D,EAAEC,EAAEsL,GAAG,IAAIC,GAAE,EAAG1O,EAAE01D,GAAO/mD,EAAExL,EAAEg0B,YAA8W,MAAlW,kBAAkBxoB,GAAG,OAAOA,EAAEA,EAAE6qD,GAAG7qD,IAAI3O,EAAEyuC,GAAEtrC,GAAGwyD,GAAGpnB,GAAE1zC,QAAyB8T,GAAGD,EAAE,QAAtBA,EAAEvL,EAAE5U,oBAA4B,IAASmgB,GAAGknD,GAAG1yD,EAAElD,GAAG01D,IAAIvyD,EAAE,IAAIA,EAAEsL,EAAEE,GAAGzL,EAAE04C,cAAc,OAAOz4C,EAAEnV,YAAO,IAASmV,EAAEnV,MAAMmV,EAAEnV,MAAM,KAAKmV,EAAE4qC,QAAQwtB,GAAGr4D,EAAE+wC,UAAU9wC,EAAEA,EAAEq4D,oBAAoBt4D,EAAEwL,KAAIxL,EAAEA,EAAE+wC,WAAY4hB,4CAA4C71D,EAAEkD,EAAE4yD,0CAA0CnnD,GAAUxL,EAC9Z,SAAS44D,GAAG74D,EAAEC,EAAEsL,EAAEC,GAAGxL,EAAEC,EAAEnV,MAAM,oBAAoBmV,EAAE0rB,2BAA2B1rB,EAAE0rB,0BAA0BpgB,EAAEC,GAAG,oBAAoBvL,EAAE64D,kCAAkC74D,EAAE64D,iCAAiCvtD,EAAEC,GAAGvL,EAAEnV,QAAQkV,GAAGq4D,GAAG7tB,oBAAoBvqC,EAAEA,EAAEnV,MAAM,MAC/P,SAASiuE,GAAG/4D,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAEkD,EAAE+wC,UAAUj0C,EAAEjb,MAAM0pB,EAAEzO,EAAEhS,MAAMkV,EAAE04C,cAAc57C,EAAE8tC,KAAKutB,GAAG,IAAI1sD,EAAExL,EAAEg0B,YAAY,kBAAkBxoB,GAAG,OAAOA,EAAE3O,EAAE1Z,QAAQkzE,GAAG7qD,IAAIA,EAAE8/B,GAAEtrC,GAAGwyD,GAAGpnB,GAAE1zC,QAAQmF,EAAE1Z,QAAQsvE,GAAG1yD,EAAEyL,IAAoB,QAAhBA,EAAEzL,EAAEy3D,eAAuBI,GAAG73D,EAAEyL,EAAEF,EAAEzO,EAAE0O,GAAG1O,EAAEhS,MAAMkV,EAAE04C,eAA4C,oBAA7BjtC,EAAExL,EAAEm0B,4BAAiDgkC,GAAGp4D,EAAEC,EAAEwL,EAAEF,GAAGzO,EAAEhS,MAAMkV,EAAE04C,eAAe,oBAAoBz4C,EAAEm0B,0BAA0B,oBAAoBt3B,EAAEk8D,yBAAyB,oBAAoBl8D,EAAEm8D,2BAA2B,oBAClen8D,EAAEo8D,qBAAqBj5D,EAAEnD,EAAEhS,MAAM,oBAAoBgS,EAAEo8D,oBAAoBp8D,EAAEo8D,qBAAqB,oBAAoBp8D,EAAEm8D,2BAA2Bn8D,EAAEm8D,4BAA4Bh5D,IAAInD,EAAEhS,OAAOutE,GAAG7tB,oBAAoB1tC,EAAEA,EAAEhS,MAAM,MAAsB,QAAhB2gB,EAAEzL,EAAEy3D,eAAuBI,GAAG73D,EAAEyL,EAAEF,EAAEzO,EAAE0O,GAAG1O,EAAEhS,MAAMkV,EAAE04C,gBAAgB,oBAAoB57C,EAAEsvB,oBAAoBpsB,EAAEw4C,WAAW,GAAG,IAAI2gB,GAAGz2E,MAAMC,QACtX,SAASy2E,GAAGp5D,EAAEC,EAAEsL,GAAW,GAAG,QAAXvL,EAAEuL,EAAEvO,MAAiB,oBAAoBgD,GAAG,kBAAkBA,EAAE,CAAC,GAAGuL,EAAEqgC,OAAO,CAAY,GAAXrgC,EAAEA,EAAEqgC,OAAY,CAAC,GAAG,IAAIrgC,EAAE8D,IAAI,MAAMrf,MAAM+5C,EAAE,MAAM,IAAIv+B,EAAED,EAAEwlC,UAAU,IAAIvlC,EAAE,MAAMxb,MAAM+5C,EAAE,IAAI/pC,IAAI,IAAIlD,EAAE,GAAGkD,EAAE,OAAG,OAAOC,GAAG,OAAOA,EAAEjD,KAAK,oBAAoBiD,EAAEjD,KAAKiD,EAAEjD,IAAIq8D,aAAav8D,EAASmD,EAAEjD,MAAIiD,EAAE,SAASD,GAAG,IAAIC,EAAEuL,EAAEo/B,KAAK3qC,IAAIk4D,KAAKl4D,EAAEuL,EAAEo/B,KAAK,IAAI,OAAO5qC,SAASC,EAAEnD,GAAGmD,EAAEnD,GAAGkD,IAAKq5D,WAAWv8D,EAASmD,GAAE,GAAG,kBAAkBD,EAAE,MAAMhQ,MAAM+5C,EAAE,MAAM,IAAIx+B,EAAEqgC,OAAO,MAAM57C,MAAM+5C,EAAE,IAAI/pC,IAAK,OAAOA,EAChe,SAASs5D,GAAGt5D,EAAEC,GAAG,GAAG,aAAaD,EAAEtL,KAAK,MAAM1E,MAAM+5C,EAAE,GAAG,oBAAoBrrD,OAAOkC,UAAU8S,SAAS1S,KAAKif,GAAG,qBAAqBvhB,OAAOQ,KAAK+gB,GAAG3Z,KAAK,MAAM,IAAI2Z,EAAE,KACpK,SAASs5D,GAAGv5D,GAAG,SAASC,EAAEA,EAAEsL,GAAG,GAAGvL,EAAE,CAAC,IAAIwL,EAAEvL,EAAE+2D,WAAW,OAAOxrD,GAAGA,EAAE8rD,WAAW/rD,EAAEtL,EAAE+2D,WAAWzrD,GAAGtL,EAAE82D,YAAY92D,EAAE+2D,WAAWzrD,EAAEA,EAAE+rD,WAAW,KAAK/rD,EAAEitC,UAAU,GAAG,SAASjtC,EAAEA,EAAEC,GAAG,IAAIxL,EAAE,OAAO,KAAK,KAAK,OAAOwL,GAAGvL,EAAEsL,EAAEC,GAAGA,EAAEA,EAAEstC,QAAQ,OAAO,KAAK,SAASttC,EAAExL,EAAEC,GAAG,IAAID,EAAE,IAAIgpC,IAAI,OAAO/oC,GAAG,OAAOA,EAAEzhB,IAAIwhB,EAAEsrB,IAAIrrB,EAAEzhB,IAAIyhB,GAAGD,EAAEsrB,IAAIrrB,EAAEyD,MAAMzD,GAAGA,EAAEA,EAAE64C,QAAQ,OAAO94C,EAAE,SAASlD,EAAEkD,EAAEC,EAAEsL,GAAwC,OAArCvL,EAAEw5D,GAAGx5D,EAAEC,IAAOyD,MAAM,EAAE1D,EAAE84C,QAAQ,KAAY94C,EAAE,SAASyL,EAAExL,EAAEsL,EAAEC,GAAa,OAAVvL,EAAEyD,MAAM8H,EAAMxL,EAA4B,QAAjBwL,EAAEvL,EAAEs4C,YAA6B/sC,EAAEA,EAAE9H,OAAQ6H,GAAGtL,EAAEu4C,UACtf,EAAEjtC,GAAGC,GAAEvL,EAAEu4C,UAAU,EAASjtC,GADsaA,EACpa,SAASzd,EAAEmS,GAA0C,OAAvCD,GAAG,OAAOC,EAAEs4C,YAAYt4C,EAAEu4C,UAAU,GAAUv4C,EAAE,SAAS8S,EAAE/S,EAAEC,EAAEsL,EAAEC,GAAG,OAAG,OAAOvL,GAAG,IAAIA,EAAEoP,MAAWpP,EAAEw5D,GAAGluD,EAAEvL,EAAE05D,KAAKluD,IAAKgnC,OAAOxyC,EAAEC,KAAEA,EAAEnD,EAAEmD,EAAEsL,IAAOinC,OAAOxyC,EAASC,GAAE,SAAS0D,EAAE3D,EAAEC,EAAEsL,EAAEC,GAAG,OAAG,OAAOvL,GAAGA,EAAE05D,cAAcpuD,EAAE7W,OAAY8W,EAAE1O,EAAEmD,EAAEsL,EAAE1pB,QAAWmb,IAAIo8D,GAAGp5D,EAAEC,EAAEsL,GAAGC,EAAEgnC,OAAOxyC,EAAEwL,KAAEA,EAAEouD,GAAGruD,EAAE7W,KAAK6W,EAAE/sB,IAAI+sB,EAAE1pB,MAAM,KAAKme,EAAE05D,KAAKluD,IAAKxO,IAAIo8D,GAAGp5D,EAAEC,EAAEsL,GAAGC,EAAEgnC,OAAOxyC,EAASwL,GAAE,SAASgH,EAAExS,EAAEC,EAAEsL,EAAEC,GAAG,OAAG,OAAOvL,GAAG,IAAIA,EAAEoP,KAAKpP,EAAE8wC,UAAU4J,gBAAgBpvC,EAAEovC,eAAe16C,EAAE8wC,UAAU8oB,iBAC1etuD,EAAEsuD,iBAAsB55D,EAAE65D,GAAGvuD,EAAEvL,EAAE05D,KAAKluD,IAAKgnC,OAAOxyC,EAAEC,KAAEA,EAAEnD,EAAEmD,EAAEsL,EAAEvmB,UAAU,KAAQwtD,OAAOxyC,EAASC,GAAE,SAAS+/B,EAAEhgC,EAAEC,EAAEsL,EAAEC,EAAEC,GAAG,OAAG,OAAOxL,GAAG,IAAIA,EAAEoP,MAAWpP,EAAE85D,GAAGxuD,EAAEvL,EAAE05D,KAAKluD,EAAEC,IAAK+mC,OAAOxyC,EAAEC,KAAEA,EAAEnD,EAAEmD,EAAEsL,IAAOinC,OAAOxyC,EAASC,GAAE,SAASoqC,EAAErqC,EAAEC,EAAEsL,GAAG,GAAG,kBAAkBtL,GAAG,kBAAkBA,EAAE,OAAOA,EAAEw5D,GAAG,GAAGx5D,EAAED,EAAE05D,KAAKnuD,IAAKinC,OAAOxyC,EAAEC,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAE0rC,UAAU,KAAKwF,EAAG,OAAO5lC,EAAEquD,GAAG35D,EAAEvL,KAAKuL,EAAEzhB,IAAIyhB,EAAEpe,MAAM,KAAKme,EAAE05D,KAAKnuD,IAAKvO,IAAIo8D,GAAGp5D,EAAE,KAAKC,GAAGsL,EAAEinC,OAAOxyC,EAAEuL,EAAE,KAAK6lC,EAAG,OAAOnxC,EAAE65D,GAAG75D,EAAED,EAAE05D,KAAKnuD,IAAKinC,OAAOxyC,EAAEC,EAAE,GAAGk5D,GAAGl5D,IAC3fgyC,EAAGhyC,GAAG,OAAOA,EAAE85D,GAAG95D,EAAED,EAAE05D,KAAKnuD,EAAE,OAAQinC,OAAOxyC,EAAEC,EAAEq5D,GAAGt5D,EAAEC,GAAG,OAAO,KAAK,SAASnc,EAAEkc,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAE,OAAOmD,EAAEA,EAAEzhB,IAAI,KAAK,GAAG,kBAAkB+sB,GAAG,kBAAkBA,EAAE,OAAO,OAAOzO,EAAE,KAAKiW,EAAE/S,EAAEC,EAAE,GAAGsL,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEogC,UAAU,KAAKwF,EAAG,OAAO5lC,EAAE/sB,MAAMse,EAAEyO,EAAE7W,OAAO28C,EAAGrR,EAAEhgC,EAAEC,EAAEsL,EAAE1pB,MAAMmD,SAASwmB,EAAE1O,GAAG6G,EAAE3D,EAAEC,EAAEsL,EAAEC,GAAG,KAAK,KAAK4lC,EAAG,OAAO7lC,EAAE/sB,MAAMse,EAAE0V,EAAExS,EAAEC,EAAEsL,EAAEC,GAAG,KAAK,GAAG2tD,GAAG5tD,IAAI0mC,EAAG1mC,GAAG,OAAO,OAAOzO,EAAE,KAAKkjC,EAAEhgC,EAAEC,EAAEsL,EAAEC,EAAE,MAAM8tD,GAAGt5D,EAAEuL,GAAG,OAAO,KAAK,SAAS2/B,EAAElrC,EAAEC,EAAEsL,EAAEC,EAAE1O,GAAG,GAAG,kBAAkB0O,GAAG,kBAAkBA,EAAE,OAC5euH,EAAE9S,EADifD,EAClgBA,EAAE5U,IAAImgB,IAAI,KAAW,GAAGC,EAAE1O,GAAG,GAAG,kBAAkB0O,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEmgC,UAAU,KAAKwF,EAAG,OAAOnxC,EAAEA,EAAE5U,IAAI,OAAOogB,EAAEhtB,IAAI+sB,EAAEC,EAAEhtB,MAAM,KAAKgtB,EAAE9W,OAAO28C,EAAGrR,EAAE//B,EAAED,EAAEwL,EAAE3pB,MAAMmD,SAAS8X,EAAE0O,EAAEhtB,KAAKmlB,EAAE1D,EAAED,EAAEwL,EAAE1O,GAAG,KAAKs0C,EAAG,OAA2C5+B,EAAEvS,EAAtCD,EAAEA,EAAE5U,IAAI,OAAOogB,EAAEhtB,IAAI+sB,EAAEC,EAAEhtB,MAAM,KAAWgtB,EAAE1O,GAAG,GAAGq8D,GAAG3tD,IAAIymC,EAAGzmC,GAAG,OAAwBw0B,EAAE//B,EAAnBD,EAAEA,EAAE5U,IAAImgB,IAAI,KAAWC,EAAE1O,EAAE,MAAMw8D,GAAGr5D,EAAEuL,GAAG,OAAO,KAAK,SAASy+B,EAAEntC,EAAEhP,EAAEilB,EAAEpP,GAAG,IAAI,IAAI6O,EAAE,KAAKwtB,EAAE,KAAK3tB,EAAEvkB,EAAEjK,EAAEiK,EAAE,EAAEq8C,EAAE,KAAK,OAAO93B,GAAGxuB,EAAEkvB,EAAEjzB,OAAO+D,IAAI,CAACwuB,EAAE3O,MAAM7f,GAAGsmD,EAAE93B,EAAEA,EAAE,MAAM83B,EAAE93B,EAAEymC,QAAQ,IAAIv3D,EAAEuC,EAAEgZ,EAAEuV,EAAEU,EAAElvB,GAAG8f,GAAG,GAAG,OAAOpiB,EAAE,CAAC,OAAO8wB,IAAIA,EAAE83B,GAAG,MAAMnqC,GACrfqS,GAAG,OAAO9wB,EAAEg3D,WAAWt4C,EAAEnD,EAAEuV,GAAGvkB,EAAE2d,EAAElqB,EAAEuM,EAAEjK,GAAG,OAAOm8C,EAAExtB,EAAEjxB,EAAEy+C,EAAE8Y,QAAQv3D,EAAEy+C,EAAEz+C,EAAE8wB,EAAE83B,EAAE,GAAGtmD,IAAIkvB,EAAEjzB,OAAO,OAAOyrB,EAAEzO,EAAEuV,GAAGG,EAAE,GAAG,OAAOH,EAAE,CAAC,KAAKxuB,EAAEkvB,EAAEjzB,OAAO+D,IAAkB,QAAdwuB,EAAEg4B,EAAEvtC,EAAEiW,EAAElvB,GAAG8f,MAAc7V,EAAE2d,EAAE4G,EAAEvkB,EAAEjK,GAAG,OAAOm8C,EAAExtB,EAAEH,EAAE2tB,EAAE8Y,QAAQzmC,EAAE2tB,EAAE3tB,GAAG,OAAOG,EAAE,IAAIH,EAAE7G,EAAE1O,EAAEuV,GAAGxuB,EAAEkvB,EAAEjzB,OAAO+D,IAAsB,QAAlBsmD,EAAEe,EAAE74B,EAAEvV,EAAEjZ,EAAEkvB,EAAElvB,GAAG8f,MAAc3D,GAAG,OAAOmqC,EAAEoO,WAAWlmC,EAAEnB,OAAO,OAAOi5B,EAAE3rD,IAAIqF,EAAEsmD,EAAE3rD,KAAKsP,EAAE2d,EAAE0+B,EAAEr8C,EAAEjK,GAAG,OAAOm8C,EAAExtB,EAAE23B,EAAEnK,EAAE8Y,QAAQ3O,EAAEnK,EAAEmK,GAA4C,OAAzCnqC,GAAGqS,EAAEryB,SAAQ,SAASggB,GAAG,OAAOC,EAAEnD,EAAEkD,MAAYwS,EAAE,SAASwnD,EAAGl9D,EAAEhP,EAAEilB,EAAEpP,GAAG,IAAI6O,EAAEy/B,EAAGl/B,GAAG,GAAG,oBAAoBP,EAAE,MAAMxiB,MAAM+5C,EAAE,MACxe,GAAG,OAD2eh3B,EAAEP,EAAExxB,KAAK+xB,IAC5e,MAAM/iB,MAAM+5C,EAAE,MAAM,IAAI,IAAI/J,EAAExtB,EAAE,KAAKH,EAAEvkB,EAAEjK,EAAEiK,EAAE,EAAEq8C,EAAE,KAAK5oD,EAAEwxB,EAAEnb,OAAO,OAAOya,IAAI9wB,EAAE4hB,KAAKtf,IAAItC,EAAEwxB,EAAEnb,OAAO,CAACya,EAAE3O,MAAM7f,GAAGsmD,EAAE93B,EAAEA,EAAE,MAAM83B,EAAE93B,EAAEymC,QAAQ,IAAI7O,EAAEnmD,EAAEgZ,EAAEuV,EAAE9wB,EAAE9C,MAAMklB,GAAG,GAAG,OAAOsmC,EAAE,CAAC,OAAO53B,IAAIA,EAAE83B,GAAG,MAAMnqC,GAAGqS,GAAG,OAAO43B,EAAEsO,WAAWt4C,EAAEnD,EAAEuV,GAAGvkB,EAAE2d,EAAEw+B,EAAEn8C,EAAEjK,GAAG,OAAOm8C,EAAExtB,EAAEy3B,EAAEjK,EAAE8Y,QAAQ7O,EAAEjK,EAAEiK,EAAE53B,EAAE83B,EAAE,GAAG5oD,EAAE4hB,KAAK,OAAOoI,EAAEzO,EAAEuV,GAAGG,EAAE,GAAG,OAAOH,EAAE,CAAC,MAAM9wB,EAAE4hB,KAAKtf,IAAItC,EAAEwxB,EAAEnb,OAAwB,QAAjBrW,EAAE8oD,EAAEvtC,EAAEvb,EAAE9C,MAAMklB,MAAc7V,EAAE2d,EAAElqB,EAAEuM,EAAEjK,GAAG,OAAOm8C,EAAExtB,EAAEjxB,EAAEy+C,EAAE8Y,QAAQv3D,EAAEy+C,EAAEz+C,GAAG,OAAOixB,EAAE,IAAIH,EAAE7G,EAAE1O,EAAEuV,IAAI9wB,EAAE4hB,KAAKtf,IAAItC,EAAEwxB,EAAEnb,OAA4B,QAArBrW,EAAE2pD,EAAE74B,EAAEvV,EAAEjZ,EAAEtC,EAAE9C,MAAMklB,MAAc3D,GAAG,OAChfze,EAAEg3D,WAAWlmC,EAAEnB,OAAO,OAAO3vB,EAAE/C,IAAIqF,EAAEtC,EAAE/C,KAAKsP,EAAE2d,EAAElqB,EAAEuM,EAAEjK,GAAG,OAAOm8C,EAAExtB,EAAEjxB,EAAEy+C,EAAE8Y,QAAQv3D,EAAEy+C,EAAEz+C,GAA4C,OAAzCye,GAAGqS,EAAEryB,SAAQ,SAASggB,GAAG,OAAOC,EAAEnD,EAAEkD,MAAYwS,EAAE,OAAO,SAASxS,EAAEwL,EAAEC,EAAEsH,GAAG,IAAIpP,EAAE,kBAAkB8H,GAAG,OAAOA,GAAGA,EAAE/W,OAAO28C,GAAI,OAAO5lC,EAAEjtB,IAAImlB,IAAI8H,EAAEA,EAAE5pB,MAAMmD,UAAU,IAAIwtB,EAAE,kBAAkB/G,GAAG,OAAOA,EAAE,GAAG+G,EAAE,OAAO/G,EAAEkgC,UAAU,KAAKwF,EAAGnxC,EAAE,CAAS,IAARwS,EAAE/G,EAAEjtB,IAAQmlB,EAAE6H,EAAE,OAAO7H,GAAG,CAAC,GAAGA,EAAEnlB,MAAMg0B,EAAX,CAAa,GAAG,IAAI7O,EAAE0L,IAAI5D,EAAE/W,OAAO28C,EAAG1tC,EAAEg2D,cAAcluD,EAAE/W,KAAK,CAAC6W,EAAEvL,EAAE2D,EAAEm1C,UAASttC,EAAE1O,EAAE6G,EAAE8H,EAAE/W,OAAO28C,EAAG5lC,EAAE5pB,MAAMmD,SAASymB,EAAE5pB,QAAWmb,IAAIo8D,GAAGp5D,EAAE2D,EAAE8H,GAAGD,EAAEgnC,OAAOxyC,EAAEA,EAAEwL,EAAE,MAAMxL,EAAOuL,EAAEvL,EAClgB2D,GAAG,MAAW1D,EAAED,EAAE2D,GAAGA,EAAEA,EAAEm1C,QAAQrtC,EAAE/W,OAAO28C,IAAI7lC,EAAEuuD,GAAGtuD,EAAE5pB,MAAMmD,SAASgb,EAAE05D,KAAK3mD,EAAEtH,EAAEjtB,MAAOg0D,OAAOxyC,EAAEA,EAAEwL,KAAIuH,EAAE6mD,GAAGnuD,EAAE/W,KAAK+W,EAAEjtB,IAAIitB,EAAE5pB,MAAM,KAAKme,EAAE05D,KAAK3mD,IAAK/V,IAAIo8D,GAAGp5D,EAAEwL,EAAEC,GAAGsH,EAAEy/B,OAAOxyC,EAAEA,EAAE+S,GAAG,OAAOjlB,EAAEkS,GAAG,KAAKoxC,EAAGpxC,EAAE,CAAC,IAAI2D,EAAE8H,EAAEjtB,IAAI,OAAOgtB,GAAG,CAAC,GAAGA,EAAEhtB,MAAMmlB,EAAX,CAAa,GAAG,IAAI6H,EAAE6D,KAAK7D,EAAEulC,UAAU4J,gBAAgBlvC,EAAEkvC,eAAenvC,EAAEulC,UAAU8oB,iBAAiBpuD,EAAEouD,eAAe,CAACtuD,EAAEvL,EAAEwL,EAAEstC,UAASttC,EAAE1O,EAAE0O,EAAEC,EAAEzmB,UAAU,KAAQwtD,OAAOxyC,EAAEA,EAAEwL,EAAE,MAAMxL,EAAOuL,EAAEvL,EAAEwL,GAAG,MAAWvL,EAAED,EAAEwL,GAAGA,EAAEA,EAAEstC,SAAQttC,EAAEsuD,GAAGruD,EAAEzL,EAAE05D,KAAK3mD,IAAKy/B,OAAOxyC,EAAEA,EAAEwL,EAAE,OAAO1d,EAAEkS,GAAG,GAAG,kBACneyL,GAAG,kBAAkBA,EAAE,OAAOA,EAAE,GAAGA,EAAE,OAAOD,GAAG,IAAIA,EAAE6D,KAAK9D,EAAEvL,EAAEwL,EAAEstC,UAASttC,EAAE1O,EAAE0O,EAAEC,IAAO+mC,OAAOxyC,EAAEA,EAAEwL,IAAID,EAAEvL,EAAEwL,IAAGA,EAAEiuD,GAAGhuD,EAAEzL,EAAE05D,KAAK3mD,IAAKy/B,OAAOxyC,EAAEA,EAAEwL,GAAG1d,EAAEkS,GAAG,GAAGm5D,GAAG1tD,GAAG,OAAOw+B,EAAEjqC,EAAEwL,EAAEC,EAAEsH,GAAG,GAAGk/B,EAAGxmC,GAAG,OAAOuuD,EAAGh6D,EAAEwL,EAAEC,EAAEsH,GAAc,GAAXP,GAAG8mD,GAAGt5D,EAAEyL,GAAM,qBAAqBA,IAAI9H,EAAE,OAAO3D,EAAEqP,KAAK,KAAK,EAAE,KAAK,EAAE,MAAMrP,EAAEA,EAAEtL,KAAK1E,MAAM+5C,EAAE,IAAI/pC,EAAE1W,aAAa0W,EAAEzW,MAAM,cAAe,OAAOgiB,EAAEvL,EAAEwL,IAAI,IAAIyuD,GAAGV,IAAG,GAAIW,GAAGX,IAAG,GAAIY,GAAG,GAAGC,GAAG,CAACziE,QAAQwiE,IAAIE,GAAG,CAAC1iE,QAAQwiE,IAAIG,GAAG,CAAC3iE,QAAQwiE,IAAI,SAASI,GAAGv6D,GAAG,GAAGA,IAAIm6D,GAAG,MAAMnqE,MAAM+5C,EAAE,MAAM,OAAO/pC,EACve,SAASw6D,GAAGx6D,EAAEC,GAAGmrC,GAAEkvB,GAAGr6D,GAAKmrC,GAAEivB,GAAGr6D,GAAKorC,GAAEgvB,GAAGD,IAAM,IAAI5uD,EAAEtL,EAAEsR,SAAS,OAAOhG,GAAG,KAAK,EAAE,KAAK,GAAGtL,GAAGA,EAAEA,EAAElX,iBAAiBkX,EAAEi3C,aAAaL,GAAG,KAAK,IAAI,MAAM,QAAkE52C,EAAE42C,GAArC52C,GAAvBsL,EAAE,IAAIA,EAAEtL,EAAEmR,WAAWnR,GAAMi3C,cAAc,KAAK3rC,EAAEA,EAAEkvD,SAAkB1vB,GAAEqvB,IAAMhvB,GAAEgvB,GAAGn6D,GAAK,SAASy6D,GAAG16D,GAAG+qC,GAAEqvB,IAAMrvB,GAAEsvB,IAAMtvB,GAAEuvB,IAAM,SAASK,GAAG36D,GAAGu6D,GAAGD,GAAG3iE,SAAS,IAAIsI,EAAEs6D,GAAGH,GAAGziE,SAAa4T,EAAEsrC,GAAG52C,EAAED,EAAEtL,MAAMuL,IAAIsL,IAAI6/B,GAAEivB,GAAGr6D,GAAKorC,GAAEgvB,GAAG7uD,IAAM,SAASqvD,GAAG56D,GAAGq6D,GAAG1iE,UAAUqI,IAAI+qC,GAAEqvB,IAAMrvB,GAAEsvB,KAAO,IAAI3uB,GAAE,CAAC/zC,QAAQ,GAC3b,SAASkjE,GAAG76D,GAAG,IAAI,IAAIC,EAAED,EAAE,OAAOC,GAAG,CAAC,GAAG,KAAKA,EAAEoP,IAAI,CAAC,IAAI9D,EAAEtL,EAAEy4C,cAAc,GAAG,OAAOntC,IAAmB,QAAfA,EAAEA,EAAEotC,aAAqBptC,EAAEu1B,OAAO4qB,IAAIngD,EAAEu1B,OAAO6qB,IAAI,OAAO1rD,OAAO,GAAG,KAAKA,EAAEoP,UAAK,IAASpP,EAAE66D,cAAcC,aAAa,GAAG,KAAiB,GAAZ96D,EAAEu4C,WAAc,OAAOv4C,OAAO,GAAG,OAAOA,EAAE9d,MAAM,CAAC8d,EAAE9d,MAAMqwD,OAAOvyC,EAAEA,EAAEA,EAAE9d,MAAM,SAAS,GAAG8d,IAAID,EAAE,MAAM,KAAK,OAAOC,EAAE64C,SAAS,CAAC,GAAG,OAAO74C,EAAEuyC,QAAQvyC,EAAEuyC,SAASxyC,EAAE,OAAO,KAAKC,EAAEA,EAAEuyC,OAAOvyC,EAAE64C,QAAQtG,OAAOvyC,EAAEuyC,OAAOvyC,EAAEA,EAAE64C,QAAQ,OAAO,KAAK,SAASkiB,GAAGh7D,EAAEC,GAAG,MAAM,CAACg7D,UAAUj7D,EAAEne,MAAMoe,GACve,IAAIi7D,GAAGjqB,EAAG9C,uBAAuBtC,GAAEoF,EAAG7C,wBAAwB+sB,GAAG,EAAEC,GAAG,KAAKtvB,GAAE,KAAKuvB,GAAG,KAAKC,GAAG,KAAKvvB,GAAE,KAAKwvB,GAAG,KAAKC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAEC,IAAG,EAAGC,GAAG,KAAKC,GAAG,EAAE,SAAS7vB,KAAI,MAAMh8C,MAAM+5C,EAAE,MAAO,SAAS+xB,GAAG97D,EAAEC,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAIsL,EAAE,EAAEA,EAAEtL,EAAEngB,QAAQyrB,EAAEvL,EAAElgB,OAAOyrB,IAAI,IAAIslD,GAAG7wD,EAAEuL,GAAGtL,EAAEsL,IAAI,OAAM,EAAG,OAAM,EACtS,SAASwwD,GAAG/7D,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,GAAkF,GAA/E0vD,GAAG1vD,EAAE2vD,GAAGn7D,EAAEo7D,GAAG,OAAOr7D,EAAEA,EAAE04C,cAAc,KAAKwiB,GAAGvjE,QAAQ,OAAO0jE,GAAGW,GAAGC,GAAGh8D,EAAEsL,EAAEC,EAAE1O,GAAM6+D,GAAG,CAAC,GAAGA,IAAG,EAAGE,IAAI,EAAER,GAAG,OAAOr7D,EAAEA,EAAE04C,cAAc,KAAK6iB,GAAGD,GAAGG,GAAG1vB,GAAED,GAAE,KAAKovB,GAAGvjE,QAAQskE,GAAGh8D,EAAEsL,EAAEC,EAAE1O,SAAS6+D,IAAIC,GAAG,KAAKC,GAAG,EAAmK,GAAjKX,GAAGvjE,QAAQukE,IAAGl8D,EAAEo7D,IAAK1iB,cAAc4iB,GAAGt7D,EAAEo2D,eAAeoF,GAAGx7D,EAAEy3D,YAAYgE,GAAGz7D,EAAEw4C,WAAWkjB,GAAG17D,EAAE,OAAO8rC,IAAG,OAAOA,GAAEl0C,KAAKujE,GAAG,EAAEI,GAAGxvB,GAAEuvB,GAAGD,GAAGvvB,GAAEsvB,GAAG,KAAKI,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAK17D,EAAE,MAAMhQ,MAAM+5C,EAAE,MAAM,OAAO9pC,EACha,SAASk8D,KAAKjB,GAAGvjE,QAAQukE,GAAGf,GAAG,EAAEI,GAAGxvB,GAAEuvB,GAAGD,GAAGvvB,GAAEsvB,GAAG,KAAKI,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAEC,IAAG,EAAGC,GAAG,KAAKC,GAAG,EAAE,SAASO,KAAK,IAAIp8D,EAAE,CAAC04C,cAAc,KAAKge,UAAU,KAAK2F,MAAM,KAAKC,WAAW,KAAK1kE,KAAK,MAAiC,OAA3B,OAAOm0C,GAAEuvB,GAAGvvB,GAAE/rC,EAAE+rC,GAAEA,GAAEn0C,KAAKoI,EAAS+rC,GAAE,SAASwwB,KAAK,GAAG,OAAOhB,GAAQA,IAALxvB,GAAEwvB,IAAQ3jE,KAAUyjE,GAAG,QAARvvB,GAAEuvB,IAAevvB,GAAEl0C,KAAK,SAAS,CAAC,GAAG,OAAOyjE,GAAG,MAAMrrE,MAAM+5C,EAAE,MAAW,IAAI/pC,EAAE,CAAC04C,eAAZ5M,GAAEuvB,IAA0B3iB,cAAcge,UAAU5qB,GAAE4qB,UAAU2F,MAAMvwB,GAAEuwB,MAAMC,WAAWxwB,GAAEwwB,WAAW1kE,KAAK,MAAMm0C,GAAE,OAAOA,GAAEuvB,GAAGt7D,EAAE+rC,GAAEn0C,KAAKoI,EAAEq7D,GAAGvvB,GAAEl0C,KAAK,OAAOm0C,GACpe,SAASywB,GAAGx8D,EAAEC,GAAG,MAAM,oBAAoBA,EAAEA,EAAED,GAAGC,EAClD,SAASw8D,GAAGz8D,GAAG,IAAIC,EAAEs8D,KAAKhxD,EAAEtL,EAAEo8D,MAAM,GAAG,OAAO9wD,EAAE,MAAMvb,MAAM+5C,EAAE,MAA8B,GAAxBx+B,EAAEmxD,oBAAoB18D,EAAK,EAAE67D,GAAG,CAAC,IAAIrwD,EAAED,EAAE1S,SAAS,GAAG,OAAO+iE,GAAG,CAAC,IAAI9+D,EAAE8+D,GAAGxwE,IAAImgB,GAAG,QAAG,IAASzO,EAAE,CAAC8+D,GAAG1qD,OAAO3F,GAAG,IAAIE,EAAExL,EAAEy4C,cAAc,GAAGjtC,EAAEzL,EAAEyL,EAAE3O,EAAEvI,QAAQuI,EAAEA,EAAElF,WAAW,OAAOkF,GAAiH,OAA9G+zD,GAAGplD,EAAExL,EAAEy4C,iBAAiB2d,IAAG,GAAIp2D,EAAEy4C,cAAcjtC,EAAExL,EAAEq8D,aAAa/wD,EAAEjH,OAAOrE,EAAEy2D,UAAUjrD,GAAGF,EAAEoxD,kBAAkBlxD,EAAQ,CAACA,EAAED,IAAI,MAAM,CAACvL,EAAEy4C,cAAcltC,GAAGA,EAAED,EAAEjH,KAAK,IAAIxW,EAAEmS,EAAEq8D,WAA4F,GAAjF7wD,EAAExL,EAAEy2D,UAAU,OAAO5oE,GAAG,OAAO0d,IAAIA,EAAE5T,KAAK,MAAM4T,EAAE1d,EAAE8J,MAAM4T,EAAE,OAAOA,EAAEA,EAAE5T,KAAK,KAAQ,OACvf4T,EAAE,CAAC,IAAIuH,EAAEjW,EAAE,KAAK6G,EAAE6H,EAAEgH,GAAE,EAAG,EAAE,CAAC,IAAIwtB,EAAEr8B,EAAEyyD,eAAep2B,EAAEm7B,IAAI3oD,IAAIA,GAAE,EAAGO,EAAEjlB,EAAEgP,EAAE2O,GAAGu0B,EAAEw7B,IAAUzD,GAALyD,GAAGx7B,KAAY83B,GAAG93B,EAAEr8B,EAAE0zD,gBAAgB5rD,EAAE9H,EAAEi5D,eAAe58D,EAAE2D,EAAEk5D,WAAW78D,EAAEyL,EAAE9H,EAAEpP,SAASzG,EAAE6V,EAAEA,EAAEA,EAAE/L,WAAW,OAAO+L,GAAGA,IAAI6H,GAAGgH,IAAIO,EAAEjlB,EAAEgP,EAAE2O,GAAGolD,GAAGplD,EAAExL,EAAEy4C,iBAAiB2d,IAAG,GAAIp2D,EAAEy4C,cAAcjtC,EAAExL,EAAEq8D,WAAWvpD,EAAE9S,EAAEy2D,UAAU55D,EAAEyO,EAAEoxD,kBAAkBlxD,EAAE,MAAM,CAACxL,EAAEy4C,cAAcntC,EAAE1S,UACvV,SAASikE,GAAG98D,GAAG,IAAIC,EAAEm8D,KAAiL,MAA5K,oBAAoBp8D,IAAIA,EAAEA,KAAKC,EAAEy4C,cAAcz4C,EAAEy2D,UAAU12D,EAAiFA,GAA/EA,EAAEC,EAAEo8D,MAAM,CAAC/3D,KAAK,KAAKzL,SAAS,KAAK6jE,oBAAoBF,GAAGG,kBAAkB38D,IAAOnH,SAASkkE,GAAG9lE,KAAK,KAAKmkE,GAAGp7D,GAAS,CAACC,EAAEy4C,cAAc14C,GAAG,SAASg9D,GAAGh9D,GAAG,OAAOy8D,GAAGD,IAAM,SAASS,GAAGj9D,EAAEC,EAAEsL,EAAEC,GAAwM,OAArMxL,EAAE,CAACqP,IAAIrP,EAAEre,OAAOse,EAAEi9D,QAAQ3xD,EAAE4xD,KAAK3xD,EAAE5T,KAAK,MAAM,OAAO6jE,IAAIA,GAAG,CAACzE,WAAW,OAASA,WAAWh3D,EAAEpI,KAAKoI,EAAoB,QAAhBC,EAAEw7D,GAAGzE,YAAoByE,GAAGzE,WAAWh3D,EAAEpI,KAAKoI,GAAGuL,EAAEtL,EAAErI,KAAKqI,EAAErI,KAAKoI,EAAEA,EAAEpI,KAAK2T,EAAEkwD,GAAGzE,WAAWh3D,GAAWA,EAChe,SAASo9D,GAAGp9D,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAEs/D,KAAKV,IAAI17D,EAAElD,EAAE47C,cAAcukB,GAAGh9D,EAAEsL,OAAE,OAAO,IAASC,EAAE,KAAKA,GAAG,SAAS6xD,GAAGr9D,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAEy/D,KAAK/wD,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIC,OAAE,EAAO,GAAG,OAAOqgC,GAAE,CAAC,IAAIh+C,EAAEg+C,GAAE4M,cAA0B,GAAZjtC,EAAE3d,EAAEovE,QAAW,OAAO1xD,GAAGswD,GAAGtwD,EAAE1d,EAAEqvE,MAAmB,YAAZF,GAAG,EAAE1xD,EAAEE,EAAED,GAAWkwD,IAAI17D,EAAElD,EAAE47C,cAAcukB,GAAGh9D,EAAEsL,EAAEE,EAAED,GAAG,SAAS8xD,GAAGt9D,EAAEC,GAAG,OAAOm9D,GAAG,IAAI,IAAIp9D,EAAEC,GAAG,SAASs9D,GAAGv9D,EAAEC,GAAG,OAAOo9D,GAAG,IAAI,IAAIr9D,EAAEC,GACrW,SAASu9D,GAAGx9D,EAAEC,GAAG,MAAG,oBAAoBA,GAASD,EAAEA,IAAIC,EAAED,GAAG,WAAWC,EAAE,QAAU,OAAOA,QAAG,IAASA,GAASD,EAAEA,IAAIC,EAAEtI,QAAQqI,EAAE,WAAWC,EAAEtI,QAAQ,YAAtE,EAA4E,SAAS8lE,MAAM,SAASC,GAAG19D,EAAEC,GAA4C,OAAzCm8D,KAAK1jB,cAAc,CAAC14C,OAAE,IAASC,EAAE,KAAKA,GAAUD,EAAE,SAAS29D,GAAG39D,EAAEC,GAAG,IAAIsL,EAAEgxD,KAAKt8D,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIuL,EAAED,EAAEmtC,cAAc,OAAG,OAAOltC,GAAG,OAAOvL,GAAG67D,GAAG77D,EAAEuL,EAAE,IAAWA,EAAE,IAAGD,EAAEmtC,cAAc,CAAC14C,EAAEC,GAAUD,GAC/X,SAAS+8D,GAAG/8D,EAAEC,EAAEsL,GAAG,KAAK,GAAGswD,IAAI,MAAM7rE,MAAM+5C,EAAE,MAAM,IAAIv+B,EAAExL,EAAEu4C,UAAU,GAAGv4C,IAAIo7D,IAAI,OAAO5vD,GAAGA,IAAI4vD,GAAG,GAAGO,IAAG,EAAG37D,EAAE,CAACo2D,eAAe+E,GAAG9D,eAAe,KAAK9iE,OAAOgX,EAAEqxD,aAAa,KAAKC,WAAW,KAAKjlE,KAAK,MAAM,OAAOgkE,KAAKA,GAAG,IAAI5yB,UAAiB,KAAZz9B,EAAEqwD,GAAGxwE,IAAI6U,IAAc27D,GAAGtwC,IAAIrrB,EAAED,OAAO,CAAC,IAAIC,EAAEsL,EAAE,OAAOtL,EAAErI,MAAMqI,EAAEA,EAAErI,KAAKqI,EAAErI,KAAKoI,MAAM,CAAC,IAAIlD,EAAEy7D,KAAK9sD,EAAEysD,GAAG7pB,SAAqB5iC,EAAE,CAAC2qD,eAAft5D,EAAE07D,GAAG17D,EAAEkD,EAAEyL,GAAuB4rD,eAAe5rD,EAAElX,OAAOgX,EAAEqxD,aAAa,KAAKC,WAAW,KAAKjlE,KAAK,MAAM,IAAI9J,EAAEmS,EAAEqE,KAAK,GAAG,OAAOxW,EAAE2d,EAAE7T,KAAK6T,MAAM,CAAC,IAAIsH,EAAEjlB,EAAE8J,KAAK,OAAOmb,IACjftH,EAAE7T,KAAKmb,GAAGjlB,EAAE8J,KAAK6T,EAAW,GAATxL,EAAEqE,KAAKmH,EAAK,IAAIzL,EAAEo2D,iBAAiB,OAAO5qD,GAAG,IAAIA,EAAE4qD,iBAA0C,QAAxB5qD,EAAEvL,EAAEy8D,qBAA8B,IAAI,IAAI/4D,EAAE1D,EAAE08D,kBAAkBnqD,EAAEhH,EAAE7H,EAAE4H,GAAmC,GAAhCE,EAAEmxD,aAAapxD,EAAEC,EAAEoxD,WAAWrqD,EAAKq+C,GAAGr+C,EAAE7O,GAAG,OAAO,MAAMq8B,IAAay4B,GAAGz4D,EAAElD,IAC5O,IAAIo/D,GAAG,CAAC0B,YAAYtH,GAAG7oB,YAAYzB,GAAExwC,WAAWwwC,GAAExzC,UAAUwzC,GAAE0B,oBAAoB1B,GAAE/yC,gBAAgB+yC,GAAE5zC,QAAQ4zC,GAAEhwC,WAAWgwC,GAAE5vC,OAAO4vC,GAAE4B,SAAS5B,GAAE2B,cAAc3B,GAAE6xB,aAAa7xB,GAAE8xB,iBAAiB9xB,GAAE+xB,cAAc/xB,IAAGgwB,GAAG,CAAC4B,YAAYtH,GAAG7oB,YAAYiwB,GAAGliE,WAAW86D,GAAG99D,UAAU8kE,GAAG5vB,oBAAoB,SAAS1tC,EAAEC,EAAEsL,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAElnB,OAAO,CAAC2b,IAAI,KAAYo9D,GAAG,EAAE,GAAGI,GAAGvmE,KAAK,KAAKgJ,EAAED,GAAGuL,IAAItS,gBAAgB,SAAS+G,EAAEC,GAAG,OAAOm9D,GAAG,EAAE,GAAGp9D,EAAEC,IAAI7H,QAAQ,SAAS4H,EAAEC,GAAG,IAAIsL,EAAE6wD,KAC7c,OADkdn8D,OAAE,IAASA,EAAE,KAAKA,EAAED,EAAEA,IAAIuL,EAAEmtC,cACpf,CAAC14C,EAAEC,GAAUD,GAAGhE,WAAW,SAASgE,EAAEC,EAAEsL,GAAG,IAAIC,EAAE4wD,KAAqK,OAAhKn8D,OAAE,IAASsL,EAAEA,EAAEtL,GAAGA,EAAEuL,EAAEktC,cAAcltC,EAAEkrD,UAAUz2D,EAAgFD,GAA9EA,EAAEwL,EAAE6wD,MAAM,CAAC/3D,KAAK,KAAKzL,SAAS,KAAK6jE,oBAAoB18D,EAAE28D,kBAAkB18D,IAAOpH,SAASkkE,GAAG9lE,KAAK,KAAKmkE,GAAGp7D,GAAS,CAACwL,EAAEktC,cAAc14C,IAAI5D,OAAO,SAAS4D,GAA4B,OAAdA,EAAE,CAACrI,QAAQqI,GAAhBo8D,KAA4B1jB,cAAc14C,GAAG4tC,SAASkvB,GAAGnvB,cAAc8vB,GAAGI,aAAa7C,GAAG8C,iBAAiB,SAAS99D,EAAEC,GAAG,IAAIsL,EAAEuxD,GAAG98D,GAAGwL,EAAED,EAAE,GAAGzO,EAAEyO,EAAE,GAC7Y,OADgZ+xD,IAAG,WAAWxpD,EAAEkqD,eAAc,WAAW,IAAIzyD,EAAEsgC,GAAEwC,SAASxC,GAAEwC,cAAS,IAASpuC,EAAE,KAAKA,EAAE,IAAInD,EAAEkD,GAAN,QAAiB6rC,GAAEwC,SACvgB9iC,QAAM,CAACvL,EAAEC,IAAWuL,GAAGuyD,cAAc,SAAS/9D,GAAG,IAAIC,EAAE68D,IAAG,GAAIvxD,EAAEtL,EAAE,GAAGuL,EAAEvL,EAAE,GAAG,MAAM,CAACy9D,IAAG,SAASz9D,GAAGuL,GAAE,GAAIsI,EAAEkqD,eAAc,WAAW,IAAIzyD,EAAEsgC,GAAEwC,SAASxC,GAAEwC,cAAS,IAASruC,EAAE,KAAKA,EAAE,IAAIwL,GAAE,GAAIvL,IAAV,QAAsB4rC,GAAEwC,SAAS9iC,QAAM,CAACvL,EAAEuL,IAAIA,KAAK0wD,GAAG,CAAC2B,YAAYtH,GAAG7oB,YAAYkwB,GAAGniE,WAAW86D,GAAG99D,UAAU+kE,GAAG7vB,oBAAoB,SAAS1tC,EAAEC,EAAEsL,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAElnB,OAAO,CAAC2b,IAAI,KAAYq9D,GAAG,EAAE,GAAGG,GAAGvmE,KAAK,KAAKgJ,EAAED,GAAGuL,IAAItS,gBAAgB,SAAS+G,EAAEC,GAAG,OAAOo9D,GAAG,EAAE,GAAGr9D,EAAEC,IAAI7H,QAAQ,SAAS4H,EAAEC,GAAG,IAAIsL,EAAEgxD,KAAKt8D,OAAE,IAASA,EACnf,KAAKA,EAAE,IAAIuL,EAAED,EAAEmtC,cAAc,OAAG,OAAOltC,GAAG,OAAOvL,GAAG67D,GAAG77D,EAAEuL,EAAE,IAAWA,EAAE,IAAGxL,EAAEA,IAAIuL,EAAEmtC,cAAc,CAAC14C,EAAEC,GAAUD,IAAGhE,WAAWygE,GAAGrgE,OAAO,WAAW,OAAOmgE,KAAK7jB,eAAe9K,SAASovB,GAAGrvB,cAAc8vB,GAAGI,aAAa7C,GAAG8C,iBAAiB,SAAS99D,EAAEC,GAAG,IAAIsL,EAAEyxD,KAAMxxD,EAAED,EAAE,GAAGzO,EAAEyO,EAAE,GAAmI,OAAhIgyD,IAAG,WAAWzpD,EAAEkqD,eAAc,WAAW,IAAIzyD,EAAEsgC,GAAEwC,SAASxC,GAAEwC,cAAS,IAASpuC,EAAE,KAAKA,EAAE,IAAInD,EAAEkD,GAAN,QAAiB6rC,GAAEwC,SAAS9iC,QAAM,CAACvL,EAAEC,IAAWuL,GAAGuyD,cAAc,SAAS/9D,GAAG,IAAIC,EAAE+8D,KAAOzxD,EAAEtL,EAAE,GAAGuL,EAAEvL,EAAE,GAAG,MAAM,CAAC09D,IAAG,SAAS19D,GAAGuL,GAAE,GAAIsI,EAAEkqD,eAAc,WAAW,IAAIzyD,EAC5gBsgC,GAAEwC,SAASxC,GAAEwC,cAAS,IAASruC,EAAE,KAAKA,EAAE,IAAIwL,GAAE,GAAIvL,IAAV,QAAsB4rC,GAAEwC,SAAS9iC,QAAM,CAACvL,EAAEuL,IAAIA,KAAK0yD,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAAG,SAASC,GAAGp+D,EAAEC,GAAG,IAAIsL,EAAE8yD,GAAG,EAAE,KAAK,KAAK,GAAG9yD,EAAEouD,YAAY,UAAUpuD,EAAE7W,KAAK,UAAU6W,EAAEwlC,UAAU9wC,EAAEsL,EAAEinC,OAAOxyC,EAAEuL,EAAEitC,UAAU,EAAE,OAAOx4C,EAAEg3D,YAAYh3D,EAAEg3D,WAAWM,WAAW/rD,EAAEvL,EAAEg3D,WAAWzrD,GAAGvL,EAAE+2D,YAAY/2D,EAAEg3D,WAAWzrD,EACpU,SAAS+yD,GAAGt+D,EAAEC,GAAG,OAAOD,EAAEqP,KAAK,KAAK,EAAE,IAAI9D,EAAEvL,EAAEtL,KAAyE,OAAO,QAA3EuL,EAAE,IAAIA,EAAEsR,UAAUhG,EAAEhnB,gBAAgB0b,EAAEw0C,SAASlwD,cAAc,KAAK0b,KAAmBD,EAAE+wC,UAAU9wC,GAAE,GAAO,KAAK,EAAE,OAAoD,QAA7CA,EAAE,KAAKD,EAAEu+D,cAAc,IAAIt+D,EAAEsR,SAAS,KAAKtR,KAAYD,EAAE+wC,UAAU9wC,GAAE,GAAO,KAAK,GAAY,QAAQ,OAAM,GACtR,SAASu+D,GAAGx+D,GAAG,GAAGm+D,GAAG,CAAC,IAAIl+D,EAAEi+D,GAAG,GAAGj+D,EAAE,CAAC,IAAIsL,EAAEtL,EAAE,IAAIq+D,GAAGt+D,EAAEC,GAAG,CAAqB,KAApBA,EAAEmhC,GAAG71B,EAAE2/C,gBAAqBoT,GAAGt+D,EAAEC,GAA+C,OAA3CD,EAAEw4C,WAAuB,KAAbx4C,EAAEw4C,UAAgB,EAAE2lB,IAAG,OAAGF,GAAGj+D,GAASo+D,GAAGH,GAAG1yD,GAAG0yD,GAAGj+D,EAAEk+D,GAAG98B,GAAGnhC,EAAEvZ,iBAAiBsZ,EAAEw4C,WAAuB,KAAbx4C,EAAEw4C,UAAgB,EAAE2lB,IAAG,EAAGF,GAAGj+D,GAAG,SAASy+D,GAAGz+D,GAAG,IAAIA,EAAEA,EAAEwyC,OAAO,OAAOxyC,GAAG,IAAIA,EAAEqP,KAAK,IAAIrP,EAAEqP,KAAK,KAAKrP,EAAEqP,KAAKrP,EAAEA,EAAEwyC,OAAOyrB,GAAGj+D,EAC5T,SAAS0+D,GAAG1+D,GAAG,GAAGA,IAAIi+D,GAAG,OAAM,EAAG,IAAIE,GAAG,OAAOM,GAAGz+D,GAAGm+D,IAAG,GAAG,EAAG,IAAIl+D,EAAED,EAAEtL,KAAK,GAAG,IAAIsL,EAAEqP,KAAK,SAASpP,GAAG,SAASA,IAAI+rD,GAAG/rD,EAAED,EAAE86D,eAAe,IAAI76D,EAAEi+D,GAAGj+D,GAAGm+D,GAAGp+D,EAAEC,GAAGA,EAAEmhC,GAAGnhC,EAAEirD,aAAmB,GAANuT,GAAGz+D,GAAM,KAAKA,EAAEqP,IAAI,CAAgD,KAA7BrP,EAAE,QAApBA,EAAEA,EAAE04C,eAAyB14C,EAAE24C,WAAW,MAAW,MAAM3oD,MAAM+5C,EAAE,MAAM/pC,EAAE,CAAiB,IAAhBA,EAAEA,EAAEkrD,YAAgBjrD,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEuR,SAAS,CAAC,IAAIhG,EAAEvL,EAAE8gC,KAAK,GAAGv1B,IAAIkgD,GAAG,CAAC,GAAG,IAAIxrD,EAAE,CAACi+D,GAAG98B,GAAGphC,EAAEkrD,aAAa,MAAMlrD,EAAEC,SAASsL,IAAIigD,IAAIjgD,IAAIogD,IAAIpgD,IAAImgD,IAAIzrD,IAAID,EAAEA,EAAEkrD,YAAYgT,GAAG,WAAWA,GAAGD,GAAG78B,GAAGphC,EAAE+wC,UAAUma,aAAa,KAAK,OAAM,EAChf,SAASyT,KAAKT,GAAGD,GAAG,KAAKE,IAAG,EAAG,IAAIS,GAAG3tB,EAAG3C,kBAAkB+nB,IAAG,EAAG,SAASnqB,GAAElsC,EAAEC,EAAEsL,EAAEC,GAAGvL,EAAE9d,MAAM,OAAO6d,EAAEk6D,GAAGj6D,EAAE,KAAKsL,EAAEC,GAAGyuD,GAAGh6D,EAAED,EAAE7d,MAAMopB,EAAEC,GAAG,SAASqzD,GAAG7+D,EAAEC,EAAEsL,EAAEC,EAAE1O,GAAGyO,EAAEA,EAAEsgB,OAAO,IAAIpgB,EAAExL,EAAEjD,IAA8B,OAA1Bk5D,GAAGj2D,EAAEnD,GAAG0O,EAAEuwD,GAAG/7D,EAAEC,EAAEsL,EAAEC,EAAEC,EAAE3O,GAAM,OAAOkD,GAAIq2D,IAA4Gp2D,EAAEu4C,WAAW,EAAEtM,GAAElsC,EAAEC,EAAEuL,EAAE1O,GAAUmD,EAAE9d,QAArI8d,EAAEw3D,YAAYz3D,EAAEy3D,YAAYx3D,EAAEu4C,YAAY,IAAIx4C,EAAEo2D,gBAAgBt5D,IAAIkD,EAAEo2D,eAAe,GAAG0I,GAAG9+D,EAAEC,EAAEnD,IACtU,SAASiiE,GAAG/+D,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,GAAG,GAAG,OAAOzL,EAAE,CAAC,IAAIlS,EAAEyd,EAAE7W,KAAK,MAAG,oBAAoB5G,GAAIkxE,GAAGlxE,SAAI,IAASA,EAAEhC,cAAc,OAAOyf,EAAEopB,cAAS,IAASppB,EAAEzf,eAAsDkU,EAAE45D,GAAGruD,EAAE7W,KAAK,KAAK8W,EAAE,KAAKvL,EAAEy5D,KAAKjuD,IAAKzO,IAAIiD,EAAEjD,IAAIgD,EAAEwyC,OAAOvyC,EAASA,EAAE9d,MAAM6d,IAA1GC,EAAEoP,IAAI,GAAGpP,EAAEvL,KAAK5G,EAAEmxE,GAAGj/D,EAAEC,EAAEnS,EAAE0d,EAAE1O,EAAE2O,IAAuF,OAAV3d,EAAEkS,EAAE7d,MAAS2a,EAAE2O,IAAI3O,EAAEhP,EAAEgtE,eAA0BvvD,EAAE,QAAdA,EAAEA,EAAEopB,SAAmBppB,EAAEwlD,IAAKj0D,EAAE0O,IAAIxL,EAAEhD,MAAMiD,EAAEjD,KAAY8hE,GAAG9+D,EAAEC,EAAEwL,IAAGxL,EAAEu4C,WAAW,GAAEx4C,EAAEw5D,GAAG1rE,EAAE0d,IAAOxO,IAAIiD,EAAEjD,IAAIgD,EAAEwyC,OAAOvyC,EAASA,EAAE9d,MAAM6d,GACrb,SAASi/D,GAAGj/D,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,GAAG,OAAO,OAAOzL,GAAG+wD,GAAG/wD,EAAE86D,cAActvD,IAAIxL,EAAEhD,MAAMiD,EAAEjD,MAAMq5D,IAAG,EAAGv5D,EAAE2O,GAAGqzD,GAAG9+D,EAAEC,EAAEwL,GAAGyzD,GAAGl/D,EAAEC,EAAEsL,EAAEC,EAAEC,GAAG,SAAS0zD,GAAGn/D,EAAEC,GAAG,IAAIsL,EAAEtL,EAAEjD,KAAO,OAAOgD,GAAG,OAAOuL,GAAG,OAAOvL,GAAGA,EAAEhD,MAAMuO,KAAEtL,EAAEu4C,WAAW,KAAI,SAAS0mB,GAAGl/D,EAAEC,EAAEsL,EAAEC,EAAE1O,GAAG,IAAI2O,EAAE8/B,GAAEhgC,GAAGknD,GAAGpnB,GAAE1zC,QAA4C,OAApC8T,EAAEinD,GAAGzyD,EAAEwL,GAAGyqD,GAAGj2D,EAAEnD,GAAGyO,EAAEwwD,GAAG/7D,EAAEC,EAAEsL,EAAEC,EAAEC,EAAE3O,GAAM,OAAOkD,GAAIq2D,IAA4Gp2D,EAAEu4C,WAAW,EAAEtM,GAAElsC,EAAEC,EAAEsL,EAAEzO,GAAUmD,EAAE9d,QAArI8d,EAAEw3D,YAAYz3D,EAAEy3D,YAAYx3D,EAAEu4C,YAAY,IAAIx4C,EAAEo2D,gBAAgBt5D,IAAIkD,EAAEo2D,eAAe,GAAG0I,GAAG9+D,EAAEC,EAAEnD,IACvZ,SAASsiE,GAAGp/D,EAAEC,EAAEsL,EAAEC,EAAE1O,GAAG,GAAGyuC,GAAEhgC,GAAG,CAAC,IAAIE,GAAE,EAAGwnD,GAAGhzD,QAAQwL,GAAE,EAAW,GAARyqD,GAAGj2D,EAAEnD,GAAM,OAAOmD,EAAE8wC,UAAU,OAAO/wC,IAAIA,EAAEu4C,UAAU,KAAKt4C,EAAEs4C,UAAU,KAAKt4C,EAAEu4C,WAAW,GAAGogB,GAAG34D,EAAEsL,EAAEC,GAAKutD,GAAG94D,EAAEsL,EAAEC,EAAE1O,GAAG0O,GAAE,OAAQ,GAAG,OAAOxL,EAAE,CAAC,IAAIlS,EAAEmS,EAAE8wC,UAAUh+B,EAAE9S,EAAE66D,cAAchtE,EAAEjM,MAAMkxB,EAAE,IAAIpP,EAAE7V,EAAE1K,QAAQovB,EAAEjH,EAAE0oB,YAAY,kBAAkBzhB,GAAG,OAAOA,EAAEA,EAAE8jD,GAAG9jD,GAAwBA,EAAEkgD,GAAGzyD,EAAzBuS,EAAE+4B,GAAEhgC,GAAGknD,GAAGpnB,GAAE1zC,SAAmB,IAAIqoC,EAAEz0B,EAAE6oB,yBAAyBiW,EAAE,oBAAoBrK,GAAG,oBAAoBlyC,EAAEkrE,wBAAwB3uB,GAAG,oBAAoBv8C,EAAEgrE,kCACxd,oBAAoBhrE,EAAE69B,4BAA4B5Y,IAAIvH,GAAG7H,IAAI6O,IAAIqmD,GAAG54D,EAAEnS,EAAE0d,EAAEgH,GAAGgkD,IAAG,EAAG,IAAI1yE,EAAEmc,EAAEy4C,cAAc/0C,EAAE7V,EAAEhD,MAAMhH,EAAE,IAAIonD,EAAEjrC,EAAEw3D,YAAY,OAAOvsB,IAAI2sB,GAAG53D,EAAEirC,EAAE1/B,EAAE1d,EAAEgP,GAAG6G,EAAE1D,EAAEy4C,eAAe3lC,IAAIvH,GAAG1nB,IAAI6f,GAAG2nC,GAAE3zC,SAAS6+D,IAAI,oBAAoBx2B,IAAIo4B,GAAGn4D,EAAEsL,EAAEy0B,EAAEx0B,GAAG7H,EAAE1D,EAAEy4C,gBAAgB3lC,EAAEyjD,IAAIkC,GAAGz4D,EAAEsL,EAAEwH,EAAEvH,EAAE1nB,EAAE6f,EAAE6O,KAAK63B,GAAG,oBAAoBv8C,EAAEmrE,2BAA2B,oBAAoBnrE,EAAEorE,qBAAqB,oBAAoBprE,EAAEorE,oBAAoBprE,EAAEorE,qBAAqB,oBAAoBprE,EAAEmrE,2BAC1dnrE,EAAEmrE,6BAA6B,oBAAoBnrE,EAAEs+B,oBAAoBnsB,EAAEu4C,WAAW,KAAK,oBAAoB1qD,EAAEs+B,oBAAoBnsB,EAAEu4C,WAAW,GAAGv4C,EAAE66D,cAActvD,EAAEvL,EAAEy4C,cAAc/0C,GAAG7V,EAAEjM,MAAM2pB,EAAE1d,EAAEhD,MAAM6Y,EAAE7V,EAAE1K,QAAQovB,EAAEhH,EAAEuH,IAAI,oBAAoBjlB,EAAEs+B,oBAAoBnsB,EAAEu4C,WAAW,GAAGhtC,GAAE,QAAS1d,EAAEmS,EAAE8wC,UAAUh+B,EAAE9S,EAAE66D,cAAchtE,EAAEjM,MAAMoe,EAAEvL,OAAOuL,EAAE05D,YAAY5mD,EAAEyiD,GAAGv1D,EAAEvL,KAAKqe,GAAGpP,EAAE7V,EAAE1K,QAAwB,kBAAhBovB,EAAEjH,EAAE0oB,cAAiC,OAAOzhB,EAAEA,EAAE8jD,GAAG9jD,GAAwBA,EAAEkgD,GAAGzyD,EAAzBuS,EAAE+4B,GAAEhgC,GAAGknD,GAAGpnB,GAAE1zC,UAAiD0yC,EACnf,oBADqdrK,EAAEz0B,EAAE6oB,2BAClc,oBAAoBtmC,EAAEkrE,0BAA0B,oBAAoBlrE,EAAEgrE,kCAAkC,oBAAoBhrE,EAAE69B,4BAA4B5Y,IAAIvH,GAAG7H,IAAI6O,IAAIqmD,GAAG54D,EAAEnS,EAAE0d,EAAEgH,GAAGgkD,IAAG,EAAG7yD,EAAE1D,EAAEy4C,cAAc50D,EAAEgK,EAAEhD,MAAM6Y,EAAkB,QAAhBunC,EAAEjrC,EAAEw3D,eAAuBI,GAAG53D,EAAEirC,EAAE1/B,EAAE1d,EAAEgP,GAAGhZ,EAAEmc,EAAEy4C,eAAe3lC,IAAIvH,GAAG7H,IAAI7f,GAAGwnD,GAAE3zC,SAAS6+D,IAAI,oBAAoBx2B,IAAIo4B,GAAGn4D,EAAEsL,EAAEy0B,EAAEx0B,GAAG1nB,EAAEmc,EAAEy4C,gBAAgB1Y,EAAEw2B,IAAIkC,GAAGz4D,EAAEsL,EAAEwH,EAAEvH,EAAE7H,EAAE7f,EAAE0uB,KAAK63B,GAAG,oBAAoBv8C,EAAEuxE,4BAA4B,oBAAoBvxE,EAAEwxE,sBACre,oBAAoBxxE,EAAEwxE,qBAAqBxxE,EAAEwxE,oBAAoB9zD,EAAE1nB,EAAE0uB,GAAG,oBAAoB1kB,EAAEuxE,4BAA4BvxE,EAAEuxE,2BAA2B7zD,EAAE1nB,EAAE0uB,IAAI,oBAAoB1kB,EAAEyxE,qBAAqBt/D,EAAEu4C,WAAW,GAAG,oBAAoB1qD,EAAEkrE,0BAA0B/4D,EAAEu4C,WAAW,OAAO,oBAAoB1qD,EAAEyxE,oBAAoBxsD,IAAI/S,EAAE86D,eAAen3D,IAAI3D,EAAE04C,gBAAgBz4C,EAAEu4C,WAAW,GAAG,oBAAoB1qD,EAAEkrE,yBAAyBjmD,IAAI/S,EAAE86D,eAAen3D,IAAI3D,EAAE04C,gBAAgBz4C,EAAEu4C,WAAW,KAAKv4C,EAAE66D,cAClftvD,EAAEvL,EAAEy4C,cAAc50D,GAAGgK,EAAEjM,MAAM2pB,EAAE1d,EAAEhD,MAAMhH,EAAEgK,EAAE1K,QAAQovB,EAAEhH,EAAEw0B,IAAI,oBAAoBlyC,EAAEyxE,oBAAoBxsD,IAAI/S,EAAE86D,eAAen3D,IAAI3D,EAAE04C,gBAAgBz4C,EAAEu4C,WAAW,GAAG,oBAAoB1qD,EAAEkrE,yBAAyBjmD,IAAI/S,EAAE86D,eAAen3D,IAAI3D,EAAE04C,gBAAgBz4C,EAAEu4C,WAAW,KAAKhtC,GAAE,GAAI,OAAOg0D,GAAGx/D,EAAEC,EAAEsL,EAAEC,EAAEC,EAAE3O,GACtS,SAAS0iE,GAAGx/D,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,GAAG0zD,GAAGn/D,EAAEC,GAAG,IAAInS,EAAE,KAAiB,GAAZmS,EAAEu4C,WAAc,IAAIhtC,IAAI1d,EAAE,OAAOgP,GAAGq2D,GAAGlzD,EAAEsL,GAAE,GAAIuzD,GAAG9+D,EAAEC,EAAEwL,GAAGD,EAAEvL,EAAE8wC,UAAU6tB,GAAGjnE,QAAQsI,EAAE,IAAI8S,EAAEjlB,GAAG,oBAAoByd,EAAE4oB,yBAAyB,KAAK3oB,EAAEqgB,SAA2I,OAAlI5rB,EAAEu4C,WAAW,EAAE,OAAOx4C,GAAGlS,GAAGmS,EAAE9d,MAAM83E,GAAGh6D,EAAED,EAAE7d,MAAM,KAAKspB,GAAGxL,EAAE9d,MAAM83E,GAAGh6D,EAAE,KAAK8S,EAAEtH,IAAIygC,GAAElsC,EAAEC,EAAE8S,EAAEtH,GAAGxL,EAAEy4C,cAAcltC,EAAE1gB,MAAMgS,GAAGq2D,GAAGlzD,EAAEsL,GAAE,GAAWtL,EAAE9d,MAAM,SAASs9E,GAAGz/D,GAAG,IAAIC,EAAED,EAAE+wC,UAAU9wC,EAAEy/D,eAAe3M,GAAG/yD,EAAEC,EAAEy/D,eAAez/D,EAAEy/D,iBAAiBz/D,EAAE7c,SAAS6c,EAAE7c,SAAS2vE,GAAG/yD,EAAEC,EAAE7c,SAAQ,GAAIo3E,GAAGx6D,EAAEC,EAAE06C,eACpe,IAOobglB,GAAGC,GAAGC,GAAGC,GAPzbC,GAAG,CAACpnB,WAAW,KAAKqnB,UAAU,GAClC,SAASC,GAAGjgE,EAAEC,EAAEsL,GAAG,IAA+CwH,EAA3CvH,EAAEvL,EAAEy5D,KAAK58D,EAAEmD,EAAEs+D,aAAa9yD,EAAEigC,GAAE/zC,QAAQ7J,GAAE,EAAuN,IAAjNilB,EAAE,KAAiB,GAAZ9S,EAAEu4C,cAAiBzlC,EAAE,KAAO,EAAFtH,KAAO,OAAOzL,GAAG,OAAOA,EAAE04C,gBAAgB3lC,GAAGjlB,GAAE,EAAGmS,EAAEu4C,YAAY,IAAI,OAAOx4C,GAAG,OAAOA,EAAE04C,oBAAe,IAAS57C,EAAEojE,WAAU,IAAKpjE,EAAEqjE,6BAA6B10D,GAAG,GAAG2/B,GAAEM,GAAI,EAAFjgC,GAAU,OAAOzL,EAAE,CAA4B,QAA3B,IAASlD,EAAEojE,UAAU1B,GAAGv+D,GAAMnS,EAAE,CAA6C,GAA5CA,EAAEgP,EAAEojE,UAASpjE,EAAEi9D,GAAG,KAAKvuD,EAAE,EAAE,OAAQgnC,OAAOvyC,EAAK,KAAY,EAAPA,EAAEy5D,MAAQ,IAAI15D,EAAE,OAAOC,EAAEy4C,cAAcz4C,EAAE9d,MAAMA,MAAM8d,EAAE9d,MAAM2a,EAAE3a,MAAM6d,EAAE,OAAOA,GAAGA,EAAEwyC,OAAO11C,EAAEkD,EAAEA,EAAE84C,QAC7a,OADqbvtC,EAAEwuD,GAAGjsE,EAAE0d,EAAED,EAAE,OAAQinC,OACnfvyC,EAAEnD,EAAEg8C,QAAQvtC,EAAEtL,EAAEy4C,cAAcqnB,GAAG9/D,EAAE9d,MAAM2a,EAASyO,EAAoC,OAAlCC,EAAE1O,EAAE9X,SAASib,EAAEy4C,cAAc,KAAYz4C,EAAE9d,MAAM+3E,GAAGj6D,EAAE,KAAKuL,EAAED,GAAG,GAAG,OAAOvL,EAAE04C,cAAc,CAAuB,GAAZltC,GAAVxL,EAAEA,EAAE7d,OAAU22D,QAAWhrD,EAAE,CAAkD,GAAjDgP,EAAEA,EAAEojE,UAAS30D,EAAEiuD,GAAGx5D,EAAEA,EAAEu+D,eAAkB/rB,OAAOvyC,EAAK,KAAY,EAAPA,EAAEy5D,QAAU5rE,EAAE,OAAOmS,EAAEy4C,cAAcz4C,EAAE9d,MAAMA,MAAM8d,EAAE9d,SAAU6d,EAAE7d,MAAO,IAAIopB,EAAEppB,MAAM2L,EAAE,OAAOA,GAAGA,EAAE0kD,OAAOjnC,EAAEzd,EAAEA,EAAEgrD,QAA+G,OAAvGttC,EAAEguD,GAAGhuD,EAAE1O,EAAE0O,EAAE4qD,iBAAkB5jB,OAAOvyC,EAAEsL,EAAEutC,QAAQttC,EAAED,EAAE0qD,oBAAoB,EAAEh2D,EAAEy4C,cAAcqnB,GAAG9/D,EAAE9d,MAAMopB,EAASC,EACpc,OADscD,EAAE0uD,GAAGh6D,EAAED,EAAE7d,MAAM2a,EAAE9X,SAASumB,GAAGtL,EAAEy4C,cAC1e,KAAYz4C,EAAE9d,MAAMopB,EAAY,GAAVvL,EAAEA,EAAE7d,MAAS2L,EAAE,CAA8E,GAA7EA,EAAEgP,EAAEojE,UAASpjE,EAAEi9D,GAAG,KAAKvuD,EAAE,EAAE,OAAQgnC,OAAOvyC,EAAEnD,EAAE3a,MAAM6d,EAAE,OAAOA,IAAIA,EAAEwyC,OAAO11C,GAAM,KAAY,EAAPmD,EAAEy5D,MAAQ,IAAI15D,EAAE,OAAOC,EAAEy4C,cAAcz4C,EAAE9d,MAAMA,MAAM8d,EAAE9d,MAAM2a,EAAE3a,MAAM6d,EAAE,OAAOA,GAAGA,EAAEwyC,OAAO11C,EAAEkD,EAAEA,EAAE84C,QAAoH,OAA5GvtC,EAAEwuD,GAAGjsE,EAAE0d,EAAED,EAAE,OAAQinC,OAAOvyC,EAAEnD,EAAEg8C,QAAQvtC,EAAEA,EAAEitC,WAAW,EAAE17C,EAAEm5D,oBAAoB,EAAEh2D,EAAEy4C,cAAcqnB,GAAG9/D,EAAE9d,MAAM2a,EAASyO,EAAuB,OAArBtL,EAAEy4C,cAAc,KAAYz4C,EAAE9d,MAAM83E,GAAGh6D,EAAED,EAAElD,EAAE9X,SAASumB,GAC9Y,SAAS60D,GAAGpgE,EAAEC,GAAGD,EAAEo2D,eAAen2D,IAAID,EAAEo2D,eAAen2D,GAAG,IAAIsL,EAAEvL,EAAEu4C,UAAU,OAAOhtC,GAAGA,EAAE6qD,eAAen2D,IAAIsL,EAAE6qD,eAAen2D,GAAG+1D,GAAGh2D,EAAEwyC,OAAOvyC,GAAG,SAASogE,GAAGrgE,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,GAAG,IAAI3d,EAAEkS,EAAE04C,cAAc,OAAO5qD,EAAEkS,EAAE04C,cAAc,CAAC4nB,YAAYrgE,EAAEsgE,UAAU,KAAKj8D,KAAKkH,EAAEg1D,KAAKj1D,EAAEk1D,eAAe,EAAEC,SAAS5jE,EAAEk6D,WAAWvrD,IAAI3d,EAAEwyE,YAAYrgE,EAAEnS,EAAEyyE,UAAU,KAAKzyE,EAAEwW,KAAKkH,EAAE1d,EAAE0yE,KAAKj1D,EAAEzd,EAAE2yE,eAAe,EAAE3yE,EAAE4yE,SAAS5jE,EAAEhP,EAAEkpE,WAAWvrD,GAC7Y,SAASk1D,GAAG3gE,EAAEC,EAAEsL,GAAG,IAAIC,EAAEvL,EAAEs+D,aAAazhE,EAAE0O,EAAEuvD,YAAYtvD,EAAED,EAAEg1D,KAAqC,GAAhCt0B,GAAElsC,EAAEC,EAAEuL,EAAExmB,SAASumB,GAAkB,KAAO,GAAtBC,EAAEkgC,GAAE/zC,UAAqB6T,EAAI,EAAFA,EAAI,EAAEvL,EAAEu4C,WAAW,OAAO,CAAC,GAAG,OAAOx4C,GAAG,KAAiB,GAAZA,EAAEw4C,WAAcx4C,EAAE,IAAIA,EAAEC,EAAE9d,MAAM,OAAO6d,GAAG,CAAC,GAAG,KAAKA,EAAEqP,IAAI,OAAOrP,EAAE04C,eAAe0nB,GAAGpgE,EAAEuL,QAAQ,GAAG,KAAKvL,EAAEqP,IAAI+wD,GAAGpgE,EAAEuL,QAAQ,GAAG,OAAOvL,EAAE7d,MAAM,CAAC6d,EAAE7d,MAAMqwD,OAAOxyC,EAAEA,EAAEA,EAAE7d,MAAM,SAAS,GAAG6d,IAAIC,EAAE,MAAMD,EAAE,KAAK,OAAOA,EAAE84C,SAAS,CAAC,GAAG,OAAO94C,EAAEwyC,QAAQxyC,EAAEwyC,SAASvyC,EAAE,MAAMD,EAAEA,EAAEA,EAAEwyC,OAAOxyC,EAAE84C,QAAQtG,OAAOxyC,EAAEwyC,OAAOxyC,EAAEA,EAAE84C,QAAQttC,GAAG,EAAW,GAAT4/B,GAAEM,GAAElgC,GAAQ,KAAY,EAAPvL,EAAEy5D,MAAQz5D,EAAEy4C,cAClf,UAAU,OAAO57C,GAAG,IAAK,WAAqB,IAAVyO,EAAEtL,EAAE9d,MAAU2a,EAAE,KAAK,OAAOyO,GAAiB,QAAdvL,EAAEuL,EAAEgtC,YAAoB,OAAOsiB,GAAG76D,KAAKlD,EAAEyO,GAAGA,EAAEA,EAAEutC,QAAY,QAAJvtC,EAAEzO,IAAYA,EAAEmD,EAAE9d,MAAM8d,EAAE9d,MAAM,OAAO2a,EAAEyO,EAAEutC,QAAQvtC,EAAEutC,QAAQ,MAAMunB,GAAGpgE,GAAE,EAAGnD,EAAEyO,EAAEE,EAAExL,EAAE+2D,YAAY,MAAM,IAAK,YAA6B,IAAjBzrD,EAAE,KAAKzO,EAAEmD,EAAE9d,MAAU8d,EAAE9d,MAAM,KAAK,OAAO2a,GAAG,CAAe,GAAG,QAAjBkD,EAAElD,EAAEy7C,YAAuB,OAAOsiB,GAAG76D,GAAG,CAACC,EAAE9d,MAAM2a,EAAE,MAAMkD,EAAElD,EAAEg8C,QAAQh8C,EAAEg8C,QAAQvtC,EAAEA,EAAEzO,EAAEA,EAAEkD,EAAEqgE,GAAGpgE,GAAE,EAAGsL,EAAE,KAAKE,EAAExL,EAAE+2D,YAAY,MAAM,IAAK,WAAWqJ,GAAGpgE,GAAE,EAAG,KAAK,UAAK,EAAOA,EAAE+2D,YAAY,MAAM,QAAQ/2D,EAAEy4C,cAAc,KAAK,OAAOz4C,EAAE9d,MAC/f,SAAS28E,GAAG9+D,EAAEC,EAAEsL,GAAG,OAAOvL,IAAIC,EAAEkvC,aAAanvC,EAAEmvC,cAAc,IAAI3jC,EAAEvL,EAAEm2D,eAA4B,GAAb,IAAI5qD,GAAGusD,GAAGvsD,GAAMvL,EAAEg2D,oBAAoB1qD,EAAE,OAAO,KAAK,GAAG,OAAOvL,GAAGC,EAAE9d,QAAQ6d,EAAE7d,MAAM,MAAM6N,MAAM+5C,EAAE,MAAM,GAAG,OAAO9pC,EAAE9d,MAAM,CAA6D,IAAlDopB,EAAEiuD,GAAZx5D,EAAEC,EAAE9d,MAAa6d,EAAEu+D,aAAav+D,EAAEo2D,gBAAgBn2D,EAAE9d,MAAMopB,EAAMA,EAAEinC,OAAOvyC,EAAE,OAAOD,EAAE84C,SAAS94C,EAAEA,EAAE84C,SAAQvtC,EAAEA,EAAEutC,QAAQ0gB,GAAGx5D,EAAEA,EAAEu+D,aAAav+D,EAAEo2D,iBAAkB5jB,OAAOvyC,EAAEsL,EAAEutC,QAAQ,KAAK,OAAO74C,EAAE9d,MAAM,SAASy+E,GAAG5gE,GAAGA,EAAEw4C,WAAW,EAK9a,SAASqoB,GAAG7gE,EAAEC,GAAG,OAAOD,EAAE0gE,UAAU,IAAK,SAASzgE,EAAED,EAAEwgE,KAAK,IAAI,IAAIj1D,EAAE,KAAK,OAAOtL,GAAG,OAAOA,EAAEs4C,YAAYhtC,EAAEtL,GAAGA,EAAEA,EAAE64C,QAAQ,OAAOvtC,EAAEvL,EAAEwgE,KAAK,KAAKj1D,EAAEutC,QAAQ,KAAK,MAAM,IAAK,YAAYvtC,EAAEvL,EAAEwgE,KAAK,IAAI,IAAIh1D,EAAE,KAAK,OAAOD,GAAG,OAAOA,EAAEgtC,YAAY/sC,EAAED,GAAGA,EAAEA,EAAEutC,QAAQ,OAAOttC,EAAEvL,GAAG,OAAOD,EAAEwgE,KAAKxgE,EAAEwgE,KAAK,KAAKxgE,EAAEwgE,KAAK1nB,QAAQ,KAAKttC,EAAEstC,QAAQ,MACjU,SAASgoB,GAAG9gE,GAAG,OAAOA,EAAEqP,KAAK,KAAK,EAAEk8B,GAAEvrC,EAAEtL,OAAOm+D,KAAM,IAAI5yD,EAAED,EAAEw4C,UAAU,OAAS,KAAFv4C,GAAQD,EAAEw4C,WAAa,KAAHv4C,EAAQ,GAAGD,GAAG,KAAK,KAAK,EAA4B,GAA1B06D,KAAM5H,KAAuB,KAAO,IAAxB7yD,EAAED,EAAEw4C,YAAwB,MAAMxoD,MAAM+5C,EAAE,MAA6B,OAAvB/pC,EAAEw4C,WAAa,KAAHv4C,EAAQ,GAAUD,EAAE,KAAK,EAAE,OAAO46D,GAAG56D,GAAG,KAAK,KAAK,GAAG,OAAO+qC,GAAEW,IAAqB,MAAhBzrC,EAAED,EAAEw4C,YAAkBx4C,EAAEw4C,WAAa,KAAHv4C,EAAQ,GAAGD,GAAG,KAAK,KAAK,GAAG,OAAO+qC,GAAEW,IAAK,KAAK,KAAK,EAAE,OAAOgvB,KAAM,KAAK,KAAK,GAAG,OAAO3E,GAAG/1D,GAAG,KAAK,QAAQ,OAAO,MAAM,SAAS+gE,GAAG/gE,EAAEC,GAAG,MAAM,CAACxhB,MAAMuhB,EAAEjgB,OAAOkgB,EAAE+gE,MAAM7uB,EAAGlyC,IALjd0/D,GAAG,SAAS3/D,EAAEC,GAAG,IAAI,IAAIsL,EAAEtL,EAAE9d,MAAM,OAAOopB,GAAG,CAAC,GAAG,IAAIA,EAAE8D,KAAK,IAAI9D,EAAE8D,IAAIrP,EAAEiQ,YAAY1E,EAAEwlC,gBAAgB,GAAG,IAAIxlC,EAAE8D,KAAK,OAAO9D,EAAEppB,MAAM,CAACopB,EAAEppB,MAAMqwD,OAAOjnC,EAAEA,EAAEA,EAAEppB,MAAM,SAAS,GAAGopB,IAAItL,EAAE,MAAM,KAAK,OAAOsL,EAAEutC,SAAS,CAAC,GAAG,OAAOvtC,EAAEinC,QAAQjnC,EAAEinC,SAASvyC,EAAE,OAAOsL,EAAEA,EAAEinC,OAAOjnC,EAAEutC,QAAQtG,OAAOjnC,EAAEinC,OAAOjnC,EAAEA,EAAEutC,UAAU8mB,GAAG,aAC7SC,GAAG,SAAS7/D,EAAEC,EAAEsL,EAAEC,EAAE1O,GAAG,IAAI2O,EAAEzL,EAAE86D,cAAc,GAAGrvD,IAAID,EAAE,CAAC,IAAsWuH,EAAEpP,EAApW7V,EAAEmS,EAAE8wC,UAAgC,OAAtBwpB,GAAGH,GAAGziE,SAASqI,EAAE,KAAYuL,GAAG,IAAK,QAAQE,EAAEwpC,GAAGnnD,EAAE2d,GAAGD,EAAEypC,GAAGnnD,EAAE0d,GAAGxL,EAAE,GAAG,MAAM,IAAK,SAASyL,EAAEqqC,GAAGhoD,EAAE2d,GAAGD,EAAEsqC,GAAGhoD,EAAE0d,GAAGxL,EAAE,GAAG,MAAM,IAAK,SAASyL,EAAE7H,EAAE,GAAG6H,EAAE,CAAChtB,WAAM,IAAS+sB,EAAE5H,EAAE,GAAG4H,EAAE,CAAC/sB,WAAM,IAASuhB,EAAE,GAAG,MAAM,IAAK,WAAWyL,EAAE0qC,GAAGroD,EAAE2d,GAAGD,EAAE2qC,GAAGroD,EAAE0d,GAAGxL,EAAE,GAAG,MAAM,QAAQ,oBAAoByL,EAAEw1D,SAAS,oBAAoBz1D,EAAEy1D,UAAUnzE,EAAEozE,QAAQrW,IAA2B,IAAI93C,KAA3B23C,GAAGn/C,EAAEC,GAAWD,EAAE,KAAcE,EAAE,IAAID,EAAEnoB,eAAe0vB,IAAItH,EAAEpoB,eAAe0vB,IAAI,MAAMtH,EAAEsH,GAAG,GAAG,UAC/eA,EAAE,IAAIpP,KAAK7V,EAAE2d,EAAEsH,GAAKjlB,EAAEzK,eAAesgB,KAAK4H,IAAIA,EAAE,IAAIA,EAAE5H,GAAG,QAAQ,4BAA4BoP,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAIk8B,EAAG5rD,eAAe0vB,GAAG/S,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAIxgB,KAAKuzB,EAAE,OAAO,IAAIA,KAAKvH,EAAE,CAAC,IAAIgH,EAAEhH,EAAEuH,GAAyB,GAAtBjlB,EAAE,MAAM2d,EAAEA,EAAEsH,QAAG,EAAUvH,EAAEnoB,eAAe0vB,IAAIP,IAAI1kB,IAAI,MAAM0kB,GAAG,MAAM1kB,GAAG,GAAG,UAAUilB,EAAE,GAAGjlB,EAAE,CAAC,IAAI6V,KAAK7V,GAAGA,EAAEzK,eAAesgB,IAAI6O,GAAGA,EAAEnvB,eAAesgB,KAAK4H,IAAIA,EAAE,IAAIA,EAAE5H,GAAG,IAAI,IAAIA,KAAK6O,EAAEA,EAAEnvB,eAAesgB,IAAI7V,EAAE6V,KAAK6O,EAAE7O,KAAK4H,IAAIA,EAAE,IACpfA,EAAE5H,GAAG6O,EAAE7O,SAAS4H,IAAIvL,IAAIA,EAAE,IAAIA,EAAExgB,KAAKuzB,EAAExH,IAAIA,EAAEiH,MAAM,4BAA4BO,GAAGP,EAAEA,EAAEA,EAAEif,YAAO,EAAO3jC,EAAEA,EAAEA,EAAE2jC,YAAO,EAAO,MAAMjf,GAAG1kB,IAAI0kB,IAAIxS,EAAEA,GAAG,IAAIxgB,KAAKuzB,EAAE,GAAGP,IAAI,aAAaO,EAAEjlB,IAAI0kB,GAAG,kBAAkBA,GAAG,kBAAkBA,IAAIxS,EAAEA,GAAG,IAAIxgB,KAAKuzB,EAAE,GAAGP,GAAG,mCAAmCO,GAAG,6BAA6BA,IAAIk8B,EAAG5rD,eAAe0vB,IAAI,MAAMP,GAAGo4C,GAAG9tD,EAAEiW,GAAG/S,GAAGlS,IAAI0kB,IAAIxS,EAAE,MAAMA,EAAEA,GAAG,IAAIxgB,KAAKuzB,EAAEP,IAAIjH,IAAIvL,EAAEA,GAAG,IAAIxgB,KAAK,QAAQ+rB,GAAGzO,EAAEkD,GAAGC,EAAEw3D,YAAY36D,IAAI8jE,GAAG3gE,KAAK6/D,GAAG,SAAS9/D,EAAEC,EAAEsL,EAAEC,GAAGD,IAAIC,GAAGo1D,GAAG3gE,IAGze,IAAIkhE,GAAG,oBAAoBC,QAAQA,QAAQv3B,IAAI,SAASw3B,GAAGrhE,EAAEC,GAAG,IAAIsL,EAAEtL,EAAElgB,OAAOyrB,EAAEvL,EAAE+gE,MAAM,OAAOx1D,GAAG,OAAOD,IAAIC,EAAE2mC,EAAG5mC,IAAI,OAAOA,GAAG2mC,EAAG3mC,EAAE7W,MAAMuL,EAAEA,EAAExhB,MAAM,OAAOuhB,GAAG,IAAIA,EAAEqP,KAAK6iC,EAAGlyC,EAAEtL,MAAM,IAAI5B,QAAQT,MAAM4N,GAAG,MAAMnD,GAAGovD,YAAW,WAAW,MAAMpvD,MAAsH,SAASwkE,GAAGthE,GAAG,IAAIC,EAAED,EAAEhD,IAAI,GAAG,OAAOiD,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,MAAM,MAAMsL,GAAGg2D,GAAGvhE,EAAEuL,QAAQtL,EAAEtI,QAAQ,KACld,SAAS6pE,GAAGxhE,EAAEC,GAAG,OAAOA,EAAEoP,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGoyD,GAAG,EAAE,EAAExhE,GAAG,MAAM,KAAK,EAAE,GAAe,IAAZA,EAAEu4C,WAAe,OAAOx4C,EAAE,CAAC,IAAIuL,EAAEvL,EAAE86D,cAActvD,EAAExL,EAAE04C,cAA4Bz4C,GAAdD,EAAEC,EAAE8wC,WAAcioB,wBAAwB/4D,EAAE05D,cAAc15D,EAAEvL,KAAK6W,EAAEiqD,GAAGv1D,EAAEvL,KAAK6W,GAAGC,GAAGxL,EAAE0hE,oCAAoCzhE,EAAE,MAAM,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,QAAQ,MAAMjQ,MAAM+5C,EAAE,OACpV,SAAS03B,GAAGzhE,EAAEC,EAAEsL,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAEA,EAAEksD,aAAuBlsD,EAAEyrD,WAAW,MAAiB,CAAC,IAAIxrD,EAAED,EAAEA,EAAE3T,KAAK,EAAE,CAAC,GAAG,KAAK4T,EAAE6D,IAAIrP,GAAG,CAAC,IAAIlD,EAAE0O,EAAE0xD,QAAQ1xD,EAAE0xD,aAAQ,OAAO,IAASpgE,GAAGA,IAAI,KAAK0O,EAAE6D,IAAIpP,KAAKnD,EAAE0O,EAAE7pB,OAAO6pB,EAAE0xD,QAAQpgE,KAAK0O,EAAEA,EAAE5T,WAAW4T,IAAID,IAC/N,SAASo2D,GAAG3hE,EAAEC,EAAEsL,GAAiC,OAA9B,oBAAoBq2D,IAAIA,GAAG3hE,GAAUA,EAAEoP,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAmB,GAAG,QAAnBrP,EAAEC,EAAEw3D,cAAyC,QAAfz3D,EAAEA,EAAEg3D,YAAqB,CAAC,IAAIxrD,EAAExL,EAAEpI,KAAKq9D,GAAG,GAAG1pD,EAAE,GAAGA,GAAE,WAAW,IAAIvL,EAAEwL,EAAE,EAAE,CAAC,IAAID,EAAEvL,EAAEk9D,QAAQ,QAAG,IAAS3xD,EAAE,CAAC,IAAIzd,EAAEmS,EAAE,IAAIsL,IAAI,MAAMwH,GAAGwuD,GAAGzzE,EAAEilB,IAAI/S,EAAEA,EAAEpI,WAAWoI,IAAIwL,MAAK,MAAM,KAAK,EAAE81D,GAAGrhE,GAAiB,oBAAdsL,EAAEtL,EAAE8wC,WAAgC1kB,sBAHhG,SAAYrsB,EAAEC,GAAG,IAAIA,EAAEpe,MAAMme,EAAE86D,cAAc76D,EAAEnV,MAAMkV,EAAE04C,cAAcz4C,EAAEosB,uBAAuB,MAAM9gB,GAAGg2D,GAAGvhE,EAAEuL,IAGUs2D,CAAG5hE,EAAEsL,GAAG,MAAM,KAAK,EAAE+1D,GAAGrhE,GAAG,MAAM,KAAK,EAAE6hE,GAAG9hE,EAAEC,EAAEsL,IAC3Z,SAASw2D,GAAG/hE,GAAG,IAAIC,EAAED,EAAEu4C,UAAUv4C,EAAEwyC,OAAO,KAAKxyC,EAAE7d,MAAM,KAAK6d,EAAE04C,cAAc,KAAK14C,EAAEy3D,YAAY,KAAKz3D,EAAEmvC,aAAa,KAAKnvC,EAAEu4C,UAAU,KAAKv4C,EAAE+2D,YAAY,KAAK/2D,EAAEg3D,WAAW,KAAKh3D,EAAEu+D,aAAa,KAAKv+D,EAAE86D,cAAc,KAAK,OAAO76D,GAAG8hE,GAAG9hE,GAAG,SAAS+hE,GAAGhiE,GAAG,OAAO,IAAIA,EAAEqP,KAAK,IAAIrP,EAAEqP,KAAK,IAAIrP,EAAEqP,IACzR,SAAS4yD,GAAGjiE,GAAGA,EAAE,CAAC,IAAI,IAAIC,EAAED,EAAEwyC,OAAO,OAAOvyC,GAAG,CAAC,GAAG+hE,GAAG/hE,GAAG,CAAC,IAAIsL,EAAEtL,EAAE,MAAMD,EAAEC,EAAEA,EAAEuyC,OAAO,MAAMxiD,MAAM+5C,EAAE,MAAqB,OAAd9pC,EAAEsL,EAAEwlC,UAAiBxlC,EAAE8D,KAAK,KAAK,EAAE,IAAI7D,GAAE,EAAG,MAAM,KAAK,EAA+B,KAAK,EAAEvL,EAAEA,EAAE06C,cAAcnvC,GAAE,EAAG,MAAM,QAAQ,MAAMxb,MAAM+5C,EAAE,MAAmB,GAAZx+B,EAAEitC,YAAerB,GAAGl3C,EAAE,IAAIsL,EAAEitC,YAAY,IAAIx4C,EAAEC,EAAE,IAAIsL,EAAEvL,IAAI,CAAC,KAAK,OAAOuL,EAAEutC,SAAS,CAAC,GAAG,OAAOvtC,EAAEinC,QAAQwvB,GAAGz2D,EAAEinC,QAAQ,CAACjnC,EAAE,KAAK,MAAMvL,EAAEuL,EAAEA,EAAEinC,OAAiC,IAA1BjnC,EAAEutC,QAAQtG,OAAOjnC,EAAEinC,OAAWjnC,EAAEA,EAAEutC,QAAQ,IAAIvtC,EAAE8D,KAAK,IAAI9D,EAAE8D,KAAK,KAAK9D,EAAE8D,KAAK,CAAC,GAAe,EAAZ9D,EAAEitC,UAAY,SAASv4C,EACvf,GAAG,OAAOsL,EAAEppB,OAAO,IAAIopB,EAAE8D,IAAI,SAASpP,EAAOsL,EAAEppB,MAAMqwD,OAAOjnC,EAAEA,EAAEA,EAAEppB,MAAM,KAAiB,EAAZopB,EAAEitC,WAAa,CAACjtC,EAAEA,EAAEwlC,UAAU,MAAM/wC,GAAG,IAAI,IAAIlD,EAAEkD,IAAI,CAAC,IAAIyL,EAAE,IAAI3O,EAAEuS,KAAK,IAAIvS,EAAEuS,IAAI,GAAG5D,EAAE,CAAC,IAAI3d,EAAE2d,EAAE3O,EAAEi0C,UAAUj0C,EAAEi0C,UAAU5vD,SAAS,GAAGoqB,EAAE,GAAGC,EAAE,CAAK,IAAIuH,EAAEjlB,EAAEA,EAAEyd,EAAE,KAAhBE,EAAExL,GAAoBsR,SAAS9F,EAAE2F,WAAW3qB,aAAassB,EAAEjlB,GAAG2d,EAAEhlB,aAAassB,EAAEjlB,QAAQmS,EAAExZ,aAAaqH,EAAEyd,QAAQC,GAAO,KAAJuH,EAAE9S,GAAQsR,UAAU9F,EAAEsH,EAAE3B,YAAa3qB,aAAaqH,EAAEilB,IAAKtH,EAAEsH,GAAI9C,YAAYniB,GAA4B,QAAxBilB,EAAEA,EAAEmvD,2BAA8B,IAASnvD,GAAG,OAAOtH,EAAEy1D,UAAUz1D,EAAEy1D,QAAQrW,KAAK5qD,EAAEgQ,YAAYniB,QAAQ,GAAG,IACngBgP,EAAEuS,KAAK,OAAOvS,EAAE3a,MAAM,CAAC2a,EAAE3a,MAAMqwD,OAAO11C,EAAEA,EAAEA,EAAE3a,MAAM,SAAS,GAAG2a,IAAIkD,EAAE,MAAM,KAAK,OAAOlD,EAAEg8C,SAAS,CAAC,GAAG,OAAOh8C,EAAE01C,QAAQ11C,EAAE01C,SAASxyC,EAAE,OAAOlD,EAAEA,EAAE01C,OAAO11C,EAAEg8C,QAAQtG,OAAO11C,EAAE01C,OAAO11C,EAAEA,EAAEg8C,SACnL,SAASgpB,GAAG9hE,EAAEC,EAAEsL,GAAG,IAAI,IAAaE,EAAE3d,EAAX0d,EAAEvL,EAAEnD,GAAE,IAAS,CAAC,IAAIA,EAAE,CAACA,EAAE0O,EAAEgnC,OAAOxyC,EAAE,OAAO,CAAC,GAAG,OAAOlD,EAAE,MAAM9M,MAAM+5C,EAAE,MAAoB,OAAdt+B,EAAE3O,EAAEi0C,UAAiBj0C,EAAEuS,KAAK,KAAK,EAAEvhB,GAAE,EAAG,MAAMkS,EAAE,KAAK,EAAiC,KAAK,EAAEyL,EAAEA,EAAEkvC,cAAc7sD,GAAE,EAAG,MAAMkS,EAAElD,EAAEA,EAAE01C,OAAO11C,GAAE,EAAG,GAAG,IAAI0O,EAAE6D,KAAK,IAAI7D,EAAE6D,IAAI,CAACrP,EAAE,IAAI,IAAI+S,EAAE/S,EAAE2D,EAAE6H,EAAEgH,EAAEjH,EAAEy0B,EAAEr8B,IAAI,GAAGg+D,GAAG5uD,EAAEitB,EAAExtB,GAAG,OAAOwtB,EAAE79C,OAAO,IAAI69C,EAAE3wB,IAAI2wB,EAAE79C,MAAMqwD,OAAOxS,EAAEA,EAAEA,EAAE79C,UAAU,CAAC,GAAG69C,IAAIr8B,EAAE,MAAM,KAAK,OAAOq8B,EAAE8Y,SAAS,CAAC,GAAG,OAAO9Y,EAAEwS,QAAQxS,EAAEwS,SAAS7uC,EAAE,MAAM3D,EAAEggC,EAAEA,EAAEwS,OAAOxS,EAAE8Y,QAAQtG,OAAOxS,EAAEwS,OAAOxS,EAAEA,EAAE8Y,QAAQhrD,GAAGilB,EACnftH,EAAE9H,EAAE6H,EAAEulC,UAAU,IAAIh+B,EAAExB,SAASwB,EAAE3B,WAAWrqB,YAAY4c,GAAGoP,EAAEhsB,YAAY4c,IAAI8H,EAAE1kB,YAAYykB,EAAEulC,gBAAgB,GAAG,IAAIvlC,EAAE6D,KAAK,GAAG,OAAO7D,EAAErpB,MAAM,CAACspB,EAAED,EAAEulC,UAAU4J,cAAc7sD,GAAE,EAAG0d,EAAErpB,MAAMqwD,OAAOhnC,EAAEA,EAAEA,EAAErpB,MAAM,eAAe,GAAGw/E,GAAG3hE,EAAEwL,EAAED,GAAG,OAAOC,EAAErpB,MAAM,CAACqpB,EAAErpB,MAAMqwD,OAAOhnC,EAAEA,EAAEA,EAAErpB,MAAM,SAAS,GAAGqpB,IAAIvL,EAAE,MAAM,KAAK,OAAOuL,EAAEstC,SAAS,CAAC,GAAG,OAAOttC,EAAEgnC,QAAQhnC,EAAEgnC,SAASvyC,EAAE,OAAkB,KAAXuL,EAAEA,EAAEgnC,QAAanjC,MAAMvS,GAAE,GAAI0O,EAAEstC,QAAQtG,OAAOhnC,EAAEgnC,OAAOhnC,EAAEA,EAAEstC,SACpa,SAASqpB,GAAGniE,EAAEC,GAAG,OAAOA,EAAEoP,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAGoyD,GAAG,EAAE,EAAExhE,GAAG,MAAM,KAAK,EAAE,MAAM,KAAK,EAAE,IAAIsL,EAAEtL,EAAE8wC,UAAU,GAAG,MAAMxlC,EAAE,CAAC,IAAIC,EAAEvL,EAAE66D,cAAch+D,EAAE,OAAOkD,EAAEA,EAAE86D,cAActvD,EAAExL,EAAEC,EAAEvL,KAAK,IAAI+W,EAAExL,EAAEw3D,YAA+B,GAAnBx3D,EAAEw3D,YAAY,KAAQ,OAAOhsD,EAAE,CAAgF,IAA/EF,EAAEkhD,IAAIjhD,EAAE,UAAUxL,GAAG,UAAUwL,EAAE9W,MAAM,MAAM8W,EAAEjiB,MAAMisD,GAAGjqC,EAAEC,GAAGm/C,GAAG3qD,EAAElD,GAAGmD,EAAE0qD,GAAG3qD,EAAEwL,GAAO1O,EAAE,EAAEA,EAAE2O,EAAE3rB,OAAOgd,GAAG,EAAE,CAAC,IAAIhP,EAAE2d,EAAE3O,GAAGiW,EAAEtH,EAAE3O,EAAE,GAAG,UAAUhP,EAAE67D,GAAGp+C,EAAEwH,GAAG,4BAA4BjlB,EAAEipD,GAAGxrC,EAAEwH,GAAG,aAAajlB,EAAEqpD,GAAG5rC,EAAEwH,GAAGohC,GAAG5oC,EAAEzd,EAAEilB,EAAE9S,GAAG,OAAOD,GAAG,IAAK,QAAQy1C,GAAGlqC,EAAEC,GAAG,MAAM,IAAK,WAAW6qC,GAAG9qC,EACjgBC,GAAG,MAAM,IAAK,SAASvL,EAAEsL,EAAE4pC,cAAcitB,YAAY72D,EAAE4pC,cAAcitB,cAAc52D,EAAE62D,SAAmB,OAAVriE,EAAEwL,EAAE/sB,OAAcu3D,GAAGzqC,IAAIC,EAAE62D,SAASriE,GAAE,GAAIC,MAAMuL,EAAE62D,WAAW,MAAM72D,EAAEmf,aAAaqrB,GAAGzqC,IAAIC,EAAE62D,SAAS72D,EAAEmf,cAAa,GAAIqrB,GAAGzqC,IAAIC,EAAE62D,SAAS72D,EAAE62D,SAAS,GAAG,IAAG,MAAO,MAAM,KAAK,EAAE,GAAG,OAAOpiE,EAAE8wC,UAAU,MAAM/gD,MAAM+5C,EAAE,MAAM9pC,EAAE8wC,UAAUsG,UAAUp3C,EAAE66D,cAAc,MAAM,KAAK,GAAE76D,EAAEA,EAAE8wC,WAAY2J,UAAUz6C,EAAEy6C,SAAQ,EAAGU,GAAGn7C,EAAE06C,gBAAgB,MAAM,KAAK,GAAG,MAAM,KAAK,GAC9b,GADicpvC,EAAEtL,EAAE,OAAOA,EAAEy4C,cAAcltC,GAAE,GAAIA,GAAE,EAAGD,EAAEtL,EAAE9d,MAAMmgF,GAAGxN,MACjf,OAAOvpD,EAAEvL,EAAE,IAAIA,EAAEuL,IAAI,CAAC,GAAG,IAAIvL,EAAEqP,IAAI5D,EAAEzL,EAAE+wC,UAAUvlC,EAAa,oBAAVC,EAAEA,EAAExjB,OAA4BO,YAAYijB,EAAEjjB,YAAY,UAAU,OAAO,aAAaijB,EAAE82D,QAAQ,QAAS92D,EAAEzL,EAAE+wC,UAAkCj0C,OAAE,KAA1BA,EAAEkD,EAAE86D,cAAc7yE,QAAoB,OAAO6U,GAAGA,EAAEzZ,eAAe,WAAWyZ,EAAEylE,QAAQ,KAAK92D,EAAExjB,MAAMs6E,QAAQ7Y,GAAG,UAAU5sD,SAAS,GAAG,IAAIkD,EAAEqP,IAAIrP,EAAE+wC,UAAUsG,UAAU7rC,EAAE,GAAGxL,EAAE86D,kBAAmB,IAAG,KAAK96D,EAAEqP,KAAK,OAAOrP,EAAE04C,eAAe,OAAO14C,EAAE04C,cAAcC,WAAW,EAACltC,EAAEzL,EAAE7d,MAAM22D,SAAUtG,OAAOxyC,EAAEA,EAAEyL,EAAE,SAAc,GAAG,OAAOzL,EAAE7d,MAAM,CAAC6d,EAAE7d,MAAMqwD,OAClgBxyC,EAAEA,EAAEA,EAAE7d,MAAM,UAAS,GAAG6d,IAAIuL,EAAE,MAAMvL,EAAE,KAAK,OAAOA,EAAE84C,SAAS,CAAC,GAAG,OAAO94C,EAAEwyC,QAAQxyC,EAAEwyC,SAASjnC,EAAE,MAAMvL,EAAEA,EAAEA,EAAEwyC,OAAOxyC,EAAE84C,QAAQtG,OAAOxyC,EAAEwyC,OAAOxyC,EAAEA,EAAE84C,QAAQ0pB,GAAGviE,GAAG,MAAM,KAAK,GAAGuiE,GAAGviE,GAAG,MAAM,KAAK,GAAS,KAAK,GAAS,KAAK,GAAG,MAAM,QAAQ,MAAMjQ,MAAM+5C,EAAE,OAAQ,SAASy4B,GAAGxiE,GAAG,IAAIC,EAAED,EAAEy3D,YAAY,GAAG,OAAOx3D,EAAE,CAACD,EAAEy3D,YAAY,KAAK,IAAIlsD,EAAEvL,EAAE+wC,UAAU,OAAOxlC,IAAIA,EAAEvL,EAAE+wC,UAAU,IAAIowB,IAAIlhE,EAAEjgB,SAAQ,SAASigB,GAAG,IAAIuL,EAAEi3D,GAAGxrE,KAAK,KAAK+I,EAAEC,GAAGsL,EAAE03B,IAAIhjC,KAAKsL,EAAEu7C,IAAI7mD,GAAGA,EAAEyiE,KAAKl3D,EAAEA,QAAO,IAAIm3D,GAAG,oBAAoBhc,QAAQA,QAAQ3d,IACnf,SAAS45B,GAAG5iE,EAAEC,EAAEsL,IAAGA,EAAE6rD,GAAG7rD,EAAE,OAAQ8D,IAAI,EAAE9D,EAAE5W,QAAQ,CAAC8uC,QAAQ,MAAM,IAAIj4B,EAAEvL,EAAExhB,MAAsD,OAAhD8sB,EAAEjV,SAAS,WAAWusE,KAAKA,IAAG,EAAGC,GAAGt3D,GAAG61D,GAAGrhE,EAAEC,IAAWsL,EACtI,SAASw3D,GAAG/iE,EAAEC,EAAEsL,IAAGA,EAAE6rD,GAAG7rD,EAAE,OAAQ8D,IAAI,EAAE,IAAI7D,EAAExL,EAAEtL,KAAKy/B,yBAAyB,GAAG,oBAAoB3oB,EAAE,CAAC,IAAI1O,EAAEmD,EAAExhB,MAAM8sB,EAAE5W,QAAQ,WAAmB,OAAR0sE,GAAGrhE,EAAEC,GAAUuL,EAAE1O,IAAI,IAAI2O,EAAEzL,EAAE+wC,UAA8O,OAApO,OAAOtlC,GAAG,oBAAoBA,EAAEu3D,oBAAoBz3D,EAAEjV,SAAS,WAAW,oBAAoBkV,IAAI,OAAOy3D,GAAGA,GAAG,IAAIp5B,IAAI,CAACriD,OAAOy7E,GAAGnc,IAAIt/D,MAAM65E,GAAGrhE,EAAEC,IAAI,IAAIsL,EAAEtL,EAAE+gE,MAAMx5E,KAAKw7E,kBAAkB/iE,EAAExhB,MAAM,CAACykF,eAAe,OAAO33D,EAAEA,EAAE,OAAcA,EAC7Z,IA6C8Y43D,GA7C1YC,GAAGj7D,KAAKk7D,KAAKC,GAAGryB,EAAG9C,uBAAuBo1B,GAAGtyB,EAAG3C,kBAAkBlC,GAAE,EAAEo3B,GAAG,EAAEC,GAAG,GAAGC,GAAG,GAAGC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAE33B,GAAED,GAAED,GAAE,KAAKM,GAAE,KAAKE,GAAE,EAAEC,GAAE+2B,GAAGM,GAAG,KAAKC,GAAG,WAAWC,GAAG,WAAWC,GAAG,KAAKC,GAAG,EAAEC,IAAG,EAAGhC,GAAG,EAAEiC,GAAG,IAAI/1B,GAAE,KAAKq0B,IAAG,EAAGC,GAAG,KAAKG,GAAG,KAAKuB,IAAG,EAAGC,GAAG,KAAKC,GAAG,GAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAE,SAASvM,KAAK,OAAOlsB,IAAGo3B,GAAGC,OAAOt3B,GAAE,YAAY0oB,KAAK,GAAG,GAAG,IAAIgQ,GAAGA,GAAGA,GAAG,YAAYhQ,KAAK,GAAG,GAC9X,SAAS0D,GAAGx4D,EAAEC,EAAEsL,GAAY,GAAG,KAAO,GAAnBtL,EAAEA,EAAEy5D,OAAkB,OAAO,WAAW,IAAIluD,EAAEupD,KAAK,GAAG,KAAO,EAAF90D,GAAK,OAAO,KAAKuL,EAAE,WAAW,WAAW,IAAI6gC,GAAEo3B,MAAMr3B,GAAE,OAAOO,GAAE,GAAG,OAAOphC,EAAEvL,EAAEu1D,GAAGv1D,EAAc,EAAZuL,EAAEw5D,WAAa,IAAI,UAAU,OAAOv5D,GAAG,KAAK,GAAGxL,EAAE,WAAW,MAAM,KAAK,GAAGA,EAAEu1D,GAAGv1D,EAAE,IAAI,KAAK,MAAM,KAAK,GAAG,KAAK,GAAGA,EAAEu1D,GAAGv1D,EAAE,IAAI,KAAK,MAAM,KAAK,GAAGA,EAAE,EAAE,MAAM,QAAQ,MAAMhQ,MAAM+5C,EAAE,MAA4B,OAArB,OAAOoC,IAAGnsC,IAAI2sC,MAAK3sC,EAASA,EAClX,SAASy4D,GAAGz4D,EAAEC,GAAG,GAAG,GAAG2kE,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAK70E,MAAM+5C,EAAE,MAAgB,GAAG,QAAb/pC,EAAEglE,GAAGhlE,EAAEC,IAAe,CAAC,IAAIsL,EAAEwpD,KAAK,aAAa90D,GAAGosC,GAAEm3B,MAAMp3B,KAAIC,IAAGo3B,GAAGC,OAAOt3B,GAAE64B,GAAGjlE,IAAIyuC,GAAEzuC,GAAGqsC,KAAID,IAAGipB,MAAM5mB,GAAEzuC,IAAM,EAAFqsC,MAAOD,IAAG,KAAK7gC,GAAG,KAAKA,IAAI,OAAOo5D,GAAGA,GAAG,IAAI37B,IAAI,CAAC,CAAChpC,EAAEC,WAAmB,KAAbsL,EAAEo5D,GAAGv5E,IAAI4U,KAAgBuL,EAAEtL,IAAI0kE,GAAGr5C,IAAItrB,EAAEC,KACzQ,SAAS+kE,GAAGhlE,EAAEC,GAAGD,EAAEo2D,eAAen2D,IAAID,EAAEo2D,eAAen2D,GAAG,IAAIsL,EAAEvL,EAAEu4C,UAAU,OAAOhtC,GAAGA,EAAE6qD,eAAen2D,IAAIsL,EAAE6qD,eAAen2D,GAAG,IAAIuL,EAAExL,EAAEwyC,OAAO11C,EAAE,KAAK,GAAG,OAAO0O,GAAG,IAAIxL,EAAEqP,IAAIvS,EAAEkD,EAAE+wC,eAAe,KAAK,OAAOvlC,GAAG,CAA+H,GAA9HD,EAAEC,EAAE+sC,UAAU/sC,EAAEyqD,oBAAoBh2D,IAAIuL,EAAEyqD,oBAAoBh2D,GAAG,OAAOsL,GAAGA,EAAE0qD,oBAAoBh2D,IAAIsL,EAAE0qD,oBAAoBh2D,GAAM,OAAOuL,EAAEgnC,QAAQ,IAAIhnC,EAAE6D,IAAI,CAACvS,EAAE0O,EAAEulC,UAAU,MAAMvlC,EAAEA,EAAEgnC,OAA0D,OAAnD,OAAO11C,IAAIqvC,KAAIrvC,IAAIi7D,GAAG93D,GAAG2sC,KAAIm3B,IAAImB,GAAGpoE,EAAE6vC,KAAIw4B,GAAGroE,EAAEmD,IAAWnD,EACrc,SAASsoE,GAAGplE,GAAG,IAAIC,EAAED,EAAEqlE,gBAAgB,OAAG,IAAIplE,EAASA,EAA2BqlE,GAAGtlE,EAA5BC,EAAED,EAAEulE,mBAAsCtlE,EAAED,EAAEwlE,iBAAexlE,EAAEA,EAAEylE,uBAAiCxlE,EAAED,EAA5DC,EACjG,SAASwuC,GAAEzuC,GAAG,GAAG,IAAIA,EAAEqlE,gBAAgBrlE,EAAE0lE,uBAAuB,WAAW1lE,EAAE2lE,iBAAiB,GAAG3lE,EAAE4lE,aAAazQ,GAAG8P,GAAGhuE,KAAK,KAAK+I,QAAQ,CAAC,IAAIC,EAAEmlE,GAAGplE,GAAGuL,EAAEvL,EAAE4lE,aAAa,GAAG,IAAI3lE,EAAE,OAAOsL,IAAIvL,EAAE4lE,aAAa,KAAK5lE,EAAE0lE,uBAAuB,EAAE1lE,EAAE2lE,iBAAiB,QAAQ,CAAC,IAAIn6D,EAAE+sD,KAAqH,GAAhH,aAAat4D,EAAEuL,EAAE,GAAG,IAAIvL,GAAG,IAAIA,EAAEuL,EAAE,GAA0CA,EAAE,IAAxCA,EAAE,IAAI,WAAWvL,GAAG,IAAI,WAAWuL,IAAU,GAAG,KAAKA,EAAE,GAAG,MAAMA,EAAE,GAAG,GAAO,OAAOD,EAAE,CAAC,IAAIzO,EAAEkD,EAAE2lE,iBAAiB,GAAG3lE,EAAE0lE,yBAAyBzlE,GAAGnD,GAAG0O,EAAE,OAAOD,IAAIipD,IAAIlB,GAAG/nD,GAAGvL,EAAE0lE,uBACnezlE,EAAED,EAAE2lE,iBAAiBn6D,EAAEvL,EAAE,aAAaA,EAAEk1D,GAAG8P,GAAGhuE,KAAK,KAAK+I,IAAIk1D,GAAG1pD,EAAEq6D,GAAG5uE,KAAK,KAAK+I,GAAG,CAAC8lE,QAAQ,IAAI,WAAW7lE,GAAG60D,OAAO90D,EAAE4lE,aAAa3lE,IAClI,SAAS4lE,GAAG7lE,EAAEC,GAAQ,GAAL6kE,GAAG,EAAK7kE,EAAE,OAAc8lE,GAAG/lE,EAAVC,EAAEs4D,MAAa9pB,GAAEzuC,GAAG,KAAK,IAAIuL,EAAE65D,GAAGplE,GAAG,GAAG,IAAIuL,EAAE,CAAkB,GAAjBtL,EAAED,EAAE4lE,cAAiBv5B,IAAGo3B,GAAGC,OAAOt3B,GAAE,MAAMp8C,MAAM+5C,EAAE,MAAiC,GAA3Bi8B,KAAKhmE,IAAImsC,IAAG5gC,IAAIohC,IAAGs5B,GAAGjmE,EAAEuL,GAAM,OAAOkhC,GAAE,CAAC,IAAIjhC,EAAE6gC,GAAEA,IAAGo3B,GAAe,IAAZ,IAAI3mE,EAAEopE,OAAS,IAAIC,KAAK,MAAM,MAAMpzD,GAAGqzD,GAAGpmE,EAAE+S,GAAkC,GAAtB8iD,KAAKxpB,GAAE7gC,EAAE83D,GAAG3rE,QAAQmF,EAAK8vC,KAAIg3B,GAAG,MAAM3jE,EAAEgkE,GAAGgC,GAAGjmE,EAAEuL,GAAG25D,GAAGllE,EAAEuL,GAAGkjC,GAAEzuC,GAAGC,EAAE,GAAG,OAAOwsC,GAAE,OAAO3vC,EAAEkD,EAAEqmE,aAAarmE,EAAErI,QAAQ4gD,UAAUv4C,EAAEsmE,uBAAuB/6D,EAAEC,EAAEohC,GAAET,GAAE,KAAK3gC,GAAG,KAAKm4D,GAAG,KAAKC,GAAG,MAAM5zE,MAAM+5C,EAAE,MAAM,KAAK85B,GAAGkC,GAAG/lE,EAAE,EAAEuL,EAAE,EAAEA,GAAG,MAAM,KAAKu4D,GACxb,GAD2boB,GAAGllE,EAAEuL,GACveA,KAD0eC,EAAExL,EAAEumE,qBACtevmE,EAAEylE,sBAAsBe,GAAG1pE,IAAO,aAAaonE,IAAkB,IAAbpnE,EAAEwlE,GAAGiC,GAAGzP,MAAW,CAAC,GAAGwP,GAAG,CAAC,IAAI74D,EAAEzL,EAAEwlE,eAAe,GAAG,IAAI/5D,GAAGA,GAAGF,EAAE,CAACvL,EAAEwlE,eAAej6D,EAAE06D,GAAGjmE,EAAEuL,GAAG,OAAe,GAAG,KAAXE,EAAE25D,GAAGplE,KAAayL,IAAIF,EAAE,MAAM,GAAG,IAAIC,GAAGA,IAAID,EAAE,CAACvL,EAAEwlE,eAAeh6D,EAAE,MAAMxL,EAAEymE,cAAcxa,GAAGya,GAAGzvE,KAAK,KAAK+I,GAAGlD,GAAG,MAAM4pE,GAAG1mE,GAAG,MAAM,KAAK+jE,GAAwE,GAArEmB,GAAGllE,EAAEuL,GAAyBA,KAAtBC,EAAExL,EAAEumE,qBAA0BvmE,EAAEylE,sBAAsBe,GAAG1pE,IAAOwnE,KAAwB,KAAnBxnE,EAAEkD,EAAEwlE,iBAAsB1oE,GAAGyO,GAAG,CAACvL,EAAEwlE,eAAej6D,EAAE06D,GAAGjmE,EAAEuL,GAAG,MAAc,GAAG,KAAXzO,EAAEsoE,GAAGplE,KAAalD,IAAIyO,EAAE,MAAM,GAAG,IAAIC,GAAGA,IAAID,EAAE,CAACvL,EAAEwlE,eACxeh6D,EAAE,MAAgP,GAA1O,aAAa24D,GAAG34D,EAAE,IAAI,WAAW24D,IAAIrP,KAAK,aAAaoP,GAAG14D,EAAE,GAAGA,EAAE,IAAI,WAAW04D,IAAI,IAAuC,GAAN14D,GAA7B1O,EAAEg4D,MAA+BtpD,KAAQA,EAAE,IAApCD,EAAE,IAAI,WAAWA,GAAGzO,IAAmB0O,GAAG,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAK43D,GAAG53D,EAAE,OAAOA,KAAQA,EAAED,IAAO,GAAGC,EAAE,CAACxL,EAAEymE,cAAcxa,GAAGya,GAAGzvE,KAAK,KAAK+I,GAAGwL,GAAG,MAAMk7D,GAAG1mE,GAAG,MAAM,KAAKgkE,GAAG,GAAG,aAAaE,IAAI,OAAOE,GAAG,CAAC34D,EAAEy4D,GAAG,IAAIp2E,EAAEs2E,GAAuH,GAA5F,IAAxB54D,EAAsB,EAApB1d,EAAE64E,mBAAyBn7D,EAAE,GAAG1O,EAAgB,EAAdhP,EAAE84E,YAA8Dp7D,GAAhDC,EAAEqpD,MAAM,IAAI,WAAWrpD,IAAgB,EAAZ3d,EAAEi3E,WAAa,QAAWjoE,EAAE,EAAEA,EAAE0O,EAAEC,GAAM,GAAGD,EAAE,CAAC05D,GAAGllE,EAAEuL,GAAGvL,EAAEymE,cAC/exa,GAAGya,GAAGzvE,KAAK,KAAK+I,GAAGwL,GAAG,OAAOk7D,GAAG1mE,GAAG,MAAM,QAAQ,MAAMhQ,MAAM+5C,EAAE,MAAY,GAAL0E,GAAEzuC,GAAMA,EAAE4lE,eAAe3lE,EAAE,OAAO4lE,GAAG5uE,KAAK,KAAK+I,IAAI,OAAO,KAChI,SAASilE,GAAGjlE,GAAG,IAAIC,EAAED,EAAEqlE,gBAAqC,GAArBplE,EAAE,IAAIA,EAAEA,EAAE,WAAcD,EAAEsmE,yBAAyBrmE,EAAEymE,GAAG1mE,OAAO,CAAC,IAAIqsC,IAAGo3B,GAAGC,OAAOt3B,GAAE,MAAMp8C,MAAM+5C,EAAE,MAAiC,GAA3Bi8B,KAAKhmE,IAAImsC,IAAGlsC,IAAI0sC,IAAGs5B,GAAGjmE,EAAEC,GAAM,OAAOwsC,GAAE,CAAC,IAAIlhC,EAAE8gC,GAAEA,IAAGo3B,GAAe,IAAZ,IAAIj4D,EAAE06D,OAAS,IAAIW,KAAK,MAAM,MAAM/pE,GAAGspE,GAAGpmE,EAAElD,GAAkC,GAAtB+4D,KAAKxpB,GAAE9gC,EAAE+3D,GAAG3rE,QAAQ6T,EAAKohC,KAAIg3B,GAAG,MAAMr4D,EAAE04D,GAAGgC,GAAGjmE,EAAEC,GAAGilE,GAAGllE,EAAEC,GAAGwuC,GAAEzuC,GAAGuL,EAAE,GAAG,OAAOkhC,GAAE,MAAMz8C,MAAM+5C,EAAE,MAAM/pC,EAAEqmE,aAAarmE,EAAErI,QAAQ4gD,UAAUv4C,EAAEsmE,uBAAuBrmE,EAAEksC,GAAE,KAAKu6B,GAAG1mE,GAAGyuC,GAAEzuC,IAAI,OAAO,KAC5V,SAAS8mE,GAAG9mE,EAAEC,GAAG,IAAIsL,EAAE8gC,GAAEA,IAAG,EAAE,IAAI,OAAOrsC,EAAEC,GAAb,SAAwBosC,GAAE9gC,KAAM6gC,IAAGipB,MAAM,SAAS0R,GAAG/mE,EAAEC,GAAG,IAAIsL,EAAE8gC,GAAEA,KAAI,EAAEA,IAAGm3B,GAAG,IAAI,OAAOxjE,EAAEC,GAAb,SAAwBosC,GAAE9gC,KAAM6gC,IAAGipB,MACzO,SAAS4Q,GAAGjmE,EAAEC,GAAGD,EAAEqmE,aAAa,KAAKrmE,EAAEsmE,uBAAuB,EAAE,IAAI/6D,EAAEvL,EAAEymE,cAAiD,IAAlC,IAAIl7D,IAAIvL,EAAEymE,eAAe,EAAEta,GAAG5gD,IAAO,OAAOkhC,GAAE,IAAIlhC,EAAEkhC,GAAE+F,OAAO,OAAOjnC,GAAG,CAAC,IAAIC,EAAED,EAAE,OAAOC,EAAE6D,KAAK,KAAK,EAAE,IAAIvS,EAAE0O,EAAE9W,KAAK3I,kBAAkB,OAAO+Q,QAAG,IAASA,GAAG+1D,KAAM,MAAM,KAAK,EAAE6H,KAAM5H,KAAM,MAAM,KAAK,EAAE8H,GAAGpvD,GAAG,MAAM,KAAK,EAAEkvD,KAAM,MAAM,KAAK,GAAgB,KAAK,GAAG3vB,GAAEW,IAAK,MAAM,KAAK,GAAGqqB,GAAGvqD,GAAGD,EAAEA,EAAEinC,OAAOrG,GAAEnsC,EAAEysC,GAAE+sB,GAAGx5D,EAAErI,QAAQ,MAAQg1C,GAAE1sC,EAAE2sC,GAAE+2B,GAAGM,GAAG,KAAKE,GAAGD,GAAG,WAAWE,GAAG,KAAKC,GAAG,EAAEC,IAAG,EAC5c,SAAS8B,GAAGpmE,EAAEC,GAAG,OAAE,CAAC,IAAc,GAAV41D,KAAKsG,KAAQ,OAAO1vB,IAAG,OAAOA,GAAE+F,OAAO,OAAO5F,GAAEg3B,GAAGK,GAAGhkE,EAAE,KAAKD,EAAE,CAAC,IAAIuL,EAAEvL,EAAEwL,EAAEihC,GAAE+F,OAAO11C,EAAE2vC,GAAEhhC,EAAExL,EAAwD,GAAtDA,EAAE0sC,GAAE7vC,EAAE07C,WAAW,KAAK17C,EAAEi6D,YAAYj6D,EAAEk6D,WAAW,KAAQ,OAAOvrD,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAEi3D,KAAK,CAAC,IAAI50E,EAAE2d,EAAEsH,EAAE,KAAe,EAAV24B,GAAE/zC,SAAWgM,EAAE6H,EAAE,EAAE,CAAC,IAAIgH,EAAE,GAAGA,EAAE,KAAK7O,EAAE0L,IAAI,CAAC,IAAI2wB,EAAEr8B,EAAE+0C,cAAc,GAAG,OAAO1Y,EAAExtB,EAAE,OAAOwtB,EAAE2Y,eAAqB,CAAC,IAAItO,EAAE1mC,EAAEm3D,cAActoD,OAAE,IAAS63B,EAAE61B,YAAY,IAAK71B,EAAE81B,6BAA8BptD,IAAS,GAAGP,EAAE,CAAC,IAAI1uB,EAAE6f,EAAE8zD,YAAY,GAAG,OAAO3zE,EAAE,CAAC,IAAIonD,EAAE,IAAIrB,IAClfqB,EAAE4b,IAAIh5D,GAAG6V,EAAE8zD,YAAYvsB,OAAOpnD,EAAEgjE,IAAIh5D,GAAG,GAAG,KAAY,EAAP6V,EAAE+1D,MAAQ,CAAoC,GAAnC/1D,EAAE60C,WAAW,GAAG17C,EAAE07C,YAAY,KAAQ,IAAI17C,EAAEuS,IAAI,GAAG,OAAOvS,EAAEy7C,UAAUz7C,EAAEuS,IAAI,OAAO,CAAC,IAAI46B,EAAEmtB,GAAG,WAAW,MAAMntB,EAAE56B,IAAI,EAAEmoD,GAAG16D,EAAEmtC,GAAGntC,EAAEs5D,eAAe,WAAW,MAAMp2D,EAAEyL,OAAE,EAAO3O,EAAEmD,EAAE,IAAI+5D,EAAGzuD,EAAEy7D,UAAoH,GAA1G,OAAOhN,GAAIA,EAAGzuD,EAAEy7D,UAAU,IAAIrE,GAAGl3D,EAAE,IAAIo+B,IAAImwB,EAAG1uC,IAAIx9B,EAAE2d,SAAiB,KAAZA,EAAEuuD,EAAG5uE,IAAI0C,MAAgB2d,EAAE,IAAIo+B,IAAImwB,EAAG1uC,IAAIx9B,EAAE2d,KAASA,EAAEw3B,IAAInmC,GAAG,CAAC2O,EAAEq7C,IAAIhqD,GAAG,IAAIuV,EAAE40D,GAAGhwE,KAAK,KAAKsU,EAAEzd,EAAEgP,GAAGhP,EAAE40E,KAAKrwD,EAAEA,GAAG1O,EAAE60C,WAAW,KAAK70C,EAAEyyD,eAAen2D,EAAE,MAAMD,EAAE2D,EAAEA,EAAE6uC,aAAa,OAAO7uC,GAAG8H,EAAEzb,OAAOkiD,EAAGp1C,EAAEpI,OACzf,qBAAqB,wLAAwLy9C,EAAGr1C,IAAI8vC,KAAIo3B,KAAKp3B,GAAEi3B,IAAIp4D,EAAEs1D,GAAGt1D,EAAE3O,GAAG6G,EAAE6H,EAAE,EAAE,CAAC,OAAO7H,EAAE0L,KAAK,KAAK,EAAEvhB,EAAE2d,EAAE9H,EAAE60C,WAAW,KAAK70C,EAAEyyD,eAAen2D,EAAkBy3D,GAAG/zD,EAAbi/D,GAAGj/D,EAAE7V,EAAEmS,IAAW,MAAMD,EAAE,KAAK,EAAElS,EAAE2d,EAAE,IAAI0+B,EAAExmC,EAAEjP,KAAKnT,EAAEoiB,EAAEotC,UAAU,GAAG,KAAiB,GAAZptC,EAAE60C,aAAgB,oBAAoBrO,EAAEhW,0BAA0B,OAAO5yC,GAAG,oBAAoBA,EAAEyhF,oBACje,OAAOC,KAAKA,GAAGhgC,IAAI1hD,KAAK,CAACoiB,EAAE60C,WAAW,KAAK70C,EAAEyyD,eAAen2D,EAAkBy3D,GAAG/zD,EAAbo/D,GAAGp/D,EAAE7V,EAAEmS,IAAW,MAAMD,GAAG2D,EAAEA,EAAE6uC,aAAa,OAAO7uC,GAAG8oC,GAAEy6B,GAAGz6B,IAAG,MAAMl6B,GAAGtS,EAAEsS,EAAE,SAAS,OAAe,SAAS2zD,KAAK,IAAIlmE,EAAEsjE,GAAG3rE,QAAsB,OAAd2rE,GAAG3rE,QAAQukE,GAAU,OAAOl8D,EAAEk8D,GAAGl8D,EAAE,SAAS83D,GAAG93D,EAAEC,GAAGD,EAAEkkE,IAAI,EAAElkE,IAAIkkE,GAAGlkE,GAAG,OAAOC,GAAGD,EAAEmkE,IAAI,EAAEnkE,IAAImkE,GAAGnkE,EAAEokE,GAAGnkE,GAAG,SAAS83D,GAAG/3D,GAAGA,EAAEqkE,KAAKA,GAAGrkE,GAAG,SAAS6mE,KAAK,KAAK,OAAOp6B,IAAGA,GAAE06B,GAAG16B,IAAG,SAAS05B,KAAK,KAAK,OAAO15B,KAAI+mB,MAAM/mB,GAAE06B,GAAG16B,IACxZ,SAAS06B,GAAGnnE,GAAG,IAAIC,EAAEkjE,GAAGnjE,EAAEu4C,UAAUv4C,EAAE2sC,IAAsE,OAAnE3sC,EAAE86D,cAAc96D,EAAEu+D,aAAa,OAAOt+D,IAAIA,EAAEinE,GAAGlnE,IAAIujE,GAAG5rE,QAAQ,KAAYsI,EACnH,SAASinE,GAAGlnE,GAAGysC,GAAEzsC,EAAE,EAAE,CAAC,IAAIC,EAAEwsC,GAAE8L,UAAqB,GAAXv4C,EAAEysC,GAAE+F,OAAU,KAAiB,KAAZ/F,GAAE+L,WAAgB,CAACx4C,EAAE,CAAC,IAAIuL,EAAEtL,EAAUuL,EAAEmhC,GAAM7vC,GAAhBmD,EAAEwsC,IAAkB8xB,aAAa,OAAOt+D,EAAEoP,KAAK,KAAK,EAAQ,KAAK,GAAG,MAAM,KAAK,GAAG,KAAK,EAAE,MAAM,KAAK,EAAEk8B,GAAEtrC,EAAEvL,OAAOm+D,KAAM,MAAM,KAAK,EAAE6H,KAAM5H,MAAMh2D,EAAEmD,EAAE8wC,WAAY2uB,iBAAiB5iE,EAAE1Z,QAAQ0Z,EAAE4iE,eAAe5iE,EAAE4iE,eAAe,OAAO,OAAOn0D,GAAG,OAAOA,EAAEppB,QAAQu8E,GAAGz+D,IAAI2gE,GAAG3gE,GAAG2/D,GAAG3/D,GAAG,MAAM,KAAK,EAAE26D,GAAG36D,GAAGuL,EAAE+uD,GAAGD,GAAG3iE,SAAS,IAAI8T,EAAExL,EAAEvL,KAAK,GAAG,OAAO6W,GAAG,MAAMtL,EAAE8wC,UAAU8uB,GAAGt0D,EAAEtL,EAAEwL,EAAE3O,EAAE0O,GAAGD,EAAEvO,MAAMiD,EAAEjD,MAAMiD,EAAEu4C,WAAW,UAAU,GAAG17C,EAAE,CAAC,IAAIhP,EAC1fysE,GAAGH,GAAGziE,SAAS,GAAG+mE,GAAGz+D,GAAG,CAAK,IAAI8S,GAARjW,EAAEmD,GAAU8wC,UAAUxlC,EAAEzO,EAAEpI,KAAK,IAAIiP,EAAE7G,EAAEg+D,cAActoD,EAAEhH,EAA+B,OAA7BuH,EAAEy5C,IAAI1vD,EAAEiW,EAAE05C,IAAI9oD,EAAE8H,OAAE,EAAOD,EAAEuH,EAASxH,GAAG,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQu/B,GAAE,OAAOt/B,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIuH,EAAE,EAAEA,EAAEslC,GAAGv4D,OAAOizB,IAAI+3B,GAAEuN,GAAGtlC,GAAGvH,GAAG,MAAM,IAAK,SAASs/B,GAAE,QAAQt/B,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOs/B,GAAE,QAAQt/B,GAAGs/B,GAAE,OAAOt/B,GAAG,MAAM,IAAK,OAAOs/B,GAAE,QAAQt/B,GAAGs/B,GAAE,SAASt/B,GAAG,MAAM,IAAK,UAAUs/B,GAAE,SAASt/B,GAAG,MAAM,IAAK,QAAQ6pC,GAAG7pC,EAAE7H,GAAGmnC,GAAE,UAAUt/B,GAAGo/C,GAAGp4C,EAAE,YAAY,MAAM,IAAK,SAAShH,EAAE2pC,cACtf,CAACitB,cAAcz+D,EAAE0+D,UAAUv3B,GAAE,UAAUt/B,GAAGo/C,GAAGp4C,EAAE,YAAY,MAAM,IAAK,WAAW4jC,GAAG5qC,EAAE7H,GAAGmnC,GAAE,UAAUt/B,GAAGo/C,GAAGp4C,EAAE,YAA2B,IAAI/G,KAAnBi/C,GAAGn/C,EAAE5H,GAAGoP,EAAE,KAAcpP,EAAEA,EAAEtgB,eAAeooB,KAAK3d,EAAE6V,EAAE8H,GAAG,aAAaA,EAAE,kBAAkB3d,EAAE0d,EAAE7kB,cAAcmH,IAAIilB,EAAE,CAAC,WAAWjlB,IAAI,kBAAkBA,GAAG0d,EAAE7kB,cAAc,GAAGmH,IAAIilB,EAAE,CAAC,WAAW,GAAGjlB,IAAImhD,EAAG5rD,eAAeooB,IAAI,MAAM3d,GAAG88D,GAAGp4C,EAAE/G,IAAI,OAAOF,GAAG,IAAK,QAAQmpC,GAAGlpC,GAAGmqC,GAAGnqC,EAAE7H,GAAE,GAAI,MAAM,IAAK,WAAW+wC,GAAGlpC,GAAG8qC,GAAG9qC,GAAK,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoB7H,EAAEs9D,UACnfz1D,EAAE01D,QAAQrW,IAAIp/C,EAAEsH,EAAEjW,EAAE26D,YAAYhsD,GAAE3O,EAAE,OAAO2O,IAAWm1D,GAAG3gE,OAAO,CAACsL,EAAEtL,EAAEuS,EAAE/G,EAAE9H,EAAE7G,EAAEiW,EAAE,IAAIvH,EAAE+F,SAAS/F,EAAEA,EAAEoqC,cAAc9nD,IAAI0oD,GAAGC,OAAO3oD,EAAE8oD,GAAGpkC,IAAI1kB,IAAI0oD,GAAGC,KAAK,WAAWjkC,IAAG7O,EAAEoP,EAAEvwB,cAAc,QAASstB,UAAU,qBAAuBiD,EAAEpP,EAAE5c,YAAY4c,EAAEjd,aAAa,kBAAkBid,EAAEjgB,GAAGqvB,EAAEA,EAAEvwB,cAAcgwB,EAAE,CAAC9uB,GAAGigB,EAAEjgB,MAAMqvB,EAAEA,EAAEvwB,cAAcgwB,GAAG,WAAWA,IAAIA,EAAEO,EAAEpP,EAAE0+D,SAAS7vD,EAAE6vD,UAAS,EAAG1+D,EAAEhU,OAAO6iB,EAAE7iB,KAAKgU,EAAEhU,QAAQojB,EAAEA,EAAEq0D,gBAAgBt5E,EAAE0kB,IAAG7O,EAAEoP,GAAIy5C,IAAIjhD,EAAE5H,EAAE8oD,IAAI3vD,EAAE6iE,GAAGh8D,EAAE1D,GAAE,GAAG,GAAIA,EAAE8wC,UAAUptC,EAAU,IAAIq8B,EAAEx0B,EAAE6+B,EAAEsgB,GAAlBn4C,EAAE/G,EAAEF,EAAEzO,GAAoB,OAAO0V,GAAG,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQs4B,GAAE,OACviBnnC,GAAG6H,EAAED,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIC,EAAE,EAAEA,EAAE6sC,GAAGv4D,OAAO0rB,IAAIs/B,GAAEuN,GAAG7sC,GAAG7H,GAAG6H,EAAED,EAAE,MAAM,IAAK,SAASu/B,GAAE,QAAQnnC,GAAG6H,EAAED,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOu/B,GAAE,QAAQnnC,GAAGmnC,GAAE,OAAOnnC,GAAG6H,EAAED,EAAE,MAAM,IAAK,OAAOu/B,GAAE,QAAQnnC,GAAGmnC,GAAE,SAASnnC,GAAG6H,EAAED,EAAE,MAAM,IAAK,UAAUu/B,GAAE,SAASnnC,GAAG6H,EAAED,EAAE,MAAM,IAAK,QAAQ8pC,GAAG1xC,EAAE4H,GAAGC,EAAEypC,GAAGtxC,EAAE4H,GAAGu/B,GAAE,UAAUnnC,GAAGinD,GAAG5qB,EAAE,YAAY,MAAM,IAAK,SAASx0B,EAAEsqC,GAAGnyC,EAAE4H,GAAG,MAAM,IAAK,SAAS5H,EAAEwxC,cAAc,CAACitB,cAAc72D,EAAE82D,UAAU72D,EAAE5H,EAAE,GAAG2H,EAAE,CAAC9sB,WAAM,IAASqsD,GAAE,UAAUnnC,GAAGinD,GAAG5qB,EAAE,YAAY,MAAM,IAAK,WAAWoW,GAAGzyC,EACtgB4H,GAAGC,EAAE2qC,GAAGxyC,EAAE4H,GAAGu/B,GAAE,UAAUnnC,GAAGinD,GAAG5qB,EAAE,YAAY,MAAM,QAAQx0B,EAAED,EAAEm/C,GAAGl4C,EAAEhH,GAAGuH,OAAE,EAAOjlB,EAAE0kB,EAAE,IAAI1uB,EAAE6f,EAAEunC,EAAE1/B,EAAE,IAAIuH,KAAKm4B,EAAE,GAAGA,EAAE7nD,eAAe0vB,GAAG,CAAC,IAAIk3B,EAAEiB,EAAEn4B,GAAG,UAAUA,EAAE42C,GAAG7lE,EAAEmmD,GAAG,4BAA4Bl3B,EAAuB,OAApBk3B,EAAEA,EAAEA,EAAExY,YAAO,IAAgBslB,GAAGjzD,EAAEmmD,GAAI,aAAal3B,EAAE,kBAAkBk3B,GAAG,aAAan8C,GAAG,KAAKm8C,IAAIkN,GAAGrzD,EAAEmmD,GAAG,kBAAkBA,GAAGkN,GAAGrzD,EAAE,GAAGmmD,GAAG,mCAAmCl3B,GAAG,6BAA6BA,GAAG,cAAcA,IAAIk8B,EAAG5rD,eAAe0vB,GAAG,MAAMk3B,GAAG2gB,GAAG5qB,EAAEjtB,GAAG,MAAMk3B,GAAGkK,GAAGrwD,EAAEivB,EAAEk3B,EAAEI,IAAI,OAAO73B,GAAG,IAAK,QAAQkiC,GAAG/wC,GAC1fgyC,GAAGhyC,EAAE4H,GAAE,GAAI,MAAM,IAAK,WAAWmpC,GAAG/wC,GAAG2yC,GAAG3yC,GAAK,MAAM,IAAK,SAAS,MAAM4H,EAAE9sB,OAAOklB,EAAEhf,aAAa,QAAQ,GAAGuvD,GAAG3oC,EAAE9sB,QAAQ,MAAM,IAAK,UAAS+sB,EAAE7H,GAAI0+D,WAAW92D,EAAE82D,SAAmB,OAAV1+D,EAAE4H,EAAE9sB,OAAcu3D,GAAGxqC,IAAID,EAAE82D,SAAS1+D,GAAE,GAAI,MAAM4H,EAAEof,cAAcqrB,GAAGxqC,IAAID,EAAE82D,SAAS92D,EAAEof,cAAa,GAAI,MAAM,QAAQ,oBAAoBnf,EAAEy1D,UAAUt9D,EAAEu9D,QAAQrW,KAAK/tD,EAAEgvD,GAAGrgD,EAAE3O,KAAK8jE,GAAG3gE,GAAG,OAAOA,EAAEjD,MAAMiD,EAAEu4C,WAAW,UAAU,GAAG,OAAOv4C,EAAE8wC,UAAU,MAAM/gD,MAAM+5C,EAAE,MAAM,MAAM,KAAK,EAAE,GAAGx+B,GAAG,MAAMtL,EAAE8wC,UAAU+uB,GAAGv0D,EAAEtL,EAAEsL,EAAEuvD,cAAch+D,OAAO,CAAC,GAAG,kBAC7eA,GAAG,OAAOmD,EAAE8wC,UAAU,MAAM/gD,MAAM+5C,EAAE,MAAMv+B,EAAE+uD,GAAGD,GAAG3iE,SAAS4iE,GAAGH,GAAGziE,SAAS+mE,GAAGz+D,IAAQwL,GAAJ3O,EAAEmD,GAAM8wC,UAAUvlC,EAAE1O,EAAEg+D,cAAcrvD,EAAE+gD,IAAI1vD,GAAGA,EAAE2O,EAAE4rC,YAAY7rC,IAAIo1D,GAAG3gE,KAAKwL,EAAExL,GAAEnD,GAAG,IAAI0O,EAAE+F,SAAS/F,EAAEA,EAAEoqC,eAAe1lC,eAAepT,IAAK0vD,IAAI/gD,EAAExL,EAAE8wC,UAAUj0C,GAAG,MAAM,KAAK,GAAG,MAAM,KAAK,GAA4B,GAAzBiuC,GAAEW,IAAK5uC,EAAEmD,EAAEy4C,cAAiB,KAAiB,GAAZz4C,EAAEu4C,WAAc,CAACv4C,EAAEm2D,eAAe5qD,EAAE,MAAMxL,EAAElD,EAAE,OAAOA,EAAE2O,GAAE,EAAG,OAAOF,OAAE,IAAStL,EAAE66D,cAAcoF,UAAUxB,GAAGz+D,IAAsBwL,EAAE,QAApBD,EAAED,EAAEmtC,eAAyB57C,GAAG,OAAO0O,GAAsB,QAAlBA,EAAED,EAAEppB,MAAM22D,WACpd,QADuen1C,EAAE1D,EAAE82D,cACje92D,EAAE82D,YAAYvrD,EAAEA,EAAE8rD,WAAW3zD,IAAI1D,EAAE82D,YAAY92D,EAAE+2D,WAAWxrD,EAAEA,EAAE8rD,WAAW,MAAM9rD,EAAEgtC,UAAU,IAAQ17C,IAAI2O,GAAG,KAAY,EAAPxL,EAAEy5D,QAAW,OAAOnuD,IAAG,IAAKtL,EAAE66D,cAAcqF,4BAA4B,KAAe,EAAVz0B,GAAE/zC,SAAWi1C,KAAI+2B,KAAK/2B,GAAEk3B,KAAYl3B,KAAI+2B,IAAI/2B,KAAIk3B,KAAGl3B,GAAEm3B,IAAG,IAAIM,IAAI,OAAOl4B,KAAI+4B,GAAG/4B,GAAEQ,IAAGw4B,GAAGh5B,GAAEk4B,QAAQvnE,GAAG2O,KAAExL,EAAEu4C,WAAW,GAAE,MAAM,KAAK,EAAQ,KAAK,EAAQ,KAAK,GAAG,MAAM,KAAK,EAAEkiB,KAAMkF,GAAG3/D,GAAG,MAAM,KAAK,GAAG81D,GAAG91D,GAAG,MAAM,KAAK,EAAQ,KAAK,GAAG,MAAM,KAAK,GAAGsrC,GAAEtrC,EAAEvL,OAAOm+D,KAAM,MAAM,KAAK,GAA4B,GAAzB9nB,GAAEW,IAA0B,QAArB5uC,EAAEmD,EAAEy4C,eACle,MAA2C,GAArCjtC,EAAE,KAAiB,GAAZxL,EAAEu4C,WAA+B,QAAjB70C,EAAE7G,EAAEyjE,YAAsB,GAAG90D,EAAEo1D,GAAG/jE,GAAE,QAAS,GAAG8vC,KAAI+2B,IAAI,OAAOp4D,GAAG,KAAiB,GAAZA,EAAEitC,WAAc,IAAIjtC,EAAEtL,EAAE9d,MAAM,OAAOopB,GAAG,CAAS,GAAG,QAAX5H,EAAEk3D,GAAGtvD,IAAe,CAA6J,IAA5JtL,EAAEu4C,WAAW,GAAGqoB,GAAG/jE,GAAE,GAAoB,QAAhB2O,EAAE9H,EAAE8zD,eAAuBx3D,EAAEw3D,YAAYhsD,EAAExL,EAAEu4C,WAAW,GAAG,OAAO17C,EAAEk6D,aAAa/2D,EAAE82D,YAAY,MAAM92D,EAAE+2D,WAAWl6D,EAAEk6D,WAAWl6D,EAAE0O,EAAMC,EAAExL,EAAE9d,MAAM,OAAOspB,GAAOF,EAAEzO,GAAN0O,EAAEC,GAAQ+sC,WAAW,EAAEhtC,EAAE8rD,WAAW,KAAK9rD,EAAEurD,YAAY,KAAKvrD,EAAEwrD,WAAW,KAAmB,QAAdrzD,EAAE6H,EAAE+sC,YAAoB/sC,EAAEyqD,oBAAoB,EAAEzqD,EAAE4qD,eAAe7qD,EAAEC,EAAErpB,MAAM,KACjfqpB,EAAEsvD,cAAc,KAAKtvD,EAAEktC,cAAc,KAAKltC,EAAEisD,YAAY,KAAKjsD,EAAE2jC,aAAa,OAAO3jC,EAAEyqD,oBAAoBtyD,EAAEsyD,oBAAoBzqD,EAAE4qD,eAAezyD,EAAEyyD,eAAe5qD,EAAErpB,MAAMwhB,EAAExhB,MAAMqpB,EAAEsvD,cAAcn3D,EAAEm3D,cAActvD,EAAEktC,cAAc/0C,EAAE+0C,cAAcltC,EAAEisD,YAAY9zD,EAAE8zD,YAAYlsD,EAAE5H,EAAEwrC,aAAa3jC,EAAE2jC,aAAa,OAAO5jC,EAAE,KAAK,CAAC6qD,eAAe7qD,EAAE6qD,eAAeD,aAAa5qD,EAAE4qD,aAAaI,WAAWhrD,EAAEgrD,aAAa9qD,EAAEA,EAAEqtC,QAAQ1N,GAAEM,GAAY,EAAVA,GAAE/zC,QAAU,GAAKsI,EAAEA,EAAE9d,MAAM,MAAM6d,EAAEuL,EAAEA,EAAEutC,aAAa,CAAC,IAAIrtC,EAAE,GAAW,QAARF,EAAEsvD,GAAGl3D,KAAa,GAAG1D,EAAEu4C,WACvf,GAAG/sC,GAAE,EAAmB,QAAhBD,EAAED,EAAEksD,eAAuBx3D,EAAEw3D,YAAYjsD,EAAEvL,EAAEu4C,WAAW,GAAGqoB,GAAG/jE,GAAE,GAAI,OAAOA,EAAE0jE,MAAM,WAAW1jE,EAAE4jE,WAAW/8D,EAAE40C,UAAU,CAA6B,QAA5Bt4C,EAAEA,EAAE+2D,WAAWl6D,EAAEk6D,cAAsB/2D,EAAEq3D,WAAW,MAAM,YAAYxC,KAAKh4D,EAAE2jE,gBAAgB,EAAEj1D,IAAIvL,EAAEu4C,WAAW,GAAG/sC,GAAE,EAAGo1D,GAAG/jE,GAAE,GAAImD,EAAEm2D,eAAen2D,EAAEg2D,oBAAoBzqD,EAAE,GAAG1O,EAAEwjE,aAAa38D,EAAEm1C,QAAQ74C,EAAE9d,MAAM8d,EAAE9d,MAAMwhB,IAAa,QAAT6H,EAAE1O,EAAEwH,MAAckH,EAAEstC,QAAQn1C,EAAE1D,EAAE9d,MAAMwhB,EAAE7G,EAAEwH,KAAKX,GAAG,GAAG,OAAO7G,EAAE0jE,KAAK,CAAC,IAAI1jE,EAAE2jE,iBAAiB3jE,EAAE2jE,eAAe3L,KAAK,KAAKtpD,EAAE1O,EAAE0jE,KAAK1jE,EAAEyjE,UAAU/0D,EAAE1O,EAAE0jE,KAAKh1D,EAAEstC,QAChfh8C,EAAEk6D,WAAW/2D,EAAE+2D,WAAWxrD,EAAEstC,QAAQ,KAAKh8C,EAAE4uC,GAAE/zC,QAAsByzC,GAAEM,GAAhB5uC,EAAE2O,EAAI,EAAF3O,EAAI,EAAI,EAAFA,GAAamD,EAAEuL,EAAE,MAAMxL,EAAE,MAAM,KAAK,GAAS,KAAK,GAAG,MAAM,QAAQ,MAAMhQ,MAAM+5C,EAAE,IAAI9pC,EAAEoP,MAAOpP,EAAE,KAAS,GAAJnD,EAAE2vC,GAAK,IAAIE,IAAG,IAAI7vC,EAAEm5D,oBAAoB,CAAK,IAAJxqD,EAAE,EAAMD,EAAE1O,EAAE3a,MAAM,OAAOqpB,IAAGD,EAAEC,EAAE4qD,gBAAyC3qD,IAAIA,EAAEF,IAAhC5H,EAAE6H,EAAEyqD,qBAAiCxqD,IAAIA,EAAE9H,GAAG6H,EAAEA,EAAEstC,QAAQh8C,EAAEm5D,oBAAoBxqD,EAAE,GAAG,OAAOxL,EAAE,OAAOA,EAAE,OAAOD,GAAG,KAAiB,KAAZA,EAAEw4C,aAAkB,OAAOx4C,EAAE+2D,cAAc/2D,EAAE+2D,YAAYtqB,GAAEsqB,aAAa,OAAOtqB,GAAEuqB,aAAa,OAAOh3D,EAAEg3D,aAAah3D,EAAEg3D,WAAWM,WACnf7qB,GAAEsqB,aAAa/2D,EAAEg3D,WAAWvqB,GAAEuqB,YAAY,EAAEvqB,GAAE+L,YAAY,OAAOx4C,EAAEg3D,WAAWh3D,EAAEg3D,WAAWM,WAAW7qB,GAAEzsC,EAAE+2D,YAAYtqB,GAAEzsC,EAAEg3D,WAAWvqB,SAAQ,CAAW,GAAG,QAAbxsC,EAAE6gE,GAAGr0B,KAAiB,OAAOxsC,EAAEu4C,WAAW,KAAKv4C,EAAE,OAAOD,IAAIA,EAAE+2D,YAAY/2D,EAAEg3D,WAAW,KAAKh3D,EAAEw4C,WAAW,MAAkB,GAAG,QAAfv4C,EAAEwsC,GAAEqM,SAAoB,OAAO74C,EAAEwsC,GAAEzsC,QAAQ,OAAOysC,IAAkB,OAAfG,KAAI+2B,KAAK/2B,GAAEo3B,IAAW,KAAK,SAASwC,GAAGxmE,GAAG,IAAIC,EAAED,EAAEo2D,eAAuC,OAAOn2D,GAA/BD,EAAEA,EAAEi2D,qBAA+Bh2D,EAAED,EAAE,SAAS0mE,GAAG1mE,GAAG,IAAIC,EAAE80D,KAA8B,OAAzBE,GAAG,GAAGoS,GAAGpwE,KAAK,KAAK+I,EAAEC,IAAW,KACpd,SAASonE,GAAGrnE,EAAEC,GAAG,GAAG+lE,WAAW,OAAOvB,IAAI,IAAIp4B,IAAGo3B,GAAGC,OAAOt3B,GAAE,MAAMp8C,MAAM+5C,EAAE,MAAM,IAAIx+B,EAAEvL,EAAEqmE,aAAa76D,EAAExL,EAAEsmE,uBAAuB,GAAG,OAAO/6D,EAAE,OAAO,KAAoD,GAA/CvL,EAAEqmE,aAAa,KAAKrmE,EAAEsmE,uBAAuB,EAAK/6D,IAAIvL,EAAErI,QAAQ,MAAM3H,MAAM+5C,EAAE,MAAM/pC,EAAE4lE,aAAa,KAAK5lE,EAAE0lE,uBAAuB,EAAE1lE,EAAE2lE,iBAAiB,GAAG3lE,EAAEylE,sBAAsB,EAAE,IAAI3oE,EAAE0pE,GAAGj7D,GAClI,GADqIvL,EAAEulE,iBAAiBzoE,EAAE0O,GAAGxL,EAAEumE,kBAAkBvmE,EAAEsnE,mBAAmBtnE,EAAEumE,kBAAkBvmE,EAAEylE,sBAAsB,EAAEj6D,GAAGxL,EAAEsnE,qBAAqBtnE,EAAEsnE,mBACne97D,EAAE,GAAGA,GAAGxL,EAAEwlE,iBAAiBxlE,EAAEwlE,eAAe,GAAGh6D,GAAGxL,EAAEqlE,kBAAkBrlE,EAAEqlE,gBAAgB,GAAGrlE,IAAImsC,KAAIM,GAAEN,GAAE,KAAKQ,GAAE,GAAG,EAAEphC,EAAEitC,UAAU,OAAOjtC,EAAEyrD,YAAYzrD,EAAEyrD,WAAWM,WAAW/rD,EAAEzO,EAAEyO,EAAEwrD,aAAaj6D,EAAEyO,EAAEzO,EAAEyO,EAAEwrD,YAAe,OAAOj6D,EAAE,CAAC,IAAI2O,EAAE4gC,GAAEA,IAAGq3B,GAAGH,GAAG5rE,QAAQ,KAAKi0D,GAAG1F,GAAG,IAAIp4D,EAAEq9D,KAAK,GAAGG,GAAGx9D,GAAG,CAAC,GAAG,mBAAmBA,EAAE,IAAIilB,EAAE,CAACzd,MAAMxH,EAAE0jE,eAAeh8D,IAAI1H,EAAE2jE,mBAAmBzxD,EAAE,CAA8C,IAAI2D,GAAjDoP,GAAGA,EAAEjlB,EAAE8nD,gBAAgB7iC,EAAE49C,aAAa33D,QAAe24D,cAAc5+C,EAAE4+C,eAAe,GAAGhuD,GAAG,IAAIA,EAAE4jE,WAAW,CAACx0D,EAAEpP,EAAE+tD,WAAW,IAAIl/C,EAAE7O,EAAEiuD,aAC9e5xB,EAAEr8B,EAAEkuD,UAAUluD,EAAEA,EAAEmuD,YAAY,IAAI/+C,EAAExB,SAASyuB,EAAEzuB,SAAS,MAAMi2D,GAAIz0D,EAAE,KAAK,MAAM/S,EAAE,IAAIqqC,EAAE,EAAEvmD,GAAG,EAAEonD,GAAG,EAAEjB,EAAE,EAAE+vB,EAAG,EAAE3nD,EAAEvkB,EAAEjK,EAAE,KAAKoc,EAAE,OAAO,CAAC,IAAI,IAAIkqC,EAAK93B,IAAIU,GAAG,IAAIP,GAAG,IAAIH,EAAEd,WAAWztB,EAAEumD,EAAE73B,GAAGH,IAAI2tB,GAAG,IAAIr8B,GAAG,IAAI0O,EAAEd,WAAW25B,EAAEb,EAAE1mC,GAAG,IAAI0O,EAAEd,WAAW84B,GAAGh4B,EAAEglC,UAAUv3D,QAAW,QAAQqqD,EAAE93B,EAAE3rB,aAAkB7C,EAAEwuB,EAAEA,EAAE83B,EAAE,OAAO,CAAC,GAAG93B,IAAIvkB,EAAE,MAAMmS,EAA+C,GAA7Cpc,IAAIkvB,KAAKk3B,IAAIz3B,IAAI1uB,EAAEumD,GAAGxmD,IAAIm8C,KAAKg6B,IAAKr2D,IAAIunC,EAAEb,GAAM,QAAQF,EAAE93B,EAAE64C,aAAa,MAAUrnE,GAAJwuB,EAAExuB,GAAMutB,WAAWiB,EAAE83B,EAAEp3B,GAAG,IAAIjvB,IAAI,IAAIonD,EAAE,KAAK,CAAC51C,MAAMxR,EAAE0R,IAAI01C,QAAQn4B,EAAE,KAAKA,EAAEA,GAAG,CAACzd,MAAM,EAAEE,IAAI,QAAQud,EACtf,KAAK84C,GAAG,CAAC4b,YAAY35E,EAAE45E,eAAe30D,GAAGmzC,IAAG,EAAG1X,GAAE1xC,EAAE,GAAG,IAAI6qE,KAAK,MAAMH,GAAI,GAAG,OAAOh5B,GAAE,MAAMx+C,MAAM+5C,EAAE,MAAMw3B,GAAG/yB,GAAEg5B,GAAIh5B,GAAEA,GAAE8oB,kBAAiB,OAAO9oB,IAAGA,GAAE1xC,EAAE,GAAG,IAAI,IAAIhP,EAAEkS,EAAE+S,EAAE9S,EAAE,OAAOuuC,IAAG,CAAC,IAAIjtD,EAAEitD,GAAEgK,UAAmC,GAAvB,GAAFj3D,GAAM41D,GAAG3I,GAAEuC,UAAU,IAAS,IAAFxvD,EAAM,CAAC,IAAIwyB,EAAEy6B,GAAE+J,UAAU,GAAG,OAAOxkC,EAAE,CAAC,IAAIxB,EAAEwB,EAAE/W,IAAI,OAAOuV,IAAI,oBAAoBA,EAAEA,EAAE,MAAMA,EAAE5a,QAAQ,OAAO,OAAS,KAAFpW,GAAQ,KAAK,EAAE0gF,GAAGzzB,IAAGA,GAAEgK,YAAY,EAAE,MAAM,KAAK,EAAEypB,GAAGzzB,IAAGA,GAAEgK,YAAY,EAAE2pB,GAAG3zB,GAAE+J,UAAU/J,IAAG,MAAM,KAAK,KAAKA,GAAEgK,YAAY,KAAK,MAAM,KAAK,KAAKhK,GAAEgK,YAAY,KAAK2pB,GAAG3zB,GAAE+J,UACzf/J,IAAG,MAAM,KAAK,EAAE2zB,GAAG3zB,GAAE+J,UAAU/J,IAAG,MAAM,KAAK,EAAMszB,GAAGh0E,EAAP0kB,EAAEg8B,GAASz7B,GAAGgvD,GAAGvvD,GAAGg8B,GAAEA,GAAE8oB,YAAY,MAAMkQ,GAAI,GAAG,OAAOh5B,GAAE,MAAMx+C,MAAM+5C,EAAE,MAAMw3B,GAAG/yB,GAAEg5B,GAAIh5B,GAAEA,GAAE8oB,kBAAiB,OAAO9oB,IAAkD,GAA/Cj8B,EAAEs5C,GAAG93C,EAAEo3C,KAAK5pE,EAAEgxB,EAAEk1D,YAAY10D,EAAER,EAAEm1D,eAAkB3zD,IAAIxyB,GAAGA,GAAGA,EAAEq0D,eA5JnO,SAASgyB,EAAG5nE,EAAEC,GAAG,SAAOD,IAAGC,KAAED,IAAIC,KAAKD,GAAG,IAAIA,EAAEuR,YAAYtR,GAAG,IAAIA,EAAEsR,SAASq2D,EAAG5nE,EAAEC,EAAEmR,YAAY,aAAapR,EAAEA,EAAE6nE,SAAS5nE,KAAGD,EAAE8nE,4BAAwD,GAA7B9nE,EAAE8nE,wBAAwB7nE,MA4J8D2nE,CAAGrmF,EAAEq0D,cAAc7sD,gBAAgBxH,GAAG,CAAC,OAAOwxB,GAAGu4C,GAAG/pE,KAAKwyB,EAAEhB,EAAEzd,WAAc,KAARid,EAAEQ,EAAEvd,OAAiB+c,EAAEwB,GAAG,mBAAmBxyB,GAAGA,EAAEiwE,eAAez9C,EAAExyB,EAAEkwE,aAAatpD,KAAKwC,IAAI4H,EAAEhxB,EAAE9C,MAAMqB,UAAUyyB,GAAGwB,EAAExyB,EAAEq0D,eAAelxD,WAAWqvB,EAAE48C,aAAa33D,QAAS24D,eAAep/C,EAAEA,EAAEo/C,eAChfn/C,EAAEjxB,EAAEoF,YAAY7G,OAAOgO,EAAEqa,KAAKwC,IAAIoI,EAAEzd,MAAMkd,GAAGO,OAAE,IAASA,EAAEvd,IAAI1H,EAAEqa,KAAKwC,IAAIoI,EAAEvd,IAAIgd,IAAID,EAAE+qC,QAAQxvD,EAAEilB,IAAIP,EAAEO,EAAEA,EAAEjlB,EAAEA,EAAE0kB,GAAGA,EAAEy4C,GAAG1pE,EAAEuM,GAAGkyC,EAAEirB,GAAG1pE,EAAEwxB,GAAGP,GAAGwtB,IAAI,IAAIztB,EAAEg1D,YAAYh1D,EAAEm/C,aAAal/C,EAAEztB,MAAMwtB,EAAEq/C,eAAep/C,EAAEtsB,QAAQqsB,EAAEs/C,YAAY7xB,EAAEj7C,MAAMwtB,EAAEu/C,cAAc9xB,EAAE95C,WAAU6tB,EAAEA,EAAEg0D,eAAgBC,SAASx1D,EAAEztB,KAAKytB,EAAEtsB,QAAQqsB,EAAE01D,kBAAkBn6E,EAAEilB,GAAGR,EAAE21D,SAASn0D,GAAGxB,EAAE+qC,OAAOtd,EAAEj7C,KAAKi7C,EAAE95C,UAAU6tB,EAAEo0D,OAAOnoC,EAAEj7C,KAAKi7C,EAAE95C,QAAQqsB,EAAE21D,SAASn0D,OAAQA,EAAE,GAAG,IAAIxB,EAAEhxB,EAAEgxB,EAAEA,EAAEnB,YAAY,IAAImB,EAAEhB,UAAUwC,EAAEv0B,KAAK,CAACikD,QAAQlxB,EAAE61D,KAAK71D,EAAE81D,WAAWC,IAAI/1D,EAAEg2D,YAC/c,IAAvC,oBAAoBhnF,EAAEinF,OAAOjnF,EAAEinF,QAAYjnF,EAAE,EAAEA,EAAEwyB,EAAEj0B,OAAOyB,KAAIgxB,EAAEwB,EAAExyB,IAAKkiD,QAAQ4kC,WAAW91D,EAAE61D,KAAK71D,EAAEkxB,QAAQ8kC,UAAUh2D,EAAE+1D,IAAIzc,GAAG,KAAK3F,KAAK0F,GAAGA,GAAG,KAAK5rD,EAAErI,QAAQ4T,EAAEijC,GAAE1xC,EAAE,GAAG,IAAI,IAAIvb,EAAEiqB,EAAE,OAAOgjC,IAAG,CAAC,IAAIi6B,EAAGj6B,GAAEgK,UAAU,GAAM,GAAHiwB,EAAM,CAAC,IAAIC,EAAGl6B,GAAE+J,UAAkB,OAAJhmC,EAAEhxB,GAANwyB,EAAEy6B,IAAen/B,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGoyD,GAAG,GAAG,GAAG1tD,GAAG,MAAM,KAAK,EAAE,IAAI40D,EAAG50D,EAAEg9B,UAAU,GAAe,EAAZh9B,EAAEykC,UAAY,GAAG,OAAOkwB,EAAGC,EAAGv8C,wBAAwB,CAAC,IAAIw8C,EAAG70D,EAAE4lD,cAAc5lD,EAAErf,KAAKg0E,EAAG5N,cAActF,GAAGzhD,EAAErf,KAAKg0E,EAAG5N,eAAe6N,EAAGpJ,mBAAmBqJ,EAAGF,EAAGhwB,cACveiwB,EAAGjH,qCAAqC,IAAImH,EAAG90D,EAAE0jD,YAAY,OAAOoR,GAAI7Q,GAAGjkD,EAAE80D,EAAGF,GAAM,MAAM,KAAK,EAAE,IAAIG,EAAG/0D,EAAE0jD,YAAY,GAAG,OAAOqR,EAAG,CAAQ,GAAPh7E,EAAE,KAAQ,OAAOimB,EAAE5xB,MAAM,OAAO4xB,EAAE5xB,MAAMktB,KAAK,KAAK,EAAEvhB,EAAEimB,EAAE5xB,MAAM4uD,UAAU,MAAM,KAAK,EAAEjjD,EAAEimB,EAAE5xB,MAAM4uD,UAAUinB,GAAGjkD,EAAE+0D,EAAGh7E,GAAK,MAAM,KAAK,EAAE,IAAIi7E,EAAGh1D,EAAEg9B,UAAU,OAAO23B,GAAgB,EAAZ30D,EAAEykC,WAAasT,GAAG/3C,EAAErf,KAAKqf,EAAE+mD,gBAAgBiO,EAAGP,QAAQ,MAAM,KAAK,EAAQ,KAAK,EAAQ,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG,OAAOz0D,EAAE2kC,cAAc,CAAC,IAAIswB,EAAGj1D,EAAEwkC,UAAU,GAAG,OAAOywB,EAAG,CAAC,IAAIC,EAAGD,EAAGtwB,cAAc,GAAG,OAAOuwB,EAAG,CAAC,IAAIC,EACzfD,EAAGtwB,WAAW,OAAOuwB,GAAI9tB,GAAG8tB,KAAM,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,QAAQ,MAAMl5E,MAAM+5C,EAAE,OAAQ,GAAM,IAAH0+B,EAAO,CAAC10D,OAAE,EAAO,IAAIo1D,EAAG36B,GAAExxC,IAAI,GAAG,OAAOmsE,EAAG,CAAC,IAAIC,EAAG56B,GAAEuC,UAAU,OAAOvC,GAAEn/B,KAAK,KAAK,EAAE0E,EAAEq1D,EAAG,MAAM,QAAQr1D,EAAEq1D,EAAG,oBAAoBD,EAAGA,EAAGp1D,GAAGo1D,EAAGxxE,QAAQoc,GAAGy6B,GAAEA,GAAE8oB,YAAY,MAAMkQ,GAAI,GAAG,OAAOh5B,GAAE,MAAMx+C,MAAM+5C,EAAE,MAAMw3B,GAAG/yB,GAAEg5B,GAAIh5B,GAAEA,GAAE8oB,kBAAiB,OAAO9oB,IAAGA,GAAE,KAAKimB,KAAKpoB,GAAE5gC,OAAOzL,EAAErI,QAAQ4T,EAAE,GAAGi5D,GAAGA,IAAG,EAAGC,GAAGzkE,EAAE0kE,GAAGzkE,OAAO,IAAIuuC,GAAE1xC,EAAE,OAAO0xC,IAAGvuC,EAAEuuC,GAAE8oB,WAAW9oB,GAAE8oB,WAAW,KAAK9oB,GAAEvuC,EACpX,GAD2Y,KAArBA,EAAED,EAAEulE,oBAC9dtC,GAAG,MAAM,aAAahjE,EAAED,IAAI6kE,GAAGD,MAAMA,GAAG,EAAEC,GAAG7kE,GAAG4kE,GAAG,EAAE,oBAAoByE,IAAIA,GAAG99D,EAAEwlC,UAAUvlC,GAAGijC,GAAEzuC,GAAM6iE,GAAG,MAAMA,IAAG,EAAG7iE,EAAE8iE,GAAGA,GAAG,KAAK9iE,EAAE,OAAIqsC,GAAEm3B,MAAMp3B,GAAS,MAAKipB,KAAY,MAAK,SAASsS,KAAK,KAAK,OAAOn5B,IAAG,CAAC,IAAIxuC,EAAEwuC,GAAEgK,UAAU,KAAO,IAAFx4C,IAAQwhE,GAAGhzB,GAAE+J,UAAU/J,IAAG,KAAO,IAAFxuC,IAAQwkE,KAAKA,IAAG,EAAGtP,GAAG,IAAG,WAAgB,OAAL8Q,KAAY,SAAQx3B,GAAEA,GAAE8oB,YAAY,SAAS0O,KAAK,GAAG,KAAKtB,GAAG,CAAC,IAAI1kE,EAAE,GAAG0kE,GAAG,GAAGA,GAAS,OAANA,GAAG,GAAUzP,GAAGj1D,EAAEspE,KAC3Y,SAASA,KAAK,GAAG,OAAO7E,GAAG,OAAM,EAAG,IAAIzkE,EAAEykE,GAAW,GAARA,GAAG,MAASp4B,IAAGo3B,GAAGC,OAAOt3B,GAAE,MAAMp8C,MAAM+5C,EAAE,MAAM,IAAI9pC,EAAEosC,GAAQ,IAANA,IAAGq3B,GAAO1jE,EAAEA,EAAErI,QAAQo/D,YAAY,OAAO/2D,GAAG,CAAC,IAAI,IAAIuL,EAAEvL,EAAE,GAAG,KAAiB,IAAZuL,EAAEitC,WAAe,OAAOjtC,EAAE8D,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGoyD,GAAG,IAAI,EAAEl2D,GAAGk2D,GAAG,EAAE,GAAGl2D,IAAI,MAAMC,GAAG,GAAG,OAAOxL,EAAE,MAAMhQ,MAAM+5C,EAAE,MAAMw3B,GAAGvhE,EAAEwL,GAAGD,EAAEvL,EAAEs3D,WAAWt3D,EAAEs3D,WAAW,KAAKt3D,EAAEuL,EAAW,OAAT8gC,GAAEpsC,EAAEo1D,MAAW,EAAG,SAASkU,GAAGvpE,EAAEC,EAAEsL,GAAkCisD,GAAGx3D,EAAxBC,EAAE2iE,GAAG5iE,EAAfC,EAAE8gE,GAAGx1D,EAAEtL,GAAY,aAAuC,QAAnBD,EAAEglE,GAAGhlE,EAAE,cAAsByuC,GAAEzuC,GACpb,SAASuhE,GAAGvhE,EAAEC,GAAG,GAAG,IAAID,EAAEqP,IAAIk6D,GAAGvpE,EAAEA,EAAEC,QAAQ,IAAI,IAAIsL,EAAEvL,EAAEwyC,OAAO,OAAOjnC,GAAG,CAAC,GAAG,IAAIA,EAAE8D,IAAI,CAACk6D,GAAGh+D,EAAEvL,EAAEC,GAAG,MAAW,GAAG,IAAIsL,EAAE8D,IAAI,CAAC,IAAI7D,EAAED,EAAEwlC,UAAU,GAAG,oBAAoBxlC,EAAE7W,KAAKy/B,0BAA0B,oBAAoB3oB,EAAEw3D,oBAAoB,OAAOC,KAAKA,GAAGhgC,IAAIz3B,IAAI,CAAgCgsD,GAAGjsD,EAAxBvL,EAAE+iE,GAAGx3D,EAAfvL,EAAE+gE,GAAG9gE,EAAED,GAAY,aAAuC,QAAnBuL,EAAEy5D,GAAGz5D,EAAE,cAAsBkjC,GAAEljC,GAAG,OAAOA,EAAEA,EAAEinC,QAC5V,SAASy0B,GAAGjnE,EAAEC,EAAEsL,GAAG,IAAIC,EAAExL,EAAEgnE,UAAU,OAAOx7D,GAAGA,EAAE0F,OAAOjR,GAAGksC,KAAInsC,GAAG2sC,KAAIphC,EAAEqhC,KAAIm3B,IAAIn3B,KAAIk3B,IAAI,aAAaI,IAAIpP,KAAKwN,GAAGiC,GAAG0B,GAAGjmE,EAAE2sC,IAAG23B,IAAG,EAAGgB,GAAGtlE,EAAEuL,KAAwB,KAAnBtL,EAAED,EAAEwlE,iBAAsBvlE,EAAEsL,IAAIvL,EAAEwlE,eAAej6D,EAAEvL,EAAEsmE,yBAAyB/6D,IAAIvL,EAAEsmE,uBAAuB,EAAEtmE,EAAEqmE,aAAa,MAAM53B,GAAEzuC,KAAK,SAASyiE,GAAGziE,EAAEC,GAAG,IAAIsL,EAAEvL,EAAE+wC,UAAU,OAAOxlC,GAAGA,EAAE2F,OAAOjR,GAAO,KAAJA,EAAE,KAAiBA,EAAEu4D,GAATv4D,EAAEs4D,KAAYv4D,EAAE,OAAiB,QAAVA,EAAEglE,GAAGhlE,EAAEC,KAAawuC,GAAEzuC,GACvYmjE,GAAG,SAASnjE,EAAEC,EAAEsL,GAAG,IAAIC,EAAEvL,EAAEm2D,eAAe,GAAG,OAAOp2D,EAAE,CAAC,IAAIlD,EAAEmD,EAAEs+D,aAAa,GAAGv+D,EAAE86D,gBAAgBh+D,GAAGwuC,GAAE3zC,QAAQ0+D,IAAG,MAAO,CAAC,GAAG7qD,EAAED,EAAE,CAAO,OAAN8qD,IAAG,EAAUp2D,EAAEoP,KAAK,KAAK,EAAEowD,GAAGx/D,GAAG0+D,KAAK,MAAM,KAAK,EAAQ,GAANhE,GAAG16D,GAAa,EAAPA,EAAEy5D,MAAQ,IAAInuD,GAAGzO,EAAE0sE,OAAO,OAAOvpE,EAAEm2D,eAAen2D,EAAEg2D,oBAAoB,EAAE,KAAK,MAAM,KAAK,EAAE1qB,GAAEtrC,EAAEvL,OAAOu+D,GAAGhzD,GAAG,MAAM,KAAK,EAAEu6D,GAAGv6D,EAAEA,EAAE8wC,UAAU4J,eAAe,MAAM,KAAK,GAAGmb,GAAG71D,EAAEA,EAAE66D,cAAcr8E,OAAO,MAAM,KAAK,GAAG,GAAG,OAAOwhB,EAAEy4C,cAA6C,OAAG,KAAjCltC,EAAEvL,EAAE9d,MAAM8zE,sBAA8BzqD,GAAGD,EAAS00D,GAAGjgE,EAAEC,EAAEsL,IAAG6/B,GAAEM,GAC1e,EAD4eA,GAAE/zC,SACtd,QAAnBsI,EAAE6+D,GAAG9+D,EAAEC,EAAEsL,IAAmBtL,EAAE64C,QAAQ,MAAK1N,GAAEM,GAAY,EAAVA,GAAE/zC,SAAa,MAAM,KAAK,GAA8B,GAA3B6T,EAAEvL,EAAEg2D,qBAAqB1qD,EAAK,KAAiB,GAAZvL,EAAEw4C,WAAc,CAAC,GAAGhtC,EAAE,OAAOm1D,GAAG3gE,EAAEC,EAAEsL,GAAGtL,EAAEu4C,WAAW,GAA+E,GAA1D,QAAlB17C,EAAEmD,EAAEy4C,iBAAyB57C,EAAEyjE,UAAU,KAAKzjE,EAAE0jE,KAAK,MAAMp1B,GAAEM,GAAEA,GAAE/zC,UAAe6T,EAAE,OAAO,KAAK,OAAOszD,GAAG9+D,EAAEC,EAAEsL,GAAG8qD,IAAG,QAASA,IAAG,EAAsB,OAAnBp2D,EAAEm2D,eAAe,EAASn2D,EAAEoP,KAAK,KAAK,EAAuJ,GAArJ7D,EAAEvL,EAAEvL,KAAK,OAAOsL,IAAIA,EAAEu4C,UAAU,KAAKt4C,EAAEs4C,UAAU,KAAKt4C,EAAEu4C,WAAW,GAAGx4C,EAAEC,EAAEs+D,aAAazhE,EAAE41D,GAAGzyD,EAAEorC,GAAE1zC,SAASu+D,GAAGj2D,EAAEsL,GAAGzO,EAAEi/D,GAAG,KAAK97D,EAAEuL,EAAExL,EAAElD,EAAEyO,GAAGtL,EAAEu4C,WAAW,EAAK,kBACre17C,GAAG,OAAOA,GAAG,oBAAoBA,EAAE+uB,aAAQ,IAAS/uB,EAAE6uC,SAAS,CAAc,GAAb1rC,EAAEoP,IAAI,EAAE8sD,KAAQ5wB,GAAE//B,GAAG,CAAC,IAAIC,GAAE,EAAGwnD,GAAGhzD,QAAQwL,GAAE,EAAGxL,EAAEy4C,cAAc,OAAO57C,EAAEhS,YAAO,IAASgS,EAAEhS,MAAMgS,EAAEhS,MAAM,KAAK,IAAIgD,EAAE0d,EAAE4oB,yBAAyB,oBAAoBtmC,GAAGsqE,GAAGn4D,EAAEuL,EAAE1d,EAAEkS,GAAGlD,EAAE+tC,QAAQwtB,GAAGp4D,EAAE8wC,UAAUj0C,EAAEA,EAAEw7D,oBAAoBr4D,EAAE84D,GAAG94D,EAAEuL,EAAExL,EAAEuL,GAAGtL,EAAEu/D,GAAG,KAAKv/D,EAAEuL,GAAE,EAAGC,EAAEF,QAAQtL,EAAEoP,IAAI,EAAE68B,GAAE,KAAKjsC,EAAEnD,EAAEyO,GAAGtL,EAAEA,EAAE9d,MAAM,OAAO8d,EAAE,KAAK,GAAuG,GAApGnD,EAAEmD,EAAE05D,YAAY,OAAO35D,IAAIA,EAAEu4C,UAAU,KAAKt4C,EAAEs4C,UAAU,KAAKt4C,EAAEu4C,WAAW,GAAGx4C,EAAEC,EAAEs+D,aA7Opd,SAAYv+D,GAAG,IAAI,IAAIA,EAAEutC,QAAQ,CAACvtC,EAAEutC,QAAQ,EAAE,IAAIttC,EAAED,EAAEstC,MAAMrtC,EAAEA,IAAID,EAAEwtC,QAAQvtC,EAAEA,EAAEyiE,MAAK,SAASziE,GAAG,IAAID,EAAEutC,UAAUttC,EAAEA,EAAEhT,QAAQ+S,EAAEutC,QAAQ,EAAEvtC,EAAEwtC,QAAQvtC,MAAI,SAASA,GAAG,IAAID,EAAEutC,UAAUvtC,EAAEutC,QAAQ,EAAEvtC,EAAEwtC,QAAQvtC,OA6OwRwpE,CAAG3sE,GAAM,IAAIA,EAAEywC,QAAQ,MAAMzwC,EAAE0wC,QACnd,OAA7C1wC,EAAEA,EAAE0wC,QAAQvtC,EAAEvL,KAAKoI,EAAE2O,EAAExL,EAAEoP,IAQqC,SAAYrP,GAAG,GAAG,oBAAoBA,EAAE,OAAOg/D,GAAGh/D,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAE2rC,YAAgBgG,EAAG,OAAO,GAAG,GAAG3xC,IAAI8xC,EAAG,OAAO,GAAG,OAAO,EAR/K43B,CAAG5sE,GAAGkD,EAAEw1D,GAAG14D,EAAEkD,GAAUyL,GAAG,KAAK,EAAExL,EAAEi/D,GAAG,KAAKj/D,EAAEnD,EAAEkD,EAAEuL,GAAG,MAAM,KAAK,EAAEtL,EAAEm/D,GAAG,KAAKn/D,EAAEnD,EAAEkD,EAAEuL,GAAG,MAAM,KAAK,GAAGtL,EAAE4+D,GAAG,KAAK5+D,EAAEnD,EAAEkD,EAAEuL,GAAG,MAAM,KAAK,GAAGtL,EAAE8+D,GAAG,KAAK9+D,EAAEnD,EAAE04D,GAAG14D,EAAEpI,KAAKsL,GAAGwL,EAAED,GAAG,MAAM,QAAQ,MAAMvb,MAAM+5C,EAAE,IAAIjtC,EAAE,KAAM,OAAOmD,EAAE,KAAK,EAAE,OAAOuL,EAAEvL,EAAEvL,KAAKoI,EAAEmD,EAAEs+D,aAA2CW,GAAGl/D,EAAEC,EAAEuL,EAArC1O,EAAEmD,EAAE05D,cAAcnuD,EAAE1O,EAAE04D,GAAGhqD,EAAE1O,GAAcyO,GAAG,KAAK,EAAE,OAAOC,EAAEvL,EAAEvL,KAAKoI,EAAEmD,EAAEs+D,aAA2Ca,GAAGp/D,EAAEC,EAAEuL,EAArC1O,EAAEmD,EAAE05D,cAAcnuD,EAAE1O,EAAE04D,GAAGhqD,EAAE1O,GAAcyO,GAAG,KAAK,EAAwB,GAAtBk0D,GAAGx/D,GAAsB,QAAnBuL,EAAEvL,EAAEw3D,aAAwB,MAAMznE,MAAM+5C,EAAE,MACnZ,GAD2ajtC,EAAE,QAApBA,EAAEmD,EAAEy4C,eAAyB57C,EAAE2mC,QACrf,KAAKo0B,GAAG53D,EAAEuL,EAAEvL,EAAEs+D,aAAa,KAAKhzD,IAAGC,EAAEvL,EAAEy4C,cAAcjV,WAAe3mC,EAAE6hE,KAAK1+D,EAAE6+D,GAAG9+D,EAAEC,EAAEsL,OAAO,CAAmF,IAA/EzO,EAAEmD,EAAE8wC,UAAU2J,WAAQwjB,GAAG98B,GAAGnhC,EAAE8wC,UAAU4J,cAAcj0D,YAAYu3E,GAAGh+D,EAAEnD,EAAEqhE,IAAG,GAAMrhE,EAAE,IAAIyO,EAAE2uD,GAAGj6D,EAAE,KAAKuL,EAAED,GAAGtL,EAAE9d,MAAMopB,EAAEA,GAAGA,EAAEitC,WAAuB,EAAbjtC,EAAEitC,UAAa,KAAKjtC,EAAEA,EAAEutC,aAAa5M,GAAElsC,EAAEC,EAAEuL,EAAED,GAAGozD,KAAK1+D,EAAEA,EAAE9d,MAAM,OAAO8d,EAAE,KAAK,EAAE,OAAO06D,GAAG16D,GAAG,OAAOD,GAAGw+D,GAAGv+D,GAAGuL,EAAEvL,EAAEvL,KAAKoI,EAAEmD,EAAEs+D,aAAa9yD,EAAE,OAAOzL,EAAEA,EAAE86D,cAAc,KAAKhtE,EAAEgP,EAAE9X,SAASgnE,GAAGxgD,EAAE1O,GAAGhP,EAAE,KAAK,OAAO2d,GAAGugD,GAAGxgD,EAAEC,KAAKxL,EAAEu4C,WAAW,IAAI2mB,GAAGn/D,EAAEC,GAAU,EAAPA,EAAEy5D,MAAQ,IAAInuD,GAAGzO,EAAE0sE,QAAQvpE,EAAEm2D,eAC7en2D,EAAEg2D,oBAAoB,EAAEh2D,EAAE,OAAOisC,GAAElsC,EAAEC,EAAEnS,EAAEyd,GAAGtL,EAAEA,EAAE9d,OAAO8d,EAAE,KAAK,EAAE,OAAO,OAAOD,GAAGw+D,GAAGv+D,GAAG,KAAK,KAAK,GAAG,OAAOggE,GAAGjgE,EAAEC,EAAEsL,GAAG,KAAK,EAAE,OAAOivD,GAAGv6D,EAAEA,EAAE8wC,UAAU4J,eAAenvC,EAAEvL,EAAEs+D,aAAa,OAAOv+D,EAAEC,EAAE9d,MAAM83E,GAAGh6D,EAAE,KAAKuL,EAAED,GAAG2gC,GAAElsC,EAAEC,EAAEuL,EAAED,GAAGtL,EAAE9d,MAAM,KAAK,GAAG,OAAOqpB,EAAEvL,EAAEvL,KAAKoI,EAAEmD,EAAEs+D,aAA2CM,GAAG7+D,EAAEC,EAAEuL,EAArC1O,EAAEmD,EAAE05D,cAAcnuD,EAAE1O,EAAE04D,GAAGhqD,EAAE1O,GAAcyO,GAAG,KAAK,EAAE,OAAO2gC,GAAElsC,EAAEC,EAAEA,EAAEs+D,aAAahzD,GAAGtL,EAAE9d,MAAM,KAAK,EAAkD,KAAK,GAAG,OAAO+pD,GAAElsC,EAAEC,EAAEA,EAAEs+D,aAAav5E,SAASumB,GAAGtL,EAAE9d,MAAM,KAAK,GAAG6d,EAAE,CAC9a,GAD+awL,EAAEvL,EAAEvL,KAAK04C,SAC7etwC,EAAEmD,EAAEs+D,aAAazwE,EAAEmS,EAAE66D,cAAwBhF,GAAG71D,EAAbwL,EAAE3O,EAAEre,OAAiB,OAAOqP,EAAE,CAAC,IAAIilB,EAAEjlB,EAAErP,MAA0G,GAAG,KAAvGgtB,EAAEolD,GAAG99C,EAAEtH,GAAG,EAAwF,GAArF,oBAAoBD,EAAEwhC,sBAAsBxhC,EAAEwhC,sBAAsBj6B,EAAEtH,GAAG,cAAwB,GAAG3d,EAAE9I,WAAW8X,EAAE9X,WAAWsmD,GAAE3zC,QAAQ,CAACsI,EAAE6+D,GAAG9+D,EAAEC,EAAEsL,GAAG,MAAMvL,QAAQ,IAAc,QAAV+S,EAAE9S,EAAE9d,SAAiB4wB,EAAEy/B,OAAOvyC,GAAG,OAAO8S,GAAG,CAAC,IAAIpP,EAAEoP,EAAEo8B,aAAa,GAAG,OAAOxrC,EAAE,CAAC7V,EAAEilB,EAAE5wB,MAAM,IAAI,IAAIqwB,EAAE7O,EAAEwyD,aAAa,OAAO3jD,GAAG,CAAC,GAAGA,EAAEpvB,UAAUooB,GAAG,KAAKgH,EAAE0Z,aAAazgB,GAAG,CAAC,IAAIsH,EAAE1D,OAAMmD,EAAE4kD,GAAG7rD,EAAE,OAAQ8D,IAAI,EAAEmoD,GAAGzkD,EAAEP,IAAIO,EAAEqjD,eAAe7qD,IAAIwH,EAAEqjD,eAC3e7qD,GAAiB,QAAdiH,EAAEO,EAAEwlC,YAAoB/lC,EAAE4jD,eAAe7qD,IAAIiH,EAAE4jD,eAAe7qD,GAAGyqD,GAAGjjD,EAAEy/B,OAAOjnC,GAAG5H,EAAEyyD,eAAe7qD,IAAI5H,EAAEyyD,eAAe7qD,GAAG,MAAMiH,EAAEA,EAAE5a,WAAW9J,EAAE,KAAKilB,EAAE1D,KAAI0D,EAAEre,OAAOuL,EAAEvL,KAAK,KAAaqe,EAAE5wB,MAAM,GAAG,OAAO2L,EAAEA,EAAE0kD,OAAOz/B,OAAO,IAAIjlB,EAAEilB,EAAE,OAAOjlB,GAAG,CAAC,GAAGA,IAAImS,EAAE,CAACnS,EAAE,KAAK,MAAkB,GAAG,QAAfilB,EAAEjlB,EAAEgrD,SAAoB,CAAC/lC,EAAEy/B,OAAO1kD,EAAE0kD,OAAO1kD,EAAEilB,EAAE,MAAMjlB,EAAEA,EAAE0kD,OAAOz/B,EAAEjlB,GAAGo+C,GAAElsC,EAAEC,EAAEnD,EAAE9X,SAASumB,GAAGtL,EAAEA,EAAE9d,MAAM,OAAO8d,EAAE,KAAK,EAAE,OAAOnD,EAAEmD,EAAEvL,KAAsB8W,GAAjBC,EAAExL,EAAEs+D,cAAiBv5E,SAASkxE,GAAGj2D,EAAEsL,GAAmCC,EAAEA,EAAlC1O,EAAEw5D,GAAGx5D,EAAE2O,EAAEk+D,wBAA8B1pE,EAAEu4C,WAAW,EAAEtM,GAAElsC,EAAEC,EAAEuL,EAAED,GAAGtL,EAAE9d,MACrf,KAAK,GAAG,OAAgBspB,EAAE+pD,GAAX14D,EAAEmD,EAAEvL,KAAYuL,EAAEs+D,cAA6BQ,GAAG/+D,EAAEC,EAAEnD,EAAtB2O,EAAE+pD,GAAG14D,EAAEpI,KAAK+W,GAAcD,EAAED,GAAG,KAAK,GAAG,OAAO0zD,GAAGj/D,EAAEC,EAAEA,EAAEvL,KAAKuL,EAAEs+D,aAAa/yD,EAAED,GAAG,KAAK,GAAG,OAAOC,EAAEvL,EAAEvL,KAAKoI,EAAEmD,EAAEs+D,aAAazhE,EAAEmD,EAAE05D,cAAcnuD,EAAE1O,EAAE04D,GAAGhqD,EAAE1O,GAAG,OAAOkD,IAAIA,EAAEu4C,UAAU,KAAKt4C,EAAEs4C,UAAU,KAAKt4C,EAAEu4C,WAAW,GAAGv4C,EAAEoP,IAAI,EAAEk8B,GAAE//B,IAAIxL,GAAE,EAAGizD,GAAGhzD,IAAID,GAAE,EAAGk2D,GAAGj2D,EAAEsL,GAAGqtD,GAAG34D,EAAEuL,EAAE1O,GAAKi8D,GAAG94D,EAAEuL,EAAE1O,EAAEyO,GAAGi0D,GAAG,KAAKv/D,EAAEuL,GAAE,EAAGxL,EAAEuL,GAAG,KAAK,GAAG,OAAOo1D,GAAG3gE,EAAEC,EAAEsL,GAAG,MAAMvb,MAAM+5C,EAAE,IAAI9pC,EAAEoP,OAAQ,IAAIg6D,GAAG,KAAKzH,GAAG,KAE1Z,SAASgI,GAAG5pE,EAAEC,EAAEsL,EAAEC,GAAGhkB,KAAK6nB,IAAIrP,EAAExY,KAAKhJ,IAAI+sB,EAAE/jB,KAAKsxD,QAAQtxD,KAAKrF,MAAMqF,KAAKgrD,OAAOhrD,KAAKupD,UAAUvpD,KAAKkN,KAAKlN,KAAKmyE,YAAY,KAAKnyE,KAAKkc,MAAM,EAAElc,KAAKwV,IAAI,KAAKxV,KAAK+2E,aAAat+D,EAAEzY,KAAK2nD,aAAa3nD,KAAKkxD,cAAclxD,KAAKiwE,YAAYjwE,KAAKszE,cAAc,KAAKtzE,KAAKkyE,KAAKluD,EAAEhkB,KAAKgxD,UAAU,EAAEhxD,KAAKwvE,WAAWxvE,KAAKuvE,YAAYvvE,KAAK8vE,WAAW,KAAK9vE,KAAKyuE,oBAAoBzuE,KAAK4uE,eAAe,EAAE5uE,KAAK+wD,UAAU,KAAK,SAAS8lB,GAAGr+D,EAAEC,EAAEsL,EAAEC,GAAG,OAAO,IAAIo+D,GAAG5pE,EAAEC,EAAEsL,EAAEC,GAC1b,SAASwzD,GAAGh/D,GAAiB,UAAdA,EAAEA,EAAEpf,aAAuBof,EAAEgrC,kBAC5C,SAASwuB,GAAGx5D,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEu4C,UAC4E,OADlE,OAAOhtC,IAAGA,EAAE8yD,GAAGr+D,EAAEqP,IAAIpP,EAAED,EAAExhB,IAAIwhB,EAAE05D,OAAQC,YAAY35D,EAAE25D,YAAYpuD,EAAE7W,KAAKsL,EAAEtL,KAAK6W,EAAEwlC,UAAU/wC,EAAE+wC,UAAUxlC,EAAEgtC,UAAUv4C,EAAEA,EAAEu4C,UAAUhtC,IAAIA,EAAEgzD,aAAat+D,EAAEsL,EAAEitC,UAAU,EAAEjtC,EAAE+rD,WAAW,KAAK/rD,EAAEwrD,YAAY,KAAKxrD,EAAEyrD,WAAW,MAAMzrD,EAAE0qD,oBAAoBj2D,EAAEi2D,oBAAoB1qD,EAAE6qD,eAAep2D,EAAEo2D,eAAe7qD,EAAEppB,MAAM6d,EAAE7d,MAAMopB,EAAEuvD,cAAc96D,EAAE86D,cAAcvvD,EAAEmtC,cAAc14C,EAAE04C,cAAcntC,EAAEksD,YAAYz3D,EAAEy3D,YAAYx3D,EAAED,EAAEmvC,aAAa5jC,EAAE4jC,aAAa,OAAOlvC,EAAE,KAAK,CAACm2D,eAAen2D,EAAEm2D,eACzfD,aAAal2D,EAAEk2D,aAAaI,WAAWt2D,EAAEs2D,YAAYhrD,EAAEutC,QAAQ94C,EAAE84C,QAAQvtC,EAAE7H,MAAM1D,EAAE0D,MAAM6H,EAAEvO,IAAIgD,EAAEhD,IAAWuO,EAC5G,SAASquD,GAAG55D,EAAEC,EAAEsL,EAAEC,EAAE1O,EAAE2O,GAAG,IAAI3d,EAAE,EAAM,GAAJ0d,EAAExL,EAAK,oBAAoBA,EAAEg/D,GAAGh/D,KAAKlS,EAAE,QAAQ,GAAG,kBAAkBkS,EAAElS,EAAE,OAAOkS,EAAE,OAAOA,GAAG,KAAKqxC,EAAG,OAAO0oB,GAAGxuD,EAAEvmB,SAAS8X,EAAE2O,EAAExL,GAAG,KAAKyxC,EAAG5jD,EAAE,EAAEgP,GAAG,EAAE,MAAM,KAAKw0C,EAAGxjD,EAAE,EAAEgP,GAAG,EAAE,MAAM,KAAKy0C,EAAG,OAAOvxC,EAAEq+D,GAAG,GAAG9yD,EAAEtL,EAAI,EAAFnD,IAAO68D,YAAYpoB,EAAGvxC,EAAEtL,KAAK68C,EAAGvxC,EAAEo2D,eAAe3qD,EAAEzL,EAAE,KAAK4xC,EAAG,OAAO5xC,EAAEq+D,GAAG,GAAG9yD,EAAEtL,EAAEnD,IAAKpI,KAAKk9C,EAAG5xC,EAAE25D,YAAY/nB,EAAG5xC,EAAEo2D,eAAe3qD,EAAEzL,EAAE,KAAK6xC,EAAG,OAAO7xC,EAAEq+D,GAAG,GAAG9yD,EAAEtL,EAAEnD,IAAK68D,YAAY9nB,EAAG7xC,EAAEo2D,eAAe3qD,EAAEzL,EAAE,QAAQ,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,OAAOA,EAAE2rC,UAAU,KAAK6F,EAAG1jD,EACpf,GAAG,MAAMkS,EAAE,KAAKyxC,EAAG3jD,EAAE,EAAE,MAAMkS,EAAE,KAAK2xC,EAAG7jD,EAAE,GAAG,MAAMkS,EAAE,KAAK8xC,EAAGhkD,EAAE,GAAG,MAAMkS,EAAE,KAAK+xC,EAAGjkD,EAAE,GAAG0d,EAAE,KAAK,MAAMxL,EAAE,MAAMhQ,MAAM+5C,EAAE,IAAI,MAAM/pC,EAAEA,SAASA,EAAE,KAAgE,OAA1DC,EAAEo+D,GAAGvwE,EAAEyd,EAAEtL,EAAEnD,IAAK68D,YAAY35D,EAAEC,EAAEvL,KAAK8W,EAAEvL,EAAEm2D,eAAe3qD,EAASxL,EAAE,SAAS85D,GAAG/5D,EAAEC,EAAEsL,EAAEC,GAAoC,OAAjCxL,EAAEq+D,GAAG,EAAEr+D,EAAEwL,EAAEvL,IAAKm2D,eAAe7qD,EAASvL,EAAE,SAASy5D,GAAGz5D,EAAEC,EAAEsL,GAAuC,OAApCvL,EAAEq+D,GAAG,EAAEr+D,EAAE,KAAKC,IAAKm2D,eAAe7qD,EAASvL,EAChV,SAAS85D,GAAG95D,EAAEC,EAAEsL,GAAuK,OAApKtL,EAAEo+D,GAAG,EAAE,OAAOr+D,EAAEhb,SAASgb,EAAEhb,SAAS,GAAGgb,EAAExhB,IAAIyhB,IAAKm2D,eAAe7qD,EAAEtL,EAAE8wC,UAAU,CAAC4J,cAAc36C,EAAE26C,cAAckvB,gBAAgB,KAAKhQ,eAAe75D,EAAE65D,gBAAuB55D,EAC9L,SAAS6pE,GAAG9pE,EAAEC,EAAEsL,GAAG/jB,KAAK6nB,IAAIpP,EAAEzY,KAAKmQ,QAAQ,KAAKnQ,KAAKmzD,cAAc36C,EAAExY,KAAKw/E,UAAUx/E,KAAKqiF,gBAAgB,KAAKriF,KAAK8+E,uBAAuB,EAAE9+E,KAAK6+E,aAAa,KAAK7+E,KAAKi/E,eAAe,EAAEj/E,KAAKk4E,eAAel4E,KAAKpE,QAAQ,KAAKoE,KAAKkzD,QAAQnvC,EAAE/jB,KAAKo+E,aAAa,KAAKp+E,KAAKm+E,iBAAiB,GAAGn+E,KAAK69E,gBAAgB79E,KAAKg+E,eAAeh+E,KAAKi+E,sBAAsBj+E,KAAK++E,kBAAkB/+E,KAAK8/E,mBAAmB9/E,KAAK+9E,iBAAiB,EACva,SAASD,GAAGtlE,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEsnE,mBAAyC,OAAtBtnE,EAAEA,EAAEumE,kBAAyB,IAAIh7D,GAAGA,GAAGtL,GAAGD,GAAGC,EAAE,SAASilE,GAAGllE,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEsnE,mBAAmB97D,EAAExL,EAAEumE,kBAAkBh7D,EAAEtL,IAAID,EAAEsnE,mBAAmBrnE,IAAMuL,EAAEvL,GAAG,IAAIsL,KAAEvL,EAAEumE,kBAAkBtmE,GAAEA,GAAGD,EAAEwlE,iBAAiBxlE,EAAEwlE,eAAe,GAAGvlE,GAAGD,EAAEqlE,kBAAkBrlE,EAAEqlE,gBAAgB,GAClT,SAASF,GAAGnlE,EAAEC,GAAGA,EAAED,EAAEulE,mBAAmBvlE,EAAEulE,iBAAiBtlE,GAAG,IAAIsL,EAAEvL,EAAEsnE,mBAAmB,IAAI/7D,IAAItL,GAAGsL,EAAEvL,EAAEsnE,mBAAmBtnE,EAAEumE,kBAAkBvmE,EAAEylE,sBAAsB,EAAExlE,GAAGD,EAAEumE,oBAAoBvmE,EAAEumE,kBAAkBtmE,EAAE,GAAGA,EAAED,EAAEylE,wBAAwBzlE,EAAEylE,sBAAsBxlE,IAAI,SAAS8lE,GAAG/lE,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEqlE,iBAAmB,IAAI95D,GAAGA,EAAEtL,KAAED,EAAEqlE,gBAAgBplE,GAC5V,SAAS8pE,GAAG/pE,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAEmD,EAAEtI,QAAQ8T,EAAE8sD,KAAKzqE,EAAEoqE,GAAG7pB,SAAS5iC,EAAE+sD,GAAG/sD,EAAE3O,EAAEhP,GAAGkS,EAAE,GAAGuL,EAAE,CAAyBtL,EAAE,CAAC,GAAGq4C,GAA9B/sC,EAAEA,EAAE+sD,uBAAkC/sD,GAAG,IAAIA,EAAE8D,IAAI,MAAMrf,MAAM+5C,EAAE,MAAM,IAAIh3B,EAAExH,EAAE,EAAE,CAAC,OAAOwH,EAAE1D,KAAK,KAAK,EAAE0D,EAAEA,EAAEg+B,UAAU3tD,QAAQ,MAAM6c,EAAE,KAAK,EAAE,GAAGsrC,GAAEx4B,EAAEre,MAAM,CAACqe,EAAEA,EAAEg+B,UAAUmiB,0CAA0C,MAAMjzD,GAAG8S,EAAEA,EAAEy/B,aAAa,OAAOz/B,GAAG,MAAM/iB,MAAM+5C,EAAE,MAAO,GAAG,IAAIx+B,EAAE8D,IAAI,CAAC,IAAI1L,EAAE4H,EAAE7W,KAAK,GAAG62C,GAAE5nC,GAAG,CAAC4H,EAAEynD,GAAGznD,EAAE5H,EAAEoP,GAAG,MAAM/S,GAAGuL,EAAEwH,OAAOxH,EAAEinD,GAC3W,OAD8W,OAAOvyD,EAAE7c,QAAQ6c,EAAE7c,QAAQmoB,EAAEtL,EAAEy/D,eAAen0D,GAAEtL,EAAEm3D,GAAG3rD,EAAE3d,IAAK6G,QAAQ,CAAC8uC,QAAQzjC,GACpe,QADuewL,OAAE,IAClfA,EAAE,KAAKA,KAAavL,EAAE3J,SAASkV,GAAGgsD,GAAG16D,EAAEmD,GAAGw4D,GAAG37D,EAAE2O,GAAUA,EAAE,SAASu+D,GAAGhqE,GAAe,KAAZA,EAAEA,EAAErI,SAAcxV,MAAM,OAAO,KAAK,OAAO6d,EAAE7d,MAAMktB,KAAK,KAAK,EAA2B,QAAQ,OAAOrP,EAAE7d,MAAM4uD,WAAW,SAASk5B,GAAGjqE,EAAEC,GAAqB,QAAlBD,EAAEA,EAAE04C,gBAAwB,OAAO14C,EAAE24C,YAAY34C,EAAEggE,UAAU//D,IAAID,EAAEggE,UAAU//D,GAAG,SAASiqE,GAAGlqE,EAAEC,GAAGgqE,GAAGjqE,EAAEC,IAAID,EAAEA,EAAEu4C,YAAY0xB,GAAGjqE,EAAEC,GACpV,SAASkqE,GAAGnqE,EAAEC,EAAEsL,GAA6B,IAAIC,EAAE,IAAIs+D,GAAG9pE,EAAEC,EAAzCsL,EAAE,MAAMA,IAAG,IAAKA,EAAEmvC,SAA4B59C,EAAEuhE,GAAG,EAAE,KAAK,KAAK,IAAIp+D,EAAE,EAAE,IAAIA,EAAE,EAAE,GAAGuL,EAAE7T,QAAQmF,EAAEA,EAAEi0C,UAAUvlC,EAAExL,EAAE0sD,IAAIlhD,EAAE7T,QAAQ4T,GAAG,IAAItL,GAjOtJ,SAAYD,GAAG,IAAIC,EAAE2mD,GAAG5mD,GAAG25C,GAAG35D,SAAQ,SAASurB,GAAGs7C,GAAGt7C,EAAEvL,EAAEC,MAAK25C,GAAG55D,SAAQ,SAASurB,GAAGs7C,GAAGt7C,EAAEvL,EAAEC,MAiO6DmqE,CAAG,IAAIpqE,EAAEuR,SAASvR,EAAEA,EAAE41C,eAAepuD,KAAK6iF,cAAc7+D,EACjN,SAAS8+D,GAAGtqE,GAAG,SAASA,GAAG,IAAIA,EAAEuR,UAAU,IAAIvR,EAAEuR,UAAU,KAAKvR,EAAEuR,WAAW,IAAIvR,EAAEuR,UAAU,iCAAiCvR,EAAEq3C,YAChI,SAASkzB,GAAGvqE,EAAEC,EAAEsL,EAAEC,EAAE1O,GAAG,IAAI2O,EAAEF,EAAE22D,oBAAoB,GAAGz2D,EAAE,CAAC,IAAI3d,EAAE2d,EAAE4+D,cAAc,GAAG,oBAAoBvtE,EAAE,CAAC,IAAIiW,EAAEjW,EAAEA,EAAE,WAAW,IAAIkD,EAAEgqE,GAAGl8E,GAAGilB,EAAE/xB,KAAKgf,IAAI+pE,GAAG9pE,EAAEnS,EAAEkS,EAAElD,OAAO,CAAmD,GAAlD2O,EAAEF,EAAE22D,oBAD9B,SAAYliE,EAAEC,GAA0H,GAAvHA,IAA2DA,MAAvDA,EAAED,EAAE,IAAIA,EAAEuR,SAASvR,EAAEjX,gBAAgBiX,EAAEtZ,WAAW,OAAa,IAAIuZ,EAAEsR,WAAWtR,EAAEuqE,aAAa,qBAAwBvqE,EAAE,IAAI,IAAIsL,EAAEA,EAAEvL,EAAEo3C,WAAWp3C,EAAEjZ,YAAYwkB,GAAG,OAAO,IAAI4+D,GAAGnqE,EAAE,EAAEC,EAAE,CAACy6C,SAAQ,QAAI,GACvK+vB,CAAGl/D,EAAEC,GAAG1d,EAAE2d,EAAE4+D,cAAiB,oBAAoBvtE,EAAE,CAAC,IAAI6G,EAAE7G,EAAEA,EAAE,WAAW,IAAIkD,EAAEgqE,GAAGl8E,GAAG6V,EAAE3iB,KAAKgf,IAAI+mE,IAAG,WAAWgD,GAAG9pE,EAAEnS,EAAEkS,EAAElD,MAAK,OAAOktE,GAAGl8E,GAG7G,SAAS48E,GAAG1qE,EAAEC,GAAG,IAAIsL,EAAE,EAAE1rB,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAIyqF,GAAGrqE,GAAG,MAAMjQ,MAAM+5C,EAAE,MAAM,OAHD,SAAY/pC,EAAEC,EAAEsL,GAAG,IAAIC,EAAE,EAAE3rB,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAAC8rD,SAASyF,EAAG5yD,IAAI,MAAMgtB,EAAE,KAAK,GAAGA,EAAExmB,SAASgb,EAAE26C,cAAc16C,EAAE45D,eAAetuD,GAGhKo/D,CAAG3qE,EAAEC,EAAE,KAAKsL,GALxI4+D,GAAGvpF,UAAUirC,OAAO,SAAS7rB,EAAEC,GAAG8pE,GAAG/pE,EAAExY,KAAK6iF,cAAc,UAAK,IAASpqE,EAAE,KAAKA,IAAIkqE,GAAGvpF,UAAUgqF,QAAQ,SAAS5qE,GAAG,IAAIC,EAAEzY,KAAK6iF,cAAc9+D,OAAE,IAASvL,EAAE,KAAKA,EAAEwL,EAAEvL,EAAE06C,cAAcovB,GAAG,KAAK9pE,EAAE,MAAK,WAAWuL,EAAEkhD,IAAI,KAAK,OAAOnhD,GAAGA,QAGrbytC,GAAG,SAASh5C,GAAG,GAAG,KAAKA,EAAEqP,IAAI,CAAC,IAAIpP,EAAEs1D,GAAGgD,KAAK,IAAI,KAAKE,GAAGz4D,EAAEC,GAAGiqE,GAAGlqE,EAAEC,KAAKg5C,GAAG,SAASj5C,GAAG,GAAG,KAAKA,EAAEqP,IAAI,CAACkpD,KAAK,IAAIt4D,EAAEq1D,KAAKmD,GAAGz4D,EAAEC,GAAGiqE,GAAGlqE,EAAEC,KAAKi5C,GAAG,SAASl5C,GAAG,GAAG,KAAKA,EAAEqP,IAAI,CAAC,IAAIpP,EAAEs4D,KAAoBE,GAAGz4D,EAAlBC,EAAEu4D,GAAGv4D,EAAED,EAAE,OAAckqE,GAAGlqE,EAAEC,KAC5MyyC,GAAG,SAAS1yC,EAAEC,EAAEsL,GAAG,OAAOtL,GAAG,IAAK,QAAyB,GAAjBw1C,GAAGz1C,EAAEuL,GAAGtL,EAAEsL,EAAEhiB,KAAQ,UAAUgiB,EAAE7W,MAAM,MAAMuL,EAAE,CAAC,IAAIsL,EAAEvL,EAAEuL,EAAE6F,YAAY7F,EAAEA,EAAE6F,WAAsF,IAA3E7F,EAAEA,EAAEs/D,iBAAiB,cAActkD,KAAKC,UAAU,GAAGvmB,GAAG,mBAAuBA,EAAE,EAAEA,EAAEsL,EAAEzrB,OAAOmgB,IAAI,CAAC,IAAIuL,EAAED,EAAEtL,GAAG,GAAGuL,IAAIxL,GAAGwL,EAAEs/D,OAAO9qE,EAAE8qE,KAAK,CAAC,IAAIhuE,EAAE8vD,GAAGphD,GAAG,IAAI1O,EAAE,MAAM9M,MAAM+5C,EAAE,KAAKgL,GAAGvpC,GAAGiqC,GAAGjqC,EAAE1O,KAAK,MAAM,IAAK,WAAWu5C,GAAGr2C,EAAEuL,GAAG,MAAM,IAAK,SAAmB,OAAVtL,EAAEsL,EAAE9sB,QAAeu3D,GAAGh2C,IAAIuL,EAAE82D,SAASpiE,GAAE,KAAM+yC,GAAG8zB,GAC9Z7zB,GAAG,SAASjzC,EAAEC,EAAEsL,EAAEC,GAAG,IAAI1O,EAAEuvC,GAAEA,IAAG,EAAE,IAAI,OAAO4oB,GAAG,GAAGj1D,EAAE/I,KAAK,KAAKgJ,EAAEsL,EAAEC,IAAjC,SAA6C6gC,GAAEvvC,KAAMsvC,IAAGipB,OAAOniB,GAAG,YAAY7G,IAAG,EAAEo3B,GAAGC,OAAOt3B,KA7D/H,WAAc,GAAG,OAAOu4B,GAAG,CAAC,IAAI3kE,EAAE2kE,GAAGA,GAAG,KAAK3kE,EAAEhgB,SAAQ,SAASggB,EAAEuL,GAAGw6D,GAAGx6D,EAAEvL,GAAGyuC,GAAEljC,MAAK8pD,MA6D+C0V,GAAK/E,OAAO7yB,GAAG,SAASnzC,EAAEC,GAAG,IAAIsL,EAAE8gC,GAAEA,IAAG,EAAE,IAAI,OAAOrsC,EAAEC,GAAb,SAAwBosC,GAAE9gC,KAAM6gC,IAAGipB,OAChN,IAAI2V,GAAG,CAACC,aAAaP,GAAGv/E,YAAY,SAAS6U,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEuR,SAAS,OAAOvR,EAAE,IAAIC,EAAED,EAAEs4D,oBAAoB,QAAG,IAASr4D,EAAE,CAAC,GAAG,oBAAoBD,EAAE6rB,OAAO,MAAM77B,MAAM+5C,EAAE,MAAM,MAAM/5C,MAAM+5C,EAAE,IAAIrrD,OAAOQ,KAAK8gB,KAA0C,OAA5BA,EAAE,QAAVA,EAAE64C,GAAG54C,IAAc,KAAKD,EAAE+wC,WAAoB2J,QAAQ,SAAS16C,EAAEC,EAAEsL,GAAG,IAAI++D,GAAGrqE,GAAG,MAAMjQ,MAAM+5C,EAAE,MAAM,OAAOwgC,GAAG,KAAKvqE,EAAEC,GAAE,EAAGsL,IAAIsgB,OAAO,SAAS7rB,EAAEC,EAAEsL,GAAG,IAAI++D,GAAGrqE,GAAG,MAAMjQ,MAAM+5C,EAAE,MAAM,OAAOwgC,GAAG,KAAKvqE,EAAEC,GAAE,EAAGsL,IAAI2/D,oCAAoC,SAASlrE,EAAEC,EAAEsL,EAAEC,GAAG,IAAI8+D,GAAG/+D,GAAG,MAAMvb,MAAM+5C,EAAE,MAChgB,GAAG,MAAM/pC,QAAG,IAASA,EAAEs4D,oBAAoB,MAAMtoE,MAAM+5C,EAAE,KAAK,OAAOwgC,GAAGvqE,EAAEC,EAAEsL,GAAE,EAAGC,IAAI2/D,uBAAuB,SAASnrE,GAAG,IAAIsqE,GAAGtqE,GAAG,MAAMhQ,MAAM+5C,EAAE,KAAK,QAAO/pC,EAAEkiE,sBAAqB6E,IAAG,WAAWwD,GAAG,KAAK,KAAKvqE,GAAE,GAAG,WAAWA,EAAEkiE,oBAAoB,KAAKliE,EAAE0sD,IAAI,YAAS,IAAQ0e,sBAAsB,WAAW,OAAOV,GAAGjrF,WAAM,EAAOI,YAAYwrF,wBAAwBvE,GAAGwE,UAAU,SAAStrE,EAAEC,GAAG,IAAIosC,IAAGo3B,GAAGC,OAAOt3B,GAAE,MAAMp8C,MAAM+5C,EAAE,MAAM,IAAIx+B,EAAE8gC,GAAEA,IAAG,EAAE,IAAI,OAAO4oB,GAAG,GAAGj1D,EAAE/I,KAAK,KAAKgJ,IAA7B,QAAyCosC,GAAE9gC,EAAE8pD,OAAOnnB,mDAAmD,CAACq9B,OAAO,CAAClxB,GAC3iBsS,GAAGC,GAAGjc,EAAGE,yBAAyBhC,EAAGkN,GAAG,SAAS/7C,GAAGkwC,EAAGlwC,EAAE87C,KAAKhJ,GAAGC,GAAGuT,GAAG5V,EAAGs1B,GAAG,CAACruE,SAAQ,OACtF,SAAUqI,GAAG,IAAIC,EAAED,EAAEwrE,yBAtBrB,SAAYxrE,GAAG,GAAG,qBAAqB9L,+BAA+B,OAAM,EAAG,IAAI+L,EAAE/L,+BAA+B,GAAG+L,EAAEwrE,aAAaxrE,EAAEyrE,cAAc,OAAM,EAAG,IAAI,IAAIngE,EAAEtL,EAAE2Q,OAAO5Q,GAAGqpE,GAAG,SAASrpE,GAAG,IAAIC,EAAE0rE,kBAAkBpgE,EAAEvL,OAAE,EAAO,MAA0B,GAApBA,EAAErI,QAAQ6gD,YAAe,MAAM17C,MAAM8kE,GAAG,SAAS5hE,GAAG,IAAIC,EAAE2rE,qBAAqBrgE,EAAEvL,GAAG,MAAMlD,MAAM,MAAM0O,MAsB/R3C,CAAGjF,EAAE,GAAG5D,EAAE,CAAC6rE,kBAAkB,KAAKC,cAAc,KAAKC,mBAAmB,KAAKC,eAAe,KAAKC,qBAAqBh7B,EAAG9C,uBAAuB+9B,wBAAwB,SAASlsE,GAAW,OAAO,QAAfA,EAAE64C,GAAG74C,IAAmB,KAAKA,EAAE+wC,WAAWy6B,wBAAwB,SAASxrE,GAAG,OAAOC,EAAEA,EAAED,GAAG,MAAMmsE,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,QAAzb,CAAmc,CAACf,wBAAwBjxB,GAAGiyB,WAAW,EAAEj8E,QAAQ,UACpfk8E,oBAAoB,cAAc,IAAIC,GAAG,CAACz/E,QAAQ+9E,IAAI2B,GAAGD,IAAI1B,IAAI0B,GAAGvuF,EAAOC,QAAQuuF,GAAG1/E,SAAS0/E,I,6BC9R7FxuF,EAAOC,QAAUC,EAAQ,M,6BCMyC,IAAIotB,EAAE3d,EAAEilB,EAAEpP,EAAE6O,EAChF,GADa9zB,OAAOC,eAAeP,EAAQ,aAAa,CAACK,OAAM,IAC5D,qBAAqBua,QAAQ,oBAAoB4zE,eAAe,CAAC,IAAIrrF,EAAE,KAAKuyB,EAAE,KAAKC,EAAE,SAAFA,IAAa,GAAG,OAAOxyB,EAAE,IAAI,IAAIye,EAAE5hB,EAAQy1E,eAAetyE,GAAE,EAAGye,GAAGze,EAAE,KAAK,MAAM0e,GAAG,MAAMisD,WAAWn4C,EAAE,GAAG9T,IAAK8pC,EAAEznC,KAAK86C,MAAMh/D,EAAQy1E,aAAa,WAAW,OAAOvxD,KAAK86C,MAAMrT,GAAGt+B,EAAE,SAASzL,GAAG,OAAOze,EAAE2qE,WAAWzgD,EAAE,EAAEzL,IAAIze,EAAEye,EAAEksD,WAAWn4C,EAAE,KAAKjmB,EAAE,SAASkS,EAAEC,GAAG6T,EAAEo4C,WAAWlsD,EAAEC,IAAI8S,EAAE,WAAWq5C,aAAat4C,IAAInQ,EAAE,WAAW,OAAM,GAAI6O,EAAEp0B,EAAQyuF,wBAAwB,iBAAiB,CAAC,IAAI7iC,EAAEhxC,OAAO8zE,YAAYjpF,EAAEmV,OAAOsJ,KACnfxe,EAAEkV,OAAOkzD,WAAWjiB,EAAEjxC,OAAOozD,aAAa,GAAG,qBAAqBt5D,QAAQ,CAAC,IAAIq3C,EAAEnxC,OAAO+zE,qBAAqB,oBAAoB/zE,OAAOg0E,uBAAuBl6E,QAAQT,MAAM,2IAA2I,oBAAoB83C,GAAGr3C,QAAQT,MAAM,0IAA0I,GAAG,kBACne23C,GAAG,oBAAoBA,EAAEoT,IAAIh/D,EAAQy1E,aAAa,WAAW,OAAO7pB,EAAEoT,WAAW,CAAC,IAAIhT,EAAEvmD,EAAEu5D,MAAMh/D,EAAQy1E,aAAa,WAAW,OAAOhwE,EAAEu5D,MAAMhT,GAAG,IAAIC,GAAE,EAAGK,EAAE,KAAKC,GAAG,EAAEG,EAAE,EAAEC,EAAE,EAAEpnC,EAAE,WAAW,OAAOvlB,EAAQy1E,gBAAgB9oB,GAAGv4B,EAAE,aAAap0B,EAAQyuF,wBAAwB,SAAS7sE,GAAG,EAAEA,GAAG,IAAIA,EAAElN,QAAQT,MAAM,oHAAoHy4C,EAAE,EAAE9qC,EAAEmI,KAAK0L,MAAM,IAAI7T,GAAG,GAAG,IAAIkrC,EAAE,IAAI0hC,eAAexhC,EAAEF,EAAE+hC,MAAM/hC,EAAEgiC,MAAMC,UACnf,WAAW,GAAG,OAAOziC,EAAE,CAAC,IAAI1qC,EAAE5hB,EAAQy1E,eAAe9oB,EAAE/qC,EAAE8qC,EAAE,IAAIJ,GAAE,EAAG1qC,GAAGorC,EAAEgiC,YAAY,OAAO/iC,GAAE,EAAGK,EAAE,MAAM,MAAMzqC,GAAG,MAAMmrC,EAAEgiC,YAAY,MAAMntE,QAASoqC,GAAE,GAAI5+B,EAAE,SAASzL,GAAG0qC,EAAE1qC,EAAEqqC,IAAIA,GAAE,EAAGe,EAAEgiC,YAAY,QAAQt/E,EAAE,SAASkS,EAAEC,GAAG0qC,EAAE7mD,GAAE,WAAWkc,EAAE5hB,EAAQy1E,kBAAiB5zD,IAAI8S,EAAE,WAAWk3B,EAAEU,GAAGA,GAAG,GAAG,SAASU,EAAErrC,EAAEC,GAAG,IAAIsL,EAAEvL,EAAElgB,OAAOkgB,EAAExgB,KAAKygB,GAAGD,EAAE,OAAO,CAAC,IAAIwL,EAAErD,KAAK0L,OAAOtI,EAAE,GAAG,GAAGzO,EAAEkD,EAAEwL,GAAG,UAAG,IAAS1O,GAAG,EAAEwuC,EAAExuC,EAAEmD,IAA0B,MAAMD,EAA7BA,EAAEwL,GAAGvL,EAAED,EAAEuL,GAAGzO,EAAEyO,EAAEC,GAAgB,SAAS+/B,EAAEvrC,GAAU,YAAO,KAAdA,EAAEA,EAAE,IAAqB,KAAKA,EAC1d,SAAS0rC,EAAE1rC,GAAG,IAAIC,EAAED,EAAE,GAAG,QAAG,IAASC,EAAE,CAAC,IAAIsL,EAAEvL,EAAE6D,MAAM,GAAG0H,IAAItL,EAAE,CAACD,EAAE,GAAGuL,EAAEvL,EAAE,IAAI,IAAIwL,EAAE,EAAE1O,EAAEkD,EAAElgB,OAAO0rB,EAAE1O,GAAG,CAAC,IAAIkjC,EAAE,GAAGx0B,EAAE,GAAG,EAAE5H,EAAE5D,EAAEggC,GAAGztB,EAAEytB,EAAE,EAAE3tB,EAAErS,EAAEuS,GAAG,QAAG,IAAS3O,GAAG,EAAE0nC,EAAE1nC,EAAE2H,QAAG,IAAS8G,GAAG,EAAEi5B,EAAEj5B,EAAEzO,IAAI5D,EAAEwL,GAAG6G,EAAErS,EAAEuS,GAAGhH,EAAEC,EAAE+G,IAAIvS,EAAEwL,GAAG5H,EAAE5D,EAAEggC,GAAGz0B,EAAEC,EAAEw0B,OAAQ,WAAG,IAAS3tB,GAAG,EAAEi5B,EAAEj5B,EAAE9G,IAA0B,MAAMvL,EAA7BA,EAAEwL,GAAG6G,EAAErS,EAAEuS,GAAGhH,EAAEC,EAAE+G,IAAgB,OAAOtS,EAAE,OAAO,KAAK,SAASqrC,EAAEtrC,EAAEC,GAAG,IAAIsL,EAAEvL,EAAEqtE,UAAUptE,EAAEotE,UAAU,OAAO,IAAI9hE,EAAEA,EAAEvL,EAAEpb,GAAGqb,EAAErb,GAAG,IAAIinD,EAAE,GAAGC,EAAE,GAAGC,EAAE,EAAEC,EAAE,KAAKE,EAAE,EAAEE,GAAE,EAAGC,GAAE,EAAGF,GAAE,EACja,SAASM,EAAEzsC,GAAG,IAAI,IAAIC,EAAEsrC,EAAEO,GAAG,OAAO7rC,GAAG,CAAC,GAAG,OAAOA,EAAE3J,SAASo1C,EAAEI,OAAQ,MAAG7rC,EAAEqtE,WAAWttE,GAAgD,MAA9C0rC,EAAEI,GAAG7rC,EAAEotE,UAAUptE,EAAEm2D,eAAe/qB,EAAEQ,EAAE5rC,GAAcA,EAAEsrC,EAAEO,IAAI,SAASa,EAAE3sC,GAAa,GAAVmsC,GAAE,EAAGM,EAAEzsC,IAAOqsC,EAAE,GAAG,OAAOd,EAAEM,GAAGQ,GAAE,EAAG5gC,EAAEmhC,OAAO,CAAC,IAAI3sC,EAAEsrC,EAAEO,GAAG,OAAO7rC,GAAGnS,EAAE6+C,EAAE1sC,EAAEqtE,UAAUttE,IACtP,SAAS4sC,EAAE5sC,EAAEC,GAAGosC,GAAE,EAAGF,IAAIA,GAAE,EAAGp5B,KAAKq5B,GAAE,EAAG,IAAI7gC,EAAE2gC,EAAE,IAAS,IAALO,EAAExsC,GAAO+rC,EAAET,EAAEM,GAAG,OAAOG,MAAMA,EAAEoqB,eAAen2D,IAAID,IAAI2D,MAAM,CAAC,IAAI6H,EAAEwgC,EAAE11C,SAAS,GAAG,OAAOkV,EAAE,CAACwgC,EAAE11C,SAAS,KAAK41C,EAAEF,EAAEuhC,cAAc,IAAIzwE,EAAE0O,EAAEwgC,EAAEoqB,gBAAgBn2D,GAAGA,EAAE7hB,EAAQy1E,eAAe,oBAAoB/2D,EAAEkvC,EAAE11C,SAASwG,EAAEkvC,IAAIT,EAAEM,IAAIH,EAAEG,GAAGY,EAAExsC,QAAQyrC,EAAEG,GAAGG,EAAET,EAAEM,GAAG,GAAG,OAAOG,EAAE,IAAIhM,GAAE,MAAO,CAAC,IAAIp8B,EAAE2nC,EAAEO,GAAG,OAAOloC,GAAG9V,EAAE6+C,EAAE/oC,EAAE0pE,UAAUrtE,GAAG+/B,GAAE,EAAG,OAAOA,EAA7U,QAAuVgM,EAAE,KAAKE,EAAE3gC,EAAE6gC,GAAE,GACpZ,SAASoC,EAAExuC,GAAG,OAAOA,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,WAAW,KAAK,EAAE,OAAO,IAAI,QAAQ,OAAO,KAAK,IAAIyuC,EAAEj8B,EAAEp0B,EAAQ61E,2BAA2B,EAAE71E,EAAQsnE,8BAA8B,EAAEtnE,EAAQ+8D,wBAAwB,EAAE/8D,EAAQm2E,sBAAsB,EAAEn2E,EAAQi2E,qBAAqB,EAAEj2E,EAAQo8D,yBAAyB,SAASx6C,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAIuL,EAAE2gC,EAAEA,EAAElsC,EAAE,IAAI,OAAOC,IAAX,QAAuBisC,EAAE3gC,IAClcntB,EAAQ4/E,cAAc,SAASh+D,GAAG,OAAOksC,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAIjsC,EAAE,EAAE,MAAM,QAAQA,EAAEisC,EAAE,IAAI3gC,EAAE2gC,EAAEA,EAAEjsC,EAAE,IAAI,OAAOD,IAAX,QAAuBksC,EAAE3gC,IAChIntB,EAAQ88D,0BAA0B,SAASl7C,EAAEC,EAAEsL,GAAG,IAAIC,EAAEptB,EAAQy1E,eAAe,GAAG,kBAAkBtoD,GAAG,OAAOA,EAAE,CAAC,IAAIzO,EAAEyO,EAAEiiE,MAAM1wE,EAAE,kBAAkBA,GAAG,EAAEA,EAAE0O,EAAE1O,EAAE0O,EAAED,EAAE,kBAAkBA,EAAEu6D,QAAQv6D,EAAEu6D,QAAQt3B,EAAExuC,QAAQuL,EAAEijC,EAAExuC,GAAGlD,EAAE0O,EAAyM,OAAjMxL,EAAE,CAACpb,GAAGmnD,IAAIz1C,SAAS2J,EAAEstE,cAAcvtE,EAAEstE,UAAUxwE,EAAEs5D,eAAvD7qD,EAAEzO,EAAEyO,EAAoE8hE,WAAW,GAAGvwE,EAAE0O,GAAGxL,EAAEqtE,UAAUvwE,EAAEuuC,EAAES,EAAE9rC,GAAG,OAAOurC,EAAEM,IAAI7rC,IAAIurC,EAAEO,KAAKK,EAAEp5B,IAAIo5B,GAAE,EAAGr+C,EAAE6+C,EAAE7vC,EAAE0O,MAAMxL,EAAEqtE,UAAU9hE,EAAE8/B,EAAEQ,EAAE7rC,GAAGqsC,GAAGD,IAAIC,GAAE,EAAG5gC,EAAEmhC,KAAY5sC,GAAG5hB,EAAQm1E,wBAAwB,SAASvzD,GAAGA,EAAE1J,SAAS,MACrelY,EAAQqvF,sBAAsB,SAASztE,GAAG,IAAIC,EAAEisC,EAAE,OAAO,WAAW,IAAI3gC,EAAE2gC,EAAEA,EAAEjsC,EAAE,IAAI,OAAOD,EAAEvgB,MAAM+H,KAAK3H,WAAxB,QAA2CqsD,EAAE3gC,KAAKntB,EAAQ21E,iCAAiC,WAAW,OAAO7nB,GAAG9tD,EAAQq1E,qBAAqB,WAAW,IAAIzzD,EAAE5hB,EAAQy1E,eAAepnB,EAAEzsC,GAAG,IAAIC,EAAEsrC,EAAEM,GAAG,OAAO5rC,IAAI+rC,GAAG,OAAOA,GAAG,OAAO/rC,GAAG,OAAOA,EAAE3J,UAAU2J,EAAEqtE,WAAWttE,GAAGC,EAAEm2D,eAAepqB,EAAEoqB,gBAAgBzyD,KAAKvlB,EAAQu1E,sBAAsBllB,EAAErwD,EAAQsvF,2BAA2B,WAAWrhC,GAAGD,IAAIC,GAAE,EAAG5gC,EAAEmhC,KAC9dxuD,EAAQuvF,wBAAwB,aAAavvF,EAAQwvF,8BAA8B,WAAW,OAAOriC,EAAEM,IAAIztD,EAAQyvF,mBAAmB,M,6BCZtI,IAAIC,EAAuBzvF,EAAQ,KAEnC,SAAS0vF,KACT,SAASC,KACTA,EAAuBC,kBAAoBF,EAE3C5vF,EAAOC,QAAU,WACf,SAAS8vF,EAAKrsF,EAAOuM,EAAUH,EAAe6B,EAAUq+E,EAAcC,GACpE,GAAIA,IAAWN,EAAf,CAIA,IAAI35E,EAAM,IAAInE,MACZ,mLAKF,MADAmE,EAAI5K,KAAO,sBACL4K,GAGR,SAASk6E,IACP,OAAOH,EAFTA,EAAKt1E,WAAas1E,EAMlB,IAAII,EAAiB,CACnBC,MAAOL,EACPriF,KAAMqiF,EACNv1E,KAAMu1E,EACNj7C,OAAQi7C,EACRlvF,OAAQkvF,EACRn7C,OAAQm7C,EACRM,OAAQN,EAERp1E,IAAKo1E,EACLO,QAASJ,EACT5qC,QAASyqC,EACTvU,YAAauU,EACbQ,WAAYL,EACZtpF,KAAMmpF,EACNS,SAAUN,EACVh/E,MAAOg/E,EACPr7C,UAAWq7C,EACX31E,MAAO21E,EACPlhD,MAAOkhD,EAEPO,eAAgBZ,EAChBC,kBAAmBF,GAKrB,OAFAO,EAAevrF,UAAYurF,EAEpBA,I,6BCnDTnwF,EAAOC,QAFoB,gD,6BCAdM,OAAOC,eAAeP,EAAQ,aAAa,CAACK,OAAM,IAC/D,IAAIwhB,EAAE,oBAAoBxf,QAAQA,OAAOqpD,IAAIv+B,EAAEtL,EAAExf,OAAOqpD,IAAI,iBAAiB,MAAMt+B,EAAEvL,EAAExf,OAAOqpD,IAAI,gBAAgB,MAAMhtC,EAAEmD,EAAExf,OAAOqpD,IAAI,kBAAkB,MAAMr+B,EAAExL,EAAExf,OAAOqpD,IAAI,qBAAqB,MAAMh8C,EAAEmS,EAAExf,OAAOqpD,IAAI,kBAAkB,MAAM/2B,EAAE9S,EAAExf,OAAOqpD,IAAI,kBAAkB,MAAMnmC,EAAE1D,EAAExf,OAAOqpD,IAAI,iBAAiB,MAAMt3B,EAAEvS,EAAExf,OAAOqpD,IAAI,oBAAoB,MAAM9J,EAAE//B,EAAExf,OAAOqpD,IAAI,yBAAyB,MAAMlmC,EAAE3D,EAAExf,OAAOqpD,IAAI,qBAAqB,MAAMvoD,EAAE0e,EAAExf,OAAOqpD,IAAI,kBAAkB,MAAMh2B,EAAE7T,EAAExf,OAAOqpD,IAAI,uBACpf,MAAMz3B,EAAEpS,EAAExf,OAAOqpD,IAAI,cAAc,MAAM/1B,EAAE9T,EAAExf,OAAOqpD,IAAI,cAAc,MAAMv3B,EAAEtS,EAAExf,OAAOqpD,IAAI,qBAAqB,MAAME,EAAE/pC,EAAExf,OAAOqpD,IAAI,mBAAmB,MAAMjmD,EAAEoc,EAAExf,OAAOqpD,IAAI,eAAe,MAAM,SAAShmD,EAAEkc,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAI+pC,EAAE/pC,EAAE2rC,SAAS,OAAO5B,GAAG,KAAKx+B,EAAE,OAAOvL,EAAEA,EAAEtL,MAAQ,KAAK8d,EAAE,KAAKwtB,EAAE,KAAKljC,EAAE,KAAKhP,EAAE,KAAK2d,EAAE,KAAKlqB,EAAE,OAAOye,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE2rC,UAAY,KAAKhoC,EAAE,KAAKC,EAAE,KAAKmP,EAAE,OAAO/S,EAAE,QAAQ,OAAO+pC,GAAG,KAAKh2B,EAAE,KAAK1B,EAAE,KAAK7G,EAAE,OAAOu+B,IAAI,SAASE,EAAEjqC,GAAG,OAAOlc,EAAEkc,KAAKggC,EACxe5hD,EAAQywF,OAAO/qF,EAAE1F,EAAQ0wF,UAAUt8D,EAAEp0B,EAAQ2wF,eAAe/uC,EAAE5hD,EAAQ4wF,gBAAgBrrE,EAAEvlB,EAAQ6wF,gBAAgBl8D,EAAE30B,EAAQkzB,QAAQ/F,EAAEntB,EAAQ22C,WAAWnxB,EAAExlB,EAAQm/C,SAASzgC,EAAE1e,EAAQ8wF,KAAKn7D,EAAE31B,EAAQ+wF,KAAK98D,EAAEj0B,EAAQgxF,OAAO5jE,EAAEptB,EAAQyvD,SAAS//C,EAAE1P,EAAQ0vD,WAAWriC,EAAErtB,EAAQ2vD,SAASxsD,EACpRnD,EAAQixF,mBAAmB,SAASrvE,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAIlD,GAAGkD,IAAIggC,GAAGhgC,IAAIlS,GAAGkS,IAAIyL,GAAGzL,IAAIze,GAAGye,IAAI8T,GAAG,kBAAkB9T,GAAG,OAAOA,IAAIA,EAAE2rC,WAAW53B,GAAG/T,EAAE2rC,WAAWt5B,GAAGrS,EAAE2rC,WAAW54B,GAAG/S,EAAE2rC,WAAWhoC,GAAG3D,EAAE2rC,WAAW/nC,GAAG5D,EAAE2rC,WAAWp5B,GAAGvS,EAAE2rC,WAAW3B,GAAGhqC,EAAE2rC,WAAW9nD,IAAIzF,EAAQkxF,YAAY,SAAStvE,GAAG,OAAOiqC,EAAEjqC,IAAIlc,EAAEkc,KAAKwS,GAAGp0B,EAAQmxF,iBAAiBtlC,EAAE7rD,EAAQmd,kBAAkB,SAASyE,GAAG,OAAOlc,EAAEkc,KAAK2D,GAAGvlB,EAAQoxF,kBAAkB,SAASxvE,GAAG,OAAOlc,EAAEkc,KAAK+S,GACje30B,EAAQqxF,UAAU,SAASzvE,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE2rC,WAAWpgC,GAAGntB,EAAQsxF,aAAa,SAAS1vE,GAAG,OAAOlc,EAAEkc,KAAK4D,GAAGxlB,EAAQuxF,WAAW,SAAS3vE,GAAG,OAAOlc,EAAEkc,KAAKlD,GAAG1e,EAAQwxF,OAAO,SAAS5vE,GAAG,OAAOlc,EAAEkc,KAAK+T,GAAG31B,EAAQ02C,OAAO,SAAS90B,GAAG,OAAOlc,EAAEkc,KAAKqS,GAAGj0B,EAAQyxF,SAAS,SAAS7vE,GAAG,OAAOlc,EAAEkc,KAAKwL,GAAGptB,EAAQ0xF,WAAW,SAAS9vE,GAAG,OAAOlc,EAAEkc,KAAKlS,GAAG1P,EAAQ2xF,aAAa,SAAS/vE,GAAG,OAAOlc,EAAEkc,KAAKyL,GAAGrtB,EAAQ4xF,WAAW,SAAShwE,GAAG,OAAOlc,EAAEkc,KAAKze,I,cCd1cpD,EAAOC,QAAU,SAAS6xF,GACzB,IAAKA,EAAeC,gBAAiB,CACpC,IAAI/xF,EAASO,OAAOiD,OAAOsuF,GAEtB9xF,EAAO6G,WAAU7G,EAAO6G,SAAW,IACxCtG,OAAOC,eAAeR,EAAQ,SAAU,CACvCS,YAAY,EACZwM,IAAK,WACJ,OAAOjN,EAAOq0B,KAGhB9zB,OAAOC,eAAeR,EAAQ,KAAM,CACnCS,YAAY,EACZwM,IAAK,WACJ,OAAOjN,EAAOyB,KAGhBlB,OAAOC,eAAeR,EAAQ,UAAW,CACxCS,YAAY,IAEbT,EAAO+xF,gBAAkB,EAE1B,OAAO/xF,I,gBCfR,IAAIgyF,EAAW,SAAU/xF,GACvB,aAEA,IAEIqW,EAFA27E,EAAK1xF,OAAOkC,UACZkQ,EAASs/E,EAAG/sF,eAEZgtF,EAA4B,oBAAX5vF,OAAwBA,OAAS,GAClD6vF,EAAiBD,EAAQ3vF,UAAY,aACrC6vF,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQK,aAAe,gBAE/C,SAASC,EAAKC,EAASC,EAAS9vF,EAAM+vF,GAEpC,IAAIC,EAAiBF,GAAWA,EAAQjwF,qBAAqBowF,EAAYH,EAAUG,EAC/ErhD,EAAYjxC,OAAOiD,OAAOovF,EAAenwF,WACzCwC,EAAU,IAAIqV,EAAQq4E,GAAe,IAMzC,OAFAnhD,EAAUshD,QAkMZ,SAA0BL,EAAS7vF,EAAMqC,GACvC,IAAI0H,EAAQomF,EAEZ,OAAO,SAAgBp8E,EAAQ7D,GAC7B,GAAInG,IAAUqmF,EACZ,MAAM,IAAInhF,MAAM,gCAGlB,GAAIlF,IAAUsmF,EAAmB,CAC/B,GAAe,UAAXt8E,EACF,MAAM7D,EAKR,OAAOogF,IAMT,IAHAjuF,EAAQ0R,OAASA,EACjB1R,EAAQ6N,IAAMA,IAED,CACX,IAAIqgF,EAAWluF,EAAQkuF,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUluF,GACnD,GAAImuF,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,GAIX,GAAuB,SAAnBnuF,EAAQ0R,OAGV1R,EAAQsuF,KAAOtuF,EAAQuuF,MAAQvuF,EAAQ6N,SAElC,GAAuB,UAAnB7N,EAAQ0R,OAAoB,CACrC,GAAIhK,IAAUomF,EAEZ,MADApmF,EAAQsmF,EACFhuF,EAAQ6N,IAGhB7N,EAAQwuF,kBAAkBxuF,EAAQ6N,SAEN,WAAnB7N,EAAQ0R,QACjB1R,EAAQyuF,OAAO,SAAUzuF,EAAQ6N,KAGnCnG,EAAQqmF,EAER,IAAIW,EAASC,EAASnB,EAAS7vF,EAAMqC,GACrC,GAAoB,WAAhB0uF,EAAOp9E,KAAmB,CAO5B,GAJA5J,EAAQ1H,EAAQ+f,KACZiuE,EACAY,EAEAF,EAAO7gF,MAAQwgF,EACjB,SAGF,MAAO,CACLhzF,MAAOqzF,EAAO7gF,IACdkS,KAAM/f,EAAQ+f,MAGS,UAAhB2uE,EAAOp9E,OAChB5J,EAAQsmF,EAGRhuF,EAAQ0R,OAAS,QACjB1R,EAAQ6N,IAAM6gF,EAAO7gF,OA1QPghF,CAAiBrB,EAAS7vF,EAAMqC,GAE7CusC,EAcT,SAASoiD,EAASxrE,EAAIhoB,EAAK0S,GACzB,IACE,MAAO,CAAEyD,KAAM,SAAUzD,IAAKsV,EAAGvlB,KAAKzC,EAAK0S,IAC3C,MAAOkD,GACP,MAAO,CAAEO,KAAM,QAASzD,IAAKkD,IAhBjC/V,EAAQuyF,KAAOA,EAoBf,IAAIO,EAAyB,iBACzBc,EAAyB,iBACzBb,EAAoB,YACpBC,EAAoB,YAIpBK,EAAmB,GAMvB,SAAST,KACT,SAASkB,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBA,EAAkB9B,GAAkB,WAClC,OAAO9oF,MAGT,IAAI6qF,EAAW3zF,OAAO4B,eAClBgyF,EAA0BD,GAAYA,EAASA,EAASxjF,EAAO,MAC/DyjF,GACAA,IAA4BlC,GAC5Bt/E,EAAO9P,KAAKsxF,EAAyBhC,KAGvC8B,EAAoBE,GAGtB,IAAIC,EAAKJ,EAA2BvxF,UAClCowF,EAAUpwF,UAAYlC,OAAOiD,OAAOywF,GAQtC,SAASI,EAAsB5xF,GAC7B,CAAC,OAAQ,QAAS,UAAUZ,SAAQ,SAAS8U,GAC3ClU,EAAUkU,GAAU,SAAS7D,GAC3B,OAAOzJ,KAAKypF,QAAQn8E,EAAQ7D,OAoClC,SAASwhF,EAAc9iD,GAgCrB,IAAI+iD,EAgCJlrF,KAAKypF,QA9BL,SAAiBn8E,EAAQ7D,GACvB,SAAS0hF,IACP,OAAO,IAAIC,SAAQ,SAASC,EAASC,IAnCzC,SAASC,EAAOj+E,EAAQ7D,EAAK4hF,EAASC,GACpC,IAAIhB,EAASC,EAASpiD,EAAU76B,GAAS66B,EAAW1+B,GACpD,GAAoB,UAAhB6gF,EAAOp9E,KAEJ,CACL,IAAI/D,EAASmhF,EAAO7gF,IAChBxS,EAAQkS,EAAOlS,MACnB,OAAIA,GACiB,kBAAVA,GACPqS,EAAO9P,KAAKvC,EAAO,WACdm0F,QAAQC,QAAQp0F,EAAMu0F,SAAStQ,MAAK,SAASjkF,GAClDs0F,EAAO,OAAQt0F,EAAOo0F,EAASC,MAC9B,SAAS3+E,GACV4+E,EAAO,QAAS5+E,EAAK0+E,EAASC,MAI3BF,QAAQC,QAAQp0F,GAAOikF,MAAK,SAASuQ,GAI1CtiF,EAAOlS,MAAQw0F,EACfJ,EAAQliF,MACP,SAAS0B,GAGV,OAAO0gF,EAAO,QAAS1gF,EAAOwgF,EAASC,MAvBzCA,EAAOhB,EAAO7gF,KAiCZ8hF,CAAOj+E,EAAQ7D,EAAK4hF,EAASC,MAIjC,OAAOJ,EAaLA,EAAkBA,EAAgBhQ,KAChCiQ,EAGAA,GACEA,KA+GV,SAASnB,EAAoBF,EAAUluF,GACrC,IAAI0R,EAASw8E,EAAS5wF,SAAS0C,EAAQ0R,QACvC,GAAIA,IAAWL,EAAW,CAKxB,GAFArR,EAAQkuF,SAAW,KAEI,UAAnBluF,EAAQ0R,OAAoB,CAE9B,GAAIw8E,EAAS5wF,SAAT,SAGF0C,EAAQ0R,OAAS,SACjB1R,EAAQ6N,IAAMwD,EACd+8E,EAAoBF,EAAUluF,GAEP,UAAnBA,EAAQ0R,QAGV,OAAO28E,EAIXruF,EAAQ0R,OAAS,QACjB1R,EAAQ6N,IAAM,IAAI5P,UAChB,kDAGJ,OAAOowF,EAGT,IAAIK,EAASC,EAASj9E,EAAQw8E,EAAS5wF,SAAU0C,EAAQ6N,KAEzD,GAAoB,UAAhB6gF,EAAOp9E,KAIT,OAHAtR,EAAQ0R,OAAS,QACjB1R,EAAQ6N,IAAM6gF,EAAO7gF,IACrB7N,EAAQkuF,SAAW,KACZG,EAGT,IAAI7+E,EAAOk/E,EAAO7gF,IAElB,OAAM2B,EAOFA,EAAKuQ,MAGP/f,EAAQkuF,EAAS4B,YAActgF,EAAKnU,MAGpC2E,EAAQwU,KAAO05E,EAAS6B,QAQD,WAAnB/vF,EAAQ0R,SACV1R,EAAQ0R,OAAS,OACjB1R,EAAQ6N,IAAMwD,GAUlBrR,EAAQkuF,SAAW,KACZG,GANE7+E,GA3BPxP,EAAQ0R,OAAS,QACjB1R,EAAQ6N,IAAM,IAAI5P,UAAU,oCAC5B+B,EAAQkuF,SAAW,KACZG,GAoDX,SAAS2B,EAAaC,GACpB,IAAInoE,EAAQ,CAAEooE,OAAQD,EAAK,IAEvB,KAAKA,IACPnoE,EAAMqoE,SAAWF,EAAK,IAGpB,KAAKA,IACPnoE,EAAMsoE,WAAaH,EAAK,GACxBnoE,EAAMuoE,SAAWJ,EAAK,IAGxB7rF,KAAKksF,WAAWl0F,KAAK0rB,GAGvB,SAASyoE,EAAczoE,GACrB,IAAI4mE,EAAS5mE,EAAM0oE,YAAc,GACjC9B,EAAOp9E,KAAO,gBACPo9E,EAAO7gF,IACdia,EAAM0oE,WAAa9B,EAGrB,SAASr5E,EAAQq4E,GAIftpF,KAAKksF,WAAa,CAAC,CAAEJ,OAAQ,SAC7BxC,EAAY9wF,QAAQozF,EAAc5rF,MAClCA,KAAKqsF,OAAM,GA8Bb,SAAShlF,EAAOilF,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAASxD,GAC9B,GAAIyD,EACF,OAAOA,EAAe/yF,KAAK8yF,GAG7B,GAA6B,oBAAlBA,EAASl8E,KAClB,OAAOk8E,EAGT,IAAK3vD,MAAM2vD,EAASh0F,QAAS,CAC3B,IAAIF,GAAK,EAAGgY,EAAO,SAASA,IAC1B,OAAShY,EAAIk0F,EAASh0F,QACpB,GAAIgR,EAAO9P,KAAK8yF,EAAUl0F,GAGxB,OAFAgY,EAAKnZ,MAAQq1F,EAASl0F,GACtBgY,EAAKuL,MAAO,EACLvL,EAOX,OAHAA,EAAKnZ,MAAQgW,EACbmD,EAAKuL,MAAO,EAELvL,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAMy5E,GAIjB,SAASA,IACP,MAAO,CAAE5yF,MAAOgW,EAAW0O,MAAM,GA+MnC,OAxmBA+uE,EAAkBtxF,UAAY2xF,EAAG5xF,YAAcwxF,EAC/CA,EAA2BxxF,YAAcuxF,EACzCC,EAA2B1B,GACzByB,EAAkB5oF,YAAc,oBAYlClL,EAAQ41F,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,oBAAXD,GAAyBA,EAAOtzF,YAClD,QAAOuzF,IACHA,IAAShC,GAG2B,uBAAnCgC,EAAK5qF,aAAe4qF,EAAK3qF,QAIhCnL,EAAQ+1F,KAAO,SAASF,GAUtB,OATIv1F,OAAO2B,eACT3B,OAAO2B,eAAe4zF,EAAQ9B,IAE9B8B,EAAO1zF,UAAY4xF,EACb1B,KAAqBwD,IACzBA,EAAOxD,GAAqB,sBAGhCwD,EAAOrzF,UAAYlC,OAAOiD,OAAO4wF,GAC1B0B,GAOT71F,EAAQg2F,MAAQ,SAASnjF,GACvB,MAAO,CAAE+hF,QAAS/hF,IAsEpBuhF,EAAsBC,EAAc7xF,WACpC6xF,EAAc7xF,UAAU2vF,GAAuB,WAC7C,OAAO/oF,MAETpJ,EAAQq0F,cAAgBA,EAKxBr0F,EAAQi2F,MAAQ,SAASzD,EAASC,EAAS9vF,EAAM+vF,GAC/C,IAAIr9E,EAAO,IAAIg/E,EACb9B,EAAKC,EAASC,EAAS9vF,EAAM+vF,IAG/B,OAAO1yF,EAAQ41F,oBAAoBnD,GAC/Bp9E,EACAA,EAAKmE,OAAO8qE,MAAK,SAAS/xE,GACxB,OAAOA,EAAOwS,KAAOxS,EAAOlS,MAAQgV,EAAKmE,WAuKjD46E,EAAsBD,GAEtBA,EAAG9B,GAAqB,YAOxB8B,EAAGjC,GAAkB,WACnB,OAAO9oF,MAGT+qF,EAAG7+E,SAAW,WACZ,MAAO,sBAkCTtV,EAAQc,KAAO,SAASF,GACtB,IAAIE,EAAO,GACX,IAAK,IAAIV,KAAOQ,EACdE,EAAKM,KAAKhB,GAMZ,OAJAU,EAAKo1F,UAIE,SAAS18E,IACd,KAAO1Y,EAAKY,QAAQ,CAClB,IAAItB,EAAMU,EAAK2kB,MACf,GAAIrlB,KAAOQ,EAGT,OAFA4Y,EAAKnZ,MAAQD,EACboZ,EAAKuL,MAAO,EACLvL,EAQX,OADAA,EAAKuL,MAAO,EACLvL,IAsCXxZ,EAAQyQ,OAASA,EAMjB4J,EAAQ7X,UAAY,CAClBD,YAAa8X,EAEbo7E,MAAO,SAASU,GAcd,GAbA/sF,KAAKgtF,KAAO,EACZhtF,KAAKoQ,KAAO,EAGZpQ,KAAKkqF,KAAOlqF,KAAKmqF,MAAQl9E,EACzBjN,KAAK2b,MAAO,EACZ3b,KAAK8pF,SAAW,KAEhB9pF,KAAKsN,OAAS,OACdtN,KAAKyJ,IAAMwD,EAEXjN,KAAKksF,WAAW1zF,QAAQ2zF,IAEnBY,EACH,IAAK,IAAIhrF,KAAQ/B,KAEQ,MAAnB+B,EAAKga,OAAO,IACZzS,EAAO9P,KAAKwG,KAAM+B,KACjB46B,OAAO56B,EAAKuO,MAAM,MACrBtQ,KAAK+B,GAAQkL,IAMrBggF,KAAM,WACJjtF,KAAK2b,MAAO,EAEZ,IACIuxE,EADYltF,KAAKksF,WAAW,GACLE,WAC3B,GAAwB,UAApBc,EAAWhgF,KACb,MAAMggF,EAAWzjF,IAGnB,OAAOzJ,KAAKmtF,MAGd/C,kBAAmB,SAASgD,GAC1B,GAAIptF,KAAK2b,KACP,MAAMyxE,EAGR,IAAIxxF,EAAUoE,KACd,SAASqtF,EAAOC,EAAKC,GAYnB,OAXAjD,EAAOp9E,KAAO,QACdo9E,EAAO7gF,IAAM2jF,EACbxxF,EAAQwU,KAAOk9E,EAEXC,IAGF3xF,EAAQ0R,OAAS,OACjB1R,EAAQ6N,IAAMwD,KAGNsgF,EAGZ,IAAK,IAAIn1F,EAAI4H,KAAKksF,WAAW5zF,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIsrB,EAAQ1jB,KAAKksF,WAAW9zF,GACxBkyF,EAAS5mE,EAAM0oE,WAEnB,GAAqB,SAAjB1oE,EAAMooE,OAIR,OAAOuB,EAAO,OAGhB,GAAI3pE,EAAMooE,QAAU9rF,KAAKgtF,KAAM,CAC7B,IAAIQ,EAAWlkF,EAAO9P,KAAKkqB,EAAO,YAC9B+pE,EAAankF,EAAO9P,KAAKkqB,EAAO,cAEpC,GAAI8pE,GAAYC,EAAY,CAC1B,GAAIztF,KAAKgtF,KAAOtpE,EAAMqoE,SACpB,OAAOsB,EAAO3pE,EAAMqoE,UAAU,GACzB,GAAI/rF,KAAKgtF,KAAOtpE,EAAMsoE,WAC3B,OAAOqB,EAAO3pE,EAAMsoE,iBAGjB,GAAIwB,GACT,GAAIxtF,KAAKgtF,KAAOtpE,EAAMqoE,SACpB,OAAOsB,EAAO3pE,EAAMqoE,UAAU,OAG3B,KAAI0B,EAMT,MAAM,IAAIjlF,MAAM,0CALhB,GAAIxI,KAAKgtF,KAAOtpE,EAAMsoE,WACpB,OAAOqB,EAAO3pE,EAAMsoE,gBAU9B3B,OAAQ,SAASn9E,EAAMzD,GACrB,IAAK,IAAIrR,EAAI4H,KAAKksF,WAAW5zF,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIsrB,EAAQ1jB,KAAKksF,WAAW9zF,GAC5B,GAAIsrB,EAAMooE,QAAU9rF,KAAKgtF,MACrB1jF,EAAO9P,KAAKkqB,EAAO,eACnB1jB,KAAKgtF,KAAOtpE,EAAMsoE,WAAY,CAChC,IAAI0B,EAAehqE,EACnB,OAIAgqE,IACU,UAATxgF,GACS,aAATA,IACDwgF,EAAa5B,QAAUriF,GACvBA,GAAOikF,EAAa1B,aAGtB0B,EAAe,MAGjB,IAAIpD,EAASoD,EAAeA,EAAatB,WAAa,GAItD,OAHA9B,EAAOp9E,KAAOA,EACdo9E,EAAO7gF,IAAMA,EAETikF,GACF1tF,KAAKsN,OAAS,OACdtN,KAAKoQ,KAAOs9E,EAAa1B,WAClB/B,GAGFjqF,KAAK2tF,SAASrD,IAGvBqD,SAAU,SAASrD,EAAQ2B,GACzB,GAAoB,UAAhB3B,EAAOp9E,KACT,MAAMo9E,EAAO7gF,IAcf,MAXoB,UAAhB6gF,EAAOp9E,MACS,aAAhBo9E,EAAOp9E,KACTlN,KAAKoQ,KAAOk6E,EAAO7gF,IACM,WAAhB6gF,EAAOp9E,MAChBlN,KAAKmtF,KAAOntF,KAAKyJ,IAAM6gF,EAAO7gF,IAC9BzJ,KAAKsN,OAAS,SACdtN,KAAKoQ,KAAO,OACa,WAAhBk6E,EAAOp9E,MAAqB++E,IACrCjsF,KAAKoQ,KAAO67E,GAGPhC,GAGT2D,OAAQ,SAAS5B,GACf,IAAK,IAAI5zF,EAAI4H,KAAKksF,WAAW5zF,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIsrB,EAAQ1jB,KAAKksF,WAAW9zF,GAC5B,GAAIsrB,EAAMsoE,aAAeA,EAGvB,OAFAhsF,KAAK2tF,SAASjqE,EAAM0oE,WAAY1oE,EAAMuoE,UACtCE,EAAczoE,GACPumE,IAKb,MAAS,SAAS6B,GAChB,IAAK,IAAI1zF,EAAI4H,KAAKksF,WAAW5zF,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIsrB,EAAQ1jB,KAAKksF,WAAW9zF,GAC5B,GAAIsrB,EAAMooE,SAAWA,EAAQ,CAC3B,IAAIxB,EAAS5mE,EAAM0oE,WACnB,GAAoB,UAAhB9B,EAAOp9E,KAAkB,CAC3B,IAAI2gF,EAASvD,EAAO7gF,IACpB0iF,EAAczoE,GAEhB,OAAOmqE,GAMX,MAAM,IAAIrlF,MAAM,0BAGlBslF,cAAe,SAASxB,EAAUZ,EAAYC,GAa5C,OAZA3rF,KAAK8pF,SAAW,CACd5wF,SAAUmO,EAAOilF,GACjBZ,WAAYA,EACZC,QAASA,GAGS,SAAhB3rF,KAAKsN,SAGPtN,KAAKyJ,IAAMwD,GAGNg9E,IAQJrzF,EAvrBM,CA8rBgBD,EAAOC,SAGtC,IACEm3F,mBAAqBpF,EACrB,MAAOqF,GAUP9rD,SAAS,IAAK,yBAAdA,CAAwCymD,K,gBCptB1C,OAQA,SAAUn3E,EAAOvE,GAAW,aAAa,IAA2IghF,EAAM,QAAQC,EAAK,OAAOC,EAAK,OAAOC,EAAO,SAASC,EAAQ,UAAwDC,EAAO,SAASC,EAAO,SAAuEC,EAAK,CAAC14B,OAAO,SAAS24B,EAAQC,GAAY,IAAIC,EAAc,GAAG,IAAI,IAAIv2F,KAAKq2F,EAAYC,EAAWt2F,IAAIs2F,EAAWt2F,GAAGE,OAAO,IAAI,EAAGq2F,EAAcv2F,GAAGs2F,EAAWt2F,GAAGyE,OAAO4xF,EAAQr2F,IAASu2F,EAAcv2F,GAAGq2F,EAAQr2F,GAAI,OAAOu2F,GAAelzC,IAAI,SAASmzC,EAAKC,GAAM,MAAiB,kBAAPD,IAA0E,IAAlDC,EAAK9xF,cAAc4D,QAAQiuF,EAAK7xF,gBAAwC+xF,SAAS,SAASzoF,GAAK,OAAOA,EAAItJ,eAAes2C,MAAM,SAAStqC,GAAS,MAAnqB,kBAAirBA,EAAmBA,EAAQxK,QAAQ,WAAW,IAAIN,MAAM,KAAK,QAA34B,GAAy5BK,KAAK,SAAS+H,GAAK,OAAOA,EAAI9H,QAAQ,qCAAqC,MAAUwwF,EAAO,CAACC,IAAI,SAASrvE,EAAGsvE,GAAsC,IAA9B,IAAQv1C,EAAEv9B,EAAEpiB,EAAEuyB,EAAEof,EAAQltC,EAApBpG,EAAE,EAA8BA,EAAE62F,EAAO32F,SAASozC,GAAQ,CAAC,IAAIS,EAAM8iD,EAAO72F,GAAGiC,EAAM40F,EAAO72F,EAAE,GAAS,IAANshD,EAAEv9B,EAAE,EAAQu9B,EAAEvN,EAAM7zC,SAASozC,GAAqC,GAA5BA,EAAQS,EAAMuN,KAAKtuB,KAAKzL,GAAkB,IAAI5lB,EAAE,EAAEA,EAAEM,EAAM/B,OAAOyB,IAAKyE,EAAMktC,IAAUvvB,GAApmC,kBAAumCmQ,EAAEjyB,EAAMN,KAA2BuyB,EAAEh0B,OAAO,EAAgB,GAAVg0B,EAAEh0B,OAAtsC,mBAA2tCg0B,EAAE,GAAetsB,KAAKssB,EAAE,IAAIA,EAAE,GAAG9yB,KAAKwG,KAAKxB,GAAYwB,KAAKssB,EAAE,IAAIA,EAAE,GAAsB,GAAVA,EAAEh0B,OAA7yC,oBAAk0Cg0B,EAAE,IAAkBA,EAAE,GAAGlB,MAAMkB,EAAE,GAAGqW,KAAkE3iC,KAAKssB,EAAE,IAAI9tB,EAAMA,EAAMD,QAAQ+tB,EAAE,GAAGA,EAAE,SAA9iD,EAA68CtsB,KAAKssB,EAAE,IAAI9tB,EAAM8tB,EAAE,GAAG9yB,KAAKwG,KAAKxB,EAAM8tB,EAAE,SAAr/C,EAA+kD,GAAVA,EAAEh0B,SAAW0H,KAAKssB,EAAE,IAAI9tB,EAAM8tB,EAAE,GAAG9yB,KAAKwG,KAAKxB,EAAMD,QAAQ+tB,EAAE,GAAGA,EAAE,UAAvoD,GAA4pDtsB,KAAKssB,GAAG9tB,QAApqD,EAA6rDpG,GAAG,IAAIiO,IAAI,SAASA,EAAIlI,GAAK,IAAI,IAAI/F,KAAK+F,EAAK,GAAjmD,kBAA2mDA,EAAI/F,IAAe+F,EAAI/F,GAAGE,OAAO,GAAG,IAAI,IAAIohD,EAAE,EAAEA,EAAEv7C,EAAI/F,GAAGE,OAAOohD,IAAK,GAAG80C,EAAK/yC,IAAIt9C,EAAI/F,GAAGshD,GAAGrzC,GAAM,MAArwD,MAA4wDjO,OAA91D,EAAo3DA,OAAS,GAAGo2F,EAAK/yC,IAAIt9C,EAAI/F,GAAGiO,GAAM,MAAp0D,MAA20DjO,OAA75D,EAAm7DA,EAAG,OAAOiO,IAAU6oF,EAAK,CAACz9C,QAAQ,CAAC09C,UAAU,CAACpmF,QAAQ,CAAC,MAAM,KAAKqmF,IAAI,KAAKC,IAAI,KAAK,MAAM,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ,OAAO,IAAI,OAAO19C,OAAO,CAAC29C,OAAO,CAACx7C,MAAM,CAAC,aAAa,CAAC,KAAK,QAAQy7C,OAAO,CAACz7C,MAAM,CAAC,eAAe,UAAUD,OAAO,CAAC27C,IAAI,MAAMC,OAAO,YAAYz9C,GAAG,CAAC09C,QAAQ,CAAC3mF,QAAQ,CAAC4mF,GAAG,OAAO,UAAU,SAAS,SAAS,QAAQ,IAAI,SAASC,GAAG,CAAC,SAAS,UAAUC,MAAM,SAASC,EAAE,SAASr4B,EAAE,SAASs4B,IAAI,SAASC,GAAG,CAAC,SAAS,WAAWC,GAAG,UAAcxB,EAAQ,CAACh9C,QAAQ,CAAC,CAAC,6BAA6B,8CAA8C,+BAA+B,4BAA4B,CAACy8C,EAAKG,GAAS,CAAC,4BAA4B,CAAC,CAACH,EAAK,cAAcG,GAAS,CAAC,uBAAuB,CAAC,CAACH,EAAK,SAASG,GAAS,CAAC,uBAAuB,+DAA+D,6DAA6D,4BAA4B,uBAAuB,mJAAmJ,CAACH,EAAKG,GAAS,CAAC,2BAA2B,CAAC,CAACH,EAAK,aAAaG,GAAS,CAAC,6CAA6C,CAAC,CAACH,EAAK,MAAMG,GAAS,CAAC,4CAA4C,CAAC,CAACH,EAAK,QAAQG,GAAS,CAAC,2BAA2B,CAAC,CAACH,EAAK,UAAUG,GAAS,CAAC,wBAAwB,CAAC,CAACH,EAAK,UAAUG,GAAS,CAAC,uBAAuB,CAAC,CAACH,EAAK,iBAAiBG,GAAS,CAAC,qBAAqB,CAAC,CAACH,EAAK,eAAeG,GAAS,CAAC,6DAA6D,CAAC,CAACH,EAAK,aAAaG,GAAS,CAAC,+BAA+B,CAAC,CAACH,EAAK,KAAK,KAAKG,GAAS,CAAC,sCAAsC,CAAC,CAACH,EAAK,uBAAuBG,GAAS,CAAC,gCAAgC,CAAC,CAACH,EAAK,UAAUG,GAAS,CAAC,uBAAuB,CAAC,CAACH,EAAK,SAASG,GAAS,CAAC,+BAA+B,CAACH,EAAKG,GAAS,CAAC,oBAAoB,CAACH,EAAKG,GAAS,CAAC,kCAAkC,CAACH,EAAKG,GAAS,CAAC,kCAAkC,CAACH,EAAKG,GAAS,CAAC,mCAAmC,CAACH,EAAKG,GAAS,CAAC,6BAA6B,CAACH,GAAM,CAAC,gBAAgB,CAACA,GAAM,CAAC,mCAAmC,CAACG,EAAQ,CAACH,EAAK,iBAAiB,CAAC,sBAAsB,CAACG,EAAQ,CAACH,EAAK,aAAa,CAAC,6BAA6B,oCAAoC,CAACA,EAAKG,GAAS,CAAC,qCAAqC,CAACA,EAAQ,CAACH,EAAK,oBAAoB,CAAC,gCAAgC,CAAC,CAACA,EAAK,OAAO,cAAcG,GAAS,CAAC,2CAA2C,CAAC,CAACH,EAAK,mBAAmB,SAASG,GAAS,CAAC,8DAA8D,CAACA,EAAQ,CAACH,EAAK,oBAAoB,CAAC,iCAAiC,CAAC,CAACA,EAAK,oBAAoBG,GAAS,CAAC,gEAAgE,CAACH,EAAKG,GAAS,CAAC,wBAAwB,CAAC,CAACH,EAAK,WAAWG,GAAS,CAAC,yCAAyC,CAAC,CAACH,EAAK,UAAUG,GAAS,CAAC,uBAAuB,CAAC,CAACH,EAAK,eAAeG,GAAS,CAAC,sBAAsB,CAACA,EAAQ,CAACH,EAAK,YAAY,CAAC,+CAA+C,CAACG,EAAQ,CAACH,EAAK,kBAAkB,CAAC,kDAAkD,CAACG,EAAQH,GAAM,CAAC,oEAAoE,CAAC,CAACA,EAAK,OAAOG,GAAS,CAAC,iDAAiD,CAACH,EAAK,CAACG,EAAQU,EAAO1oF,IAAI6oF,EAAKz9C,QAAQ09C,UAAUpmF,UAAU,CAAC,8BAA8B,CAACmlF,EAAKG,GAAS,CAAC,qCAAqC,CAAC,CAACH,EAAK,YAAYG,GAAS,CAAC,cAAc,gGAAgG,uGAAuG,0CAA0C,8EAA8E,wBAAwB,2BAA2B,iCAAiC,4BAA4B,CAACH,EAAKG,IAAU6B,IAAI,CAAC,CAAC,iDAAiD,CAAC,CAA3mL,eAAynL,UAAU,CAAC,gBAAgB,CAAC,CAArpL,eAAmqL1B,EAAKM,WAAW,CAAC,0BAA0B,CAAC,CAA/sL,eAA6tL,SAAS,CAAC,gCAAgC,CAAC,CAAxwL,eAAsxL,QAAQ,CAAC,2CAA2C,CAAC,CAA30L,eAAy1L,OAAO,GAAGN,EAAKM,WAAW,CAAC,kBAAkB,CAAC,CAAv4L,eAAq5L,UAAU,CAAC,kHAAkH,CAAC,CAAnhM,eAAiiMN,EAAKM,YAAYn9C,OAAO,CAAC,CAAC,8CAA8C,CAACs8C,EAAMG,EAAO,CAACD,EAAKI,IAAS,CAAC,oCAAoC,CAACN,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKI,IAAS,CAAC,qBAAqB,CAAC,CAACN,EAAM,YAAY,CAACG,EAAO,UAAU,CAAC,yBAAyB,oBAAoB,kBAAkB,uBAAuB,+BAA+B,oCAAoC,CAACA,EAAOH,EAAM,CAACE,EAAKI,IAAS,CAAC,gCAAgC,CAACN,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKI,IAAS,CAAC,6CAA6C,CAAC,CAACN,EAAMc,EAAO1oF,IAAI6oF,EAAKv9C,OAAO29C,OAAOx7C,OAAO,CAACs6C,EAAO,UAAU,CAACD,EAAKG,IAAS,CAAC,+BAA+B,CAACL,EAAM,CAACG,EAAO,UAAU,CAACD,EAA3nN,YAA0oN,CAAC,mCAAmC,CAACF,EAAMG,EAAO,CAACD,EAAKG,IAAS,CAAC,0BAA0B,CAACL,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKG,IAAS,CAAC,2BAA2B,mGAAmG,qBAAqB,kBAAkB,CAACF,EAAOH,EAAM,CAACE,EAAKG,IAAS,CAAC,mBAAmB,CAACL,EAAM,CAACG,EAAO,cAAc,CAACD,EAAKG,IAAS,CAAC,kFAAkF,CAACL,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKI,IAAS,CAAC,mCAAmC,8BAA8B,CAAC,CAACH,EAAO,QAAQ,CAACH,EAAM,iBAAiB,CAACE,EAAKI,IAAS,CAAC,kFAAkF,CAACN,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKG,IAAS,CAAC,cAAc,4BAA4B,CAACF,EAAOH,EAAM,CAACE,EAAx+O,YAAu/O,CAAC,gCAAgC,CAACF,EAAM,CAACG,EAAO,UAAU,CAACD,EAAljP,YAAikP,CAAC,mCAAmC,CAACF,EAAM,CAACG,EAAO,QAAQ,CAACD,EAA7nP,YAA4oP,CAAC,oBAAoB,CAAC,CAACC,EAAOW,EAAO1oF,IAAI6oF,EAAKv9C,OAAO49C,OAAO17C,QAAQ,CAACo6C,EAAMc,EAAO1oF,IAAI6oF,EAAKv9C,OAAO49C,OAAOz7C,OAAO,CAACq6C,EAAKG,IAAS,CAAC,4CAA4C,eAAe,qEAAqE,CAACF,EAAO,CAACH,EAAM,KAAK,KAAK,CAACE,EAAKG,IAAS,CAAC,eAAe,CAACL,EAAM,CAACG,EAAO,OAAO,CAACD,EAAKI,IAAS,CAAC,4BAA4B,gBAAgB,CAACN,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKG,IAAS,CAAC,iCAAiC,CAACF,EAAOH,EAAM,CAACE,EAAKG,IAAS,CAAC,mCAAmC,CAACL,EAAM,CAACG,EAAO,aAAa,CAACD,EAA9rQ,YAA6sQ,CAAC,sBAAsB,CAAC,CAACF,EAAM,MAAM,KAAK,CAACG,EAAO,aAAa,CAACD,EAAKG,IAAS,CAAC,kFAAkF,kBAAkB,uBAAuB,eAAe,CAACL,EAAM,CAACG,EAAO,YAAY,CAACD,EAAKG,IAAS,CAAC,gDAAgD,CAACL,EAAM,CAACG,EAAO,YAAY,CAACD,EAAKI,IAAS,CAAC,0DAA0D,CAAC,CAACH,EAAOI,EAAKlwF,MAAM,CAAC2vF,EAAMO,EAAKlwF,MAAM,CAAC6vF,EAA3lR,YAA0mR,CAAC,uBAAuB,CAAC,CAACF,EAAM,IAAI,WAAW,CAACG,EAAO,WAAW,CAACD,EAA7qR,YAA4rR,CAAC,wBAAwB,CAACF,EAAM,CAACG,EAAO,SAAS,CAACD,EAA9uR,YAA6vR,CAAC,8EAA8E,gBAAgB,CAAC,CAACC,EAAO,WAAWH,EAAM,CAACE,EAAKI,IAAS,CAAC,wBAAwB,CAACH,EAAO,CAACD,EAAv6R,WAAq7RF,GAAO,CAAC,qDAAqD,mCAAmC,mBAAmB,CAAC,CAACG,EAAO,WAAWH,EAAM,CAACE,EAAKG,IAAS,CAAC,cAAc,CAACL,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKG,IAAS,CAAC,oCAAoC,2BAA2B,CAAC,CAACF,EAAO,SAASH,EAAM,CAACE,EAAKG,IAAS,CAAC,mDAAmD,CAACL,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKI,IAAS,CAAC,qCAAqC,CAACN,EAAM,CAACG,EAAO,MAAM,CAACD,EAAKI,IAAS,CAAC,iDAAiD,CAAC,CAACH,EAAO,MAAMH,EAAM,CAACE,EAAKI,IAAS,CAAC,qBAAqB,CAACH,EAAOH,EAAM,CAACE,EAA/gT,YAA8hT,CAAC,iBAAiB,qBAAqB,oCAAoC,CAACF,EAAM,CAACG,EAAO,MAAM,CAACD,EAAKG,IAAS,CAAC,yDAAyD,CAACF,EAAOH,EAAM,CAACE,EAAKI,IAAS,CAAC,oCAAoC,CAACN,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKI,IAAS,CAAC,4BAA4B,CAACH,EAAOH,EAAM,CAACE,EAAKG,IAAS,CAAC,uBAAuB,CAACF,EAAOH,EAAM,CAACE,EAAKG,IAAS,CAAC,6BAA6B,CAACF,EAAOH,EAAM,CAACE,EAA17T,aAA08T,CAAC,0CAA0C,CAACC,EAAOH,EAAM,CAACE,EAAKG,IAAS,CAAC,UAAU,CAAC,CAACL,EAAM,cAAc,CAACG,EAAO,WAAW,CAAC,4BAA4B,CAACH,EAAM,CAACG,EAAO,UAAU,CAACD,EAA7nU,aAA6oU,CAAC,+BAA+B,CAACF,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKI,IAAS,CAAC,2CAA2C,CAACN,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKG,IAAS,CAAC,mCAAmC,qDAAqD,kGAAkG,+DAA+D,CAAC,CAACL,EAAM,KAAK,KAAK,CAACG,EAAO,UAAU,CAACD,EAAKG,IAAS,CAAC,0DAA0D,CAAC,CAACL,EAAM,KAAK,KAAK,CAACG,EAAO,UAAU,CAACD,EAAKI,IAAS,CAAC,sCAAsC,CAACN,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKG,IAAS,CAAC,qBAAqB,CAAC,CAACF,EAAO,SAASH,EAAM,CAACE,EAAKG,IAAS,CAAC,4BAA4B,uCAAuC,CAACL,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKG,IAAS,CAAC,0CAA0C,CAACL,EAAM,CAACG,EAAO,OAAO,CAACD,EAAKI,IAAS,CAAC,gDAAgD,CAACN,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKI,IAAS,CAAC,6CAA6C,CAACN,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKI,IAAS,CAAC,iEAAiE,CAAC,CAACH,EAAO,kBAAkBH,EAAM,CAACE,EAAKI,IAAS,CAAC,2CAA2C,CAACN,EAAM,CAACG,EAAO,YAAY,CAACD,EAAKI,IAAS,CAAC,6BAA6B,CAACN,EAAM,CAACG,EAAO,OAAO,CAACD,EAAKI,IAAS,CAAC,6CAA6C,CAACN,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKG,IAAS,CAAC,wCAAwC,CAACL,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKI,IAAS,CAAC,6CAA6C,CAACN,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKI,IAAS,CAAC,0CAA0C,8DAA8D,CAAC,CAACH,EAAO,gBAAgBH,EAAM,CAACE,EAAKI,IAAS,CAAC,0CAA0C,CAACN,EAAM,CAACG,EAAO,YAAY,CAACD,EAAKI,IAAS,CAAC,kDAAkD,CAACN,EAAM,CAACG,EAAO,YAAY,CAACD,EAAKI,IAAS,CAAC,6EAA6E,CAAC,CAACH,EAAO,SAASH,EAAM,CAACE,EAAKG,IAAS,CAAC,gDAAgD,CAAC,CAACF,EAAO,SAASH,EAAM,CAACE,EAAKG,IAAS,CAAC,yBAAyB,CAACL,EAAM,CAACG,EAAO,aAAa,CAACD,EAAKG,IAAS,CAAC,4DAA4D,CAACL,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKI,IAAS,CAAC,4DAA4D,CAACH,EAAOH,EAAM,CAACE,EAAKI,IAAS,CAAC,6CAA6C,CAACN,EAAM,CAACG,EAAO,aAAa,CAACD,EAAKI,IAAS,CAAC,sDAAsD,CAACH,EAAOH,EAAM,CAACE,EAAKI,IAAS,CAAC,uCAAuC,CAACN,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKI,IAAS,CAAC,8BAA8B,CAACN,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKI,IAAS,CAAC,gDAAgD,CAACH,EAAOH,EAAM,CAACE,EAAKI,IAAS,CAAC,uBAAuB,iCAAiC,CAAC,CAACJ,EAAKK,EAAKM,UAAUV,EAAOH,GAAO,CAAC,6BAA6B,CAAC,CAACE,EAA1/Z,YAAyga,CAAC,qCAAqC,CAACF,EAAM,CAACG,EAAO,aAAat8C,OAAO,CAAC,CAAC,+BAA+B,CAACu8C,EAAQ,CAACH,EAAK,aAAa,CAAC,oCAAoC,CAAC,CAACA,EAAK,UAAU,CAAC,uBAAuB,sEAAsE,0CAA0C,gCAAgC,CAACA,EAAKG,GAAS,CAAC,+BAA+B,CAACA,EAAQH,IAAOl8C,GAAG,CAAC,CAAC,qCAAqC,CAACk8C,EAAKG,GAAS,CAAC,+BAA+B,iDAAiD,sDAAsD,CAACH,EAAK,CAACG,EAAQU,EAAO1oF,IAAI6oF,EAAKl9C,GAAG09C,QAAQ3mF,UAAU,CAAC,wCAAwC,CAAC,CAACmlF,EAAK,WAAW,CAACG,EAAQU,EAAO1oF,IAAI6oF,EAAKl9C,GAAG09C,QAAQ3mF,UAAU,CAAC,gBAAgB,CAAC,CAACmlF,EAAK,cAAcG,GAAS,CAAC,+BAA+B,0BAA0B,8FAA8F,CAACH,EAAKG,GAAS,CAAC,oDAAoD,CAAC,CAACH,EAAK,WAAWG,GAAS,CAAC,kBAAkB,CAACH,GAAM,CAAC,uCAAuC,CAAC,CAACA,EAAK,cAAcG,GAAS,CAAC,iDAAiD,wBAAwB,6BAA6B,2JAA2J,4BAA4B,sBAAsB,CAACH,EAAKG,GAAS,CAAC,+BAA+B,CAAC,CAACH,EAAK,eAAeG,GAAS,CAAC,0BAA0B,CAAC,CAACH,EAAK,WAAWG,GAAS,CAAC,kDAAkD,CAACH,EAAKG,GAAS,CAAC,mBAAmB,CAACH,EAAKG,GAAS,CAAC,uBAAuB,yDAAyD,CAAC,CAACA,EAAQ,KAAK,KAAK,CAACH,EAAK,QAAQ,CAAC,8BAA8B,kCAAkC,CAAC,CAACA,EAAK,UAAU,CAACG,EAAQ,KAAK,MAAM,CAAC,uCAAuC,oCAAoC,uEAAuE,uBAAuB,CAACH,EAAKG,KAAe8B,EAAS,SAATA,EAAkBC,EAAS1B,GAAkF,GAAjD,kBAAX0B,IAAqB1B,EAAW0B,EAASA,OAAh/e,KAAwgfpwF,gBAAgBmwF,GAAW,OAAO,IAAIA,EAASC,EAAS1B,GAAY2B,YAAY,IAAI1wE,EAAGywE,IAAW5+E,GAAQA,EAAOoO,WAAWpO,EAAOoO,UAAUC,UAAUrO,EAAOoO,UAAUC,UAAzmf,IAA8nfywE,EAAO5B,EAAWF,EAAK14B,OAAO24B,EAAQC,GAAYD,EAAg5B,OAAx4BzuF,KAAK0xC,WAAW,WAAW,IAAID,EAAQ,CAAC1vC,UAAvyf,EAAszfgH,aAAtzf,GAA85f,OAArFgmF,EAAOC,IAAIx1F,KAAKi4C,EAAQ9xB,EAAG2wE,EAAO7+C,SAASA,EAAQ4B,MAAMm7C,EAAKn7C,MAAM5B,EAAQ1oC,SAAgB0oC,GAASzxC,KAAK4xC,OAAO,WAAW,IAAIs+C,EAAI,CAACK,kBAA98f,GAAyggB,OAAnCxB,EAAOC,IAAIx1F,KAAK02F,EAAIvwE,EAAG2wE,EAAOJ,KAAYA,GAAKlwF,KAAK6xC,UAAU,WAAW,IAAIF,EAAO,CAACkC,YAA3jgB,EAA4kgBC,WAA5kgB,EAA4lgB5mC,UAA5lgB,GAAqpgB,OAAzC6hF,EAAOC,IAAIx1F,KAAKm4C,EAAOhyB,EAAG2wE,EAAO3+C,QAAeA,GAAQ3xC,KAAK+xC,UAAU,WAAW,IAAID,EAAO,CAAC/vC,UAA1sgB,EAAytgBgH,aAAztgB,GAAqxgB,OAAzCgmF,EAAOC,IAAIx1F,KAAKs4C,EAAOnyB,EAAG2wE,EAAOx+C,QAAeA,GAAQ9xC,KAAKiyC,MAAM,WAAW,IAAID,EAAG,CAACjwC,UAAl0gB,EAAi1gBgH,aAAj1gB,GAAq4gB,OAAjCgmF,EAAOC,IAAIx1F,KAAKw4C,EAAGryB,EAAG2wE,EAAOt+C,IAAWA,GAAIhyC,KAAKqwF,UAAU,WAAW,MAAM,CAAC1wE,GAAG3f,KAAKkyC,QAAQT,QAAQzxC,KAAK0xC,aAAaI,OAAO9xC,KAAK+xC,YAAYC,GAAGhyC,KAAKiyC,QAAQN,OAAO3xC,KAAK6xC,YAAYq+C,IAAIlwF,KAAK4xC,WAAW5xC,KAAKkyC,MAAM,WAAW,OAAOvyB,GAAI3f,KAAKwwF,MAAM,SAASJ,GAAsB,OAAZzwE,EAAGywE,EAAgBpwF,MAAaA,MAAMmwF,EAAS9B,QAArmhB,SAAwnhB8B,EAASM,QAAQ,CAACvC,KAAKA,EAAKwC,MAAhihB,QAA4ihBrC,QAAQA,GAAS8B,EAASQ,IAAI,CAACC,aAA9+gB,gBAAyghBT,EAASU,OAAO,CAAC5C,MAAMA,EAAMG,OAAOA,EAAOD,KAAKA,EAAK2C,QAAvihB,UAAujhBxC,OAAOA,EAAOyC,QAAnhhB,UAAmihBxC,OAAOA,EAAOyC,SAA9hhB,WAAgjhBC,SAA5hhB,YAA+ihBd,EAASe,OAAO,CAAChD,KAAKA,EAAKG,QAAQA,GAAS8B,EAASgB,GAAG,CAACjD,KAAKA,EAAKG,QAAQA,GAA73hB,qBAAg5hBz3F,GAAh5hB,qBAAg7hBD,GAAqBA,EAAOC,UAASA,EAAQD,EAAOC,QAAQu5F,GAASv5F,EAAQu5F,SAASA,QAA5niB,KAAqriB9yD,aAAkB,OAAO8yD,GAAnB,8BAAwE,IAAIiB,EAAE5/E,IAASA,EAAO6/E,QAAQ7/E,EAAO8/E,OAAO,GAAzriB,qBAAmsiBF,IAAiBA,EAAEzxE,GAAG,CAAC,IAAI4xE,EAAO,IAAIpB,EAASiB,EAAEzxE,GAAG4xE,EAAOlB,YAAYe,EAAEzxE,GAAG/b,IAAI,WAAW,OAAO2tF,EAAOr/C,SAASk/C,EAAEzxE,GAAGmkB,IAAI,SAASssD,GAAUmB,EAAOf,MAAMJ,GAAU,IAAIjnF,EAAOooF,EAAOlB,YAAY,IAAI,IAAI3vF,KAAQyI,EAAQioF,EAAEzxE,GAAGjf,GAAMyI,EAAOzI,KAAtijB,CAAikjB,kBAAT8Q,OAAkBA,OAAOxR,O,iBCRjljBpJ,EAAQ+vC,MAAQ9vC,EAAQ,KACxBD,EAAQooC,UAAYnoC,EAAQ,M,cCD5B,IAAI26F,EACApf,EAWAxkE,EA4IA3W,EAtJAw6F,EAAU,CACN,IAAM,IACN,KAAM,KACN,IAAM,IACNh5E,EAAM,KACNwL,EAAM,KACN7H,EAAM,KACNyO,EAAM,KACN0B,EAAM,MAIV1hB,EAAQ,SAAU2tC,GAEd,KAAM,CACFz2C,KAAS,cACTuI,QAASkuC,EACTg5C,GAASA,EACT5jF,KAASA,IAIjBwC,EAAO,SAAU2T,GAWb,OATIA,GAAKA,IAAMquD,GACXvnE,EAAM,aAAekZ,EAAI,iBAAmBquD,EAAK,KAMrDA,EAAKxkE,EAAKmO,OAAOy1E,GACjBA,GAAM,EACCpf,GAGX3mC,EAAS,WAEL,IAAIA,EACAF,EAAS,GAMb,IAJW,MAAP6mC,IACA7mC,EAAS,IACTn7B,EAAK,MAEFgiE,GAAM,KAAOA,GAAM,KACtB7mC,GAAU6mC,EACVhiE,IAEJ,GAAW,MAAPgiE,EAEA,IADA7mC,GAAU,IACHn7B,KAAUgiE,GAAM,KAAOA,GAAM,KAChC7mC,GAAU6mC,EAGlB,GAAW,MAAPA,GAAqB,MAAPA,EAOd,IANA7mC,GAAU6mC,EACVhiE,IACW,MAAPgiE,GAAqB,MAAPA,IACd7mC,GAAU6mC,EACVhiE,KAEGgiE,GAAM,KAAOA,GAAM,KACtB7mC,GAAU6mC,EACVhiE,IAIR,GADAq7B,GAAUF,EACLmmD,SAASjmD,GAGV,OAAOA,EAFP5gC,EAAM,eAMd0gC,EAAS,WAEL,IAAI1d,EACAz1B,EAEAu5F,EADApmD,EAAS,GAIb,GAAW,MAAP6mC,EACA,KAAOhiE,KAAQ,CACX,GAAW,MAAPgiE,EAEA,OADAhiE,IACOm7B,EACJ,GAAW,OAAP6mC,EAEP,GADAhiE,IACW,MAAPgiE,EAAY,CAEZ,IADAuf,EAAQ,EACHv5F,EAAI,EAAGA,EAAI,IACZy1B,EAAMkP,SAAS3sB,IAAQ,IAClBshF,SAAS7jE,IAFCz1B,GAAK,EAKpBu5F,EAAgB,GAARA,EAAa9jE,EAEzB0d,GAAU1lB,OAAOub,aAAauwD,OAC3B,IAA2B,kBAAhBF,EAAQrf,GAGtB,MAFA7mC,GAAUkmD,EAAQrf,QAKtB7mC,GAAU6mC,EAItBvnE,EAAM,eAGVuxB,EAAQ,WAIJ,KAAOg2C,GAAMA,GAAM,KACfhiE,KAkCR22E,EAAQ,WAIJ,IAAIA,EAAQ,GAEZ,GAAW,MAAP3U,EAAY,CAGZ,GAFAhiE,EAAK,KACLgsB,IACW,MAAPg2C,EAEA,OADAhiE,EAAK,KACE22E,EAEX,KAAO3U,GAAI,CAGP,GAFA2U,EAAM/uF,KAAKf,KACXmlC,IACW,MAAPg2C,EAEA,OADAhiE,EAAK,KACE22E,EAEX32E,EAAK,KACLgsB,KAGRvxB,EAAM,cAGVrT,EAAS,WAIL,IAAIR,EACAQ,EAAS,GAEb,GAAW,MAAP46E,EAAY,CAGZ,GAFAhiE,EAAK,KACLgsB,IACW,MAAPg2C,EAEA,OADAhiE,EAAK,KACE5Y,EAEX,KAAO46E,GAAI,CASP,GARAp7E,EAAMu0C,IACNnP,IACAhsB,EAAK,KACDlZ,OAAO2E,eAAerC,KAAKhC,EAAQR,IACnC6T,EAAM,kBAAoB7T,EAAM,KAEpCQ,EAAOR,GAAOC,IACdmlC,IACW,MAAPg2C,EAEA,OADAhiE,EAAK,KACE5Y,EAEX4Y,EAAK,KACLgsB,KAGRvxB,EAAM,eAGd5T,EAAQ,WAMJ,OADAmlC,IACQg2C,GACR,IAAK,IACD,OAAO56E,IACX,IAAK,IACD,OAAOuvF,IACX,IAAK,IACD,OAAOx7C,IACX,IAAK,IACD,OAAOE,IACX,QACI,OAAO2mC,GAAM,KAAOA,GAAM,IAAM3mC,IA3G7B,WAIH,OAAQ2mC,GACR,IAAK,IAKD,OAJAhiE,EAAK,KACLA,EAAK,KACLA,EAAK,KACLA,EAAK,MACE,EACX,IAAK,IAMD,OALAA,EAAK,KACLA,EAAK,KACLA,EAAK,KACLA,EAAK,KACLA,EAAK,MACE,EACX,IAAK,IAKD,OAJAA,EAAK,KACLA,EAAK,KACLA,EAAK,KACLA,EAAK,KACE,KAEXvF,EAAM,eAAiBunE,EAAK,KAkFewf,KAOnDj7F,EAAOC,QAAU,SAAU2B,EAAQs5F,GAC/B,IAAI1oF,EAiBJ,OAfAyE,EAAOrV,EACPi5F,EAAK,EACLpf,EAAK,IACLjpE,EAASlS,IACTmlC,IACIg2C,GACAvnE,EAAM,gBASgB,oBAAZgnF,EAA0B,SAASC,EAAKC,EAAQ/6F,GAC1D,IAAImlB,EAAG4O,EAAG9zB,EAAQ86F,EAAO/6F,GACzB,GAAIC,GAA0B,kBAAVA,EAChB,IAAKklB,KAAKllB,EACFC,OAAOkC,UAAUyC,eAAerC,KAAKvC,EAAOklB,UAElClP,KADV8d,EAAI+mE,EAAK76F,EAAOklB,IAEZllB,EAAMklB,GAAK4O,SAEJ9zB,EAAMklB,IAK7B,OAAO01E,EAAQr4F,KAAKu4F,EAAQ/6F,EAAKC,GAdG,CAetC,CAAC,GAAIkS,GAAS,IAAOA,I,cC/Q3B,IAEI6oF,EACA72C,EAUA82C,EAZAC,EAAY,2HAGZpvB,EAAO,CACH,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,IAAM,MACN,KAAM,QAId,SAASqvB,EAAM5mD,GAOX,OADA2mD,EAAU7lD,UAAY,EACf6lD,EAAUvvD,KAAK4I,GAAU,IAAMA,EAAOhtC,QAAQ2zF,GAAW,SAAU15E,GACtE,IAAIuL,EAAI++C,EAAKtqD,GACb,MAAoB,kBAANuL,EAAiBA,EAC3B,OAAS,OAASvL,EAAEwoB,WAAW,GAAG90B,SAAS,KAAKoE,OAAO,MAC1D,IAAM,IAAMi7B,EAAS,IAmG9B50C,EAAOC,QAAU,SAAUK,EAAO8jD,EAAUF,GACxC,IAAIziD,EAMJ,GALA45F,EAAM,GACN72C,EAAS,GAIY,kBAAVN,EACP,IAAKziD,EAAI,EAAGA,EAAIyiD,EAAOziD,GAAK,EACxB+iD,GAAU,QAIQ,kBAAVN,IACZM,EAASN,GAMb,GADAo3C,EAAMl3C,EACFA,GAAgC,oBAAbA,IACC,kBAAbA,GAAoD,kBAApBA,EAASziD,QAChD,MAAM,IAAIkQ,MAAM,kBAKpB,OA3HJ,SAASnC,EAAIrP,EAAK+6F,GAEd,IAAI35F,EACA+jB,EACA4O,EACAzyB,EAEAwgD,EADAs5C,EAAOJ,EAEP/6F,EAAQ86F,EAAO/6F,GAenB,OAZIC,GAA0B,kBAAVA,GACY,oBAAjBA,EAAMokD,SACjBpkD,EAAQA,EAAMokD,OAAOrkD,IAKN,oBAARi7F,IACPh7F,EAAQg7F,EAAIz4F,KAAKu4F,EAAQ/6F,EAAKC,WAInBA,GACX,IAAK,SACD,OAAOk7F,EAAMl7F,GAEjB,IAAK,SAED,OAAOy6F,SAASz6F,GAAS4uB,OAAO5uB,GAAS,OAE7C,IAAK,UACL,IAAK,OAID,OAAO4uB,OAAO5uB,GAElB,IAAK,SACD,IAAKA,EAAO,MAAO,OAKnB,GAJA+6F,GAAO72C,EACPrC,EAAU,GAGqC,mBAA3C5hD,OAAOkC,UAAU8S,SAASjU,MAAMhB,GAA6B,CAE7D,IADAqB,EAASrB,EAAMqB,OACVF,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EACzB0gD,EAAQ1gD,GAAKiO,EAAIjO,EAAGnB,IAAU,OASlC,OAJA8zB,EAAuB,IAAnB+tB,EAAQxgD,OAAe,KAAO05F,EAC9B,MAAQA,EAAMl5C,EAAQh6C,KAAK,MAAQkzF,GAAO,KAAOI,EAAO,IACxD,IAAMt5C,EAAQh6C,KAAK,KAAO,IAC9BkzF,EAAMI,EACCrnE,EAKX,GAAIknE,GAAsB,kBAARA,EAEd,IADA35F,EAAS25F,EAAI35F,OACRF,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EAER,kBADjB+jB,EAAI81E,EAAI75F,MAEJ2yB,EAAI1kB,EAAI8V,EAAGllB,KAEP6hD,EAAQ9gD,KAAKm6F,EAAMh2E,IAAM61E,EAAM,KAAO,KAAOjnE,QAOzD,IAAK5O,KAAKllB,EACFC,OAAOkC,UAAUyC,eAAerC,KAAKvC,EAAOklB,KAC5C4O,EAAI1kB,EAAI8V,EAAGllB,KAEP6hD,EAAQ9gD,KAAKm6F,EAAMh2E,IAAM61E,EAAM,KAAO,KAAOjnE,GAajE,OAJAA,EAAuB,IAAnB+tB,EAAQxgD,OAAe,KAAO05F,EAC9B,MAAQA,EAAMl5C,EAAQh6C,KAAK,MAAQkzF,GAAO,KAAOI,EAAO,IACxD,IAAMt5C,EAAQh6C,KAAK,KAAO,IAC9BkzF,EAAMI,EACCrnE,GA+BJ1kB,CAAI,GAAI,CAAC,GAAIpP,M,cCxJxBN,EAAOC,QAAUsE,MAAMC,SAAW,SAAU4Q,GAC1C,MAA8C,kBAAvC7U,OAAOkC,UAAU8S,SAAS1S,KAAKuS,K,8BCDxC,kCAwBA,IAAIsmF,EAAa,iEACbC,EAAyBD,EAAW/5F,OAAS,EAajD,SAAS2J,IACM5J,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,IAAgBA,UAAU,GAAzE,IACIC,EAASD,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC1E+E,EAAK,IAAIP,OAoBf,SAAc01F,GACZ,IAAIC,EAAWn6F,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC5E+E,EAAK,GAELq1F,EAfN,SAAiBtqF,GACf,IAAIgB,EAAS,GAEb,KAAO,EAAIhB,KAETgB,EAAOnR,KAAK2oB,KAAK0L,MAAsB,IAAhB1L,KAAKC,WAG9B,OAAOzX,EAOKupF,CAAQF,GAEpB,KAAO,EAAIA,KAETp1F,GAAMi1F,EAAWI,EAAMD,GAAYF,GAGrC,OAAOl1F,EA/Bau1F,CAAK,GAAIr6F,EAAS,IAKpC,OAAO8E,I,6BC9CX,kCAwBA,IAAIi1F,EAAa,iEACbC,EAAyBD,EAAW/5F,OAAS,EAajD,SAAS2J,IACM5J,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,IAAgBA,UAAU,GAAzE,IACIC,EAASD,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC1E+E,EAAK,IAAIP,OAoBf,SAAc01F,GACZ,IAAIC,EAAWn6F,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC5E+E,EAAK,GAELq1F,EAfN,SAAiBtqF,GACf,IAAIgB,EAAS,GAEb,KAAO,EAAIhB,KAETgB,EAAOnR,KAAK2oB,KAAK0L,MAAsB,IAAhB1L,KAAKC,WAG9B,OAAOzX,EAOKupF,CAAQF,GAEpB,KAAO,EAAIA,KAETp1F,GAAMi1F,EAAWI,EAAMD,GAAYF,GAGrC,OAAOl1F,EA/Bau1F,CAAK,GAAIr6F,EAAS,IAKpC,OAAO8E,I,6BC9CX,kCAwBA,IAAIi1F,EAAa,iEACbC,EAAyBD,EAAW/5F,OAAS,EAajD,SAAS2J,IACM5J,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,IAAgBA,UAAU,GAAzE,IACIC,EAASD,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC1E+E,EAAK,IAAIP,OAoBf,SAAc01F,GACZ,IAAIC,EAAWn6F,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC5E+E,EAAK,GAELq1F,EAfN,SAAiBtqF,GACf,IAAIgB,EAAS,GAEb,KAAO,EAAIhB,KAETgB,EAAOnR,KAAK2oB,KAAK0L,MAAsB,IAAhB1L,KAAKC,WAG9B,OAAOzX,EAOKupF,CAAQF,GAEpB,KAAO,EAAIA,KAETp1F,GAAMi1F,EAAWI,EAAMD,GAAYF,GAGrC,OAAOl1F,EA/Bau1F,CAAK,GAAIr6F,EAAS,IAKpC,OAAO8E,I,6BC9CX,kCAwBA,IAAIi1F,EAAa,iEACbC,EAAyBD,EAAW/5F,OAAS,EAajD,SAAS2J,IACM5J,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,IAAgBA,UAAU,GAAzE,IACIC,EAASD,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC1E+E,EAAK,IAAIP,OAoBf,SAAc01F,GACZ,IAAIC,EAAWn6F,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC5E+E,EAAK,GAELq1F,EAfN,SAAiBtqF,GACf,IAAIgB,EAAS,GAEb,KAAO,EAAIhB,KAETgB,EAAOnR,KAAK2oB,KAAK0L,MAAsB,IAAhB1L,KAAKC,WAG9B,OAAOzX,EAOKupF,CAAQF,GAEpB,KAAO,EAAIA,KAETp1F,GAAMi1F,EAAWI,EAAMD,GAAYF,GAGrC,OAAOl1F,EA/Bau1F,CAAK,GAAIr6F,EAAS,IAKpC,OAAO8E,I,8CC9CX,sEA+BIw1F,EAAa,WAEb,IAAIC,EAAc,WAChB,OAAO,SAAUjxF,GACf,OAAOA,IAYX,OARAixF,EAAYC,oBAAsB,aAElCD,EAAYE,oBAAsB,aAElCF,EAAYG,wBAA0B,aAEtCH,EAAYI,sBAAwB,aAE7BJ,EAhBM,I,6BC/BjB,iGAgCIrpD,EAKHh/B,8CAAY0oF,mCAITvxF,aAAU,SAAUC,GACtB,IACIuxF,EAAU,CACZC,UAAW,WACXn8F,MAHgB2K,EAAkBE,aAAeF,EAAkBG,MAKjEhE,EAAW,IAAIlB,OAAOs2F,EAAQC,UAAW,OAAQv2F,OAAOs2F,EAAQl8F,MAAO,MAEvEo8F,EAEJ,SAAU1wF,GAGR,SAAS0wF,IAGP,OAFA35F,YAAgBsG,KAAMqzF,GAEf/5F,YAA2B0G,KAAMrH,YAAgB06F,GAAmBp7F,MAAM+H,KAAM3H,YAmFzF,OAxFA2B,YAAUq5F,EAAmB1wF,GAQ7BpI,YAAa84F,EAAmB,CAAC,CAC/Br8F,IAAK,oBACLC,MAAO,WACL,GAAIiM,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,oBAAqB4G,MAAO,CAGjF,IAFA,IAAIszF,EAEK/lF,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,IAGxB8lF,EAAQpwF,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,oBAAqB4G,OAAOxG,KAAKvB,MAAMq7F,EAAO,CAACtzF,MAAMnD,OAAO8N,IAG1H3K,KAAKuzF,2BAEN,CACDv8F,IAAK,qBACLC,MAAO,WACL,GAAIiM,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,qBAAsB4G,MAAO,CAGlF,IAFA,IAAIwzF,EAEK9oF,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,GAAQE,EAAQ,EAAGA,EAAQF,EAAOE,IACpFD,EAAKC,GAASvS,UAAUuS,IAGzB4oF,EAAQtwF,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,qBAAsB4G,OAAOxG,KAAKvB,MAAMu7F,EAAO,CAACxzF,MAAMnD,OAAO8N,IAG3H3K,KAAKuzF,2BAEN,CACDv8F,IAAK,uBACLC,MAAO,WAGL,GAFA+I,KAAKyzF,oBAAqB,EAEtBvwF,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,uBAAwB4G,MAAO,CAGpF,IAFA,IAAI0zF,EAEK5oF,EAAQzS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAM4P,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFJ,EAAKI,GAAS1S,UAAU0S,IAGzB2oF,EAAQxwF,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,uBAAwB4G,OAAOxG,KAAKvB,MAAMy7F,EAAO,CAAC1zF,MAAMnD,OAAO8N,IAG7Hi6D,aAAa5kE,KAAK2zF,kBAEnB,CACD38F,IAAK,yBACLC,MAAO,WACL,IAAI2L,EAAQ5C,KAEZA,KAAK2zF,eAAiBjvB,YAAW,WAC/B,IAAIkvB,EAEAr2F,EAEJ,IAAIqF,EAAM6wF,mBAAV,CAIA,IAEEl2F,EAAOqF,EAAMc,SAAWC,sBAAYf,GACpC,MAAO0S,IAET,GAAuB,QAAlBs+E,EAAQr2F,SAA4B,IAAVq2F,OAAmB,EAASA,EAAMpyF,aAAc,CAC7E,IAAI4xF,EAAY71F,EAAKiE,aAAa2xF,EAAQC,WACtC/rF,EAA8B,kBAAd+rF,EAAyBA,EAAUn1F,MAAM,OAAS,GAEjEoJ,EAAO07B,SAASowD,EAAQl8F,QAC3BoQ,EAAOrP,KAAKm7F,EAAQl8F,OAGtBsG,EAAKJ,aAAag2F,EAAQC,UAAW/rF,EAAOvI,KAAK,eAMlDu0F,EAzFT,CA0FEzxF,GAGF,OADAyxF,EAAkBt1F,SAAWA,EACtBs1F,KA3GyC,WAChD,OAAO,SAAUjvF,GACf,OAAOA,K,6BCvCX,wCAEA,SAASyvF,EAAezvF,EAAW/J,EAAOy5F,GACxC,OAAIz5F,EAAM05F,IAAM15F,EAAM05F,KAAO3vF,EAAUE,aAAayvF,GAC3C15F,EAAM05F,GAGW,oBAAfD,EACFA,IAGLz5F,EAAMgoB,KACD,IAGLhoB,EAAMkiB,IAKPliB,EAAM05F,GAAI,IAAIl3F,OAAOuH,EAAUtC,YAAa,kDAEtC,KAGoB,oBAAlBzH,EAAMo/E,QACR,SAGFr1E,EAAUE,aAAayvF,IAAM,S,6BC7BtC,kHAwBIl4F,EAAiB3E,OAAOkC,UAAUyC,eAElCm4F,EAAO,SAAcC,EAAgBv8F,GAEvC,IAAIw8F,EAAY,GAEhB,IAAK,IAAIl9F,KAAOi9F,EAEF,UAARj9F,GAA2B,aAARA,GAA8B,cAARA,GAA+B,UAARA,IAChEU,EAAKqrC,SAAS/rC,IAAS6E,EAAerC,KAAKy6F,EAAgBj9F,KAC/Dk9F,EAAUl9F,GAAOi9F,EAAej9F,IAGlC,OAAOk9F,GAGT,SAASrpD,EAAUxwC,EAAOyJ,EAAWqwF,GACnC,IAAIz8F,EAAOR,OAAOQ,KAAKoM,GAAa,IAChCswF,EAAWD,EAAUz8F,EAAKmF,OAAOs3F,GAAWz8F,EAChD,OAAOs8F,EAAK35F,EAAO+5F,GAqBrB,SAASC,EAAUh6F,EAAOyJ,EAAWwwF,GACnC,IAAI58F,EAAOR,OAAOQ,KAAKoM,GAAa,IAEpC,OApBF,SAAc/M,EAAKW,GAMjB,IALA,IAGIV,EAHA6L,EAAM,GACN0xF,EAAM78F,EAAKY,OACXk8F,GAAO,IAGFA,EAAMD,IACbv9F,EAAMU,EAAK88F,MAEAz9F,IACT8L,EAAI7L,GAAOD,EAAIC,IAInB,OAAO6L,EAMA4xF,CAAKp6F,EADGi6F,EAAU58F,EAAKmF,OAAOy3F,GAAW58F,GAIlD,SAASg9F,EAAiBr6F,GACxB,IAAIs6F,EAAa,GAOjB,OANAz9F,OAAOQ,KAAK2C,GACXxC,QAAO,SAAU+O,GAChB,OAAOguF,YAAYhuF,IAA0B,UAAbA,GAAqC,cAAbA,GAAyC,aAAbA,KACnFpO,SAAQ,SAAUoO,GACnB+tF,EAAW/tF,GAAYvM,EAAMuM,MAExB+tF,I,6BC9ET,6CAoCIE,EApCJ,OAoCat5F,EAAUsM,MAAM,CAAC,OAAQ,UAAW,OAAQ,eAAgB,OAAQ,UAAW,WAAY,OAAQ,OAAQ,YAAa,OAAQ,gBAAiB,QAAS,OAAQ,OAAQ,UAAW,cAAe,OAAQ,WAAY,aAAc,aAAc,aAAc,WAAY,WAAY,WAAY,WAAY,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,cAAe,cAAe,UAAW,c,6BCpCtb,wGASIN,EAEJxM,IAAMC,cAAc,OAAQ,CAC1BgpB,EAAG,0FACH8wE,SAAU,UACVC,OAAQ,OACR/yB,YAAa,MAGXgzB,EAEJ,SAAU/wF,GAGR,SAAS+wF,IAGP,OAFAt7F,YAAgBsG,KAAMg1F,GAEf17F,YAA2B0G,KAAMrH,YAAgBq8F,GAAyB/8F,MAAM+H,KAAM3H,YAe/F,OApBA2B,YAAUg7F,EAAyB/wF,GAQnC1J,YAAay6F,EAAyB,CAAC,CACrCh+F,IAAK,SACLC,MAAO,WACL,OAAO8D,IAAMC,cAAcgxC,IAAS90C,OAAOoL,OAAO,GAAItC,KAAK3F,MAAO,CAChE0H,KAAM,qBACNkzF,QAAS,gBACT/oD,eAAe,IACb3kC,OAIRytF,EAAwBlzF,YAAc,0BAC/BkzF,EArBT,CAsBE5wF,aAEF4wF,EAAwBE,UAAY,mBACpCF,EAAwBG,QAAU,QAClCH,EAAwBlxF,UAAYjG,YAAc,GAAImuC,IAAQloC,Y,6BC9C9D,sDAmCA,SAASsxF,EAAen+F,GACtB,IAAIoD,EAAQhC,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAE7E,MAAqB,oBAAVpB,EAKHA,EAAMmC,WACZnC,EAAMmC,UAAUoqD,iBAITzoD,IAAMC,cAAc/D,EAAOoD,GAHzBpD,EAAMoD,GAMVpD,I,6BCnDT,wGASIsQ,EAEJxM,IAAMC,cAAc,IAAK,CACvB85F,SAAU,UACVC,OAAQ,OACR/yB,YAAa,KACZjnE,IAAMC,cAAc,OAAQ,CAC7BgpB,EAAG,8cAGDqxE,EAEJ,SAAUpxF,GAGR,SAASoxF,IAGP,OAFA37F,YAAgBsG,KAAMq1F,GAEf/7F,YAA2B0G,KAAMrH,YAAgB08F,GAAiBp9F,MAAM+H,KAAM3H,YAcvF,OAnBA2B,YAAUq7F,EAAiBpxF,GAQ3B1J,YAAa86F,EAAiB,CAAC,CAC7Br+F,IAAK,SACLC,MAAO,WACL,OAAO8D,IAAMC,cAAcgxC,IAAS90C,OAAOoL,OAAO,GAAItC,KAAK3F,MAAO,CAChE0H,KAAM,cACNkzF,QAAS,kBACP1tF,OAIR8tF,EAAgBvzF,YAAc,kBACvBuzF,EApBT,CAqBEjxF,aAEFixF,EAAgBH,UAAY,UAC5BG,EAAgBF,QAAU,OAC1BE,EAAgBvxF,UAAYjG,YAAc,GAAImuC,IAAQloC,Y,6BC9CtD,wGASIyD,EAEJxM,IAAMC,cAAc,OAAQ,CAC1BgpB,EAAG,6dACH8wE,SAAU,UACVC,OAAQ,OACR/yB,YAAa,MAGXszB,EAEJ,SAAUrxF,GAGR,SAASqxF,IAGP,OAFA57F,YAAgBsG,KAAMs1F,GAEfh8F,YAA2B0G,KAAMrH,YAAgB28F,GAAiBr9F,MAAM+H,KAAM3H,YAcvF,OAnBA2B,YAAUs7F,EAAiBrxF,GAQ3B1J,YAAa+6F,EAAiB,CAAC,CAC7Bt+F,IAAK,SACLC,MAAO,WACL,OAAO8D,IAAMC,cAAcgxC,IAAS90C,OAAOoL,OAAO,GAAItC,KAAK3F,MAAO,CAChE0H,KAAM,cACNkzF,QAAS,kBACP1tF,OAIR+tF,EAAgBxzF,YAAc,kBACvBwzF,EApBT,CAqBElxF,aAEFkxF,EAAgBJ,UAAY,UAC5BI,EAAgBH,QAAU,OAC1BG,EAAgBxxF,UAAYjG,YAAc,GAAImuC,IAAQloC,Y,6BC7CtD,kCAiCA,IAAIzC,IAAiC,qBAAXmQ,SAA0BA,OAAOtU,WAAYsU,OAAOtU,SAASlC,gB,6BCjCvF,kCAiCA,IAAIqG,IAAiC,qBAAXmQ,SAA0BA,OAAOtU,WAAYsU,OAAOtU,SAASlC,gB,+JCCvF,SAAS2G,EAAU27B,GACjB,OAAO,WACL,IAAK,IAAI/vB,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAGzB,OAAO,SAAU5L,GACf,GAAwB,oBAAb07B,EAAyB,CAClC,IAAIx7B,EAAcF,EAAkBE,aAAeF,EAAkBG,KACjEw7B,EAAqBD,EAASrlC,WAAM,EAAQ,CAAC2J,GAAmB/E,OAAO8N,IAE3E,OADA4yB,EAAmBz7B,YAAcA,EAC1By7B,EAEP,OAAO37B,IAMAD,ICtBXixF,EAAa,WAEb,IAAIC,EAAc,WAChB,OAAO,SAAUjxF,GACf,OAAOA,IAYX,OARAixF,EAAYC,oBAAsB,aAElCD,EAAYE,oBAAsB,aAElCF,EAAYG,wBAA0B,aAEtCH,EAAYI,sBAAwB,aAE7BJ,EAhBM,GCIjB,SAASuC,EAAen+F,GACtB,IAAIoD,EAAQhC,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAE7E,MAAqB,oBAAVpB,EAKHA,EAAMmC,WACZnC,EAAMmC,UAAUoqD,iBAITzoD,IAAMC,cAAc/D,EAAOoD,GAHzBpD,EAAMoD,GAMVpD,EAGMm+F,I,+BChBf,SAASt5C,IACP,IAAK,IAAIvuC,EAAOlV,UAAUC,OAAQwuB,EAAQ,IAAI5rB,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAChFsZ,EAAMtZ,GAAQnV,UAAUmV,GAG1B,OAAOsZ,EAAMjvB,QAAO,SAAUosB,EAAG7rB,GAC/B,GAAS,MAAL6rB,EACF,OAAO,EAIT,IAAI83B,EA8BR,SAAuBhwC,EAAKkxB,GAC1B,IAAI8e,EAAU,GAMd,OALAhwC,EAAIvT,SAAQ,SAAU8c,EAAGld,GACnBkd,IAAM2nB,GACR8e,EAAQ/jD,KAAKI,MAGV2jD,EArCSC,CAAcl1B,EAAO7C,GACnC,OAA0B,IAAnB83B,EAAQzjD,QAAgBF,IAAM2jD,EAAQ,MAC5C7yC,QAAO,SAAU0nC,EAAK3sB,GACvB,GAAiB,oBAANA,EACT,MAAM,IAAIzb,MAAM,2EAGlB,OAAY,OAARooC,EACK3sB,EAGF,WACL,IAAK,IAAIvZ,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,GAAQE,EAAQ,EAAGA,EAAQF,EAAOE,IACpFD,EAAKC,GAASvS,UAAUuS,GAG1BgmC,EAAI34C,MAAM+H,KAAM2K,GAChBsZ,EAAEhsB,MAAM+H,KAAM2K,MAEf,MC7BL,SAAS1P,EAAiBghD,EAAS5hD,GACjC,IAAI6hD,EAAW7hD,EAAMmb,IACjB2mC,EAAcF,EAAQzmC,IAGtBwB,EAAcnZ,YAAc,GAAIxD,GAEhC4hD,EAAQ5hD,MAAMoG,OAASpG,EAAMoG,QAE/BuW,EAAYvW,MAAQ5C,YAAc,GAAIo+C,EAAQ5hD,MAAMoG,MAAO,GAAIpG,EAAMoG,QAIvEuW,EAAYhgB,IAAMilD,EAAQjlD,KAAOqD,EAAMrD,IAEvCE,OAAOQ,KAAK2C,GAAO7B,SAAQ,SAAUkI,GAMR,IAAvBA,EAAKC,QAAQ,OAAuC,oBAAhBtG,EAAMqG,IAAuD,oBAAxBu7C,EAAQ5hD,MAAMqG,KACzFsW,EAAYtW,GAAQo7C,EAAsBG,EAAQ5hD,MAAMqG,GAAOrG,EAAMqG,QAIzE,IAAK,IAAI6M,EAAOlV,UAAUC,OAAQkF,EAAW,IAAItC,MAAMqS,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IACtGhQ,EAASgQ,EAAO,GAAKnV,UAAUmV,GAGjC,OAAmB,MAAf2uC,GAAmC,MAAZD,EAClBnhD,IAAMqhD,aAAankD,MAAM8C,IAAO,CAACkhD,EAASjlC,GAAana,OAAOW,KAMzC,wJAAwJX,OAAOs/C,GAEtLphD,IAAMqhD,aAAankD,MAAM8C,IAAO,CAACkhD,EAASp+C,YAAc,GAAImZ,EAAa,CAC9ExB,IAAK,SAAa6wB,GAChB6V,EAAS7V,GACT8V,EAAY9V,OAEZxpC,OAAOW,KC3Cb,SAAS9C,EAAkBC,GACzB,IAAIN,EAAQhC,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACzEuC,EAAaC,WAASC,MAAMH,GAEhC,OAAmB,IAAfC,EACK,KACmB,kBAAVD,GAAsBA,EAAMrC,OAAS,GAAKsC,EAAa,EAChEG,IAAMC,cAAc,OAAQX,EAAOM,GAEnCM,EAAiBC,MAAMC,QAAQR,GAASA,EAAM,GAAKA,EAAON,GAItDK,ICnBXU,EAAe,CACjBC,YAFgB,cAQhBC,MAAOxE,YAAgB,GARP,cAQwByE,IAAU/D,QAOlDgE,iBAAkB,SAA0BC,EAAOC,GACjD,OAAO5E,YAAgB,GAhBT,cAgB0B,CACtC2E,MAAOA,EACPC,UAAWA,KAQfC,gBAAiB,SAAyBC,GACxC,GAAIA,EACF,OAAOA,EA5BK,iB,0BC2BlB,SAASmiB,EAAK9mB,EAAO8xB,GACnB,GAAqB,qBAAV9xB,EACT,MAAM,IAAIuR,MAAM,0CAGlB,IAAI+sF,EAAc,GACdC,EAAcv+F,EAiBlB,MAf2B,kBAAhBu+F,IAGPA,EAFyB,kBAAhBA,EAEKx2D,IAAUw2D,GAEVA,EAAYtpF,YAI9BqpF,EA9BF,SAAqB3yB,GACnB,IAAI7kD,EAAO,EACX,GAAqB,IAAjB6kD,EAAMtqE,OAAc,OAAOylB,EAE/B,IAAK,IAAI3lB,EAAI,EAAGA,EAAIwqE,EAAMtqE,OAAQF,IAAK,CAErC2lB,GAAQA,GAAQ,GAAKA,EADb6kD,EAAM5hC,WAAW5oC,GAEzB2lB,GAAQ,EAGV,OAhCF,SAAkB6kD,GAOhB,IANA,IAGI6yB,EAFAC,EAAS,GACTp9F,EAASsqE,EAAMtqE,OAIVF,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EAAG,CAClCq9F,EAAU7yB,EAAM5hC,WAAW5oC,IAAM,IAAMA,EAAI,EAAIE,EAASsqE,EAAM5hC,WAAW5oC,EAAI,IAAM,EAAI,IAAMA,EAAI,EAAIE,EAASsqE,EAAM5hC,WAAW5oC,EAAI,GAAK,GAExI,IAAK,IAAIshD,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAClB,EAAJthD,EAAY,EAAJshD,EAAuB,EAAfkpB,EAAMtqE,OACxBo9F,GAPO,IASPA,GAbI,mEAaU35E,OAAO05E,IAAY,GAAK,EAAI/7C,GAAK,IAKrD,OAAOg8C,EAaAC,CAAS9vE,OAAO9H,IAoBT63E,CAAYJ,GAEtBzsE,IACFwsE,EAAcA,EAAYjlF,MAAM,EAAGyY,IAG9BwsE,EAGMx3E,I,iBC9DXliB,GCOWC,EAAf,EDPqB5E,OAAOkC,UAAUyC,gBAetC,SAASE,EAAaC,EAAMC,GAC1B,GAAIC,EAAGF,EAAMC,GACX,OAAO,EAGT,GAAoB,kBAATD,GAA8B,OAATA,GAAiC,kBAATC,GAA8B,OAATA,EAC3E,OAAO,EAGT,IAAIE,EAAQjF,OAAOQ,KAAKsE,GACpBI,EAAQlF,OAAOQ,KAAKuE,GAExB,GAAIE,EAAM7D,SAAW8D,EAAM9D,OACzB,OAAO,EAIT,IAAK,IAAIF,EAAI,EAAGA,EAAI+D,EAAM7D,OAAQF,IAChC,IAAKyD,EAAerC,KAAKyC,EAAME,EAAM/D,MAAQ8D,EAAGF,EAAKG,EAAM/D,IAAK6D,EAAKE,EAAM/D,KACzE,OAAO,EAIX,OAAO,EAQT,SAAS8D,EAAGG,EAAGC,GAEb,OAAID,IAAMC,EAGK,IAAND,GAAiB,IAANC,GAAW,EAAID,IAAM,EAAIC,EAGpCD,IAAMA,GAAKC,IAAMA,EAIbP,I,iBE/Cf,SAAS4H,EAAYkmB,GACnB,IAAItsB,EAAqB,oBAAPssB,EAAoBA,IAAOA,EAE7C,OAAItsB,IAASL,SACJA,SAASqE,gBACPhE,aAAgBusB,SAAWvsB,IAASiU,QAAUjU,GAAiC,qBAAlBA,EAAKwsB,SACpExsB,EACEA,EACFysB,IAASrmB,YAAYpG,QADvB,EAKMoG,I,QCpBf,SAASpH,EAAkBC,EAASC,EAASC,GAC3C,IAAIC,EAAYH,EAAQI,cAAc,IAAIC,OAAOH,IAC7CI,EAAOJ,EAAMK,cAEjB,GAAKN,EAQE,CACL,IAAIO,GAAoBL,EACpBM,EAAYR,EAEZO,KACFL,EAAYO,SAASlC,cAAc,UACzBmC,aAAa,UAAU,GACjCR,EAAUQ,aAAa,OAAQ,YAC/BR,EAAUS,GAAKV,GAGZC,EAAUU,UA+BnB,SAASC,EAAkBC,EAAMb,GAE/B,IAAIc,EAAWD,EAAKC,UAAYD,EAAKE,WAEjCF,EAAKJ,cACPI,EAAKJ,aAAaT,EAAO,IAG3B,IAAK,IAAItE,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IACnCkF,EAAkBE,EAASpF,GAAIsE,GAtC7BY,CAAkBd,EAASM,GAC3BG,EAeN,SAAsBR,EAASC,GAC7B,OAAOgB,YAAajB,GAAS,SAAUkB,GACrC,IAAIC,EAAcC,YAAc,GAAIF,GAOpC,OALKA,EAAKG,WACRF,EAAYG,SAwElB,SAAmBJ,EAAMjB,GACvB,IAAIsB,EAAQL,EAAKI,SAASE,MAAM,KAE3BC,YAAoBP,KACvBK,EAAQA,EAAMG,KAAI,SAAUC,GAC1B,OApBN,SAA8BL,EAAUrB,GACtC,IAAI2B,EAAiBN,EAASO,OAW9B,OAVAD,EAAiBA,EAAeE,QAChC,2CAA2C,SAAUC,EAAOC,EAAYV,GACtE,IAAIW,EAASrG,UAAUA,UAAUC,OAAS,GAE1C,OAAIqG,EAAgBZ,IAAaW,EAAS,EACjCE,EAAsBb,EAAUU,EAAY/B,GAE5CqB,KAWAc,CAAqBT,EAAM1B,OAItC,OAAOsB,EAAMc,KAAK,KAjFSC,CAAUpB,EAAMjB,GACvCkB,EAAYE,UAAW,GAGlBF,KAxBOoB,CAAa/B,EAAW,IAAIJ,OAAOC,EAAM,OAGnDE,GACFR,EAAQyC,aAAatC,EAAWH,EAAQ0C,YAGtC,gBAAiBvC,EACnBA,EAAUwC,YAAclC,EAExBN,EAAUyC,WAAW3C,QAAUQ,OA/B7BN,IACGA,EAAUU,QA6DrB,SAASgC,EAAuB9B,EAAMb,GACpC,IAAIc,EAAWD,EAAKC,UAAYD,EAAKE,WAEjCF,EAAK+B,iBACP/B,EAAK+B,gBAAgB5C,GAGvB,IAAK,IAAItE,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IACnCiH,EAAuB7B,EAASpF,GAAIsE,GApEhC2C,CAAuB7C,EAASM,GAGlCN,EAAQ+C,YAAY5C,IA0E1B,SAASgC,EAAgBZ,GACvB,OAAOA,EAASS,MAAM,wBASxB,SAASI,EAAsBb,EAAUU,EAAY/B,GACnD,OAhBF,SAAwBqB,GAEtB,OAAOA,EAASS,MAAM,0BAclBgB,CAAezB,GACVA,EAIFU,GADc/B,EAXvB,SAA6BqB,EAAUrB,GACrC,IAAIsB,EAAQD,EAASE,MAAM,KAE3B,OADAD,EAAM,IAAMtB,EACLsB,EAAMc,KAAK,KAQWW,CAAoB1B,EAAUrB,GAASqB,GA+BvDxB,I,QC5Hf,SAASmD,EAAcC,EAAclE,GACnC,IAAImE,EAAY,GAEhB,OAAID,IAAiBlE,GAAUA,GAE/BvE,OAAOQ,KAAK+D,GAAOjD,SAAQ,SAAUxB,GAC/B2I,EAAa3I,KAASyE,EAAMzE,KAC9B4I,EAAU5I,GAAOyE,EAAMzE,OAGpB4I,GAPsCA,EAUhCF,I,gBCDf,SAASG,IACHC,cACFC,EAA0B9H,MAAM+H,KAAM3H,WAEtC4H,EAA6BhI,MAAM+H,KAAM3H,WAI7C,SAAS4H,EAA6BzD,EAAS0D,EAAWC,EAAUC,EAAQC,EAAU3D,GACpF,GAAKF,IAAW8D,YAAQJ,GAAxB,CAIA,IAAIN,EAAYF,EAAcS,EAAUD,GACpCzD,EAAU,GAEVmD,GAAa1I,OAAOQ,KAAKkI,GAAWtH,OAAS,IAC/CmE,EAAU8D,YAAuBF,EAAUxC,YAAc,GAAIsC,EAAU,GAAID,KAG7E3D,EAAkBC,EAASC,EAASC,IAGtC,SAASqD,EAA0BvD,EAAS0D,EAAWC,EAAUC,GAC/D,GAAK5D,IAAW8D,YAAQJ,GAAxB,EAYF,SAA+B1D,EAAS4D,GAGtC,IAFA,IAAII,EAAShE,EAAQiE,MAEZrI,EAAIoI,EAAOlI,OAAS,EAAGF,GAAK,EAAGA,IAAK,CAC3C,IAAIsI,EAAOF,EAAOpI,GAEdsI,EAAKC,QAAQ,KAAK9D,OAAOuD,EAAQ,OAAS,GAC5C5D,EAAQiE,MAAMG,eAAeF,IAfjCG,CAAsBrE,EAAS4D,GAC/B,IAAIR,EAAYF,EAAcS,EAAUD,GAEpCN,IAAcU,YAAQV,IAiB5B,SAA6BpD,EAASsE,GACpC5J,OAAOQ,KAAKoJ,GAAYtI,SAAQ,SAAUuI,GACxC,IAAI9J,EAAQ6J,EAAWC,GAEnB9J,GACFuF,EAAQiE,MAAMO,YAAYD,EAAc9J,MArB1CgK,CAAoBzE,EAAS0E,YAAoBtB,EAAWQ,KA0BjDP,I,SC7EXsB,GAAS,EASb,SAASC,KACP,IAAID,IACJA,GAAS,EAELE,KAAW,CACb,IAAIC,EAAMpE,SAASqE,gBAAgBC,aAAa,OAE3CF,GAMHpE,SAASqE,gBAAgBpE,aAAa,MAAO,QAKpCiE,I,SC4BXK,GAAW,GAkBXC,GAAYC,GAAU,SAAUC,EAAmBnG,GACrD,IAAI+E,EAASnI,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC1EwJ,EAAUxJ,UAAUC,OAAS,EAAID,UAAU,QAAK,EAChDyJ,EAAcF,EAAkBE,aAAeF,EAAkBG,KACjEC,EAAc,GAAGnF,OAAO2D,GAAUA,EAAOwB,aAAe+b,EAAKnc,EAAmB,IAWpF,IAAIM,EAAajJ,OAAO+I,GAEpB3B,EAAW,aAEXG,GAAUA,EAAOH,WACnBA,EAAsC,oBAApBG,EAAOH,SAA0BG,EAAOH,SAAW,WAMnE,MAAO,KAIX8B,aAAuBD,EAAYzG,GAEnC,IAAI2G,EAAa,SAAoBxG,GAEnC,OADmBR,EAAaO,gBAAgBC,IACzB6F,IAGrBY,EAAsB,SAA6BzG,GACrD,IACIH,EADc2G,EAAWxG,GACLH,MAExB,OAAIA,GAASA,EAAMyG,GACVhL,OAAOoL,OAAO,GAAI7G,EAAMyG,IAExBT,IAIPc,EAA6B,SAAoCC,EAAU5C,GAC7E,OAAO6C,aAAuBP,EAAYM,EAAU5C,IAGlD8C,EAEJ,SAAUC,GAGR,SAASD,IACP,IAAIE,EAEJlJ,YAAgBsG,KAAM0C,GAEtB,IAAIG,EAAMD,EAAQtJ,YAA2B0G,KAAMrH,YAAgB+J,GAAoBzK,MAAM+H,KAAM3H,YAEnGuK,EAAME,YAAc,KACpBF,EAAMG,YAAcd,YAAIH,GACxB,IAAInC,EAAe4C,IAEnB,OADAS,aAAqB3C,EAAUV,EAAcqC,GACtC1I,YAA2BsJ,EAAOC,GA+F3C,OA5GA7I,YAAU0I,EAAoBC,GAgB9BpI,YAAamI,EAAoB,CAAC,CAChC1L,IAAK,oBACLC,MAAO,WACL+I,KAAKiD,aACL7B,KAEI8B,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,oBAAqB4G,OAC3EkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,oBAAqB4G,MAAMxG,KAAKwG,QAGvF,CACDhJ,IAAK,wBACLC,MAAO,SAA+BkM,EAAWC,EAAWC,GAE1D,OAD8BvH,IAAUV,EAAaO,gBAAgBqE,KAAKpE,SAAUR,EAAaO,gBAAgB0H,MAG7GH,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,wBAAyB4G,MACxEkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,wBAAyB4G,MAAMxG,KAAKwG,KAAMmD,EAAWC,EAAWC,IAGrHtH,EAAaiE,KAAK3F,MAAO8I,KAAepH,EAAaiE,KAAKsD,MAAOF,KAAerH,EAAaiE,KAAKpE,QAASyH,MAEpH,CACDrM,IAAK,qBACLC,MAAO,SAA4BsM,EAAWC,EAAWC,GAClD3H,IAAUyH,EAAU9H,MAAOuE,KAAK3F,MAAMoB,QAAWK,IAAUuG,EAAoBoB,GAAcpB,EAAoBrC,KAAKpE,YACzHoE,KAAK8C,YAAc,MAGrB9C,KAAKiD,aAEDC,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,qBAAsB4G,OAC5EkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,qBAAsB4G,MAAMxG,KAAKwG,KAAMuD,EAAWC,EAAWC,KAGpH,CACDzM,IAAK,aACLC,MAAO,SAAoByM,GACzB,IAAIpD,YAAQN,KAAKvE,OAAjB,CAIA,IAAIkE,EAAe4C,IACnB1C,EAAqB6D,GAAWC,EAAY3D,MAC5CA,KAAKvE,MAAOkE,EAAcqC,EAAa3B,EACvCL,KAAKtD,UAGN,CACD1F,IAAK,QACL4M,IAAK,WACH,MAAO,GAAG/G,OAAOmF,EAAa,MAAMnF,OAAOmD,KAAK+C,eAEjD,CACD/L,IAAK,QACL4M,IAAK,WACH,GAAyB,OAArB5D,KAAK8C,YACP,OAAO9C,KAAK8C,YAGd,IACIpH,EADe0G,EAAWpC,KAAKpE,SACNF,UAEzBD,EAAQ4G,EAAoBrC,KAAKpE,SAyBrC,OAvBIoE,KAAK3F,MAAMoB,QAAU6E,YAAQN,KAAK3F,MAAMoB,SACrCA,EAEMC,EAIqEsE,KAAK3F,MAAMoB,MAEzFA,EAAQ6E,YAAQ7E,GAASuE,KAAK3F,MAAMoB,MAAQvE,OAAOoL,OAAO,GAAI7G,EAAOuE,KAAK3F,MAAMoB,OAPhFA,EAAQuE,KAAK3F,MAAMoB,OAYA,oBAAZoG,IACTpG,EAAQoG,EAAQ,CACdpG,MAAOA,EACPqG,YAAaA,KAKjB9B,KAAK8C,YAAcP,EAA2B,KAAM9G,GAC7CuE,KAAK8C,gBAITJ,EA7GT,CA8GEd,GAUF,OARAc,EAAmBV,YAAcA,EACjCU,EAAmBjH,MAAQyG,EAC3BQ,EAAmBmB,aAAe3M,OAAOoL,OAAO,GAAIV,EAAkBiC,aAAczI,EAAaE,OACjGoH,EAAmBoB,UAAY5M,OAAOoL,OAAO,GAAIV,EAAkBkC,UAAW,CAC5ErI,MAAOF,IAAU/D,SAGnBkL,EAAmBqB,cAAgBxB,EAC5BG,KAWThB,GAAUqC,cAAgBA,KACXrC,ICnPXsC,GAEJ,SAAUC,GAGR,SAASD,IAGP,OAFAtK,YAAgBsG,KAAMgE,GAEf1K,YAA2B0G,KAAMrH,YAAgBqL,GAAY/L,MAAM+H,KAAM3H,YA8BlF,OAnCA2B,YAAUgK,EAAYC,GAQtB1J,YAAayJ,EAAY,CAAC,CACxBhN,IAAK,kBACLC,MAAO,WACL,IAAIwE,EAAQuE,KAAK3F,MAAMoB,OAAS,GAC5ByI,EAAqB9I,EAAaO,gBAAgBqE,KAAKpE,UAAY,GAavE,OAXIsI,EAAmBxI,WAAawI,EAAmBzI,OAI9CuE,KAAK3F,MAAMoB,MAAyEuE,KAAK3F,MAAMoB,MAEtGA,EAAQyI,EAAmBzI,OAClByI,EAAmBzI,QAC5BA,EAAQ0I,YAAUD,EAAmBzI,MAAOA,IAGvCL,EAAaI,iBAAiBC,EAAOyI,EAAmBxI,WAAasE,KAAK3F,MAAMqB,aAExF,CACD1E,IAAK,SACLC,MAAO,WACL,OAAOyD,EAAkBsF,KAAK3F,MAAMmD,cAIxCwG,EAAWlC,YAAc,aAClBkC,EApCT,CAqCEI,aAEFJ,GAAWF,UAAY,CAIrBrI,MAAOF,IAAU/D,OAKjBgG,SAAUjC,IAAUgC,KAKpB7B,UAAWH,IAAU8I,MAEvBL,GAAWM,aAAe,CACxB7I,WAAO,EACP+B,SAAU,KACV9B,WAAW,GAEbsI,GAAWO,kBAAoBnJ,EAAaE,MAC5C0I,GAAWH,aAAezI,EAAaE,MACvC0I,GAAWD,cAAgBrC,GAAUqC,cACtBC,ICpFXQ,GAAsB,CACxBC,aAAc,CACZC,QAAS,UACTC,MAAO,QACPC,QAAS,UACTC,KAAM,QAERC,eAAgB,CACdC,QAAS,UACTC,MAAO,QACPN,QAAS,UACTC,MAAO,QACPC,QAAS,WAEXK,cAAe,CACb,EAAK,IACLJ,KAAM,OACNK,MAAO,QACPC,OAAQ,SACRC,MAAO,SAETC,aAAc,CACZ,EAAK,IACLR,KAAM,OACNK,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPE,OAAQ,SACRC,KAAM,QAERC,YAAa,CACXC,QAAS,UACTC,QAAS,UACTC,YAAa,eAEfC,MAAO,CACLC,OAAQ,UACRX,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPU,OAAQ,WAEVC,QAAS,CACP,EAAK,IACLlB,KAAM,OACNmB,KAAM,OACNC,SAAU,YACVC,QAAS,WACTL,OAAQ,UACRX,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPU,OAAQ,UACRK,QAAS,a,YCnCb,SAASC,GAASC,GAChB,OAAOA,EAAI9H,QAAQ,aAAa,SAAU+H,GACxC,OAAOA,EAAE,GAAGC,iBChBhB,SAASC,GAAsBC,EAAeC,EAAgBC,EAAWC,GACvE,GAAyB,kBAAdD,IAA0BrG,YAAQoG,GAI7C,OAAOC,EAAU1I,MAAM,KAAKE,KAAI,SAAU0I,GACxC,GAAuB,SAAnBA,GAAgD,MAAnBA,EAC/B,OAAOA,EAGT,GAAuB,SAAnBA,EACF,MAAO,IAGT,GAAuB,WAAnBA,EACF,MAAO,OAGT,GAAuB,SAAnBA,EACF,MAAO,QAGT,IAAIC,EAAoBV,GAAS,GAAGvJ,OAAO+J,EAAU,KAAK/J,OAAOgK,IAC7DE,EAAqBL,EAAeI,GAOxC,MAF2B,IAAIjK,OAAO4J,EAAe,OAAO5J,OAAOiK,EAAmB,qBAAqBjK,OAAO+J,EAAU,YAErHG,GAAsB,OAC5BjI,KAAK,KAAKR,OCtBf,SAAS0I,GAAc5G,EAAQ6G,GAC7B,IAAIC,EAAY,GAIhB,OAHAhQ,OAAOQ,KAAKuP,GAAMzO,SAAQ,SAAU2O,GAClCD,EAAUd,GAAS,GAAGvJ,OAAOuD,EAAQ,KAAKvD,OAAOsK,KAAcF,EAAKE,MAE/DD,ECGT,SAASE,GAAqBC,GAC5B,GAAsB,kBAAXA,EAAX,CAIA,IAAIC,EAAYD,EAAOpJ,MAAM,KAE7B,GAAyB,IAArBqJ,EAAUhP,OAAc,CAE1B,IAAIiP,EAAO,CAACD,EAAU,GAAIA,EAAU,IACpCA,EAAU,GAAKC,EAAK,GACpBD,EAAU,GAAKC,EAAK,GAGtB,OAAOD,EAAUxI,KAAK,MAiBxB,SAAS0I,GAAuBH,GAC9B,GAAsB,kBAAXA,EAAX,CAIA,IAAIC,EAAYD,EAAOpJ,MAAM,KAE7B,GAAyB,IAArBqJ,EAAUhP,OAAc,CAE1B,IAAImP,EAAQ,CAACH,EAAU,GAAIA,EAAU,IACrCA,EAAU,GAAKG,EAAM,GACrBH,EAAU,GAAKG,EAAM,GAQvB,GALyB,IAArBH,EAAUhP,QAEZgP,EAAUtP,KAAKsP,EAAU,IAGF,IAArBA,EAAUhP,OAAc,CAC1B,IAAIoP,EAAQ,CAACJ,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,IACjEA,EAAU,GAAKI,EAAM,GACrBJ,EAAU,GAAKI,EAAM,GACrBJ,EAAU,GAAKI,EAAM,GACrBJ,EAAU,GAAKI,EAAM,GAGvB,OAAOJ,EAAUxI,KAAK,M,OC9ET0I,ICCX/C,GAAeD,GAAoBC,aACnCK,GAAiBN,GAAoBM,eACrCG,GAAgBT,GAAoBS,cACpCI,GAAeb,GAAoBa,aACnCG,GAAchB,GAAoBgB,YAClCI,GAAQpB,GAAoBoB,MAC5BG,GAAUvB,GAAoBuB,QAS9B4B,GAAqB,CACvBC,OAAQrM,IAAUsM,MAAM3Q,OAAOmQ,OAAO5C,KACtCqD,SAAUvM,IAAUsM,MAAM3Q,OAAOmQ,OAAOvC,KACxCiD,YAAaC,GAAkB9Q,OAAOmQ,OAAOpC,KAC7CgD,aAAcD,GAAkB9Q,OAAOmQ,OAAOhC,KAC9C6C,WAAY3M,IAAUsM,MAAM3Q,OAAOmQ,OAAO7B,KAC1C2C,KAAM5M,IAAUsM,MAAM3Q,OAAOmQ,OAAOzB,KACpCwC,QAASJ,GAAkB9Q,OAAOmQ,OAAOtB,MAG3C,SAASiC,GAAkBK,GACzB,OAAO,SAAUhO,EAAOuM,EAAUH,EAAe6B,GAC/C,IAAI3B,EAAYtM,EAAMuM,GAEtB,GAAyB,qBAAdD,EAAX,CAIA,IAAI4B,SAAuB5B,EAE3B,GAAsB,WAAlB4B,EACF,OAAO,IAAIC,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,eAAe/J,OAAO0L,EAAe,mBAAmB1L,OAAO4J,EAAe,gBAAkB,aAGtK,IAAIgC,EAAa9B,EAAU1I,MAAM,KAC7ByK,EAAeD,EAAWnQ,OAE9B,KAAIoQ,EAAe,GAAKA,EAAe,GASrC,OAAO,IAAIF,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,OAAO/J,OAAO8J,EAAW,mBAAmB9J,OAAO4J,EAAe,gBAAkB,wDAAwD5J,OAAOwL,EAAYvJ,KAAK,MAAO,OAR/O,IAAK,IAAI1G,EAAI,EAAGA,EAAIsQ,EAActQ,IAAK,CAGrC,IAAoB,IAFHiQ,EAAY1H,QAAQ8H,EAAWrQ,IAG9C,OAAO,IAAIoQ,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,OAAO/J,OAAO4L,EAAWrQ,GAAI,mBAAmByE,OAAO4J,EAAe,gBAAkB,aAAa5J,OAAOwL,EAAYvJ,KAAK,MAAO,UASnM6I,ICxEEsgC,GAAQC,GAASvvB,G,aCenBhQ,GAAf,ECAeC,GAAf,E,OCQI4gC,GAKHh/B,8CAAY0oF,mCAITvxF,GAAU,SAAUC,GACtB,IACIuxF,EAAU,CACZC,UAAW,WACXn8F,MAHgB2K,EAAkBE,aAAeF,EAAkBG,MAKjEhE,EAAW,IAAIlB,OAAOs2F,EAAQC,UAAW,OAAQv2F,OAAOs2F,EAAQl8F,MAAO,MAEvEo8F,EAEJ,SAAU1wF,GAGR,SAAS0wF,IAGP,OAFA35F,YAAgBsG,KAAMqzF,GAEf/5F,YAA2B0G,KAAMrH,YAAgB06F,GAAmBp7F,MAAM+H,KAAM3H,YAmFzF,OAxFA2B,YAAUq5F,EAAmB1wF,GAQ7BpI,YAAa84F,EAAmB,CAAC,CAC/Br8F,IAAK,oBACLC,MAAO,WACL,GAAIiM,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,oBAAqB4G,MAAO,CAGjF,IAFA,IAAIszF,EAEK/lF,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,IAGxB8lF,EAAQpwF,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,oBAAqB4G,OAAOxG,KAAKvB,MAAMq7F,EAAO,CAACtzF,MAAMnD,OAAO8N,IAG1H3K,KAAKuzF,2BAEN,CACDv8F,IAAK,qBACLC,MAAO,WACL,GAAIiM,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,qBAAsB4G,MAAO,CAGlF,IAFA,IAAIwzF,EAEK9oF,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,GAAQE,EAAQ,EAAGA,EAAQF,EAAOE,IACpFD,EAAKC,GAASvS,UAAUuS,IAGzB4oF,EAAQtwF,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,qBAAsB4G,OAAOxG,KAAKvB,MAAMu7F,EAAO,CAACxzF,MAAMnD,OAAO8N,IAG3H3K,KAAKuzF,2BAEN,CACDv8F,IAAK,uBACLC,MAAO,WAGL,GAFA+I,KAAKyzF,oBAAqB,EAEtBvwF,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,uBAAwB4G,MAAO,CAGpF,IAFA,IAAI0zF,EAEK5oF,EAAQzS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAM4P,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFJ,EAAKI,GAAS1S,UAAU0S,IAGzB2oF,EAAQxwF,YAAKvK,YAAgB06F,EAAkBj6F,WAAY,uBAAwB4G,OAAOxG,KAAKvB,MAAMy7F,EAAO,CAAC1zF,MAAMnD,OAAO8N,IAG7Hi6D,aAAa5kE,KAAK2zF,kBAEnB,CACD38F,IAAK,yBACLC,MAAO,WACL,IAAI2L,EAAQ5C,KAEZA,KAAK2zF,eAAiBjvB,YAAW,WAC/B,IAAIkvB,EAEAr2F,EAEJ,IAAIqF,EAAM6wF,mBAAV,CAIA,IAEEl2F,EAAOqF,EAAMc,SAAWC,sBAAYf,GACpC,MAAO0S,IAET,GAAuB,QAAlBs+E,EAAQr2F,SAA4B,IAAVq2F,OAAmB,EAASA,EAAMpyF,aAAc,CAC7E,IAAI4xF,EAAY71F,EAAKiE,aAAa2xF,EAAQC,WACtC/rF,EAA8B,kBAAd+rF,EAAyBA,EAAUn1F,MAAM,OAAS,GAEjEoJ,EAAO07B,SAASowD,EAAQl8F,QAC3BoQ,EAAOrP,KAAKm7F,EAAQl8F,OAGtBsG,EAAKJ,aAAag2F,EAAQC,UAAW/rF,EAAOvI,KAAK,eAMlDu0F,EAzFT,CA0FEzxF,GAGF,OADAyxF,EAAkBt1F,SAAWA,EACtBs1F,KA3GyC,WAChD,OAAO,SAAUjvF,GACf,OAAOA,I,SCdPvI,GAAiB3E,OAAOkC,UAAUyC,eAElCm4F,GAAO,SAAcC,EAAgBv8F,GAEvC,IAAIw8F,EAAY,GAEhB,IAAK,IAAIl9F,KAAOi9F,EAEF,UAARj9F,GAA2B,aAARA,GAA8B,cAARA,GAA+B,UAARA,IAChEU,EAAKqrC,SAAS/rC,IAAS6E,GAAerC,KAAKy6F,EAAgBj9F,KAC/Dk9F,EAAUl9F,GAAOi9F,EAAej9F,IAGlC,OAAOk9F,GAGT,SAASrpD,GAAUxwC,EAAOyJ,EAAWqwF,GACnC,IAAIz8F,EAAOR,OAAOQ,KAAKoM,GAAa,IAChCswF,EAAWD,EAAUz8F,EAAKmF,OAAOs3F,GAAWz8F,EAChD,OAAOs8F,GAAK35F,EAAO+5F,GA2BrB,SAASM,GAAiBr6F,GACxB,IAAIs6F,EAAa,GAOjB,OANAz9F,OAAOQ,KAAK2C,GACXxC,QAAO,SAAU+O,GAChB,OAAOguF,aAAYhuF,IAA0B,UAAbA,GAAqC,cAAbA,GAAyC,aAAbA,KACnFpO,SAAQ,SAAUoO,GACnB+tF,EAAW/tF,GAAYvM,EAAMuM,MAExB+tF,ECtDM,SAASxsD,GAAU5gC,GAChC,IAAIs4B,EAASt4B,EAAKs4B,OAClB,MAAO,CACLuI,oBAAqBvI,EAAOwI,aAC5BC,aAAczI,EAAO0I,YACrBC,eAAgB3I,EAAO4I,SACvBC,sBAAuB7I,EAAO8I,UAC9BC,aAAc/I,EAAOgJ,YACrBC,WAAYjJ,EAAOkJ,UACnBC,WAAYnJ,EAAOoJ,WACnBC,WAAYrJ,EAAOsJ,UACnBC,aAAcvJ,EAAOwJ,aAIzBlB,GAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACLooC,aAAcpoC,EAAU,4BACxB4oC,WAAY5oC,EAAU,sBLF1B,IAAIM,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,4JAA4JoB,OAAOpB,EAAM6sC,cAAgB,UAAW,2BAA2BzrC,OAAOpB,EAAM+sC,gBAAkB,UAAW,2BAA2B3rC,OAAOpB,EAAM2sC,qBAAuB,UAAW,2BAA2BvrC,OAAOpB,EAAMitC,uBAAyB,UAAW,2BAA2B7rC,OAAOpB,EAAM2tC,cAAgB,UAAW,2BAA2BvsC,OAAOpB,EAAMqtC,YAAc,UAAW,2BAA2BjsC,OAAOpB,EAAMmtC,cAAgB,UAAW,2BAA2B/rC,OAAOpB,EAAMutC,YAAc,UAAW,2BAA2BnsC,OAAOpB,EAAMytC,YAAc,UAAW,MAEjvB,KAAQ,aACR,OAAU,aACV,MAAS,aACT,iBAAkB,aAClB,iBAAkB,aAClB,mBAAoB,aACpB,yBAA0B,aAC1B,2BAA4B,aAC5B,iBAAkB,aAClB,eAAgB,aAChB,iBAAkB,aAClB,eAAgB,aAChB,eAAgB,cASdK,GAAoBC,IAA8CC,CAAKxB,GAA/BvmC,GAAUjG,GAAO+E,GAAuBkpC,EAAgB/wB,GAAQuvB,GAE5G,SAAUjkC,GAGR,SAASslC,IACP,IAAI3mC,EAOJ,OALAlJ,YAAgBsG,KAAMupC,IAEtB3mC,EAAQtJ,YAA2B0G,KAAMrH,YAAgB4wC,GAAW/vC,KAAKwG,QACnE2pC,QAAU1nC,YAAI,mBACpBW,EAAMgnC,OAAS3nC,YAAI,kBACZW,EA+FT,OAzGA5I,YAAUuvC,EAAWtlC,GAarB1J,YAAagvC,EAAW,CAAC,CACvBvyC,IAAK,cACLC,MAAO,WACL,IAAIoqC,EAAQrhC,KAAK3F,MAAMgnC,MACvB,OAAOA,EAAQtmC,IAAMC,cAAc,QAAS,CAC1CoC,GAAI4C,KAAK2pC,SACRtI,GAAS,OAEb,CACDrqC,IAAK,aACLC,MAAO,SAAoB+S,GACzB,OAAOA,EAAOjP,IAAMC,cAAc,OAAQ,CACxCoC,GAAI4C,KAAK4pC,QACR5/B,GAAQ,OAEZ,CACDhT,IAAK,gBACLC,MAAO,WACL,GAAI+I,KAAK3F,MAAMwvC,IAAK,CAClB,IAAIA,EAAMN,EAAUO,WAAW9pC,KAAK3F,MAAMwvC,KAC1C,OAAO9uC,IAAMC,cAAc,IAAK,CAC9B+uC,KAAM,eACNC,wBAAyB,CACvBC,OAAQJ,KAKZ,OAAO9uC,IAAMC,cAAc,IAAK,CAC9B+uC,KAAM,gBACL/pC,KAAK3F,MAAMmD,YAGjB,CACDxG,IAAK,SACLC,MAAO,WACL,IAAIizC,EAEAC,EAAcnqC,KAAK3F,MACnBoG,EAAQ0pC,EAAY1pC,MACpB4gC,EAAQ8I,EAAY9I,MACpBQ,EAAcsI,EAAYtI,YAC1ByI,EAAYH,EAAYG,UAGxB5f,GAFWyf,EAAY3sC,SACjB2sC,EAAYN,IACVM,EAAYzf,OACpBrwB,EAAQ+R,YAAyB+9B,EAAa,CAAC,QAAS,QAAS,cAAe,YAAa,WAAY,MAAO,UAGhHC,EAA6B,SAArBpqC,KAAK3F,MAAM+vC,MAAmB,KAAOpqC,KAAK3F,MAAM+vC,MACxDC,EAA+B,SAAtBrqC,KAAK3F,MAAMgwC,OAAoB,KAAOrqC,KAAK3F,MAAMgwC,OAC9D,OAAOtvC,IAAMC,cAAc,MAAO9D,OAAOoL,OAAO,GA4EtD,SAAyBunC,GACvB,IAAIU,EAAa,GAEbC,EAAuB,uDAE3B,GAAmB,kBAARX,EAMT,IALA,IAAIY,EAJoB,qBAIoBrf,KAAKye,GAC7Ca,EAAmBD,EAAoBA,EAAkB,GAAK,GAC9DE,EAAW,CAAC,QAAS,cAAe,WACpCnsC,EAAQgsC,EAAqBpf,KAAKsf,GAEtB,MAATlsC,IAC+B,IAAhCmsC,EAAShqC,QAAQnC,EAAM,MACzB+rC,EAAW/rC,EAAM,IAAMA,EAAM,KAAOA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,KAAOA,EAAM,IAGrGA,EAAQgsC,EAAqBpf,KAAKsf,GAItC,OAAOH,EAhGiDK,CAAgB5qC,KAAK3F,MAAMwvC,KAAMgB,GAAU7qC,KAAK3F,MAAOkvC,EAAUzlC,UAAW,CAAC,WAAY,CAC3IrD,MAAO5C,YAAc,GAAI4C,EAAO,CAC9B2pC,MAAOA,EACPC,OAAQA,IAEVD,MAAOA,EACPC,OAAQA,EACR,cAAehJ,EAAQ,KAAO,OAC9B,kBAAmBrhC,KAAK8qC,WACxBf,KAAM/pC,KAAK+pC,KACXO,UAAWA,EAAY,OAAS,QAChCS,UAAWC,KAAYd,EAAc,GAAIpzC,YAAgBozC,EAAa1pC,GAAOyqC,MAAM,GAAOn0C,YAAgBozC,EAAa1pC,GAAO,UAAU3D,OAAO6tB,IAAmB,SAAVA,GAAmB5zB,YAAgBozC,EAAa1pC,GAAO0qC,OAAQlrC,KAAK3F,MAAM6wC,QAASp0C,YAAgBozC,EAAa1pC,GAAOoiB,OAAQ5iB,KAAK3F,MAAM6wC,QAASp0C,YAAgBozC,EAAa7vC,EAAM0wC,UAAW1wC,EAAM0wC,WAAYb,MACzWlqC,KAAKmrC,cAAenrC,KAAKorC,WAAWvJ,GAAc7hC,KAAKqrC,mBAE5D,CACDr0C,IAAK,OACL4M,IAAK,WACH,OAAI5D,KAAK3F,MAAMgnC,MACN,MAEA,iBAGV,CACDrqC,IAAK,aACL4M,IAAK,WACH,IAAI0nC,EAAM,GAUV,OARItrC,KAAK3F,MAAMgnC,OACbiK,EAAItzC,KAAKgI,KAAK2pC,SAGZ3pC,KAAK3F,MAAMwnC,aACbyJ,EAAItzC,KAAKgI,KAAK4pC,QAGT0B,EAAIhzC,OAAS,EAAIgzC,EAAIxsC,KAAK,KAAO,SAI5CyqC,EAAUznC,YAAc,YACjBynC,EA1GT,CA2GEnlC,aAAY8jC,GAAQpkC,UAAY,CAChCtG,SAAUjC,IAAUgC,KACpBssC,IAAKtuC,IAAUgwC,OACflK,MAAO9lC,IAAUgwC,OACjB1J,YAAatmC,IAAUgwC,OACvBjB,UAAW/uC,IAAU8I,KAKrB+lC,MAAO7uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAKxDpB,OAAQ9uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACzDP,OAAQ3vC,IAAU8I,KAClBqmB,MAAOnvB,IAAUsM,MAAM,CAAC,UAAW,UAAW,YAAa,kBAAmB,oBAAqB,UAAW,QAAS,QAAS,UAAW,QAAS,UACnJqgC,GAAQ5jC,aAAe,CACxBgmC,WAAW,EACXT,IAAK,GACLxI,MAAO,GACPQ,YAAa,GACbqJ,QAAQ,EACR1tC,SAAU,KACV4sC,MAAO,MACPC,OAAQ,MACR3f,MAAO,WACNwd,GAAQ4B,WAAa,SAAUD,GAChC,IACI6B,EADU,iCACQtgB,KAAKye,GAC3B,OAAO6B,EAAUA,EAAQ,GAAK7B,GA5I0D5B,GA6IvFtvB,MAAWsvB,KAAWA,GAyBVsB,IMhOEtB,GAAQC,GAASvvB,GA+BlC,IAAInY,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,2eAA2eoB,OAAOpB,EAAMkwC,YAAc,UAAW,+BAA+B9uC,OAAOpB,EAAMmwC,WAAa,UAAW,+BAA+B/uC,OAAOpB,EAAMowC,YAAc,UAAW,+BAA+BhvC,OAAOpB,EAAMqwC,WAAa,UAAW,+BAA+BjvC,OAAOpB,EAAMswC,YAAc,UAAW,MAE5yB,KAAQ,aACR,aAAc,aACd,cAAe,aACf,cAAe,aACf,cAAiB,aACjB,gBAAiB,aACjB,cAAe,aACf,eAAgB,aAChB,cAAe,aACf,gBAAiB,cASfC,GAAkBxC,IAA8CC,CAAKxB,GAA/BvmC,ICxC3B,WACb,MAAO,CACLiqC,WAAY,WACZC,UAAW,OACXC,WAAY,OACZC,UAAW,OACXC,WAAY,WDkC2CvrC,GAAuBkpC,EAAgB/wB,GAAQuvB,GAE1G,SAAUjkC,GAGR,SAAS+nC,IAGP,OAFAtyC,YAAgBsG,KAAMgsC,GAEf1yC,YAA2B0G,KAAMrH,YAAgBqzC,GAAS/zC,MAAM+H,KAAM3H,YAuB/E,OA5BA2B,YAAUgyC,EAAS/nC,GAQnB1J,YAAayxC,EAAS,CAAC,CACrBh1C,IAAK,SACLC,MAAO,WACL,IAAIizC,EAEAC,EAAcnqC,KAAK3F,MACnB4xC,EAAS9B,EAAY8B,OACrBlB,EAAYZ,EAAYY,UACxB5iC,EAAOgiC,EAAYhiC,KACnB+jC,EAAgB/B,EAAY+B,cAC5B7xC,EAAQ+R,YAAyB+9B,EAAa,CAAC,SAAU,YAAa,OAAQ,kBAElF,OAAOpvC,IAAMC,cAAcuuC,GAAWryC,OAAOoL,OAAO,GAAIjI,EAAO,CAC7D4xC,OAAQA,EACRlB,UAAWC,KAAYd,EAAc,GAAIpzC,YAAgBozC,EAAa1pC,GAAOyqC,MAAM,GAAOn0C,YAAgBozC,EAAa1pC,GAAO,WAAW3D,OAAOovC,IAAUA,GAAqB,MAAXA,GAAiBn1C,YAAgBozC,EAAa1pC,GAAO,SAAS3D,OAAOsL,IAAQA,GAAOrR,YAAgBozC,EAAa1pC,GAAO0rC,cAAeA,GAAgBp1C,YAAgBozC,EAAaa,EAAWA,GAAYb,WAKrX8B,EAAQlqC,YAAc,UACfkqC,EA7BT,CA8BE5nC,aAAY8jC,GAAQpkC,UAAYjG,YAAc,GAAI0rC,GAAUzlC,UAAW,CACvEmoC,OAAQ1wC,IAAUsM,MAAM,CAAC,IAAK,KAAM,MAAO,QAC3CM,KAAM5M,IAAUsM,MAAM,CAAC,UAAW,QAAS,SAAU,QAAS,YAC9DqkC,cAAe3wC,IAAU8I,OACvB6jC,GAAQ5jC,aAAe,CACzB2nC,OAAQ,IACRC,eAAe,EACf/jC,UAAM,GAvCgF8/B,GAwCrFtvB,MAAWsvB,KAAWA,GE9FrB1gC,GAEJxM,IAAMC,cAAc,OAAQ,CAC1BgpB,EAAG,oLACH8wE,SAAU,UACVC,OAAQ,OACR/yB,YAAa,MAGX6zB,GAEJ,SAAU5xF,GAGR,SAAS4xF,IAGP,OAFAn8F,YAAgBsG,KAAM61F,GAEfv8F,YAA2B0G,KAAMrH,YAAgBk9F,GAAY59F,MAAM+H,KAAM3H,YAclF,OAnBA2B,YAAU67F,EAAY5xF,GAQtB1J,YAAas7F,EAAY,CAAC,CACxB7+F,IAAK,SACLC,MAAO,WACL,OAAO8D,IAAMC,cAAcgxC,GAAS90C,OAAOoL,OAAO,GAAItC,KAAK3F,MAAO,CAChE0H,KAAM,QACNkzF,QAAS,kBACP1tF,QAIRsuF,EAAW/zF,YAAc,aAClB+zF,EApBT,CAqBEzxF,aAEFyxF,GAAWX,UAAY,IACvBW,GAAWV,QAAU,QACrBU,GAAW/xF,UAAYjG,YAAc,GAAImuC,GAAQloC,WC3CjD,SAAS+vF,GAAezvF,EAAW/J,EAAOy5F,GACxC,OAAIz5F,EAAM05F,IAAM15F,EAAM05F,KAAO3vF,EAAUE,aAAayvF,GAC3C15F,EAAM05F,GAGW,oBAAfD,EACFA,IAGLz5F,EAAMgoB,KACD,IAGLhoB,EAAMkiB,IAKPliB,EAAM05F,GAAI,IAAIl3F,OAAOuH,EAAUtC,YAAa,kDAEtC,KAGoB,oBAAlBzH,EAAMo/E,QACR,SAGFr1E,EAAUE,aAAayvF,IAAM,OAGvBF,ICzBL5rD,GAAQC,GAASvvB,GA6BvBnY,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,6OAET,KAAQ,cASNq6F,GAA8Bp0F,GAAU,KAAMlB,GAASipC,EAAe9wB,GAAQuvB,GAElF,SAAUjkC,GAGR,SAAS6xF,IAGP,OAFAp8F,YAAgBsG,KAAM81F,GAEfx8F,YAA2B0G,KAAMrH,YAAgBm9F,GAAqB79F,MAAM+H,KAAM3H,YAkB3F,OAvBA2B,YAAU87F,EAAqB7xF,GAQ/B1J,YAAau7F,EAAqB,CAAC,CACjC9+F,IAAK,SACLC,MAAO,WACL,IAAIkzC,EAAcnqC,KAAK3F,MACnBmD,EAAW2sC,EAAY3sC,SACvBnD,EAAQ+R,YAAyB+9B,EAAa,CAAC,aAE/C4rD,EAAclC,GAAeiC,EAAqBz7F,GACtD,OAAOU,IAAMC,cAAc+6F,EAAa7+F,OAAOoL,OAAO,GAAIoyF,GAAiBr6F,GAAQ,CACjF0wC,UAAWvqC,GAAOyqC,OAChBztC,OAIRs4F,EAAoBh0F,YAAc,sBAC3Bg0F,EAxBT,CAyBE1xF,aAAY8jC,GAAQpkC,UAAY,CAIhCiwF,GAAIx4F,IAAU42E,YAKd30E,SAAUjC,IAAUgC,MACnB2qC,GAAQ5jC,aAAe,CACxByvF,GAAI,OACJv2F,SAAU,MAvCoDyqC,GAwC7DtvB,MAAWsvB,GClDP,SAAS+tD,KACd,IAAIzuF,EAAOlP,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACxE49F,EAAa1uF,EAAKlN,MAClBA,OAAuB,IAAf47F,EAAwB,GAAKA,EACrCC,EAAwB3uF,EAAK4uF,iBAC7BA,OAA6C,IAA1BD,EAAmC,CAAC,WAAY,YAAcA,EAEjFE,EAAc/7F,EAAM+7F,YACpB5sC,EAAWnvD,EAAMmvD,SACjB6sC,EAAWh8F,EAAMg8F,SAErB,OAAID,IAGAD,EAAiBpzD,SAAS,aAAeymB,EAAiB,WAC1D2sC,EAAiBpzD,SAAS,aAAeszD,EAAiB,WAEvD,W,aCtBT,SAASC,GAAiBC,GACxB,IACE,OAAQA,GAAOr5F,UAAUmxD,cACzB,MAAO/4C,KCFX,SAASkhF,GAAgB3sE,GACvB,IAAItsB,EAAOssB,GAAMlmB,EAAYkmB,GAC7B,OAAOtsB,GAAQ+4F,OAAuB/4F,ECFxC,SAAS2U,GAAe9N,GACtB,MAA4B,kBAAdA,EAAyBA,EAAYA,EAAUtC,aAAesC,EAAUrC,KCDxF,SAAS00F,GAAoBC,GAC3B,IAAIp7F,EAAQjD,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAE7E,SAAIq+F,IAAqBA,EAAkBxpF,OACtB5R,EAAM6C,KAAI,SAAU+O,GACrC,OAAOgF,GAAehF,MAEJvM,QAAQuR,GAAewkF,EAAkBxpF,QAAU,EChB3E,SAASypF,GAAmBn5F,GAC1B,IAAIo5F,GAAU,EAMd,OALA77F,IAAMF,SAASrC,QAAQgF,GAAU,SAAU7C,GACrCA,IAAU87F,GAAoB97F,EAAO,CAACm7F,OACxCc,GAAU,MAGPA,ECCT,SAASxoC,GAAcvkC,GACrB,IAAItsB,EAAOssB,GAAMlmB,EAAYkmB,GAC7B,OAAOtsB,GAAQA,EAAK6wD,eAAiBlxD,SCFvC,SAAS25F,GAAYhtE,GACnB,IACI0sE,EAAMnoC,GADCvkC,GAAMlmB,EAAYkmB,IAE7B,OAAO0sE,IAAQA,EAAIptB,aAAeotB,EAAIntB,cCAxC,SAAS0tB,GAAiBjtE,GACxB,IAAIppB,EAAQ,GAEZ,GAAIY,IAAW,CACb,IAAI9D,EAAOssB,GAAMlmB,EAAYkmB,GAC7BppB,EAAQlD,EAAOs5F,GAAYhtE,GAAIitE,iBAAiBv5F,GAAQ,GAG1D,OAAOkD,EAGMq2F,ICzBXC,GAAYC,GAAcvxE,GCU1BwxE,GAAY,CACdC,IAAK,MACLC,IAAK,OAEHC,GAAuB,CACzB/7F,YANgB,kBAOhB47F,UAAWA,GAMX37F,MAAOxE,YAAgB,GAbP,kBAawByE,IAAU2V,MAAM,CACtD5P,IAAK/F,IAAUsM,MAAM3Q,OAAOmQ,OAAO4vF,QAOrCI,yBAA0B,SAAkC/1F,GAC1D,OAAOxK,YAAgB,GAtBT,kBAsB0B,CACtCwK,IAAKA,KASTg2F,wBAAyB,SAAiC17F,GACxD,GAAIA,EACF,OAAOA,EAlCK,qBDPd27F,GAAgB,WAKlB,GAAIR,GACF,OAAOA,GAGT,GAAI11F,IAAW,CACb,IAAIm2F,EAASt6F,SAASqE,gBAiBtB,OAhBAy1F,GAAeQ,EAAOh2F,aAAa,OACnCu1F,GAAaC,IAAgBF,GAAiBU,GAAQC,UAEjDhyE,KACHA,GAAW,IAAIiyE,kBAAiB,WAC9B,IAAI56F,EAAO06F,EAAOh2F,aAAa,OAE3B1E,GAAQA,IAASk6F,KACnBA,GAAeD,GAAaj6F,OAGvB66F,QAAQH,EAAQ,CACvBjtD,YAAY,IAITwsD,KAcX,SAASa,GAAiB37C,GACxB,GAAI56C,IACF,MAAuB,qBAAZ46C,GAA2BA,IAAY/+C,SAASqE,gBAAwBg2F,KAC5Et7C,EAAQz6C,aAAa,QAAUs1F,GAAiB76C,GAASw7C,UAIrDG,IExCXX,GAAYG,GAAqBH,UACjCK,GAA0BF,GAAqBE,wBA8B/CprD,GAAgBvqC,GAAU,SAAUC,GACtC,IAAIqmC,EAAQtvB,EAEZ,OAAOA,EAAQsvB,EAEf,SAAUtlC,GAGR,SAASk1F,IAGP,OAFAn+F,YAAgBsG,KAAM63F,GAEfv+F,YAA2B0G,KAAMrH,YAAgBk/F,GAAwB5/F,MAAM+H,KAAM3H,YAqB9F,OA1BA2B,YAAU69F,EAAwBl1F,GAQlCpI,YAAas9F,EAAwB,CAAC,CACpC7gG,IAAK,MACL4M,IAAK,WAEH,OADc0zF,GAAwBt3F,KAAKpE,UAAY,IACxC0F,KAAOtB,KAAK3F,MAAMiH,KAAOs2F,OAEzC,CACD5gG,IAAK,MACL4M,IAAK,WACH,OAAO5D,KAAKsB,MAAQ21F,GAAUE,MAE/B,CACDngG,IAAK,MACL4M,IAAK,WACH,OAAO5D,KAAKsB,MAAQ21F,GAAUC,QAI3BW,EA3BT,CA4BEj2F,GAAoBqmC,EAAOnkC,UAAYjG,YAAc,GAAI+D,EAAkBkC,UAAW,CACtFxC,IAAK/F,IAAUsM,MAAM3Q,OAAOmQ,OAAO+vF,GAAqBH,cACtDhvD,EAAOpkC,aAAehG,YAAc,GAAI+D,EAAkBiC,aAAc,GAAIuzF,GAAqB97F,OAAQqd,KAE/GuzB,GAAc+qD,UAAYA,GACX/qD,ICnEX2oD,GAASt5F,IAAUsM,MAAM,CAAC,OAAQ,UAAW,OAAQ,eAAgB,OAAQ,UAAW,WAAY,OAAQ,OAAQ,YAAa,OAAQ,gBAAiB,QAAS,OAAQ,OAAQ,UAAW,cAAe,OAAQ,WAAY,aAAc,aAAc,aAAc,WAAY,WAAY,WAAY,WAAY,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,cAAe,cAAe,UAAW,aCRva,SAASsgC,GAAU5gC,GAChC,IAAI04B,EAAa14B,EAAK04B,WAClBJ,EAASt4B,EAAKs4B,OACdF,EAAUp4B,EAAKo4B,QACfv3B,EAAUb,EAAKa,QACf23B,EAAUx4B,EAAKw4B,QACfj4B,EAAWP,EAAKO,SAChB83B,EAAcr4B,EAAKq4B,YACLr4B,EAAKy4B,YACvB,OAAOniC,YAAc,CACnBuhD,WAAYnf,EAAWmf,WACvB10B,MAAOmV,EAAO0I,YACduvD,oBAAqBj4D,EAAOwI,aAC5B0vD,YAAap4D,EAAQl/B,MACrBu3F,mBAAoBn4D,EAAO2e,aAC3By5C,qBAAsBp4D,EAAO4e,WAC7By5C,mBAAoBr4D,EAAOif,cAC3Bq5C,iBAAkBt4D,EAAO8e,YACzBy5C,gBAAiBv4D,EAAOgf,WACxBw5C,iBAAkBx4D,EAAO+e,YACzB05C,mBAAoBz4D,EAAOmf,cAC3Bu5C,kBAAmB14D,EAAOkf,aAC1By5C,uBAAwB,cACxBC,kBAAmB94D,EAAQ2c,YAC3Bo8C,mBAAoB/4D,EAAQ4c,aAC5Bo8C,kBAAmBh5D,EAAQ6c,YAC3Bo8C,kBAAmB/4D,EAAOof,YAC1B45C,kBAAmBh5D,EAAOie,mBAC1Bg7C,oBAAqBj5D,EAAOge,gBAC5Bk7C,yBAA0Bl5D,EAAO6d,kBACjCK,gBAAiBle,EAAOke,gBACxBG,eAAgBre,EAAOqe,eACvBD,gBAAiBpe,EAAOoe,gBACxBE,kBAAmBte,EAAOse,kBAC1BC,iBAAkBve,EAAOue,iBACzBC,kBAAmBxe,EAAOwe,kBAC1B26C,UAAW,SACXC,kBAAmBt5D,EAAQl/B,MAC3By4F,kBAAmBv5D,EAAQ+c,YAC3By8C,mBAAoB,YACpBC,kBAAmB,OAEnBC,eAAgBx5D,EAAOgf,WACvBy6C,iBAAkBz5D,EAAOkf,aACzBw6C,kBAAmB15D,EAAOif,cAC1B06C,kBAAmB35D,EAAOye,eAC1Bm7C,eAAgB75D,EAAY/5B,OAC5B6zF,cAAe95D,EAAY16B,MAC3By0F,eAAgB/5D,EAAYz6B,OAC5By0F,cAAeh6D,EAAYx6B,OAC1B4B,GAAc,SAAUoB,GAAU,GAAIpB,GAAc,UAAWoB,GAAU,GAAIpB,GAAc,SAAU+4B,GAAU,GAAI/4B,GAAc,WAAYc,GAAW,GAAId,GAAc,SAAU24B,IAGzLwI,GAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACLwqB,MAAOxqB,EAAU,4BACjBm5F,eAAgBn5F,EAAU,oBAC1B69C,gBAAiB79C,EAAU,oBAC3Bg+C,eAAgBh+C,EAAU,oBAC1Bi4F,iBAAkBj4F,EAAU,oBAC5Bk4F,gBAAiBl4F,EAAU,sBChE/B,ICdwB+nC,GAAQC,GAASvvB,GDsB9BkhF,GE5BqB,WAC9B,IAAItyF,EAAOlP,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACxEyQ,EAAWvB,EAAKpJ,IAChBA,OAAmB,IAAb2K,EAAsB,GAAKA,EACjCC,EAAUxB,EAAKwB,QACf+wF,EAAwBvyF,EAAKwyF,uBAC7BA,OAAmD,IAA1BD,GAA2CA,EAExE,OAAO,WACL,IAAIryF,EAAQpP,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACzE2Q,EAAcvB,EAAMhM,MACpBA,OAAwB,IAAhBuN,EAAyB,GAAKA,EACtClH,EAAc2F,EAAM3F,YAExB,OAAO5K,OAAO+R,QAAQxN,GAAOyN,QAAO,SAAUC,EAAQzB,GACpD,IAAI0B,EAAQC,aAAe3B,EAAO,GAC9B1Q,EAAMoS,EAAM,GACZnS,EAAQmS,EAAM,GAElB,GAAIjL,EAAInH,GAAM,CACRkE,MAAMC,QAAQgD,EAAInH,IAIG,IAAI6F,OAAOiF,EAAa,0BAA0BjF,OAAO7F,EAAK,gDAAgD6F,OAAOsB,EAAInH,GAAK8H,KAAK,MAAO,MAAMjC,OAAOkM,EAAU,eAAelM,OAAOkM,EAAS,OAAOlM,OAAO7F,EAAK,mFAAqF,IAKxS,IAAI6F,OAAOiF,EAAa,0BAA0BjF,OAAO7F,EAAK,2BAA2B6F,OAAOsB,EAAInH,GAAM,MAAM6F,OAAOkM,EAAU,eAAelM,OAAOkM,EAAS,OAAOlM,OAAO7F,EAAK,+CAA+C6F,OAAOsB,EAAInH,GAAM,cAAgB,IAG5R,IAAIgjG,EAAmB,GAUvB,OAPEA,EADE9+F,MAAMC,QAAQgD,EAAInH,IACDmH,EAAInH,GAAKkS,QAAO,SAAUC,EAAQ8wF,GACnD,OAAOp8F,YAAc,GAAIsL,EAAQrS,YAAgB,GAAImjG,EAAYhjG,MAChE,IAEgBH,YAAgB,GAAIqH,EAAInH,GAAMC,GAG5C8iG,EAAyBl8F,YAAc,GAAIsL,EAAQ,GAAI6wF,EAAkBljG,YAAgB,GAAIE,EAAKC,IAAU4G,YAAc,GAAIsL,EAAQ,GAAI6wF,GAGnJ,OAAOn8F,YAAc,GAAIsL,EAAQrS,YAAgB,GAAIE,EAAKC,MACzD,KFlBmB4R,CAAmB,CAC3C1K,IATQ,CACR+7F,mBAAoB,qBACpBC,mBAAoB,yBACpBC,aAAc,sBACdlyF,WAAY,oBACZ21C,gBAAiB,sBACjBw8C,kBAAmB,4BAInBtxF,QAAS,UCSPvI,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,qDAAqDoB,OAAOpB,EAAM2jD,YAAc,UAAW,qlBAAqlBviD,OAAOpB,EAAMm9F,mBAAqB,UAAW,kCAAkC/7F,OAAOpB,EAAMs8F,aAAe,UAAW,8CAA8Cl7F,OAAOpB,EAAM+8F,wBAA0B,UAAW,8CAA8C37F,OAAOpB,EAAMu8F,oBAAsB,UAAW,kCAAkCn7F,OAAOpB,EAAMw8F,sBAAwB,UAAW,kCAAkCp7F,OAAOpB,EAAM08F,kBAAoB,UAAW,kCAAkCt7F,OAAOpB,EAAM28F,iBAAmB,UAAW,kCAAkCv7F,OAAOpB,EAAMy8F,oBAAsB,UAAW,kCAAkCr7F,OAAOpB,EAAM68F,oBAAsB,UAAW,kCAAkCz7F,OAAOpB,EAAM48F,kBAAoB,UAAW,kCAAkCx7F,OAAOpB,EAAM88F,mBAAqB,UAAW,2CAA2C17F,OAAOpB,EAAMivB,OAAS,UAAW,4CAA4C7tB,OAAOpB,EAAMo9F,mBAAqB,UAAW,WAAWh8F,OAAOpB,EAAMivB,OAAS,UAAW,4CAA4C7tB,OAAOpB,EAAMq9F,qBAAuB,UAAW,WAAWj8F,OAAOpB,EAAMivB,OAAS,UAAW,4CAA4C7tB,OAAOpB,EAAMs9F,0BAA4B,UAAW,WAAWl8F,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAMsiD,iBAAmB,UAAW,WAAWlhD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAMyiD,gBAAkB,UAAW,WAAWrhD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAMwiD,iBAAmB,UAAW,WAAWphD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAM0iD,mBAAqB,UAAW,WAAWthD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAM2iD,kBAAoB,UAAW,WAAWvhD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAM4iD,mBAAqB,UAAW,WAAWxhD,OAAOpB,EAAMq8F,qBAAuB,UAAW,6BAA6Bj7F,OAAOpB,EAAM6+F,iBAAmB,UAAW,6BAA6Bz9F,OAAOpB,EAAM8+F,eAAiB,UAAW,6BAA6B19F,OAAOpB,EAAM++F,eAAiB,UAAW,6BAA6B39F,OAAOpB,EAAMg/F,iBAAmB,UAAW,gCAAgC59F,OAAOpB,EAAMi/F,eAAiB,UAAW,gCAAgC79F,OAAOpB,EAAMk/F,eAAiB,UAAW,gCAAgC99F,OAAOpB,EAAMm/F,aAAe,UAAW,mVAAmV/9F,OAAOpB,EAAMo/F,0BAA4B,UAAW,kBAAkBh+F,OAAOpB,EAAMw9F,mBAAqB,UAAW,kBAAkBp8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,gNAAkNr8F,OAAOpB,EAAM09F,oBAAsB,UAAW,mBAAmBt8F,OAAOpB,EAAM09F,oBAAsB,UAAW,oBAAoBt8F,OAAOpB,EAAM09F,oBAAsB,UAAW,kBAAkBt8F,OAAOpB,EAAM09F,oBAAsB,UAAW,6DAA6Dt8F,OAAOpB,EAAM29F,mBAAqB,UAAW,UAAUv8F,OAAOpB,EAAM29F,mBAAqB,UAAW,WAAWv8F,OAAOpB,EAAM29F,mBAAqB,UAAW,SAASv8F,OAAOpB,EAAM29F,mBAAqB,UAAW,gNAAgNv8F,OAAOpB,EAAMg9F,mBAAqB,UAAW,OAAO57F,OAAOpB,EAAM09F,oBAAsB,UAAW,OAAOt8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMi9F,oBAAsB,UAAW,OAAO77F,OAAOpB,EAAM09F,oBAAsB,UAAW,OAAOt8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMk9F,mBAAqB,UAAW,OAAO97F,OAAOpB,EAAM09F,oBAAsB,UAAW,OAAOt8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMg9F,mBAAqB,UAAW,OAAO57F,OAAOpB,EAAM29F,mBAAqB,UAAW,OAAOv8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMi9F,oBAAsB,UAAW,OAAO77F,OAAOpB,EAAM29F,mBAAqB,UAAW,OAAOv8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMk9F,mBAAqB,UAAW,OAAO97F,OAAOpB,EAAM29F,mBAAqB,UAAW,OAAOv8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,uOAAuOr8F,OAAOpB,EAAM49F,gBAAkB,UAAW,+DAA+Dx8F,OAAOpB,EAAM+9F,mBAAqB,UAAW,+DAA+D38F,OAAOpB,EAAM89F,mBAAqB,UAAW,+DAA+D18F,OAAOpB,EAAM69F,kBAAoB,UAAW,yNAAyNz8F,OAAOpB,EAAMw9F,mBAAqB,UAAW,mBAAmBp8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,yDAAyDr8F,OAAOpB,EAAM49F,gBAAkB,UAAW,yDAAyDx8F,OAAOpB,EAAM+9F,mBAAqB,UAAW,yDAAyD38F,OAAOpB,EAAM69F,kBAAoB,UAAW,MAErqO,KAAQ,aACR,kBAAmB,aACnB,iBAAkB,aAClB,wBAAyB,aACzB,gBAAiB,aACjB,uBAAwB,aACxB,mBAAoB,aACpB,oBAAqB,aACrB,iBAAkB,aAClB,gBAAmB,aACnB,WAAc,aACd,uBAAwB,aACxB,2BAA4B,aAC5B,uBAAwB,aACxB,uBAAwB,aACxB,yBAA0B,aAC1B,qBAAsB,aACtB,oBAAqB,aACrB,uBAAwB,aACxB,uBAAwB,aACxB,qBAAsB,aACtB,sBAAuB,aACvB,0BAA2B,aAC3B,sBAAuB,aACvB,sBAAuB,aACvB,oBAAqB,aACrB,wBAAyB,aACzB,sBAAuB,aACvB,8BAA+B,aAC/B,oBAAqB,aACrB,mBAAoB,aACpB,oBAAqB,aACrB,sBAAuB,aACvB,qBAAsB,aACtB,sBAAuB,aACvB,oBAAqB,aACrB,kBAAmB,aACnB,kBAAmB,aACnB,oBAAqB,aACrB,kBAAmB,aACnB,kBAAmB,aACnB,gBAAiB,aACjB,oBAAqB,aACrB,kBAAmB,aACnB,oBAAqB,aACrB,kBAAmB,aACnB,qBAAsB,aACtB,kBAAmB,aACnB,qBAAsB,aACtB,mBAAoB,aACpB,MAAS,aACT,eAAkB,aAClB,wBAAyB,aACzB,uBAAwB,aACxB,2BAA4B,aAC5B,wBAAyB,aACzB,yBAA0B,aAC1B,0BAA2B,aAC3B,yBAA0B,aAC1B,sBAAyB,aACzB,iBAAoB,aACpB,mBAAoB,aACpB,sBAAuB,aACvB,sBAAuB,aACvB,qBAAsB,cAWpBwB,GAAelI,EAAW,QAAS,CACrCmI,QAAS,mBACTC,YAAa,mBAC8DvxD,CAAKxB,GAAtEiE,IAA+ExC,CAAMzB,GAA5DvmC,GAAUjG,GAAO+E,GAAQq5F,GAA4CoB,EAAgBtiF,GAAQuvB,GAElI,SAAUjkC,GAGR,SAAS62F,IACP,IAAII,EAEAt4F,EAEJlJ,YAAgBsG,KAAM86F,GAEtB,IAAK,IAAIvtF,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAoBzB,OAjBA5K,EAAQtJ,YAA2B0G,MAAOk7F,EAAmBviG,YAAgBmiG,IAAOthG,KAAKvB,MAAMijG,EAAkB,CAACl7F,MAAMnD,OAAO8N,MAEzHwwF,iBAAmB,SAAUtxE,GACK,oBAA3BjnB,EAAMvI,MAAM+gG,YACrBx4F,EAAMvI,MAAM+gG,WAAWvxE,GAGzBjnB,EAAMy4F,SAAWxxE,GAGnBjnB,EAAM04F,oBAAsB,SAAUxtC,EAAc8U,GAClD,MAAqB,kBAAVA,GACJA,EAAMtkE,OAAOL,MAAM,KAAKmf,OAAM,SAAUnmB,GAC7C,OAAO62D,IAAiB72D,MAIrB2L,EAoNT,OAlPA5I,YAAU8gG,EAAM72F,GAiChB1J,YAAaugG,EAAM,CAAC,CAClB9jG,IAAK,oBACLC,MAAO,WA0BH+I,KAAKq7F,SAAUr7F,KAAK3F,MAAMkhG,SAE7B,CACDvkG,IAAK,SACLC,MAAO,WACL,IAAIsQ,EAAMrP,EAENiyC,EAAcnqC,KAAK3F,MACnBmD,EAAW2sC,EAAY3sC,SACvBg+F,EAAYrxD,EAAYqxD,UACxBtzF,EAAaiiC,EAAYjiC,WACzB6yE,EAAU5wC,EAAY4wC,QACtB0gB,EAAkBtxD,EAAYsxD,gBAC9BrxD,EAAQD,EAAYC,MACpBC,EAASF,EAAYE,OACrBqxD,EAAWvxD,EAAYuxD,SACvBC,EAAYxxD,EAAYwxD,UACxBl7C,EAAWtW,EAAYsW,SACvBm7C,EAAYzxD,EAAYyxD,UACxBC,EAAY1xD,EAAY0xD,UACxBC,EAAY3xD,EAAY2xD,UACxBh0F,EAAWqiC,EAAYriC,SACvBF,EAASuiC,EAAYviC,OACrBm0F,EAAW5xD,EAAY4xD,SACvBC,EAAgB7xD,EAAY6xD,cAC5BC,EAAa9xD,EAAY8xD,WACzBC,EAAqB/xD,EAAY+xD,mBACjCC,EAAchyD,EAAYgyD,YAC1BpxD,EAAYZ,EAAYY,UACxB1wC,EAAQ+R,YAAyB+9B,EAAa,CAAC,WAAY,YAAa,aAAc,UAAW,kBAAmB,QAAS,SAAU,WAAY,YAAa,WAAY,YAAa,YAAa,YAAa,WAAY,SAAU,WAAY,gBAAiB,aAAc,qBAAsB,cAAe,cAEzT4rD,EAAclC,GAAeiH,EAAM96F,KAAK3F,OACxC+hG,EAAmBp8F,KAAKo8F,iBACxBC,EAAmC,aAAbN,GAAuC,WAAZhhB,GAA0C,UAAlBihB,GAA6Bz0F,EAAO,GAAIzQ,YAAgByQ,EAAM/G,GAAOwgF,OAAO,GAAOlqF,YAAgByQ,EAAM/G,GAAO47F,iBAAkBA,GAAmBtlG,YAAgByQ,EAAM/G,GAAO87F,sBAAmD,qBAArBF,GAAmCtlG,YAAgByQ,EAAM/G,GAAOR,KAAKu8F,kBAAkB,GAAOzlG,YAAgByQ,EAAM/G,GAAO,kBAAkB3D,OAAOm/F,KAAiB,GAAOllG,YAAgByQ,EAAM/G,GAAO,eAAe3D,OAAOo/F,KAAc,GAAOnlG,YAAgByQ,EAAM/G,GAAOg8F,eAAgBN,GAAqB30F,GAAQ,GACvlBiC,EAAUwhC,IAAWntC,aAAe3F,EAAiB,GAAIpB,YAAgBoB,EAAgBsI,GAAOyqC,MAAM,GAAOn0C,YAAgBoB,EAAgBsI,GAAOi7F,gBAAiBA,GAAmBz7F,KAAK3F,MAAM2gG,aAAclkG,YAAgBoB,EAAgBsI,GAAOi8F,WAAYz8F,KAAKy8F,YAAa3lG,YAAgBoB,EAAgBsI,GAAO,gBAAgB3D,OAAOs/F,IAAen8F,KAAKy8F,YAAa3lG,YAAgBoB,EAAgBsI,GAAO,cAAc3D,OAAO2+F,IAAaA,GAAY1kG,YAAgBoB,EAAgBsI,GAAO,eAAe3D,OAAOqL,IAAcA,GAAapR,YAAgBoB,EAAgBsI,GAAO,YAAY3D,OAAOk+E,IAAWA,GAAuB,SAAZA,GAAqBjkF,YAAgBoB,EAAgBsI,GAAO,cAAc3D,OAAOg/F,IAAaA,GAA2B,YAAdA,GAA0B/kG,YAAgBoB,EAAgBsI,GAAO,cAAc3D,OAAOi/F,IAAaA,GAA2B,YAAdA,GAA0BhlG,YAAgBoB,EAAgBsI,GAAO,aAAa3D,OAAOiL,IAAYA,GAAWhR,YAAgBoB,EAAgBsI,GAAO,WAAW3D,OAAO+K,IAAUA,GAAqB,SAAXA,GAAoB9Q,YAAgBoB,EAAgBsI,GAAO,aAAa3D,OAAOk/F,IAAyB,WAAbA,GAAwB7jG,GAAiBmkG,EAAqBvlG,YAAgB,GAAIi0C,EAAWA,KAClsC,OAAOhwC,IAAMC,cAAc+6F,EAAa7+F,OAAOoL,OAAO,GAAIoyF,GAAiBr6F,GAAQ,CACjF0wC,UAAWvhC,EACX/I,MAAO5C,YAAc,GAAImC,KAAK08F,aAAc,GAAI18F,KAAK+3F,YAAa,GAAI/3F,KAAK28F,YAAa,CACtFvyD,MAAOA,EACPC,OAAQA,EACRqxD,SAAUA,EACVC,UAAWA,EACXl7C,SAAUA,EACVm7C,UAAWA,GACV57F,KAAK48F,YACRpnF,IAAKxV,KAAKm7F,mBACR39F,KAEL,CACDxG,IAAK,mBACL4M,IAAK,WACH,GAA2C,qBAAhC5D,KAAK3F,MAAM+hG,kBAAkE,qBAAvBp8F,KAAK3F,MAAM0gG,QAA5E,CAIA,IAAI8B,EAAe78F,KAAK3F,MAIpB+hG,GAHWS,EAAad,SACdc,EAAa9hB,QACP8hB,EAAab,cACVh8F,KAAK3F,MAAM0gG,SAAW/6F,KAAK3F,MAAM+hG,kBAcxD,OAAOA,KAER,CACDplG,IAAK,kBACL4M,IAAK,WACH,IAMuCyC,EANnCy2F,EAAwB98F,KAAK3F,MAAM4N,aACnCA,OAAyC,IAA1B60F,EAAmC,GAAKA,EAEvDhvC,EAAe7lD,EAAa3J,OAAOL,MAAM,KAAK,GAElD,GAAI+B,KAAKs7F,oBAAoBxtC,EAAc7lD,GAAe,CAKxD,GAAI,CAAC,QAAS,SAAU,SAAS86B,SAAS+qB,GAAe,MAAO,GAAGjxD,OAR/C,qBAQuEA,OAHlF,GAAGA,QADyBwJ,EAIwEynD,GAHtF/xC,OAAO,GAAGxV,eAAe1J,OAAOwJ,EAAIiK,MAAM,KAIjE,GAAI,CAAC,SAAU,QAAQyyB,SAAS+qB,GAAe,MAAO,GAAGjxD,OATrC,oBAS6D,WAGnF,MAAO,GAAGA,OAZY,oBAYY,UAEnC,CACD7F,IAAK,aACL4M,IAAK,WACH,IAAImE,EAAc/H,KAAK3F,MAAM0N,YAC7B,OAAOA,GAA+B,MAAhBA,GAAuC,SAAhBA,IAE9C,CACD/Q,IAAK,cACL4M,IAAK,WACH,IAAIm5F,EAAe/8F,KAAK3F,MACpB4N,EAAe80F,EAAa90F,aAC5BF,EAAcg1F,EAAah1F,YAO/B,OALI/H,KAAKsB,MAAQ4qC,GAAc+qD,UAAUE,MACvClvF,EAAeT,GAAuBS,GACtCF,EAAcX,GAAqBW,IAG9B,CACLE,aAAczB,GAAsB,OAAQxG,KAAKvE,MAAOwM,EAAc,gBACtEF,YAAavB,GAAsB,OAAQxG,KAAKvE,MAAOsM,EAAa,kBAGvE,CACD/Q,IAAK,eACL4M,IAAK,WACH,IAAIo5F,EAAeh9F,KAAK3F,MACpBkhG,EAASyB,EAAazB,OACtB0B,EAAUD,EAAaC,QAO3B,MALiB,QAAbj9F,KAAKsB,MACPi6F,EAASn0F,GAAqBm0F,GAC9B0B,EAAU71F,GAAqB61F,IAG1B,CACL1B,OAAQ/0F,GAAsB,OAAQxG,KAAKvE,MAAO8/F,EAAQ,UAC1D0B,QAASz2F,GAAsB,OAAQxG,KAAKvE,MAAOwhG,EAAS,cAG/D,CACDjmG,IAAK,cACL4M,IAAK,WACH,IAAIs5F,EAAel9F,KAAK3F,MACpB8iG,EAAkBD,EAAaC,gBAC/BC,EAAgBF,EAAaE,cAC7BC,EAAmBH,EAAaG,iBAChCC,EAAiBJ,EAAaI,eAC9BnG,EAAmB,QAAbn3F,KAAKsB,IACXi8F,EAAa,CACfzc,IAAKqc,EACLA,gBAAiBA,GAEfK,EAAW,CACbC,OAAQL,EACRA,cAAeA,GAEbM,EAAoB,CACtB9c,KAAMuW,EAAMmG,EAAiBD,EAC7BM,MAAOxG,EAAMkG,EAAmBC,EAChCD,iBAAkBA,EAClBC,eAAgBA,GAElB,OAAOz/F,YAAc,GAAI0/F,EAAY,GAAIC,EAAU,GAAIE,KAExD,CACD1mG,IAAK,aACL4M,IAAK,WACH,IAAIg6F,EAAe59F,KAAK3F,MACpBw6F,EAAS+I,EAAa/I,OAGtBgJ,EtBnSV,SAAmBxjG,EAAOyJ,EAAWwwF,GACnC,IAAI58F,EAAOR,OAAOQ,KAAKoM,GAAa,IAEpC,OApBF,SAAc/M,EAAKW,GAMjB,IALA,IAGIV,EAHA6L,EAAM,GACN0xF,EAAM78F,EAAKY,OACXk8F,GAAO,IAGFA,EAAMD,IACbv9F,EAAMU,EAAK88F,MAEAz9F,IACT8L,EAAI7L,GAAOD,EAAIC,IAInB,OAAO6L,EAMA4xF,CAAKp6F,EADGi6F,EAAU58F,EAAKmF,OAAOy3F,GAAW58F,GsBiS1B28F,CAFNuJ,EAAan9F,OAEY,GAAI,GAAI,CAC7C,MAAO,OAAQ,WAAY,UAAW,YAAa,WAAY,WAAY,YAC3E,SACA,YACA,oBAMA,OAJIo0F,IACFgJ,EAAYhJ,OAASA,GAGhBgJ,MAIX/C,EAAKh5F,YAAc,OACZg5F,EAnPT,CAoPE12F,aAAY8jC,GAAQpkC,UAAY,CAIhCiwF,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KAMtB4pE,QAASx/E,IAAUsM,MAAM,CAAC,OAAQ,SAAU,QAAS,eAAgB,OAAQ,gBAC7Eg0F,UAAWtgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAC9Ci0F,UAAWvgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAK9C0zF,OAAQ5zF,GAAmBS,QAK3B60F,QAASt1F,GAAmBS,QAC5BiiC,OAAQ9uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACzDrB,MAAO7uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACxDmwD,UAAWrgG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAC5DgV,SAAUllD,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAC3DkwD,UAAWpgG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAC5DiwD,SAAUngG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAK3DjuC,SAAUjC,IAAUgC,KAKpBi+F,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,SAAU,QAM/CE,YAAaJ,GAAmBI,YAMhCE,aAAcN,GAAmBM,aAKjCk0F,YAAavJ,EAAWE,oBAAoBv3F,IAAUsM,MAAM,CAAC,cAAe,UAAW,YAAa,QAAS,OAAQ,UAAW,UAAW,QAAS,SAAU,UAAW,YAAa,CAAC,UAAW,YAAY,SAAUJ,GACtN,IAAIb,EAAWa,EAAMb,SACjBD,EAAYc,EAAMd,UACtB,MAAO,gCAAgC9J,OAAO8J,EAAW,WAAW9J,OAAO+J,EAAU,yBAAyB/J,OAC1F,YAAd8J,EAAgC,YAClB,YAAdA,EAAgC,qBAApC,EACG,gCAMPuB,WAAY0qF,EAAWE,oBAAoBv3F,IAAUsM,MAAM,CAAC,cAAe,UAAW,YAAa,kBAAmB,QAAS,OAAQ,QAAS,UAAW,SAAU,UAAW,UAAW,QAAS,YAAa,CAAC,UAAW,UAAW,UAAU,SAAUH,GAC1P,IAAId,EAAWc,EAAMd,SACjBD,EAAYe,EAAMf,UACtB,MAAO,gCAAgC9J,OAAO8J,EAAW,WAAW9J,OAAO+J,EAAU,yBAAyB/J,OAC1F,YAAd8J,EAAgC,YAClB,UAAdA,EAA8B,cAChB,YAAdA,EAAgC,yBAApC,EACG,gCAMPiB,OAAQD,GAAmBC,OAK3BE,SAAUH,GAAmBG,SAK7B+sF,OAAQiJ,GAKR/B,SAAUxgG,IAAUsM,MAAM,CAAC,SAAU,WAAY,WAAY,SAAU,UAKvEw1F,iBAAkB9hG,IAAUgwC,OAK5B+xD,eAAgB/hG,IAAUgwC,OAK1B4xD,gBAAiB5hG,IAAUgwC,OAK3B6xD,cAAe7hG,IAAUgwC,OAOzB6wD,iBAAkB7gG,IAAU8I,KAK5B23F,cAAezgG,IAAUsM,MAAM,CAAC,SAAU,UAK1Co0F,WAAY1gG,IAAUsM,MAAM,CAAC,OAAQ,UAAW,UAAW,WAK3Dq0F,mBAAoB3gG,IAAU8I,KAM9Bo3F,gBAAiBlgG,IAAU8I,KAO3B02F,QAASx/F,IAAU8I,KAKnB22F,YAAaz/F,IAAU8I,MAGtB6jC,GAAQ5jC,aAAe,CACxBy2E,QAAS,OAMTgZ,QAAI,EAGJyH,eAAW,EAGXK,UAAW,UACXC,UAAW,UACXl0F,YAAQ,EACRE,cAAU,EACV2zF,iBAAiB,EACjB5G,YAAQ,EACR9sF,iBAAa,EACbE,kBAAc,EACdk0F,YAAa,UACbZ,YAAQ,EACR0B,aAAS,EACT7B,gBAAY,EACZlzF,gBAAY,EACZ1K,SAAU,KACV4sC,WAAO,EACPC,YAAQ,EACRoW,cAAU,EACVm7C,eAAW,EACXF,cAAU,EACVC,eAAW,EACXI,SAAU,SACVK,sBAAkB,EAClBJ,cAAe,SACfC,WAAY,OACZoB,sBAAkB,EAClBC,oBAAgB,EAChBH,qBAAiB,EACjBC,mBAAe,EACflB,oBAAoB,GAlc0Fj0D,GAmc7GtvB,MAAWsvB,KAAWA,KAAWA,GAOpC6yD,GAAKiD,cAAgB,SAAU1jG,EAAO+J,GAUpC,OAAOymC,GAAUxwC,EAAOygG,GAAKh3F,YAGhBg3F,IE9kBE7yD,GAAQC,GAASvvB,GCCjBsvB,GAAQC,GAASvvB,GD8B9BnY,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,qRAET,KAAQ,aACR,eAAgB,aAChB,aAAc,aACd,gBAAiB,aACjB,iBAAkB,aAClB,WAAc,aACd,aAAgB,cASduiG,GAAepL,EAAW,QAAS,CACrCqL,KAAM,aACNC,OAAQ,eACRC,WAAY,mBACuB10D,CAAKxB,GAA9BvmC,GAAU,KAAMlB,GAAuBkpC,EAAgB/wB,GAAQuvB,GAE3E,SAAUjkC,GAGR,SAAS+5F,IAGP,OAFAtkG,YAAgBsG,KAAMg+F,GAEf1kG,YAA2B0G,KAAMrH,YAAgBqlG,GAAM/lG,MAAM+H,KAAM3H,YAoD5E,OAzDA2B,YAAUgkG,EAAM/5F,GAQhB1J,YAAayjG,EAAM,CAAC,CAClBhnG,IAAK,SAGLC,MAAO,WACL,IAAImnG,EAEA/jG,EAAQwwC,GAAU7qC,KAAK3F,MAAO2jG,EAAKl6F,WACnCqmC,EAAcnqC,KAAK3F,MACnBgkG,EAAQl0D,EAAYk0D,MACpBtK,EAAK5pD,EAAY4pD,GACjBqH,EAAajxD,EAAYixD,WACzB59F,EAAW2sC,EAAY3sC,SACvBi6F,EAAYttD,EAAYstD,UACxB6G,EAAan0D,EAAYm0D,WACzB/C,EAASpxD,EAAYoxD,OACrBM,EAAY1xD,EAAY0xD,UACxBC,EAAY3xD,EAAY2xD,UACxBmB,EAAU9yD,EAAY8yD,QACtBsB,EAAep0D,EAAYo0D,aAC3Bp2F,EAAOgiC,EAAYhiC,KACnBqzF,EAAYrxD,EAAYqxD,UACxBC,EAAkBtxD,EAAYsxD,gBAC9ByC,EAAS/zD,EAAY+zD,OACrBD,EAAO9zD,EAAY8zD,KACnBjD,EAAc7wD,EAAY6wD,YAC1BwD,EAA0B,WAAd/G,EACZh3F,EAAQ,CACVg+F,UAAWt2F,GAETqB,GAAW40F,EAAW,GAAItnG,YAAgBsnG,EAAU59F,GAAOyqC,MAAM,GAAOn0C,YAAgBsnG,EAAU59F,GAAO89F,WAAYL,GAAQK,GAAaxnG,YAAgBsnG,EAAU59F,GAAO+9F,aAAcL,GAAUK,GAAeznG,YAAgBsnG,EAAU59F,GAAO,UAAU3D,OAAOwhG,IAASA,GAAQD,GACzR,OAAOrjG,IAAMC,cAAc8/F,GAAM5jG,OAAOoL,OAAO,GAAIjI,EAAO,CACxD0wC,UAAWC,IAAWxhC,GACtB/I,MAAOA,EACP26F,WAAYA,EACZrH,GAAIA,EACJ4H,UAAW6C,EAAYr2F,OAAO,EAC9BuzF,SAAwB,QAAdjE,EAAsBtvF,OAAO,EACvCqzF,UAAWA,EACXD,OAAQA,EACR0B,QAASA,EACTpB,UAAWA,EACXC,UAAWA,IAAc0C,EAAY,OAAS,WAC9C/C,gBAAiBA,GAAmBT,IAClCx9F,OAIRwgG,EAAKl8F,YAAc,OACZk8F,EA1DT,CA2DE55F,aAAY8jC,GAAQpkC,UAAY,CAIhCtG,SAAUjC,IAAUgC,KAKpBw2F,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KAOtBoqF,OAAQ5zF,GAAmBS,QAO3B60F,QAASt1F,GAAmBS,QAK5Bi2F,MAAO9iG,IAAUsM,MAAM,CAAC,SAAU,QAAS,MAAO,YAKlD4vF,UAAWl8F,IAAUsM,MAAM,CAAC,MAAO,WAKnC2zF,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,SAAU,QAK/Cg0F,UAAWtgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAK9Ci0F,UAAWvgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAK9Cy2F,WAAY/iG,IAAU8I,KAKtBk6F,aAAchjG,IAAU8I,KAKxB8D,KAAM5M,IAAUgwC,OAKhBkwD,gBAAiBlgG,IAAU8I,KAO3B45F,KAAM1iG,IAAU8I,KAKhB65F,OAAQ3iG,IAAU8I,KAKlB22F,YAAaz/F,IAAU8I,MAGtB6jC,GAAQ5jC,aAAe,CACxByvF,GAAI,OACJqH,WAAY,SAAoBvxE,KAChCy0E,YAAY,EACZC,cAAc,GA9JyCt2D,GA+JtDtvB,MAAWsvB,KAAWA,GCrLzB,IAAIznC,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,qDAAqDoB,OAAOpB,EAAM2jD,YAAc,UAAW,snBAEpG,KAAQ,aACR,OAAU,aACV,iBAAkB,aAClB,IAAO,aACP,cAAe,aACf,aAAc,aACd,qBAAsB,aACtB,UAAa,aACb,sBAAuB,aACvB,oBAAqB,aACrB,uBAAwB,aACxB,6BAA8B,aAC9B,8BAA+B,aAC/B,qBAAsB,aACtB,oBAAqB,aACrB,kBAAmB,aACnB,sBAAuB,cAUrBs/C,GAAe9L,EAAW,QAAS,CACrC1nD,OAAQ,UACRyzD,UAAW,OACXR,WAAY,mBACwB10D,CAAKxB,GAA/BvmC,ICpDG,SAAmB6F,GAEhC,MAAO,CACL63C,WAFe73C,EAAK04B,WAEGmf,cDiDE5+C,GAAuBkpC,EAAgB/wB,GAAQuvB,GAE5E,SAAUjkC,GAGR,SAASy6F,IAGP,OAFAhlG,YAAgBsG,KAAM0+F,GAEfplG,YAA2B0G,KAAMrH,YAAgB+lG,GAAMzmG,MAAM+H,KAAM3H,YAyE5E,OA9EA2B,YAAU0kG,EAAMz6F,GAQhB1J,YAAamkG,EAAM,CAAC,CAClB1nG,IAAK,iBACLC,MAAO,SAAwBuG,GAC7B,IAAIoF,EAAQ5C,KAEZ,OAAOnF,WAASsD,IAAIX,GAAU,SAAU7C,GACtC,OAAIA,EACE87F,GAAoB97F,EAAO,CAAC,SACvBM,EAAiBN,EAAOkD,YAAc,CAC3C49F,gBAAiB74F,EAAMvI,MAAMohG,iBAAmB74F,EAAMvI,MAAM2gG,aAC3DrgG,EAAMN,MAAO,CAEdo9F,UAAW70F,EAAMvI,MAAMo9F,UAAUl5F,QAAQ,WAAY,OAGhD5D,EAGF,UAIZ,CACD3D,IAAK,SACLC,MAAO,WACL,IAAImnG,EAEAj0D,EAAcnqC,KAAK3F,MACnB05F,EAAK5pD,EAAY4pD,GACjBqH,EAAajxD,EAAYixD,WACzB3D,EAAYttD,EAAYstD,UACxBptD,EAASF,EAAYE,OACrB0wC,EAAU5wC,EAAY4wC,QACtBwgB,EAASpxD,EAAYoxD,OACrB0B,EAAU9yD,EAAY8yD,QACtB2B,EAAez0D,EAAYy0D,aAC3BpD,EAAYrxD,EAAYqxD,UACxBC,EAAkBtxD,EAAYsxD,gBAC9BrxD,EAAQD,EAAYC,MACpB++C,EAAOh/C,EAAYg/C,KACnB6R,EAAc7wD,EAAY6wD,YAC1B2D,EAAYx0D,EAAYw0D,UACxBzzD,EAASf,EAAYe,OACrB1tC,EAAW43F,EAAep1F,KAAK3F,MAAMmD,UAGrCqhG,EAAa7+F,KAAK3F,MAAMwkG,aAA6B,WAAdpH,GAAwC,mBAAdA,EAAiC,UAAY,UAC9GqH,EAAmB5zD,EAAS,cAAgB,KAC5C1hC,GAAW40F,EAAW,GAAItnG,YAAgBsnG,EAAU59F,GAAOyqC,MAAM,GAAOn0C,YAAgBsnG,EAAU59F,GAAO,iBAAiB3D,OAAO+hG,KAAgB,GAAO9nG,YAAgBsnG,EAAU59F,GAAO,eAAe3D,OAAOgiG,KAAc,GAAO/nG,YAAgBsnG,EAAU59F,GAAO,SAAS3D,OAAOssF,IAAiB,YAATA,GAAqBryF,YAAgBsnG,EAAU59F,GAAOm+F,UAAWA,GAAYP,GAE9W,OAAI5gG,GAAYzC,IAAMF,SAASC,MAAM0C,GAAY,EACxCzC,IAAMC,cAAc8/F,GAAM5jG,OAAOoL,OAAO,GAAIoyF,GAAiB10F,KAAK3F,OAAQ,CAC/E0wC,UAAWC,IAAWxhC,EAAShJ,GAAOi3F,IACtC2D,WAAYA,EACZrH,GAAIA,EACJhZ,QAAS+jB,GAAoB/jB,EAC7B3wC,MAAOA,EACPC,OAAQA,EACRkxD,OAAQA,EACR0B,QAASA,EACTzB,UAAWA,EACXC,gBAAiBA,GAAmBT,IAClCh7F,KAAK++F,eAAevhG,IAEjB,SAKbkhG,EAAK58F,YAAc,OACZ48F,EA/ET,CAgFEt6F,aAAY8jC,GAAQ81D,KAAOA,GAAM91D,GAAQpkC,UAAY,CAMrDtG,SAAUjC,IAAUiwC,UAAU,CAACjwC,IAAUgC,KAAMhC,IAAU4V,OAKzD4iF,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KAKtBk5B,OAAQ9uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAKzDrB,MAAO7uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAOxD8vD,OAAQ5zF,GAAmBS,QAO3B60F,QAASt1F,GAAmBS,QAK5B2yE,QAASx/E,IAAUsM,MAAM,CAAC,OAAQ,gBAKlC2zF,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,SAAU,QAK/C4vF,UAAWl8F,IAAUsM,MAAM,CAAC,MAAO,SAAU,cAAe,mBAK5Dg3F,WAAYtjG,IAAUsM,MAAM,CAAC,SAAU,QAAS,MAAO,YAKvD+2F,aAAcrjG,IAAUsM,MAAM,CAAC,SAAU,QAAS,MAAO,eAAgB,kBAKzEshF,KAAM5tF,IAAUsM,MAAM,CAAC,OAAQ,UAAW,iBAM1C4zF,gBAAiBlgG,IAAU8I,KAO3B6mC,OAAQ3vC,IAAU8I,KAKlBs6F,UAAWpjG,IAAU8I,KAKrB22F,YAAaz/F,IAAU8I,MAGtB6jC,GAAQ5jC,aAAe,CACxB9G,SAAU,KACVu2F,GAAI,OACJqH,WAAY,SAAoBvxE,KAChC4tE,UAAW,MACXmH,aAAc,QACd7jB,QAAS,OACT0gB,iBAAiB,EACjBtS,KAAM,UACN/+C,WAAO,EACPC,YAAQ,EACR4yD,aAAS,EACT1B,YAAQ,EACRsD,gBAAY,EACZrD,eAAW,GAhM6CvzD,GAiMvDtvB,MAAWsvB,KAAWA,G,oBE1OzB,SAASvZ,GAAOhE,EAAOs0E,GACrB,OAAOC,KAAMv0E,GAAOgE,OAAOswE,GAASnuE,cCDtC,SAASquE,GAAMx0E,EAAOs0E,GACpB,OAAOC,KAAMv0E,GAAO0F,SAAS4uE,EAAU,KAAKnuE,cCP9C,ICnBiBoX,GAAQC,GAASvvB,GDmB9BwmF,GAAe,gCAEfC,GAA0B,SAAiC73F,GAC7D,IAAIE,EAEAhH,EAAQ8G,EAAK9G,MACb4+F,EAAY93F,EAAK83F,UACjBC,EAAiB/3F,EAAK+3F,eACtBC,EAAkBh4F,EAAKg4F,gBACvBpD,EAAc50F,EAAK40F,YACnBqD,EAAwBj4F,EAAKk4F,iBAC7BA,OAA6C,IAA1BD,EAAmCrD,EAAcqD,EACxE,OAAO/3F,EAAQ,GAAI3Q,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,SAAU4+F,GAAYvoG,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,eAAgBiuB,GAAOytE,EAAa,KAAMrlG,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,cAAe8+F,GAAkBzoG,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,mBAAoBiuB,GAAO6wE,EAAiB,KAAMzoG,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,oBAAqBiuB,GAAO6wE,EAAiB,KAAMzoG,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,mBAAoB,GAAG5D,OAAOsiG,GAAc,KAAKtiG,OAAO6xB,GAAOytE,EAAa,MAAarlG,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,cAAe6+F,GAAiBxoG,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,oBAAqBg/F,GAAmB3oG,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,mBAAoB,eAAgB3J,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,wBAAyBy+F,GAAMI,EAAgB,KAAMxoG,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,yBAA0B,eAAgB3J,YAAgB2Q,EAAO,GAAG5K,OAAO4D,EAAO,wBAAyB,GAAG5D,OAAOsiG,GAAc,KAAKtiG,OAAOqiG,GAAMO,EAAkB,MAAOh4F,GAG5iC,SAAS0gC,KACtB,IAAIzgC,EAAQrP,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACzEqnG,EAAgBh4F,EAAMi4B,QACtBA,OAA4B,IAAlB+/D,EAA2B,GAAKA,EAC1CC,EAAej4F,EAAMm4B,OACrBA,OAA0B,IAAjB8/D,EAA0B,GAAKA,EACxCC,EAAcl4F,EAAMo4B,MACpBA,OAAwB,IAAhB8/D,EAAyB,GAAKA,EACtCC,EAAgBn4F,EAAMU,QACtBA,OAA4B,IAAlBy3F,EAA2B,GAAKA,EAC1CC,EAAmBp4F,EAAMu4B,WACzBA,OAAkC,IAArB6/D,EAA8B,GAAKA,EAEpD,OAAOjiG,YAAc,CACnB2/B,UAAW,OACXuiE,eAAgB,OAChB3gD,WAAYnf,EAAWmf,WACvB4hB,WAAY/gC,EAAW4f,iBACvBmgD,cAAe,OACfC,cAAe,SACfh4F,aAAc03B,EAAQ4c,aACtBw7C,YAAap4D,EAAQl/B,MACrBsH,YAAa43B,EAAQ8c,WACrByjD,YAAapgE,EAAMwgB,iBACnB6/C,cAAelgE,EAAWsf,cAC1B6gD,uBAAwBh4F,EAAQvC,OAChCw6F,gBAAiB,WACjBC,mBAAoB,YACpBC,aAAczgE,EAAMygB,kBACpBigD,eAAgBvgE,EAAWuf,eAC3BihD,wBAAyBr4F,EAAQlD,MACjCw7F,iBAAkB,YAClBC,oBAAqB,YACrBC,YAAa9gE,EAAM0gB,iBACnBqgD,cAAe5gE,EAAWwf,cAC1BqhD,uBAAwB14F,EAAQjD,OAChC47F,gBAAiB,YACjBC,mBAAoB,YACpBjhD,WAAY9f,EAAW+f,cACvBihD,cAAe,OACfC,eAAgB,UAChBC,cAAe,YACd/B,GAAwB,CACzB3+F,MAAO,UACP8+F,gBAAiB1/D,EAAOke,gBACxBo+C,YAAat8D,EAAO8e,YACpB0gD,UAAWx/D,EAAOwI,aAClBi3D,eAAgBz/D,EAAOkJ,YACrB,GAAIq2D,GAAwB,CAC9B3+F,MAAO,YACP8+F,gBAAiB1/D,EAAOge,gBACxBs+C,YAAat8D,EAAO0e,YACpBkhD,iBAAkB5/D,EAAO6e,cACzB2gD,UAAWx/D,EAAO0I,YAClB+2D,eAAgBz/D,EAAO0I,cACrB,GAAI62D,GAAwB,CAC9B3+F,MAAO,UACP8+F,gBAAiB1/D,EAAOse,kBACxBg+C,YAAat8D,EAAOif,cACpBugD,UAAWx/D,EAAOwI,aAClBi3D,eAAgBz/D,EAAOwJ,cACrB,GAAI+1D,GAAwB,CAC9B3+F,MAAO,SACP8+F,gBAAiB1/D,EAAOue,iBACxB+9C,YAAat8D,EAAOkf,aACpBsgD,UAAWx/D,EAAOwI,aAClBi3D,eAAgBz/D,EAAOoJ,aACrB,GAAIm2D,GAAwB,CAC9B3+F,MAAO,iBACP8+F,gBAAiB1/D,EAAOie,mBACxBq+C,YAAat8D,EAAOye,eACpB+gD,UAAWx/D,EAAO0I,YAClB+2D,eAAgBz/D,EAAOwI,eACrB,CAEF+4D,0BAA2B1yE,GAAOmR,EAAO0e,YAAa,IACtD8iD,8BAA+B3yE,GAAOmR,EAAOie,mBAAoB,GACjEwjD,+BAAgCzhE,EAAOie,mBACvCyjD,8BAA+B,GAAG1kG,OAAOsiG,GAAc,KAAKtiG,OAAO6xB,GAAOmR,EAAOye,eAAgB,KAEjGkjD,4BAA6BtC,GAAMr/D,EAAOwJ,YAAa,KAI3DlB,GAAS,OAAa,SAAU/+B,GAC9B,IAAIy2B,EAASz2B,EAAMy2B,OACf3/B,EAAYkM,YAAyBhD,EAAO,CAAC,WAEjD,OAAOvL,YAAc,GAAIuhG,GAAwB,CAC/C3+F,MAAO,UACP8+F,gBAAiBr/F,EAAU,gCAC3Bi8F,YAAaj8F,EAAU,gCACvBm/F,UAAWx/D,EAAOwI,aAClBi3D,eAAgBp/F,EAAU,kCACxB,CACFuhG,4BAA6BvC,GAAMh/F,EAAU,gCAAiC,OAIlFioC,GAAU,eAAiBA,GAAU,wBAA0B,SAAUuO,GACvE,IAAI7W,EAAS6W,EAAM7W,OACnB,MAAO,CACL6hE,qBAAsB7hE,EAAO2e,aAC7B4iD,0BAA2BvhE,EAAO2e,eAItCrW,GAAS,YAAkB,WACzB,MAAO,CACLlgC,aAAc,QACdo4F,gBAAiB,SACjBC,mBAAoB,YACpBI,iBAAkB,UAClBC,oBAAqB,UACrBI,gBAAiB,OACjBC,mBAAoB,OACpBH,cAAe,aClHnB,ICpCwB54D,GAAQC,GAASvvB,GDoCrCnY,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,qGAAqGoB,OAAOpB,EAAMwM,cAAgB,UAAW,kBAAkBpL,OAAOpB,EAAMs8F,aAAe,UAAW,kBAAkBl7F,OAAOpB,EAAMsM,aAAe,UAAW,uEAAuElL,OAAOpB,EAAM2jD,YAAc,UAAW,iBAAiBviD,OAAOpB,EAAMulE,YAAc,UAAW,oBAAoBnkE,OAAOpB,EAAMwkG,eAAiB,UAAW,iBAAiBpjG,OAAOpB,EAAMskD,YAAc,UAAW,oBAAoBljD,OAAOpB,EAAMukG,eAAiB,UAAW,eAAenjG,OAAOpB,EAAM+hC,WAAa,UAAW,2GAA2G3gC,OAAOpB,EAAMskG,gBAAkB,UAAW,icAAicljG,OAAOpB,EAAM0kG,eAAiB,UAAW,kBAAkBtjG,OAAOpB,EAAM2kG,wBAA0B,UAAW,mBAAmBvjG,OAAOpB,EAAM2kG,wBAA0B,UAAW,gDAAgDvjG,OAAOpB,EAAM6kG,oBAAsB,UAAW,iBAAiBzjG,OAAOpB,EAAM4kG,iBAAmB,UAAW,2CAA2CxjG,OAAOpB,EAAMwlG,eAAiB,UAAW,uCAAuCpkG,OAAOpB,EAAMykG,aAAe,UAAW,0CAA0CrjG,OAAOpB,EAAMykG,aAAe,UAAW,sDAAsDrjG,OAAOpB,EAAM0kG,eAAiB,UAAW,+BAA+BtjG,OAAOpB,EAAM+kG,gBAAkB,UAAW,kBAAkB3jG,OAAOpB,EAAMglG,yBAA2B,UAAW,mBAAmB5jG,OAAOpB,EAAMglG,yBAA2B,UAAW,gDAAgD5jG,OAAOpB,EAAMklG,qBAAuB,UAAW,iBAAiB9jG,OAAOpB,EAAMilG,kBAAoB,UAAW,2CAA2C7jG,OAAOpB,EAAMylG,gBAAkB,UAAW,uCAAuCrkG,OAAOpB,EAAM8kG,cAAgB,UAAW,0CAA0C1jG,OAAOpB,EAAM8kG,cAAgB,UAAW,sDAAsD1jG,OAAOpB,EAAM+kG,gBAAkB,UAAW,+BAA+B3jG,OAAOpB,EAAMolG,eAAiB,UAAW,kBAAkBhkG,OAAOpB,EAAMqlG,wBAA0B,UAAW,mBAAmBjkG,OAAOpB,EAAMqlG,wBAA0B,UAAW,gDAAgDjkG,OAAOpB,EAAMulG,oBAAsB,UAAW,iBAAiBnkG,OAAOpB,EAAMslG,iBAAmB,UAAW,2CAA2ClkG,OAAOpB,EAAM0lG,eAAiB,UAAW,uCAAuCtkG,OAAOpB,EAAMmlG,aAAe,UAAW,0CAA0C/jG,OAAOpB,EAAMmlG,aAAe,UAAW,sDAAsD/jG,OAAOpB,EAAMolG,eAAiB,UAAW,yLAAyLhkG,OAAOpB,EAAMkmG,mBAAqB,UAAW,kBAAkB9kG,OAAOpB,EAAMmmG,oBAAsB,UAAW,WAAW/kG,OAAOpB,EAAM6sC,cAAgB,UAAW,2CAA2CzrC,OAAOpB,EAAMomG,qBAAuB,UAAW,kBAAkBhlG,OAAOpB,EAAMimG,sBAAwB,UAAW,WAAW7kG,OAAOpB,EAAM+sC,gBAAkB,UAAW,2CAA2C3rC,OAAOpB,EAAMqmG,0BAA4B,UAAW,kBAAkBjlG,OAAOpB,EAAM2lG,2BAA6B,UAAW,WAAWvkG,OAAOpB,EAAM2sC,qBAAuB,UAAW,2CAA2CvrC,OAAOpB,EAAMsmG,mBAAqB,UAAW,kBAAkBllG,OAAOpB,EAAMumG,oBAAsB,UAAW,WAAWnlG,OAAOpB,EAAM2tC,cAAgB,UAAW,2CAA2CvsC,OAAOpB,EAAMwmG,kBAAoB,UAAW,kBAAkBplG,OAAOpB,EAAMymG,mBAAqB,UAAW,WAAWrlG,OAAOpB,EAAM0mG,aAAe,UAAW,2CAA2CtlG,OAAOpB,EAAM2mG,wBAA0B,UAAW,kBAAkBvlG,OAAOpB,EAAM4mG,yBAA2B,UAAW,WAAWxlG,OAAOpB,EAAM6mG,mBAAqB,UAAW,2CAA2CzlG,OAAOpB,EAAM8mG,0BAA4B,UAAW,kBAAkB1lG,OAAOpB,EAAM+mG,2BAA6B,UAAW,WAAW3lG,OAAOpB,EAAMgnG,qBAAuB,UAAW,2CAA2C5lG,OAAOpB,EAAMinG,+BAAiC,UAAW,kBAAkB7lG,OAAOpB,EAAMknG,gCAAkC,UAAW,WAAW9lG,OAAOpB,EAAMmnG,0BAA4B,UAAW,2CAA2C/lG,OAAOpB,EAAMonG,wBAA0B,UAAW,kBAAkBhmG,OAAOpB,EAAMqnG,yBAA2B,UAAW,WAAWjmG,OAAOpB,EAAMsnG,mBAAqB,UAAW,2CAA2ClmG,OAAOpB,EAAMunG,uBAAyB,UAAW,kBAAkBnmG,OAAOpB,EAAMwnG,wBAA0B,UAAW,WAAWpmG,OAAOpB,EAAMynG,kBAAoB,UAAW,wTAAwTrmG,OAAOpB,EAAM0nG,yBAA2B,UAAW,gBAAgBtmG,OAAOpB,EAAM2nG,wBAA0B,UAAW,yEAAyEvmG,OAAOpB,EAAM4nG,2BAA6B,UAAW,gBAAgBxmG,OAAOpB,EAAM6nG,0BAA4B,UAAW,yEAAyEzmG,OAAOpB,EAAM6lG,gCAAkC,UAAW,gBAAgBzkG,OAAOpB,EAAM8lG,+BAAiC,UAAW,yEAAyE1kG,OAAOpB,EAAM8nG,yBAA2B,UAAW,gBAAgB1mG,OAAOpB,EAAM+nG,wBAA0B,UAAW,yEAAyE3mG,OAAOpB,EAAMgoG,wBAA0B,UAAW,gBAAgB5mG,OAAOpB,EAAMioG,uBAAyB,UAAW,yEAAyE7mG,OAAOpB,EAAMkoG,8BAAgC,UAAW,gBAAgB9mG,OAAOpB,EAAMmoG,6BAA+B,UAAW,yEAAyE/mG,OAAOpB,EAAMooG,gCAAkC,UAAW,gBAAgBhnG,OAAOpB,EAAMqoG,+BAAiC,UAAW,yEAAyEjnG,OAAOpB,EAAMsoG,qCAAuC,UAAW,gBAAgBlnG,OAAOpB,EAAMuoG,oCAAsC,UAAW,yEAAyEnnG,OAAOpB,EAAMwoG,8BAAgC,UAAW,gBAAgBpnG,OAAOpB,EAAMyoG,6BAA+B,UAAW,yEAAyErnG,OAAOpB,EAAM0oG,6BAA+B,UAAW,gBAAgBtnG,OAAOpB,EAAM2oG,4BAA8B,UAAW,6DAA6DvnG,OAAOpB,EAAM4oG,wBAA0B,UAAW,6DAA6DxnG,OAAOpB,EAAM6oG,0BAA4B,UAAW,6DAA6DznG,OAAOpB,EAAM4lG,+BAAiC,UAAW,6DAA6DxkG,OAAOpB,EAAM8oG,wBAA0B,UAAW,6DAA6D1nG,OAAOpB,EAAM+oG,uBAAyB,UAAW,6DAA6D3nG,OAAOpB,EAAMgmG,6BAA+B,UAAW,6DAA6D5kG,OAAOpB,EAAMgpG,+BAAiC,UAAW,6DAA6D5nG,OAAOpB,EAAMipG,oCAAsC,UAAW,6DAA6D7nG,OAAOpB,EAAM+lG,6BAA+B,UAAW,6DAA6D3kG,OAAOpB,EAAMkpG,4BAA8B,UAAW,MAE3yR,QAAW,aACX,mBAAoB,aACpB,oBAAqB,aACrB,YAAe,aACf,SAAY,aACZ,WAAc,aACd,cAAe,aACf,QAAW,aACX,mBAAsB,aACtB,eAAgB,aAChB,cAAe,aACf,gBAAiB,aACjB,eAAkB,aAClB,iBAAkB,aAClB,mBAAoB,aACpB,yBAA0B,aAC1B,iBAAkB,aAClB,gBAAiB,aACjB,kBAAqB,aACrB,cAAiB,aACjB,KAAQ,cASNC,GAAqBp7D,IAA8CC,CAAKxB,GAA/BvmC,GAAUjG,GAAO+E,GAAuBkpC,EAAgB/wB,GAAQuvB,GAE7G,SAAUjkC,GAGR,SAAS2gG,IACP,IAAI1J,EAEAt4F,EAEJlJ,YAAgBsG,KAAM4kG,GAEtB,IAAK,IAAIr3F,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GA0DzB,OAvDA5K,EAAQtJ,YAA2B0G,MAAOk7F,EAAmBviG,YAAgBisG,IAAaprG,KAAKvB,MAAMijG,EAAkB,CAACl7F,MAAMnD,OAAO8N,MAC/Hk6F,aAAe,KAErBjiG,EAAMu4F,iBAAmB,SAAUtxE,GACjCjnB,EAAMiiG,aAAeh7E,EAErBjnB,EAAMvI,MAAM+gG,WAAWvxE,IAGzBjnB,EAAMkiG,YAAc,SAAU9jF,GAC5B,IAAIy4D,EAAU72E,EAAMvI,MAAMo/E,QAK1B,GAAoB,YAHQpyD,aAAuBzkB,GACXwzF,YAKtC,OAFAp1E,EAAMo0C,sBACNp0C,EAAMq0C,kBAIe,oBAAZokB,GACTA,EAAQz4D,IAIZpe,EAAMmiG,cAAgB,SAAU/jF,GAC9B,IAAImpB,EAAcvnC,EAAMvI,MACpBo/E,EAAUtvC,EAAYsvC,QACtBurB,EAAY76D,EAAY66D,UACxB3iF,EAAO8nB,EAAY9nB,KAGnB+zE,EADyB/uE,aAAuBzkB,GACXwzF,YAEzC4O,EAAUhkF,GAEV,IAAIikF,EAAiBC,IAAQpkE,MACzB+Z,EAAQoqD,EAAepqD,MACvBsqD,EAAQF,EAAeE,MAED,WAAtBviG,EAAMuvE,aAA4B,CAACt3B,EAAOsqD,GAAOpiE,SAAS/hB,EAAMwf,WAClExf,EAAMo0C,iBACNp0C,EAAMq0C,kBAEiB,oBAAZokB,GAA0C,YAAhB2c,GACnC3c,EAAQz4D,GAGNqB,GACFzf,EAAMiiG,cAAgBjiG,EAAMiiG,aAAaO,UAKxCxiG,EAwJT,OA5NA5I,YAAU4qG,EAAY3gG,GAuEtB1J,YAAaqqG,EAAY,CAAC,CACxB5tG,IAAK,QACLC,MAAO,WACL+I,KAAK6kG,cAAgB7kG,KAAK6kG,aAAa7jB,UAExC,CACDhqF,IAAK,iBACLC,MAAO,WACL,IAAI4lG,EAAe78F,KAAK3F,MACpBgrG,EAAaxI,EAAawI,WAC1B7nG,EAAWq/F,EAAar/F,SACxBg+F,EAAYqB,EAAarB,UACzB8J,EAAczI,EAAayI,YAC3BC,EAAkBxqG,IAAMC,cAAc,OAAQ,CAChD+vC,UAAWvqC,GAAOhD,UACjBA,GAEH,IAAK6nG,EACH,OAAOE,EAGT,IAAIC,EAAqBxlG,KAAKwlG,mBAC1BC,EAAc1qG,IAAMC,cAAc,OAAQ,CAC5C+vC,UAAWvqC,GAAOklG,SACjBtQ,EAAeiQ,IACdM,EAAeH,EAAqBzqG,IAAMC,cAAc0jG,GAAKV,KAAM,KAAMyH,EAAajoG,GAAY,CAACzC,IAAMC,cAAc0jG,GAAKV,KAAM,CACpIhnG,IAAK,OACLimG,QAAS,KAAKpgG,OAAOyoG,EAAc,WAAa,UAAW,SAC1DG,GAAc1qG,IAAMC,cAAc0jG,GAAKV,KAAM,CAC9ChnG,IAAK,WACLunG,cAAc,GACbgH,IACCK,EAAY,CACdrH,cAAc,EACdl0D,OAAQ,OACRD,MAAO,OACPw0D,aAAc4G,GAAoC,WAAdhK,EAAyB,SAAW,SAE1E,OAAOzgG,IAAMC,cAAc0jG,GAAMkH,EAAWD,KAE7C,CACD3uG,IAAK,SACLC,MAAO,WACL,IAAIizC,EAEA6yD,EAAe/8F,KAAK3F,MACpB6S,EAAO6vF,EAAa7vF,KACpB/E,EAAO40F,EAAa50F,KAEpB4rF,GADagJ,EAAa3B,WACrB2B,EAAahJ,IAClB1xE,EAAO06E,EAAa16E,KACpBqI,EAAQqyE,EAAaryE,MAErB8wE,GADauB,EAAad,WACdc,EAAavB,WACzBtqF,EAAQ6rF,EAAa7rF,MACrB6pE,EAAUgiB,EAAahiB,QACvB8qB,EAAiB9I,EAAa8I,eAC9BpJ,EAAaM,EAAaN,WAC1B6I,EAAcvI,EAAauI,YAC3B/J,EAASwB,EAAaxB,OACtB1G,EAASkI,EAAalI,OACtBpb,EAAUsjB,EAAatjB,QAEvBqsB,GADa/I,EAAasI,WACftI,EAAa+I,UACxBzrG,EAAQ+R,YAAyB2wF,EAAc,CAAC,OAAQ,OAAQ,aAAc,KAAM,OAAQ,QAAS,aAAc,YAAa,QAAS,UAAW,iBAAkB,aAAc,cAAe,SAAU,SAAU,UAAW,aAAc,aAEhP3G,EAAcp2F,KAAKo2F,YACnBnS,EAA6B,aAAhBmS,EACb2P,EAA6B,aAAhB3P,EACb4P,EAA4B,YAAhB5P,EACZoP,EAAqBxlG,KAAKwlG,mBAC1Bh8F,EAAUwhC,KAAYd,EAAc,GAAIpzC,YAAgBozC,EAAa1pC,GAAOylG,SAAS,GAAOnvG,YAAgBozC,EAAa1pC,GAAO,SAAS3D,OAAOsL,KAAQ,GAAOrR,YAAgBozC,EAAa1pC,GAAO,UAAU3D,OAAO6tB,KAAS,GAAO5zB,YAAgBozC,EAAa1pC,GAAO,cAAc3D,OAAO2+F,KAAa,GAAO1kG,YAAgBozC,EAAa1pC,GAAO,UAAU3D,OAAOqU,KAAS,GAAOpa,YAAgBozC,EAAa1pC,GAAOqlG,eAAgBA,GAAiB/uG,YAAgBozC,EAAa1pC,GAAO0lG,mBAAoBL,GAAiB/uG,YAAgBozC,EAAa1pC,GAAO8kG,YAAaA,GAAcxuG,YAAgBozC,EAAa1pC,GAAOi8F,WAAYA,GAAa3lG,YAAgBozC,EAAa1pC,GAAO2lG,eAAgB1J,GAAa3lG,YAAgBozC,EAAa1pC,GAAOglG,mBAAoBA,GAAqB1uG,YAAgBozC,EAAa1pC,GAAOyjF,WAAYA,GAAa/5C,IAC/0B,OAAOnvC,IAAMC,cAAc8/F,GAAM5jG,OAAOoL,OAAO,GAAIoyF,GAAiBr6F,GAAQ,CAC1E05F,GAAI/zF,KAAKmyE,YACT8pB,WAAYj8F,KAAKi8F,WACjBF,SAAU,WACVhhB,QAASA,EACT3wC,MAAmB,UAAZ2wC,EAAsB,OAAS,OACtC9yE,aAAwB,WAAViJ,EAAqB,SAAW,SAC9ChJ,WAAY,cACZ+0F,QAAS,OACTl1F,YAAa,OACbwzF,OAAQA,EACR1G,OAAQ5Q,EAAa,cAAgB4Q,EACrCxyE,KAAMA,EACNnV,KAAMmV,EAAO,KAAOnV,EACpBkuF,WAAYp7F,KAAKm7F,iBACjB1hB,QAASz5E,KAAK8kG,YACdE,UAAWhlG,KAAK+kG,cAChBh7D,KAAM0vC,GAAkB,WAAPsa,EAAkB,SAAW,KAC9C+R,SAAUrsB,GAAWsa,EAAK+R,GAAY,IAAMA,EAC5Ct8C,SAAUy6B,GAAc8hB,EAGxBh7D,UAAWi7D,EAAYxlG,GAAOyqC,KAAO,OACnClwC,IAAMC,cAAc,OAAQ,CAC9B+vC,UAAWvhC,GACVxJ,KAAK++F,qBAET,CACD/nG,IAAK,qBACL4M,IAAK,WACH,IAAIo5F,EAAeh9F,KAAK3F,MACpBmD,EAAWw/F,EAAax/F,SAE5B,OADiBw/F,EAAaqI,aACR1O,GAAmBn5F,KAE1C,CACDxG,IAAK,cACL4M,IAAK,WACH,OAAOiwF,GAAe+Q,EAAY5kG,KAAK3F,SAExC,CACDrD,IAAK,cACL4M,IAAK,WACH,OAAOoyF,GAAe,CACpB37F,MAAO2F,KAAK3F,UAGf,CACDrD,IAAK,aACL4M,IAAK,WACH,IAAIs5F,EAAel9F,KAAK3F,MACpBqwB,EAAQwyE,EAAaxyE,MACrBuxE,EAAaiB,EAAajB,WAC1B4J,EAAiB3I,EAAa2I,eAElC,OAAI5J,IAQU,oBAAVvxE,GAA+Bm7E,EAC1B,OAGFn7E,EAAMqY,SAAS,WAAa,UAAY,UAEhD,CACD/rC,IAAK,UACL4M,IAAK,WACH,OAAO4yF,GAAgBx2F,KAAK6kG,kBAIhCD,EAAW9iG,YAAc,aAClB8iG,EA7NT,CA8NExgG,aAAY8jC,GAAQpkC,UAAY,CAIhCtG,SAAUjC,IAAUgC,KAKpB2P,KAAM3R,IAAUsM,MAAM,CAAC,SAAU,SAAU,UAK3CM,KAAM5M,IAAUsM,MAAM,CAAC,QAAS,SAAU,UAK1CuzF,WAAY7/F,IAAU4V,KAKtB4iF,GAAIx4F,IAAU42E,YAKdikB,YAAa76F,IAAUsM,MAAM,CAAC,UAAW,WAAY,aAKrD6iB,MAAOnvB,IAAUsM,MAAM,CAAC,UAAW,kBAAmB,YAAa,UAAW,WAK9Eo0F,WAAY1gG,IAAUsM,MAAM,CAAC,OAAQ,YAMrCkzE,QAASx/E,IAAUsM,MAAM,CAAC,eAAgB,UAK1C2zF,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,WAKrCqJ,MAAO3V,IAAUsM,MAAM,CAAC,YAAa,WAKrCg+F,eAAgBtqG,IAAU8I,KAK1Bo4F,WAAYlhG,IAAU8I,KAMtBihG,YAAa/pG,IAAU8I,KAOvBk3F,OAAQ5zF,GAAmBS,QAM3BysF,OAAQt5F,IAAUgwC,OAKlBlpB,KAAM9mB,IAAUgwC,OAKhBkuC,QAASl+E,IAAU4V,KAKnB6zF,UAAWzpG,IAAU4V,KAKrBk0F,WAAY9pG,IAAUiwC,UAAU,CAACjwC,IAAUgC,KAAMhC,IAAU4V,OAK3D20F,SAAUvqG,IAAUiwC,UAAU,CAACjwC,IAAUkwC,OAAQlwC,IAAUgwC,UAC1DrD,GAAQ5jC,aAAe,CACxB9G,SAAU,KACV0P,KAAM,SACN/E,KAAM,SACNizF,WAAY,SAAoBvxE,KAChCkqE,GAAI,SAEJqC,iBAAa,EACb1rE,MAAO,YACPuxE,gBAAY,EACZ/qF,MAAO,YACP6pE,QAAS,eACTygB,UAAW,QACXqK,gBAAgB,EAChBpJ,YAAY,EACZ6I,aAAa,EACb/J,OAAQ,IACR1G,OAAQ,UACRxyE,UAAM,EACNo3D,aAAS,EACTurB,UAAW,SAAmBhkF,KAC9BqkF,gBAAY,EACZS,cAAU,GApW+E79D,GAqWxFtvB,MAAWsvB,KAAWA,GCzYrBznC,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,gDAAgDoB,OAAOpB,EAAM8lE,QAAU,UAAW,uGAAuG1kE,OAAOpB,EAAM2qG,cAAgB,UAAW,yBAAyBvpG,OAAOpB,EAAM4qG,aAAe,UAAW,yBAAyBxpG,OAAOpB,EAAM6qG,cAAgB,UAAW,oMAAoMzpG,OAAOpB,EAAM2qG,cAAgB,UAAW,kFAAkFvpG,OAAOpB,EAAM2qG,cAAgB,UAAW,+CAA+CvpG,OAAOpB,EAAM2qG,cAAgB,UAAW,4DAA4DvpG,OAAOpB,EAAM4qG,aAAe,UAAW,kFAAkFxpG,OAAOpB,EAAM4qG,aAAe,UAAW,+CAA+CxpG,OAAOpB,EAAM4qG,aAAe,UAAW,4DAA4DxpG,OAAOpB,EAAM6qG,cAAgB,UAAW,kFAAkFzpG,OAAOpB,EAAM6qG,cAAgB,UAAW,+CAA+CzpG,OAAOpB,EAAM6qG,cAAgB,UAAW,uOAAuOzpG,OAAOpB,EAAM2qG,cAAgB,UAAW,+CAA+CvpG,OAAOpB,EAAM2qG,cAAgB,UAAW,qEAAqEvpG,OAAOpB,EAAM2qG,cAAgB,UAAW,yEAAyEvpG,OAAOpB,EAAM4qG,aAAe,UAAW,+CAA+CxpG,OAAOpB,EAAM4qG,aAAe,UAAW,qEAAqExpG,OAAOpB,EAAM4qG,aAAe,UAAW,yEAAyExpG,OAAOpB,EAAM6qG,cAAgB,UAAW,+CAA+CzpG,OAAOpB,EAAM6qG,cAAgB,UAAW,qEAAqEzpG,OAAOpB,EAAM6qG,cAAgB,UAAW,MAEz8E,KAAQ,aACR,oBAAqB,aACrB,iBAAkB,aAClB,mBAAoB,aACpB,kBAAmB,aACnB,gBAAiB,aACjB,iBAAkB,cAShBC,GAAsB3T,EAAW,QAAS,CAC5Cp1F,SAAU,oBACVgpG,UAAW,aACXrR,QAAS,SAC+C1rD,CAAKxB,GAAnDuB,IAA4DE,CAAMzB,GAA9CvmC,IC5CjB,SAAU6F,GACvB,IAAIa,EAAUb,EAAKa,QACfN,EAAWP,EAAKO,SACpB,MAAO,CACLw+F,aAAcl+F,EAAQjD,OACtBkhG,YAAaj+F,EAAQlD,MACrBkhG,aAAch+F,EAAQvC,OACtB07D,OAAQz5D,EAASnD,SDqC4BnE,GAAsCy6F,EAAgBtiF,GAAQuvB,GAE/G,SAAUjkC,GAGR,SAASsiG,IAGP,OAFA7sG,YAAgBsG,KAAMumG,GAEfjtG,YAA2B0G,KAAMrH,YAAgB4tG,GAAatuG,MAAM+H,KAAM3H,YAgFnF,OArFA2B,YAAUusG,EAAatiG,GAQvB1J,YAAagsG,EAAa,CAAC,CACzBvvG,IAAK,oBACLC,MAAO,WAIE+I,KAAK3F,MAAMosG,mBAAqBzmG,KAAK3F,MAAMmD,WAEnD,CACDxG,IAAK,qBACLC,MAAO,WAIE+I,KAAK3F,MAAMosG,mBAAqBzmG,KAAK3F,MAAMmD,WAEnD,CACDxG,IAAK,SACLC,MAAO,WACL,IAAIizC,EAEAC,EAAcnqC,KAAK3F,MACnBmD,EAAW2sC,EAAY3sC,SACvBipG,EAAoBt8D,EAAYs8D,kBAChCrL,EAAajxD,EAAYixD,WACzBoL,EAAYr8D,EAAYq8D,UACxBr+F,EAAOgiC,EAAYhiC,KACnBsxE,EAAUtvC,EAAYsvC,QACtB8hB,EAASpxD,EAAYoxD,OACrBmL,EAAYv8D,EAAYu8D,UACxBhoG,EAASyrC,EAAYzrC,OACrBwO,EAAOi9B,EAAYj9B,KACnB6mF,EAAK5pD,EAAY4pD,GACjB1xE,EAAO8nB,EAAY9nB,KACnBwyE,EAAS1qD,EAAY0qD,OACrBiR,EAAW37D,EAAY27D,SACvBzrG,EAAQ+R,YAAyB+9B,EAAa,CAAC,WAAY,oBAAqB,aAAc,YAAa,OAAQ,UAAW,SAAU,YAAa,SAAU,OAAQ,KAAM,OAAQ,SAAU,aAEnM,OAAOpvC,IAAMC,cAAc,OAAQ9D,OAAOoL,OAAO,GAAIoyF,GAAiBr6F,GAAQ,CAC5E0wC,UAAWC,KAAYd,EAAc,GAAIpzC,YAAgBozC,EAAa1pC,GAAOyqC,MAAM,GAAOn0C,YAAgBozC,EAAa1pC,GAAO,cAAc3D,OAAO6pG,IAAaA,GAAY5vG,YAAgBozC,EAAa1pC,GAAO,WAAW3D,OAAO6B,IAAUA,GAASwrC,MACnPnvC,IAAMC,cAAc4pG,GAAY,CAClCS,WAAYxP,GACZuF,WAAYA,GAAcoL,EAC1BpQ,YAAap2F,KAAKo2F,YAClBlpF,KAAMA,EACNwd,MAAO1qB,KAAK0qB,MACZviB,KAAMA,EACNsxE,QAASA,EACT8hB,OAAQA,EACRkB,YAAY,EACZoJ,gBAAgB,EAChB9R,GAAIA,EACJ1xE,KAAMA,EACNwyE,OAAQA,EACRiR,SAAUA,EACVa,yCAAyC,GACxC5rG,IAAMC,cAAc86F,GAAqB,KAAM2Q,GAAqBjpG,OAExE,CACDxG,IAAK,cACL4M,IAAK,WACH,OAAOoyF,GAAe,CACpB37F,MAAO2F,KAAK3F,UAGf,CACDrD,IAAK,QACL4M,IAAK,WACH,IAAIi5F,EAAe78F,KAAK3F,MACpBqwB,EAAQmyE,EAAanyE,MAEzB,MAAgB,iBADFmyE,EAAa1H,SACiB,oBAAVzqE,EAAoC,kBAC/D,gBAIX67E,EAAYzkG,YAAc,cACnBykG,EAtFT,CAuFEniG,aAAY8jC,GAAQpkC,UAAY,CAIhC2iG,kBAAmBlrG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUgC,OAMpEmtB,MAAOnvB,IAAUsM,MAAM,CAAC,UAAW,oBAKnCuuF,YAAa76F,IAAUsM,MAAM,CAAC,UAAW,WAAY,aAKrDuzF,WAAY7/F,IAAU4V,KAKtBhJ,KAAM5M,IAAUsM,MAAM,CAAC,QAAS,SAAU,UAK1C4xE,QAASl+E,IAAU4V,KAOnBoqF,OAAQ5zF,GAAmBS,QAK3Bs+F,UAAWnrG,IAAUsM,MAAM,CAAC,QAAS,MAAO,WAQ5CnJ,OAAQnD,IAAUsM,MAAM,CAAC,OAAQ,UAAW,QAAS,WAKrDqF,KAAM3R,IAAUsM,MAAM,CAAC,SAAU,SAAU,UAK3CksF,GAAIx4F,IAAU42E,YAKd9vD,KAAM9mB,IAAUgwC,OAKhBspD,OAAQt5F,IAAUgwC,OAKlBu6D,SAAUvqG,IAAUiwC,UAAU,CAACjwC,IAAUkwC,OAAQlwC,IAAUgwC,SAK3D/tC,SAAUjC,IAAUgC,KAKpBipG,UAAWjrG,IAAU4V,KAKrBgkF,QAAS55F,IAAUsM,MAAM,CAAC,OAAQ,kBACjCqgC,GAAQ5jC,aAAe,CACxBmiG,uBAAmB,EACnBjpG,cAAU,EACVi8E,QAAS,SAAiBz4D,KAC1Bo6E,gBAAY,EACZoL,eAAW,EACXrR,aAAS,EACTzqE,WAAO,EAEP0rE,iBAAa,EACb5sC,cAAU,EACV6sC,cAAU,EACVnpF,KAAM,SACNw5F,UAAW,SACXhoG,OAAQ,UACRyJ,KAAM,QACNozF,OAAQ,IACRxH,GAAI,SACJ1xE,UAAM,EACNwyE,OAAQ,UACRiR,cAAU,GAxMiF79D,GAyM1FtvB,MAAWsvB,KAAWA,KAAWA,GEnQhC1gC,GAEJxM,IAAMC,cAAc,OAAQ,CAC1BgpB,EAAG,mXACH8wE,SAAU,UACVC,OAAQ,OACR/yB,YAAa,MAGX4kC,GAEJ,SAAU3iG,GAGR,SAAS2iG,IAGP,OAFAltG,YAAgBsG,KAAM4mG,GAEfttG,YAA2B0G,KAAMrH,YAAgBiuG,GAAa3uG,MAAM+H,KAAM3H,YAcnF,OAnBA2B,YAAU4sG,EAAa3iG,GAQvB1J,YAAaqsG,EAAa,CAAC,CACzB5vG,IAAK,SACLC,MAAO,WACL,OAAO8D,IAAMC,cAAcgxC,GAAS90C,OAAOoL,OAAO,GAAItC,KAAK3F,MAAO,CAChE0H,KAAM,SACNkzF,QAAS,kBACP1tF,QAIRq/F,EAAY9kG,YAAc,cACnB8kG,EApBT,CAqBExiG,aAEFwiG,GAAY1R,UAAY,KACxB0R,GAAYzR,QAAU,QACtByR,GAAY9iG,UAAYjG,YAAc,GAAImuC,GAAQloC,WACnC8iG,ICrCXr/F,GAEJxM,IAAMC,cAAc,OAAQ,CAC1BgpB,EAAG,44CACH8wE,SAAU,UACVC,OAAQ,OACR/yB,YAAa,MAGX6kC,GAEJ,SAAU5iG,GAGR,SAAS4iG,IAGP,OAFAntG,YAAgBsG,KAAM6mG,GAEfvtG,YAA2B0G,KAAMrH,YAAgBkuG,GAAyB5uG,MAAM+H,KAAM3H,YAc/F,OAnBA2B,YAAU6sG,EAAyB5iG,GAQnC1J,YAAassG,EAAyB,CAAC,CACrC7vG,IAAK,SACLC,MAAO,WACL,OAAO8D,IAAMC,cAAcgxC,GAAS90C,OAAOoL,OAAO,GAAItC,KAAK3F,MAAO,CAChE0H,KAAM,qBACNkzF,QAAS,kBACP1tF,QAIRs/F,EAAwB/kG,YAAc,0BAC/B+kG,EApBT,CAqBEziG,aAEFyiG,GAAwB3R,UAAY,kBACpC2R,GAAwB1R,QAAU,QAClC0R,GAAwB/iG,UAAYjG,YAAc,GAAImuC,GAAQloC,WAC/C+iG,ICrCXt/F,GAEJxM,IAAMC,cAAc,OAAQ,CAC1BgpB,EAAG,iGACH8wE,SAAU,UACVC,OAAQ,OACR/yB,YAAa,MAGX8kC,GAEJ,SAAU7iG,GAGR,SAAS6iG,IAGP,OAFAptG,YAAgBsG,KAAM8mG,GAEfxtG,YAA2B0G,KAAMrH,YAAgBmuG,GAAoB7uG,MAAM+H,KAAM3H,YAc1F,OAnBA2B,YAAU8sG,EAAoB7iG,GAQ9B1J,YAAausG,EAAoB,CAAC,CAChC9vG,IAAK,SACLC,MAAO,WACL,OAAO8D,IAAMC,cAAcgxC,GAAS90C,OAAOoL,OAAO,GAAItC,KAAK3F,MAAO,CAChE0H,KAAM,gBACNkzF,QAAS,kBACP1tF,QAIRu/F,EAAmBhlG,YAAc,qBAC1BglG,EApBT,CAqBE1iG,aAEF0iG,GAAmB5R,UAAY,aAC/B4R,GAAmB3R,QAAU,QAC7B2R,GAAmBhjG,UAAYjG,YAAc,GAAImuC,GAAQloC,WAC1CgjG,ICrCXv/F,GAEJxM,IAAMC,cAAc,IAAK,CACvB85F,SAAU,UACVC,OAAQ,OACR/yB,YAAa,KACZjnE,IAAMC,cAAc,OAAQ,CAC7BgpB,EAAG,gNAGD+iF,GAEJ,SAAU9iG,GAGR,SAAS8iG,IAGP,OAFArtG,YAAgBsG,KAAM+mG,GAEfztG,YAA2B0G,KAAMrH,YAAgBouG,GAA4B9uG,MAAM+H,KAAM3H,YAclG,OAnBA2B,YAAU+sG,EAA4B9iG,GAQtC1J,YAAawsG,EAA4B,CAAC,CACxC/vG,IAAK,SACLC,MAAO,WACL,OAAO8D,IAAMC,cAAcgxC,GAAS90C,OAAOoL,OAAO,GAAItC,KAAK3F,MAAO,CAChE0H,KAAM,wBACNkzF,QAAS,kBACP1tF,QAIRw/F,EAA2BjlG,YAAc,6BAClCilG,EApBT,CAqBE3iG,aAEF2iG,GAA2B7R,UAAY,qBACvC6R,GAA2B5R,QAAU,QACrC4R,GAA2BjjG,UAAYjG,YAAc,GAAImuC,GAAQloC,WCLjE,SAASkjG,GAAU3gG,GACjB,IAAIpP,EAAQ,GAAG4F,OAAOwJ,GACtB,MAAO,CAACq2B,WAAWzlC,EAAO,IAC1BA,EAAMuH,MAAM,qBAAqB,IAAM,ICFzC,SAASyoG,GAAGhqE,GACV,IAAKA,GAAsB,kBAARA,EACjB,OAAOA,EAGT,IAAIiqE,EAAaF,GAAU/pE,GACvBkqE,EAAc99F,aAAe69F,EAAY,GACzCE,EAAMD,EAAY,GAClBE,EAAOF,EAAY,GAEvB,MAAa,OAATE,EACKD,EACW,MAATC,EACI,IAAND,EAEAA,EAIIH,I,SCnCXK,IAAmB,EACnBC,GAAkB,CACpBliD,QAAS,WACP,MAAO,IAETg7B,SAAU,WACR,OAAO,GAET/gB,IAAK,aACLkoC,OAAQ,cAgBV,SAASC,GAAaxrD,GACpB,IAAI1+C,EAAOoG,EAAYs4C,GACvB,IAAK1+C,EAAM,OAAOgqG,GAClB,IAAIG,EAAe,CACjBriD,QAAS,WAEP,OADAsiD,KACO77F,aAAmBvO,EAAKqqG,aASnC,MANA,CAAC,WAAY,MAAO,UAAUpvG,SAAQ,SAAU8U,GAC9Co6F,EAAap6F,GAAU,SAAUy9B,GAE/B,OADA48D,KACOpqG,EAAKqqG,UAAUt6F,GAAQy9B,OAG3B28D,EAGT,SAASC,KAIP,IAAKL,GAAkB,CACrB,KAAM,cAAepqG,SAAS0iF,gBAAgB,6BAA8B,MAAO,CACjF,IAAIioB,EAAQ3wG,OAAOa,yBAAyB+vG,YAAY1uG,UAAW,aACnElC,OAAOC,eAAe4wG,WAAW3uG,UAAW,YAAayuG,GAG3DP,IAAmB,GCxEvB,SAAS51B,KAEP,IAAIpuE,EAAQtD,KAAK7G,YAAYyzC,yBAAyB5sC,KAAK3F,MAAO2F,KAAKsD,OACzD,OAAVA,QAA4B2J,IAAV3J,GACpBtD,KAAK8gB,SAASxd,GAIlB,SAAS6gC,GAA0BhhC,GAQjCnD,KAAK8gB,SALL,SAAiBtd,GACf,IAAIF,EAAQtD,KAAK7G,YAAYyzC,yBAAyBzpC,EAAWK,GACjE,OAAiB,OAAVF,QAA4B2J,IAAV3J,EAAsBA,EAAQ,MAGnCmM,KAAKzP,OAG7B,SAAS83E,GAAoB30E,EAAWC,GACtC,IACE,IAAIG,EAAYvD,KAAK3F,MACjBmJ,EAAYxD,KAAKsD,MACrBtD,KAAK3F,MAAQ8I,EACbnD,KAAKsD,MAAQF,EACbpD,KAAKgoG,6BAA8B,EACnChoG,KAAKioG,wBAA0BjoG,KAAKwxE,wBAClCjuE,EACAC,GARJ,QAWExD,KAAK3F,MAAQkJ,EACbvD,KAAKsD,MAAQE,GAUjB,SAAS0kG,GAAS9jG,GAChB,IAAIhL,EAAYgL,EAAUhL,UAE1B,IAAKA,IAAcA,EAAUoqD,iBAC3B,MAAM,IAAIh7C,MAAM,sCAGlB,GACgD,oBAAvCpE,EAAUwoC,0BAC4B,oBAAtCxzC,EAAUo4E,wBAEjB,OAAOptE,EAMT,IAAI+jG,EAAqB,KACrBC,EAA4B,KAC5BC,EAAsB,KAgB1B,GAf4C,oBAAjCjvG,EAAUs4E,mBACnBy2B,EAAqB,qBACmC,oBAAxC/uG,EAAUq4E,4BAC1B02B,EAAqB,6BAE4B,oBAAxC/uG,EAAU+qC,0BACnBikE,EAA4B,4BACmC,oBAA/ChvG,EAAUk4E,mCAC1B82B,EAA4B,oCAEe,oBAAlChvG,EAAU0+E,oBACnBuwB,EAAsB,sBACmC,oBAAzCjvG,EAAUy+E,6BAC1BwwB,EAAsB,8BAGC,OAAvBF,GAC8B,OAA9BC,GACwB,OAAxBC,EACA,CACA,IAAI5hG,EAAgBrC,EAAUtC,aAAesC,EAAUrC,KACnDumG,EAC4C,oBAAvClkG,EAAUwoC,yBACb,6BACA,4BAEN,MAAMpkC,MACJ,2FACE/B,EACA,SACA6hG,EACA,uDACwB,OAAvBH,EAA8B,OAASA,EAAqB,KAC9B,OAA9BC,EACG,OAASA,EACT,KACqB,OAAxBC,EAA+B,OAASA,EAAsB,IAC/D,wIAgBN,GARkD,oBAAvCjkG,EAAUwoC,2BACnBxzC,EAAUs4E,mBAAqBA,GAC/Bt4E,EAAU+qC,0BAA4BA,IAMS,oBAAtC/qC,EAAUo4E,wBAAwC,CAC3D,GAA4C,oBAAjCp4E,EAAU2+E,mBACnB,MAAM,IAAIvvE,MACR,qHAIJpP,EAAU0+E,oBAAsBA,GAEhC,IAAIC,EAAqB3+E,EAAU2+E,mBAEnC3+E,EAAU2+E,mBAAqB,SAC7Bx0E,EACAC,EACA+kG,GAUA,IAAIC,EAAWxoG,KAAKgoG,4BAChBhoG,KAAKioG,wBACLM,EAEJxwB,EAAmBv+E,KAAKwG,KAAMuD,EAAWC,EAAWglG,IAIxD,OAAOpkG,EA7GTstE,GAAmB+2B,8BAA+B,EAClDtkE,GAA0BskE,8BAA+B,EACzD3wB,GAAoB2wB,8BAA+B,ECvB5C,ICUHC,GAAS,CACXC,QAAS,EACTC,SAAU,EACVC,SAAU,EACVC,QAAS,GAUPC,GAEJ,SAAU1xD,GAGR,SAAS0xD,IACP,IAAI7N,EAEAt4F,EAEJlJ,YAAgBsG,KAAM+oG,GAEtB,IAAK,IAAIx7F,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAiJzB,OA9IA5K,EAAQtJ,YAA2B0G,MAAOk7F,EAAmBviG,YAAgBowG,IAAiBvvG,KAAKvB,MAAMijG,EAAkB,CAACl7F,MAAMnD,OAAO8N,MACnIq+F,UAAY,GAClBpmG,EAAMU,MAAQ,CACZ2lG,eAAe,GAGjBrmG,EAAMsmG,gBAAkB,SAAUC,EAAcC,GAC9C,IAAIj/D,EAAcvnC,EAAMvI,MACpBgvG,EAAkBl/D,EAAYk/D,gBAC9BC,EAAiBn/D,EAAYm/D,eAE7BH,EACFvmG,EAAMuiG,MAAMkE,GAAmBD,EAAoBV,GAAOC,OAAS,MAEnE/lG,EAAM2mG,KAAKD,GAAkBF,EAAoBV,GAAOI,QAAU,OAItElmG,EAAM4tD,WAAa,SAAUg5C,EAASC,EAAWC,GAC/C,IAAIC,EAAqBtxG,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,EAC1F,IAAIuK,EAAMgnG,WAAV,CACA,IAAIhC,EAAYH,GAAapgF,aAAuBzkB,IAEhDinG,EAAsBjnG,EAAMknG,uBAAuBN,GAEnDO,EAA0BnnG,EAAMknG,uBAAuBL,GAEvDO,EAA0BpnG,EAAMvI,MAAMwvG,oBAEtCJ,GAAaE,GAAsB/mG,EAAMqnG,kBAAkBT,GAC7D5B,EAAUtoC,IAAI0qC,GAEdpC,EAAUJ,OAAOwC,GAGfD,GACFnC,EAAUJ,OAAOuC,GAGfF,GACFjC,EAAUtoC,IAAIuqC,GAGZL,GAAWC,GACb7mG,EAAMvI,MAAM6vG,aAAaV,EAASC,GAGpC7mG,EAAMomG,UAAUhxG,KAAK0sE,YAAW,WAC1B9hE,EAAMgnG,YAEwB,oBAAvBF,GACTA,MAEDC,MAGL/mG,EAAMuiG,MAAQ,SAAUgF,GACtB,IAAIvnG,EAAMU,MAAM2lG,gBAAiBrmG,EAAMgnG,WAAvC,CAEA,IACIvvG,EADwBgtB,aAAuBzkB,GACjBvI,MAElCA,EAAM+vG,UAEF/vG,EAAMgvG,gBACRzmG,EAAMke,SAAS,CACbmoF,eAAe,IACd,WACD,IAAI9D,EAAQ,WACV9qG,EAAMgwG,aAENznG,EAAM4tD,WAAWk4C,GAAOI,QAASJ,GAAOG,UAAU,WAChDjmG,EAAMke,SAAS,CACbmoF,eAAe,IACd,WACD5uG,EAAMiwG,mBAKRH,EACFvnG,EAAM4tD,WAAW25C,EAAc,MAAM,WACnCvnG,EAAM4tD,WAAWk4C,GAAOG,SAAUsB,EAAchF,EAAO9qG,EAAMkwG,eAG/DpF,OAIJviG,EAAMke,SAAS,CACbmoF,eAAe,IACd,WACDrmG,EAAM4tD,WAAWk4C,GAAOI,QAASJ,GAAOC,QAExCtuG,EAAMiwG,iBAKZ1nG,EAAM2mG,KAAO,SAAUY,GACrB,IAAIvnG,EAAMU,MAAM2lG,cAAhB,CAEA,IACI5uG,EADyBgtB,aAAuBzkB,GACjBvI,MAEnCA,EAAMmwG,SAEFnwG,EAAMivG,eACR1mG,EAAMke,SAAS,CACbmoF,eAAe,IACd,WACD,IAAIM,EAAO,WACTlvG,EAAMowG,YAEN7nG,EAAM4tD,WAAWk4C,GAAOC,OAAQD,GAAOE,SAAS,WAC9ChmG,EAAMke,SAAS,CACbmoF,eAAe,IACd,WACD5uG,EAAMqwG,kBAKRP,EACFvnG,EAAM4tD,WAAW25C,EAAc,MAAM,WACnCvnG,EAAM4tD,WAAWk4C,GAAOE,QAASuB,EAAcZ,EAAMlvG,EAAMswG,cAG7DpB,OAIJ3mG,EAAMke,SAAS,CACbmoF,eAAe,IACd,WACDrmG,EAAM4tD,WAAWk4C,GAAOC,OAAQD,GAAOI,SAEvCzuG,EAAMqwG,gBAKL9nG,EAsHT,OAjRA5I,YAAU+uG,EAAgB1xD,GA8J1B98C,YAAawuG,EAAgB,CAAC,CAC5B/xG,IAAK,oBACLC,MAAO,WACL+I,KAAKkpG,gBAAgBlpG,KAAK3F,MAAMuwG,GAAI5qG,KAAK3F,MAAMwwG,qBAEhD,CACD7zG,IAAK,0BACLC,MAAO,SAAiCsM,EAAWC,GACjD,QAAIxD,KAAK3F,MAAMuwG,KAAOrnG,EAAUqnG,KAAMpnG,EAAUylG,gBAKzC,OAER,CACDjyG,IAAK,qBACLC,MAAO,SAA4BsM,EAAWC,EAAWsnG,GACnDA,GACF9qG,KAAK+qG,gBAAgBxnG,EAAUsmG,qBAG7B7pG,KAAK3F,MAAMwvG,sBAAwBtmG,EAAUsmG,qBAC/C7pG,KAAK+qG,gBAAgBxnG,EAAUsmG,qBAG7BtmG,EAAUqnG,KAAO5qG,KAAK3F,MAAMuwG,IAC9B5qG,KAAKkpG,gBAAgBlpG,KAAK3F,MAAMuwG,IAAI,KAGvC,CACD5zG,IAAK,uBACLC,MAAO,WACL+I,KAAKgpG,UAAUxwG,SAAQ,SAAU8lF,GAC/B1Z,aAAa0Z,MAGft+E,KAAK4pG,YAAa,IAEnB,CACD5yG,IAAK,kBACLC,MAAO,SAAyB4yG,GAC9B,IAAItlE,EAASvkC,KAETA,KAAK4pG,YACT5pG,KAAK8gB,SAAS,CACZmoF,eAAe,IACd,WACD,IAAI1kE,EAAOqlE,WAAX,CACA,IAAIhC,EAAYH,GAAaljE,GAC7BrtC,OAAOQ,KAAKgxG,IAAQlwG,SAAQ,SAAU8K,GACpCskG,EAAUJ,OAAOjjE,EAAOulE,uBAAuBxmG,OAEjDskG,EAAUJ,OAAOqC,SAGpB,CACD7yG,IAAK,oBACLC,MAAO,SAA2BuyG,GAChC,IAAInvG,EAAQ2F,KAAK3F,MAEjB,OAAQmvG,GACN,KAAKd,GAAOC,OACZ,KAAKD,GAAOE,QACV,OAAOvuG,EAAMivG,eAEf,KAAKZ,GAAOI,QACZ,KAAKJ,GAAOG,SACV,OAAOxuG,EAAMgvG,gBAEf,QACE,OAAO,KAGZ,CACDryG,IAAK,yBACLC,MAAO,SAAgC+zG,GACrC,IAAI3wG,EAAQ2F,KAAK3F,MAEjB,OAAQ2wG,GACN,KAAKtC,GAAOC,OACV,OAAOtuG,EAAM4wG,gBAEf,KAAKvC,GAAOG,SACV,OAAOxuG,EAAM6wG,kBAEf,KAAKxC,GAAOI,QACV,OAAOzuG,EAAM8wG,iBAEf,KAAKzC,GAAOE,QACV,OAAOvuG,EAAM+wG,iBAEf,QACE,OAAO,QAGZ,CACDp0G,IAAK,iBACLC,MAAO,WACL,OAAOgE,EAAiBP,EAAkBsF,KAAK3F,MAAMmD,UAAW,CAC9D,eAAgBwC,KAAK3F,MAAMuwG,IAAY,SAG1C,CACD5zG,IAAK,SACLC,MAAO,WACL,OAAK+I,KAAK3F,MAAMuwG,KAAM5qG,KAAK3F,MAAMgxG,eAAkBrrG,KAAKsD,MAAM2lG,cAGrDjpG,KAAK++F,iBAFL,SAObgK,EAAejnG,YAAc,iBACtBinG,EAlRT,CAmREhuG,IAAMqJ,WAER2kG,GAAejlG,UAAY,CAIzB8mG,GAAIrvG,IAAU8I,KAKdgnG,cAAe9vG,IAAU8I,KAMzBwmG,kBAAmBtvG,IAAU8I,KAK7BglG,gBAAiB9tG,IAAU8I,KAK3BilG,eAAgB/tG,IAAU8I,KAU1BkmG,WAAYhvG,IAAUkwC,OAUtBk/D,UAAWpvG,IAAUkwC,OAKrBo+D,oBAAqBtuG,IAAUgwC,OAK/B0/D,gBAAiB1vG,IAAUgwC,OAK3B6/D,iBAAkB7vG,IAAUgwC,OAK5B4/D,iBAAkB5vG,IAAUgwC,OAK5B2/D,kBAAmB3vG,IAAUgwC,OAK7B2+D,aAAc3uG,IAAU4V,KAKxBi5F,QAAS7uG,IAAU4V,KAKnBk5F,WAAY9uG,IAAU4V,KAKtBm5F,UAAW/uG,IAAU4V,KAKrBq5F,OAAQjvG,IAAU4V,KAKlBs5F,UAAWlvG,IAAU4V,KAKrBu5F,SAAUnvG,IAAU4V,KACpB3T,SAAUjC,IAAUgC,KACpBwtC,UAAWxvC,IAAUgwC,QAEvBw9D,GAAezkG,aAAe,CAC5BsmG,IAAI,EACJvkE,UAAW,MACXglE,eAAe,EACfR,mBAAmB,EACnBxB,iBAAiB,EACjBC,gBAAgB,EAChBiB,WAAY,IACZI,UAAW,IACXP,QAAS,aACTC,WAAY,aACZC,UAAW,aACXE,OAAQ,aACRC,UAAW,aACXC,SAAU,aACVR,aAAc,SAAsBV,EAASC,KAC7C1+D,eAAW,EACXvtC,SAAU,KACVqsG,yBAAqB,EACrBoB,qBAAiB,EACjBG,sBAAkB,EAClBD,sBAAkB,EAClBD,uBAAmB,GAErBnC,GAAeuC,OAAS5C,GDpbF,WACb6C,GAAUtzG,WAAM,EAAQI,WCobjC6vG,CAASa,IACMA,ICvcE9gE,GAAQC,GAASvvB,GCAjBsvB,GAAQC,GAASvvB,GD+B9BnY,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,8EAA8EoB,OAAOpB,EAAMyjD,UAAY,UAAW,KAAKriD,OAAOpB,EAAM0jD,QAAU,UAAW,eAAetiD,OAAOpB,EAAMyjD,UAAY,UAAW,KAAKriD,OAAOpB,EAAM0jD,QAAU,UAAW,uHAAuHtiD,OAAOpB,EAAMyjD,UAAY,UAAW,KAAKriD,OAAOpB,EAAM0jD,QAAU,UAAW,eAAetiD,OAAOpB,EAAMyjD,UAAY,UAAW,KAAKriD,OAAOpB,EAAM0jD,QAAU,UAAW,gOAAgOtiD,OAAOpB,EAAMyjD,UAAY,UAAW,KAAKriD,OAAOpB,EAAM0jD,QAAU,UAAW,eAAetiD,OAAOpB,EAAMyjD,UAAY,UAAW,KAAKriD,OAAOpB,EAAM0jD,QAAU,UAAW,+bAE75B,KAAQ,aACR,KAAQ,aACR,eAAgB,aAChB,gBAAiB,aACjB,gBAAiB,aACjB,iBAAkB,aAClB,MAAS,aACT,gBAAiB,aACjB,iBAAkB,aAClB,iBAAkB,aAClB,kBAAmB,aACnB,aAAc,aACd,aAAc,aACd,cAAe,aACf,WAAY,aACZ,qBAAsB,aACtB,qBAAsB,aACtB,sBAAuB,aACvB,mBAAoB,aACpB,uBAAwB,aACxB,sBAAuB,aACvB,oBAAqB,aACrB,sBAAuB,aACvB,sBAAuB,aACvB,uBAAwB,aACxB,sBAAuB,aACvB,uBAAwB,aACxB,uBAAwB,aACxB,wBAAyB,aACzB,oBAAqB,aACrB,qBAAsB,cAUpBqsD,GAAqBhiE,IAA8CC,CAAKxB,GAA/BvmC,IE5D9B,SAAU6F,GACvB,IAAIy4B,EAAcz4B,EAAKy4B,YACvB,MAAO,CACLkf,SAAUlf,EAAYkf,SACtBC,OAAQnf,EAAYmf,UFwDsC3+C,GAAuBkpC,EAAgB/wB,GAAQuvB,GAE7G,SAAUjkC,GAGR,SAASunG,IACP,IAAItQ,EAEAt4F,EAEJlJ,YAAgBsG,KAAMwrG,GAEtB,IAAK,IAAIj+F,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAiBzB,OAdA5K,EAAQtJ,YAA2B0G,MAAOk7F,EAAmBviG,YAAgB6yG,IAAahyG,KAAKvB,MAAMijG,EAAkB,CAACl7F,MAAMnD,OAAO8N,MAE/H8gG,aAAe,WACiB,oBAAzB7oG,EAAMvI,MAAMqwG,UACrB9nG,EAAMvI,MAAMqwG,SAAS9nG,EAAMvI,MAAM6S,OAIrCtK,EAAM8oG,cAAgB,WACiB,oBAA1B9oG,EAAMvI,MAAMiwG,WACrB1nG,EAAMvI,MAAMiwG,UAAU1nG,EAAMvI,MAAM6S,OAI/BtK,EAiCT,OA5DA5I,YAAUwxG,EAAYvnG,GA8BtB1J,YAAaixG,EAAY,CAAC,CACxBx0G,IAAK,SACLC,MAAO,WACL,IAAIkzC,EAAcnqC,KAAK3F,MACnB6S,EAAOi9B,EAAYj9B,KACnB1P,EAAW2sC,EAAY3sC,SACvBnD,EAAQ+R,YAAyB+9B,EAAa,CAAC,OAAQ,aAEvD+U,EAAW+nD,GAAGjnG,KAAKvE,MAAMyjD,UACzB31C,EAAa2D,EAAO,CACtB,OAAU1M,GAAO,GAAG3D,OAAOqQ,EAAM,aACjC,QAAW1M,GAAO,GAAG3D,OAAOqQ,EAAM,cAClC,SAAY1M,GAAO,GAAG3D,OAAOqQ,EAAM,cACnC,QAAW1M,GAAO,GAAG3D,OAAOqQ,EAAM,gBAChC,GACJ,OAAOnS,IAAMC,cAAc+tG,GAAgB7xG,OAAOoL,OAAO,GAAIjI,EAAO,CAClEkwG,WAAYrrD,EACZyrD,UAAWzrD,EACX2qD,oBAAqBrpG,GAAO0M,GAC5B+9F,gBAAiB1hG,EAAWoiG,OAC5BP,iBAAkB7hG,EAAWqiG,QAC7BT,iBAAkB5hG,EAAWsiG,SAC7BX,kBAAmB3hG,EAAWuiG,QAC9BxB,UAAWtqG,KAAK0rG,cAChBhB,SAAU1qG,KAAKyrG,eACbjuG,OAIRguG,EAAW1pG,YAAc,aAClB0pG,EA7DT,CA8DEpnG,aAAY8jC,GAAQpkC,UAAY,CAChCoJ,KAAM3R,IAAUsM,MAAM,CAAC,OAAQ,QAAS,aAAc,WAAY,aAAc,gBAKhFrK,SAAUjC,IAAU0gD,QAKpB2uD,GAAIrvG,IAAU8I,KAKdgnG,cAAe9vG,IAAU8I,KAMzBwmG,kBAAmBtvG,IAAU8I,KAK7BglG,gBAAiB9tG,IAAU8I,KAK3BilG,eAAgB/tG,IAAU8I,KAK1B6lG,aAAc3uG,IAAU4V,KAKxBi5F,QAAS7uG,IAAU4V,KAKnBk5F,WAAY9uG,IAAU4V,KAKtBm5F,UAAW/uG,IAAU4V,KAKrBq5F,OAAQjvG,IAAU4V,KAKlBs5F,UAAWlvG,IAAU4V,KAKrBu5F,SAAUnvG,IAAU4V,MACnB+2B,GAAQ5jC,aAAe,CACxB4I,KAAM,OACN09F,IAAI,EACJS,eAAe,EACfR,mBAAmB,EACnBxB,iBAAiB,EACjBC,gBAAgB,EAChBc,QAAS,aACTC,WAAY,aACZC,UAAW,aACXE,OAAQ,aACRC,UAAW,aACXC,SAAU,aACVR,aAAc,SAAsBV,EAASC,KAC7CjsG,SAAU,MACT0qC,GAAQojE,OAASvC,GAAeuC,OAnJwDrjE,GAmJhDtvB,MAAWsvB,KAAWA,GG/MlD,SAASE,GAAU5gC,GAChC,IAAIs4B,EAASt4B,EAAKs4B,OACdF,EAAUp4B,EAAKo4B,QACfv3B,EAAUb,EAAKa,QACf63B,EAAa14B,EAAK04B,WAClBF,EAAUx4B,EAAKw4B,QACnB,MAAO,CACL73B,WAAY23B,EAAOie,mBACnBpzB,MAAOmV,EAAO0I,YACdwjE,UAAW3jG,EAAQlD,MACnB+C,aAAc03B,EAAQ4c,aACtBx0C,YAAa43B,EAAQ+c,YACrBq7C,YAAap4D,EAAQl/B,MACrBurG,eAAgB,GAAGnvG,OAAOuL,EAAQlD,MAAO,KAAKrI,OAAOuL,EAAQjD,QAC7D8mG,gBAAiBhsE,EAAWuf,eAC5B0sD,kBAAmBjsE,EAAWmf,WAC9B+sD,kBAAmBlsE,EAAW4f,iBAC9BusD,kBAAmBnsE,EAAWggB,oBAC9BosD,qBAAsBjkG,EAAQvC,OAC9BymG,uBAAwBlkG,EAAQlC,QAChCqmG,UAAW1sE,EAAOwI,aAClBmkE,eAAgB3sE,EAAOie,mBACvBkkD,mBAAoBniE,EAAOif,cAC3B2tD,sBAAuB5sE,EAAOse,kBAC9BuuD,gBAAiB7sE,EAAOgf,WACxB8tD,mBAAoB9sE,EAAOqe,eAC3B0uD,mBAAoB/sE,EAAOmf,cAC3B6tD,sBAAuBhtE,EAAOwe,kBAC9B6jD,kBAAmBriE,EAAOkf,aAC1B+tD,qBAAsBjtE,EAAOue,iBAC7B2uD,UAAWhtE,EAAQ+gB,QAIvB3Y,GAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACLwqB,MAAOxqB,EAAU,8BF3DrB,mCA6CA,IAAIM,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,8BAA8BoB,OAAOpB,EAAMyM,YAAc,UAAW,mBAAmBrL,OAAOpB,EAAMwM,cAAgB,UAAW,kBAAkBpL,OAAOpB,EAAMs8F,aAAe,UAAW,kBAAkBl7F,OAAOpB,EAAMsM,aAAe,UAAW,gBAAgBlL,OAAOpB,EAAMsxG,WAAa,UAAW,WAAWlwG,OAAOpB,EAAMivB,OAAS,UAAW,uHAAuH7tB,OAAOpB,EAAMywG,mBAAqB,UAAW,eAAervG,OAAOpB,EAAMwwG,iBAAmB,UAAW,iBAAiBpvG,OAAOpB,EAAM0wG,mBAAqB,UAAW,iBAAiBtvG,OAAOpB,EAAM2wG,mBAAqB,UAAW,iCAAiCvvG,OAAOpB,EAAMuwG,gBAAkB,UAAW,qDAAqDnvG,OAAOpB,EAAMsM,aAAe,UAAW,KAAKlL,OAAOpB,EAAMs8F,aAAe,UAAW,WAAWl7F,OAAOpB,EAAM8wG,WAAa,UAAW,kLAAkL1vG,OAAOpB,EAAM6wG,wBAA0B,UAAW,gBAAgBzvG,OAAOpB,EAAM4wG,sBAAwB,UAAW,0CAA0CxvG,OAAOpB,EAAMumG,oBAAsB,UAAW,kDAAkDnlG,OAAOpB,EAAMgxG,uBAAyB,UAAW,wBAAwB5vG,OAAOpB,EAAMgxG,uBAAyB,UAAW,kCAAkC5vG,OAAOpB,EAAMixG,iBAAmB,UAAW,4CAA4C7vG,OAAOpB,EAAMkxG,oBAAsB,UAAW,wBAAwB9vG,OAAOpB,EAAMkxG,oBAAsB,UAAW,kCAAkC9vG,OAAOpB,EAAMymG,mBAAqB,UAAW,4CAA4CrlG,OAAOpB,EAAMqxG,sBAAwB,UAAW,wBAAwBjwG,OAAOpB,EAAMqxG,sBAAwB,UAAW,kCAAkCjwG,OAAOpB,EAAMmxG,oBAAsB,UAAW,4CAA4C/vG,OAAOpB,EAAMoxG,uBAAyB,UAAW,wBAAwBhwG,OAAOpB,EAAMoxG,uBAAyB,UAAW,MAEtrE,MAAS,aACT,QAAW,aACX,KAAQ,aACR,YAAe,aACf,QAAW,aACX,KAAQ,aACR,MAAS,aACT,QAAW,cASTG,GAAgBpa,EAAW,QAAS,CACtCqa,iBAAkB,0BACkBxjE,CAAKxB,GAA/BvmC,GAAUjG,GAAO+E,GAAuBkpC,EAAgB/wB,GAAQuvB,GAE5E,SAAUjkC,GAGR,SAAS+oG,EAAM3yG,GACb,IAAIuI,EA4CJ,OA1CAlJ,YAAgBsG,KAAMgtG,IAEtBpqG,EAAQtJ,YAA2B0G,KAAMrH,YAAgBq0G,GAAOxzG,KAAKwG,KAAM3F,KACrE2uG,UAAY,GAElBpmG,EAAMsqG,cAAgB,WAChBtqG,EAAMvI,MAAMikF,QAAU,GACxB17E,EAAMomG,UAAUhxG,KAAK0sE,YAAW,WAC9B9hE,EAAMuqG,UACLvqG,EAAMvI,MAAMikF,WAInB17E,EAAMwqG,iBAAmB,WACnBxqG,EAAMvI,MAAMgzG,WACdzqG,EAAMvI,MAAMgzG,aAIhBzqG,EAAMuqG,MAAQ,WACZvqG,EAAM0qG,gBAEN1qG,EAAM2qG,0BAEN3qG,EAAMke,SAAS,CACb0sF,MAAM,IACL,WACG5qG,EAAMvI,MAAMgzG,WAAwC,SAA3BzqG,EAAMvI,MAAMm2D,YACvC5tD,EAAMvI,MAAMgzG,gBAKlBzqG,EAAM6qG,YAAc,SAAUzsF,IACvBpe,EAAMvI,MAAMqzG,wBAA0B9qG,EAAMvI,MAAM4yG,mBAAqBjsF,EAAMwf,UAAY0kE,IAAQpkE,MAAM6sE,KAC1G/qG,EAAMuqG,SAIVvqG,EAAMU,MAAQ,CACZkqG,MAAM,GAED5qG,EA8NT,OA7QA5I,YAAUgzG,EAAO/oG,GAkDjB1J,YAAayyG,EAAO,CAAC,CACnBh2G,IAAK,YACLC,MAAO,WACL,MAAO,CACL4T,MAAO,CACL+iG,KAAMhH,GACNr9F,WAAYA,IAAW/I,GAAOqtG,MAAOrtG,GAAOqK,QAE9CO,KAAM,CACJwiG,KAAM/G,GACNt9F,WAAYA,IAAW/I,GAAOqtG,MAAOrtG,GAAO4K,OAE9C0iG,QAAS,CACPF,KAAM9G,GACNv9F,WAAYA,IAAW/I,GAAOqtG,MAAOrtG,GAAOstG,UAE9CC,QAAS,CACPH,KAAM7G,GACNx9F,WAAYA,IAAW/I,GAAOqtG,MAAOrtG,GAAOutG,WAE9C/tG,KAAK3F,MAAM86F,WAEd,CACDn+F,IAAK,gBACLC,MAAO,WACL+I,KAAKgpG,UAAUxwG,SAAQ,SAAU8lF,GAC/B,OAAO1Z,aAAa0Z,MAGtBt+E,KAAKgpG,UAAY,KAElB,CACDhyG,IAAK,YAELC,MAAO,SAAmBmlB,GACxB,OAAOA,GAAkB,kBAANA,GAAiC,IAAfA,EAAE2N,WAExC,CACD/yB,IAAK,gBACLC,MAAO,WACL,IAAI+2G,EAAK,KAMT,MAJqC,oBAA1BhuG,KAAK3F,MAAM4zG,aACpBD,EAAKhuG,KAAK3F,MAAM4zG,cAGXjuG,KAAKkuG,UAAUF,GAAMA,EAAK,OAElC,CACDh3G,IAAK,iBACLC,MAAO,SAAwBg3G,GAItBA,EAAWzsG,aAAa,QAE3BysG,IACFA,EAAW9wG,aAAa,YAAa6C,KAAK3F,MAAM8zG,sBAChDF,EAAW9wG,aAAa,gBAAiB,kBACzC8wG,EAAW9wG,aAAa,cAAe6C,KAAK3F,MAAM+zG,uBAGrD,CACDp3G,IAAK,gCACLC,MAAO,WACL,OAAO8D,IAAMC,cAAc86F,GAAqB,KAAM91F,KAAK3F,MAAMmD,YAElE,CACDxG,IAAK,0BACLC,MAAO,WACL,IAAIg3G,EAAajuG,KAAKquG,gBAEtB,GAAIJ,EAAY,CACdjuG,KAAKsuG,KAAOrsG,YAAI,SAChB,IAAIomB,EAAMnrB,SAASlC,cAAc,OACjCqtB,EAAIlrB,aAAa,KAAM6C,KAAKsuG,MAC5B,IAAIrI,EAAUjmG,KAAKuuG,gCACnBvkF,IAASqa,OAAO4hE,EAAS59E,GACzB4lF,EAAWxlF,YAAYJ,MAG1B,CACDrxB,IAAK,0BACLC,MAAO,WACL,IAAIstC,EAASvkC,KAEb,GAAIA,KAAKquG,gBAAiB,CACxB,IAAIhmF,EAAMnrB,SAASsxG,eAAexuG,KAAKsuG,MAEnCjmF,GACF2B,IAASqa,OAAO,KAAMhc,GAAK,WACzB,IAAI49E,EAAU1hE,EAAOgqE,gCAErBvkF,IAASqa,OAAO4hE,EAAS59E,SAKhC,CACDrxB,IAAK,0BACLC,MAAO,WACL,IAAIg3G,EAAajuG,KAAKquG,gBAEtB,GAAIJ,EAAY,CACd,IAAI5lF,EAAMnrB,SAASsxG,eAAexuG,KAAKsuG,MAEnCjmF,IAKF4lF,EAAW3uG,gBAAgB,aAC3B2uG,EAAW3uG,gBAAgB,iBAC3B2uG,EAAW3uG,gBAAgB,eAC3B0qB,IAAS25D,uBAAuBt7D,GAChCA,EAAIuB,WAAWrqB,YAAY8oB,GAC3BroB,KAAKyuG,eAAeR,OAIzB,CACDj3G,IAAK,oBACLC,MAAO,WACL,IAAIg3G,EAAajuG,KAAKquG,gBAElBJ,GACFjuG,KAAKyuG,eAAeR,GAGtBjuG,KAAKktG,gBACLltG,KAAK0uG,4BAEN,CACD13G,IAAK,qBACLC,MAAO,SAA4BsM,IACP,MAApBvD,KAAK3F,MAAMmzG,QAAoBxtG,KAAK3F,MAAMmzG,SAAWjqG,EAAUiqG,KAGnExtG,KAAKmtG,QAEDntG,KAAK3F,MAAMmD,WAAa+F,EAAU/F,UACpCwC,KAAK2uG,4BAIV,CACD33G,IAAK,uBACLC,MAAO,WACL+I,KAAKutG,0BACLvtG,KAAKstG,kBAEN,CACDt2G,IAAK,aACLC,MAAO,WACL,IACI22G,EADkB5tG,KAAK4uG,YACAhB,KAE3B,OAAO7yG,IAAMC,cAAc,MAAO,CAChC+vC,UAAWvqC,GAAOquG,MACjB9zG,IAAMC,cAAc4yG,EAAM,CAC3B7iE,UAAWvqC,GAAOsuG,eAGrB,CACD93G,IAAK,oBACLC,MAAO,WACL,IAAIg2G,EAAmBjtG,KAAK3F,MAAMqzG,wBAA0BtY,EAAep1F,KAAK3F,MAAMqzG,yBAA2B1tG,KAAK3F,MAAM4yG,iBAC5H,OAAOA,EAAmBlyG,IAAMC,cAAc,MAAO,CACnD+vC,UAAWvqC,GAAOuuG,YAClB/3G,IAAK,eACJ+D,IAAMC,cAAcurG,GAAa,CAClC9sB,QAASz5E,KAAKmtG,MACdhlG,KAAM,QACNs+F,kBAAmBwG,KACf,OAEP,CACDj2G,IAAK,cACLC,MAAO,WACL,IACIsS,EADmBvJ,KAAK4uG,YACMrlG,WAElC,OAAOxO,IAAMC,cAAc8/F,GAAM,CAC/B/G,GAAI,MACJwH,OAAQv7F,KAAK3F,MAAMkhG,OACnBxwD,UAAWxhC,EACXylG,QAAShvG,KAAKytG,aACbztG,KAAKqlG,aAActqG,IAAMC,cAAc,MAAO,CAC/C+vC,UAAWvqC,GAAOylG,SACjBjmG,KAAK3F,MAAMmD,UAAWwC,KAAKivG,uBAE/B,CACDj4G,IAAK,SACLC,MAAO,WAEL,OAAI+I,KAAK3F,MAAM60G,kBAINlvG,KAAKquG,gBAEL,MAGqB,SAA1BruG,KAAK3F,MAAMm2D,WACNxwD,KAAKsD,MAAMkqG,KAAOxtG,KAAKmvG,cAAgB,KAGzCp0G,IAAMC,cAAcwwG,GAAY,CACrCt+F,KAAMlN,KAAK3F,MAAMm2D,WACjBq6C,mBAAmB,EACnBD,GAAI5qG,KAAKsD,MAAMkqG,KACfnC,eAAe,EACfX,SAAU1qG,KAAKotG,kBACdptG,KAAKmvG,mBAIZnC,EAAMlrG,YAAc,QACbkrG,EA9QT,CA+QE5oG,aAAY8jC,GAAQpkC,UAAY,CAIhCtG,SAAUjC,IAAUgC,KAKpB43F,QAAS55F,IAAUsM,MAAM,CAAC,OAAQ,UAAW,UAAW,UAOxD0zF,OAAQ5zF,GAAmBS,QAK3B6lG,WAAY1yG,IAAU4V,KAKtBg9F,qBAAsB5yG,IAAUsM,MAAM,CAAC,SAAU,cAKjDumG,mBAAoB7yG,IAAU8I,KAK9B6qG,iBAAkB3zG,IAAU8I,KAK5Bi6E,QAAS/iF,IAAUkwC,OAKnBiiE,uBAAwBnyG,IAAUiwC,UAAU,CAACjwC,IAAU4V,KAAM5V,IAAUgC,OAKvE0vG,iBAAkB1xG,IAAUgwC,OAK5B8hE,UAAW9xG,IAAU4V,KAKrBq/C,WAAYj1D,IAAUsM,MAAM,CAAC,OAAQ,SAMrC2lG,KAAMjyG,IAAU8I,MACf6jC,GAAQ5jC,aAAe,CACxB6wF,QAAS,OACToG,OAAQ,YACRjd,QAAS,EACT9tB,WAAY,OACZg9C,MAAM,EACN0B,kBAAkB,EAClBf,qBAAsB,YACtBC,oBAAoB,EACpBf,eAAW,EACXY,gBAAY,EACZP,4BAAwB,EACxBT,sBAAkB,EAClBzvG,SAAU,MAlW8CyqC,GAmWvDtvB,MAAWsvB,KAAWA,I,oJGjYzB,SAAS6T,IACP,IAAK,IAAIvuC,EAAOlV,UAAUC,OAAQwuB,EAAQ,IAAI5rB,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAChFsZ,EAAMtZ,GAAQnV,UAAUmV,GAG1B,OAAOsZ,EAAMjvB,QAAO,SAAUosB,EAAG7rB,GAC/B,GAAS,MAAL6rB,EACF,OAAO,EAIT,IAAI83B,EA8BR,SAAuBhwC,EAAKkxB,GAC1B,IAAI8e,EAAU,GAMd,OALAhwC,EAAIvT,SAAQ,SAAU8c,EAAGld,GACnBkd,IAAM2nB,GACR8e,EAAQ/jD,KAAKI,MAGV2jD,EArCSC,CAAcl1B,EAAO7C,GACnC,OAA0B,IAAnB83B,EAAQzjD,QAAgBF,IAAM2jD,EAAQ,MAC5C7yC,QAAO,SAAU0nC,EAAK3sB,GACvB,GAAiB,oBAANA,EACT,MAAM,IAAIzb,MAAM,2EAGlB,OAAY,OAARooC,EACK3sB,EAGF,WACL,IAAK,IAAIvZ,EAAQrS,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMwP,GAAQE,EAAQ,EAAGA,EAAQF,EAAOE,IACpFD,EAAKC,GAASvS,UAAUuS,GAG1BgmC,EAAI34C,MAAM+H,KAAM2K,GAChBsZ,EAAEhsB,MAAM+H,KAAM2K,MAEf,MC7BL,SAAS1P,EAAiBghD,EAAS5hD,GACjC,IAAI6hD,EAAW7hD,EAAMmb,IACjB2mC,EAAcF,EAAQzmC,IAGtBwB,EAAcnZ,YAAc,GAAIxD,GAEhC4hD,EAAQ5hD,MAAMoG,OAASpG,EAAMoG,QAE/BuW,EAAYvW,MAAQ5C,YAAc,GAAIo+C,EAAQ5hD,MAAMoG,MAAO,GAAIpG,EAAMoG,QAIvEuW,EAAYhgB,IAAMilD,EAAQjlD,KAAOqD,EAAMrD,IAEvCE,OAAOQ,KAAK2C,GAAO7B,SAAQ,SAAUkI,GAMR,IAAvBA,EAAKC,QAAQ,OAAuC,oBAAhBtG,EAAMqG,IAAuD,oBAAxBu7C,EAAQ5hD,MAAMqG,KACzFsW,EAAYtW,GAAQo7C,EAAsBG,EAAQ5hD,MAAMqG,GAAOrG,EAAMqG,QAIzE,IAAK,IAAI6M,EAAOlV,UAAUC,OAAQkF,EAAW,IAAItC,MAAMqS,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IACtGhQ,EAASgQ,EAAO,GAAKnV,UAAUmV,GAGjC,OAAmB,MAAf2uC,GAAmC,MAAZD,EAClBnhD,IAAMqhD,aAAankD,MAAM8C,IAAO,CAACkhD,EAASjlC,GAAana,OAAOW,KAMzC,wJAAwJX,OAAOs/C,GAEtLphD,IAAMqhD,aAAankD,MAAM8C,IAAO,CAACkhD,EAASp+C,YAAc,GAAImZ,EAAa,CAC9ExB,IAAK,SAAa6wB,GAChB6V,EAAS7V,GACT8V,EAAY9V,OAEZxpC,OAAOW,KC3Cb,SAAS9C,EAAkBC,GACzB,IAAIN,EAAQhC,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GACzEuC,EAAaC,WAASC,MAAMH,GAEhC,OAAmB,IAAfC,EACK,KACmB,kBAAVD,GAAsBA,EAAMrC,OAAS,GAAKsC,EAAa,EAChEG,IAAMC,cAAc,OAAQX,EAAOM,GAEnCM,EAAiBC,MAAMC,QAAQR,GAASA,EAAM,GAAKA,EAAON,GAItDK,ICnBXU,EAAe,CACjBC,YAFgB,cAQhBC,MAAOxE,YAAgB,GARP,cAQwByE,IAAU/D,QAOlDgE,iBAAkB,SAA0BC,EAAOC,GACjD,OAAO5E,YAAgB,GAhBT,cAgB0B,CACtC2E,MAAOA,EACPC,UAAWA,KAQfC,gBAAiB,SAAyBC,GACxC,GAAIA,EACF,OAAOA,EA5BK,iB,QCClB,SAAS+F,EAAU27B,GACjB,OAAO,WACL,IAAK,IAAI/vB,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAGzB,OAAO,SAAU5L,GACf,GAAwB,oBAAb07B,EAAyB,CAClC,IAAIx7B,EAAcF,EAAkBE,aAAeF,EAAkBG,KACjEw7B,EAAqBD,EAASrlC,WAAM,EAAQ,CAAC2J,GAAmB/E,OAAO8N,IAE3E,OADA4yB,EAAmBz7B,YAAcA,EAC1By7B,EAEP,OAAO37B,IAMAD,I,iBC7BX9F,GCOWC,EAAf,EDPqB5E,OAAOkC,UAAUyC,gBAetC,SAASE,EAAaC,EAAMC,GAC1B,GAAIC,EAAGF,EAAMC,GACX,OAAO,EAGT,GAAoB,kBAATD,GAA8B,OAATA,GAAiC,kBAATC,GAA8B,OAATA,EAC3E,OAAO,EAGT,IAAIE,EAAQjF,OAAOQ,KAAKsE,GACpBI,EAAQlF,OAAOQ,KAAKuE,GAExB,GAAIE,EAAM7D,SAAW8D,EAAM9D,OACzB,OAAO,EAIT,IAAK,IAAIF,EAAI,EAAGA,EAAI+D,EAAM7D,OAAQF,IAChC,IAAKyD,EAAerC,KAAKyC,EAAME,EAAM/D,MAAQ8D,EAAGF,EAAKG,EAAM/D,IAAK6D,EAAKE,EAAM/D,KACzE,OAAO,EAIX,OAAO,EAQT,SAAS8D,EAAGG,EAAGC,GAEb,OAAID,IAAMC,EAGK,IAAND,GAAiB,IAANC,GAAW,EAAID,IAAM,EAAIC,EAGpCD,IAAMA,GAAKC,IAAMA,EAIbP,I,kCE/Cf,SAAS4H,EAAYkmB,GACnB,IAAItsB,EAAqB,oBAAPssB,EAAoBA,IAAOA,EAE7C,OAAItsB,IAASL,SACJA,SAASqE,gBACPhE,aAAgBusB,SAAWvsB,IAASiU,QAAUjU,GAAiC,qBAAlBA,EAAKwsB,SACpExsB,EACEA,EACFysB,IAASrmB,YAAYpG,QADvB,EAKMoG,I,QCpBf,SAASpH,EAAkBC,EAASC,EAASC,GAC3C,IAAIC,EAAYH,EAAQI,cAAc,IAAIC,OAAOH,IAC7CI,EAAOJ,EAAMK,cAEjB,GAAKN,EAQE,CACL,IAAIO,GAAoBL,EACpBM,EAAYR,EAEZO,KACFL,EAAYO,SAASlC,cAAc,UACzBmC,aAAa,UAAU,GACjCR,EAAUQ,aAAa,OAAQ,YAC/BR,EAAUS,GAAKV,GAGZC,EAAUU,UA+BnB,SAASC,EAAkBC,EAAMb,GAE/B,IAAIc,EAAWD,EAAKC,UAAYD,EAAKE,WAEjCF,EAAKJ,cACPI,EAAKJ,aAAaT,EAAO,IAG3B,IAAK,IAAItE,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IACnCkF,EAAkBE,EAASpF,GAAIsE,GAtC7BY,CAAkBd,EAASM,GAC3BG,EAeN,SAAsBR,EAASC,GAC7B,OAAOgB,YAAajB,GAAS,SAAUkB,GACrC,IAAIC,EAAcC,YAAc,GAAIF,GAOpC,OALKA,EAAKG,WACRF,EAAYG,SAwElB,SAAmBJ,EAAMjB,GACvB,IAAIsB,EAAQL,EAAKI,SAASE,MAAM,KAE3BC,YAAoBP,KACvBK,EAAQA,EAAMG,KAAI,SAAUC,GAC1B,OApBN,SAA8BL,EAAUrB,GACtC,IAAI2B,EAAiBN,EAASO,OAW9B,OAVAD,EAAiBA,EAAeE,QAChC,2CAA2C,SAAUC,EAAOC,EAAYV,GACtE,IAAIW,EAASrG,UAAUA,UAAUC,OAAS,GAE1C,OAAIqG,EAAgBZ,IAAaW,EAAS,EACjCE,EAAsBb,EAAUU,EAAY/B,GAE5CqB,KAWAc,CAAqBT,EAAM1B,OAItC,OAAOsB,EAAMc,KAAK,KAjFSC,CAAUpB,EAAMjB,GACvCkB,EAAYE,UAAW,GAGlBF,KAxBOoB,CAAa/B,EAAW,IAAIJ,OAAOC,EAAM,OAGnDE,GACFR,EAAQyC,aAAatC,EAAWH,EAAQ0C,YAGtC,gBAAiBvC,EACnBA,EAAUwC,YAAclC,EAExBN,EAAUyC,WAAW3C,QAAUQ,OA/B7BN,IACGA,EAAUU,QA6DrB,SAASgC,EAAuB9B,EAAMb,GACpC,IAAIc,EAAWD,EAAKC,UAAYD,EAAKE,WAEjCF,EAAK+B,iBACP/B,EAAK+B,gBAAgB5C,GAGvB,IAAK,IAAItE,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IACnCiH,EAAuB7B,EAASpF,GAAIsE,GApEhC2C,CAAuB7C,EAASM,GAGlCN,EAAQ+C,YAAY5C,IA0E1B,SAASgC,EAAgBZ,GACvB,OAAOA,EAASS,MAAM,wBASxB,SAASI,EAAsBb,EAAUU,EAAY/B,GACnD,OAhBF,SAAwBqB,GAEtB,OAAOA,EAASS,MAAM,0BAclBgB,CAAezB,GACVA,EAIFU,GADc/B,EAXvB,SAA6BqB,EAAUrB,GACrC,IAAIsB,EAAQD,EAASE,MAAM,KAE3B,OADAD,EAAM,IAAMtB,EACLsB,EAAMc,KAAK,KAQWW,CAAoB1B,EAAUrB,GAASqB,GA+BvDxB,I,QC5Hf,SAASmD,EAAcC,EAAclE,GACnC,IAAImE,EAAY,GAEhB,OAAID,IAAiBlE,GAAUA,GAE/BvE,OAAOQ,KAAK+D,GAAOjD,SAAQ,SAAUxB,GAC/B2I,EAAa3I,KAASyE,EAAMzE,KAC9B4I,EAAU5I,GAAOyE,EAAMzE,OAGpB4I,GAPsCA,EAUhCF,I,gBCDf,SAASG,IACHC,cACFC,EAA0B9H,MAAM+H,KAAM3H,WAEtC4H,EAA6BhI,MAAM+H,KAAM3H,WAI7C,SAAS4H,EAA6BzD,EAAS0D,EAAWC,EAAUC,EAAQC,EAAU3D,GACpF,GAAKF,IAAW8D,YAAQJ,GAAxB,CAIA,IAAIN,EAAYF,EAAcS,EAAUD,GACpCzD,EAAU,GAEVmD,GAAa1I,OAAOQ,KAAKkI,GAAWtH,OAAS,IAC/CmE,EAAU8D,YAAuBF,EAAUxC,YAAc,GAAIsC,EAAU,GAAID,KAG7E3D,EAAkBC,EAASC,EAASC,IAGtC,SAASqD,EAA0BvD,EAAS0D,EAAWC,EAAUC,GAC/D,GAAK5D,IAAW8D,YAAQJ,GAAxB,EAYF,SAA+B1D,EAAS4D,GAGtC,IAFA,IAAII,EAAShE,EAAQiE,MAEZrI,EAAIoI,EAAOlI,OAAS,EAAGF,GAAK,EAAGA,IAAK,CAC3C,IAAIsI,EAAOF,EAAOpI,GAEdsI,EAAKC,QAAQ,KAAK9D,OAAOuD,EAAQ,OAAS,GAC5C5D,EAAQiE,MAAMG,eAAeF,IAfjCG,CAAsBrE,EAAS4D,GAC/B,IAAIR,EAAYF,EAAcS,EAAUD,GAEpCN,IAAcU,YAAQV,IAiB5B,SAA6BpD,EAASsE,GACpC5J,OAAOQ,KAAKoJ,GAAYtI,SAAQ,SAAUuI,GACxC,IAAI9J,EAAQ6J,EAAWC,GAEnB9J,GACFuF,EAAQiE,MAAMO,YAAYD,EAAc9J,MArB1CgK,CAAoBzE,EAAS0E,YAAoBtB,EAAWQ,KA0BjDP,I,SC7EXsB,GAAS,EASb,SAASC,IACP,IAAID,IACJA,GAAS,EAELE,KAAW,CACb,IAAIC,EAAMpE,SAASqE,gBAAgBC,aAAa,OAE3CF,GAMHpE,SAASqE,gBAAgBpE,aAAa,MAAO,QAKpCiE,I,QC4BXK,EAAW,GAkBXC,EAAYC,GAAU,SAAUC,EAAmBnG,GACrD,IAAI+E,EAASnI,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAC1EwJ,EAAUxJ,UAAUC,OAAS,EAAID,UAAU,QAAK,EAChDyJ,EAAcF,EAAkBE,aAAeF,EAAkBG,KACjEC,EAAc,GAAGnF,OAAO2D,GAAUA,EAAOwB,aAAeC,eAW5D,IAAIC,EAAajJ,OAAO+I,GAEpB3B,EAAW,aAEXG,GAAUA,EAAOH,WACnBA,EAAsC,oBAApBG,EAAOH,SAA0BG,EAAOH,SAAW,WAMnE,MAAO,KAIX8B,YAAuBD,EAAYzG,GAEnC,IAAI2G,EAAa,SAAoBxG,GAEnC,OADmBR,EAAaO,gBAAgBC,IACzB6F,GAGrBY,EAAsB,SAA6BzG,GACrD,IACIH,EADc2G,EAAWxG,GACLH,MAExB,OAAIA,GAASA,EAAMyG,GACVhL,OAAOoL,OAAO,GAAI7G,EAAMyG,IAExBT,GAIPc,EAA6B,SAAoCC,EAAU5C,GAC7E,OAAO6C,YAAuBP,EAAYM,EAAU5C,IAGlD8C,EAEJ,SAAUC,GAGR,SAASD,IACP,IAAIE,EAEJlJ,YAAgBsG,KAAM0C,GAEtB,IAAIG,EAAMD,EAAQtJ,YAA2B0G,KAAMrH,YAAgB+J,GAAoBzK,MAAM+H,KAAM3H,YAEnGuK,EAAME,YAAc,KACpBF,EAAMG,YAAcd,YAAIH,GACxB,IAAInC,EAAe4C,IAEnB,OADAS,YAAqB3C,EAAUV,EAAcqC,GACtC1I,YAA2BsJ,EAAOC,GA+F3C,OA5GA7I,YAAU0I,EAAoBC,GAgB9BpI,YAAamI,EAAoB,CAAC,CAChC1L,IAAK,oBACLC,MAAO,WACL+I,KAAKiD,aACL7B,IAEI8B,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,oBAAqB4G,OAC3EkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,oBAAqB4G,MAAMxG,KAAKwG,QAGvF,CACDhJ,IAAK,wBACLC,MAAO,SAA+BkM,EAAWC,EAAWC,GAE1D,OAD8BvH,IAAUV,EAAaO,gBAAgBqE,KAAKpE,SAAUR,EAAaO,gBAAgB0H,MAG7GH,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,wBAAyB4G,MACxEkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,wBAAyB4G,MAAMxG,KAAKwG,KAAMmD,EAAWC,EAAWC,IAGrHtH,EAAaiE,KAAK3F,MAAO8I,KAAepH,EAAaiE,KAAKsD,MAAOF,KAAerH,EAAaiE,KAAKpE,QAASyH,MAEpH,CACDrM,IAAK,qBACLC,MAAO,SAA4BsM,EAAWC,EAAWC,GAClD3H,IAAUyH,EAAU9H,MAAOuE,KAAK3F,MAAMoB,QAAWK,IAAUuG,EAAoBoB,GAAcpB,EAAoBrC,KAAKpE,YACzHoE,KAAK8C,YAAc,MAGrB9C,KAAKiD,aAEDC,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,qBAAsB4G,OAC5EkD,YAAKvK,YAAgB+J,EAAmBtJ,WAAY,qBAAsB4G,MAAMxG,KAAKwG,KAAMuD,EAAWC,EAAWC,KAGpH,CACDzM,IAAK,aACLC,MAAO,SAAoByM,GACzB,IAAIpD,YAAQN,KAAKvE,OAAjB,CAIA,IAAIkE,EAAe4C,IACnB1C,EAAqB6D,GAAWC,EAAY3D,MAC5CA,KAAKvE,MAAOkE,EAAcqC,EAAa3B,EACvCL,KAAKtD,UAGN,CACD1F,IAAK,QACL4M,IAAK,WACH,MAAO,GAAG/G,OAAOmF,EAAa,MAAMnF,OAAOmD,KAAK+C,eAEjD,CACD/L,IAAK,QACL4M,IAAK,WACH,GAAyB,OAArB5D,KAAK8C,YACP,OAAO9C,KAAK8C,YAGd,IACIpH,EADe0G,EAAWpC,KAAKpE,SACNF,UAEzBD,EAAQ4G,EAAoBrC,KAAKpE,SAyBrC,OAvBIoE,KAAK3F,MAAMoB,QAAU6E,YAAQN,KAAK3F,MAAMoB,SACrCA,EAEMC,EAIqEsE,KAAK3F,MAAMoB,MAEzFA,EAAQ6E,YAAQ7E,GAASuE,KAAK3F,MAAMoB,MAAQvE,OAAOoL,OAAO,GAAI7G,EAAOuE,KAAK3F,MAAMoB,OAPhFA,EAAQuE,KAAK3F,MAAMoB,OAYA,oBAAZoG,IACTpG,EAAQoG,EAAQ,CACdpG,MAAOA,EACPqG,YAAaA,KAKjB9B,KAAK8C,YAAcP,EAA2B,KAAM9G,GAC7CuE,KAAK8C,gBAITJ,EA7GT,CA8GEd,GAUF,OARAc,EAAmBV,YAAcA,EACjCU,EAAmBjH,MAAQyG,EAC3BQ,EAAmBmB,aAAe3M,OAAOoL,OAAO,GAAIV,EAAkBiC,aAAczI,EAAaE,OACjGoH,EAAmBoB,UAAY5M,OAAOoL,OAAO,GAAIV,EAAkBkC,UAAW,CAC5ErI,MAAOF,IAAU/D,SAGnBkL,EAAmBqB,cAAgBxB,EAC5BG,KAWThB,EAAUqC,cAAgBA,IACXrC,ICnPXsC,EAEJ,SAAUC,GAGR,SAASD,IAGP,OAFAtK,YAAgBsG,KAAMgE,GAEf1K,YAA2B0G,KAAMrH,YAAgBqL,GAAY/L,MAAM+H,KAAM3H,YA8BlF,OAnCA2B,YAAUgK,EAAYC,GAQtB1J,YAAayJ,EAAY,CAAC,CACxBhN,IAAK,kBACLC,MAAO,WACL,IAAIwE,EAAQuE,KAAK3F,MAAMoB,OAAS,GAC5ByI,EAAqB9I,EAAaO,gBAAgBqE,KAAKpE,UAAY,GAavE,OAXIsI,EAAmBxI,WAAawI,EAAmBzI,OAI9CuE,KAAK3F,MAAMoB,MAAyEuE,KAAK3F,MAAMoB,MAEtGA,EAAQyI,EAAmBzI,OAClByI,EAAmBzI,QAC5BA,EAAQ0I,YAAUD,EAAmBzI,MAAOA,IAGvCL,EAAaI,iBAAiBC,EAAOyI,EAAmBxI,WAAasE,KAAK3F,MAAMqB,aAExF,CACD1E,IAAK,SACLC,MAAO,WACL,OAAOyD,EAAkBsF,KAAK3F,MAAMmD,cAIxCwG,EAAWlC,YAAc,aAClBkC,EApCT,CAqCEI,aAEFJ,EAAWF,UAAY,CAIrBrI,MAAOF,IAAU/D,OAKjBgG,SAAUjC,IAAUgC,KAKpB7B,UAAWH,IAAU8I,MAEvBL,EAAWM,aAAe,CACxB7I,WAAO,EACP+B,SAAU,KACV9B,WAAW,GAEbsI,EAAWO,kBAAoBnJ,EAAaE,MAC5C0I,EAAWH,aAAezI,EAAaE,MACvC0I,EAAWD,cAAgBrC,EAAUqC,cACtBC,ICpFXQ,EAAsB,CACxBC,aAAc,CACZC,QAAS,UACTC,MAAO,QACPC,QAAS,UACTC,KAAM,QAERC,eAAgB,CACdC,QAAS,UACTC,MAAO,QACPN,QAAS,UACTC,MAAO,QACPC,QAAS,WAEXK,cAAe,CACb,EAAK,IACLJ,KAAM,OACNK,MAAO,QACPC,OAAQ,SACRC,MAAO,SAETC,aAAc,CACZ,EAAK,IACLR,KAAM,OACNK,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPE,OAAQ,SACRC,KAAM,QAERC,YAAa,CACXC,QAAS,UACTC,QAAS,UACTC,YAAa,eAEfC,MAAO,CACLC,OAAQ,UACRX,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPU,OAAQ,WAEVC,QAAS,CACP,EAAK,IACLlB,KAAM,OACNmB,KAAM,OACNC,SAAU,YACVC,QAAS,WACTL,OAAQ,UACRX,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPU,OAAQ,UACRK,QAAS,a,mBCpDEqB,ICCX/C,EAAeD,EAAoBC,aACnCK,EAAiBN,EAAoBM,eACrCG,GAAgBT,EAAoBS,cACpCI,GAAeb,EAAoBa,aACnCG,GAAchB,EAAoBgB,YAClCI,GAAQpB,EAAoBoB,MAC5BG,GAAUvB,EAAoBuB,QAmBlC,SAASiC,GAAkBK,GACzB,OAAO,SAAUhO,EAAOuM,EAAUH,EAAe6B,GAC/C,IAAI3B,EAAYtM,EAAMuM,GAEtB,GAAyB,qBAAdD,EAAX,CAIA,IAAI4B,SAAuB5B,EAE3B,GAAsB,WAAlB4B,EACF,OAAO,IAAIC,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,eAAe/J,OAAO0L,EAAe,mBAAmB1L,OAAO4J,EAAe,gBAAkB,aAGtK,IAAIgC,EAAa9B,EAAU1I,MAAM,KAC7ByK,EAAeD,EAAWnQ,OAE9B,KAAIoQ,EAAe,GAAKA,EAAe,GASrC,OAAO,IAAIF,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,OAAO/J,OAAO8J,EAAW,mBAAmB9J,OAAO4J,EAAe,gBAAkB,wDAAwD5J,OAAOwL,EAAYvJ,KAAK,MAAO,OAR/O,IAAK,IAAI1G,EAAI,EAAGA,EAAIsQ,EAActQ,IAAK,CAGrC,IAAoB,IAFHiQ,EAAY1H,QAAQ8H,EAAWrQ,IAG9C,OAAO,IAAIoQ,MAAM,WAAW3L,OAAOyL,EAAU,MAAMzL,OAAO+J,EAAU,OAAO/J,OAAO4L,EAAWrQ,GAAI,mBAAmByE,OAAO4J,EAAe,gBAAkB,aAAa5J,OAAOwL,EAAYvJ,KAAK,MAAO,UA/BxMvD,IAAUsM,MAAM3Q,OAAOmQ,OAAO5C,IAC5BlJ,IAAUsM,MAAM3Q,OAAOmQ,OAAOvC,IAC3BkD,GAAkB9Q,OAAOmQ,OAAOpC,KAC/B+C,GAAkB9Q,OAAOmQ,OAAOhC,KAClC9J,IAAUsM,MAAM3Q,OAAOmQ,OAAO7B,KACpCjK,IAAUsM,MAAM3Q,OAAOmQ,OAAOzB,KAC3BoC,GAAkB9Q,OAAOmQ,OAAOtB,KAkC5B4B,I,SCzDAgB,GAAf,ECAeC,GAAf,E,MCtBA,SAASirF,GAAezvF,EAAW/J,EAAOy5F,GACxC,OAAIz5F,EAAM05F,IAAM15F,EAAM05F,KAAO3vF,EAAUE,aAAayvF,GAC3C15F,EAAM05F,GAGW,oBAAfD,EACFA,IAGLz5F,EAAMgoB,KACD,IAGLhoB,EAAMkiB,IAKPliB,EAAM05F,GAAI,IAAIl3F,OAAOuH,EAAUtC,YAAa,kDAEtC,KAGoB,oBAAlBzH,EAAMo/E,QACR,SAGFr1E,EAAUE,aAAayvF,IAAM,OAGvBF,I,SCRM38F,OAAOkC,UAAUyC,eCOtC,ICxBUosC,GAAQC,GAASvvB,GDwBvBi6E,GAAa,WAEb,IAAIC,EAAc,WAChB,OAAO,SAAUjxF,GACf,OAAOA,IAYX,OARAixF,EAAYC,oBAAsB,aAElCD,EAAYE,oBAAsB,aAElCF,EAAYG,wBAA0B,aAEtCH,EAAYI,sBAAwB,aAE7BJ,EAhBM,GELF,SAAS1qD,GAAU5gC,GAChC,IAAI04B,EAAa14B,EAAK04B,WAClBJ,EAASt4B,EAAKs4B,OACdz3B,EAAUb,EAAKa,QACnB,OAAOvK,YAAc,GAAIoiC,EAAY,CACnCmI,oBAAqBvI,EAAOwI,aAC5BC,aAAczI,EAAO0I,YACrBC,eAAgB3I,EAAO4I,SACvBC,sBAAuB7I,EAAO8I,UAC9BC,aAAc/I,EAAOgJ,YACrBC,WAAYjJ,EAAOkJ,UACnBC,WAAYnJ,EAAOoJ,WACnBk5D,YAAatiE,EAAOoJ,WACpBG,aAAcvJ,EAAOwJ,YACrBH,WAAYrJ,EAAOsJ,UACnBimE,gBAAiB,GAAGvyG,OAAOuL,EAAQjD,OAAQ,QAI/CgjC,GAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACLooC,aAAcpoC,EAAU,4BACxB4oC,WAAY5oC,EAAU,sBDhD1B,mCAsCA,IAAIM,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,+BAA+BoB,OAAOpB,EAAM2jD,YAAc,UAAW,k3BAAk3BviD,OAAOpB,EAAM4jD,qBAAuB,UAAW,69BAA69BxiD,OAAOpB,EAAMqkD,gBAAkB,UAAW,4CAA4CjjD,OAAOpB,EAAM2zG,iBAAmB,UAAW,4hBAA4hBvyG,OAAOpB,EAAM6sC,cAAgB,UAAW,wEAAwEzrC,OAAOpB,EAAM+sC,gBAAkB,UAAW,wEAAwE3rC,OAAOpB,EAAM2sC,qBAAuB,UAAW,wEAAwEvrC,OAAOpB,EAAMitC,uBAAyB,UAAW,wEAAwE7rC,OAAOpB,EAAM2tC,cAAgB,UAAW,wEAAwEvsC,OAAOpB,EAAMqtC,YAAc,UAAW,wEAAwEjsC,OAAOpB,EAAMmtC,cAAgB,UAAW,wEAAwE/rC,OAAOpB,EAAMutC,YAAc,UAAW,wEAAwEnsC,OAAOpB,EAAM0mG,aAAe,UAAW,wEAAwEtlG,OAAOpB,EAAMytC,YAAc,UAAW,6OAA6OrsC,OAAOpB,EAAMokD,kBAAoB,UAAW,8EAA8EhjD,OAAOpB,EAAMmkD,iBAAmB,UAAW,8EAA8E/iD,OAAOpB,EAAMqkD,gBAAkB,UAAW,0OAA0OjjD,OAAOpB,EAAM6jD,gBAAkB,UAAW,4EAA4EziD,OAAOpB,EAAM8jD,eAAiB,UAAW,4EAA4E1iD,OAAOpB,EAAM+jD,gBAAkB,UAAW,4EAA4E3iD,OAAOpB,EAAMgkD,eAAiB,UAAW,4EAA4E5iD,OAAOpB,EAAMikD,gBAAkB,UAAW,4EAA4E7iD,OAAOpB,EAAMkkD,iBAAmB,UAAW,8EAA8E9iD,OAAOpB,EAAMskD,YAAc,UAAW,8EAA8EljD,OAAOpB,EAAMukD,eAAiB,UAAW,8EAA8EnjD,OAAOpB,EAAMwkD,qBAAuB,UAAW,8EAA8EpjD,OAAOpB,EAAMykD,kBAAoB,UAAW,iFAAiFrjD,OAAOpB,EAAM0kD,qBAAuB,UAAW,iFAAiFtjD,OAAOpB,EAAM2kD,wBAA0B,UAAW,iFAAiFvjD,OAAOpB,EAAM4kD,uBAAyB,UAAW,0VAE91L,KAAQ,aACR,gBAAiB,aACjB,kBAAmB,aACnB,wBAAyB,aACzB,0BAA2B,aAC3B,gBAAiB,aACjB,cAAe,aACf,gBAAiB,aACjB,cAAe,aACf,eAAgB,aAChB,cAAe,aACf,kBAAmB,aACnB,gBAAiB,aACjB,eAAgB,aAChB,cAAe,aACf,eAAgB,aAChB,eAAgB,aAChB,UAAW,aACX,MAAS,aACT,OAAU,aACV,MAAS,aACT,UAAW,aACX,WAAY,aACZ,qBAAsB,aACtB,iBAAkB,aAClB,uBAAwB,aACxB,oBAAqB,aACrB,uBAAwB,aACxB,0BAA2B,aAC3B,yBAA0B,aAC1B,iBAAkB,aAClB,uBAAwB,aACxB,sBAAuB,aACvB,sBAAuB,cASrBgvD,GAAe3tG,EAAUjG,GAAO+E,GAASipC,EAAe9wB,GAAQuvB,GAEpE,SAAUjkC,GAGR,SAASorG,IAGP,OAFA31G,YAAgBsG,KAAMqvG,GAEf/1G,YAA2B0G,KAAMrH,YAAgB02G,GAAMp3G,MAAM+H,KAAM3H,YA2B5E,OAhCA2B,YAAUq1G,EAAMprG,GAQhB1J,YAAa80G,EAAM,CAAC,CAClBr4G,IAAK,SACLC,MAAO,WACL,IAAIizC,EAEAC,EAAcnqC,KAAK3F,MACnB8uF,EAAOh/C,EAAYg/C,KACnBmmB,EAASnlE,EAAYmlE,OACrBC,EAAYplE,EAAYolE,UACxBpnG,EAAOgiC,EAAYhiC,KACnB43C,EAAa5V,EAAY4V,WACzBkgD,EAAgB91D,EAAY81D,cAC5BziE,EAAY2M,EAAY3M,UACxB9S,EAAQyf,EAAYzf,MACpBltB,EAAW2sC,EAAY3sC,SACvBu4F,EAAclC,GAAewb,EAAMrvG,KAAK3F,OAC5C,OAAOU,IAAMC,cAAc+6F,EAAa7+F,OAAOoL,OAAO,GF1C5D,SAA0BjI,GACxB,IAAIs6F,EAAa,GAOjB,OANAz9F,OAAOQ,KAAK2C,GACXxC,QAAO,SAAU+O,GAChB,OAAOguF,aAAYhuF,IAA0B,UAAbA,GAAqC,cAAbA,GAAyC,aAAbA,KACnFpO,SAAQ,SAAUoO,GACnB+tF,EAAW/tF,GAAYvM,EAAMuM,MAExB+tF,EEkCuDD,CAAiB10F,KAAK3F,OAAQ,CACtF0wC,UAAWC,KAAYd,EAAc,GAAIpzC,YAAgBozC,EAAa1pC,GAAOyqC,MAAM,GAAOn0C,YAAgBozC,EAAa1pC,GAAO2H,GAAOA,GAAOrR,YAAgBozC,EAAa1pC,GAAO,QAAQ3D,OAAOssF,IAAQA,GAAOryF,YAAgBozC,EAAa1pC,GAAO,UAAU3D,OAAOyyG,IAAUA,GAASx4G,YAAgBozC,EAAa1pC,GAAO,SAAS3D,OAAO0yG,IAAaA,GAAYz4G,YAAgBozC,EAAa1pC,GAAO,aAAa3D,OAAO2gC,IAAaA,GAAY1mC,YAAgBozC,EAAa1pC,GAAO,cAAc3D,OAAOkjD,IAAcA,GAAajpD,YAAgBozC,EAAa1pC,GAAO,iBAAiB3D,OAAOojG,IAAiBA,GAAgBnpG,YAAgBozC,EAAa1pC,GAAO,SAAS3D,OAAO6tB,IAASA,GAAQwf,IAC1qB10B,IAAKxV,KAAK3F,MAAM+gG,aACd59F,OAIR6xG,EAAKvtG,YAAc,OACZutG,EAjCT,CAkCEjrG,aAAY8jC,GAAQpkC,UAAY,CAIhCiwF,GAAIx4F,IAAU42E,YACd30E,SAAUjC,IAAUgC,KAKpBmtB,MAAOkoE,GAAWE,oBAAoBv3F,IAAUsM,MAAM,CAAC,UAAW,YAAa,QAAS,UAAW,UAAW,QAAS,SAAU,QAAS,kBAAmB,sBAAuB,CAAC,SAAU,8DAC/LuzF,WAAY7/F,IAAU4V,KACtBo+F,UAAWh0G,IAAUsM,MAAM,CAAC,SAAU,WACtCo4F,cAAe1kG,IAAUsM,MAAM,CAAC,SAAU,YAAa,aACvDk4C,WAAYxkD,IAAUsM,MAAM,CAAC,UAAW,MAAO,YAAa,WAC5DM,KAAM5M,IAAUsM,MAAM,CAAC,UAAW,QAAS,SAAU,QAAS,UAAW,aACzE21B,UAAWjiC,IAAUsM,MAAM,CAAC,OAAQ,aAAc,YAAa,cAC/DynG,OAAQ/zG,IAAUsM,MAAM,CAAC,SAAU,QAAS,SAC5CshF,KAAM5tF,IAAUsM,MAAM,CAAC,SAAU,gBAChCqgC,GAAQ5jC,aAAe,CACxByvF,GAAI,OACJ5K,KAAM,SACNhhF,KAAM,SACN83F,cAAe,SACfziG,SAAU,KACV49F,gBAAY,EACZ1wE,WAAO,EACP8S,eAAW,EACXuiB,gBAAY,EACZwvD,eAAW,EACXD,YAAQ,GAlEwCrnE,GAmE/CtvB,MAAWsvB,I,+LErHd,SAASquD,EAAiBC,GACxB,IACE,OAAQA,GAAOr5F,UAAUmxD,cACzB,MAAO/4C,KCFX,SAASkhF,EAAgB3sE,GACvB,IAAItsB,EAAOssB,GAAMlmB,YAAYkmB,GAC7B,OAAOtsB,GAAQ+4F,MAAuB/4F,ECFxC,SAAS2U,EAAe9N,GACtB,MAA4B,kBAAdA,EAAyBA,EAAYA,EAAUtC,aAAesC,EAAUrC,KCDxF,SAAS00F,EAAoBC,GAC3B,IAAIp7F,EAAQjD,UAAUC,OAAS,QAAsB,IAAjBD,UAAU,GAAgBA,UAAU,GAAK,GAE7E,SAAIq+F,IAAqBA,EAAkBxpF,OACtB5R,EAAM6C,KAAI,SAAU+O,GACrC,OAAOgF,EAAehF,MAEJvM,QAAQuR,EAAewkF,EAAkBxpF,QAAU,EAM5DupF,IC1CLxuD,EAAQC,EAASvvB,E,QA6BvBnY,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,6OAET,KAAQ,cASNq6F,EAA8Bp0F,YAAU,KAAMlB,EAASipC,EAAe9wB,EAAQuvB,EAElF,SAAUjkC,GAGR,SAAS6xF,IAGP,OAFAp8F,YAAgBsG,KAAM81F,GAEfx8F,YAA2B0G,KAAMrH,YAAgBm9F,GAAqB79F,MAAM+H,KAAM3H,YAkB3F,OAvBA2B,YAAU87F,EAAqB7xF,GAQ/B1J,YAAau7F,EAAqB,CAAC,CACjC9+F,IAAK,SACLC,MAAO,WACL,IAAIkzC,EAAcnqC,KAAK3F,MACnBmD,EAAW2sC,EAAY3sC,SACvBnD,EAAQ+R,YAAyB+9B,EAAa,CAAC,aAE/C4rD,EAAclC,YAAeiC,EAAqBz7F,GACtD,OAAOU,IAAMC,cAAc+6F,EAAa7+F,OAAOoL,OAAO,GAAIoyF,YAAiBr6F,GAAQ,CACjF0wC,UAAWvqC,EAAOyqC,OAChBztC,OAIRs4F,EAAoBh0F,YAAc,sBAC3Bg0F,EAxBT,CAyBE1xF,aAAY8jC,EAAQpkC,UAAY,CAIhCiwF,GAAIx4F,IAAU42E,YAKd30E,SAAUjC,IAAUgC,MACnB2qC,EAAQ5jC,aAAe,CACxByvF,GAAI,OACJv2F,SAAU,MAvCoDyqC,EAwC7DtvB,KAAWsvB,EC/Dd,SAAS0uD,EAAmBn5F,GAC1B,IAAIo5F,GAAU,EAMd,OALA77F,IAAMF,SAASrC,QAAQgF,GAAU,SAAU7C,GACrCA,IAAU87F,EAAoB97F,EAAO,CAACm7F,MACxCc,GAAU,MAGPA,EAGMD,IC9BE1uD,EAAQC,EAASvvB,ECCjBsvB,EAAQC,EAASvvB,E,2CD8B9BnY,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,qRAET,KAAQ,aACR,eAAgB,aAChB,aAAc,aACd,gBAAiB,aACjB,iBAAkB,aAClB,WAAc,aACd,aAAgB,cASduiG,EAAepL,YAAW,QAAS,CACrCqL,KAAM,aACNC,OAAQ,eACRC,WAAY,mBACuB10D,CAAKxB,EAA9BvmC,YAAU,KAAMlB,EAAuBkpC,EAAgB/wB,EAAQuvB,EAE3E,SAAUjkC,GAGR,SAAS+5F,IAGP,OAFAtkG,YAAgBsG,KAAMg+F,GAEf1kG,YAA2B0G,KAAMrH,YAAgBqlG,GAAM/lG,MAAM+H,KAAM3H,YAoD5E,OAzDA2B,YAAUgkG,EAAM/5F,GAQhB1J,YAAayjG,EAAM,CAAC,CAClBhnG,IAAK,SAGLC,MAAO,WACL,IAAImnG,EAEA/jG,EAAQwwC,YAAU7qC,KAAK3F,MAAO2jG,EAAKl6F,WACnCqmC,EAAcnqC,KAAK3F,MACnBgkG,EAAQl0D,EAAYk0D,MACpBtK,EAAK5pD,EAAY4pD,GACjBqH,EAAajxD,EAAYixD,WACzB59F,EAAW2sC,EAAY3sC,SACvBi6F,EAAYttD,EAAYstD,UACxB6G,EAAan0D,EAAYm0D,WACzB/C,EAASpxD,EAAYoxD,OACrBM,EAAY1xD,EAAY0xD,UACxBC,EAAY3xD,EAAY2xD,UACxBmB,EAAU9yD,EAAY8yD,QACtBsB,EAAep0D,EAAYo0D,aAC3Bp2F,EAAOgiC,EAAYhiC,KACnBqzF,EAAYrxD,EAAYqxD,UACxBC,EAAkBtxD,EAAYsxD,gBAC9ByC,EAAS/zD,EAAY+zD,OACrBD,EAAO9zD,EAAY8zD,KACnBjD,EAAc7wD,EAAY6wD,YAC1BwD,EAA0B,WAAd/G,EACZh3F,EAAQ,CACVg+F,UAAWt2F,GAETqB,GAAW40F,EAAW,GAAItnG,YAAgBsnG,EAAU59F,EAAOyqC,MAAM,GAAOn0C,YAAgBsnG,EAAU59F,EAAO89F,WAAYL,GAAQK,GAAaxnG,YAAgBsnG,EAAU59F,EAAO+9F,aAAcL,GAAUK,GAAeznG,YAAgBsnG,EAAU59F,EAAO,UAAU3D,OAAOwhG,IAASA,GAAQD,GACzR,OAAOrjG,IAAMC,cAAc8/F,IAAM5jG,OAAOoL,OAAO,GAAIjI,EAAO,CACxD0wC,UAAWC,IAAWxhC,GACtB/I,MAAOA,EACP26F,WAAYA,EACZrH,GAAIA,EACJ4H,UAAW6C,EAAYr2F,OAAO,EAC9BuzF,SAAwB,QAAdjE,EAAsBtvF,OAAO,EACvCqzF,UAAWA,EACXD,OAAQA,EACR0B,QAASA,EACTpB,UAAWA,EACXC,UAAWA,IAAc0C,EAAY,OAAS,WAC9C/C,gBAAiBA,GAAmBT,IAClCx9F,OAIRwgG,EAAKl8F,YAAc,OACZk8F,EA1DT,CA2DE55F,aAAY8jC,EAAQpkC,UAAY,CAIhCtG,SAAUjC,IAAUgC,KAKpBw2F,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KAOtBoqF,OAAQ5zF,IAAmBS,QAO3B60F,QAASt1F,IAAmBS,QAK5Bi2F,MAAO9iG,IAAUsM,MAAM,CAAC,SAAU,QAAS,MAAO,YAKlD4vF,UAAWl8F,IAAUsM,MAAM,CAAC,MAAO,WAKnC2zF,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,SAAU,QAK/Cg0F,UAAWtgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAK9Ci0F,UAAWvgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAK9Cy2F,WAAY/iG,IAAU8I,KAKtBk6F,aAAchjG,IAAU8I,KAKxB8D,KAAM5M,IAAUgwC,OAKhBkwD,gBAAiBlgG,IAAU8I,KAO3B45F,KAAM1iG,IAAU8I,KAKhB65F,OAAQ3iG,IAAU8I,KAKlB22F,YAAaz/F,IAAU8I,MAGtB6jC,EAAQ5jC,aAAe,CACxByvF,GAAI,OACJqH,WAAY,SAAoBvxE,KAChCy0E,YAAY,EACZC,cAAc,GA9JyCt2D,EA+JtDtvB,KAAWsvB,IAAWA,ECpLzB,IAAIznC,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,qDAAqDoB,OAAOpB,EAAM2jD,YAAc,UAAW,snBAEpG,KAAQ,aACR,OAAU,aACV,iBAAkB,aAClB,IAAO,aACP,cAAe,aACf,aAAc,aACd,qBAAsB,aACtB,UAAa,aACb,sBAAuB,aACvB,oBAAqB,aACrB,uBAAwB,aACxB,6BAA8B,aAC9B,8BAA+B,aAC/B,qBAAsB,aACtB,oBAAqB,aACrB,kBAAmB,aACnB,sBAAuB,cAUrBs/C,EAAe9L,YAAW,QAAS,CACrC1nD,OAAQ,UACRyzD,UAAW,OACXR,WAAY,mBACwB10D,CAAKxB,EAA/BvmC,aCrDG,SAAmB6F,GAEhC,MAAO,CACL63C,WAFe73C,EAAK04B,WAEGmf,cDkDE5+C,EAAuBkpC,EAAgB/wB,EAAQuvB,EAE5E,SAAUjkC,GAGR,SAASy6F,IAGP,OAFAhlG,YAAgBsG,KAAM0+F,GAEfplG,YAA2B0G,KAAMrH,YAAgB+lG,GAAMzmG,MAAM+H,KAAM3H,YAqE5E,OA1EA2B,YAAU0kG,EAAMz6F,GAQhB1J,YAAamkG,EAAM,CAAC,CAClB1nG,IAAK,iBACLC,MAAO,WACL,IAAI2L,EAAQ5C,KAEZ,OAAOnF,WAASsD,IAAI6B,KAAK3F,MAAMmD,UAAU,SAAU7C,GACjD,OAAIA,EACKM,YAAiBN,EAAOkD,YAAc,CAC3C49F,gBAAiB74F,EAAMvI,MAAMohG,iBAAmB74F,EAAMvI,MAAM2gG,aAC3DrgG,EAAMN,MAAO,CAEdo9F,UAAW70F,EAAMvI,MAAMo9F,UAAUl5F,QAAQ,WAAY,OAGhD,UAIZ,CACDvH,IAAK,SACLC,MAAO,WACL,IAAImnG,EAEAj0D,EAAcnqC,KAAK3F,MACnB05F,EAAK5pD,EAAY4pD,GACjBqH,EAAajxD,EAAYixD,WACzB59F,EAAW2sC,EAAY3sC,SACvBi6F,EAAYttD,EAAYstD,UACxBptD,EAASF,EAAYE,OACrB0wC,EAAU5wC,EAAY4wC,QACtBwgB,EAASpxD,EAAYoxD,OACrB0B,EAAU9yD,EAAY8yD,QACtB2B,EAAez0D,EAAYy0D,aAC3BpD,EAAYrxD,EAAYqxD,UACxBC,EAAkBtxD,EAAYsxD,gBAC9BrxD,EAAQD,EAAYC,MACpB++C,EAAOh/C,EAAYg/C,KACnB6R,EAAc7wD,EAAY6wD,YAC1B2D,EAAYx0D,EAAYw0D,UACxBzzD,EAASf,EAAYe,OAGrB2zD,EAAa7+F,KAAK3F,MAAMwkG,aAA6B,WAAdpH,GAAwC,mBAAdA,EAAiC,UAAY,UAC9GqH,EAAmB5zD,EAAS,cAAgB,KAC5C1hC,GAAW40F,EAAW,GAAItnG,YAAgBsnG,EAAU59F,EAAOyqC,MAAM,GAAOn0C,YAAgBsnG,EAAU59F,EAAO,iBAAiB3D,OAAO+hG,KAAgB,GAAO9nG,YAAgBsnG,EAAU59F,EAAO,eAAe3D,OAAOgiG,KAAc,GAAO/nG,YAAgBsnG,EAAU59F,EAAO,SAAS3D,OAAOssF,IAAiB,YAATA,GAAqBryF,YAAgBsnG,EAAU59F,EAAOm+F,UAAWA,GAAYP,GAE9W,OAAI5gG,GAAYzC,IAAMF,SAASC,MAAM0C,GAAY,EACxCzC,IAAMC,cAAc8/F,IAAM5jG,OAAOoL,OAAO,GAAIoyF,YAAiB10F,KAAK3F,OAAQ,CAC/E0wC,UAAWC,IAAWxhC,EAAShJ,EAAOi3F,IACtC2D,WAAYA,EACZrH,GAAIA,EACJhZ,QAAS+jB,GAAoB/jB,EAC7B3wC,MAAOA,EACPC,OAAQA,EACRkxD,OAAQA,EACR0B,QAASA,EACTzB,UAAWA,EACXC,gBAAiBA,GAAmBT,IAClCh7F,KAAK++F,kBAEF,SAKbL,EAAK58F,YAAc,OACZ48F,EA3ET,CA4EEt6F,aAAY8jC,EAAQ81D,KAAOA,EAAM91D,EAAQpkC,UAAY,CAIrDtG,SAAUgyG,IAAkB3nG,MAAM,CAACm2F,IAKnCjK,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KAKtBk5B,OAAQ9uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAKzDrB,MAAO7uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAOxD8vD,OAAQ5zF,IAAmBS,QAO3B60F,QAASt1F,IAAmBS,QAK5B2yE,QAASx/E,IAAUsM,MAAM,CAAC,OAAQ,gBAKlC2zF,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,SAAU,QAK/C4vF,UAAWl8F,IAAUsM,MAAM,CAAC,MAAO,SAAU,cAAe,mBAK5Dg3F,WAAYtjG,IAAUsM,MAAM,CAAC,SAAU,QAAS,MAAO,YAKvD+2F,aAAcrjG,IAAUsM,MAAM,CAAC,SAAU,QAAS,MAAO,eAAgB,kBAKzEshF,KAAM5tF,IAAUsM,MAAM,CAAC,OAAQ,UAAW,iBAM1C4zF,gBAAiBlgG,IAAU8I,KAO3B6mC,OAAQ3vC,IAAU8I,KAKlBs6F,UAAWpjG,IAAU8I,KAKrB22F,YAAaz/F,IAAU8I,MAGtB6jC,EAAQ5jC,aAAe,CACxB9G,SAAU,KACVu2F,GAAI,OACJqH,WAAY,SAAoBvxE,KAChC4tE,UAAW,MACXmH,aAAc,QACd7jB,QAAS,OACT0gB,iBAAiB,EACjBtS,KAAM,UACN/+C,WAAO,EACPC,YAAQ,EACR4yD,aAAS,EACT1B,YAAQ,EACRsD,gBAAY,EACZrD,eAAW,GA1L6CvzD,EA2LvDtvB,KAAWsvB,IAAWA,E,iBErOzB,SAASvZ,EAAOhE,EAAOs0E,GACrB,OAAOC,IAAMv0E,GAAOgE,OAAOswE,GAASnuE,cCDtC,SAASquE,EAAMx0E,EAAOs0E,GACpB,OAAOC,IAAMv0E,GAAO0F,SAAS4uE,EAAU,KAAKnuE,cCR9C,ICnBiBoX,EAAQC,EAASvvB,GDmB9BwmF,GAAe,gCACfsQ,GAAc,wBACdC,GAAe,iBAEfC,GAAgB,SAAuBlvG,EAAOmvG,EAAWvQ,GAC3D,IAAI93F,EAEJ,OAAOA,EAAO,GAAIzQ,YAAgByQ,EAAM,GAAG1K,OAAO4D,EAAO,cAAemvG,GAAY94G,YAAgByQ,EAAM,GAAG1K,OAAO4D,EAAO,eAAgBiuB,EAAOkhF,EAAW,KAAM94G,YAAgByQ,EAAM,GAAG1K,OAAO4D,EAAO,SAAU4+F,GAAYvoG,YAAgByQ,EAAM,GAAG1K,OAAO4D,EAAO,mBAAoBiuB,EAAOkhF,EAAW,KAAM94G,YAAgByQ,EAAM,GAAG1K,OAAO4D,EAAO,oBAAqBiuB,EAAOkhF,EAAW,KAAM94G,YAAgByQ,EAAM,GAAG1K,OAAO4D,EAAO,mBAAoB,GAAG5D,OAAOsiG,GAAc,KAAKtiG,OAAO6xB,EAAOkhF,EAAW,MAAaroG,GAGxf,SAAS4gC,GAAU1gC,GAChC,IAAIo4B,EAASp4B,EAAMo4B,OACfF,EAAUl4B,EAAMk4B,QAChBG,EAAQr4B,EAAMq4B,MACd13B,EAAUX,EAAMW,QAChB63B,EAAax4B,EAAMw4B,WACvB,OAAOpiC,YAAc,CACnBkK,YAAa43B,EAAQ8c,WACrB2C,WAAYnf,EAAWmf,WACvB4hB,WAAY/gC,EAAW4f,iBACvBmgD,cAAe,OACfC,cAAe,SACfh4F,aAAc03B,EAAQ4c,aACtBw7C,YAAap4D,EAAQl/B,MACrB+8B,UAAW,OACXuiE,eAAgB,OAChBG,YAAapgE,EAAMwgB,iBACnBuvD,aAAcznG,EAAQvC,OACtBs6F,cAAelgE,EAAWsf,cAC1BghD,aAAczgE,EAAMygB,kBACpBuvD,cAAe1nG,EAAQlD,MACvBs7F,eAAgBvgE,EAAWuf,eAC3BohD,YAAa9gE,EAAM0gB,iBACnBuvD,aAAc3nG,EAAQjD,OACtB07F,cAAe5gE,EAAWwf,cAC1BuwD,YAAa,GAAGnzG,OAAO6yG,GAAc,KAAK7yG,OAAOgjC,EAAO8e,aACxD8wD,YAAa,OACbQ,gBAAiBpwE,EAAOie,mBACxBoyD,iBAAkBxhF,EAAOmR,EAAO0e,YAAa,IAC7C4xD,iBAAkBxwE,EAAQl/B,MAC1B2vG,WAAYvwE,EAAO0I,YACnB8nE,qBAAsB3hF,EAAOmR,EAAOie,mBAAoB,GACxDwyD,sBAAuBzwE,EAAOie,mBAC9ByyD,qBAAsB,GAAG1zG,OAAOsiG,GAAc,KAAKtiG,OAAO6xB,EAAOmR,EAAOye,eAAgB,KACxFkyD,gBAAiB,cACjB/Q,iBAAkB5/D,EAAO8e,YACzB8xD,iBAAkB9wE,EAAQl/B,MAC1BiwG,WAAY7wE,EAAOkJ,UACnB4nE,qBAAsBzR,EAAMr/D,EAAOke,gBAAiB,IACpD6yD,sBAAuB,cACvBC,qBAAsB,qBAAqBh0G,OAAOqiG,EAAMr/D,EAAO8e,YAAa,KAC5EmyD,uBAAwB,cACxBC,wBAAyBlxE,EAAOye,eAChC0yD,wBAAyBrxE,EAAQl/B,MACjCwwG,kBAAmBpxE,EAAOwI,aAC1B6oE,4BAA6BhS,EAAMr/D,EAAOie,mBAAoB,IAC9DqzD,6BAA8B,cAC9BC,4BAA6B,qBAAqBv0G,OAAOqiG,EAAMr/D,EAAOye,eAAgB,KACtF+yD,UAAWxxE,EAAO2d,SAClB8zD,gBAAiB,cACjBC,qBAAsB,cACtBC,eAAgB9iF,EAAOmR,EAAO2d,SAAU,IACxCi0D,mBAAoB,OACpBC,iBAAkB7xE,EAAO8I,UACzBgpE,mBAAoB,GAAG90G,OAAO6yG,GAAc,KAAK7yG,OAAOgjC,EAAOye,gBAC/DszD,gBAAiB,cACjBC,YAAa,KAAKh1G,OAAOuL,EAAQlC,SACjCqmG,UAAW1sE,EAAO0I,YAClBupE,eAAgBjyE,EAAOkJ,UACvBgpE,gBAAiBrjF,EAAOmR,EAAO0I,YAAa,IAC5CypE,mBAAoB,GAAGn1G,OAAO4yG,GAAa,KAAK5yG,OAAOgjC,EAAO8e,aAC9DszD,qBAAsB,UACtBhR,cAAe,OACfC,eAAgB,UAChBC,cAAe,WACf+Q,mBAAoB9pG,EAAQvC,OAC5BssG,iBAAkBtyE,EAAOwI,aACzB+pE,sBAAuBvyE,EAAOwI,aAC9BgqE,0BAA2B,GAAGx1G,OAAO4yG,GAAa,KAAK5yG,OAAOgjC,EAAOye,gBACrEg0D,qBAAsBryE,EAAW+f,eAChC2vD,GAAc,UAAW9vE,EAAOge,gBAAiBhe,EAAO0I,aAAc,GAAIonE,GAAc,UAAW9vE,EAAOke,gBAAiBle,EAAOwI,cAAe,GAAIsnE,GAAc,UAAW9vE,EAAOse,kBAAmBte,EAAOwI,cAAe,GAAIsnE,GAAc,SAAU9vE,EAAOue,iBAAkBve,EAAOwI,cAAe,GAAIsnE,GAAc,gBAAiB9vE,EAAOge,gBAAiBhe,EAAO0I,aAAc,GAAIonE,GAAc,gBAAiB9vE,EAAOke,gBAAiBle,EAAOwI,cAAe,GAAIsnE,GAAc,eAAgB9vE,EAAOue,iBAAkBve,EAAOwI,eAGjhBF,GAAS,OAAa,SAAUjoC,GAC9B,OAAOrC,YAAc,CACnBmyG,YAAa,GAAGnzG,OAAO6yG,GAAc,KAAK7yG,OAAOqD,EAAU,qBAC3Du/F,iBAAkBv/F,EAAU,gCAC5BwwG,WAAYxwG,EAAU,gCACtBywG,qBAAsBzR,EAAMh/F,EAAU,gCAAiC,IACvE2wG,qBAAsB,qBAAqBh0G,OAAOqiG,EAAMh/F,EAAU,gCAAiC,KACnGmxG,UAAWnxG,EAAU,iBACrBsxG,eAAgB9iF,EAAOxuB,EAAU,iBAAkB,IACnD4xG,eAAgB5xG,EAAU,oBAC1B8xG,mBAAoB,GAAGn1G,OAAO4yG,GAAa,KAAK5yG,OAAOqD,EAAU,sBAChEyvG,GAAc,UAAWzvG,EAAU,gCAAiCA,EAAU,kCAAmC,GAAIyvG,GAAc,gBAAiBzvG,EAAU,gCAAiCA,EAAU,oCAG9MioC,GAAU,eAAiBA,GAAU,wBAA0B,SAAUzgC,GACvE,IAAIm4B,EAASn4B,EAAMm4B,OACnB,MAAO,CACL0yE,mBAAoB1yE,EAAO2e,aAC3B0xD,iBAAkBrwE,EAAO2e,aACzBg0D,yBAA0B3yE,EAAO2e,aACjCizD,mBAAoB,YACpBF,qBAAsB1xE,EAAO8e,cCnIjC,mCA4CA,IAAIn+C,GAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,4SAA4SoB,OAAOpB,EAAMs8F,aAAe,UAAW,kBAAkBl7F,OAAOpB,EAAMsM,aAAe,UAAW,8EAA8ElL,OAAOpB,EAAM2jD,YAAc,UAAW,iBAAiBviD,OAAOpB,EAAMulE,YAAc,UAAW,gCAAgCnkE,OAAOpB,EAAMwkG,eAAiB,UAAW,8GAA8GpjG,OAAOpB,EAAMukG,eAAiB,UAAW,yCAAyCnjG,OAAOpB,EAAM+hC,WAAa,UAAW,0wBAA0wB3gC,OAAOpB,EAAMu0G,aAAe,UAAW,4yBAA8yBnzG,OAAOpB,EAAMskG,gBAAkB,UAAW,0eAA0eljG,OAAOpB,EAAMwM,cAAgB,UAAW,6MAA6MpL,OAAOpB,EAAMwM,cAAgB,UAAW,wqDAAwqDpL,OAAOpB,EAAMykG,aAAe,UAAW,WAAWrjG,OAAOpB,EAAMykG,aAAe,UAAW,smBAAsmBrjG,OAAOpB,EAAMwlG,eAAiB,UAAW,yNAAyNpkG,OAAOpB,EAAM8kG,cAAgB,UAAW,WAAW1jG,OAAOpB,EAAM8kG,cAAgB,UAAW,ymBAAymB1jG,OAAOpB,EAAMylG,gBAAkB,UAAW,yNAAyNrkG,OAAOpB,EAAMmlG,aAAe,UAAW,WAAW/jG,OAAOpB,EAAMmlG,aAAe,UAAW,ymBAAymB/jG,OAAOpB,EAAM0lG,eAAiB,UAAW,2rBAA2rBtkG,OAAOpB,EAAM0kG,eAAiB,UAAW,sBAAsBtjG,OAAOpB,EAAMykG,aAAe,UAAW,OAAOrjG,OAAOpB,EAAMsM,aAAe,UAAW,qBAAqBlL,OAAOpB,EAAMo0G,cAAgB,UAAW,mBAAmBhzG,OAAOpB,EAAMo0G,cAAgB,UAAW,qjBAAqjBhzG,OAAOpB,EAAMwlG,eAAiB,UAAW,qaAAqapkG,OAAOpB,EAAM+kG,gBAAkB,UAAW,sBAAsB3jG,OAAOpB,EAAM8kG,cAAgB,UAAW,OAAO1jG,OAAOpB,EAAMsM,aAAe,UAAW,qBAAqBlL,OAAOpB,EAAMq0G,eAAiB,UAAW,mBAAmBjzG,OAAOpB,EAAMq0G,eAAiB,UAAW,qjBAAqjBjzG,OAAOpB,EAAMylG,gBAAkB,UAAW,qaAAqarkG,OAAOpB,EAAMolG,eAAiB,UAAW,sBAAsBhkG,OAAOpB,EAAMmlG,aAAe,UAAW,OAAO/jG,OAAOpB,EAAMsM,aAAe,UAAW,qBAAqBlL,OAAOpB,EAAMs0G,cAAgB,UAAW,mBAAmBlzG,OAAOpB,EAAMs0G,cAAgB,UAAW,qjBAAqjBlzG,OAAOpB,EAAM0lG,eAAiB,UAAW,2kDAA2kDtkG,OAAOpB,EAAMy2G,oBAAsB,UAAW,8DAA8Dr1G,OAAOpB,EAAMw2G,sBAAwB,UAAW,uBAAuBp1G,OAAOpB,EAAMy2G,oBAAsB,UAAW,y4BAAy4Br1G,OAAOpB,EAAMy2G,oBAAsB,UAAW,uyBAAuyBr1G,OAAOpB,EAAMy2G,oBAAsB,UAAW,qmEAAqmEr1G,OAAOpB,EAAM62G,sBAAwB,UAAW,ugBAAugBz1G,OAAOpB,EAAMg3G,mBAAqB,UAAW,kBAAkB51G,OAAOpB,EAAM82G,oBAAsB,UAAW,WAAW11G,OAAOpB,EAAMi3G,cAAgB,UAAW,gXAAgX71G,OAAOpB,EAAMk3G,wBAA0B,UAAW,shBAAshB91G,OAAOpB,EAAMi3G,cAAgB,UAAW,qMAAqM71G,OAAOpB,EAAMm3G,yBAA2B,UAAW,gBAAgB/1G,OAAOpB,EAAMo3G,wBAA0B,UAAW,2JAA2Jh2G,OAAOpB,EAAMkmG,mBAAqB,UAAW,kBAAkB9kG,OAAOpB,EAAMmmG,oBAAsB,UAAW,WAAW/kG,OAAOpB,EAAM6sC,cAAgB,UAAW,gXAAgXzrC,OAAOpB,EAAM4oG,wBAA0B,UAAW,shBAAshBxnG,OAAOpB,EAAM6sC,cAAgB,UAAW,qMAAqMzrC,OAAOpB,EAAM0nG,yBAA2B,UAAW,gBAAgBtmG,OAAOpB,EAAM2nG,wBAA0B,UAAW,2JAA2JvmG,OAAOpB,EAAMsmG,mBAAqB,UAAW,kBAAkBllG,OAAOpB,EAAMumG,oBAAsB,UAAW,WAAWnlG,OAAOpB,EAAM2tC,cAAgB,UAAW,gXAAgXvsC,OAAOpB,EAAM8oG,wBAA0B,UAAW,shBAAshB1nG,OAAOpB,EAAM2tC,cAAgB,UAAW,qMAAqMvsC,OAAOpB,EAAM8nG,yBAA2B,UAAW,gBAAgB1mG,OAAOpB,EAAM+nG,wBAA0B,UAAW,2JAA2J3mG,OAAOpB,EAAMwmG,kBAAoB,UAAW,kBAAkBplG,OAAOpB,EAAMymG,mBAAqB,UAAW,WAAWrlG,OAAOpB,EAAM0mG,aAAe,UAAW,gXAAgXtlG,OAAOpB,EAAM+oG,uBAAyB,UAAW,shBAAshB3nG,OAAOpB,EAAM0mG,aAAe,UAAW,qMAAqMtlG,OAAOpB,EAAMgoG,wBAA0B,UAAW,gBAAgB5mG,OAAOpB,EAAMioG,uBAAyB,UAAW,2JAA2J7mG,OAAOpB,EAAMw0G,iBAAmB,UAAW,kBAAkBpzG,OAAOpB,EAAMy0G,kBAAoB,UAAW,WAAWrzG,OAAOpB,EAAM20G,YAAc,UAAW,gXAAgXvzG,OAAOpB,EAAM40G,sBAAwB,UAAW,shBAAshBxzG,OAAOpB,EAAM20G,YAAc,UAAW,qMAAqMvzG,OAAOpB,EAAM60G,uBAAyB,UAAW,gBAAgBzzG,OAAOpB,EAAM80G,sBAAwB,UAAW,2JAA2J1zG,OAAOpB,EAAM+0G,iBAAmB,UAAW,kBAAkB3zG,OAAOpB,EAAMgkG,kBAAoB,UAAW,kBAAkB5iG,OAAOpB,EAAMg1G,kBAAoB,UAAW,WAAW5zG,OAAOpB,EAAMi1G,YAAc,UAAW,gXAAgX7zG,OAAOpB,EAAMk1G,sBAAwB,UAAW,shBAAshB9zG,OAAOpB,EAAMi1G,YAAc,UAAW,qMAAqM7zG,OAAOpB,EAAMm1G,uBAAyB,UAAW,gBAAgB/zG,OAAOpB,EAAMo1G,sBAAwB,UAAW,2JAA2Jh0G,OAAOpB,EAAMq1G,wBAA0B,UAAW,kBAAkBj0G,OAAOpB,EAAMs1G,yBAA2B,UAAW,kBAAkBl0G,OAAOpB,EAAMu1G,yBAA2B,UAAW,WAAWn0G,OAAOpB,EAAMw1G,mBAAqB,UAAW,gXAAgXp0G,OAAOpB,EAAMy1G,6BAA+B,UAAW,shBAAshBr0G,OAAOpB,EAAMw1G,mBAAqB,UAAW,qOAAqOp0G,OAAOpB,EAAMk2G,oBAAsB,UAAW,qMAAqM90G,OAAOpB,EAAMm1G,uBAAyB,UAAW,gBAAgB/zG,OAAOpB,EAAM21G,6BAA+B,UAAW,+SAA+Sv0G,OAAOpB,EAAMg2G,oBAAsB,UAAW,yCAAyC50G,OAAOpB,EAAM61G,iBAAmB,UAAW,qBAAqBz0G,OAAOpB,EAAMg2G,oBAAsB,UAAW,sJAAsJ50G,OAAOpB,EAAM41G,WAAa,UAAW,shBAAshBx0G,OAAOpB,EAAM+1G,gBAAkB,UAAW,s2BAAs2B30G,OAAOpB,EAAMi2G,kBAAoB,UAAW,8aAA8a70G,OAAOpB,EAAMk2G,oBAAsB,UAAW,2JAA2J90G,OAAOpB,EAAMq3G,yBAA2B,UAAW,kBAAkBj2G,OAAOpB,EAAM+2G,0BAA4B,UAAW,WAAW31G,OAAOpB,EAAMs3G,oBAAsB,UAAW,gXAAgXl2G,OAAOpB,EAAMu3G,8BAAgC,UAAW,shBAAshBn2G,OAAOpB,EAAMs3G,oBAAsB,UAAW,qMAAqMl2G,OAAOpB,EAAMw3G,+BAAiC,UAAW,gBAAgBp2G,OAAOpB,EAAMy3G,8BAAgC,UAAW,2JAA2Jr2G,OAAOpB,EAAM03G,yBAA2B,UAAW,kBAAkBt2G,OAAOpB,EAAM23G,0BAA4B,UAAW,WAAWv2G,OAAOpB,EAAM43G,oBAAsB,UAAW,gXAAgXx2G,OAAOpB,EAAM63G,8BAAgC,UAAW,shBAAshBz2G,OAAOpB,EAAM43G,oBAAsB,UAAW,qMAAqMx2G,OAAOpB,EAAM83G,+BAAiC,UAAW,gBAAgB12G,OAAOpB,EAAM+3G,8BAAgC,UAAW,2JAA2J32G,OAAOpB,EAAMg4G,wBAA0B,UAAW,kBAAkB52G,OAAOpB,EAAMi4G,yBAA2B,UAAW,WAAW72G,OAAOpB,EAAMk4G,mBAAqB,UAAW,gXAAgX92G,OAAOpB,EAAMm4G,6BAA+B,UAAW,shBAAshB/2G,OAAOpB,EAAMk4G,mBAAqB,UAAW,qMAAqM92G,OAAOpB,EAAMo4G,8BAAgC,UAAW,gBAAgBh3G,OAAOpB,EAAMq4G,6BAA+B,UAAW,oSAAoSj3G,OAAOpB,EAAMm2G,iBAAmB,UAAW,sJAAsJ/0G,OAAOpB,EAAM02G,kBAAoB,UAAW,0LAA0Lt1G,OAAOpB,EAAM22G,uBAAyB,UAAW,2OAA2Ov1G,OAAOpB,EAAMs1G,yBAA2B,UAAW,2WAA2Wl0G,OAAOpB,EAAM22G,uBAAyB,UAAW,sJAAsJv1G,OAAOpB,EAAM8wG,WAAa,UAAW,qWAAqW1vG,OAAOpB,EAAMq2G,gBAAkB,UAAW,gMAAgMj1G,OAAOpB,EAAMs2G,iBAAmB,UAAW,+EAE1ztC,KAAQ,aACR,SAAY,aACZ,QAAW,aACX,wBAAyB,aACzB,uBAAwB,aACxB,cAAe,aACf,MAAS,aACT,WAAY,aACZ,QAAW,aACX,OAAU,aACV,MAAS,aACT,cAAe,aACf,eAAgB,aAChB,QAAW,aACX,MAAS,aACT,QAAW,aACX,QAAW,aACX,OAAU,aACV,MAAS,aACT,gBAAiB,aACjB,KAAQ,aACR,eAAgB,aAChB,iBAAkB,aAClB,iBAAkB,aAClB,gBAAiB,aACjB,KAAQ,aACR,eAAgB,cAGdgC,GAAiB,CAAC,iBAAkB,gBAAiB,kBACrDC,GAAiB,CAAC,iBAAkB,iBAAkB,gBAAiB,OAAQ,gBAO/EC,GAAiBzqE,aAA8CC,CAAKxB,EAA/BvmC,YAAUjG,GAAO+E,GAAuBkpC,EAAgB/wB,GAAQuvB,EAEzG,SAAUjkC,GAGR,SAASgwG,IACP,IAAI/Y,EAEAt4F,EAEJlJ,YAAgBsG,KAAMi0G,GAEtB,IAAK,IAAI1mG,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAwCzB,OArCA5K,EAAQtJ,YAA2B0G,MAAOk7F,EAAmBviG,YAAgBs7G,IAASz6G,KAAKvB,MAAMijG,EAAkB,CAACl7F,MAAMnD,OAAO8N,MAE3Hm6F,YAAc,SAAUxvF,GAC5B,IAAI60B,EAAcvnC,EAAMvI,MACpBmvD,EAAWrf,EAAYqf,SACvB6sC,EAAWlsD,EAAYksD,SACvB5c,EAAUtvC,EAAYsvC,QAEtBjwB,GAAY6sC,GACd/gF,EAAE8/C,iBACF9/C,EAAE+/C,mBAC0B,oBAAZokB,GAChBA,EAAQnkE,IAIZ1S,EAAMmiG,cAAgB,SAAUzvF,GAC9B,IAAIunF,EAAej6F,EAAMvI,MACrBmvD,EAAWqzC,EAAarzC,SACxB6sC,EAAWwG,EAAaxG,SACxB5c,EAAUojB,EAAapjB,QACvBp3D,EAAOw6E,EAAax6E,KAEE,WAAtBzf,EAAMuvE,aAA6B78D,EAAEkrB,UAAY0kE,IAAQpkE,MAAM+Z,OAASvlC,EAAEkrB,UAAY0kE,IAAQpkE,MAAMqkE,QACtG7vF,EAAE8/C,iBACF9/C,EAAE+/C,kBAEqB,oBAAZokB,GAA2BjwB,GAAa6sC,GACjD5c,EAAQnkE,GAGN+M,GACF1e,YAAYf,EAAMsxG,SAAS9O,UAK1BxiG,EA0IT,OA5LA5I,YAAUi6G,EAAQhwG,GAqDlB1J,YAAa05G,EAAQ,CAAC,CACpBj9G,IAAK,QACLC,MAAO,WACL0M,YAAY3D,KAAKk0G,SAASlzB,UAE3B,CACDhqF,IAAK,aACLC,MAAO,WACL,IAAI22G,EAAO5tG,KAAK3F,MAAMw0G,KAEtB,MAA+B,oBAApB7uG,KAAK3F,MAAMw0G,KACb9zG,IAAMC,cAAc,OAAQ,CACjC+vC,UAAWvqC,GAAOklG,SACjB3qG,IAAMC,cAAc4yG,EAAM,CAC3B1iE,QAAQ,KAED0iE,EACF7yG,IAAMC,cAAc,OAAQ,CACjC+vC,UAAWvqC,GAAOklG,SACjBkI,GAEI,OAGV,CACD52G,IAAK,qBACLC,MAAO,WACL,OAAI88G,GAAehxE,SAAS/iC,KAAK3F,MAAM86F,SAC9B,SAEA,YAGV,CACDn+F,IAAK,cACLC,MAAO,SAAqBk9G,GAC1B,IAAIpX,EAAe/8F,KAAK3F,MACpB86F,EAAU4H,EAAa5H,QACvBif,EAAarX,EAAaqX,WAE9B,OAAID,GAAeH,GAAejxE,SAASoyD,GAClC,OACEif,EACF,QAEA,SAGV,CACDp9G,IAAK,SACLC,MAAO,WACL,IAAIizC,EACA3F,EAASvkC,KAETg9F,EAAeh9F,KAAK3F,MACpB05F,EAAKiJ,EAAajJ,GAClByS,EAAYxJ,EAAawJ,UACzBhpG,EAAWw/F,EAAax/F,SACxBq3F,EAASmI,EAAanI,OACtBrrC,EAAWwzC,EAAaxzC,SACxBnnC,EAAO26E,EAAa36E,KACpBwsF,EAAO7R,EAAa6R,KACpBtT,EAASyB,EAAazB,OACtB9hB,EAAUujB,EAAavjB,QACvB4c,EAAW2G,EAAa3G,SACxBluF,EAAO60F,EAAa70F,KACpB+E,EAAO8vF,EAAa9vF,KACpBioF,EAAU6H,EAAa7H,QACvB2Q,EAAW9I,EAAa8I,SACxBuO,EAAuB1d,EAAmB32F,KAAK3F,MAAMmD,UACrD82G,EAAiBD,GAAwBr0G,KAAK3F,MAAMw0G,KAEpDsF,GAAeE,GAAwBr0G,KAAK3F,MAAMw0G,KAiBtD,IAAIna,EAAmBoG,IAAKiD,cAAclzD,YAAU7qC,KAAK3F,MAAO45G,EAAOnwG,WAAYmwG,GACnF,OAAOl5G,IAAMC,cAAc8/F,IAAM5jG,OAAOoL,OAAO,GAAIoyF,EAAkB,CACnE3pD,UAAWC,KAAYd,EAAc,GAAIpzC,YAAgBozC,EAAa1pC,GAAOyqC,MAAM,GAAOn0C,YAAgBozC,EAAa1pC,GAAO20F,IAAU,GAAOr+F,YAAgBozC,EAAa1pC,GAAO2H,GAAOA,GAAOrR,YAAgBozC,EAAa1pC,GAAO,UAAU3D,OAAOmD,KAAKu0G,YAAYJ,MAAgB,GAAOr9G,YAAgBozC,EAAa1pC,GAAO,iBAAiB3D,OAAOmD,KAAKw0G,wBAAwB,GAAO19G,YAAgBozC,EAAa1pC,GAAOgpD,SAAUA,GAAW1yD,YAAgBozC,EAAa1pC,GAAO,YAAaquG,GAAO3kE,IAC/esf,SAAUA,GAAY6sC,EACtB5c,QAASz5E,KAAK8kG,YACdE,UAAWhlG,KAAK+kG,cAChB1iF,KAAMA,EACNnV,KAAMmV,EAAO,KAAOnV,EACpB68B,KAAM0vC,GAAkB,WAAPsa,EAAkB,SAAW,KAC9C+R,SAAUrsB,GAAWsa,EAAK+R,GAAY,IAAMA,EAC5C1K,WAAY,SAAoBr3E,GAC9BwgB,EAAO2vE,QAAUnwF,EACQ,oBAAdyiF,GAA0BA,EAAUziF,IAEjDg3D,QAAS,KACTgZ,GAAI/zF,KAAKmyE,YACTopB,OAAQA,EACR1G,OAAQrrC,EAAW,cAAgBqrC,IACjCyf,EAAiBv5G,IAAMC,cAAc0jG,EAAM,CAC7Cr0D,OAAQ,OACRD,MAAO,QACNrvC,IAAMC,cAAc0jG,EAAKV,KAAM,CAChCf,QAAS,iBACRj9F,KAAKqlG,cAAetqG,IAAMC,cAAc0jG,EAAKV,KAAM,CACpDM,YAAY,EACZC,cAAc,GACbxjG,IAAMC,cAAc,OAAQ,CAC7B+vC,UAAWvqC,GAAOylG,SACjBzoG,KACHzC,IAAMC,cAAc,OAAQ,CAC1B+vC,UAAWvqC,GAAOylG,SACjB4I,GAAQ7uG,KAAKqlG,aAAc7nG,MAE/B,CACDxG,IAAK,cACL4M,IAAK,WACH,OAAOiwF,YAAeogB,EAAQj0G,KAAK3F,SAEpC,CACDrD,IAAK,UACL4M,IAAK,WACH,OAAO4yF,EAAgBx2F,KAAKk0G,aAIhCD,EAAOnyG,YAAc,SACdmyG,EA7LT,CA8LE7vG,aAAY8jC,EAAQpkC,UAAY,CAChCtG,SAAUjC,IAAUgC,KAAK6T,WACzBlE,KAAM3R,IAAUsM,MAAM,CAAC,SAAU,SAAU,UAC3CstF,QAAS55F,IAAUsM,MAAM,CAAC,UAAW,UAAW,UAAW,SAAU,QAAS,QAAS,gBAAiB,OAAQ,eAAgB,iBAAkB,iBAAkB,gBAAiB,OAAQ,iBAK7L2+F,UAAWjrG,IAAU4V,KAKrB4iF,GAAIx4F,IAAU42E,YACdhqE,KAAM5M,IAAUsM,MAAM,CAAC,QAAS,SAAU,UAK1CusG,WAAY74G,IAAU8I,KACtBmlD,SAAUjuD,IAAU8I,KACpBgyF,SAAU96F,IAAU8I,KACpBge,KAAM9mB,IAAUgwC,OAChBkuC,QAASl+E,IAAU4V,KAOnBoqF,OAAQ5zF,IAAmBS,QAM3BymG,KAAMtzG,IAAUiwC,UAAU,CAACjwC,IAAU4V,KAAM5V,IAAU0gD,UAMrD44C,OAAQt5F,IAAUgwC,OAClBu6D,SAAUvqG,IAAUiwC,UAAU,CAACjwC,IAAUkwC,OAAQlwC,IAAUgwC,UAC1DrD,EAAQ5jC,aAAe,CACxByvF,GAAI,SACJ7mF,KAAM,SACNioF,QAAS,UACThtF,KAAM,SACNozF,OAAQ,IACR6Y,YAAY,EACZ5N,UAAW,SAAmBnrC,KAC9Bw5B,OAAQ,UACRrrC,cAAU,EACViwB,aAAS,EACTo1B,UAAM,EACNxsF,UAAM,EACNg0E,cAAU,EACVyP,cAAU,GA1P2E79D,EA2PpFtvB,MAAWsvB,IAAWA,G,gDClTlB,SAASwsE,EAAWx9G,EAAO8e,QACd,IAAZA,IAAsBA,EAAU,IACpC,IAAI2+F,EAaR,SAA4Bz9G,GAExB,GAAIA,GAAsB,MAAbA,EAAM,IAA2B,MAAbA,EAAM,GACnC,OAAOA,EAAMgmB,OAAO,GAExB,OAAOhmB,EAlBU09G,CAAmB19G,GACpC,GAXG,SAAyBA,EAAO29G,GAMnC,MAL0B,qBAAfA,IAEPA,GACK39G,GAAuB,MAAbA,EAAM,IAA2B,MAAbA,EAAM,IAA2B,MAAbA,EAAM,KAEzD29G,EAKJC,CAAgBH,EAAY3+F,EAAQ6+F,YACpC,IACI,OAAO71E,KAAK4H,MAAM+tE,GAEtB,MAAOp/F,IAMX,OAAOre,ECxCX,IAAI69G,EAAej+G,EAAQ,ICHZk+G,EDIc,WACzB,SAASA,EAAQC,EAASj/F,GACtB,IAAInT,EAAQ5C,KACZA,KAAKi1G,gBAAkB,GACvBj1G,KAAKk1G,qBAAsB,EAC3Bl1G,KAAKg1G,QDEN,SAAsBA,EAASj/F,GAClC,MAAuB,kBAAZi/F,EACAG,QAAaH,EAASj/F,GAEL,kBAAZi/F,GAAoC,OAAZA,EAC7BA,EAGA,GCVQI,CAAaJ,EAASj/F,GACrC,IAAIq1E,SAAQ,WACRxoF,EAAMsyG,oBDTa,kBAAbh4G,UAAoD,kBAApBA,SAASi4G,UCUhDE,OAAM,eA2Db,OAzDAN,EAAQ37G,UAAUk8G,qBAAuB,SAAUC,GAC1Cv1G,KAAKk1G,sBAGVl1G,KAAKg1G,QAAUG,QAAaj4G,SAASi4G,OAAQI,KAEjDR,EAAQ37G,UAAUo8G,YAAc,SAAUtwE,GACtC,IAAK,IAAI9sC,EAAI,EAAGA,EAAI4H,KAAKi1G,gBAAgB38G,SAAUF,EAC/C4H,KAAKi1G,gBAAgB78G,GAAG8sC,IAGhC6vE,EAAQ37G,UAAUwK,IAAM,SAAU7B,EAAMgU,EAASw/F,GAG7C,YAFgB,IAAZx/F,IAAsBA,EAAU,IACpC/V,KAAKs1G,qBAAqBC,GACnBd,EAAWz0G,KAAKg1G,QAAQjzG,GAAOgU,IAE1Cg/F,EAAQ37G,UAAUq8G,OAAS,SAAU1/F,EAASw/F,QAC1B,IAAZx/F,IAAsBA,EAAU,IACpC/V,KAAKs1G,qBAAqBC,GAC1B,IAAIpsG,EAAS,GACb,IAAK,IAAIusG,KAAU11G,KAAKg1G,QACpB7rG,EAAOusG,GAAUjB,EAAWz0G,KAAKg1G,QAAQU,GAAS3/F,GAEtD,OAAO5M,GAEX4rG,EAAQ37G,UAAU0qC,IAAM,SAAU/hC,EAAM9K,EAAO8e,GAC3C,IAAImX,EACiB,kBAAVj2B,IACPA,EAAQ8nC,KAAKC,UAAU/nC,IAE3B+I,KAAKg1G,QAAUF,EAAa,GAAI90G,KAAKg1G,UAAU9nF,EAAK,IAAOnrB,GAAQ9K,EAAOi2B,IACtEltB,KAAKk1G,sBACLh4G,SAASi4G,OAASA,YAAiBpzG,EAAM9K,EAAO8e,IAEpD/V,KAAKw1G,YAAY,CAAEzzG,KAAMA,EAAM9K,MAAOA,EAAO8e,QAASA,KAE1Dg/F,EAAQ37G,UAAUouG,OAAS,SAAUzlG,EAAMgU,GACvC,IAAI4/F,EAAgB5/F,EAAU++F,EAAa,GAAI/+F,EAAS,CACpD2xB,QAAS,IAAI5sB,KAAK,KAAM,EAAG,EAAG,EAAG,EAAG,GACpC0sB,OAAQ,IAEZxnC,KAAKg1G,QAAUF,EAAa,GAAI90G,KAAKg1G,gBAC9Bh1G,KAAKg1G,QAAQjzG,GAChB/B,KAAKk1G,sBACLh4G,SAASi4G,OAASA,YAAiBpzG,EAAM,GAAI4zG,IAEjD31G,KAAKw1G,YAAY,CAAEzzG,KAAMA,EAAM9K,WAAOgW,EAAW8I,QAASA,KAE9Dg/F,EAAQ37G,UAAUw8G,kBAAoB,SAAU9mG,GAC5C9O,KAAKi1G,gBAAgBj9G,KAAK8W,IAE9BimG,EAAQ37G,UAAUy8G,qBAAuB,SAAU/mG,GAC/C,IAAI0lF,EAAMx0F,KAAKi1G,gBAAgBt0G,QAAQmO,GACnC0lF,GAAO,GACPx0F,KAAKi1G,gBAAgB1kG,OAAOikF,EAAK,IAGlCugB,EAnEkB,GEJdA,ICCXe,EAAiB/6G,gBAAoB,IAAIg6G,GAClCrkG,EAAWolG,EAAeplG,SCHjCqlG,GDGsDD,EAAehiG,SCH5B,WACzC,IAAIkiG,EAAgB,SAAUhyF,EAAGvL,GAI7B,OAHAu9F,EAAgB9+G,OAAO2B,gBAClB,CAAEE,UAAW,cAAgBmC,OAAS,SAAU8oB,EAAGvL,GAAKuL,EAAEjrB,UAAY0f,IACvE,SAAUuL,EAAGvL,GAAK,IAAK,IAAI1e,KAAK0e,EAAOA,EAAE5c,eAAe9B,KAAIiqB,EAAEjqB,GAAK0e,EAAE1e,MACpDiqB,EAAGvL,IAE5B,OAAO,SAAUuL,EAAGvL,GAEhB,SAASw9F,IAAOj2G,KAAK7G,YAAc6qB,EADnCgyF,EAAchyF,EAAGvL,GAEjBuL,EAAE5qB,UAAkB,OAANqf,EAAavhB,OAAOiD,OAAOse,IAAMw9F,EAAG78G,UAAYqf,EAAErf,UAAW,IAAI68G,IAV1C,IAgBzCC,EAAiC,SAAUC,GAE3C,SAASD,EAAgB77G,GACrB,IAAIuI,EAAQuzG,EAAO38G,KAAKwG,KAAM3F,IAAU2F,KAOxC,OANI3F,EAAM26G,QACNpyG,EAAMoyG,QAAU36G,EAAM26G,QAGtBpyG,EAAMoyG,QAAU,IAAID,EAEjBnyG,EAKX,OAdAmzG,EAAUG,EAAiBC,GAW3BD,EAAgB98G,UAAUirC,OAAS,WAC/B,OAAOtpC,gBAAoB2V,EAAU,CAAEzZ,MAAO+I,KAAKg1G,SAAWh1G,KAAK3F,MAAMmD,WAEtE04G,EAf0B,CAgBnCn7G,aACam7G,O,iCC1BLjuE,EAAQC,EAASvvB,E,sJA+B3B,IC9BiBsvB,EAAQC,EAASvvB,ED8B9BnY,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,6TAA6ToB,OAAOpB,EAAMm9F,mBAAqB,UAAW,MAEnX,KAAQ,aACR,eAAgB,aAChB,aAAc,aACd,gBAAiB,aACjB,iBAAkB,aAClB,KAAQ,aACR,OAAU,aACV,YAAe,cAUbwd,EAAmB10G,aErCR,SAAmB6F,GAEhC,MAAO,CACLqxF,kBAFWrxF,EAAKs4B,OAEUif,iBFkCUt+C,EAASipC,EAAe9wB,EAAQuvB,EAExE,SAAUjkC,GAGR,SAASmyG,IAGP,OAFA18G,YAAgBsG,KAAMo2G,GAEf98G,YAA2B0G,KAAMrH,YAAgBy9G,GAAUn+G,MAAM+H,KAAM3H,YAgDhF,OArDA2B,YAAUo8G,EAAUnyG,GAQpB1J,YAAa67G,EAAU,CAAC,CACtBp/G,IAAK,SAGLC,MAAO,WACL,IAAImnG,EAEA/jG,EAAQwwC,YAAU7qC,KAAK3F,MAAO+7G,EAAStyG,WACvCqmC,EAAcnqC,KAAK3F,MACnBgkG,EAAQl0D,EAAYk0D,MACpBtK,EAAK5pD,EAAY4pD,GACjBqH,EAAajxD,EAAYixD,WACzB59F,EAAW2sC,EAAY3sC,SACvBi6F,EAAYttD,EAAYstD,UACxBwG,EAAO9zD,EAAY8zD,KACnB1C,EAASpxD,EAAYoxD,OACrBM,EAAY1xD,EAAY0xD,UACxBC,EAAY3xD,EAAY2xD,UACxBmB,EAAU9yD,EAAY8yD,QACtBiB,EAAS/zD,EAAY+zD,OACrB/1F,EAAOgiC,EAAYhiC,KACnBqzF,EAAYrxD,EAAYqxD,UACxBR,EAAc7wD,EAAY6wD,YAC1BwD,EAA0B,WAAd/G,EACZh3F,EAAQ,CACVg+F,UAAWt2F,GAETqB,GAAW40F,EAAW,GAAItnG,YAAgBsnG,EAAU59F,EAAOyqC,MAAM,GAAOn0C,YAAgBsnG,EAAU59F,EAAOw6F,YAAaA,GAAclkG,YAAgBsnG,EAAU59F,EAAOy9F,KAAMA,GAAOnnG,YAAgBsnG,EAAU59F,EAAO09F,OAAQA,GAASpnG,YAAgBsnG,EAAU59F,EAAO,UAAU3D,OAAOwhG,IAASA,GAAQD,GAC3S,OAAOrjG,IAAMC,cAAc8/F,IAAM5jG,OAAOoL,OAAO,GAAIjI,EAAO,CACxD0wC,UAAWC,IAAWxhC,GACtB/I,MAAOA,EACP26F,WAAYA,EACZrH,GAAIA,EACJ4H,UAAW6C,EAAYr2F,OAAO,EAC9BuzF,SAAwB,QAAdjE,EAAsBtvF,OAAO,EACvCqzF,UAAWA,EACXD,OAAQA,EACR0B,QAASA,EACTpB,UAAWA,EACXC,UAAWA,IAAc0C,EAAY,OAAS,aAC5ChhG,OAIR44G,EAASt0G,YAAc,WAChBs0G,EAtDT,CAuDEhyG,aAAY8jC,EAAQpkC,UAAY,CAIhCu6F,MAAO9iG,IAAUsM,MAAM,CAAC,SAAU,QAAS,MAAO,YAKlDksF,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KACtB3T,SAAUjC,IAAUgC,KAKpBk6F,UAAWl8F,IAAUsM,MAAM,CAAC,MAAO,WAKnCo2F,KAAM1iG,IAAU8I,KAKhB65F,OAAQ3iG,IAAU8I,KAKlB8D,KAAM5M,IAAUgwC,OAChBiwD,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,SAAU,QAO/C0zF,OAAQ5zF,IAAmBS,QAO3B60F,QAASt1F,IAAmBS,QAK5B4yF,YAAaz/F,IAAU8I,KACvBw3F,UAAWtgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAC9Ci0F,UAAWvgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,aAC7CqgC,EAAQ5jC,aAAe,CACxByvF,GAAI,OACJqH,WAAY,SAAoBvxE,KAChCo0E,MAAM,EACNC,QAAQ,GAvH4Cj2D,EAwHnDtvB,KAAWsvB,ECpLd,kCAyCA,IAAIznC,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,qDAAqDoB,OAAOpB,EAAM2jD,YAAc,UAAW,wlBAAwlBviD,OAAOpB,EAAMm9F,mBAAqB,UAAW,MAEzuB,KAAQ,aACR,OAAU,aACV,iBAAkB,aAClB,IAAO,aACP,cAAe,aACf,UAAa,aACb,sBAAuB,aACvB,oBAAqB,aACrB,uBAAwB,aACxB,6BAA8B,aAC9B,8BAA+B,aAC/B,qBAAsB,aACtB,oBAAqB,aACrB,kBAAmB,aACnB,sBAAuB,aACvB,YAAe,cAUb8F,EAAe9L,YAAW,QAAS,KAAM,+BAAmEnpD,CAAKxB,EAA/BvmC,aEhDvE,SAAmB6F,GAChC,IAAIs4B,EAASt4B,EAAKs4B,OAElB,MAAO,CACLuf,WAFe73C,EAAK04B,WAEGmf,WACvBw5C,kBAAmB/4D,EAAOof,eF2CyEz+C,EAAuBkpC,EAAgB/wB,EAAQuvB,EAEtJ,SAAUjkC,GAGR,SAASy6F,IAGP,OAFAhlG,YAAgBsG,KAAM0+F,GAEfplG,YAA2B0G,KAAMrH,YAAgB+lG,GAAMzmG,MAAM+H,KAAM3H,YAiE5E,OAtEA2B,YAAU0kG,EAAMz6F,GAQhB1J,YAAamkG,EAAM,CAAC,CAClB1nG,IAAK,iBACLC,MAAO,WACL,IAAI2L,EAAQ5C,KAEZ,OAAOnF,WAASsD,IAAI6B,KAAK3F,MAAMmD,UAAU,SAAU7C,GACjD,OAAIA,EACKM,YAAiBN,EAAOkD,YAAc,CAC3Cm9F,YAAap4F,EAAMvI,MAAM2gG,aACxBrgG,EAAMN,MAAO,CAEdo9F,UAAW70F,EAAMvI,MAAMo9F,UAAUl5F,QAAQ,WAAY,OAGhD,UAIZ,CACDvH,IAAK,SACLC,MAAO,WACL,IAAImnG,EAEA/jG,EAAQwwC,YAAU7qC,KAAK3F,MAAOqkG,EAAK56F,WACnCqmC,EAAcnqC,KAAK3F,MACnB05F,EAAK5pD,EAAY4pD,GACjBqH,EAAajxD,EAAYixD,WACzB59F,EAAW2sC,EAAY3sC,SACvBi6F,EAAYttD,EAAYstD,UACxBptD,EAASF,EAAYE,OACrBa,EAASf,EAAYe,OACrBqwD,EAASpxD,EAAYoxD,OACrB0B,EAAU9yD,EAAY8yD,QACtB2B,EAAez0D,EAAYy0D,aAC3BpD,EAAYrxD,EAAYqxD,UACxBR,EAAc7wD,EAAY6wD,YAC1B5wD,EAAQD,EAAYC,MACpBu0D,EAAYx0D,EAAYw0D,UAGxBE,EAAa7+F,KAAK3F,MAAMwkG,aAA6B,WAAdpH,GAAwC,mBAAdA,EAAiC,UAAY,UAC9GjuF,GAAW40F,EAAW,GAAItnG,YAAgBsnG,EAAU59F,EAAOyqC,MAAM,GAAOn0C,YAAgBsnG,EAAU59F,EAAOw6F,YAAaA,GAAclkG,YAAgBsnG,EAAU59F,EAAO,iBAAiB3D,OAAO+hG,KAAgB,GAAO9nG,YAAgBsnG,EAAU59F,EAAO,eAAe3D,OAAOgiG,KAAc,GAAO/nG,YAAgBsnG,EAAU59F,EAAOm+F,UAAWA,GAAYP,GAE5V,OAAI5gG,GAAYzC,IAAMF,SAASC,MAAM0C,GAAY,EACxCzC,IAAMC,cAAc8/F,IAAM5jG,OAAOoL,OAAO,GAAIjI,EAAO,CACxD0wC,UAAWC,IAAWxhC,EAAShJ,EAAOi3F,IACtC2D,WAAYA,EACZrH,GAAIA,EACJhZ,QAAS7vC,EAAS,cAAgB,OAClCd,MAAOA,EACPC,OAAQA,EACRkxD,OAAQA,EACR0B,QAASA,EACTzB,UAAWA,IACTx7F,KAAK++F,kBAEF,SAKbL,EAAK58F,YAAc,OACZ48F,EAvET,CAwEEt6F,aAAY8jC,EAAQpkC,UAAY,CAIhCtG,SAAUgyG,IAAkB3nG,MAAM,CAACuuG,IAKnCriB,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KAKtBsmF,UAAWl8F,IAAUsM,MAAM,CAAC,MAAO,SAAU,cAAe,mBAK5DwiC,OAAQ9uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAKzDrB,MAAO7uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACxDP,OAAQ3vC,IAAU8I,KAClBm3F,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,SAAU,QAO/C0zF,OAAQ5zF,IAAmBS,QAO3B60F,QAASt1F,IAAmBS,QAC5By2F,WAAYtjG,IAAUsM,MAAM,CAAC,SAAU,QAAS,MAAO,YACvD+2F,aAAcrjG,IAAUsM,MAAM,CAAC,SAAU,QAAS,MAAO,eAAgB,kBAKzEmzF,YAAaz/F,IAAU8I,KACvBs6F,UAAWpjG,IAAU8I,MACpB6jC,EAAQ5jC,aAAe,CACxB9G,SAAU,KACVu2F,GAAI,OACJqH,WAAY,SAAoBvxE,KAChC4tE,UAAW,MACXmH,aAAc,QACd1zD,QAAQ,EACR8vD,aAAa,EACb2D,WAAW,EACXv0D,WAAO,EACPC,YAAQ,EACR4yD,aAAS,EACT1B,YAAQ,EACRsD,gBAAY,EACZrD,eAAW,GACVtzD,EAAQ81D,KAAOoY,EA/IkHnuE,EA+IxGtvB,KAAWsvB,IAAWA,G,oJG5KlD,SAASouE,EAAgBh8G,EAAOuM,EAAUH,GACxC,GAAiB,UAAbpM,EAAM05F,IACR,GAAiB,aAAbntF,GAA2BvM,EAAMmD,eAA2B,GAAfnD,EAAMpD,MACrD,OAAO,IAAIuR,MAAM,wDAAwD3L,OAAO4J,EAAe,qBAE5F,CACL,GAAiB,UAAbG,QAAuC,GAAfvM,EAAMpD,MAChC,OAAO,IAAIuR,MAAM,4DAA4D3L,OAAO4J,EAAe,iBAC9F,IAAKpM,EAAMmD,SAChB,OAAO,IAAIgL,MAAM,8CAA8C3L,OAAO4J,EAAe,mBAO5E4vG,IClDSpuE,EAAQC,EAASvvB,E,oCCe1B,SAASwvB,EAAU5gC,GAChC,IAAIo4B,EAAUp4B,EAAKo4B,QACfE,EAASt4B,EAAKs4B,OACdz3B,EAAUb,EAAKa,QACf63B,EAAa14B,EAAK04B,WACtB,MAAO,CACLmf,WAAYnf,EAAWmf,WACvBW,WAAY9f,EAAW+f,cACvBs2D,WAAYr2E,EAAW0f,gBACvB42D,aAAct2E,EAAW2f,gBACzB42D,WAAYv2E,EAAWyf,eACvB+2D,aAAcx2E,EAAW4f,iBACzB62D,WAAYz2E,EAAWwf,cACvBk3D,aAAc12E,EAAW6f,eACzB82D,WAAY32E,EAAWuf,eACvBq3D,aAAc52E,EAAW6f,eACzBg3D,WAAY72E,EAAWsf,cACvBw3D,aAAc92E,EAAW4f,iBACzBzX,oBAAqBvI,EAAOwI,aAC5BC,aAAczI,EAAO0I,YACrBC,eAAgB3I,EAAO4I,SACvBC,sBAAuB7I,EAAO8I,UAC9BquE,cAAe5uG,EAAQnC,SACvBk2F,YAAat8D,EAAO2e,aACpBz2C,YAAa43B,EAAQ8c,WACrBs7C,YAAap4D,EAAQl/B,OAIzB0nC,EAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACLooC,aAAcpoC,EAAU,8BDtD5B,kCAyCA,IAAIM,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,+BAA+BoB,OAAOpB,EAAM2jD,YAAc,UAAW,iBAAiBviD,OAAOpB,EAAMskD,YAAc,UAAW,8eAA8eljD,OAAOpB,EAAM66G,YAAc,UAAW,iBAAiBz5G,OAAOpB,EAAM86G,cAAgB,UAAW,+BAA+B15G,OAAOpB,EAAM+6G,YAAc,UAAW,iBAAiB35G,OAAOpB,EAAMg7G,cAAgB,UAAW,+BAA+B55G,OAAOpB,EAAMi7G,YAAc,UAAW,iBAAiB75G,OAAOpB,EAAMk7G,cAAgB,UAAW,+BAA+B95G,OAAOpB,EAAMm7G,YAAc,UAAW,iBAAiB/5G,OAAOpB,EAAMo7G,cAAgB,UAAW,+BAA+Bh6G,OAAOpB,EAAMq7G,YAAc,UAAW,iBAAiBj6G,OAAOpB,EAAMs7G,cAAgB,UAAW,mHAAmHl6G,OAAOpB,EAAMsM,aAAe,UAAW,KAAKlL,OAAOpB,EAAMs8F,aAAe,UAAW,KAAKl7F,OAAOpB,EAAM0gG,aAAe,UAAW,iBAAiBt/F,OAAOpB,EAAMu7G,eAAiB,UAAW,mCAAmCn6G,OAAOpB,EAAMsM,aAAe,UAAW,KAAKlL,OAAOpB,EAAMs8F,aAAe,UAAW,KAAKl7F,OAAOpB,EAAM0gG,aAAe,UAAW,oBAAoBt/F,OAAOpB,EAAMu7G,eAAiB,UAAW,yDAAyDn6G,OAAOpB,EAAM6sC,cAAgB,UAAW,2BAA2BzrC,OAAOpB,EAAM+sC,gBAAkB,UAAW,2BAA2B3rC,OAAOpB,EAAM2sC,qBAAuB,UAAW,2BAA2BvrC,OAAOpB,EAAMitC,uBAAyB,UAAW,8FAEjhE,KAAQ,aACR,YAAa,aACb,YAAa,aACb,YAAa,aACb,YAAa,aACb,YAAa,aACb,eAAgB,aAChB,cAAe,aACf,iBAAkB,aAClB,iBAAkB,aAClB,iBAAkB,aAClB,mBAAoB,aACpB,yBAA0B,aAC1B,2BAA4B,aAC5B,SAAY,cASVuuE,EAAkBrkB,YAAW,QAAS,CACxCskB,SAAU,oBAC8CztE,CAAKxB,EAAnDuB,aAA4DE,CAAMzB,EAA9CvmC,YAAUjG,EAAO+E,EAAsCy6F,EAAgBtiF,EAAQuvB,EAE/G,SAAUjkC,GAGR,SAASgzG,IAGP,OAFAv9G,YAAgBsG,KAAMi3G,GAEf39G,YAA2B0G,KAAMrH,YAAgBs+G,GAASh/G,MAAM+H,KAAM3H,YAmC/E,OAxCA2B,YAAUi9G,EAAShzG,GAQnB1J,YAAa08G,EAAS,CAAC,CACrBjgH,IAAK,SACLC,MAAO,WACL,IAAIizC,EAEAC,EAAcnqC,KAAK3F,MACnB88G,EAAShtE,EAAYgtE,OACrB35G,EAAW2sC,EAAY3sC,SACvBktB,EAAQyf,EAAYzf,MACpBvgB,EAAQggC,EAAYhgC,MACpBoxF,EAASpxD,EAAYoxD,OACrBH,EAAajxD,EAAYixD,WACzB8b,EAAW/sE,EAAY+sE,SACvB78G,EAAQ+R,YAAyB+9B,EAAa,CAAC,SAAU,WAAY,QAAS,QAAS,SAAU,aAAc,aAE/G4rD,EAAclC,YAAeojB,EAASj3G,KAAK3F,OAAO,WACpD,MAAc,UAAV8P,EACK,OAEAA,KAGX,OAAOpP,IAAMC,cAAc8/F,IAAM5jG,OAAOoL,OAAO,GAAIoyF,YAAiBr6F,GAAQ,CAC1E0wC,UAAWC,KAAYd,EAAc,GAAIpzC,YAAgBozC,EAAa1pC,EAAOyqC,MAAM,GAAOn0C,YAAgBozC,EAAa1pC,EAAO,UAAU3D,OAAOsN,KAAS,GAAOrT,YAAgBozC,EAAa1pC,EAAO,UAAU3D,OAAO6tB,IAASA,GAAQ5zB,YAAgBozC,EAAa1pC,EAAO,WAAW3D,OAAOs6G,IAAqB,SAAXA,GAAoBrgH,YAAgBozC,EAAa1pC,EAAO02G,SAAUA,GAAWhtE,IAClX6pD,GAAIgC,EACJwF,OAAQA,EACRH,WAAYA,IACV59F,OAIRy5G,EAAQn1G,YAAc,UACfm1G,EAzCT,CA0CE7yG,aAAY8jC,EAAQpkC,UAAY,CAIhCqzG,OAAQ57G,IAAUsM,MAAM,CAAC,OAAQ,MAAO,WAKxCrK,SAAU64G,EAKV3rF,MAAOnvB,IAAUsM,MAAM,CAAC,UAAW,YAAa,kBAAmB,oBAAqB,YAKxFsC,MAAO5O,IAAUsM,MAAM,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,UAMtDksF,GAAIx4F,IAAU42E,YAQdopB,OAAQ5zF,IAAmBS,QAK3BgzF,WAAY7/F,IAAU4V,KAOtB+lG,SAAU37G,IAAU8I,MAGnB6jC,EAAQ5jC,aAAe,CACxB9G,SAAU,KACV+9F,YAAQ,EACRH,gBAAY,EACZ+b,OAAQ,OACRzsF,MAAO,UACPvgB,MAAO,MAlGoF89B,EAmG1FtvB,KAAWsvB,IAAWA,IAAWA,G,iCElKZA,EAAQC,EAASvvB,E,8ICerCkH,EAAiC,qBAAdD,WAA6BA,UAAUC,WAAa,GAShEu3F,EAAS,gBAAgBz0E,KAAK9iB,G,kBCT1B,SAASsoB,EAAU5gC,GAChC,IAAIs4B,EAASt4B,EAAKs4B,OAClB,MAAO,CACLw3E,WAAYx3E,EAAOge,gBACnBnzB,MAAOmV,EAAOke,gBACdu5D,WAAY,QACZC,kBAAmB,SACnBC,UAAW,MACXC,iBAAkB,UAClBC,WAAY,MACZC,kBAAmB,QACnBC,UAAW,MACXC,iBAAkB,SAClBC,aAAcj4E,EAAOke,iBAIzB5V,EAAU,eAAiBA,EAAU,wBAA0B,SAAU1gC,GAEvE,MAAO,CACLqwG,aAFWrwG,EAAMo4B,OAEIie,qBAIzB3V,EAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACLwqB,MAAOxqB,EAAU,sBFjDrB,kCA0CA,IAAIM,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,8VAA8VoB,OAAOpB,EAAM47G,YAAc,UAAW,oDAAoDx6G,OAAOpB,EAAM67G,YAAc,UAAW,WAAWz6G,OAAOpB,EAAM67G,YAAc,UAAW,sEAAsEz6G,OAAOpB,EAAM87G,mBAAqB,UAAW,4EAA4E16G,OAAOpB,EAAM67G,YAAc,UAAW,aAAaz6G,OAAOpB,EAAM67G,YAAc,UAAW,uDAAuDz6G,OAAOpB,EAAM+7G,WAAa,UAAW,WAAW36G,OAAOpB,EAAM+7G,WAAa,UAAW,sEAAsE36G,OAAOpB,EAAMg8G,kBAAoB,UAAW,4EAA4E56G,OAAOpB,EAAM+7G,WAAa,UAAW,aAAa36G,OAAOpB,EAAM+7G,WAAa,UAAW,uDAAuD36G,OAAOpB,EAAMi8G,YAAc,UAAW,WAAW76G,OAAOpB,EAAMi8G,YAAc,UAAW,8FAA8F76G,OAAOpB,EAAMk8G,mBAAqB,UAAW,+EAA+E96G,OAAOpB,EAAMi8G,YAAc,UAAW,aAAa76G,OAAOpB,EAAMi8G,YAAc,UAAW,uDAAuD76G,OAAOpB,EAAMm8G,WAAa,UAAW,WAAW/6G,OAAOpB,EAAMm8G,WAAa,UAAW,8FAA8F/6G,OAAOpB,EAAMo8G,kBAAoB,UAAW,6EAA6Eh7G,OAAOpB,EAAMm8G,WAAa,UAAW,aAAa/6G,OAAOpB,EAAMm8G,WAAa,UAAW,0gBAA0gB/6G,OAAOpB,EAAMivB,OAAS,UAAW,wCAAwC7tB,OAAOpB,EAAMq8G,cAAgB,UAAW,MAEvsF,KAAQ,aACR,YAAe,aACf,UAAW,aACX,OAAU,aACV,WAAc,aACd,MAAS,aACT,OAAU,aACV,MAAS,aACT,OAAU,aACV,KAAQ,aACR,MAAS,aACT,QAAW,aACX,QAAW,cASTC,EAAkBnlB,YAAW,QAAS,CACxCvxD,MAAO,eACiDoI,CAAKxB,EAAnDuB,aAA4DE,CAAMzB,EAA9CvmC,YAAUjG,EAAO+E,EAAsCy6F,EAAgBtiF,EAAQuvB,EAE/G,SAAUjkC,GAGR,SAAS8zG,EAAQ19G,GACf,IAAIuI,EAMJ,OAJAlJ,YAAgBsG,KAAM+3G,IAEtBn1G,EAAQtJ,YAA2B0G,KAAMrH,YAAgBo/G,GAASv+G,KAAKwG,QACjE2pC,QAAU1nC,YAAI,WACbW,EA+DT,OAxEA5I,YAAU+9G,EAAS9zG,GAYnB1J,YAAaw9G,EAAS,CAAC,CACrB/gH,IAAK,SACLC,MAAO,WACL,OAAQ+I,KAAK3F,MAAM8N,MACjB,IAAK,UACH,MAAO,QAET,IAAK,QACH,MAAO,MAET,IAAK,QACH,MAAO,SAET,QACE,MAAO,YAGZ,CACDnR,IAAK,SACLC,MAAO,WACL,IAAImnG,EAEA50F,GAAW40F,EAAW,GAAItnG,YAAgBsnG,EAAU59F,EAAOyqC,MAAM,GAAOn0C,YAAgBsnG,EAAU59F,EAAOR,KAAK3F,MAAM8N,OAAO,GAAOrR,YAAgBsnG,EAAU59F,EAAOR,KAAK3F,MAAM86F,UAAU,GAAOr+F,YAAgBsnG,EAAU59F,EAAOw3G,KAAMZ,GAAShZ,GAC/O1J,EAAmBoG,IAAKiD,cAAclzD,YAAU7qC,KAAK3F,MAAO09G,EAAQj0G,WAAYi0G,GACrE/3G,KAAK3F,MAAM8wC,aAAenrC,KAAK3F,MAAMgnC,MAOpD,OAAOtmC,IAAMC,cAAc8/F,IAAM5jG,OAAOoL,OAAO,GAAIoyF,EAAkB,CACnEX,GAAI/zF,KAAK3F,MAAM05F,GACfqH,WAAYp7F,KAAK3F,MAAM+gG,WACvBrwD,UAAWxhC,IAAWC,GACtB+xF,OAAQv7F,KAAK3F,MAAMkhG,SACjBxgG,IAAMC,cAAc,MAAO,CAC7B+vC,UAAWvqC,EAAO8E,OAClBykC,KAAM,MACN,kBAAmB/pC,KAAK2pC,QACxBW,UAAW,SACVvvC,IAAMC,cAAc,QAAS,CAC9BoC,GAAI4C,KAAK2pC,SACRyrD,YAAep1F,KAAK3F,MAAM8wC,cAAepwC,IAAMC,cAAc,IAAK,CACnE+uC,KAAM,gBACkB,YAAvB/pC,KAAK3F,MAAM86F,SAAyBp6F,IAAMC,cAAc,SAAU,CACnE+vC,UAAWvqC,EAAOy3G,YAClBC,GAAI,MACJC,GAAI,MACJttF,EAAG7qB,KAAKo4G,WACNr9G,IAAMC,cAAc,SAAU,CAChC+vC,UAAWvqC,EAAO63G,WAClBH,GAAI,MACJC,GAAI,MACJttF,EAAG7qB,KAAKo4G,kBAKdL,EAAQj2G,YAAc,UACfi2G,EAzET,CA0EE3zG,aAAY8jC,EAAQpkC,UAAY,CAIhCqnC,YAAa5vC,IAAUiwC,UAAU,CAACjwC,IAAU4V,KAAM5V,IAAUgC,OAK5D4K,KAAM5M,IAAUsM,MAAM,CAAC,UAAW,QAAS,SAAU,UAKrDstF,QAAS55F,IAAUsM,MAAM,CAAC,UAAW,YAOrC0zF,OAAQ5zF,IAAmBS,QAC3BgzF,WAAY7/F,IAAU4V,KACtB4iF,GAAIx4F,IAAU42E,YAGd9wC,MAAO9lC,IAAUgwC,QAIhBrD,EAAQ5jC,aAAe,CACxB6mC,iBAAa,EACb4oD,GAAI,MACJ5rF,KAAM,SACNgtF,QAAS,UACToG,YAAQ,EACRH,gBAAY,GAhH+EnzD,EAiH1FtvB,KAAWsvB,IAAWA,IAAWA,G,gNG3JrB,SAASE,EAAU5gC,GAChC,IAAI04B,EAAa14B,EAAK04B,WAClBJ,EAASt4B,EAAKs4B,OACdF,EAAUp4B,EAAKo4B,QACfv3B,EAAUb,EAAKa,QACf23B,EAAUx4B,EAAKw4B,QACfj4B,EAAWP,EAAKO,SAChB83B,EAAcr4B,EAAKq4B,YACLr4B,EAAKy4B,YACvB,OAAOniC,YAAc,CACnBuhD,WAAYnf,EAAWmf,WACvB10B,MAAOmV,EAAO0I,YACduvD,oBAAqBj4D,EAAOwI,aAC5B0vD,YAAap4D,EAAQl/B,MACrBu3F,mBAAoBn4D,EAAO2e,aAC3By5C,qBAAsBp4D,EAAO4e,WAC7By5C,mBAAoBr4D,EAAOif,cAC3Bq5C,iBAAkBt4D,EAAO8e,YACzBy5C,gBAAiBv4D,EAAOgf,WACxBw5C,iBAAkBx4D,EAAO+e,YACzB05C,mBAAoBz4D,EAAOmf,cAC3Bu5C,kBAAmB14D,EAAOkf,aAC1By5C,uBAAwB,cACxBC,kBAAmB94D,EAAQ2c,YAC3Bo8C,mBAAoB/4D,EAAQ4c,aAC5Bo8C,kBAAmBh5D,EAAQ6c,YAC3Bo8C,kBAAmB/4D,EAAOof,YAC1B45C,kBAAmBh5D,EAAOie,mBAC1Bg7C,oBAAqBj5D,EAAOge,gBAC5Bk7C,yBAA0Bl5D,EAAO6d,kBACjCK,gBAAiBle,EAAOke,gBACxBG,eAAgBre,EAAOqe,eACvBD,gBAAiBpe,EAAOoe,gBACxBE,kBAAmBte,EAAOse,kBAC1BC,iBAAkBve,EAAOue,iBACzBC,kBAAmBxe,EAAOwe,kBAC1B26C,UAAW,SACXC,kBAAmBt5D,EAAQl/B,MAC3By4F,kBAAmBv5D,EAAQ+c,YAC3By8C,mBAAoB,YACpBC,kBAAmB,OAEnBC,eAAgBx5D,EAAOgf,WACvBy6C,iBAAkBz5D,EAAOkf,aACzBw6C,kBAAmB15D,EAAOif,cAC1B06C,kBAAmB35D,EAAOye,eAC1Bm7C,eAAgB75D,EAAY/5B,OAC5B6zF,cAAe95D,EAAY16B,MAC3By0F,eAAgB/5D,EAAYz6B,OAC5By0F,cAAeh6D,EAAYx6B,OAC1B4B,YAAc,SAAUoB,GAAU,GAAIpB,YAAc,UAAWoB,GAAU,GAAIpB,YAAc,SAAU+4B,GAAU,GAAI/4B,YAAc,WAAYc,GAAW,GAAId,YAAc,SAAU24B,IAGzLwI,EAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACLwqB,MAAOxqB,EAAU,4BACjBm5F,eAAgBn5F,EAAU,oBAC1B69C,gBAAiB79C,EAAU,oBAC3Bg+C,eAAgBh+C,EAAU,oBAC1Bi4F,iBAAkBj4F,EAAU,oBAC5Bk4F,gBAAiBl4F,EAAU,sBChE/B,ICdwB+nC,EAAQC,EAASvvB,EDsB9BkhF,EAAehxF,YAAmB,CAC3C1K,IATQ,CACR+7F,mBAAoB,qBACpBC,mBAAoB,yBACpBC,aAAc,sBACdlyF,WAAY,oBACZ21C,gBAAiB,sBACjBw8C,kBAAmB,4BAInBtxF,QAAS,UClCX,kCA2CA,IAAIvI,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,qDAAqDoB,OAAOpB,EAAM2jD,YAAc,UAAW,qlBAAqlBviD,OAAOpB,EAAMm9F,mBAAqB,UAAW,kCAAkC/7F,OAAOpB,EAAMs8F,aAAe,UAAW,8CAA8Cl7F,OAAOpB,EAAM+8F,wBAA0B,UAAW,8CAA8C37F,OAAOpB,EAAMu8F,oBAAsB,UAAW,kCAAkCn7F,OAAOpB,EAAMw8F,sBAAwB,UAAW,kCAAkCp7F,OAAOpB,EAAM08F,kBAAoB,UAAW,kCAAkCt7F,OAAOpB,EAAM28F,iBAAmB,UAAW,kCAAkCv7F,OAAOpB,EAAMy8F,oBAAsB,UAAW,kCAAkCr7F,OAAOpB,EAAM68F,oBAAsB,UAAW,kCAAkCz7F,OAAOpB,EAAM48F,kBAAoB,UAAW,kCAAkCx7F,OAAOpB,EAAM88F,mBAAqB,UAAW,2CAA2C17F,OAAOpB,EAAMivB,OAAS,UAAW,4CAA4C7tB,OAAOpB,EAAMo9F,mBAAqB,UAAW,WAAWh8F,OAAOpB,EAAMivB,OAAS,UAAW,4CAA4C7tB,OAAOpB,EAAMq9F,qBAAuB,UAAW,WAAWj8F,OAAOpB,EAAMivB,OAAS,UAAW,4CAA4C7tB,OAAOpB,EAAMs9F,0BAA4B,UAAW,WAAWl8F,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAMsiD,iBAAmB,UAAW,WAAWlhD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAMyiD,gBAAkB,UAAW,WAAWrhD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAMwiD,iBAAmB,UAAW,WAAWphD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAM0iD,mBAAqB,UAAW,WAAWthD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAM2iD,kBAAoB,UAAW,WAAWvhD,OAAOpB,EAAMq8F,qBAAuB,UAAW,gCAAgCj7F,OAAOpB,EAAM4iD,mBAAqB,UAAW,WAAWxhD,OAAOpB,EAAMq8F,qBAAuB,UAAW,6BAA6Bj7F,OAAOpB,EAAM6+F,iBAAmB,UAAW,6BAA6Bz9F,OAAOpB,EAAM8+F,eAAiB,UAAW,6BAA6B19F,OAAOpB,EAAM++F,eAAiB,UAAW,6BAA6B39F,OAAOpB,EAAMg/F,iBAAmB,UAAW,gCAAgC59F,OAAOpB,EAAMi/F,eAAiB,UAAW,gCAAgC79F,OAAOpB,EAAMk/F,eAAiB,UAAW,gCAAgC99F,OAAOpB,EAAMm/F,aAAe,UAAW,mVAAmV/9F,OAAOpB,EAAMo/F,0BAA4B,UAAW,kBAAkBh+F,OAAOpB,EAAMw9F,mBAAqB,UAAW,kBAAkBp8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,gNAAkNr8F,OAAOpB,EAAM09F,oBAAsB,UAAW,mBAAmBt8F,OAAOpB,EAAM09F,oBAAsB,UAAW,oBAAoBt8F,OAAOpB,EAAM09F,oBAAsB,UAAW,kBAAkBt8F,OAAOpB,EAAM09F,oBAAsB,UAAW,6DAA6Dt8F,OAAOpB,EAAM29F,mBAAqB,UAAW,UAAUv8F,OAAOpB,EAAM29F,mBAAqB,UAAW,WAAWv8F,OAAOpB,EAAM29F,mBAAqB,UAAW,SAASv8F,OAAOpB,EAAM29F,mBAAqB,UAAW,gNAAgNv8F,OAAOpB,EAAMg9F,mBAAqB,UAAW,OAAO57F,OAAOpB,EAAM09F,oBAAsB,UAAW,OAAOt8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMi9F,oBAAsB,UAAW,OAAO77F,OAAOpB,EAAM09F,oBAAsB,UAAW,OAAOt8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMk9F,mBAAqB,UAAW,OAAO97F,OAAOpB,EAAM09F,oBAAsB,UAAW,OAAOt8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMg9F,mBAAqB,UAAW,OAAO57F,OAAOpB,EAAM29F,mBAAqB,UAAW,OAAOv8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMi9F,oBAAsB,UAAW,OAAO77F,OAAOpB,EAAM29F,mBAAqB,UAAW,OAAOv8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,iFAAiFr8F,OAAOpB,EAAMk9F,mBAAqB,UAAW,OAAO97F,OAAOpB,EAAM29F,mBAAqB,UAAW,OAAOv8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,uOAAuOr8F,OAAOpB,EAAM49F,gBAAkB,UAAW,+DAA+Dx8F,OAAOpB,EAAM+9F,mBAAqB,UAAW,+DAA+D38F,OAAOpB,EAAM89F,mBAAqB,UAAW,+DAA+D18F,OAAOpB,EAAM69F,kBAAoB,UAAW,yNAAyNz8F,OAAOpB,EAAMw9F,mBAAqB,UAAW,mBAAmBp8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,yDAAyDr8F,OAAOpB,EAAM49F,gBAAkB,UAAW,yDAAyDx8F,OAAOpB,EAAM+9F,mBAAqB,UAAW,yDAAyD38F,OAAOpB,EAAM69F,kBAAoB,UAAW,MAErqO,KAAQ,aACR,kBAAmB,aACnB,iBAAkB,aAClB,wBAAyB,aACzB,gBAAiB,aACjB,uBAAwB,aACxB,mBAAoB,aACpB,oBAAqB,aACrB,iBAAkB,aAClB,gBAAmB,aACnB,WAAc,aACd,uBAAwB,aACxB,2BAA4B,aAC5B,uBAAwB,aACxB,uBAAwB,aACxB,yBAA0B,aAC1B,qBAAsB,aACtB,oBAAqB,aACrB,uBAAwB,aACxB,uBAAwB,aACxB,qBAAsB,aACtB,sBAAuB,aACvB,0BAA2B,aAC3B,sBAAuB,aACvB,sBAAuB,aACvB,oBAAqB,aACrB,wBAAyB,aACzB,sBAAuB,aACvB,8BAA+B,aAC/B,oBAAqB,aACrB,mBAAoB,aACpB,oBAAqB,aACrB,sBAAuB,aACvB,qBAAsB,aACtB,sBAAuB,aACvB,oBAAqB,aACrB,kBAAmB,aACnB,kBAAmB,aACnB,oBAAqB,aACrB,kBAAmB,aACnB,kBAAmB,aACnB,gBAAiB,aACjB,oBAAqB,aACrB,kBAAmB,aACnB,oBAAqB,aACrB,kBAAmB,aACnB,qBAAsB,aACtB,kBAAmB,aACnB,qBAAsB,aACtB,mBAAoB,aACpB,MAAS,aACT,eAAkB,aAClB,wBAAyB,aACzB,uBAAwB,aACxB,2BAA4B,aAC5B,wBAAyB,aACzB,yBAA0B,aAC1B,0BAA2B,aAC3B,yBAA0B,aAC1B,sBAAyB,aACzB,iBAAoB,aACpB,mBAAoB,aACpB,sBAAuB,aACvB,sBAAuB,aACvB,qBAAsB,cAWpBwB,EAAelI,YAAW,QAAS,CACrCmI,QAAS,mBACTC,YAAa,mBAC8DvxD,CAAKxB,EAAtEiE,aAA+ExC,CAAMzB,EAA5DvmC,YAAUjG,EAAO+E,EAAQq5F,EAA4CoB,EAAgBtiF,EAAQuvB,EAElI,SAAUjkC,GAGR,SAAS62F,IACP,IAAII,EAEAt4F,EAEJlJ,YAAgBsG,KAAM86F,GAEtB,IAAK,IAAIvtF,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAoBzB,OAjBA5K,EAAQtJ,YAA2B0G,MAAOk7F,EAAmBviG,YAAgBmiG,IAAOthG,KAAKvB,MAAMijG,EAAkB,CAACl7F,MAAMnD,OAAO8N,MAEzHwwF,iBAAmB,SAAUtxE,GACK,oBAA3BjnB,EAAMvI,MAAM+gG,YACrBx4F,EAAMvI,MAAM+gG,WAAWvxE,GAGzBjnB,EAAMy4F,SAAWxxE,GAGnBjnB,EAAM04F,oBAAsB,SAAUxtC,EAAc8U,GAClD,MAAqB,kBAAVA,GACJA,EAAMtkE,OAAOL,MAAM,KAAKmf,OAAM,SAAUnmB,GAC7C,OAAO62D,IAAiB72D,MAIrB2L,EAoNT,OAlPA5I,YAAU8gG,EAAM72F,GAiChB1J,YAAaugG,EAAM,CAAC,CAClB9jG,IAAK,oBACLC,MAAO,WA0BH+I,KAAKq7F,SAAUr7F,KAAK3F,MAAMkhG,SAE7B,CACDvkG,IAAK,SACLC,MAAO,WACL,IAAIsQ,EAAMrP,EAENiyC,EAAcnqC,KAAK3F,MACnBmD,EAAW2sC,EAAY3sC,SACvBg+F,EAAYrxD,EAAYqxD,UACxBtzF,EAAaiiC,EAAYjiC,WACzB6yE,EAAU5wC,EAAY4wC,QACtB0gB,EAAkBtxD,EAAYsxD,gBAC9BrxD,EAAQD,EAAYC,MACpBC,EAASF,EAAYE,OACrBqxD,EAAWvxD,EAAYuxD,SACvBC,EAAYxxD,EAAYwxD,UACxBl7C,EAAWtW,EAAYsW,SACvBm7C,EAAYzxD,EAAYyxD,UACxBC,EAAY1xD,EAAY0xD,UACxBC,EAAY3xD,EAAY2xD,UACxBh0F,EAAWqiC,EAAYriC,SACvBF,EAASuiC,EAAYviC,OACrBm0F,EAAW5xD,EAAY4xD,SACvBC,EAAgB7xD,EAAY6xD,cAC5BC,EAAa9xD,EAAY8xD,WACzBC,EAAqB/xD,EAAY+xD,mBACjCC,EAAchyD,EAAYgyD,YAC1BpxD,EAAYZ,EAAYY,UACxB1wC,EAAQ+R,YAAyB+9B,EAAa,CAAC,WAAY,YAAa,aAAc,UAAW,kBAAmB,QAAS,SAAU,WAAY,YAAa,WAAY,YAAa,YAAa,YAAa,WAAY,SAAU,WAAY,gBAAiB,aAAc,qBAAsB,cAAe,cAEzT4rD,EAAclC,YAAeiH,EAAM96F,KAAK3F,OACxC+hG,EAAmBp8F,KAAKo8F,iBACxBC,EAAmC,aAAbN,GAAuC,WAAZhhB,GAA0C,UAAlBihB,GAA6Bz0F,EAAO,GAAIzQ,YAAgByQ,EAAM/G,EAAOwgF,OAAO,GAAOlqF,YAAgByQ,EAAM/G,EAAO47F,iBAAkBA,GAAmBtlG,YAAgByQ,EAAM/G,EAAO87F,sBAAmD,qBAArBF,GAAmCtlG,YAAgByQ,EAAM/G,EAAOR,KAAKu8F,kBAAkB,GAAOzlG,YAAgByQ,EAAM/G,EAAO,kBAAkB3D,OAAOm/F,KAAiB,GAAOllG,YAAgByQ,EAAM/G,EAAO,eAAe3D,OAAOo/F,KAAc,GAAOnlG,YAAgByQ,EAAM/G,EAAOg8F,eAAgBN,GAAqB30F,GAAQ,GACvlBiC,EAAUwhC,IAAWntC,aAAe3F,EAAiB,GAAIpB,YAAgBoB,EAAgBsI,EAAOyqC,MAAM,GAAOn0C,YAAgBoB,EAAgBsI,EAAOi7F,gBAAiBA,GAAmBz7F,KAAK3F,MAAM2gG,aAAclkG,YAAgBoB,EAAgBsI,EAAOi8F,WAAYz8F,KAAKy8F,YAAa3lG,YAAgBoB,EAAgBsI,EAAO,gBAAgB3D,OAAOs/F,IAAen8F,KAAKy8F,YAAa3lG,YAAgBoB,EAAgBsI,EAAO,cAAc3D,OAAO2+F,IAAaA,GAAY1kG,YAAgBoB,EAAgBsI,EAAO,eAAe3D,OAAOqL,IAAcA,GAAapR,YAAgBoB,EAAgBsI,EAAO,YAAY3D,OAAOk+E,IAAWA,GAAuB,SAAZA,GAAqBjkF,YAAgBoB,EAAgBsI,EAAO,cAAc3D,OAAOg/F,IAAaA,GAA2B,YAAdA,GAA0B/kG,YAAgBoB,EAAgBsI,EAAO,cAAc3D,OAAOi/F,IAAaA,GAA2B,YAAdA,GAA0BhlG,YAAgBoB,EAAgBsI,EAAO,aAAa3D,OAAOiL,IAAYA,GAAWhR,YAAgBoB,EAAgBsI,EAAO,WAAW3D,OAAO+K,IAAUA,GAAqB,SAAXA,GAAoB9Q,YAAgBoB,EAAgBsI,EAAO,aAAa3D,OAAOk/F,IAAyB,WAAbA,GAAwB7jG,GAAiBmkG,EAAqBvlG,YAAgB,GAAIi0C,EAAWA,KAClsC,OAAOhwC,IAAMC,cAAc+6F,EAAa7+F,OAAOoL,OAAO,GAAIoyF,YAAiBr6F,GAAQ,CACjF0wC,UAAWvhC,EACX/I,MAAO5C,YAAc,GAAImC,KAAK08F,aAAc,GAAI18F,KAAK+3F,YAAa,GAAI/3F,KAAK28F,YAAa,CACtFvyD,MAAOA,EACPC,OAAQA,EACRqxD,SAAUA,EACVC,UAAWA,EACXl7C,SAAUA,EACVm7C,UAAWA,GACV57F,KAAK48F,YACRpnF,IAAKxV,KAAKm7F,mBACR39F,KAEL,CACDxG,IAAK,mBACL4M,IAAK,WACH,GAA2C,qBAAhC5D,KAAK3F,MAAM+hG,kBAAkE,qBAAvBp8F,KAAK3F,MAAM0gG,QAA5E,CAIA,IAAI8B,EAAe78F,KAAK3F,MAIpB+hG,GAHWS,EAAad,SACdc,EAAa9hB,QACP8hB,EAAab,cACVh8F,KAAK3F,MAAM0gG,SAAW/6F,KAAK3F,MAAM+hG,kBAcxD,OAAOA,KAER,CACDplG,IAAK,kBACL4M,IAAK,WACH,IAMuCyC,EANnCy2F,EAAwB98F,KAAK3F,MAAM4N,aACnCA,OAAyC,IAA1B60F,EAAmC,GAAKA,EAEvDhvC,EAAe7lD,EAAa3J,OAAOL,MAAM,KAAK,GAElD,GAAI+B,KAAKs7F,oBAAoBxtC,EAAc7lD,GAAe,CAKxD,GAAI,CAAC,QAAS,SAAU,SAAS86B,SAAS+qB,GAAe,MAAO,GAAGjxD,OAR/C,qBAQuEA,OAHlF,GAAGA,QADyBwJ,EAIwEynD,GAHtF/xC,OAAO,GAAGxV,eAAe1J,OAAOwJ,EAAIiK,MAAM,KAIjE,GAAI,CAAC,SAAU,QAAQyyB,SAAS+qB,GAAe,MAAO,GAAGjxD,OATrC,oBAS6D,WAGnF,MAAO,GAAGA,OAZY,oBAYY,UAEnC,CACD7F,IAAK,aACL4M,IAAK,WACH,IAAImE,EAAc/H,KAAK3F,MAAM0N,YAC7B,OAAOA,GAA+B,MAAhBA,GAAuC,SAAhBA,IAE9C,CACD/Q,IAAK,cACL4M,IAAK,WACH,IAAIm5F,EAAe/8F,KAAK3F,MACpB4N,EAAe80F,EAAa90F,aAC5BF,EAAcg1F,EAAah1F,YAO/B,OALI/H,KAAKsB,MAAQ4qC,IAAc+qD,UAAUE,MACvClvF,EAAeT,YAAuBS,GACtCF,EAAcX,YAAqBW,IAG9B,CACLE,aAAczB,YAAsB,OAAQxG,KAAKvE,MAAOwM,EAAc,gBACtEF,YAAavB,YAAsB,OAAQxG,KAAKvE,MAAOsM,EAAa,kBAGvE,CACD/Q,IAAK,eACL4M,IAAK,WACH,IAAIo5F,EAAeh9F,KAAK3F,MACpBkhG,EAASyB,EAAazB,OACtB0B,EAAUD,EAAaC,QAO3B,MALiB,QAAbj9F,KAAKsB,MACPi6F,EAASn0F,YAAqBm0F,GAC9B0B,EAAU71F,YAAqB61F,IAG1B,CACL1B,OAAQ/0F,YAAsB,OAAQxG,KAAKvE,MAAO8/F,EAAQ,UAC1D0B,QAASz2F,YAAsB,OAAQxG,KAAKvE,MAAOwhG,EAAS,cAG/D,CACDjmG,IAAK,cACL4M,IAAK,WACH,IAAIs5F,EAAel9F,KAAK3F,MACpB8iG,EAAkBD,EAAaC,gBAC/BC,EAAgBF,EAAaE,cAC7BC,EAAmBH,EAAaG,iBAChCC,EAAiBJ,EAAaI,eAC9BnG,EAAmB,QAAbn3F,KAAKsB,IACXi8F,EAAa,CACfzc,IAAKqc,EACLA,gBAAiBA,GAEfK,EAAW,CACbC,OAAQL,EACRA,cAAeA,GAEbM,EAAoB,CACtB9c,KAAMuW,EAAMmG,EAAiBD,EAC7BM,MAAOxG,EAAMkG,EAAmBC,EAChCD,iBAAkBA,EAClBC,eAAgBA,GAElB,OAAOz/F,YAAc,GAAI0/F,EAAY,GAAIC,EAAU,GAAIE,KAExD,CACD1mG,IAAK,aACL4M,IAAK,WACH,IAAIg6F,EAAe59F,KAAK3F,MACpBw6F,EAAS+I,EAAa/I,OACtBp0F,EAAQm9F,EAAan9F,MAErBo9F,EAAcxJ,YAAU5zF,GAAS,GAAI,GAAI,CAC7C,MAAO,OAAQ,WAAY,UAAW,YAAa,WAAY,WAAY,YAC3E,SACA,YACA,oBAMA,OAJIo0F,IACFgJ,EAAYhJ,OAASA,GAGhBgJ,MAIX/C,EAAKh5F,YAAc,OACZg5F,EAnPT,CAoPE12F,aAAY8jC,EAAQpkC,UAAY,CAIhCiwF,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KAMtB4pE,QAASx/E,IAAUsM,MAAM,CAAC,OAAQ,SAAU,QAAS,eAAgB,OAAQ,gBAC7Eg0F,UAAWtgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAC9Ci0F,UAAWvgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAK9C0zF,OAAQ5zF,IAAmBS,QAK3B60F,QAASt1F,IAAmBS,QAC5BiiC,OAAQ9uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACzDrB,MAAO7uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACxDmwD,UAAWrgG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAC5DgV,SAAUllD,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAC3DkwD,UAAWpgG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAC5DiwD,SAAUngG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAK3DjuC,SAAUjC,IAAUgC,KAKpBi+F,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,SAAU,QAM/CE,YAAaJ,IAAmBI,YAMhCE,aAAcN,IAAmBM,aAKjCk0F,YAAavJ,IAAWE,oBAAoBv3F,IAAUsM,MAAM,CAAC,cAAe,UAAW,YAAa,QAAS,OAAQ,UAAW,UAAW,QAAS,SAAU,UAAW,YAAa,CAAC,UAAW,YAAY,SAAUJ,GACtN,IAAIb,EAAWa,EAAMb,SACjBD,EAAYc,EAAMd,UACtB,MAAO,gCAAgC9J,OAAO8J,EAAW,WAAW9J,OAAO+J,EAAU,yBAAyB/J,OAC1F,YAAd8J,EAAgC,YAClB,YAAdA,EAAgC,qBAApC,EACG,gCAMPuB,WAAY0qF,IAAWE,oBAAoBv3F,IAAUsM,MAAM,CAAC,cAAe,UAAW,YAAa,kBAAmB,QAAS,OAAQ,QAAS,UAAW,SAAU,UAAW,UAAW,QAAS,YAAa,CAAC,UAAW,UAAW,UAAU,SAAUH,GAC1P,IAAId,EAAWc,EAAMd,SACjBD,EAAYe,EAAMf,UACtB,MAAO,gCAAgC9J,OAAO8J,EAAW,WAAW9J,OAAO+J,EAAU,yBAAyB/J,OAC1F,YAAd8J,EAAgC,YAClB,UAAdA,EAA8B,cAChB,YAAdA,EAAgC,yBAApC,EACG,gCAMPiB,OAAQD,IAAmBC,OAK3BE,SAAUH,IAAmBG,SAK7B+sF,OAAQiJ,IAKR/B,SAAUxgG,IAAUsM,MAAM,CAAC,SAAU,WAAY,WAAY,SAAU,UAKvEw1F,iBAAkB9hG,IAAUgwC,OAK5B+xD,eAAgB/hG,IAAUgwC,OAK1B4xD,gBAAiB5hG,IAAUgwC,OAK3B6xD,cAAe7hG,IAAUgwC,OAOzB6wD,iBAAkB7gG,IAAU8I,KAK5B23F,cAAezgG,IAAUsM,MAAM,CAAC,SAAU,UAK1Co0F,WAAY1gG,IAAUsM,MAAM,CAAC,OAAQ,UAAW,UAAW,WAK3Dq0F,mBAAoB3gG,IAAU8I,KAM9Bo3F,gBAAiBlgG,IAAU8I,KAO3B02F,QAASx/F,IAAU8I,KAKnB22F,YAAaz/F,IAAU8I,MAGtB6jC,EAAQ5jC,aAAe,CACxBy2E,QAAS,OAMTgZ,QAAI,EAGJyH,eAAW,EAGXK,UAAW,UACXC,UAAW,UACXl0F,YAAQ,EACRE,cAAU,EACV2zF,iBAAiB,EACjB5G,YAAQ,EACR9sF,iBAAa,EACbE,kBAAc,EACdk0F,YAAa,UACbZ,YAAQ,EACR0B,aAAS,EACT7B,gBAAY,EACZlzF,gBAAY,EACZ1K,SAAU,KACV4sC,WAAO,EACPC,YAAQ,EACRoW,cAAU,EACVm7C,eAAW,EACXF,cAAU,EACVC,eAAW,EACXI,SAAU,SACVK,sBAAkB,EAClBJ,cAAe,SACfC,WAAY,OACZoB,sBAAkB,EAClBC,oBAAgB,EAChBH,qBAAiB,EACjBC,mBAAe,EACflB,oBAAoB,GAlc0Fj0D,EAmc7GtvB,KAAWsvB,IAAWA,IAAWA,EAOpC6yD,EAAKiD,cAAgB,SAAU1jG,EAAO+J,GAUpC,OAAOymC,YAAUxwC,EAAOygG,EAAKh3F,a,iCC1jB3BizF,EAAYC,EAAcvxE,E,yECU1BwxE,EAAY,CACdC,IAAK,MACLC,IAAK,OAEHC,EAAuB,CACzB/7F,YANgB,kBAOhB47F,UAAWA,EAMX37F,MAAOxE,YAAgB,GAbP,kBAawByE,IAAU2V,MAAM,CACtD5P,IAAK/F,IAAUsM,MAAM3Q,OAAOmQ,OAAO4vF,OAOrCI,yBAA0B,SAAkC/1F,GAC1D,OAAOxK,YAAgB,GAtBT,kBAsB0B,CACtCwK,IAAKA,KASTg2F,wBAAyB,SAAiC17F,GACxD,GAAIA,EACF,OAAOA,EAlCK,qB,kBDPd27F,EAAgB,WAKlB,GAAIR,EACF,OAAOA,EAGT,GAAI11F,IAAW,CACb,IAAIm2F,EAASt6F,SAASqE,gBAiBtB,OAhBAy1F,EAAeQ,EAAOh2F,aAAa,OACnCu1F,EAAaC,GAAgBF,YAAiBU,GAAQC,UAEjDhyE,IACHA,EAAW,IAAIiyE,kBAAiB,WAC9B,IAAI56F,EAAO06F,EAAOh2F,aAAa,OAE3B1E,GAAQA,IAASk6F,IACnBA,EAAeD,EAAaj6F,OAGvB66F,QAAQH,EAAQ,CACvBjtD,YAAY,IAITwsD,IAcX,SAASa,EAAiB37C,GACxB,GAAI56C,IACF,MAAuB,qBAAZ46C,GAA2BA,IAAY/+C,SAASqE,gBAAwBg2F,IAC5Et7C,EAAQz6C,aAAa,QAAUs1F,YAAiB76C,GAASw7C,UEtEpE,kCAkCA,IAAIR,EAAYG,EAAqBH,UACjCK,EAA0BF,EAAqBE,wBA8B/CprD,EAAgBvqC,aAAU,SAAUC,GACtC,IAAIqmC,EAAQtvB,EAEZ,OAAOA,EAAQsvB,EAEf,SAAUtlC,GAGR,SAASk1F,IAGP,OAFAn+F,YAAgBsG,KAAM63F,GAEfv+F,YAA2B0G,KAAMrH,YAAgBk/F,GAAwB5/F,MAAM+H,KAAM3H,YAqB9F,OA1BA2B,YAAU69F,EAAwBl1F,GAQlCpI,YAAas9F,EAAwB,CAAC,CACpC7gG,IAAK,MACL4M,IAAK,WAEH,OADc0zF,EAAwBt3F,KAAKpE,UAAY,IACxC0F,KAAOtB,KAAK3F,MAAMiH,KAAOs2F,MAEzC,CACD5gG,IAAK,MACL4M,IAAK,WACH,OAAO5D,KAAKsB,MAAQ21F,EAAUE,MAE/B,CACDngG,IAAK,MACL4M,IAAK,WACH,OAAO5D,KAAKsB,MAAQ21F,EAAUC,QAI3BW,EA3BT,CA4BEj2F,GAAoBqmC,EAAOnkC,UAAYjG,YAAc,GAAI+D,EAAkBkC,UAAW,CACtFxC,IAAK/F,IAAUsM,MAAM3Q,OAAOmQ,OAAO+vF,EAAqBH,cACtDhvD,EAAOpkC,aAAehG,YAAc,GAAI+D,EAAkBiC,aAAc,GAAIuzF,EAAqB97F,OAAQqd,KAE/GuzB,EAAc+qD,UAAYA,G,yCCnE1B,SAAS7oC,EAAcvkC,GACrB,IAAItsB,EAAOssB,GAAMlmB,YAAYkmB,GAC7B,OAAOtsB,GAAQA,EAAK6wD,eAAiBlxD,SCFvC,SAAS25F,EAAYhtE,GACnB,IACI0sE,EAAMnoC,EADCvkC,GAAMlmB,YAAYkmB,IAE7B,OAAO0sE,IAAQA,EAAIptB,aAAeotB,EAAIntB,cAGzBytB,I,SCHf,SAASC,EAAiBjtE,GACxB,IAAIppB,EAAQ,GAEZ,GAAIY,IAAW,CACb,IAAI9D,EAAOssB,GAAMlmB,YAAYkmB,GAC7BppB,EAAQlD,EAAOs5F,EAAYhtE,GAAIitE,iBAAiBv5F,GAAQ,GAG1D,OAAOkD,EA9CT,mC,iCCSiBwnC,EAAQC,EAASvvB,E,8JCmBnB,SAASwvB,EAAU5gC,GAChC,IAAI04B,EAAa14B,EAAK04B,WAClBJ,EAASt4B,EAAKs4B,OACdF,EAAUp4B,EAAKo4B,QACfv3B,EAAUb,EAAKa,QACf23B,EAAUx4B,EAAKw4B,QACfj4B,EAAWP,EAAKO,SAChB83B,EAAcr4B,EAAKq4B,YACLr4B,EAAKy4B,YACvB,OAAOniC,YAAc,CACnBuhD,WAAYnf,EAAWmf,WACvB10B,MAAOmV,EAAOsd,OACd46C,YAAap4D,EAAQl/B,MACrBy5F,mBAAoBr6D,EAAO2e,aAC3B05C,mBAAoBr4D,EAAOif,cAC3Bq5C,iBAAkBt4D,EAAO8e,YACzBy5C,gBAAiBv4D,EAAOgf,WACxBw5C,iBAAkBx4D,EAAO+e,YACzB05C,mBAAoBz4D,EAAOmf,cAC3Bu5C,kBAAmB14D,EAAOkf,aAC1Bo7C,mBAAoB,cACpB1B,kBAAmB94D,EAAQ2c,YAC3Bo8C,mBAAoB/4D,EAAQ4c,aAC5Bo8C,kBAAmBh5D,EAAQ6c,YAC3B49C,aAAcv6D,EAAOzD,MACrBw8D,kBAAmB/4D,EAAOof,YAC1B/2C,WAAY23B,EAAOie,mBACnBD,gBAAiBhe,EAAOge,gBACxBw8C,kBAAmBx6D,EAAOme,yBAC1BD,gBAAiBle,EAAOke,gBACxBE,gBAAiBpe,EAAOoe,gBACxBC,eAAgBre,EAAOqe,eACvBC,kBAAmBte,EAAOse,kBAC1BC,iBAAkBve,EAAOue,iBACzBC,kBAAmBxe,EAAOwe,kBAC1B26C,UAAW,SACXC,kBAAmBt5D,EAAQl/B,MAC3By4F,kBAAmBv5D,EAAQ+c,YAC3By8C,mBAAoB,YACpBC,kBAAmB,OAEnBC,eAAgBx5D,EAAOgf,WACvBy6C,iBAAkBz5D,EAAOkf,aACzBw6C,kBAAmB15D,EAAOif,cAC1B06C,kBAAmB35D,EAAOye,eAC1Bm7C,eAAgB75D,EAAY/5B,OAC5B6zF,cAAe95D,EAAY16B,MAC3By0F,eAAgB/5D,EAAYz6B,OAC5By0F,cAAeh6D,EAAYx6B,OAC1B4B,YAAc,SAAUoB,GAAU,GAAIpB,YAAc,UAAWoB,GAAU,GAAIpB,YAAc,SAAU+4B,GAAU,GAAI/4B,YAAc,WAAYc,GAAW,GAAId,YAAc,SAAU24B,IAGzLwI,EAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACLm5F,eAAgBn5F,EAAU,oBAC1B69C,gBAAiB79C,EAAU,oBAC3Bg+C,eAAgBh+C,EAAU,oBAC1Bi4F,iBAAkBj4F,EAAU,oBAC5Bk4F,gBAAiBl4F,EAAU,sBDtF/B,kCA0CA,IAAIM,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,qDAAqDoB,OAAOpB,EAAM2jD,YAAc,UAAW,qiBAAqiBviD,OAAOpB,EAAMm9F,mBAAqB,UAAW,kCAAkC/7F,OAAOpB,EAAMs8F,aAAe,UAAW,kCAAkCl7F,OAAOpB,EAAMy+F,oBAAsB,UAAW,kCAAkCr9F,OAAOpB,EAAM0+F,oBAAsB,UAAW,kCAAkCt9F,OAAOpB,EAAM08F,kBAAoB,UAAW,kCAAkCt7F,OAAOpB,EAAM28F,iBAAmB,UAAW,kCAAkCv7F,OAAOpB,EAAMy8F,oBAAsB,UAAW,kCAAkCr7F,OAAOpB,EAAM68F,oBAAsB,UAAW,kCAAkCz7F,OAAOpB,EAAM48F,kBAAoB,UAAW,kCAAkCx7F,OAAOpB,EAAM88F,mBAAqB,UAAW,gCAAgC17F,OAAOpB,EAAMyM,YAAc,UAAW,WAAWrL,OAAOpB,EAAMivB,OAAS,UAAW,gCAAgC7tB,OAAOpB,EAAM4+F,mBAAqB,UAAW,WAAWx9F,OAAOpB,EAAM2+F,cAAgB,UAAW,gCAAgCv9F,OAAOpB,EAAMoiD,iBAAmB,UAAW,WAAWhhD,OAAOpB,EAAMivB,OAAS,UAAW,gCAAgC7tB,OAAOpB,EAAMsiD,iBAAmB,UAAW,WAAWlhD,OAAOpB,EAAM2+F,cAAgB,UAAW,gCAAgCv9F,OAAOpB,EAAMwiD,iBAAmB,UAAW,WAAWphD,OAAOpB,EAAM2+F,cAAgB,UAAW,gCAAgCv9F,OAAOpB,EAAMyiD,gBAAkB,UAAW,WAAWrhD,OAAOpB,EAAM2+F,cAAgB,UAAW,gCAAgCv9F,OAAOpB,EAAM0iD,mBAAqB,UAAW,WAAWthD,OAAOpB,EAAM2+F,cAAgB,UAAW,gCAAgCv9F,OAAOpB,EAAM2iD,kBAAoB,UAAW,WAAWvhD,OAAOpB,EAAM2+F,cAAgB,UAAW,gCAAgCv9F,OAAOpB,EAAM4iD,mBAAqB,UAAW,WAAWxhD,OAAOpB,EAAM2+F,cAAgB,UAAW,6BAA6Bv9F,OAAOpB,EAAM6+F,iBAAmB,UAAW,6BAA6Bz9F,OAAOpB,EAAM8+F,eAAiB,UAAW,6BAA6B19F,OAAOpB,EAAM++F,eAAiB,UAAW,6BAA6B39F,OAAOpB,EAAMg/F,iBAAmB,UAAW,gCAAgC59F,OAAOpB,EAAMi/F,eAAiB,UAAW,gCAAgC79F,OAAOpB,EAAMk/F,eAAiB,UAAW,gCAAgC99F,OAAOpB,EAAMm/F,aAAe,UAAW,+MAA+M/9F,OAAOpB,EAAMo/F,0BAA4B,UAAW,kBAAkBh+F,OAAOpB,EAAMw9F,mBAAqB,UAAW,kBAAkBp8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,0LAA4Lr8F,OAAOpB,EAAM09F,oBAAsB,UAAW,mBAAmBt8F,OAAOpB,EAAM09F,oBAAsB,UAAW,oBAAoBt8F,OAAOpB,EAAM09F,oBAAsB,UAAW,kBAAkBt8F,OAAOpB,EAAM09F,oBAAsB,UAAW,kDAAkDt8F,OAAOpB,EAAM29F,mBAAqB,UAAW,UAAUv8F,OAAOpB,EAAM29F,mBAAqB,UAAW,WAAWv8F,OAAOpB,EAAM29F,mBAAqB,UAAW,SAASv8F,OAAOpB,EAAM29F,mBAAqB,UAAW,+KAA+Kv8F,OAAOpB,EAAMg9F,mBAAqB,UAAW,OAAO57F,OAAOpB,EAAM09F,oBAAsB,UAAW,OAAOt8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,sEAAsEr8F,OAAOpB,EAAMi9F,oBAAsB,UAAW,OAAO77F,OAAOpB,EAAM09F,oBAAsB,UAAW,OAAOt8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,sEAAsEr8F,OAAOpB,EAAMk9F,mBAAqB,UAAW,OAAO97F,OAAOpB,EAAM09F,oBAAsB,UAAW,OAAOt8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,sEAAsEr8F,OAAOpB,EAAMg9F,mBAAqB,UAAW,OAAO57F,OAAOpB,EAAM29F,mBAAqB,UAAW,OAAOv8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,sEAAsEr8F,OAAOpB,EAAMi9F,oBAAsB,UAAW,OAAO77F,OAAOpB,EAAM29F,mBAAqB,UAAW,OAAOv8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,sEAAsEr8F,OAAOpB,EAAMk9F,mBAAqB,UAAW,OAAO97F,OAAOpB,EAAM29F,mBAAqB,UAAW,OAAOv8F,OAAOpB,EAAMy9F,mBAAqB,UAAW,4JAA4Jr8F,OAAOpB,EAAM49F,gBAAkB,UAAW,oDAAoDx8F,OAAOpB,EAAM+9F,mBAAqB,UAAW,oDAAoD38F,OAAOpB,EAAM89F,mBAAqB,UAAW,oDAAoD18F,OAAOpB,EAAM69F,kBAAoB,UAAW,+HAEv3L,KAAQ,aACR,iBAAkB,aAClB,wBAAyB,aACzB,gBAAiB,aACjB,uBAAwB,aACxB,mBAAoB,aACpB,oBAAqB,aACrB,iBAAkB,aAClB,MAAS,aACT,UAAa,aACb,uBAAwB,aACxB,uBAAwB,aACxB,qBAAsB,aACtB,oBAAqB,aACrB,uBAAwB,aACxB,uBAAwB,aACxB,qBAAsB,aACtB,sBAAuB,aACvB,sBAAuB,aACvB,sBAAuB,aACvB,oBAAqB,aACrB,oBAAqB,aACrB,oBAAqB,aACrB,mBAAoB,aACpB,sBAAuB,aACvB,qBAAsB,aACtB,sBAAuB,aACvB,oBAAqB,aACrB,kBAAmB,aACnB,kBAAmB,aACnB,oBAAqB,aACrB,kBAAmB,aACnB,kBAAmB,aACnB,gBAAiB,aACjB,oBAAqB,aACrB,kBAAmB,aACnB,oBAAqB,aACrB,kBAAmB,aACnB,qBAAsB,aACtB,eAAkB,aAClB,wBAAyB,aACzB,uBAAwB,aACxB,2BAA4B,aAC5B,wBAAyB,aACzB,yBAA0B,aAC1B,0BAA2B,aAC3B,yBAA0B,aAC1B,QAAW,aACX,mBAAoB,aACpB,sBAAuB,aACvB,sBAAuB,aACvB,qBAAsB,aACtB,kBAAmB,aACnB,qBAAsB,aACtB,mBAAoB,cAUlBwB,EAAe5uD,aAAmDzC,CAAKxB,EAA/BvmC,YAAUjG,EAAO+E,EAAuBkpC,EAAgB/wB,EAAQuvB,EAE5G,SAAUjkC,GAGR,SAAS62F,IACP,IAAII,EAEAt4F,EAEJlJ,YAAgBsG,KAAM86F,GAEtB,IAAK,IAAIvtF,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAoBzB,OAjBA5K,EAAQtJ,YAA2B0G,MAAOk7F,EAAmBviG,YAAgBmiG,IAAOthG,KAAKvB,MAAMijG,EAAkB,CAACl7F,MAAMnD,OAAO8N,MAEzHwwF,iBAAmB,SAAUtxE,GACK,oBAA3BjnB,EAAMvI,MAAM+gG,YACrBx4F,EAAMvI,MAAM+gG,WAAWvxE,GAGzBjnB,EAAMy4F,SAAWxxE,GAGnBjnB,EAAM04F,oBAAsB,SAAUrkG,EAAO2rE,GAC3C,MAAqB,kBAAVA,GACJA,EAAMtkE,OAAOL,MAAM,KAAKmf,OAAM,SAAUk7F,GAC7C,OAAOA,IAAerhH,MAInB2L,EA6MT,OA3OA5I,YAAU8gG,EAAM72F,GAiChB1J,YAAaugG,EAAM,CAAC,CAClB9jG,IAAK,oBACLC,MAAO,WA0BH+I,KAAKq7F,SAAUr7F,KAAK3F,MAAMkhG,SAE7B,CACDvkG,IAAK,SACLC,MAAO,WACL,IAAIsQ,EAAMrP,EAENiyC,EAAcnqC,KAAK3F,MACnBmD,EAAW2sC,EAAY3sC,SACvBg+F,EAAYrxD,EAAYqxD,UACxBtzF,EAAaiiC,EAAYjiC,WACzB6yE,EAAU5wC,EAAY4wC,QACtBtvE,EAAQ0+B,EAAY1+B,MACpB2+B,EAAQD,EAAYC,MACpBC,EAASF,EAAYE,OACrBqxD,EAAWvxD,EAAYuxD,SACvBC,EAAYxxD,EAAYwxD,UACxBl7C,EAAWtW,EAAYsW,SACvBm7C,EAAYzxD,EAAYyxD,UACxBC,EAAY1xD,EAAY0xD,UACxBC,EAAY3xD,EAAY2xD,UACxBh0F,EAAWqiC,EAAYriC,SACvBF,EAASuiC,EAAYviC,OACrBm0F,EAAW5xD,EAAY4xD,SACvBC,EAAgB7xD,EAAY6xD,cAC5BC,EAAa9xD,EAAY8xD,WACzBC,EAAqB/xD,EAAY+xD,mBACjCC,EAAchyD,EAAYgyD,YAC1Bh0F,EAAOgiC,EAAYhiC,KACnB4iC,EAAYZ,EAAYY,UACxBgrD,EAAclC,YAAeiH,EAAM96F,KAAK3F,OACxCgiG,EAAmC,aAAbN,GAA2Bx0F,EAAO,GAAIzQ,YAAgByQ,EAAM/G,EAAOR,KAAKu8F,kBAAkB,GAAOzlG,YAAgByQ,EAAM/G,EAAO,kBAAkB3D,OAAOm/F,KAAiB,GAAOllG,YAAgByQ,EAAM/G,EAAO,eAAe3D,OAAOo/F,KAAc,GAAOnlG,YAAgByQ,EAAM/G,EAAM,eAAoB07F,GAAqB30F,GAAQ,GAC1ViC,EAAUwhC,IAAWntC,aAAe3F,EAAiB,GAAIpB,YAAgBoB,EAAgBsI,EAAOyqC,MAAM,GAAOn0C,YAAgBoB,EAAgBsI,EAAOiL,MAAOA,GAAQ3U,YAAgBoB,EAAgBsI,EAAO+3G,UAAWv4G,KAAKu4G,WAAYzhH,YAAgBoB,EAAgBsI,EAAO,gBAAgB3D,OAAOs/F,IAAen8F,KAAKu4G,WAA6B,YAAhBpc,GAA4BrlG,YAAgBoB,EAAgBsI,EAAO,wBAAyBR,KAAKu4G,WAA4B,YAAfrwG,GAA2BpR,YAAgBoB,EAAgBsI,EAAO,cAAc3D,OAAO2+F,IAAaA,GAAY1kG,YAAgBoB,EAAgBsI,EAAO,eAAe3D,OAAOqL,IAAcA,GAAapR,YAAgBoB,EAAgBsI,EAAO,YAAY3D,OAAOk+E,IAAWA,GAAuB,SAAZA,GAAqBjkF,YAAgBoB,EAAgBsI,EAAO,cAAc3D,OAAOg/F,IAAaA,GAA2B,YAAdA,GAA0B/kG,YAAgBoB,EAAgBsI,EAAO,cAAc3D,OAAOi/F,IAAaA,GAA2B,YAAdA,GAA0BhlG,YAAgBoB,EAAgBsI,EAAO,SAAS3D,OAAOsL,IAAQA,GAAiB,SAATA,GAAkBrR,YAAgBoB,EAAgBsI,EAAO,aAAa3D,OAAOiL,IAAYA,GAAWhR,YAAgBoB,EAAgBsI,EAAO,WAAW3D,OAAO+K,IAAUA,GAAqB,SAAXA,GAAoB9Q,YAAgBoB,EAAgBsI,EAAO,aAAa3D,OAAOk/F,IAAyB,WAAbA,GAAwBjlG,YAAgBoB,EAAgBsI,EAAOu6F,QAAS/6F,KAAKw4G,WAAYtgH,GAAiBmkG,EAAqBvlG,YAAgB,GAAIi0C,EAAWA,KACr7C,OAAOhwC,IAAMC,cAAc+6F,EAAa7+F,OAAOoL,OAAO,GAAIuoC,YAAU7qC,KAAK3F,MAAOygG,EAAKh3F,WAAY,CAC/FinC,UAAWvhC,EACX/I,MAAO5C,YAAc,GAAImC,KAAK08F,aAAc,GAAI18F,KAAK+3F,YAAa,GAAI/3F,KAAK28F,YAAa,CACtFvyD,MAAOA,EACPC,OAAQA,EACRqxD,SAAUA,EACVC,UAAWA,EACXl7C,SAAUA,EACVm7C,UAAWA,GACV57F,KAAK48F,YACRpnF,IAAKxV,KAAKm7F,mBACR39F,KAEL,CACDxG,IAAK,YACL4M,IAAK,WACH,IAAIi5F,EAAe78F,KAAK3F,MACpB0gG,EAAU8B,EAAa9B,QACvBgB,EAAWc,EAAad,SAE5B,QAAIhB,GACe,aAAbgB,IAcP,CACD/kG,IAAK,kBACL4M,IAAK,WACH,IAAIqE,EAAejI,KAAK3F,MAAM4N,aAE9B,OAAIjI,KAAKs7F,oBAAoB,SAAUrzF,IAAiBjI,KAAKs7F,oBAAoB,OAAQrzF,GAEhF,2BACEjI,KAAKs7F,oBAAoB,QAASrzF,GACpC,yBACEjI,KAAKs7F,oBAAoB,SAAUrzF,GACrC,0BACEjI,KAAKs7F,oBAAoB,QAASrzF,GACpC,yBAGA,0BAGV,CACDjR,IAAK,YACL4M,IAAK,WACH,IAAImE,EAAc/H,KAAK3F,MAAM0N,YAC7B,OAAOA,GAA+B,MAAhBA,GAAuC,SAAhBA,IAE9C,CACD/Q,IAAK,cACL4M,IAAK,WACH,IAAIm5F,EAAe/8F,KAAK3F,MACpB4N,EAAe80F,EAAa90F,aAC5BF,EAAcg1F,EAAah1F,YAO/B,OALI/H,KAAKsB,MAAQ4qC,IAAc+qD,UAAUE,MACvClvF,EAAeT,YAAuBS,GACtCF,EAAcX,YAAqBW,IAG9B,CACLE,aAAczB,YAAsB,OAAQxG,KAAKvE,MAAOwM,EAAc,gBACtEF,YAAavB,YAAsB,OAAQxG,KAAKvE,MAAOsM,EAAa,kBAGvE,CACD/Q,IAAK,eACL4M,IAAK,WACH,IAAIo5F,EAAeh9F,KAAK3F,MACpBkhG,EAASyB,EAAazB,OACtB0B,EAAUD,EAAaC,QAO3B,MALiB,QAAbj9F,KAAKsB,MACPi6F,EAASn0F,YAAqBm0F,GAC9B0B,EAAU71F,YAAqB61F,IAG1B,CACL1B,OAAQ/0F,YAAsB,OAAQxG,KAAKvE,MAAO8/F,EAAQ,UAC1D0B,QAASz2F,YAAsB,OAAQxG,KAAKvE,MAAOwhG,EAAS,cAG/D,CACDjmG,IAAK,cACL4M,IAAK,WACH,IAAIs5F,EAAel9F,KAAK3F,MACpB8iG,EAAkBD,EAAaC,gBAC/BC,EAAgBF,EAAaE,cAC7BC,EAAmBH,EAAaG,iBAChCC,EAAiBJ,EAAaI,eAC9BnG,EAAmB,QAAbn3F,KAAKsB,IACXi8F,EAAa,CACfzc,IAAKqc,EACLA,gBAAiBA,GAEfK,EAAW,CACbC,OAAQL,EACRA,cAAeA,GAEbM,EAAoB,CACtB9c,KAAMuW,EAAMmG,EAAiBD,EAC7BM,MAAOxG,EAAMkG,EAAmBC,EAChCD,iBAAkBA,EAClBC,eAAgBA,GAElB,OAAOz/F,YAAc,GAAI0/F,EAAY,GAAIC,EAAU,GAAIE,KAExD,CACD1mG,IAAK,aACL4M,IAAK,WACH,IAAIg6F,EAAe59F,KAAK3F,MACpBw6F,EAAS+I,EAAa/I,OACtBp0F,EAAQm9F,EAAan9F,MAErBo9F,EAAcxJ,YAAU5zF,GAAS,GAAI,GAAI,CAC7C,MAAO,OAAQ,WAAY,UAAW,YAAa,WAAY,WAAY,YAC3E,SACA,YACA,oBAMA,OAJIo0F,IACFgJ,EAAYhJ,OAASA,GAGhBgJ,MAIX/C,EAAKh5F,YAAc,OACZg5F,EA5OT,CA6OE12F,aAAY8jC,EAAQpkC,UAAY,CAIhCiwF,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KAMtB4pE,QAASx/E,IAAUsM,MAAM,CAAC,OAAQ,QAAS,eAAgB,OAAQ,gBACnEg0F,UAAWtgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAC9Ci0F,UAAWvgG,IAAUsM,MAAM,CAAC,OAAQ,SAAU,YAK9C0zF,OAAQ5zF,IAAmBS,QAK3B60F,QAASt1F,IAAmBS,QAC5BiiC,OAAQ9uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACzDrB,MAAO7uC,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SACxDmwD,UAAWrgG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAC5DgV,SAAUllD,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAC3DkwD,UAAWpgG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAC5DiwD,SAAUngG,IAAUiwC,UAAU,CAACjwC,IAAUgwC,OAAQhwC,IAAUkwC,SAK3DjuC,SAAUjC,IAAUgC,KAKpBi+F,UAAWjgG,IAAUsM,MAAM,CAAC,QAAS,SAAU,QAM/CE,YAAaJ,IAAmBI,YAMhCE,aAAcN,IAAmBM,aAKjCk0F,YAAa5gG,IAAUsM,MAAM,CAAC,UAAW,UAAW,QAAS,OAAQ,UAAW,UAAW,QAAS,WAKpGK,WAAY3M,IAAUsM,MAAM,CAAC,UAAW,UAAW,QAAS,cAAe,QAAS,QAAS,OAAQ,UAAW,SAAU,YAK1HD,OAAQD,IAAmBC,OAK3BE,SAAUH,IAAmBG,SAK7B+sF,OAAQiJ,IAKR/B,SAAUxgG,IAAUsM,MAAM,CAAC,SAAU,WAAY,WAAY,SAAU,UAKvEw1F,iBAAkB9hG,IAAUgwC,OAK5B+xD,eAAgB/hG,IAAUgwC,OAK1B4xD,gBAAiB5hG,IAAUgwC,OAK3B6xD,cAAe7hG,IAAUgwC,OAKzBwvD,QAASx/F,IAAU8I,KAKnB23F,cAAezgG,IAAUsM,MAAM,CAAC,SAAU,UAK1Co0F,WAAY1gG,IAAUsM,MAAM,CAAC,OAAQ,UAAW,UAAW,WAC3Dq0F,mBAAoB3gG,IAAU8I,KAM9BoH,MAAOlQ,IAAU8I,MAChB6jC,EAAQ5jC,aAAe,CACxBy2E,QAAS,OAMTgZ,QAAI,EAGJyH,eAAW,EAGXK,UAAW,UACXC,UAAW,UACXl0F,YAAQ,EACRE,cAAU,EACV2D,OAAO,EACPopF,YAAQ,EACR9sF,iBAAa,EACbE,kBAAc,EACdk0F,YAAa,UACbZ,YAAQ,EACR0B,aAAS,EACT7B,gBAAY,EACZlzF,gBAAY,EACZ1K,SAAU,KACV4sC,WAAO,EACPC,YAAQ,EACRoW,cAAU,EACVm7C,eAAW,EACXF,cAAU,EACVC,eAAW,EACXI,SAAU,SACVhB,SAAS,EACTiB,cAAe,SACfC,WAAY,OACZoB,sBAAkB,EAClBC,oBAAgB,EAChBH,qBAAiB,EACjBC,mBAAe,EACflB,oBAAoB,GAxZoEj0D,EAyZvFtvB,KAAWsvB,IAAWA,EAKzB6yD,EAAKiD,cAAgB,SAAU1jG,EAAO+J,GAUpC,OAAOymC,YAAUxwC,EAAOygG,EAAKh3F,a,iDE1e/B,SAAS20G,EAAeC,GACtB,OAAO,SAAUr+G,EAAOuM,EAAUH,GAChC,IAAIE,EAAYtM,EAAMuM,GAEtB,GAAkB,OAAdD,GAA2C,qBAAdA,EAC/B,OAAO,IAAI6B,MAAM,aAAa3L,OAAO+J,EAAU,gCAAgC/J,OAAO4J,EAAe,yBAAyB5J,OAAO8J,EAAW,MAEhJ,IAAK,IAAI4G,EAAOlV,UAAUC,OAAQqgH,EAAO,IAAIz9G,MAAMqS,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGmrG,EAAKnrG,EAAO,GAAKnV,UAAUmV,GAG7B,OAAOkrG,EAAUzgH,WAAM,EAAQ,CAACoC,EAAOuM,EAAUH,GAAe5J,OAAO87G,KCxD7E,kCAyBA,IAAI99G,EAAW,CA6CbgN,MAAO,SAAe+wG,GACpB,SAASF,EAAUr+G,EAAOuM,EAAUH,GAMlC,IALA,IAAIjJ,EAAWzC,IAAMF,SAASwqD,QAAQhrD,EAAMuM,IACxCiyG,EAAiBD,EAAWz6G,KAAI,SAAU+O,GAC5C,OAAOA,EAAOgF,EAAehF,GAAQA,KAG9B9U,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IAAK,CACxC,IAAIuC,EAAQ6C,EAASpF,GAErB,GAAIuC,GAASA,EAAMuS,KAAM,CACvB,IAAI4rG,EAAY5mG,EAAevX,EAAMuS,MAErC,GAAI2rG,EAAel4G,QAAQm4G,GAAa,EACtC,OAAO,IAAItwG,MAAM,mBAAmB3L,OAAOg8G,EAAe/5G,KAAK,MAAO,QAAQjC,OAAO4J,EAAe,gBAAgB5J,OAAOi8G,EAAW,WAEnI,GAAIn+G,EACT,OAAO,IAAI6N,MAAM,mBAAmB3L,OAAOg8G,EAAe/5G,KAAK,MAAO,QAAQjC,OAAO4J,EAAe,6CAA6C5J,OAAOlC,KAM9J,OADA+9G,EAAUtnG,WAAaqnG,EAAeC,GAC/BA,GAoCTK,UAAW,SAAmBH,GAC5B,OAAO,SAAUv+G,EAAOuM,EAAUH,GAShC,IARA,IAAIjJ,EAAWzC,IAAMF,SAASwqD,QAAQhrD,EAAMuM,IACxCoyG,EAAgB,GAChBH,EAAiBD,EAAWz6G,KAAI,SAAU+O,GAC5C,IAAI+rG,EAAW/mG,EAAehF,GAE9B,OADA8rG,EAAcC,GAAY,EACnBA,KAGA7gH,EAAI,EAAGA,EAAIoF,EAASlF,OAAQF,IAAK,CACxC,IAAIuC,EAAQ6C,EAASpF,GAErB,GAAIuC,GAASA,EAAMuS,KAAM,CACvB,IAAI4rG,EAAY5mG,EAAevX,EAAMuS,MAErC,GAAI2rG,EAAel4G,QAAQm4G,GAAa,EACtC,OAAO,IAAItwG,MAAM,mBAAmB3L,OAAOg8G,EAAe/5G,KAAK,MAAO,QAAQjC,OAAO4J,EAAe,gBAAgB5J,OAAOi8G,EAAW,MAGxIE,EAAcF,IAAcE,EAAcF,IAAc,GAAK,OACxD,GAAIn+G,EACT,OAAO,IAAI6N,MAAM,mBAAmB3L,OAAOg8G,EAAe/5G,KAAK,MAAO,QAAQjC,OAAO4J,EAAe,2CAA2C5J,OAAOlC,IAI1J,IAAIu+G,EAAS,GAWb,GAVAhiH,OAAOQ,KAAKshH,GAAexgH,SAAQ,SAAUsgH,GACvCE,EAAcF,GAAa,GAC7BI,EAAOlhH,KAAK,GAAG6E,OAAOm8G,EAAcF,GAAY,sBAAsBj8G,OAAOi8G,IAG9C,IAA7BE,EAAcF,IAChBI,EAAOlhH,KAAK,sBAAsB6E,OAAOi8G,OAIzCI,EAAO5gH,OAAS,EAClB,OAAO,IAAIkQ,MAAM,gCAAgC3L,OAAOg8G,EAAe/5G,KAAK,MAAO,QAAQjC,OAAO4J,EAAe,mBAAmB5J,OAAOq8G,EAAOp6G,KAAK,UAmF7Jq6G,aAAc,WACZ,IAAK,IAAI5rG,EAAOlV,UAAUC,OAAQ8gH,EAAkB,IAAIl+G,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC1F4rG,EAAgB5rG,GAAQnV,UAAUmV,GAGpC,SAAS6rG,EAAcC,EAAYC,GACjC,IAAK,IAAInhH,EAAI,EAAGA,EAAIkhH,EAAWhhH,OAAQF,IACrC,GAAIkhH,EAAWlhH,KAAOmhH,EAAUnhH,GAC9B,OAAO,EAIX,OAAO,EAGT,SAASohH,EAAiB/yG,EAAegzG,GACvC,OAAOA,EAAWt7G,KAAI,SAAU7C,GAC9B,OAAOo+G,EAAYjzG,EAAenL,MACjCwD,KAAK,QAGV,SAAS46G,EAAYjzG,EAAenL,GAClC,IAAIkC,EAAWlC,EAAM6C,KAAI,SAAU+O,GACjC,OAAIA,EACKgF,EAAehF,GAEf,QAER/O,KAAI,SAAU4D,GACf,MAAO,MAAMlF,OAAOkF,EAAM,UACzBjD,KAAK,MACR,MAAO,IAAIjC,OAAO4J,EAAe,OAAO5J,OAAOW,EAAU,QAAQX,OAAO4J,EAAe,KAGzF,SAASiyG,EAAUr+G,EAAOuM,EAAUH,GASlC,IARA,IAAI6yG,EAAav+G,IAAMF,SAASwqD,QAAQhrD,EAAMuM,IAAWzI,KAAI,SAAUxD,GACrE,OAAIA,GAASA,EAAMuS,KACVgF,EAAevX,EAAMuS,MACnBvS,EACF,UADF,KAKAvC,EAAI,EAAGA,EAAIghH,EAAgB9gH,OAAQF,IAAK,CAS/C,GAAIihH,EAAcC,EARGF,EAAgBhhH,GAAG+F,KAAI,SAAU+O,GACpD,OAAIA,EACKgF,EAAehF,GAEf,SAKT,OAKJ,OAAO,IAAI1E,MAAM,wBAAwB3L,OAAO4J,EAAe,yCAAyC5J,OAAO28G,EAAiB/yG,EAAe2yG,GAAkB,2BAA2Bv8G,OAAO68G,EAAYjzG,EAAe6yG,KAIhO,OADAZ,EAAUtnG,WAAaqnG,EAAeC,GAC/BA,IAKPxmG,EAAiB,SAAwB9N,GAC3C,MAA4B,kBAAdA,EAAyBA,EAAYA,EAAUtC,aAAesC,EAAUrC,O,iCCtT9EkmC,EAAQC,EAASvvB,E,sJCiBZ,SAASwvB,EAAU5gC,GAChC,IAAIo4B,EAAUp4B,EAAKo4B,QACfE,EAASt4B,EAAKs4B,OACdz3B,EAAUb,EAAKa,QACf63B,EAAa14B,EAAK04B,WACtB,MAAO,CACLmf,WAAYnf,EAAWmf,WACvBu6D,aAAcvxG,EAAQlD,MACtB00G,cAAexxG,EAAQjD,OACvB00G,aAAczxG,EAAQjD,OACtBonG,UAAW1sE,EAAO4I,SAClBqxE,YAAa1xG,EAAQvC,OACrBk0G,aAAc3xG,EAAQlD,MACtB80G,YAAa5xG,EAAQjD,OACrB2sG,eAAgBjyE,EAAO2d,SACvB+hD,gBAAiB1/D,EAAOie,mBACxBm8D,sBAAuBp6E,EAAOwI,aAC9B6xE,kBAAmBv6E,EAAQ+c,YAC3B83D,mBAAoB70E,EAAQ6c,YAC5B29D,aAAct6E,EAAO4I,SACrB2xE,sBAAuBv6E,EAAO2d,SAC9B68D,oBAAqBx6E,EAAO8I,UAC5B2xE,qBAAsBr6E,EAAWsf,cACjCg7D,sBAAuBt6E,EAAWuf,eAClCg7D,qBAAsBv6E,EAAWwf,cACjCg7D,kBAAmB56E,EAAOke,gBAC1B28D,oBAAqB76E,EAAOwI,aAC5BsyE,kBAAmBh7E,EAAQl/B,MAC3Bm6G,uBAAwB,UAI5BzyE,EAAUmB,OAAS,SAAUppC,GAC3B,MAAO,CACL4xG,eAAgB5xG,EAAU,iBAC1Bk6G,sBAAuBl6G,EAAU,iBACjCu6G,kBAAmBv6G,EAAU,sBD7DjC,kCAwCA,IAAIM,EAAS,CACXwB,YAAa,QACb3B,SAAU,SAAkB5E,GAC1B,MAAO,mEAAmEoB,OAAOpB,EAAM2jD,YAAc,UAAW,gMAAgMviD,OAAOpB,EAAM8jG,iBAAmB,UAAW,oMAAoM1iG,OAAOpB,EAAMu+G,aAAe,UAAW,wGAAwGn9G,OAAOpB,EAAMs+G,cAAgB,UAAW,iCAAiCl9G,OAAOpB,EAAMk+G,cAAgB,UAAW,sFAAsF98G,OAAOpB,EAAM6+G,sBAAwB,UAAW,6BAA6Bz9G,OAAOpB,EAAMm+G,eAAiB,UAAW,sFAAsF/8G,OAAOpB,EAAM8+G,uBAAyB,UAAW,6BAA6B19G,OAAOpB,EAAMo+G,cAAgB,UAAW,uFAAuFh9G,OAAOpB,EAAM++G,sBAAwB,UAAW,2BAA2B39G,OAAOpB,EAAM0+G,cAAgB,UAAW,2BAA2Bt9G,OAAOpB,EAAM8wG,WAAa,UAAW,gRAAgR1vG,OAAOpB,EAAM8jG,iBAAmB,UAAW,YAAY1iG,OAAOpB,EAAMy+G,mBAAqB,UAAW,KAAKr9G,OAAOpB,EAAMk/G,mBAAqB,UAAW,+BAA+B99G,OAAOpB,EAAM+4G,oBAAsB,UAAW,iKAAiK33G,OAAOpB,EAAMm/G,wBAA0B,UAAW,0DAA0D/9G,OAAOpB,EAAMq2G,gBAAkB,UAAW,6GAA6Gj1G,OAAOpB,EAAMq2G,gBAAkB,UAAW,uCAAuCj1G,OAAOpB,EAAMg/G,mBAAqB,UAAW,kBAAkB59G,OAAOpB,EAAMq2G,gBAAkB,UAAW,6EAA6Ej1G,OAAOpB,EAAMi/G,qBAAuB,UAAW,uCAAuC79G,OAAOpB,EAAM2+G,uBAAyB,UAAW,MAExuF,KAAQ,aACR,UAAa,aACb,SAAY,aACZ,OAAU,aACV,QAAW,aACX,QAAW,aACX,KAAQ,aACR,QAAW,aACX,MAAS,aACT,OAAU,aACV,MAAS,cASPS,EAAoBn5G,YAAUjG,EAAO+E,EAASipC,EAAe9wB,EAAQuvB,EAEzE,SAAUjkC,GAGR,SAAS42G,IACP,IAAI3f,EAEAt4F,EAEJlJ,YAAgBsG,KAAM66G,GAEtB,IAAK,IAAIttG,EAAOlV,UAAUC,OAAQqS,EAAO,IAAIzP,MAAMqS,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7C,EAAK6C,GAAQnV,UAAUmV,GAkBzB,OAfA5K,EAAQtJ,YAA2B0G,MAAOk7F,EAAmBviG,YAAgBkiH,IAAYrhH,KAAKvB,MAAMijG,EAAkB,CAACl7F,MAAMnD,OAAO8N,MAE9Hm6F,YAAc,SAAUxvF,GAC5B,IAAI60B,EAAcvnC,EAAMvI,MACpBg8F,EAAWlsD,EAAYksD,SACvB5c,EAAUtvC,EAAYsvC,QAEtB4c,GACF/gF,EAAE8/C,iBACF9/C,EAAE+/C,mBAC0B,oBAAZokB,GAChBA,EAAQnkE,IAIL1S,EA4FT,OAxHA5I,YAAU6gH,EAAW52G,GA+BrB1J,YAAasgH,EAAW,CAAC,CACvB7jH,IAAK,gBACLC,MAAO,WACL,IAAI4lG,EAAe78F,KAAK3F,MACpBygH,EAAeje,EAAaie,aAC5BC,EAAYle,EAAake,UACzBC,EAAUne,EAAame,QAC3B,OAAOjgH,IAAMC,cAAc,OAAQ,CACjC+vC,UAAWvqC,EAAOw6G,SACjBjgH,IAAMC,cAAci8G,IAAS,CAC9B9sG,MAAO2wG,EACP/mB,GAAIgnB,EACJrwF,MAAO,WACNswF,MAEJ,CACDhkH,IAAK,aACLC,MAAO,WACL,OAAI+I,KAAKi7G,eACAj7G,KAAK3F,MAAM6gH,KAAKl7G,KAAKm7G,aAErBn7G,KAAK3F,MAAM6gH,OAGrB,CACDlkH,IAAK,gBACLC,MAAO,WACL,IAAI8lG,EAAe/8F,KAAK3F,MACpB2gH,EAAUje,EAAaie,QACvB1wG,EAAUyyF,EAAazyF,QACvB4wG,EAAOne,EAAame,KACxB,OAAOngH,IAAMC,cAAc,OAAQ,CACjC+vC,UAAWvqC,EAAOylG,SACjBiV,GAAQngH,IAAMC,cAAc,OAAQ,CACrC+vC,UAAWvqC,EAAO06G,MACjBl7G,KAAKo7G,cAAeJ,GAAWh7G,KAAKq7G,gBAAiB/wG,GAAWvP,IAAMC,cAAc,OAAQ,CAC7F+vC,UAAWvqC,EAAO8J,SACjB8qF,YAAe9qF,OAEnB,CACDtT,IAAK,SACLC,MAAO,WACL,IAAImnG,EAEApB,EAAeh9F,KAAK3F,MACpBgoB,EAAO26E,EAAa36E,KACpBmnC,EAAWwzC,EAAaxzC,SACxB6sC,EAAW2G,EAAa3G,SACxB5c,EAAUujB,EAAavjB,QACvBtxE,EAAO60F,EAAa70F,KACpBozF,EAASyB,EAAazB,OACtBH,EAAa4B,EAAa5B,WAC1B5xF,GAAW40F,EAAW,GAAItnG,YAAgBsnG,EAAU59F,EAAOyqC,MAAM,GAAOn0C,YAAgBsnG,EAAU59F,EAAO2H,IAAO,GAAOrR,YAAgBsnG,EAAU59F,EAAO86G,UAAWj5F,GAAQo3D,GAAU3iF,YAAgBsnG,EAAU59F,EAAOgpD,SAAUA,GAAW40C,GAC3Ot0E,EAAU+pE,YAAegnB,EAAW76G,KAAK3F,OAC7C,OAAOU,IAAMC,cAAc8/F,IAAM,CAC/B/G,GAAI,MACJwH,OAAQA,GACPxgG,IAAMC,cAAc8/F,IAAM5jG,OAAOoL,OAAO,GAAIuoC,YAAU7qC,KAAK3F,MAAOwD,YAAc,GAAIg9G,EAAU/2G,UAAW,GAAIg3F,IAAKh3F,YAAa,CAChIoJ,KAAkB,WAAZ4c,EAAuB,SAAW,KACxCiqE,GAAIjqE,EACJsxE,WAAYA,EACZrwD,UAAWC,IAAWxhC,GACtB6Y,KAAMA,EACNo3D,QAASz5E,KAAK8kG,YACdt7C,SAAUA,EACV,gBAAiBA,GAAY6sC,EAAW,OAAS,OAC/Cr2F,KAAKqrC,oBAEV,CACDr0C,IAAK,iBACL4M,IAAK,WACH,MAAkC,oBAApB5D,KAAK3F,MAAM6gH,OAE1B,CACDlkH,IAAK,cACL4M,IAAK,WACH,IAAIuE,EAAOnI,KAAK3F,MAAM8N,KAEtB,MAAa,UAATA,EACK,SACW,UAATA,EACF,UAEA,YAKb0yG,EAAU/4G,YAAc,YACjB+4G,EAzHT,CA0HEz2G,aAAY8jC,EAAQpkC,UAAY,CAIhCo3G,KAAM3/G,IAAUiwC,UAAU,CAACjwC,IAAU0gD,QAAS1gD,IAAU4V,OAMxDhJ,KAAM5M,IAAUsM,MAAM,CAAC,QAAS,SAAU,UAK1CksF,GAAIx4F,IAAU42E,YAKdipB,WAAY7/F,IAAU4V,KAKtB6pG,QAASz/G,IAAUgwC,OAKnBwvE,UAAWx/G,IAAUsM,MAAM,CAAC,KAAM,KAAM,KAAM,SAK9CizG,aAAcv/G,IAAUsM,MAAM,CAAC,KAAM,KAAM,KAAM,OAQjDyC,QAAS/O,IAAUiwC,UAAU,CAACjwC,IAAUgC,KAAMhC,IAAU4V,OAKxDsoE,QAASl+E,IAAU4V,KAKnBkR,KAAM9mB,IAAUgwC,OAKhBie,SAAUjuD,IAAU8I,KAKpBgyF,SAAU96F,IAAU8I,KAOpBk3F,OAAQ5zF,IAAmBS,SAC1B8/B,EAAQ5jC,aAAe,CACxBi3F,YAAQ,EACR/xC,UAAU,EACV6sC,UAAU,EACVh0E,UAAM,EACN/X,aAAS,EACTmvE,aAAS,EACTuhC,aAAS,EACTE,UAAM,EACN/yG,KAAM,SACN4yG,UAAW,OACXD,aAAc,KACd/mB,GAAI,OACJqH,WAAY,SAAoBvxE,MAhNqBoe,EAiNpDtvB,KAAWsvB","file":"static/js/2.848471fd.chunk.js","sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Children } from 'react';\nimport { safeCloneElement } from './safeCloneElement';\n/**\n * ---\n * category: utilities/react\n * ---\n *\n * Ensure a single child. If it is a child of length 1, return a\n * cloned instance of the child. If it is a child of length > 1,\n * wrap in a span and return the child. Return null if child has\n * no length.\n *\n * @param {ReactElement} child\n * @param {Object} props - props for child\n * @returns {ReactElement} cloned instance for a single child, or children wrapped in a span\n */\n\nfunction ensureSingleChild(child) {\n var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var childCount = Children.count(child);\n\n if (childCount === 0) {\n return null;\n } else if (typeof child === 'string' && child.length > 0 || childCount > 1) {\n return React.createElement(\"span\", props, child);\n } else {\n return safeCloneElement(Array.isArray(child) ? child[0] : child, props);\n }\n}\n\nexport default ensureSingleChild;\nexport { ensureSingleChild };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * @module ThemeContext\n */\nimport PropTypes from 'prop-types';\nvar CONTEXT_KEY = '@@themeable';\nvar ThemeContext = {\n CONTEXT_KEY: CONTEXT_KEY,\n\n /**\n * React context types for [themeable](#themeable) components and\n * the [ApplyTheme](#ApplyTheme) component.\n */\n types: _defineProperty({}, CONTEXT_KEY, PropTypes.object),\n\n /**\n * create theme context\n * @param {Object} theme an object containing [themeable](#themeable) component themes\n * @param {Boolean} immutable prevent theme overrides?\n */\n makeThemeContext: function makeThemeContext(theme, immutable) {\n return _defineProperty({}, CONTEXT_KEY, {\n theme: theme,\n immutable: immutable\n });\n },\n\n /**\n * get a theme context\n * @param {ReactContext} context React context object\n */\n getThemeContext: function getThemeContext(context) {\n if (context) {\n return context[CONTEXT_KEY];\n }\n }\n};\nexport default ThemeContext;\nexport { ThemeContext };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/shallowEqual.js\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * ---\n * category: utilities\n * ---\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n *\n * @module shallowEqual\n *\n * @param {Object} objA\n * @param {Object} objB\n * @returns {Boolean} Returns true when the values of all keys are strictly equal\n*/\n\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n/*\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n\n\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y; // eslint-disable-line no-self-compare\n }\n}\n\nexport default shallowEqual;\nexport { shallowEqual };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport deepEqual from 'fast-deep-equal';\n/**\n * ---\n * category: utilities\n * ---\n * A wrapper for [fast-deep-equal](https://www.npmjs.com/package/fast-deep-equal)\n */\n\nexport default deepEqual;\nexport { deepEqual };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { transformCss, isKeyframesSelector } from './transformCss';\n\nfunction scopeStylesToNode(domNode, cssText, scope) {\n var styleNode = domNode.querySelector(\"#\".concat(scope));\n var attr = scope.toLowerCase();\n\n if (!cssText) {\n if (styleNode) {\n if (!styleNode.scoped) {\n removeScopeFromDomNode(domNode, attr);\n }\n\n domNode.removeChild(styleNode);\n }\n } else {\n var shouldInsertNode = !styleNode;\n var scopedCSS = cssText;\n\n if (shouldInsertNode) {\n styleNode = document.createElement('style');\n styleNode.setAttribute('scoped', true);\n styleNode.setAttribute('type', 'text/css');\n styleNode.id = scope;\n }\n\n if (!styleNode.scoped) {\n // if scoped styles are not supported\n addScopeToDomNode(domNode, attr);\n scopedCSS = scopeCssText(scopedCSS, \"[\".concat(attr, \"]\"));\n }\n\n if (shouldInsertNode) {\n domNode.insertBefore(styleNode, domNode.firstChild);\n }\n\n if ('textContent' in styleNode) {\n styleNode.textContent = scopedCSS;\n } else {\n styleNode.styleSheet.cssText = scopedCSS;\n }\n }\n}\n\nfunction scopeCssText(cssText, scope) {\n return transformCss(cssText, function (rule) {\n var transformed = _objectSpread({}, rule);\n\n if (!rule.isScoped) {\n transformed.selector = scopeRule(rule, scope);\n transformed.isScoped = true;\n }\n\n return transformed;\n });\n}\n\nfunction addScopeToDomNode(node, scope) {\n // for SVG nodes children is undefined in IE/Edge\n var children = node.children || node.childNodes;\n\n if (node.setAttribute) {\n node.setAttribute(scope, '');\n }\n\n for (var i = 0; i < children.length; i++) {\n addScopeToDomNode(children[i], scope);\n }\n}\n\nfunction removeScopeFromDomNode(node, scope) {\n var children = node.children || node.childNodes;\n\n if (node.removeAttribute) {\n node.removeAttribute(scope);\n }\n\n for (var i = 0; i < children.length; i++) {\n removeScopeFromDomNode(children[i], scope);\n }\n}\n\nfunction isRootSelector(selector) {\n // eslint-disable-next-line no-useless-escape\n return selector.match(/^(_|html|body|\\:root)/i);\n}\n\nfunction isClassSelector(selector) {\n return selector.match(/(^)((\\S+)?(\\.)(\\S+))/);\n}\n\nfunction scopeSimpleSelector(selector, scope) {\n var parts = selector.split(':');\n parts[0] += scope;\n return parts.join(':');\n}\n\nfunction scopeCompoundSelector(selector, combinator, scope) {\n if (isRootSelector(selector)) {\n return selector;\n }\n\n var scopedSelector = scope ? scopeSimpleSelector(selector, scope) : selector;\n return combinator + scopedSelector;\n}\n\nfunction scopeComplexSelector(selector, scope) {\n var scopedSelector = selector.trim();\n scopedSelector = scopedSelector.replace( // eslint-disable-next-line no-useless-escape\n /(^|[\\s>+~]+)((?:\\[.+?\\]|[^\\s>+~=\\[])+)/g, function (match, combinator, selector) {\n var offset = arguments[arguments.length - 2];\n\n if (isClassSelector(selector) || offset > 0) {\n return scopeCompoundSelector(selector, combinator, scope);\n } else {\n return selector;\n }\n });\n return scopedSelector;\n}\n\nfunction scopeRule(rule, scope) {\n var parts = rule.selector.split(',');\n\n if (!isKeyframesSelector(rule)) {\n parts = parts.map(function (part) {\n return scopeComplexSelector(part, scope);\n });\n }\n\n return parts.join(',');\n}\n\nexport default scopeStylesToNode;\nexport { scopeStylesToNode, scopeCssText };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n* ---\n* category: utilities/themes\n* ---\n* Return only the theme variables that are different from the default\n* @param {Object} defaultTheme\n* @param {Object} theme\n* @returns {Object} variables that are different from the defaults\n*/\nfunction pickOverrides(defaultTheme, theme) {\n var overrides = {}; // shortcut if possible\n\n if (defaultTheme === theme || !theme) return overrides; // filter out any properties that have values that are the same as in defaults\n\n Object.keys(theme).forEach(function (key) {\n if (defaultTheme[key] !== theme[key]) {\n overrides[key] = theme[key];\n }\n });\n return overrides;\n}\n\nexport default pickOverrides;\nexport { pickOverrides };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { isEmpty } from '@instructure/ui-utils';\nimport { scopeStylesToNode } from './scopeStylesToNode';\nimport { formatVariableNames } from './formatVariableNames';\nimport { pickOverrides } from './pickOverrides';\nimport { customPropertiesSupported } from './customPropertiesSupported';\nimport { getCssTextWithPolyfill } from './getCssText';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Apply theme variables to a DOM node (as CSS variables, with polyfill)\n * @module applyVariablesToNode\n * @param {Element} domNode HTML element to apply variables to using the style attribute\n * @param {Object} variables JS variables\n * @param {Object} defaults Default JS variables\n * @param {String} prefix A variable prefix/namespace\n * @param {Function} template (for IE) A template function that returns the CSS as a string with variables injected\n * @param {String} scope (for IE) A scope to apply to the styles applied to domNode\n */\n\nfunction applyVariablesToNode() {\n if (customPropertiesSupported()) {\n applyVariablesToNodeStyle.apply(this, arguments);\n } else {\n applyVariablesPolyfillToNode.apply(this, arguments);\n }\n}\n\nfunction applyVariablesPolyfillToNode(domNode, variables, defaults, prefix, template, scope) {\n if (!domNode || isEmpty(variables)) {\n return;\n }\n\n var overrides = pickOverrides(defaults, variables);\n var cssText = '';\n\n if (overrides && Object.keys(overrides).length > 0) {\n cssText = getCssTextWithPolyfill(template, _objectSpread({}, defaults, {}, variables));\n }\n\n scopeStylesToNode(domNode, cssText, scope);\n}\n\nfunction applyVariablesToNodeStyle(domNode, variables, defaults, prefix) {\n if (!domNode || isEmpty(variables)) {\n return;\n }\n\n clearCustomProperties(domNode, prefix);\n var overrides = pickOverrides(defaults, variables);\n\n if (overrides && !isEmpty(overrides)) {\n setCustomProperties(domNode, formatVariableNames(overrides, prefix));\n }\n}\n\nfunction clearCustomProperties(domNode, prefix) {\n var styles = domNode.style;\n\n for (var i = styles.length - 1; i >= 0; i--) {\n var prop = styles[i];\n\n if (prop.indexOf(\"--\".concat(prefix, \"-\")) >= 0) {\n domNode.style.removeProperty(prop);\n }\n }\n}\n\nfunction setCustomProperties(domNode, properties) {\n Object.keys(properties).forEach(function (propertyName) {\n var value = properties[propertyName];\n\n if (value) {\n domNode.style.setProperty(propertyName, value);\n }\n });\n}\n\nexport default applyVariablesToNode;\nexport { applyVariablesToNode, applyVariablesPolyfillToNode, applyVariablesToNodeStyle };","import { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { canUseDOM } from '@instructure/ui-dom-utils';\nvar hasRan = false;\n/**\n* ---\n* category: utilities/themes\n* ---\n* Sets the document text direction as it's required for themeable component\n* bidirectional styles.\n*/\n\nfunction setTextDirection() {\n if (hasRan) return;\n hasRan = true;\n\n if (canUseDOM) {\n var dir = document.documentElement.getAttribute('dir');\n\n if (!dir) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(dir, \"[themeable] component styles require setting a 'dir' attribute on the HTML element.\\n To prevent breaking changes, we'll set it to a default value: 'ltr'.\");\n\n document.documentElement.setAttribute('dir', 'ltr');\n }\n }\n}\n\nexport default setTextDirection;\nexport { setTextDirection };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _get from \"@babel/runtime/helpers/esm/get\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { decorator } from '@instructure/ui-decorator';\nimport { isEmpty, shallowEqual, deepEqual } from '@instructure/ui-utils';\nimport { uid } from '@instructure/uid';\nimport { findDOMNode } from '@instructure/ui-dom-utils';\nimport { ThemeContext } from './ThemeContext';\nimport { applyVariablesToNode } from './applyVariablesToNode';\nimport { setTextDirection } from './setTextDirection';\nimport { generateComponentTheme, generateTheme, registerComponentTheme, mountComponentStyles } from './ThemeRegistry';\n/**\n* ---\n* category: utilities/themes\n* ---\n* A decorator or higher order component that makes a component `themeable`.\n*\n* As a HOC:\n*\n* ```js\n* import themeable from '@instructure/ui-themeable'\n* import styles from 'styles.css'\n* import theme from 'theme.js'\n*\n* class Example extends React.Component {\n* render () {\n* return
Hello
\n* }\n* }\n*\n* export default themeable(theme, styles)(Example)\n* ```\n*\n* Note: in the above example, the CSS file must be transformed into a JS object\n* via [babel](#babel-plugin-themeable-styles) or [webpack](#ui-webpack-config) loader.\n*\n* Themeable components inject their themed styles into the document when they are mounted.\n*\n* After the initial mount, a themeable component's theme can be configured explicitly\n* via its `theme` prop or passed via React context using the [ApplyTheme](#ApplyTheme) component.\n*\n* Themeable components register themselves with the [global theme registry](#registry)\n* when they are imported into the application, so you will need to be sure to import them\n* before you mount your application so that the default themed styles can be generated and injected.\n*\n* @param {function} theme - A function that generates the component theme variables.\n* @param {object} styles - The component styles object.\n* @param {function} adapter - A function for mapping deprecated theme vars to updated values.\n* @return {function} composes the themeable component.\n*/\n\nvar emptyObj = {};\n/*\n * Note: there are consumers (like canvas-lms and other edu org repos) that are\n * consuming this file directly from \"/src\" (as opposed to \"/es\" or \"/lib\" like normal)\n * because they need this file to not have the babel \"class\" transform ran against it\n * (aka they need it to use real es6 `class`es, since you can't extend real es6\n * class from es5 transpiled code)\n *\n * Which means that for the time being, we can't use any other es6/7/8 features in\n * here that aren't supported by \"last 2 edge versions\" since we can't rely on babel\n * to transpile them for those apps.\n *\n * So, that means don't use \"static\" class properties (like `static PropTypes = {...}`),\n * or object spread (like \"{...foo, ..bar}\")\" in this file until instUI 7 is released.\n * Once we release instUI 7, the plan is to stop transpiling the \"/es\" dir for ie11\n * so once we do that, this caveat no longer applies.\n */\n\nvar themeable = decorator(function (ComposedComponent, theme) {\n var styles = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var adapter = arguments.length > 3 ? arguments[3] : void 0;\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var componentId = \"\".concat(styles && styles.componentId || uid());\n\n if (process.env.NODE_ENV !== 'production') {\n componentId = \"\".concat(displayName, \"__\").concat(componentId);\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(parseInt(React.version) >= 15, \"[themeable] React 15 or higher is required. You are running React version \".concat(React.version, \".\"));\n }\n\n var contextKey = Symbol(componentId);\n\n var template = function template() {};\n\n if (styles && styles.template) {\n template = typeof styles.template === 'function' ? styles.template : function () {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, '[themeable] Invalid styles for: %O. Use @instructure/babel-plugin-themeable-styles to transform CSS imports.', displayName);\n\n return '';\n };\n }\n\n registerComponentTheme(contextKey, theme);\n\n var getContext = function getContext(context) {\n var themeContext = ThemeContext.getThemeContext(context);\n return themeContext || emptyObj;\n };\n\n var getThemeFromContext = function getThemeFromContext(context) {\n var _getContext = getContext(context),\n theme = _getContext.theme;\n\n if (theme && theme[contextKey]) {\n return Object.assign({}, theme[contextKey]);\n } else {\n return emptyObj;\n }\n };\n\n var generateThemeForContextKey = function generateThemeForContextKey(themeKey, overrides) {\n return generateComponentTheme(contextKey, themeKey, overrides);\n };\n\n var ThemeableComponent =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(ThemeableComponent, _ComposedComponent);\n\n function ThemeableComponent() {\n var _this;\n\n _classCallCheck(this, ThemeableComponent);\n\n var res = _this = _possibleConstructorReturn(this, _getPrototypeOf(ThemeableComponent).apply(this, arguments));\n\n _this._themeCache = null;\n _this._instanceId = uid(displayName);\n var defaultTheme = generateThemeForContextKey();\n mountComponentStyles(template, defaultTheme, componentId);\n return _possibleConstructorReturn(_this, res);\n }\n\n _createClass(ThemeableComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.applyTheme();\n setTextDirection();\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidMount\", this)) {\n _get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidMount\", this).call(this);\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState, nextContext) {\n var themeContextWillChange = !deepEqual(ThemeContext.getThemeContext(this.context), ThemeContext.getThemeContext(nextContext));\n if (themeContextWillChange) return true;\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"shouldComponentUpdate\", this)) {\n return _get(_getPrototypeOf(ThemeableComponent.prototype), \"shouldComponentUpdate\", this).call(this, nextProps, nextState, nextContext);\n }\n\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState) || !shallowEqual(this.context, nextContext);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, prevContext) {\n if (!deepEqual(prevProps.theme, this.props.theme) || !deepEqual(getThemeFromContext(prevContext), getThemeFromContext(this.context))) {\n this._themeCache = null;\n }\n\n this.applyTheme();\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidUpdate\", this)) {\n _get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidUpdate\", this).call(this, prevProps, prevState, prevContext);\n }\n }\n }, {\n key: \"applyTheme\",\n value: function applyTheme(DOMNode) {\n if (isEmpty(this.theme)) {\n return;\n }\n\n var defaultTheme = generateThemeForContextKey();\n applyVariablesToNode(DOMNode || findDOMNode(this), // eslint-disable-line react/no-find-dom-node\n this.theme, defaultTheme, componentId, template, // for IE 11\n this.scope // for IE 11\n );\n }\n }, {\n key: \"scope\",\n get: function get() {\n return \"\".concat(componentId, \"__\").concat(this._instanceId);\n }\n }, {\n key: \"theme\",\n get: function get() {\n if (this._themeCache !== null) {\n return this._themeCache;\n }\n\n var _getContext2 = getContext(this.context),\n immutable = _getContext2.immutable;\n\n var theme = getThemeFromContext(this.context);\n\n if (this.props.theme && !isEmpty(this.props.theme)) {\n if (!theme) {\n theme = this.props.theme;\n } else if (immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, '[themeable] Parent theme is immutable. Cannot apply theme: %O', this.props.theme);\n } else {\n theme = isEmpty(theme) ? this.props.theme : Object.assign({}, theme, this.props.theme);\n }\n } // If adapter is provided, pass any overrides\n\n\n if (typeof adapter === 'function') {\n theme = adapter({\n theme: theme,\n displayName: displayName\n });\n } // pass in the component theme as overrides\n\n\n this._themeCache = generateThemeForContextKey(null, theme);\n return this._themeCache;\n }\n }]);\n\n return ThemeableComponent;\n }(ComposedComponent);\n\n ThemeableComponent.componentId = componentId;\n ThemeableComponent.theme = contextKey;\n ThemeableComponent.contextTypes = Object.assign({}, ComposedComponent.contextTypes, ThemeContext.types);\n ThemeableComponent.propTypes = Object.assign({}, ComposedComponent.propTypes, {\n theme: PropTypes.object\n } // eslint-disable-line react/forbid-prop-types\n );\n ThemeableComponent.generateTheme = generateThemeForContextKey;\n return ThemeableComponent;\n});\n/**\n* Utility to generate a theme for all themeable components that have been registered.\n* This theme can be applied using the [ApplyTheme](#ApplyTheme) component.\n*\n* @param {String} themeKey The theme to use (for global theme variables across components)\n* @param {Object} overrides theme variable overrides (usually for dynamic/user defined values)\n* @return {Object} A theme config to use with ``\n*/\n\nthemeable.generateTheme = generateTheme;\nexport default themeable;\nexport { themeable };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeDeep } from '@instructure/ui-utils';\nimport { ensureSingleChild } from '@instructure/ui-react-utils';\nimport { ThemeContext } from '../ThemeContext';\nimport { themeable } from '../themeable';\n/**\n---\ncategory: components/utilities\n---\n**/\n\nvar ApplyTheme =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(ApplyTheme, _Component);\n\n function ApplyTheme() {\n _classCallCheck(this, ApplyTheme);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ApplyTheme).apply(this, arguments));\n }\n\n _createClass(ApplyTheme, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var theme = this.props.theme || {};\n var parentThemeContext = ThemeContext.getThemeContext(this.context) || {};\n\n if (parentThemeContext.immutable && parentThemeContext.theme) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(!this.props.theme, '[ApplyTheme] Parent theme is immutable. Cannot apply theme: %O', this.props.theme);\n\n theme = parentThemeContext.theme;\n } else if (parentThemeContext.theme) {\n theme = mergeDeep(parentThemeContext.theme, theme);\n }\n\n return ThemeContext.makeThemeContext(theme, parentThemeContext.immutable || this.props.immutable);\n }\n }, {\n key: \"render\",\n value: function render() {\n return ensureSingleChild(this.props.children);\n }\n }]);\n\n ApplyTheme.displayName = \"ApplyTheme\";\n return ApplyTheme;\n}(Component);\n\nApplyTheme.propTypes = {\n /**\n * set theme variables to override the defaults\n */\n theme: PropTypes.object,\n\n /**\n * accepts only one child (children must be wrapped in a single component/element)\n */\n children: PropTypes.node,\n\n /**\n * Prevent overriding this theme via a child ApplyTheme component or theme props\n */\n immutable: PropTypes.bool\n};\nApplyTheme.defaultProps = {\n theme: void 0,\n children: null,\n immutable: false\n};\nApplyTheme.childContextTypes = ThemeContext.types;\nApplyTheme.contextTypes = ThemeContext.types;\nApplyTheme.generateTheme = themeable.generateTheme;\nexport default ApplyTheme;\nexport { ApplyTheme };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar ThemeablePropValues = {\n SHADOW_TYPES: {\n resting: 'resting',\n above: 'above',\n topmost: 'topmost',\n none: 'none'\n },\n STACKING_TYPES: {\n deepest: 'deepest',\n below: 'below',\n resting: 'resting',\n above: 'above',\n topmost: 'topmost'\n },\n BORDER_WIDTHS: {\n '0': '0',\n none: 'none',\n small: 'small',\n medium: 'medium',\n large: 'large'\n },\n BORDER_RADII: {\n '0': '0',\n none: 'none',\n small: 'small',\n medium: 'medium',\n large: 'large',\n circle: 'circle',\n pill: 'pill'\n },\n BACKGROUNDS: {\n default: 'default',\n inverse: 'inverse',\n transparent: 'transparent'\n },\n SIZES: {\n xSmall: 'x-small',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xLarge: 'x-large'\n },\n SPACING: {\n '0': '0',\n none: 'none',\n auto: 'auto',\n xxxSmall: 'xxx-small',\n xxSmall: 'xx-small',\n xSmall: 'x-small',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xLarge: 'x-large',\n xxLarge: 'xx-large'\n }\n};\nexport default ThemeablePropValues;\nexport { ThemeablePropValues };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Converts a hyphenated string to camel case\n *\n * Example inputs:\n * - 'foo-bar'\n * - 'baz-qux'\n *\n * Example outputs:\n * - 'fooBar'\n * - 'bazQux'\n *\n * @param {String} str\n * @returns {String} Returns camel cased string\n*/\nfunction camelize(str) {\n return str.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n });\n}\n\nexport default camelize;\nexport { camelize };","import { error as _error } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { isEmpty, camelize } from '@instructure/ui-utils';\n\nfunction getShorthandPropValue(componentName, componentTheme, propValue, propName) {\n if (typeof propValue !== 'string' || isEmpty(componentTheme)) {\n return;\n }\n\n return propValue.split(' ').map(function (shortHandValue) {\n if (shortHandValue === 'auto' || shortHandValue === '0') {\n return shortHandValue;\n }\n\n if (shortHandValue === 'none') {\n return '0';\n }\n\n if (shortHandValue === 'circle') {\n return '100%';\n }\n\n if (shortHandValue === 'pill') {\n return '999em';\n }\n\n var themeVariableName = camelize(\"\".concat(propName, \"-\").concat(shortHandValue));\n var themeVariableValue = componentTheme[themeVariableName];\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(themeVariableValue, \"[\".concat(componentName, \"] '\").concat(themeVariableName, \"' is an invalid '\").concat(propName, \"' value.\"));\n\n return themeVariableValue || '0';\n }).join(' ').trim();\n}\n\nexport default getShorthandPropValue;\nexport { getShorthandPropValue };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { camelize } from '@instructure/ui-utils';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Given a prefix and a theme object, prepends the object keys with\n * the designated prefix and camel cases the concatenation.\n *\n * @param {String} prefix - a string to prepend to object keys\n * @param {Object} vars - an object\n * @returns {Object} a modified object with prefixed keys\n */\n\nfunction makeThemeVars(prefix, vars) {\n var themeVars = {};\n Object.keys(vars).forEach(function (variable) {\n themeVars[camelize(\"\".concat(prefix, \"-\").concat(variable))] = vars[variable];\n });\n return themeVars;\n}\n\nexport default makeThemeVars;\nexport { makeThemeVars };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * @module mirrorShorthand\n */\n\n/**\n * Mirror shorthand CSS properties for bidirectional text\n *\n * Given a string representing a CSS shorthand for edges,\n * swaps the values such that 4 value syntax is RTL instead\n * of LTR.\n *\n * See the following for further reference:\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties\n *\n * @param {String} values - space delimited string values representing a CSS shorthand\n * @returns {String} a space delimited CSS shorthand string converted to RTL\n */\nfunction mirrorShorthandEdges(values) {\n if (typeof values !== 'string') {\n return;\n }\n\n var valuesArr = values.split(' ');\n\n if (valuesArr.length === 4) {\n // swap the 2nd and 4th values\n var _ref = [valuesArr[3], valuesArr[1]];\n valuesArr[1] = _ref[0];\n valuesArr[3] = _ref[1];\n }\n\n return valuesArr.join(' ');\n}\n/**\n * Convert shorthand CSS properties for corners to rtl\n *\n * Given a string representing a CSS shorthand for corners,\n * swaps the values such that 2,3 and 4 value syntax is rtl\n * instead of ltr.\n *\n * See the following for further reference:\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties\n *\n * @param {String} values - space delimited string values representing a CSS shorthand\n * @returns {String} a space delimited CSS shorthand string converted to RTL\n */\n\n\nfunction mirrorShorthandCorners(values) {\n if (typeof values !== 'string') {\n return;\n }\n\n var valuesArr = values.split(' ');\n\n if (valuesArr.length === 2) {\n // swap the 1st and 2nd values\n var _ref2 = [valuesArr[1], valuesArr[0]];\n valuesArr[0] = _ref2[0];\n valuesArr[1] = _ref2[1];\n }\n\n if (valuesArr.length === 3) {\n // convert 3 value syntax to 4 value syntax\n valuesArr.push(valuesArr[1]);\n }\n\n if (valuesArr.length === 4) {\n var _ref3 = [valuesArr[1], valuesArr[0], valuesArr[3], valuesArr[2]];\n valuesArr[0] = _ref3[0];\n valuesArr[1] = _ref3[1];\n valuesArr[2] = _ref3[2];\n valuesArr[3] = _ref3[3];\n }\n\n return valuesArr.join(' ');\n}\n\nexport { mirrorShorthandEdges, mirrorShorthandCorners };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { mirrorShorthandCorners } from './mirrorShorthand';\nexport default mirrorShorthandCorners;\nexport { mirrorShorthandCorners };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport PropTypes from 'prop-types';\nimport { ThemeablePropValues } from './ThemeablePropValues';\nvar SHADOW_TYPES = ThemeablePropValues.SHADOW_TYPES,\n STACKING_TYPES = ThemeablePropValues.STACKING_TYPES,\n BORDER_WIDTHS = ThemeablePropValues.BORDER_WIDTHS,\n BORDER_RADII = ThemeablePropValues.BORDER_RADII,\n BACKGROUNDS = ThemeablePropValues.BACKGROUNDS,\n SIZES = ThemeablePropValues.SIZES,\n SPACING = ThemeablePropValues.SPACING;\n/**\n * ---\n * category: utilities/themes\n * ---\n * Custom prop types for themeable React components.\n * @module ThemeablePropTypes\n */\n\nvar ThemeablePropTypes = {\n shadow: PropTypes.oneOf(Object.values(SHADOW_TYPES)),\n stacking: PropTypes.oneOf(Object.values(STACKING_TYPES)),\n borderWidth: shorthandPropType(Object.values(BORDER_WIDTHS)),\n borderRadius: shorthandPropType(Object.values(BORDER_RADII)),\n background: PropTypes.oneOf(Object.values(BACKGROUNDS)),\n size: PropTypes.oneOf(Object.values(SIZES)),\n spacing: shorthandPropType(Object.values(SPACING))\n};\n\nfunction shorthandPropType(validValues) {\n return function (props, propName, componentName, location) {\n var propValue = props[propName];\n\n if (typeof propValue === 'undefined') {\n return;\n }\n\n var propValueType = typeof propValue;\n\n if (propValueType !== 'string') {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` of type `\").concat(propValueType, \"` supplied to `\").concat(componentName, \"`, expected \") + \"a string.\");\n }\n\n var propValues = propValue.split(' ');\n var valuesLength = propValues.length;\n\n if (valuesLength > 0 && valuesLength < 5) {\n for (var i = 0; i < valuesLength; i++) {\n var valueIndex = validValues.indexOf(propValues[i]);\n\n if (valueIndex === -1) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` `\").concat(propValues[i], \"` supplied to `\").concat(componentName, \"`, expected \") + \"a one of `\".concat(validValues.join(', '), \"`.\"));\n }\n }\n } else {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` `\").concat(propValue, \"` supplied to `\").concat(componentName, \"`, expected \") + \"between one and four of the following valid values: `\".concat(validValues.join(', '), \"`.\"));\n }\n };\n}\n\nexport default ThemeablePropTypes;\nexport { ThemeablePropTypes, shorthandPropType };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { cleanCss } from './parseCss';\nexport default cleanCss;\nexport { cleanCss };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { ruleTypes } from './parseCss';\nexport default ruleTypes;\nexport { ruleTypes };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { warn as _warn } from \"@instructure/console\";\nexport var createThemeAdapter = function createThemeAdapter() {\n var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n _ref$map = _ref.map,\n map = _ref$map === void 0 ? {} : _ref$map,\n version = _ref.version;\n\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n _ref2$theme = _ref2.theme,\n theme = _ref2$theme === void 0 ? {} : _ref2$theme,\n displayName = _ref2.displayName;\n\n return Object.entries(theme).reduce(function (result, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n\n if (map[key]) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[\".concat(displayName, \"] The theme variable `\").concat(key, \"` has been changed to `\").concat(map[key], \"`.\").concat(version ? \" In version \".concat(version, \", `\").concat(key, \"` will no longer work as an override. Use `\").concat(map[key], \"` instead.\") : ''));\n\n return _objectSpread({}, result, _defineProperty({}, map[key], value));\n }\n\n return _objectSpread({}, result, _defineProperty({}, key, value));\n }, {});\n };\n};","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport { ApplyTheme } from './ApplyTheme';\nexport { ThemeablePropValues } from './ThemeablePropValues';\nexport { applyCustomMediaToCss } from './applyCustomMediaToCss';\nexport { applyVariablesToNode } from './applyVariablesToNode';\nexport { customPropertiesSupported } from './customPropertiesSupported';\nexport { formatVariableName } from './formatVariableName';\nexport { formatVariableNames } from './formatVariableNames';\nexport { getCssText } from './getCssText';\nexport { getShorthandPropValue } from './getShorthandPropValue';\nexport { makeThemeVars } from './makeThemeVars';\nexport { mirrorShorthandEdges } from './mirrorShorthand';\nexport { mirrorShorthandCorners } from './mirrorShorthandCorners';\nexport { pickOverrides } from './pickOverrides';\nexport { replaceValuesWithVariableNames } from './replaceValuesWithVariableNames';\nexport { scopeStylesToNode } from './scopeStylesToNode';\nexport { scopeCssText } from './scopeCssText';\nexport { setTextDirection } from './setTextDirection';\nexport { ThemeablePropTypes } from './ThemeablePropTypes';\nexport { ThemeContext } from './ThemeContext';\nexport { transformCss } from './transformCss';\nexport { cleanCss } from './cleanCss';\nexport { ruleTypes } from './ruleTypes';\nexport { parseCss } from './parseCss';\nexport { ThemeRegistry } from './ThemeRegistry';\nexport { createThemeAdapter } from './createThemeAdapter';\nexport { themeable as default } from './themeable';\nexport { themeable } from './themeable';","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import superPropBase from \"./superPropBase\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar React = require('react');\n\nvar loggedInitialDeprecationWarning = false;\n/* eslint-disable no-console */\n\nfunction getRenderStack() {\n var renderStack = '';\n\n try {\n renderStack = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getStackAddendum();\n } catch (error) {// log happened outside a react render or couldn't figure out where in the render stack we are.\n }\n\n return renderStack;\n}\n\nfunction logMessage(level, withRenderStack, condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n if (typeof console[level] === 'function') {\n var _console;\n\n var renderStack = withRenderStack ? getRenderStack() : '';\n\n for (var _len = arguments.length, args = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {\n args[_key - 4] = arguments[_key];\n }\n\n (_console = console)[level].apply(_console, [\"Warning: \".concat(message)].concat(args, [renderStack]));\n } else {\n throw new Error(\"'\".concat(level, \"' is not a valid console method!\"));\n }\n }\n}\n\nfunction logDeprecated(condition, message) {\n if (!process.env.OMIT_INSTUI_DEPRECATION_WARNINGS) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n logMessage.apply(void 0, ['warn', true, condition, message].concat(args));\n } else if (!condition && !loggedInitialDeprecationWarning) {\n loggedInitialDeprecationWarning = true;\n logMessage('warn', false, condition, ['There are Instructure UI deprecation warnings that are being hidden because the `OMIT_INSTUI_DEPRECATION_WARNINGS` environment variable is set. Remove or unset this variable to see the full list of warnings in your console.', 'These warnings will give you advance notice of breaking changes and upgrade guidance to keep your code up to date with the latest Instructure UI versions.'].join('\\n\\n'));\n }\n}\n\nexports.error = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return logMessage.apply(void 0, ['error', true].concat(args));\n};\n\nexports.warn = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return logMessage.apply(void 0, ['warn', true].concat(args));\n};\n\nexports.warnDeprecated = function () {\n return logDeprecated.apply(void 0, arguments);\n};\n\nexports.info = function () {\n var _console2;\n\n return (_console2 = console).info.apply(_console2, arguments);\n};\n\nexports.assert = function () {\n var _console3;\n\n return (_console3 = console).assert.apply(_console3, arguments);\n};\n\nexports.debug = function () {\n var _console4;\n\n return (_console4 = console).debug.apply(_console4, arguments);\n};\n\nexports.log = function () {\n var _console5;\n\n return (_console5 = console).log.apply(_console5, arguments);\n};\n/* eslint-enable no-console */","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar React = require('react');\n/* eslint-disable no-console */\n\n\nfunction getRenderStack() {\n var renderStack = '';\n\n try {\n renderStack = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getStackAddendum();\n } catch (error) {// log happened outside a react render or couldn't figure out where in the render stack we are.\n }\n\n return renderStack;\n}\n\nfunction logWithRenderStack(level, condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n var renderStack = getRenderStack();\n\n if (typeof console[level] === 'function') {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n (_console = console)[level].apply(_console, [\"Warning: \".concat(message)].concat(args, [renderStack]));\n } else {\n throw new Error(\"'\".concat(level, \"' is not a valid console method!\"));\n }\n }\n}\n\nexports.error = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return logWithRenderStack.apply(void 0, ['error'].concat(args));\n};\n\nexports.warn = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return logWithRenderStack.apply(void 0, ['warn'].concat(args));\n};\n\nexports.info = function () {\n var _console2;\n\n return (_console2 = console).info.apply(_console2, arguments);\n};\n\nexports.assert = function () {\n var _console3;\n\n return (_console3 = console).assert.apply(_console3, arguments);\n};\n\nexports.debug = function () {\n var _console4;\n\n return (_console4 = console).debug.apply(_console4, arguments);\n};\n\nexports.log = function () {\n var _console5;\n\n return (_console5 = console).log.apply(_console5, arguments);\n};\n/* eslint-enable no-console */","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar React = require('react');\n\nvar loggedInitialDeprecationWarning = false;\n/* eslint-disable no-console */\n\nfunction getRenderStack() {\n var renderStack = '';\n\n try {\n renderStack = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getStackAddendum();\n } catch (error) {// log happened outside a react render or couldn't figure out where in the render stack we are.\n }\n\n return renderStack;\n}\n\nfunction logMessage(level, withRenderStack, condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n if (typeof console[level] === 'function') {\n var _console;\n\n var renderStack = withRenderStack ? getRenderStack() : '';\n\n for (var _len = arguments.length, args = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {\n args[_key - 4] = arguments[_key];\n }\n\n (_console = console)[level].apply(_console, [\"Warning: \".concat(message)].concat(args, [renderStack]));\n } else {\n throw new Error(\"'\".concat(level, \"' is not a valid console method!\"));\n }\n }\n}\n\nfunction logDeprecated(condition, message) {\n if (!process.env.OMIT_INSTUI_DEPRECATION_WARNINGS) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n logMessage.apply(void 0, ['warn', true, condition, message].concat(args));\n } else if (!condition && !loggedInitialDeprecationWarning) {\n loggedInitialDeprecationWarning = true;\n logMessage('warn', false, condition, ['There are Instructure UI deprecation warnings that are being hidden because the `OMIT_INSTUI_DEPRECATION_WARNINGS` environment variable is set. Remove or unset this variable to see the full list of warnings in your console.', 'These warnings will give you advance notice of breaking changes and upgrade guidance to keep your code up to date with the latest Instructure UI versions.'].join('\\n\\n'));\n }\n}\n\nexports.error = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return logMessage.apply(void 0, ['error', true].concat(args));\n};\n\nexports.warn = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return logMessage.apply(void 0, ['warn', true].concat(args));\n};\n\nexports.warnDeprecated = function () {\n return logDeprecated.apply(void 0, arguments);\n};\n\nexports.info = function () {\n var _console2;\n\n return (_console2 = console).info.apply(_console2, arguments);\n};\n\nexports.assert = function () {\n var _console3;\n\n return (_console3 = console).assert.apply(_console3, arguments);\n};\n\nexports.debug = function () {\n var _console4;\n\n return (_console4 = console).debug.apply(_console4, arguments);\n};\n\nexports.log = function () {\n var _console5;\n\n return (_console5 = console).log.apply(_console5, arguments);\n};\n/* eslint-enable no-console */","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar React = require('react');\n/* eslint-disable no-console */\n\n\nfunction getRenderStack() {\n var renderStack = '';\n\n try {\n renderStack = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getStackAddendum();\n } catch (error) {// log happened outside a react render or couldn't figure out where in the render stack we are.\n }\n\n return renderStack;\n}\n\nfunction logWithRenderStack(level, condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n var renderStack = getRenderStack();\n\n if (typeof console[level] === 'function') {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n (_console = console)[level].apply(_console, [\"Warning: \".concat(message)].concat(args, [renderStack]));\n } else {\n throw new Error(\"'\".concat(level, \"' is not a valid console method!\"));\n }\n }\n}\n\nexports.error = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return logWithRenderStack.apply(void 0, ['error'].concat(args));\n};\n\nexports.warn = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return logWithRenderStack.apply(void 0, ['warn'].concat(args));\n};\n\nexports.info = function () {\n var _console2;\n\n return (_console2 = console).info.apply(_console2, arguments);\n};\n\nexports.assert = function () {\n var _console3;\n\n return (_console3 = console).assert.apply(_console3, arguments);\n};\n\nexports.debug = function () {\n var _console4;\n\n return (_console4 = console).debug.apply(_console4, arguments);\n};\n\nexports.log = function () {\n var _console5;\n\n return (_console5 = console).log.apply(_console5, arguments);\n};\n/* eslint-enable no-console */","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","/**\n * This action type will be dispatched when your history\n * receives a location change.\n */\nexport var LOCATION_CHANGE = '@@router/LOCATION_CHANGE';\nexport var onLocationChanged = function onLocationChanged(location, action) {\n var isFirstRendering = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return {\n type: LOCATION_CHANGE,\n payload: {\n location: location,\n action: action,\n isFirstRendering: isFirstRendering\n }\n };\n};\n/**\n * This action type will be dispatched by the history actions below.\n * If you're writing a middleware to watch for navigation events, be sure to\n * look for actions of this type.\n */\n\nexport var CALL_HISTORY_METHOD = '@@router/CALL_HISTORY_METHOD';\n\nvar updateLocation = function updateLocation(method) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return {\n type: CALL_HISTORY_METHOD,\n payload: {\n method: method,\n args: args\n }\n };\n };\n};\n/**\n * These actions correspond to the history API.\n * The associated routerMiddleware will capture these events before they get to\n * your reducer and reissue them as the matching function on your history.\n */\n\n\nexport var push = updateLocation('push');\nexport var replace = updateLocation('replace');\nexport var go = updateLocation('go');\nexport var goBack = updateLocation('goBack');\nexport var goForward = updateLocation('goForward');\nexport var routerActions = {\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward\n};","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n* ---\n* category: utilities/themes\n* ---\n* Parses a CSS string into an AST object\n* @module parseCss\n* @param {String} cssText CSS string to parse\n* @returns {Object} AST for the CSS string\n*/\nfunction parseCss() {\n var cssText = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n var cleaned = cleanCss(cssText);\n return parseLexed(lex(cleaned), cleaned);\n}\n/**\n* CSSRule types (https://developer.mozilla.org/en-US/docs/Web/API/CSSRule)\n*/\n\n\nvar ruleTypes = {\n style: 1,\n keyframes: 7,\n media: 4\n};\n/**\n* Removes comments and import statements from a CSS string\n* (to prep for parsing and applying transforms)\n* @param {String} cssText CSS string to parse\n* @returns {String} cleaned CSS string\n*/\n\nfunction cleanCss() {\n var text = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n // remove comments and imports\n return text.replace(/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//gim, '').replace(/@import[^;]*;/gim, '');\n}\n\nfunction lex(text) {\n var rootNode = {\n start: 0,\n end: text.length\n };\n var node = rootNode;\n var chars = text.split('');\n chars.forEach(function (char, i) {\n switch (char) {\n case '{':\n {\n if (!node.rules) {\n node.rules = [];\n }\n\n var parent = node;\n var previous = parent.rules[parent.rules.length - 1];\n node = {\n start: i + 1,\n parent: parent,\n previous: previous\n };\n parent.rules.push(node);\n break;\n }\n\n case '}':\n {\n node.end = i + 1;\n node = node.parent || rootNode;\n break;\n }\n\n default:\n {\n break;\n }\n }\n });\n return rootNode;\n}\n\nfunction parseSelector(node, text) {\n var start = node.previous ? node.previous.end : node.parent.start;\n var end = node.start - 1;\n var selector = text.substring(start, end);\n selector = selector.replace(/\\s+/g, ' ');\n selector = selector.substring(selector.lastIndexOf(';') + 1);\n return selector.trim();\n}\n\nfunction parseRuleType(selector) {\n if (selector.indexOf('@') === 0) {\n if (selector.indexOf('@media') === 0) {\n return ruleTypes.media;\n } else if (selector.match(/^@[^\\s]*keyframes/)) {\n return ruleTypes.keyframes;\n }\n } else {\n return ruleTypes.style;\n }\n}\n\nfunction parseLexed(node) {\n var text = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';\n\n /* eslint-disable no-param-reassign */\n if (node.parent) {\n node.selector = parseSelector(node, text);\n node.type = parseRuleType(node.selector);\n }\n\n node.cssText = text.substring(node.start, node.end - 1).trim();\n\n if (node.rules && node.rules.length > 0) {\n node.rules = node.rules.map(function (rule) {\n return parseLexed(rule, text);\n });\n }\n /* eslint-enable no-param-reassign */\n\n\n return node;\n}\n\nexport default parseCss;\nexport { parseCss, cleanCss, ruleTypes };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n* ---\n* category: utilities/themes\n* ---\n* Parses a CSS string into an AST object\n* @module parseCss\n* @param {String} cssText CSS string to parse\n* @returns {Object} AST for the CSS string\n*/\nfunction parseCss() {\n var cssText = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n var cleaned = cleanCss(cssText);\n return parseLexed(lex(cleaned), cleaned);\n}\n/**\n* CSSRule types (https://developer.mozilla.org/en-US/docs/Web/API/CSSRule)\n*/\n\n\nvar ruleTypes = {\n style: 1,\n keyframes: 7,\n media: 4\n};\n/**\n* Removes comments and import statements from a CSS string\n* (to prep for parsing and applying transforms)\n* @param {String} cssText CSS string to parse\n* @returns {String} cleaned CSS string\n*/\n\nfunction cleanCss() {\n var text = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n // remove comments and imports\n return text.replace(/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//gim, '').replace(/@import[^;]*;/gim, '');\n}\n\nfunction lex(text) {\n var rootNode = {\n start: 0,\n end: text.length\n };\n var node = rootNode;\n var chars = text.split('');\n chars.forEach(function (char, i) {\n switch (char) {\n case '{':\n {\n if (!node.rules) {\n node.rules = [];\n }\n\n var parent = node;\n var previous = parent.rules[parent.rules.length - 1];\n node = {\n start: i + 1,\n parent: parent,\n previous: previous\n };\n parent.rules.push(node);\n break;\n }\n\n case '}':\n {\n node.end = i + 1;\n node = node.parent || rootNode;\n break;\n }\n\n default:\n {\n break;\n }\n }\n });\n return rootNode;\n}\n\nfunction parseSelector(node, text) {\n var start = node.previous ? node.previous.end : node.parent.start;\n var end = node.start - 1;\n var selector = text.substring(start, end);\n selector = selector.replace(/\\s+/g, ' ');\n selector = selector.substring(selector.lastIndexOf(';') + 1);\n return selector.trim();\n}\n\nfunction parseRuleType(selector) {\n if (selector.indexOf('@') === 0) {\n if (selector.indexOf('@media') === 0) {\n return ruleTypes.media;\n } else if (selector.match(/^@[^\\s]*keyframes/)) {\n return ruleTypes.keyframes;\n }\n } else {\n return ruleTypes.style;\n }\n}\n\nfunction parseLexed(node) {\n var text = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';\n\n /* eslint-disable no-param-reassign */\n if (node.parent) {\n node.selector = parseSelector(node, text);\n node.type = parseRuleType(node.selector);\n }\n\n node.cssText = text.substring(node.start, node.end - 1).trim();\n\n if (node.rules && node.rules.length > 0) {\n node.rules = node.rules.map(function (rule) {\n return parseLexed(rule, text);\n });\n }\n /* eslint-enable no-param-reassign */\n\n\n return node;\n}\n\nexport default parseCss;\nexport { parseCss, cleanCss, ruleTypes };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n* ---\n* category: utilities/themes\n* ---\n* Parses a CSS string into an AST object\n* @module parseCss\n* @param {String} cssText CSS string to parse\n* @returns {Object} AST for the CSS string\n*/\nfunction parseCss() {\n var cssText = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n var cleaned = cleanCss(cssText);\n return parseLexed(lex(cleaned), cleaned);\n}\n/**\n* CSSRule types (https://developer.mozilla.org/en-US/docs/Web/API/CSSRule)\n*/\n\n\nvar ruleTypes = {\n style: 1,\n keyframes: 7,\n media: 4\n};\n/**\n* Removes comments and import statements from a CSS string\n* (to prep for parsing and applying transforms)\n* @param {String} cssText CSS string to parse\n* @returns {String} cleaned CSS string\n*/\n\nfunction cleanCss() {\n var text = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n // remove comments and imports\n return text.replace(/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//gim, '').replace(/@import[^;]*;/gim, '');\n}\n\nfunction lex(text) {\n var rootNode = {\n start: 0,\n end: text.length\n };\n var node = rootNode;\n var chars = text.split('');\n chars.forEach(function (char, i) {\n switch (char) {\n case '{':\n {\n if (!node.rules) {\n node.rules = [];\n }\n\n var parent = node;\n var previous = parent.rules[parent.rules.length - 1];\n node = {\n start: i + 1,\n parent: parent,\n previous: previous\n };\n parent.rules.push(node);\n break;\n }\n\n case '}':\n {\n node.end = i + 1;\n node = node.parent || rootNode;\n break;\n }\n\n default:\n {\n break;\n }\n }\n });\n return rootNode;\n}\n\nfunction parseSelector(node, text) {\n var start = node.previous ? node.previous.end : node.parent.start;\n var end = node.start - 1;\n var selector = text.substring(start, end);\n selector = selector.replace(/\\s+/g, ' ');\n selector = selector.substring(selector.lastIndexOf(';') + 1);\n return selector.trim();\n}\n\nfunction parseRuleType(selector) {\n if (selector.indexOf('@') === 0) {\n if (selector.indexOf('@media') === 0) {\n return ruleTypes.media;\n } else if (selector.match(/^@[^\\s]*keyframes/)) {\n return ruleTypes.keyframes;\n }\n } else {\n return ruleTypes.style;\n }\n}\n\nfunction parseLexed(node) {\n var text = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';\n\n /* eslint-disable no-param-reassign */\n if (node.parent) {\n node.selector = parseSelector(node, text);\n node.type = parseRuleType(node.selector);\n }\n\n node.cssText = text.substring(node.start, node.end - 1).trim();\n\n if (node.rules && node.rules.length > 0) {\n node.rules = node.rules.map(function (rule) {\n return parseLexed(rule, text);\n });\n }\n /* eslint-enable no-param-reassign */\n\n\n return node;\n}\n\nexport default parseCss;\nexport { parseCss, cleanCss, ruleTypes };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n* ---\n* category: utilities/themes\n* ---\n* Parses a CSS string into an AST object\n* @module parseCss\n* @param {String} cssText CSS string to parse\n* @returns {Object} AST for the CSS string\n*/\nfunction parseCss() {\n var cssText = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n var cleaned = cleanCss(cssText);\n return parseLexed(lex(cleaned), cleaned);\n}\n/**\n* CSSRule types (https://developer.mozilla.org/en-US/docs/Web/API/CSSRule)\n*/\n\n\nvar ruleTypes = {\n style: 1,\n keyframes: 7,\n media: 4\n};\n/**\n* Removes comments and import statements from a CSS string\n* (to prep for parsing and applying transforms)\n* @param {String} cssText CSS string to parse\n* @returns {String} cleaned CSS string\n*/\n\nfunction cleanCss() {\n var text = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n // remove comments and imports\n return text.replace(/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//gim, '').replace(/@import[^;]*;/gim, '');\n}\n\nfunction lex(text) {\n var rootNode = {\n start: 0,\n end: text.length\n };\n var node = rootNode;\n var chars = text.split('');\n chars.forEach(function (char, i) {\n switch (char) {\n case '{':\n {\n if (!node.rules) {\n node.rules = [];\n }\n\n var parent = node;\n var previous = parent.rules[parent.rules.length - 1];\n node = {\n start: i + 1,\n parent: parent,\n previous: previous\n };\n parent.rules.push(node);\n break;\n }\n\n case '}':\n {\n node.end = i + 1;\n node = node.parent || rootNode;\n break;\n }\n\n default:\n {\n break;\n }\n }\n });\n return rootNode;\n}\n\nfunction parseSelector(node, text) {\n var start = node.previous ? node.previous.end : node.parent.start;\n var end = node.start - 1;\n var selector = text.substring(start, end);\n selector = selector.replace(/\\s+/g, ' ');\n selector = selector.substring(selector.lastIndexOf(';') + 1);\n return selector.trim();\n}\n\nfunction parseRuleType(selector) {\n if (selector.indexOf('@') === 0) {\n if (selector.indexOf('@media') === 0) {\n return ruleTypes.media;\n } else if (selector.match(/^@[^\\s]*keyframes/)) {\n return ruleTypes.keyframes;\n }\n } else {\n return ruleTypes.style;\n }\n}\n\nfunction parseLexed(node) {\n var text = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';\n\n /* eslint-disable no-param-reassign */\n if (node.parent) {\n node.selector = parseSelector(node, text);\n node.type = parseRuleType(node.selector);\n }\n\n node.cssText = text.substring(node.start, node.end - 1).trim();\n\n if (node.rules && node.rules.length > 0) {\n node.rules = node.rules.map(function (rule) {\n return parseLexed(rule, text);\n });\n }\n /* eslint-enable no-param-reassign */\n\n\n return node;\n}\n\nexport default parseCss;\nexport { parseCss, cleanCss, ruleTypes };","import React from 'react';\nexport var ReactReduxContext = React.createContext(null);\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nvar CLEARED = null;\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n var batch = getBatch(); // the current/next pattern is copied from redux's createStore code.\n // TODO: refactor+expose that code to be reusable here?\n\n var current = [];\n var next = [];\n return {\n clear: function clear() {\n next = CLEARED;\n current = CLEARED;\n },\n notify: function notify() {\n var listeners = current = next;\n batch(function () {\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n });\n },\n get: function get() {\n return next;\n },\n subscribe: function subscribe(listener) {\n var isSubscribed = true;\n if (next === current) next = current.slice();\n next.push(listener);\n return function unsubscribe() {\n if (!isSubscribed || current === CLEARED) return;\n isSubscribed = false;\n if (next === current) next = current.slice();\n next.splice(next.indexOf(listener), 1);\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub) {\n this.store = store;\n this.parentSub = parentSub;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n this.handleChangeWrapper = this.handleChangeWrapper.bind(this);\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.handleChangeWrapper = function handleChangeWrapper() {\n if (this.onStateChange) {\n this.onStateChange();\n }\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexport { Subscription as default };","import React, { useMemo, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport Subscription from '../utils/Subscription';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = new Subscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nProvider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n};\nexport default Provider;","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nvar isHopefullyDomEnvironment = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\nexport var useIsomorphicLayoutEffect = isHopefullyDomEnvironment ? useLayoutEffect : useEffect;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport invariant from 'invariant';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"]);\n\n invariant(renderCountProp === undefined, \"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n invariant(!withRef, 'withRef is removed. To access the wrapped instance, use a ref on the connected component');\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: . ' + 'You may also pass a {context : MyContext} option to connect';\n invariant(storeKey === 'store', 'storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production') {\n invariant(isValidElementType(WrappedComponent), \"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var forwardedRef = props.forwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, [\"forwardedRef\"]);\n\n return [props.context, forwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n forwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer(React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n invariant(didStoreComeFromProps || didStoreComeFromContext, \"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + \"or pass a custom React context provider to and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\")); // Based on the previous check, one of these must be true\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var subscription = new Subscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffect(function () {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n }); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffect(function () {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n }, [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: forwardedRef\n }));\n }, [forwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return React.createElement(Connect, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","var hasOwn = Object.prototype.hasOwnProperty;\n\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import { bindActionCreators } from 'redux';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, {}, stateProps, {}, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default createConnect();","import { useContext } from 'react';\nimport invariant from 'invariant';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n invariant(contextValue, 'could not find react-redux context value; please ensure the component is wrapped in a ');\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {Function} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport var useStore = createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {Function} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport var useDispatch = createDispatchHook();","import { useReducer, useRef, useMemo, useContext } from 'react';\nimport invariant from 'invariant';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return new Subscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestSelectedState = useRef();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) {\n selectedState = selector(store.getState());\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n var errorMessage = \"An error occurred while selecting the store state: \" + err.message + \".\";\n\n if (latestSubscriptionCallbackError.current) {\n errorMessage += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\nOriginal stack trace:\";\n }\n\n throw new Error(errorMessage);\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newSelectedState = latestSelector.current(store.getState());\n\n if (equalityFn(newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = newSelectedState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender({});\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {Function} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n invariant(selector, \"You must pass a selector to useSelectors\");\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n return useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport var useSelector = createSelectorHook();","import Provider from './components/Provider';\nimport connectAdvanced from './components/connectAdvanced';\nimport { ReactReduxContext } from './components/Context';\nimport connect from './connect/connect';\nimport { useDispatch, createDispatchHook } from './hooks/useDispatch';\nimport { useSelector, createSelectorHook } from './hooks/useSelector';\nimport { useStore, createStoreHook } from './hooks/useStore';\nimport { setBatch } from './utils/batch';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport shallowEqual from './utils/shallowEqual';\nsetBatch(batch);\nexport { Provider, connectAdvanced, ReactReduxContext, connect, batch, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a!==a && b!==b;\n};\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n } else {\n throw new Error(prefix + \": \" + (message || ''));\n }\n}\n\nexport default invariant;\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isEmpty(obj) {\n if (typeof obj !== 'object') return true;\n\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) return false;\n }\n\n return true;\n}\n\nexport default isEmpty;\nexport { isEmpty };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isEmpty(obj) {\n if (typeof obj !== 'object') return true;\n\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) return false;\n }\n\n return true;\n}\n\nexport default isEmpty;\nexport { isEmpty };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isEmpty(obj) {\n if (typeof obj !== 'object') return true;\n\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) return false;\n }\n\n return true;\n}\n\nexport default isEmpty;\nexport { isEmpty };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isEmpty(obj) {\n if (typeof obj !== 'object') return true;\n\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) return false;\n }\n\n return true;\n}\n\nexport default isEmpty;\nexport { isEmpty };","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","import $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n keys.push.apply(keys, Object.getOwnPropertySymbols(object));\n }\n\n if (enumerableOnly) keys = keys.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread2({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { formatVariableName } from './formatVariableName';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Formats object keys as a CSS variable (prefixed with `--`)\n * @param {Object} variables\n * @param {String} prefix an optional prefix to add to the variable names\n * @returns {Object} variables object with the keys formatted as CSS variables\n */\n\nfunction formatVariableNames(variables, prefix) {\n var formatted = {};\n Object.keys(variables || {}).forEach(function (key) {\n formatted[formatVariableName(key, prefix)] = variables[key];\n });\n return formatted;\n}\n\nexport default formatVariableNames;\nexport { formatVariableNames };","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StyleSheet = StyleSheet;\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/* \n\nhigh performance StyleSheet for css-in-js systems \n\n- uses multiple style tags behind the scenes for millions of rules \n- uses `insertRule` for appending in production for *much* faster performance\n- 'polyfills' on server side \n\n\n// usage\n\nimport StyleSheet from 'glamor/lib/sheet'\nlet styleSheet = new StyleSheet()\n\nstyleSheet.inject() \n- 'injects' the stylesheet into the page (or into memory if on server)\n\nstyleSheet.insert('#box { border: 1px solid red; }') \n- appends a css rule into the stylesheet \n\nstyleSheet.flush() \n- empties the stylesheet of all its contents\n\n\n*/\n\nfunction last(arr) {\n return arr[arr.length - 1];\n}\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n }\n\n // this weirdness brought to you by firefox \n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n }\n}\n\nvar isBrowser = typeof window !== 'undefined';\nvar isDev = process.env.NODE_ENV === 'development' || !process.env.NODE_ENV; //(x => (x === 'development') || !x)(process.env.NODE_ENV)\nvar isTest = process.env.NODE_ENV === 'test';\n\nvar oldIE = function () {\n if (isBrowser) {\n var div = document.createElement('div');\n div.innerHTML = '';\n return div.getElementsByTagName('i').length === 1;\n }\n}();\n\nfunction makeStyleTag() {\n var tag = document.createElement('style');\n tag.type = 'text/css';\n tag.setAttribute('data-glamor', '');\n tag.appendChild(document.createTextNode(''));\n (document.head || document.getElementsByTagName('head')[0]).appendChild(tag);\n return tag;\n}\n\nfunction StyleSheet() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$speedy = _ref.speedy,\n speedy = _ref$speedy === undefined ? !isDev && !isTest : _ref$speedy,\n _ref$maxLength = _ref.maxLength,\n maxLength = _ref$maxLength === undefined ? isBrowser && oldIE ? 4000 : 65000 : _ref$maxLength;\n\n this.isSpeedy = speedy; // the big drawback here is that the css won't be editable in devtools\n this.sheet = undefined;\n this.tags = [];\n this.maxLength = maxLength;\n this.ctr = 0;\n}\n\n(0, _objectAssign2.default)(StyleSheet.prototype, {\n getSheet: function getSheet() {\n return sheetForTag(last(this.tags));\n },\n inject: function inject() {\n var _this = this;\n\n if (this.injected) {\n throw new Error('already injected stylesheet!');\n }\n if (isBrowser) {\n this.tags[0] = makeStyleTag();\n } else {\n // server side 'polyfill'. just enough behavior to be useful.\n this.sheet = {\n cssRules: [],\n insertRule: function insertRule(rule) {\n // enough 'spec compliance' to be able to extract the rules later \n // in other words, just the cssText field \n _this.sheet.cssRules.push({ cssText: rule });\n }\n };\n }\n this.injected = true;\n },\n speedy: function speedy(bool) {\n if (this.ctr !== 0) {\n throw new Error('cannot change speedy mode after inserting any rule to sheet. Either call speedy(' + bool + ') earlier in your app, or call flush() before speedy(' + bool + ')');\n }\n this.isSpeedy = !!bool;\n },\n _insert: function _insert(rule) {\n // this weirdness for perf, and chrome's weird bug \n // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule\n try {\n var sheet = this.getSheet();\n sheet.insertRule(rule, rule.indexOf('@import') !== -1 ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (isDev) {\n // might need beter dx for this \n console.warn('whoops, illegal rule inserted', rule); //eslint-disable-line no-console\n }\n }\n },\n insert: function insert(rule) {\n\n if (isBrowser) {\n // this is the ultrafast version, works across browsers \n if (this.isSpeedy && this.getSheet().insertRule) {\n this._insert(rule);\n }\n // more browser weirdness. I don't even know \n // else if(this.tags.length > 0 && this.tags::last().styleSheet) { \n // this.tags::last().styleSheet.cssText+= rule\n // }\n else {\n if (rule.indexOf('@import') !== -1) {\n var tag = last(this.tags);\n tag.insertBefore(document.createTextNode(rule), tag.firstChild);\n } else {\n last(this.tags).appendChild(document.createTextNode(rule));\n }\n }\n } else {\n // server side is pretty simple \n this.sheet.insertRule(rule, rule.indexOf('@import') !== -1 ? 0 : this.sheet.cssRules.length);\n }\n\n this.ctr++;\n if (isBrowser && this.ctr % this.maxLength === 0) {\n this.tags.push(makeStyleTag());\n }\n return this.ctr - 1;\n },\n\n // commenting this out till we decide on v3's decision \n // _replace(index, rule) {\n // // this weirdness for perf, and chrome's weird bug \n // // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule\n // try { \n // let sheet = this.getSheet() \n // sheet.deleteRule(index) // todo - correct index here \n // sheet.insertRule(rule, index)\n // }\n // catch(e) {\n // if(isDev) {\n // // might need beter dx for this \n // console.warn('whoops, problem replacing rule', rule) //eslint-disable-line no-console\n // } \n // } \n\n // }\n // replace(index, rule) {\n // if(isBrowser) {\n // if(this.isSpeedy && this.getSheet().insertRule) {\n // this._replace(index, rule)\n // }\n // else {\n // let _slot = Math.floor((index + this.maxLength) / this.maxLength) - 1 \n // let _index = (index % this.maxLength) + 1\n // let tag = this.tags[_slot]\n // tag.replaceChild(document.createTextNode(rule), tag.childNodes[_index])\n // }\n // }\n // else {\n // let rules = this.sheet.cssRules\n // this.sheet.cssRules = [ ...rules.slice(0, index), { cssText: rule }, ...rules.slice(index + 1) ]\n // }\n // }\n delete: function _delete(index) {\n // we insert a blank rule when 'deleting' so previously returned indexes remain stable\n return this.replace(index, '');\n },\n flush: function flush() {\n if (isBrowser) {\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.sheet = null;\n this.ctr = 0;\n // todo - look for remnants in document.styleSheets\n } else {\n // simpler on server \n this.sheet.cssRules = [];\n }\n this.injected = false;\n },\n rules: function rules() {\n if (!isBrowser) {\n return this.sheet.cssRules;\n }\n var arr = [];\n this.tags.forEach(function (tag) {\n return arr.splice.apply(arr, [arr.length, 0].concat(_toConsumableArray(Array.from(sheetForTag(tag).cssRules))));\n });\n return arr;\n }\n});","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport ReactDOM from 'react-dom';\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Wrapper function for React.findDOMNode\n *\n * @param {ReactComponent|DomNode} el - component, DOM node, or function returning a DOM node\n * @returns {DomNode} The root node of this element\n */\n\nfunction findDOMNode(el) {\n var node = typeof el === 'function' ? el() : el;\n\n if (node === document) {\n return document.documentElement;\n } else if (node instanceof Element || node === window || node && typeof node.nodeType !== 'undefined') {\n return node;\n } else if (node) {\n return ReactDOM.findDOMNode(node); // eslint-disable-line react/no-find-dom-node\n }\n}\n\nexport default findDOMNode;\nexport { findDOMNode };","// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { formatVariableName } from './formatVariableName';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Formats object keys as a CSS variable (prefixed with `--`)\n * @param {Object} variables\n * @param {String} prefix an optional prefix to add to the variable names\n * @returns {Object} variables object with the keys formatted as CSS variables\n */\n\nfunction formatVariableNames(variables, prefix) {\n var formatted = {};\n Object.keys(variables || {}).forEach(function (key) {\n formatted[formatVariableName(key, prefix)] = variables[key];\n });\n return formatted;\n}\n\nexport default formatVariableNames;\nexport { formatVariableNames };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { formatVariableName } from './formatVariableName';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Formats object keys as a CSS variable (prefixed with `--`)\n * @param {Object} variables\n * @param {String} prefix an optional prefix to add to the variable names\n * @returns {Object} variables object with the keys formatted as CSS variables\n */\n\nfunction formatVariableNames(variables, prefix) {\n var formatted = {};\n Object.keys(variables || {}).forEach(function (key) {\n formatted[formatVariableName(key, prefix)] = variables[key];\n });\n return formatted;\n}\n\nexport default formatVariableNames;\nexport { formatVariableNames };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { formatVariableName } from './formatVariableName';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Formats object keys as a CSS variable (prefixed with `--`)\n * @param {Object} variables\n * @param {String} prefix an optional prefix to add to the variable names\n * @returns {Object} variables object with the keys formatted as CSS variables\n */\n\nfunction formatVariableNames(variables, prefix) {\n var formatted = {};\n Object.keys(variables || {}).forEach(function (key) {\n formatted[formatVariableName(key, prefix)] = variables[key];\n });\n return formatted;\n}\n\nexport default formatVariableNames;\nexport { formatVariableNames };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Wraps (decorates) a React component to add additional functionality\n *\n * @module decorator\n * @param {Function} decorator a function that returns a decorated component\n * @returns {Class} a decorated component class\n */\nfunction decorator(decorate) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return function (ComposedComponent) {\n if (typeof decorate === 'function') {\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var DecoratedComponent = decorate.apply(void 0, [ComposedComponent].concat(args));\n DecoratedComponent.displayName = displayName;\n return DecoratedComponent;\n } else {\n return ComposedComponent;\n }\n };\n };\n}\n\nexport default decorator;\nexport { decorator };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { decorator } from './decorator';\nexport default decorator;\nexport { decorator };","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","module.exports = require(\"regenerator-runtime\");\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { parseCss, ruleTypes } from './parseCss';\n\nfunction transformCss(cssText, transform) {\n var node = parseCss(cssText);\n\n if (typeof transform === 'function') {\n node = transformNode(node, transform);\n }\n\n return toCssText(node);\n}\n\nfunction isKeyframesSelector(rule) {\n return rule.parent && rule.parent.type === ruleTypes.keyframes;\n}\n\nfunction toRules(cssText) {\n var node = parseCss(cssText);\n var rules = [];\n\n if (node.rules && node.rules.length > 0) {\n rules = node.rules.map(function (rule) {\n return toCssText(rule);\n });\n } else {\n var _cssText = toCssText(node);\n\n if (_cssText) {\n rules = [_cssText];\n }\n }\n\n return rules;\n}\n\nfunction transformNode(node, transform) {\n if (!node) {\n return;\n }\n\n if (node.type === ruleTypes.style) {\n return transform(node);\n }\n\n var rules = node.rules || [];\n\n var transformed = _objectSpread({}, node);\n\n transformed.rules = rules.map(function (rule) {\n return transformNode(rule, transform);\n });\n return transformed;\n}\n\nfunction toCssText(node, text) {\n var cssText = '';\n var result = text || '';\n\n if (node.rules && node.rules.length > 0) {\n cssText = node.rules.map(function (rule) {\n return toCssText(rule, cssText);\n }).join('\\n');\n } else {\n cssText = node.cssText.trim();\n\n if (cssText) {\n cssText = \" \".concat(cssText, \"\\n\");\n }\n }\n\n if (cssText) {\n var prefix = node.selector ? \"\".concat(node.selector, \" {\\n\") : '';\n var suffix = node.selector ? '}\\n' : '';\n result += \"\".concat(prefix).concat(cssText).concat(suffix);\n }\n\n return result;\n}\n\nexport default transformCss;\nexport { transformCss, toRules, isKeyframesSelector };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { parseCss, ruleTypes } from './parseCss';\n\nfunction transformCss(cssText, transform) {\n var node = parseCss(cssText);\n\n if (typeof transform === 'function') {\n node = transformNode(node, transform);\n }\n\n return toCssText(node);\n}\n\nfunction isKeyframesSelector(rule) {\n return rule.parent && rule.parent.type === ruleTypes.keyframes;\n}\n\nfunction toRules(cssText) {\n var node = parseCss(cssText);\n var rules = [];\n\n if (node.rules && node.rules.length > 0) {\n rules = node.rules.map(function (rule) {\n return toCssText(rule);\n });\n } else {\n var _cssText = toCssText(node);\n\n if (_cssText) {\n rules = [_cssText];\n }\n }\n\n return rules;\n}\n\nfunction transformNode(node, transform) {\n if (!node) {\n return;\n }\n\n if (node.type === ruleTypes.style) {\n return transform(node);\n }\n\n var rules = node.rules || [];\n\n var transformed = _objectSpread({}, node);\n\n transformed.rules = rules.map(function (rule) {\n return transformNode(rule, transform);\n });\n return transformed;\n}\n\nfunction toCssText(node, text) {\n var cssText = '';\n var result = text || '';\n\n if (node.rules && node.rules.length > 0) {\n cssText = node.rules.map(function (rule) {\n return toCssText(rule, cssText);\n }).join('\\n');\n } else {\n cssText = node.cssText.trim();\n\n if (cssText) {\n cssText = \" \".concat(cssText, \"\\n\");\n }\n }\n\n if (cssText) {\n var prefix = node.selector ? \"\".concat(node.selector, \" {\\n\") : '';\n var suffix = node.selector ? '}\\n' : '';\n result += \"\".concat(prefix).concat(cssText).concat(suffix);\n }\n\n return result;\n}\n\nexport default transformCss;\nexport { transformCss, toRules, isKeyframesSelector };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { parseCss, ruleTypes } from './parseCss';\n\nfunction transformCss(cssText, transform) {\n var node = parseCss(cssText);\n\n if (typeof transform === 'function') {\n node = transformNode(node, transform);\n }\n\n return toCssText(node);\n}\n\nfunction isKeyframesSelector(rule) {\n return rule.parent && rule.parent.type === ruleTypes.keyframes;\n}\n\nfunction toRules(cssText) {\n var node = parseCss(cssText);\n var rules = [];\n\n if (node.rules && node.rules.length > 0) {\n rules = node.rules.map(function (rule) {\n return toCssText(rule);\n });\n } else {\n var _cssText = toCssText(node);\n\n if (_cssText) {\n rules = [_cssText];\n }\n }\n\n return rules;\n}\n\nfunction transformNode(node, transform) {\n if (!node) {\n return;\n }\n\n if (node.type === ruleTypes.style) {\n return transform(node);\n }\n\n var rules = node.rules || [];\n\n var transformed = _objectSpread({}, node);\n\n transformed.rules = rules.map(function (rule) {\n return transformNode(rule, transform);\n });\n return transformed;\n}\n\nfunction toCssText(node, text) {\n var cssText = '';\n var result = text || '';\n\n if (node.rules && node.rules.length > 0) {\n cssText = node.rules.map(function (rule) {\n return toCssText(rule, cssText);\n }).join('\\n');\n } else {\n cssText = node.cssText.trim();\n\n if (cssText) {\n cssText = \" \".concat(cssText, \"\\n\");\n }\n }\n\n if (cssText) {\n var prefix = node.selector ? \"\".concat(node.selector, \" {\\n\") : '';\n var suffix = node.selector ? '}\\n' : '';\n result += \"\".concat(prefix).concat(cssText).concat(suffix);\n }\n\n return result;\n}\n\nexport default transformCss;\nexport { transformCss, toRules, isKeyframesSelector };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { parseCss, ruleTypes } from './parseCss';\n\nfunction transformCss(cssText, transform) {\n var node = parseCss(cssText);\n\n if (typeof transform === 'function') {\n node = transformNode(node, transform);\n }\n\n return toCssText(node);\n}\n\nfunction isKeyframesSelector(rule) {\n return rule.parent && rule.parent.type === ruleTypes.keyframes;\n}\n\nfunction toRules(cssText) {\n var node = parseCss(cssText);\n var rules = [];\n\n if (node.rules && node.rules.length > 0) {\n rules = node.rules.map(function (rule) {\n return toCssText(rule);\n });\n } else {\n var _cssText = toCssText(node);\n\n if (_cssText) {\n rules = [_cssText];\n }\n }\n\n return rules;\n}\n\nfunction transformNode(node, transform) {\n if (!node) {\n return;\n }\n\n if (node.type === ruleTypes.style) {\n return transform(node);\n }\n\n var rules = node.rules || [];\n\n var transformed = _objectSpread({}, node);\n\n transformed.rules = rules.map(function (rule) {\n return transformNode(rule, transform);\n });\n return transformed;\n}\n\nfunction toCssText(node, text) {\n var cssText = '';\n var result = text || '';\n\n if (node.rules && node.rules.length > 0) {\n cssText = node.rules.map(function (rule) {\n return toCssText(rule, cssText);\n }).join('\\n');\n } else {\n cssText = node.cssText.trim();\n\n if (cssText) {\n cssText = \" \".concat(cssText, \"\\n\");\n }\n }\n\n if (cssText) {\n var prefix = node.selector ? \"\".concat(node.selector, \" {\\n\") : '';\n var suffix = node.selector ? '}\\n' : '';\n result += \"\".concat(prefix).concat(cssText).concat(suffix);\n }\n\n return result;\n}\n\nexport default transformCss;\nexport { transformCss, toRules, isKeyframesSelector };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { warn as _warn } from \"@instructure/console\";\nimport { error as _error } from \"@instructure/console\";\nimport { mergeDeep, isEmpty } from '@instructure/ui-utils';\nimport { StyleSheet } from '@instructure/ui-stylesheet';\nimport { uid } from '@instructure/uid';\nimport { getCssText } from './getCssText';\nimport { toRules } from './transformCss';\nvar DEFAULT_THEME_KEY = '@@themeableDefaultTheme';\nvar GLOBAL_THEME_REGISTRY = 'GLOBAL_THEME_REGISTRY'; // initialize the registry:\n\nif (global[GLOBAL_THEME_REGISTRY]) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(false, \"[themeable] A theme registry has already been initialized. Ensure that you are importing only one copy of '@instructure/ui-themeable'.\"); // initialize the registry using whatever has been previously defined:\n\n\n setRegistry(validateRegistry(global[GLOBAL_THEME_REGISTRY]));\n} else {\n // initialize the registry to the default/empty state:\n clearRegistry();\n}\n\nfunction makeRegistry() {\n return {\n styleSheet: StyleSheet,\n defaultThemeKey: null,\n components: _defineProperty({}, DEFAULT_THEME_KEY, {}),\n themes: {},\n registered: [] // the theme keys in the order they are registered\n\n };\n}\n\nfunction validateRegistry(registry) {\n var defaultRegistry = makeRegistry();\n\n if (typeof registry === 'undefined') {\n return defaultRegistry;\n }\n\n var valid = true;\n Object.keys(defaultRegistry).forEach(function (key) {\n if (typeof registry[key] === 'undefined') {\n valid = false;\n }\n });\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(valid, '[themeable] Invalid global theme registry!');\n\n return registry;\n}\n/**\n* Get the global theme registry\n* @return {object} The theme registry\n*/\n\n\nfunction getRegistry() {\n return global[GLOBAL_THEME_REGISTRY];\n}\n/**\n* Set the global theme registry\n*/\n\n\nfunction setRegistry(registry) {\n global[GLOBAL_THEME_REGISTRY] = registry;\n}\n/**\n* Clear/reset the global theme registry\n*/\n\n\nfunction clearRegistry() {\n setRegistry(makeRegistry());\n}\n/**\n* Get the default theme key\n* @return {String} the default theme key\n*/\n\n\nfunction getDefaultThemeKey() {\n var _getRegistry = getRegistry(),\n defaultThemeKey = _getRegistry.defaultThemeKey,\n registered = _getRegistry.registered;\n\n return defaultThemeKey || registered[registered.length - 1] || DEFAULT_THEME_KEY;\n}\n/**\n* Get the default theme key\n* @param {String} the default theme key\n* @param {Object} overrides for the theme variables\n*/\n\n\nfunction setDefaultTheme(themeKey, overrides) {\n var registry = getRegistry();\n var theme = registry.themes[themeKey];\n\n if (!theme) {\n if (themeKey !== DEFAULT_THEME_KEY) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(theme, \"[themeable] Could not find theme: '\".concat(themeKey, \"' in the registry.\"));\n }\n\n theme = {};\n }\n\n registry.defaultThemeKey = themeKey;\n registry.overrides = overrides;\n return theme;\n}\n/**\n * Wraps a theme and provides a method to set as default and toggle between a11y and base\n *\n * @param {String} themeKey\n * @param {Object} options Provide the base theme and an optional accessible version\n */\n\n\nfunction makeTheme(_ref) {\n var key = _ref.key,\n variables = _ref.variables,\n a11y = _ref.a11y,\n immutable = _ref.immutable,\n description = _ref.description;\n var themeKey = key || uid();\n return {\n key: themeKey,\n immutable: immutable,\n variables: _objectSpread({}, variables),\n description: description,\n use: function use() {\n var _ref2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n accessible = _ref2.accessible,\n overrides = _ref2.overrides;\n\n if (accessible) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(a11y && a11y.key, \"[themeable] No accessible theme provided for \".concat(themeKey, \".\"));\n\n if (a11y && a11y.key) {\n setDefaultTheme(a11y.key);\n }\n } else {\n setDefaultTheme(themeKey, overrides);\n }\n }\n };\n}\n\nfunction registerTheme(theme) {\n var registry = getRegistry();\n var registeredTheme;\n\n if (theme.key && registry.themes[theme.key]) {\n registeredTheme = registry.themes[theme.key];\n } else {\n registeredTheme = makeTheme(theme);\n registry.themes[registeredTheme.key] = registeredTheme;\n registry.registered.push(registeredTheme.key);\n }\n\n return registeredTheme;\n}\n\nfunction getRegisteredTheme(themeKey) {\n var defaultTheme = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (!themeKey) return defaultTheme;\n var theme = getRegistry().themes[themeKey];\n\n if (theme) {\n return theme;\n } else {\n if (themeKey !== DEFAULT_THEME_KEY) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(theme, \"[themeable] Could not find theme: '\".concat(themeKey, \"' in the registry.\"));\n }\n\n return defaultTheme;\n }\n}\n\nfunction getVariablesWithOverrides(themeKey, overrides) {\n var theme = getRegisteredTheme(themeKey);\n var variables = theme.variables || {};\n var overridesIsEmpty = isEmpty(overrides);\n\n if (!overridesIsEmpty && theme.immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[themeable] Theme, '\".concat(theme.key, \"', is immutable. Cannot apply overrides: \").concat(JSON.stringify(overrides)));\n\n return variables;\n }\n\n var variablesIsEmpty = isEmpty(variables);\n if (!variablesIsEmpty && !overridesIsEmpty) return mergeDeep(variables, overrides);\n if (variablesIsEmpty) return overrides || {};\n return variables;\n}\n/**\n* Merge theme variables for 'themeKey' with the defaults (and overrides)\n* @private\n* @param {String} themeKey\n* @param {Object} variable Theme overrides\n* @return {Object} A merged variables object\n*/\n\n\nfunction mergeWithDefaultThemeVariables(themeKey, overrides) {\n var variables;\n\n if (themeKey) {\n variables = getVariablesWithOverrides(themeKey, overrides);\n } else {\n // fall back to defaults, but still apply overrides\n var defaultOverrides = getRegistry().overrides;\n var defaultOverridesIsEmpty = isEmpty(defaultOverrides);\n\n if (!defaultOverridesIsEmpty && !isEmpty(overrides)) {\n variables = mergeDeep(defaultOverrides, overrides);\n } else if (defaultOverridesIsEmpty) {\n variables = overrides;\n } else {\n variables = defaultOverrides;\n }\n }\n\n return getVariablesWithOverrides(getDefaultThemeKey(), variables);\n}\n/**\n * Wraps a component theme function to merge its return values with the return\n * values of the default function\n * @private\n * @param {Function} componentThemeFunction\n * @param {String} themeKey\n * @return {Object} A wrapped theme object\n */\n\n\nfunction makeComponentTheme(componentThemeFunction, themeKey) {\n return function (variables) {\n var theme = {};\n\n if (typeof componentThemeFunction === 'function') {\n theme = componentThemeFunction(variables);\n } // so that the components for the themeKey can\n // just specify overrides we merge them with defaults here\n\n\n var defaultComponentTheme = {};\n\n if (typeof componentThemeFunction[themeKey] === 'function') {\n defaultComponentTheme = componentThemeFunction[themeKey](variables);\n }\n\n if (!isEmpty(defaultComponentTheme) && !isEmpty(theme)) {\n theme = _objectSpread({}, theme, {}, defaultComponentTheme);\n } else if (isEmpty(theme)) {\n theme = defaultComponentTheme;\n }\n\n return theme;\n };\n}\n/**\n* Register a component theme function\n*\n* @param {String} key The theme key for the component (e.g., [Link.theme])\n* @param {Function} componentThemeFunction The function to use for preparing this component's theme\n*/\n\n\nfunction registerComponentTheme(componentKey, componentThemeFunction) {\n var _getRegistry2 = getRegistry(),\n components = _getRegistry2.components;\n\n if (typeof componentThemeFunction !== 'function') {\n return;\n }\n\n components[DEFAULT_THEME_KEY][componentKey] = componentThemeFunction;\n Object.keys(componentThemeFunction).forEach(function (themeKey) {\n if (!components.hasOwnProperty(themeKey)) {\n // eslint-disable-line no-prototype-builtins\n components[themeKey] = {};\n }\n\n components[themeKey][componentKey] = makeComponentTheme(componentThemeFunction, themeKey);\n });\n}\n\nfunction getRegisteredComponents(themeKey) {\n var _getRegistry3 = getRegistry(),\n components = _getRegistry3.components;\n\n var t = themeKey || getDefaultThemeKey(); // fall back to the default component theme functions\n\n return _objectSpread({}, components[DEFAULT_THEME_KEY], {}, components[t]);\n}\n\nfunction getRegisteredComponent(themeKey, componentKey) {\n var _getRegistry4 = getRegistry(),\n components = _getRegistry4.components;\n\n return components[themeKey] && components[themeKey][componentKey] || components[DEFAULT_THEME_KEY][componentKey];\n}\n/**\n* Generate themes for all registered [@themeable](#themeable) components,\n* to be used by [``](#ApplyTheme).\n*\n* @param {String} themeKey The theme to use (for global theme variables across components)\n* @param {Object} overrides theme variable overrides (usually for user defined values)\n* @return {Object} A theme config to use with ``\n*/\n\n\nfunction generateTheme(themeKey, overrides) {\n var registry = getRegistry();\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(registry.registered.length > 0, '[themeable] No themes have been registered. ' + 'Import a theme from @instructure/ui-themes or register a custom theme with registerTheme ' + '(see @instructure/ui-themeable).');\n\n var components = getRegisteredComponents(themeKey);\n var theme = {};\n var variables = mergeWithDefaultThemeVariables(themeKey, overrides);\n\n if (isEmpty(variables)) {\n return;\n }\n\n Object.getOwnPropertySymbols(components).forEach(function (componentKey) {\n theme[componentKey] = components[componentKey](variables);\n });\n return theme;\n}\n/**\n * Generate theme variables for a @themeable component.\n * If no themeKey is provided, the default theme will be generated.\n *\n * @param {Symbol} key The theme key for the component (e.g., [Link.theme])\n * @param {String} themeKey The theme to use to generate the variables (falls back to the default theme)\n * @param {Object} overrides overrides for component level theme variables (usually user defined)\n * @return {Object} A theme config for the component\n */\n\n\nfunction generateComponentTheme(componentKey, themeKey, overrides) {\n var t = themeKey || getDefaultThemeKey();\n var theme = getRegisteredTheme(t);\n var componentTheme = {};\n var cachedComponentTheme = theme[componentKey];\n\n if (cachedComponentTheme) {\n // use the cached component theme if it exists\n componentTheme = cachedComponentTheme;\n } else {\n var variables = _objectSpread({\n borders: {},\n breakpoints: {},\n colors: {},\n forms: {},\n media: {},\n shadows: {},\n spacing: {},\n stacking: {},\n transitions: {},\n typography: {}\n }, mergeWithDefaultThemeVariables(themeKey));\n\n var componentThemeFunction = getRegisteredComponent(t, componentKey);\n\n if (typeof componentThemeFunction === 'function') {\n try {\n componentTheme = componentThemeFunction(variables);\n } catch (e) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(false, \"[themeable] \".concat(e));\n }\n }\n }\n\n if (isEmpty(overrides)) {\n return theme[componentKey] = componentTheme;\n } else if (theme.immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[themeable] Theme '\".concat(t, \"' is immutable. Cannot apply overrides for '\").concat(componentKey.toString(), \"': \").concat(JSON.stringify(overrides)));\n\n return componentTheme;\n } else if (isEmpty(componentTheme)) {\n return overrides;\n } else {\n return _objectSpread({}, componentTheme, {}, overrides);\n }\n}\n\nfunction getRegisteredThemes() {\n return getRegistry().themes;\n}\n\nfunction mountComponentStyles(template, defaultTheme, componentId) {\n var _getRegistry5 = getRegistry(),\n styleSheet = _getRegistry5.styleSheet;\n\n if (styleSheet && !styleSheet.mounted(componentId)) {\n var cssText = getCssText(template, defaultTheme, componentId);\n styleSheet.mount(componentId, toRules(cssText));\n }\n}\n\nfunction flushComponentStyles() {\n var _getRegistry6 = getRegistry(),\n styleSheet = _getRegistry6.styleSheet;\n\n styleSheet && styleSheet.flush();\n}\n\nvar ThemeRegistry = {\n getRegistry: getRegistry,\n clearRegistry: clearRegistry,\n setRegistry: setRegistry,\n generateComponentTheme: generateComponentTheme,\n generateTheme: generateTheme,\n getRegisteredThemes: getRegisteredThemes,\n registerComponentTheme: registerComponentTheme,\n registerTheme: registerTheme,\n mountComponentStyles: mountComponentStyles,\n flushComponentStyles: flushComponentStyles\n};\nexport default ThemeRegistry;\nexport { ThemeRegistry, getRegistry, clearRegistry, setRegistry, generateComponentTheme, generateTheme, getRegisteredThemes, registerComponentTheme, registerTheme, mountComponentStyles, flushComponentStyles };","// Source: http://jsfiddle.net/vWx8V/\n// http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes\n\n/**\n * Conenience method returns corresponding value for given keyName or keyCode.\n *\n * @param {Mixed} keyCode {Number} or keyName {String}\n * @return {Mixed}\n * @api public\n */\n\nfunction keyCode(searchInput) {\n // Keyboard Events\n if (searchInput && 'object' === typeof searchInput) {\n var hasKeyCode = searchInput.which || searchInput.keyCode || searchInput.charCode\n if (hasKeyCode) searchInput = hasKeyCode\n }\n\n // Numbers\n if ('number' === typeof searchInput) return names[searchInput]\n\n // Everything else (cast to string)\n var search = String(searchInput)\n\n // check codes\n var foundNamedKey = codes[search.toLowerCase()]\n if (foundNamedKey) return foundNamedKey\n\n // check aliases\n var foundNamedKey = aliases[search.toLowerCase()]\n if (foundNamedKey) return foundNamedKey\n\n // weird character?\n if (search.length === 1) return search.charCodeAt(0)\n\n return undefined\n}\n\n/**\n * Compares a keyboard event with a given keyCode or keyName.\n *\n * @param {Event} event Keyboard event that should be tested\n * @param {Mixed} keyCode {Number} or keyName {String}\n * @return {Boolean}\n * @api public\n */\nkeyCode.isEventKey = function isEventKey(event, nameOrCode) {\n if (event && 'object' === typeof event) {\n var keyCode = event.which || event.keyCode || event.charCode\n if (keyCode === null || keyCode === undefined) { return false; }\n if (typeof nameOrCode === 'string') {\n // check codes\n var foundNamedKey = codes[nameOrCode.toLowerCase()]\n if (foundNamedKey) { return foundNamedKey === keyCode; }\n \n // check aliases\n var foundNamedKey = aliases[nameOrCode.toLowerCase()]\n if (foundNamedKey) { return foundNamedKey === keyCode; }\n } else if (typeof nameOrCode === 'number') {\n return nameOrCode === keyCode;\n }\n return false;\n }\n}\n\nexports = module.exports = keyCode;\n\n/**\n * Get by name\n *\n * exports.code['enter'] // => 13\n */\n\nvar codes = exports.code = exports.codes = {\n 'backspace': 8,\n 'tab': 9,\n 'enter': 13,\n 'shift': 16,\n 'ctrl': 17,\n 'alt': 18,\n 'pause/break': 19,\n 'caps lock': 20,\n 'esc': 27,\n 'space': 32,\n 'page up': 33,\n 'page down': 34,\n 'end': 35,\n 'home': 36,\n 'left': 37,\n 'up': 38,\n 'right': 39,\n 'down': 40,\n 'insert': 45,\n 'delete': 46,\n 'command': 91,\n 'left command': 91,\n 'right command': 93,\n 'numpad *': 106,\n 'numpad +': 107,\n 'numpad -': 109,\n 'numpad .': 110,\n 'numpad /': 111,\n 'num lock': 144,\n 'scroll lock': 145,\n 'my computer': 182,\n 'my calculator': 183,\n ';': 186,\n '=': 187,\n ',': 188,\n '-': 189,\n '.': 190,\n '/': 191,\n '`': 192,\n '[': 219,\n '\\\\': 220,\n ']': 221,\n \"'\": 222\n}\n\n// Helper aliases\n\nvar aliases = exports.aliases = {\n 'windows': 91,\n '⇧': 16,\n '⌥': 18,\n '⌃': 17,\n '⌘': 91,\n 'ctl': 17,\n 'control': 17,\n 'option': 18,\n 'pause': 19,\n 'break': 19,\n 'caps': 20,\n 'return': 13,\n 'escape': 27,\n 'spc': 32,\n 'spacebar': 32,\n 'pgup': 33,\n 'pgdn': 34,\n 'ins': 45,\n 'del': 46,\n 'cmd': 91\n}\n\n/*!\n * Programatically add the following\n */\n\n// lower case chars\nfor (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32\n\n// numbers\nfor (var i = 48; i < 58; i++) codes[i - 48] = i\n\n// function keys\nfor (i = 1; i < 13; i++) codes['f'+i] = i + 111\n\n// numpad keys\nfor (i = 0; i < 10; i++) codes['numpad '+i] = i + 96\n\n/**\n * Get by code\n *\n * exports.name[13] // => 'Enter'\n */\n\nvar names = exports.names = exports.title = {} // title for backward compat\n\n// Create reverse mapping\nfor (i in codes) names[codes[i]] = i\n\n// Add aliases\nfor (var alias in aliases) {\n codes[alias] = aliases[alias]\n}\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { warn as _warn } from \"@instructure/console\";\nimport { error as _error } from \"@instructure/console\";\nimport { mergeDeep, isEmpty } from '@instructure/ui-utils';\nimport { StyleSheet } from '@instructure/ui-stylesheet';\nimport { uid } from '@instructure/uid';\nimport { getCssText } from './getCssText';\nimport { toRules } from './transformCss';\nvar DEFAULT_THEME_KEY = '@@themeableDefaultTheme';\nvar GLOBAL_THEME_REGISTRY = 'GLOBAL_THEME_REGISTRY'; // initialize the registry:\n\nif (global[GLOBAL_THEME_REGISTRY]) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(false, \"[themeable] A theme registry has already been initialized. Ensure that you are importing only one copy of '@instructure/ui-themeable'.\"); // initialize the registry using whatever has been previously defined:\n\n\n setRegistry(validateRegistry(global[GLOBAL_THEME_REGISTRY]));\n} else {\n // initialize the registry to the default/empty state:\n clearRegistry();\n}\n\nfunction makeRegistry() {\n return {\n styleSheet: StyleSheet,\n defaultThemeKey: null,\n components: _defineProperty({}, DEFAULT_THEME_KEY, {}),\n themes: {},\n registered: [] // the theme keys in the order they are registered\n\n };\n}\n\nfunction validateRegistry(registry) {\n var defaultRegistry = makeRegistry();\n\n if (typeof registry === 'undefined') {\n return defaultRegistry;\n }\n\n var valid = true;\n Object.keys(defaultRegistry).forEach(function (key) {\n if (typeof registry[key] === 'undefined') {\n valid = false;\n }\n });\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(valid, '[themeable] Invalid global theme registry!');\n\n return registry;\n}\n/**\n* Get the global theme registry\n* @return {object} The theme registry\n*/\n\n\nfunction getRegistry() {\n return global[GLOBAL_THEME_REGISTRY];\n}\n/**\n* Set the global theme registry\n*/\n\n\nfunction setRegistry(registry) {\n global[GLOBAL_THEME_REGISTRY] = registry;\n}\n/**\n* Clear/reset the global theme registry\n*/\n\n\nfunction clearRegistry() {\n setRegistry(makeRegistry());\n}\n/**\n* Get the default theme key\n* @return {String} the default theme key\n*/\n\n\nfunction getDefaultThemeKey() {\n var _getRegistry = getRegistry(),\n defaultThemeKey = _getRegistry.defaultThemeKey,\n registered = _getRegistry.registered;\n\n return defaultThemeKey || registered[registered.length - 1] || DEFAULT_THEME_KEY;\n}\n/**\n* Get the default theme key\n* @param {String} the default theme key\n* @param {Object} overrides for the theme variables\n*/\n\n\nfunction setDefaultTheme(themeKey, overrides) {\n var registry = getRegistry();\n var theme = registry.themes[themeKey];\n\n if (!theme) {\n if (themeKey !== DEFAULT_THEME_KEY) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(theme, \"[themeable] Could not find theme: '\".concat(themeKey, \"' in the registry.\"));\n }\n\n theme = {};\n }\n\n registry.defaultThemeKey = themeKey;\n registry.overrides = overrides;\n return theme;\n}\n/**\n * Wraps a theme and provides a method to set as default and toggle between a11y and base\n *\n * @param {String} themeKey\n * @param {Object} options Provide the base theme and an optional accessible version\n */\n\n\nfunction makeTheme(_ref) {\n var key = _ref.key,\n variables = _ref.variables,\n a11y = _ref.a11y,\n immutable = _ref.immutable,\n description = _ref.description;\n var themeKey = key || uid();\n return {\n key: themeKey,\n immutable: immutable,\n variables: _objectSpread({}, variables),\n description: description,\n use: function use() {\n var _ref2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n accessible = _ref2.accessible,\n overrides = _ref2.overrides;\n\n if (accessible) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(a11y && a11y.key, \"[themeable] No accessible theme provided for \".concat(themeKey, \".\"));\n\n if (a11y && a11y.key) {\n setDefaultTheme(a11y.key);\n }\n } else {\n setDefaultTheme(themeKey, overrides);\n }\n }\n };\n}\n\nfunction registerTheme(theme) {\n var registry = getRegistry();\n var registeredTheme;\n\n if (theme.key && registry.themes[theme.key]) {\n registeredTheme = registry.themes[theme.key];\n } else {\n registeredTheme = makeTheme(theme);\n registry.themes[registeredTheme.key] = registeredTheme;\n registry.registered.push(registeredTheme.key);\n }\n\n return registeredTheme;\n}\n\nfunction getRegisteredTheme(themeKey) {\n var defaultTheme = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (!themeKey) return defaultTheme;\n var theme = getRegistry().themes[themeKey];\n\n if (theme) {\n return theme;\n } else {\n if (themeKey !== DEFAULT_THEME_KEY) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(theme, \"[themeable] Could not find theme: '\".concat(themeKey, \"' in the registry.\"));\n }\n\n return defaultTheme;\n }\n}\n\nfunction getVariablesWithOverrides(themeKey, overrides) {\n var theme = getRegisteredTheme(themeKey);\n var variables = theme.variables || {};\n var overridesIsEmpty = isEmpty(overrides);\n\n if (!overridesIsEmpty && theme.immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[themeable] Theme, '\".concat(theme.key, \"', is immutable. Cannot apply overrides: \").concat(JSON.stringify(overrides)));\n\n return variables;\n }\n\n var variablesIsEmpty = isEmpty(variables);\n if (!variablesIsEmpty && !overridesIsEmpty) return mergeDeep(variables, overrides);\n if (variablesIsEmpty) return overrides || {};\n return variables;\n}\n/**\n* Merge theme variables for 'themeKey' with the defaults (and overrides)\n* @private\n* @param {String} themeKey\n* @param {Object} variable Theme overrides\n* @return {Object} A merged variables object\n*/\n\n\nfunction mergeWithDefaultThemeVariables(themeKey, overrides) {\n var variables;\n\n if (themeKey) {\n variables = getVariablesWithOverrides(themeKey, overrides);\n } else {\n // fall back to defaults, but still apply overrides\n var defaultOverrides = getRegistry().overrides;\n var defaultOverridesIsEmpty = isEmpty(defaultOverrides);\n\n if (!defaultOverridesIsEmpty && !isEmpty(overrides)) {\n variables = mergeDeep(defaultOverrides, overrides);\n } else if (defaultOverridesIsEmpty) {\n variables = overrides;\n } else {\n variables = defaultOverrides;\n }\n }\n\n return getVariablesWithOverrides(getDefaultThemeKey(), variables);\n}\n/**\n * Wraps a component theme function to merge its return values with the return\n * values of the default function\n * @private\n * @param {Function} componentThemeFunction\n * @param {String} themeKey\n * @return {Object} A wrapped theme object\n */\n\n\nfunction makeComponentTheme(componentThemeFunction, themeKey) {\n return function (variables) {\n var theme = {};\n\n if (typeof componentThemeFunction === 'function') {\n theme = componentThemeFunction(variables);\n } // so that the components for the themeKey can\n // just specify overrides we merge them with defaults here\n\n\n var defaultComponentTheme = {};\n\n if (typeof componentThemeFunction[themeKey] === 'function') {\n defaultComponentTheme = componentThemeFunction[themeKey](variables);\n }\n\n if (!isEmpty(defaultComponentTheme) && !isEmpty(theme)) {\n theme = _objectSpread({}, theme, {}, defaultComponentTheme);\n } else if (isEmpty(theme)) {\n theme = defaultComponentTheme;\n }\n\n return theme;\n };\n}\n/**\n* Register a component theme function\n*\n* @param {String} key The theme key for the component (e.g., [Link.theme])\n* @param {Function} componentThemeFunction The function to use for preparing this component's theme\n*/\n\n\nfunction registerComponentTheme(componentKey, componentThemeFunction) {\n var _getRegistry2 = getRegistry(),\n components = _getRegistry2.components;\n\n if (typeof componentThemeFunction !== 'function') {\n return;\n }\n\n components[DEFAULT_THEME_KEY][componentKey] = componentThemeFunction;\n Object.keys(componentThemeFunction).forEach(function (themeKey) {\n if (!components.hasOwnProperty(themeKey)) {\n // eslint-disable-line no-prototype-builtins\n components[themeKey] = {};\n }\n\n components[themeKey][componentKey] = makeComponentTheme(componentThemeFunction, themeKey);\n });\n}\n\nfunction getRegisteredComponents(themeKey) {\n var _getRegistry3 = getRegistry(),\n components = _getRegistry3.components;\n\n var t = themeKey || getDefaultThemeKey(); // fall back to the default component theme functions\n\n return _objectSpread({}, components[DEFAULT_THEME_KEY], {}, components[t]);\n}\n\nfunction getRegisteredComponent(themeKey, componentKey) {\n var _getRegistry4 = getRegistry(),\n components = _getRegistry4.components;\n\n return components[themeKey] && components[themeKey][componentKey] || components[DEFAULT_THEME_KEY][componentKey];\n}\n/**\n* Generate themes for all registered [@themeable](#themeable) components,\n* to be used by [``](#ApplyTheme).\n*\n* @param {String} themeKey The theme to use (for global theme variables across components)\n* @param {Object} overrides theme variable overrides (usually for user defined values)\n* @return {Object} A theme config to use with ``\n*/\n\n\nfunction generateTheme(themeKey, overrides) {\n var registry = getRegistry();\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(registry.registered.length > 0, '[themeable] No themes have been registered. ' + 'Import a theme from @instructure/ui-themes or register a custom theme with registerTheme ' + '(see @instructure/ui-themeable).');\n\n var components = getRegisteredComponents(themeKey);\n var theme = {};\n var variables = mergeWithDefaultThemeVariables(themeKey, overrides);\n\n if (isEmpty(variables)) {\n return;\n }\n\n Object.getOwnPropertySymbols(components).forEach(function (componentKey) {\n theme[componentKey] = components[componentKey](variables);\n });\n return theme;\n}\n/**\n * Generate theme variables for a @themeable component.\n * If no themeKey is provided, the default theme will be generated.\n *\n * @param {Symbol} key The theme key for the component (e.g., [Link.theme])\n * @param {String} themeKey The theme to use to generate the variables (falls back to the default theme)\n * @param {Object} overrides overrides for component level theme variables (usually user defined)\n * @return {Object} A theme config for the component\n */\n\n\nfunction generateComponentTheme(componentKey, themeKey, overrides) {\n var t = themeKey || getDefaultThemeKey();\n var theme = getRegisteredTheme(t);\n var componentTheme = {};\n var cachedComponentTheme = theme[componentKey];\n\n if (cachedComponentTheme) {\n // use the cached component theme if it exists\n componentTheme = cachedComponentTheme;\n } else {\n var variables = _objectSpread({\n borders: {},\n breakpoints: {},\n colors: {},\n forms: {},\n media: {},\n shadows: {},\n spacing: {},\n stacking: {},\n transitions: {},\n typography: {}\n }, mergeWithDefaultThemeVariables(themeKey));\n\n var componentThemeFunction = getRegisteredComponent(t, componentKey);\n\n if (typeof componentThemeFunction === 'function') {\n try {\n componentTheme = componentThemeFunction(variables);\n } catch (e) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(false, \"[themeable] \".concat(e));\n }\n }\n }\n\n if (isEmpty(overrides)) {\n return theme[componentKey] = componentTheme;\n } else if (theme.immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[themeable] Theme '\".concat(t, \"' is immutable. Cannot apply overrides for '\").concat(componentKey.toString(), \"': \").concat(JSON.stringify(overrides)));\n\n return componentTheme;\n } else if (isEmpty(componentTheme)) {\n return overrides;\n } else {\n return _objectSpread({}, componentTheme, {}, overrides);\n }\n}\n\nfunction getRegisteredThemes() {\n return getRegistry().themes;\n}\n\nfunction mountComponentStyles(template, defaultTheme, componentId) {\n var _getRegistry5 = getRegistry(),\n styleSheet = _getRegistry5.styleSheet;\n\n if (styleSheet && !styleSheet.mounted(componentId)) {\n var cssText = getCssText(template, defaultTheme, componentId);\n styleSheet.mount(componentId, toRules(cssText));\n }\n}\n\nfunction flushComponentStyles() {\n var _getRegistry6 = getRegistry(),\n styleSheet = _getRegistry6.styleSheet;\n\n styleSheet && styleSheet.flush();\n}\n\nvar ThemeRegistry = {\n getRegistry: getRegistry,\n clearRegistry: clearRegistry,\n setRegistry: setRegistry,\n generateComponentTheme: generateComponentTheme,\n generateTheme: generateTheme,\n getRegisteredThemes: getRegisteredThemes,\n registerComponentTheme: registerComponentTheme,\n registerTheme: registerTheme,\n mountComponentStyles: mountComponentStyles,\n flushComponentStyles: flushComponentStyles\n};\nexport default ThemeRegistry;\nexport { ThemeRegistry, getRegistry, clearRegistry, setRegistry, generateComponentTheme, generateTheme, getRegisteredThemes, registerComponentTheme, registerTheme, mountComponentStyles, flushComponentStyles };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { warn as _warn } from \"@instructure/console\";\nimport { error as _error } from \"@instructure/console\";\nimport { mergeDeep, isEmpty } from '@instructure/ui-utils';\nimport { StyleSheet } from '@instructure/ui-stylesheet';\nimport { uid } from '@instructure/uid';\nimport { getCssText } from './getCssText';\nimport { toRules } from './transformCss';\nvar DEFAULT_THEME_KEY = '@@themeableDefaultTheme';\nvar GLOBAL_THEME_REGISTRY = 'GLOBAL_THEME_REGISTRY'; // initialize the registry:\n\nif (global[GLOBAL_THEME_REGISTRY]) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(false, \"[themeable] A theme registry has already been initialized. Ensure that you are importing only one copy of '@instructure/ui-themeable'.\"); // initialize the registry using whatever has been previously defined:\n\n\n setRegistry(validateRegistry(global[GLOBAL_THEME_REGISTRY]));\n} else {\n // initialize the registry to the default/empty state:\n clearRegistry();\n}\n\nfunction makeRegistry() {\n return {\n styleSheet: StyleSheet,\n defaultThemeKey: null,\n components: _defineProperty({}, DEFAULT_THEME_KEY, {}),\n themes: {},\n registered: [] // the theme keys in the order they are registered\n\n };\n}\n\nfunction validateRegistry(registry) {\n var defaultRegistry = makeRegistry();\n\n if (typeof registry === 'undefined') {\n return defaultRegistry;\n }\n\n var valid = true;\n Object.keys(defaultRegistry).forEach(function (key) {\n if (typeof registry[key] === 'undefined') {\n valid = false;\n }\n });\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(valid, '[themeable] Invalid global theme registry!');\n\n return registry;\n}\n/**\n* Get the global theme registry\n* @return {object} The theme registry\n*/\n\n\nfunction getRegistry() {\n return global[GLOBAL_THEME_REGISTRY];\n}\n/**\n* Set the global theme registry\n*/\n\n\nfunction setRegistry(registry) {\n global[GLOBAL_THEME_REGISTRY] = registry;\n}\n/**\n* Clear/reset the global theme registry\n*/\n\n\nfunction clearRegistry() {\n setRegistry(makeRegistry());\n}\n/**\n* Get the default theme key\n* @return {String} the default theme key\n*/\n\n\nfunction getDefaultThemeKey() {\n var _getRegistry = getRegistry(),\n defaultThemeKey = _getRegistry.defaultThemeKey,\n registered = _getRegistry.registered;\n\n return defaultThemeKey || registered[registered.length - 1] || DEFAULT_THEME_KEY;\n}\n/**\n* Get the default theme key\n* @param {String} the default theme key\n* @param {Object} overrides for the theme variables\n*/\n\n\nfunction setDefaultTheme(themeKey, overrides) {\n var registry = getRegistry();\n var theme = registry.themes[themeKey];\n\n if (!theme) {\n if (themeKey !== DEFAULT_THEME_KEY) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(theme, \"[themeable] Could not find theme: '\".concat(themeKey, \"' in the registry.\"));\n }\n\n theme = {};\n }\n\n registry.defaultThemeKey = themeKey;\n registry.overrides = overrides;\n return theme;\n}\n/**\n * Wraps a theme and provides a method to set as default and toggle between a11y and base\n *\n * @param {String} themeKey\n * @param {Object} options Provide the base theme and an optional accessible version\n */\n\n\nfunction makeTheme(_ref) {\n var key = _ref.key,\n variables = _ref.variables,\n a11y = _ref.a11y,\n immutable = _ref.immutable,\n description = _ref.description;\n var themeKey = key || uid();\n return {\n key: themeKey,\n immutable: immutable,\n variables: _objectSpread({}, variables),\n description: description,\n use: function use() {\n var _ref2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n accessible = _ref2.accessible,\n overrides = _ref2.overrides;\n\n if (accessible) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(a11y && a11y.key, \"[themeable] No accessible theme provided for \".concat(themeKey, \".\"));\n\n if (a11y && a11y.key) {\n setDefaultTheme(a11y.key);\n }\n } else {\n setDefaultTheme(themeKey, overrides);\n }\n }\n };\n}\n\nfunction registerTheme(theme) {\n var registry = getRegistry();\n var registeredTheme;\n\n if (theme.key && registry.themes[theme.key]) {\n registeredTheme = registry.themes[theme.key];\n } else {\n registeredTheme = makeTheme(theme);\n registry.themes[registeredTheme.key] = registeredTheme;\n registry.registered.push(registeredTheme.key);\n }\n\n return registeredTheme;\n}\n\nfunction getRegisteredTheme(themeKey) {\n var defaultTheme = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (!themeKey) return defaultTheme;\n var theme = getRegistry().themes[themeKey];\n\n if (theme) {\n return theme;\n } else {\n if (themeKey !== DEFAULT_THEME_KEY) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(theme, \"[themeable] Could not find theme: '\".concat(themeKey, \"' in the registry.\"));\n }\n\n return defaultTheme;\n }\n}\n\nfunction getVariablesWithOverrides(themeKey, overrides) {\n var theme = getRegisteredTheme(themeKey);\n var variables = theme.variables || {};\n var overridesIsEmpty = isEmpty(overrides);\n\n if (!overridesIsEmpty && theme.immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[themeable] Theme, '\".concat(theme.key, \"', is immutable. Cannot apply overrides: \").concat(JSON.stringify(overrides)));\n\n return variables;\n }\n\n var variablesIsEmpty = isEmpty(variables);\n if (!variablesIsEmpty && !overridesIsEmpty) return mergeDeep(variables, overrides);\n if (variablesIsEmpty) return overrides || {};\n return variables;\n}\n/**\n* Merge theme variables for 'themeKey' with the defaults (and overrides)\n* @private\n* @param {String} themeKey\n* @param {Object} variable Theme overrides\n* @return {Object} A merged variables object\n*/\n\n\nfunction mergeWithDefaultThemeVariables(themeKey, overrides) {\n var variables;\n\n if (themeKey) {\n variables = getVariablesWithOverrides(themeKey, overrides);\n } else {\n // fall back to defaults, but still apply overrides\n var defaultOverrides = getRegistry().overrides;\n var defaultOverridesIsEmpty = isEmpty(defaultOverrides);\n\n if (!defaultOverridesIsEmpty && !isEmpty(overrides)) {\n variables = mergeDeep(defaultOverrides, overrides);\n } else if (defaultOverridesIsEmpty) {\n variables = overrides;\n } else {\n variables = defaultOverrides;\n }\n }\n\n return getVariablesWithOverrides(getDefaultThemeKey(), variables);\n}\n/**\n * Wraps a component theme function to merge its return values with the return\n * values of the default function\n * @private\n * @param {Function} componentThemeFunction\n * @param {String} themeKey\n * @return {Object} A wrapped theme object\n */\n\n\nfunction makeComponentTheme(componentThemeFunction, themeKey) {\n return function (variables) {\n var theme = {};\n\n if (typeof componentThemeFunction === 'function') {\n theme = componentThemeFunction(variables);\n } // so that the components for the themeKey can\n // just specify overrides we merge them with defaults here\n\n\n var defaultComponentTheme = {};\n\n if (typeof componentThemeFunction[themeKey] === 'function') {\n defaultComponentTheme = componentThemeFunction[themeKey](variables);\n }\n\n if (!isEmpty(defaultComponentTheme) && !isEmpty(theme)) {\n theme = _objectSpread({}, theme, {}, defaultComponentTheme);\n } else if (isEmpty(theme)) {\n theme = defaultComponentTheme;\n }\n\n return theme;\n };\n}\n/**\n* Register a component theme function\n*\n* @param {String} key The theme key for the component (e.g., [Link.theme])\n* @param {Function} componentThemeFunction The function to use for preparing this component's theme\n*/\n\n\nfunction registerComponentTheme(componentKey, componentThemeFunction) {\n var _getRegistry2 = getRegistry(),\n components = _getRegistry2.components;\n\n if (typeof componentThemeFunction !== 'function') {\n return;\n }\n\n components[DEFAULT_THEME_KEY][componentKey] = componentThemeFunction;\n Object.keys(componentThemeFunction).forEach(function (themeKey) {\n if (!components.hasOwnProperty(themeKey)) {\n // eslint-disable-line no-prototype-builtins\n components[themeKey] = {};\n }\n\n components[themeKey][componentKey] = makeComponentTheme(componentThemeFunction, themeKey);\n });\n}\n\nfunction getRegisteredComponents(themeKey) {\n var _getRegistry3 = getRegistry(),\n components = _getRegistry3.components;\n\n var t = themeKey || getDefaultThemeKey(); // fall back to the default component theme functions\n\n return _objectSpread({}, components[DEFAULT_THEME_KEY], {}, components[t]);\n}\n\nfunction getRegisteredComponent(themeKey, componentKey) {\n var _getRegistry4 = getRegistry(),\n components = _getRegistry4.components;\n\n return components[themeKey] && components[themeKey][componentKey] || components[DEFAULT_THEME_KEY][componentKey];\n}\n/**\n* Generate themes for all registered [@themeable](#themeable) components,\n* to be used by [``](#ApplyTheme).\n*\n* @param {String} themeKey The theme to use (for global theme variables across components)\n* @param {Object} overrides theme variable overrides (usually for user defined values)\n* @return {Object} A theme config to use with ``\n*/\n\n\nfunction generateTheme(themeKey, overrides) {\n var registry = getRegistry();\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(registry.registered.length > 0, '[themeable] No themes have been registered. ' + 'Import a theme from @instructure/ui-themes or register a custom theme with registerTheme ' + '(see @instructure/ui-themeable).');\n\n var components = getRegisteredComponents(themeKey);\n var theme = {};\n var variables = mergeWithDefaultThemeVariables(themeKey, overrides);\n\n if (isEmpty(variables)) {\n return;\n }\n\n Object.getOwnPropertySymbols(components).forEach(function (componentKey) {\n theme[componentKey] = components[componentKey](variables);\n });\n return theme;\n}\n/**\n * Generate theme variables for a @themeable component.\n * If no themeKey is provided, the default theme will be generated.\n *\n * @param {Symbol} key The theme key for the component (e.g., [Link.theme])\n * @param {String} themeKey The theme to use to generate the variables (falls back to the default theme)\n * @param {Object} overrides overrides for component level theme variables (usually user defined)\n * @return {Object} A theme config for the component\n */\n\n\nfunction generateComponentTheme(componentKey, themeKey, overrides) {\n var t = themeKey || getDefaultThemeKey();\n var theme = getRegisteredTheme(t);\n var componentTheme = {};\n var cachedComponentTheme = theme[componentKey];\n\n if (cachedComponentTheme) {\n // use the cached component theme if it exists\n componentTheme = cachedComponentTheme;\n } else {\n var variables = _objectSpread({\n borders: {},\n breakpoints: {},\n colors: {},\n forms: {},\n media: {},\n shadows: {},\n spacing: {},\n stacking: {},\n transitions: {},\n typography: {}\n }, mergeWithDefaultThemeVariables(themeKey));\n\n var componentThemeFunction = getRegisteredComponent(t, componentKey);\n\n if (typeof componentThemeFunction === 'function') {\n try {\n componentTheme = componentThemeFunction(variables);\n } catch (e) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(false, \"[themeable] \".concat(e));\n }\n }\n }\n\n if (isEmpty(overrides)) {\n return theme[componentKey] = componentTheme;\n } else if (theme.immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[themeable] Theme '\".concat(t, \"' is immutable. Cannot apply overrides for '\").concat(componentKey.toString(), \"': \").concat(JSON.stringify(overrides)));\n\n return componentTheme;\n } else if (isEmpty(componentTheme)) {\n return overrides;\n } else {\n return _objectSpread({}, componentTheme, {}, overrides);\n }\n}\n\nfunction getRegisteredThemes() {\n return getRegistry().themes;\n}\n\nfunction mountComponentStyles(template, defaultTheme, componentId) {\n var _getRegistry5 = getRegistry(),\n styleSheet = _getRegistry5.styleSheet;\n\n if (styleSheet && !styleSheet.mounted(componentId)) {\n var cssText = getCssText(template, defaultTheme, componentId);\n styleSheet.mount(componentId, toRules(cssText));\n }\n}\n\nfunction flushComponentStyles() {\n var _getRegistry6 = getRegistry(),\n styleSheet = _getRegistry6.styleSheet;\n\n styleSheet && styleSheet.flush();\n}\n\nvar ThemeRegistry = {\n getRegistry: getRegistry,\n clearRegistry: clearRegistry,\n setRegistry: setRegistry,\n generateComponentTheme: generateComponentTheme,\n generateTheme: generateTheme,\n getRegisteredThemes: getRegisteredThemes,\n registerComponentTheme: registerComponentTheme,\n registerTheme: registerTheme,\n mountComponentStyles: mountComponentStyles,\n flushComponentStyles: flushComponentStyles\n};\nexport default ThemeRegistry;\nexport { ThemeRegistry, getRegistry, clearRegistry, setRegistry, generateComponentTheme, generateTheme, getRegisteredThemes, registerComponentTheme, registerTheme, mountComponentStyles, flushComponentStyles };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { warn as _warn } from \"@instructure/console\";\nimport { error as _error } from \"@instructure/console\";\nimport { mergeDeep, isEmpty } from '@instructure/ui-utils';\nimport { StyleSheet } from '@instructure/ui-stylesheet';\nimport { uid } from '@instructure/uid';\nimport { getCssText } from './getCssText';\nimport { toRules } from './transformCss';\nvar DEFAULT_THEME_KEY = '@@themeableDefaultTheme';\nvar GLOBAL_THEME_REGISTRY = 'GLOBAL_THEME_REGISTRY'; // initialize the registry:\n\nif (global[GLOBAL_THEME_REGISTRY]) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(false, \"[themeable] A theme registry has already been initialized. Ensure that you are importing only one copy of '@instructure/ui-themeable'.\"); // initialize the registry using whatever has been previously defined:\n\n\n setRegistry(validateRegistry(global[GLOBAL_THEME_REGISTRY]));\n} else {\n // initialize the registry to the default/empty state:\n clearRegistry();\n}\n\nfunction makeRegistry() {\n return {\n styleSheet: StyleSheet,\n defaultThemeKey: null,\n components: _defineProperty({}, DEFAULT_THEME_KEY, {}),\n themes: {},\n registered: [] // the theme keys in the order they are registered\n\n };\n}\n\nfunction validateRegistry(registry) {\n var defaultRegistry = makeRegistry();\n\n if (typeof registry === 'undefined') {\n return defaultRegistry;\n }\n\n var valid = true;\n Object.keys(defaultRegistry).forEach(function (key) {\n if (typeof registry[key] === 'undefined') {\n valid = false;\n }\n });\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(valid, '[themeable] Invalid global theme registry!');\n\n return registry;\n}\n/**\n* Get the global theme registry\n* @return {object} The theme registry\n*/\n\n\nfunction getRegistry() {\n return global[GLOBAL_THEME_REGISTRY];\n}\n/**\n* Set the global theme registry\n*/\n\n\nfunction setRegistry(registry) {\n global[GLOBAL_THEME_REGISTRY] = registry;\n}\n/**\n* Clear/reset the global theme registry\n*/\n\n\nfunction clearRegistry() {\n setRegistry(makeRegistry());\n}\n/**\n* Get the default theme key\n* @return {String} the default theme key\n*/\n\n\nfunction getDefaultThemeKey() {\n var _getRegistry = getRegistry(),\n defaultThemeKey = _getRegistry.defaultThemeKey,\n registered = _getRegistry.registered;\n\n return defaultThemeKey || registered[registered.length - 1] || DEFAULT_THEME_KEY;\n}\n/**\n* Get the default theme key\n* @param {String} the default theme key\n* @param {Object} overrides for the theme variables\n*/\n\n\nfunction setDefaultTheme(themeKey, overrides) {\n var registry = getRegistry();\n var theme = registry.themes[themeKey];\n\n if (!theme) {\n if (themeKey !== DEFAULT_THEME_KEY) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(theme, \"[themeable] Could not find theme: '\".concat(themeKey, \"' in the registry.\"));\n }\n\n theme = {};\n }\n\n registry.defaultThemeKey = themeKey;\n registry.overrides = overrides;\n return theme;\n}\n/**\n * Wraps a theme and provides a method to set as default and toggle between a11y and base\n *\n * @param {String} themeKey\n * @param {Object} options Provide the base theme and an optional accessible version\n */\n\n\nfunction makeTheme(_ref) {\n var key = _ref.key,\n variables = _ref.variables,\n a11y = _ref.a11y,\n immutable = _ref.immutable,\n description = _ref.description;\n var themeKey = key || uid();\n return {\n key: themeKey,\n immutable: immutable,\n variables: _objectSpread({}, variables),\n description: description,\n use: function use() {\n var _ref2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n accessible = _ref2.accessible,\n overrides = _ref2.overrides;\n\n if (accessible) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(a11y && a11y.key, \"[themeable] No accessible theme provided for \".concat(themeKey, \".\"));\n\n if (a11y && a11y.key) {\n setDefaultTheme(a11y.key);\n }\n } else {\n setDefaultTheme(themeKey, overrides);\n }\n }\n };\n}\n\nfunction registerTheme(theme) {\n var registry = getRegistry();\n var registeredTheme;\n\n if (theme.key && registry.themes[theme.key]) {\n registeredTheme = registry.themes[theme.key];\n } else {\n registeredTheme = makeTheme(theme);\n registry.themes[registeredTheme.key] = registeredTheme;\n registry.registered.push(registeredTheme.key);\n }\n\n return registeredTheme;\n}\n\nfunction getRegisteredTheme(themeKey) {\n var defaultTheme = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (!themeKey) return defaultTheme;\n var theme = getRegistry().themes[themeKey];\n\n if (theme) {\n return theme;\n } else {\n if (themeKey !== DEFAULT_THEME_KEY) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(theme, \"[themeable] Could not find theme: '\".concat(themeKey, \"' in the registry.\"));\n }\n\n return defaultTheme;\n }\n}\n\nfunction getVariablesWithOverrides(themeKey, overrides) {\n var theme = getRegisteredTheme(themeKey);\n var variables = theme.variables || {};\n var overridesIsEmpty = isEmpty(overrides);\n\n if (!overridesIsEmpty && theme.immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[themeable] Theme, '\".concat(theme.key, \"', is immutable. Cannot apply overrides: \").concat(JSON.stringify(overrides)));\n\n return variables;\n }\n\n var variablesIsEmpty = isEmpty(variables);\n if (!variablesIsEmpty && !overridesIsEmpty) return mergeDeep(variables, overrides);\n if (variablesIsEmpty) return overrides || {};\n return variables;\n}\n/**\n* Merge theme variables for 'themeKey' with the defaults (and overrides)\n* @private\n* @param {String} themeKey\n* @param {Object} variable Theme overrides\n* @return {Object} A merged variables object\n*/\n\n\nfunction mergeWithDefaultThemeVariables(themeKey, overrides) {\n var variables;\n\n if (themeKey) {\n variables = getVariablesWithOverrides(themeKey, overrides);\n } else {\n // fall back to defaults, but still apply overrides\n var defaultOverrides = getRegistry().overrides;\n var defaultOverridesIsEmpty = isEmpty(defaultOverrides);\n\n if (!defaultOverridesIsEmpty && !isEmpty(overrides)) {\n variables = mergeDeep(defaultOverrides, overrides);\n } else if (defaultOverridesIsEmpty) {\n variables = overrides;\n } else {\n variables = defaultOverrides;\n }\n }\n\n return getVariablesWithOverrides(getDefaultThemeKey(), variables);\n}\n/**\n * Wraps a component theme function to merge its return values with the return\n * values of the default function\n * @private\n * @param {Function} componentThemeFunction\n * @param {String} themeKey\n * @return {Object} A wrapped theme object\n */\n\n\nfunction makeComponentTheme(componentThemeFunction, themeKey) {\n return function (variables) {\n var theme = {};\n\n if (typeof componentThemeFunction === 'function') {\n theme = componentThemeFunction(variables);\n } // so that the components for the themeKey can\n // just specify overrides we merge them with defaults here\n\n\n var defaultComponentTheme = {};\n\n if (typeof componentThemeFunction[themeKey] === 'function') {\n defaultComponentTheme = componentThemeFunction[themeKey](variables);\n }\n\n if (!isEmpty(defaultComponentTheme) && !isEmpty(theme)) {\n theme = _objectSpread({}, theme, {}, defaultComponentTheme);\n } else if (isEmpty(theme)) {\n theme = defaultComponentTheme;\n }\n\n return theme;\n };\n}\n/**\n* Register a component theme function\n*\n* @param {String} key The theme key for the component (e.g., [Link.theme])\n* @param {Function} componentThemeFunction The function to use for preparing this component's theme\n*/\n\n\nfunction registerComponentTheme(componentKey, componentThemeFunction) {\n var _getRegistry2 = getRegistry(),\n components = _getRegistry2.components;\n\n if (typeof componentThemeFunction !== 'function') {\n return;\n }\n\n components[DEFAULT_THEME_KEY][componentKey] = componentThemeFunction;\n Object.keys(componentThemeFunction).forEach(function (themeKey) {\n if (!components.hasOwnProperty(themeKey)) {\n // eslint-disable-line no-prototype-builtins\n components[themeKey] = {};\n }\n\n components[themeKey][componentKey] = makeComponentTheme(componentThemeFunction, themeKey);\n });\n}\n\nfunction getRegisteredComponents(themeKey) {\n var _getRegistry3 = getRegistry(),\n components = _getRegistry3.components;\n\n var t = themeKey || getDefaultThemeKey(); // fall back to the default component theme functions\n\n return _objectSpread({}, components[DEFAULT_THEME_KEY], {}, components[t]);\n}\n\nfunction getRegisteredComponent(themeKey, componentKey) {\n var _getRegistry4 = getRegistry(),\n components = _getRegistry4.components;\n\n return components[themeKey] && components[themeKey][componentKey] || components[DEFAULT_THEME_KEY][componentKey];\n}\n/**\n* Generate themes for all registered [@themeable](#themeable) components,\n* to be used by [``](#ApplyTheme).\n*\n* @param {String} themeKey The theme to use (for global theme variables across components)\n* @param {Object} overrides theme variable overrides (usually for user defined values)\n* @return {Object} A theme config to use with ``\n*/\n\n\nfunction generateTheme(themeKey, overrides) {\n var registry = getRegistry();\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(registry.registered.length > 0, '[themeable] No themes have been registered. ' + 'Import a theme from @instructure/ui-themes or register a custom theme with registerTheme ' + '(see @instructure/ui-themeable).');\n\n var components = getRegisteredComponents(themeKey);\n var theme = {};\n var variables = mergeWithDefaultThemeVariables(themeKey, overrides);\n\n if (isEmpty(variables)) {\n return;\n }\n\n Object.getOwnPropertySymbols(components).forEach(function (componentKey) {\n theme[componentKey] = components[componentKey](variables);\n });\n return theme;\n}\n/**\n * Generate theme variables for a @themeable component.\n * If no themeKey is provided, the default theme will be generated.\n *\n * @param {Symbol} key The theme key for the component (e.g., [Link.theme])\n * @param {String} themeKey The theme to use to generate the variables (falls back to the default theme)\n * @param {Object} overrides overrides for component level theme variables (usually user defined)\n * @return {Object} A theme config for the component\n */\n\n\nfunction generateComponentTheme(componentKey, themeKey, overrides) {\n var t = themeKey || getDefaultThemeKey();\n var theme = getRegisteredTheme(t);\n var componentTheme = {};\n var cachedComponentTheme = theme[componentKey];\n\n if (cachedComponentTheme) {\n // use the cached component theme if it exists\n componentTheme = cachedComponentTheme;\n } else {\n var variables = _objectSpread({\n borders: {},\n breakpoints: {},\n colors: {},\n forms: {},\n media: {},\n shadows: {},\n spacing: {},\n stacking: {},\n transitions: {},\n typography: {}\n }, mergeWithDefaultThemeVariables(themeKey));\n\n var componentThemeFunction = getRegisteredComponent(t, componentKey);\n\n if (typeof componentThemeFunction === 'function') {\n try {\n componentTheme = componentThemeFunction(variables);\n } catch (e) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(false, \"[themeable] \".concat(e));\n }\n }\n }\n\n if (isEmpty(overrides)) {\n return theme[componentKey] = componentTheme;\n } else if (theme.immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[themeable] Theme '\".concat(t, \"' is immutable. Cannot apply overrides for '\").concat(componentKey.toString(), \"': \").concat(JSON.stringify(overrides)));\n\n return componentTheme;\n } else if (isEmpty(componentTheme)) {\n return overrides;\n } else {\n return _objectSpread({}, componentTheme, {}, overrides);\n }\n}\n\nfunction getRegisteredThemes() {\n return getRegistry().themes;\n}\n\nfunction mountComponentStyles(template, defaultTheme, componentId) {\n var _getRegistry5 = getRegistry(),\n styleSheet = _getRegistry5.styleSheet;\n\n if (styleSheet && !styleSheet.mounted(componentId)) {\n var cssText = getCssText(template, defaultTheme, componentId);\n styleSheet.mount(componentId, toRules(cssText));\n }\n}\n\nfunction flushComponentStyles() {\n var _getRegistry6 = getRegistry(),\n styleSheet = _getRegistry6.styleSheet;\n\n styleSheet && styleSheet.flush();\n}\n\nvar ThemeRegistry = {\n getRegistry: getRegistry,\n clearRegistry: clearRegistry,\n setRegistry: setRegistry,\n generateComponentTheme: generateComponentTheme,\n generateTheme: generateTheme,\n getRegisteredThemes: getRegisteredThemes,\n registerComponentTheme: registerComponentTheme,\n registerTheme: registerTheme,\n mountComponentStyles: mountComponentStyles,\n flushComponentStyles: flushComponentStyles\n};\nexport default ThemeRegistry;\nexport { ThemeRegistry, getRegistry, clearRegistry, setRegistry, generateComponentTheme, generateTheme, getRegisteredThemes, registerComponentTheme, registerTheme, mountComponentStyles, flushComponentStyles };","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * Formats a variable as a CSS variable (prefixed with `--`)\n * @param {String} variableName\n * @param {String} prefix an optional prefix to add to the variable name\n * @returns {String} formatted variable name\n */\nfunction formatVariableName(variableName, prefix) {\n var name = prefix ? \"\".concat(prefix, \"-\").concat(variableName) : variableName;\n return \"--\".concat(name);\n}\n\nexport default formatVariableName;\nexport { formatVariableName };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { replaceValuesWithVariableNames } from './replaceValuesWithVariableNames';\nimport { formatVariableNames } from './formatVariableNames';\nimport { applyCustomMediaToCss } from './applyCustomMediaToCss';\nimport { customPropertiesSupported } from './customPropertiesSupported';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Returns the CSS as a string with variables applied\n * @module getCssText\n * @param {Function} template A template function that returns the CSS as a string with variables injected\n * @param {Object} variables JS variables\n * @param {string} prefix CSS variable prefix/namespace\n * @returns {String} css text\n */\n\nfunction getCssText() {\n if (customPropertiesSupported()) {\n return getCssTextWithVariables.apply(this, arguments);\n } else {\n return getCssTextWithPolyfill.apply(this, arguments);\n }\n}\n\nfunction getCssTextWithPolyfill(template, variables) {\n // inject variable values\n var cssText = template(variables); // inject valules for @custom-media rules\n\n var customMedia = variables ? formatVariableNames(variables) : {};\n cssText = applyCustomMediaToCss(cssText, customMedia);\n return cssText;\n}\n\nfunction getCssTextWithVariables(template, variables, prefix) {\n var variableNames = variables ? replaceValuesWithVariableNames(variables, prefix) : {}; // inject the CSS variable names into the style template\n\n var cssText = template(variableNames); // inject values for @custom-media rules (https://www.w3.org/TR/2016/WD-mediaqueries-4-20160126/#custom-mq)\n\n var customMedia = variables ? function () {\n return formatVariableNames(variables);\n } : {};\n cssText = applyCustomMediaToCss(cssText, customMedia);\n var cssVariablesString = variables ? formatVariableNames(variables, prefix) : ''; // append the CSS variables (defaults) to the result\n\n cssText = [cssText, variablesToCSSText(cssVariablesString)].join('\\n');\n return cssText;\n}\n\nfunction variablesToCSSText() {\n var variables = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var rules = [];\n\n for (var key in variables) {\n if (Object.prototype.hasOwnProperty.call(variables, key) && typeof variables[key] !== 'undefined') {\n rules.push(\"\".concat(key, \": \").concat(variables[key]));\n }\n }\n\n if (rules.length > 0) {\n return \"\\n :root {\\n \".concat(rules.join(';\\n'), \";\\n }\\n \");\n } else {\n return '';\n }\n}\n\nexport default getCssText;\nexport { getCssText, getCssTextWithPolyfill, getCssTextWithVariables };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * Formats a variable as a CSS variable (prefixed with `--`)\n * @param {String} variableName\n * @param {String} prefix an optional prefix to add to the variable name\n * @returns {String} formatted variable name\n */\nfunction formatVariableName(variableName, prefix) {\n var name = prefix ? \"\".concat(prefix, \"-\").concat(variableName) : variableName;\n return \"--\".concat(name);\n}\n\nexport default formatVariableName;\nexport { formatVariableName };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { replaceValuesWithVariableNames } from './replaceValuesWithVariableNames';\nimport { formatVariableNames } from './formatVariableNames';\nimport { applyCustomMediaToCss } from './applyCustomMediaToCss';\nimport { customPropertiesSupported } from './customPropertiesSupported';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Returns the CSS as a string with variables applied\n * @module getCssText\n * @param {Function} template A template function that returns the CSS as a string with variables injected\n * @param {Object} variables JS variables\n * @param {string} prefix CSS variable prefix/namespace\n * @returns {String} css text\n */\n\nfunction getCssText() {\n if (customPropertiesSupported()) {\n return getCssTextWithVariables.apply(this, arguments);\n } else {\n return getCssTextWithPolyfill.apply(this, arguments);\n }\n}\n\nfunction getCssTextWithPolyfill(template, variables) {\n // inject variable values\n var cssText = template(variables); // inject valules for @custom-media rules\n\n var customMedia = variables ? formatVariableNames(variables) : {};\n cssText = applyCustomMediaToCss(cssText, customMedia);\n return cssText;\n}\n\nfunction getCssTextWithVariables(template, variables, prefix) {\n var variableNames = variables ? replaceValuesWithVariableNames(variables, prefix) : {}; // inject the CSS variable names into the style template\n\n var cssText = template(variableNames); // inject values for @custom-media rules (https://www.w3.org/TR/2016/WD-mediaqueries-4-20160126/#custom-mq)\n\n var customMedia = variables ? function () {\n return formatVariableNames(variables);\n } : {};\n cssText = applyCustomMediaToCss(cssText, customMedia);\n var cssVariablesString = variables ? formatVariableNames(variables, prefix) : ''; // append the CSS variables (defaults) to the result\n\n cssText = [cssText, variablesToCSSText(cssVariablesString)].join('\\n');\n return cssText;\n}\n\nfunction variablesToCSSText() {\n var variables = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var rules = [];\n\n for (var key in variables) {\n if (Object.prototype.hasOwnProperty.call(variables, key) && typeof variables[key] !== 'undefined') {\n rules.push(\"\".concat(key, \": \").concat(variables[key]));\n }\n }\n\n if (rules.length > 0) {\n return \"\\n :root {\\n \".concat(rules.join(';\\n'), \";\\n }\\n \");\n } else {\n return '';\n }\n}\n\nexport default getCssText;\nexport { getCssText, getCssTextWithPolyfill, getCssTextWithVariables };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * Formats a variable as a CSS variable (prefixed with `--`)\n * @param {String} variableName\n * @param {String} prefix an optional prefix to add to the variable name\n * @returns {String} formatted variable name\n */\nfunction formatVariableName(variableName, prefix) {\n var name = prefix ? \"\".concat(prefix, \"-\").concat(variableName) : variableName;\n return \"--\".concat(name);\n}\n\nexport default formatVariableName;\nexport { formatVariableName };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { replaceValuesWithVariableNames } from './replaceValuesWithVariableNames';\nimport { formatVariableNames } from './formatVariableNames';\nimport { applyCustomMediaToCss } from './applyCustomMediaToCss';\nimport { customPropertiesSupported } from './customPropertiesSupported';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Returns the CSS as a string with variables applied\n * @module getCssText\n * @param {Function} template A template function that returns the CSS as a string with variables injected\n * @param {Object} variables JS variables\n * @param {string} prefix CSS variable prefix/namespace\n * @returns {String} css text\n */\n\nfunction getCssText() {\n if (customPropertiesSupported()) {\n return getCssTextWithVariables.apply(this, arguments);\n } else {\n return getCssTextWithPolyfill.apply(this, arguments);\n }\n}\n\nfunction getCssTextWithPolyfill(template, variables) {\n // inject variable values\n var cssText = template(variables); // inject valules for @custom-media rules\n\n var customMedia = variables ? formatVariableNames(variables) : {};\n cssText = applyCustomMediaToCss(cssText, customMedia);\n return cssText;\n}\n\nfunction getCssTextWithVariables(template, variables, prefix) {\n var variableNames = variables ? replaceValuesWithVariableNames(variables, prefix) : {}; // inject the CSS variable names into the style template\n\n var cssText = template(variableNames); // inject values for @custom-media rules (https://www.w3.org/TR/2016/WD-mediaqueries-4-20160126/#custom-mq)\n\n var customMedia = variables ? function () {\n return formatVariableNames(variables);\n } : {};\n cssText = applyCustomMediaToCss(cssText, customMedia);\n var cssVariablesString = variables ? formatVariableNames(variables, prefix) : ''; // append the CSS variables (defaults) to the result\n\n cssText = [cssText, variablesToCSSText(cssVariablesString)].join('\\n');\n return cssText;\n}\n\nfunction variablesToCSSText() {\n var variables = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var rules = [];\n\n for (var key in variables) {\n if (Object.prototype.hasOwnProperty.call(variables, key) && typeof variables[key] !== 'undefined') {\n rules.push(\"\".concat(key, \": \").concat(variables[key]));\n }\n }\n\n if (rules.length > 0) {\n return \"\\n :root {\\n \".concat(rules.join(';\\n'), \";\\n }\\n \");\n } else {\n return '';\n }\n}\n\nexport default getCssText;\nexport { getCssText, getCssTextWithPolyfill, getCssTextWithVariables };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * Formats a variable as a CSS variable (prefixed with `--`)\n * @param {String} variableName\n * @param {String} prefix an optional prefix to add to the variable name\n * @returns {String} formatted variable name\n */\nfunction formatVariableName(variableName, prefix) {\n var name = prefix ? \"\".concat(prefix, \"-\").concat(variableName) : variableName;\n return \"--\".concat(name);\n}\n\nexport default formatVariableName;\nexport { formatVariableName };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { replaceValuesWithVariableNames } from './replaceValuesWithVariableNames';\nimport { formatVariableNames } from './formatVariableNames';\nimport { applyCustomMediaToCss } from './applyCustomMediaToCss';\nimport { customPropertiesSupported } from './customPropertiesSupported';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Returns the CSS as a string with variables applied\n * @module getCssText\n * @param {Function} template A template function that returns the CSS as a string with variables injected\n * @param {Object} variables JS variables\n * @param {string} prefix CSS variable prefix/namespace\n * @returns {String} css text\n */\n\nfunction getCssText() {\n if (customPropertiesSupported()) {\n return getCssTextWithVariables.apply(this, arguments);\n } else {\n return getCssTextWithPolyfill.apply(this, arguments);\n }\n}\n\nfunction getCssTextWithPolyfill(template, variables) {\n // inject variable values\n var cssText = template(variables); // inject valules for @custom-media rules\n\n var customMedia = variables ? formatVariableNames(variables) : {};\n cssText = applyCustomMediaToCss(cssText, customMedia);\n return cssText;\n}\n\nfunction getCssTextWithVariables(template, variables, prefix) {\n var variableNames = variables ? replaceValuesWithVariableNames(variables, prefix) : {}; // inject the CSS variable names into the style template\n\n var cssText = template(variableNames); // inject values for @custom-media rules (https://www.w3.org/TR/2016/WD-mediaqueries-4-20160126/#custom-mq)\n\n var customMedia = variables ? function () {\n return formatVariableNames(variables);\n } : {};\n cssText = applyCustomMediaToCss(cssText, customMedia);\n var cssVariablesString = variables ? formatVariableNames(variables, prefix) : ''; // append the CSS variables (defaults) to the result\n\n cssText = [cssText, variablesToCSSText(cssVariablesString)].join('\\n');\n return cssText;\n}\n\nfunction variablesToCSSText() {\n var variables = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var rules = [];\n\n for (var key in variables) {\n if (Object.prototype.hasOwnProperty.call(variables, key) && typeof variables[key] !== 'undefined') {\n rules.push(\"\".concat(key, \": \").concat(variables[key]));\n }\n }\n\n if (rules.length > 0) {\n return \"\\n :root {\\n \".concat(rules.join(';\\n'), \";\\n }\\n \");\n } else {\n return '';\n }\n}\n\nexport default getCssText;\nexport { getCssText, getCssTextWithPolyfill, getCssTextWithVariables };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { canUseDOM } from '@instructure/ui-dom-utils';\nimport { isEdge } from '@instructure/ui-utils';\nvar cachedReturnVal;\n/**\n * ---\n * category: utilities/DOM\n * ---\n * check if CSS custom properties (CSS variables) are supported\n * @returns {Boolean} true if the DOM is available and CSS variables are supported\n */\n\nfunction customPropertiesSupported() {\n if (typeof cachedReturnVal !== 'undefined') return cachedReturnVal;\n return cachedReturnVal = canUseDOM && !isEdge && // polyfill edge until improved css variable support\n window.CSS && window.CSS.supports && window.CSS.supports('color', 'var(--primary)');\n}\n\nexport default customPropertiesSupported;\nexport { customPropertiesSupported };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n/**\n * ---\n * category: utilities\n * ---\n * A minimal check to see if the browser is Edge. Use when you don't need all\n * of [bowser](https://www.npmjs.com/package/bowser).\n */\n\nexport var isEdge = /Edge/.test(userAgent);","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { canUseDOM } from '@instructure/ui-dom-utils';\nimport { isEdge } from '@instructure/ui-utils';\nvar cachedReturnVal;\n/**\n * ---\n * category: utilities/DOM\n * ---\n * check if CSS custom properties (CSS variables) are supported\n * @returns {Boolean} true if the DOM is available and CSS variables are supported\n */\n\nfunction customPropertiesSupported() {\n if (typeof cachedReturnVal !== 'undefined') return cachedReturnVal;\n return cachedReturnVal = canUseDOM && !isEdge && // polyfill edge until improved css variable support\n window.CSS && window.CSS.supports && window.CSS.supports('color', 'var(--primary)');\n}\n\nexport default customPropertiesSupported;\nexport { customPropertiesSupported };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n/**\n * ---\n * category: utilities\n * ---\n * A minimal check to see if the browser is Edge. Use when you don't need all\n * of [bowser](https://www.npmjs.com/package/bowser).\n */\n\nexport var isEdge = /Edge/.test(userAgent);","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { canUseDOM } from '@instructure/ui-dom-utils';\nimport { isEdge } from '@instructure/ui-utils';\nvar cachedReturnVal;\n/**\n * ---\n * category: utilities/DOM\n * ---\n * check if CSS custom properties (CSS variables) are supported\n * @returns {Boolean} true if the DOM is available and CSS variables are supported\n */\n\nfunction customPropertiesSupported() {\n if (typeof cachedReturnVal !== 'undefined') return cachedReturnVal; // Since JSDOM doesn't need to support CSS Custom properties to work correctly, we will\n // say that they are supported if we are in JSDOM. This will keep unnecessary style tags\n // from being added to the DOM, keeping test output clean.\n\n var environmentIsJSDOM = navigator && navigator.userAgent && navigator.userAgent.includes('jsdom');\n var browserSupportsCustomProperties = window.CSS && window.CSS.supports && window.CSS.supports('color', 'var(--primary)');\n return cachedReturnVal = canUseDOM && !isEdge && ( // polyfill edge until improved css variable support\n browserSupportsCustomProperties || environmentIsJSDOM);\n}\n\nexport default customPropertiesSupported;\nexport { customPropertiesSupported };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n/**\n * ---\n * category: utilities\n * ---\n * A minimal check to see if the browser is Edge. Use when you don't need all\n * of [bowser](https://www.npmjs.com/package/bowser).\n */\n\nexport var isEdge = /Edge/.test(userAgent);","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { canUseDOM } from '@instructure/ui-dom-utils';\nimport { isEdge } from '@instructure/ui-utils';\nvar cachedReturnVal;\n/**\n * ---\n * category: utilities/DOM\n * ---\n * check if CSS custom properties (CSS variables) are supported\n * @returns {Boolean} true if the DOM is available and CSS variables are supported\n */\n\nfunction customPropertiesSupported() {\n if (typeof cachedReturnVal !== 'undefined') return cachedReturnVal; // Since JSDOM doesn't need to support CSS Custom properties to work correctly, we will\n // say that they are supported if we are in JSDOM. This will keep unnecessary style tags\n // from being added to the DOM, keeping test output clean.\n\n var environmentIsJSDOM = navigator && navigator.userAgent && navigator.userAgent.includes('jsdom');\n var browserSupportsCustomProperties = window.CSS && window.CSS.supports && window.CSS.supports('color', 'var(--primary)');\n return cachedReturnVal = canUseDOM && !isEdge && ( // polyfill edge until improved css variable support\n browserSupportsCustomProperties || environmentIsJSDOM);\n}\n\nexport default customPropertiesSupported;\nexport { customPropertiesSupported };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n/**\n * ---\n * category: utilities\n * ---\n * A minimal check to see if the browser is Edge. Use when you don't need all\n * of [bowser](https://www.npmjs.com/package/bowser).\n */\n\nexport var isEdge = /Edge/.test(userAgent);","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport gud from 'gud';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + gud() + '__';\n\n var Provider =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer =\n /*#__PURE__*/\n function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n }\n\n render() {\n return (\n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext\";\nimport matchPath from \"./matchPath\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext\";\nimport matchPath from \"./matchPath\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(Context).history;\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(Context).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(Context).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n return path\n ? matchPath(useLocation().pathname, path)\n : useContext(Context).match;\n}\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|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|download|draggable|encType|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|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|itemProp|itemScope|itemType|itemID|itemRef|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 index = 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 default index;\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\nvar pairSplitRegExp = /; */;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('=');\n\n // skip things that don't look like key=value\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim()\n var val = pair.substr(++eq_idx, pair.length).trim();\n\n // quoted values\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n }\n\n // only assign once\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable } from '@instructure/ui-themeable';\nimport { uid } from '@instructure/uid';\nimport { omitProps } from '@instructure/ui-react-utils';\nimport { testable } from '@instructure/ui-testable';\nvar styles = {\n componentId: 'esvoZ',\n template: function template(theme) {\n return \"\\n\\n.esvoZ_bGBk{fill:currentColor}\\n\\n.esvoZ_eXrk{display:inline-block}\\n\\n.esvoZ_cRbP{display:block}\\n\\n.esvoZ_drOs{color:inherit}\\n\\n.esvoZ_eCSh{color:\".concat(theme.primaryColor || 'inherit', \"}\\n\\n.esvoZ_buuG{color:\").concat(theme.secondaryColor || 'inherit', \"}\\n\\n.esvoZ_bFtJ{color:\").concat(theme.primaryInverseColor || 'inherit', \"}\\n\\n.esvoZ_dsSB{color:\").concat(theme.secondaryInverseColor || 'inherit', \"}\\n\\n.esvoZ_eZal{color:\").concat(theme.successColor || 'inherit', \"}\\n\\n.esvoZ_cVUo{color:\").concat(theme.brandColor || 'inherit', \"}\\n\\n.esvoZ_eScd{color:\").concat(theme.warningColor || 'inherit', \"}\\n\\n.esvoZ_cpQl{color:\").concat(theme.errorColor || 'inherit', \"}\\n\\n.esvoZ_cUGG{color:\").concat(theme.alertColor || 'inherit', \"}\");\n },\n 'root': 'esvoZ_bGBk',\n 'inline': 'esvoZ_eXrk',\n 'block': 'esvoZ_cRbP',\n 'color--inherit': 'esvoZ_drOs',\n 'color--primary': 'esvoZ_eCSh',\n 'color--secondary': 'esvoZ_buuG',\n 'color--primary-inverse': 'esvoZ_bFtJ',\n 'color--secondary-inverse': 'esvoZ_dsSB',\n 'color--success': 'esvoZ_eZal',\n 'color--brand': 'esvoZ_cVUo',\n 'color--warning': 'esvoZ_eScd',\n 'color--error': 'esvoZ_cpQl',\n 'color--alert': 'esvoZ_cUGG'\n};\nimport theme from './theme';\n/**\n---\ncategory: components/utilities\n---\n**/\n\nvar InlineSVG = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(InlineSVG, _Component);\n\n function InlineSVG() {\n var _this;\n\n _classCallCheck(this, InlineSVG);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InlineSVG).call(this));\n _this.titleId = uid('InlineSVG-title');\n _this.descId = uid('InlineSVG-desc');\n return _this;\n }\n\n _createClass(InlineSVG, [{\n key: \"renderTitle\",\n value: function renderTitle() {\n var title = this.props.title;\n return title ? React.createElement(\"title\", {\n id: this.titleId\n }, title) : null;\n }\n }, {\n key: \"renderDesc\",\n value: function renderDesc(desc) {\n return desc ? React.createElement(\"desc\", {\n id: this.descId\n }, desc) : null;\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n if (this.props.src) {\n var src = InlineSVG.prepareSrc(this.props.src);\n return React.createElement(\"g\", {\n role: \"presentation\",\n dangerouslySetInnerHTML: {\n __html: src\n } // eslint-disable-line react/no-danger\n\n });\n } else {\n return React.createElement(\"g\", {\n role: \"presentation\"\n }, this.props.children);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classnames;\n\n var _this$props = this.props,\n style = _this$props.style,\n width = _this$props.width,\n height = _this$props.height,\n title = _this$props.title,\n description = _this$props.description,\n focusable = _this$props.focusable,\n children = _this$props.children,\n src = _this$props.src,\n color = _this$props.color,\n props = _objectWithoutProperties(_this$props, [\"style\", \"width\", \"height\", \"title\", \"description\", \"focusable\", \"children\", \"src\", \"color\"]);\n\n return React.createElement(\"svg\", Object.assign({}, parseAttributes(this.props.src), omitProps(this.props, InlineSVG.propTypes, ['inline']), {\n style: _objectSpread({}, style, {\n width: width,\n height: height\n }),\n width: width || '1em',\n height: height || '1em',\n \"aria-hidden\": title ? null : 'true',\n \"aria-labelledby\": this.labelledBy,\n role: this.role,\n focusable: focusable ? 'true' : 'false',\n className: classnames((_classnames = {}, _defineProperty(_classnames, styles.root, true), _defineProperty(_classnames, styles[\"color--\".concat(color)], color !== 'auto'), _defineProperty(_classnames, styles.inline, this.props.inline), _defineProperty(_classnames, styles.block, !this.props.inline), _defineProperty(_classnames, props.className, props.className), _classnames))\n }), this.renderTitle(), this.renderDesc(description), this.renderContent());\n }\n }, {\n key: \"role\",\n get: function get() {\n if (this.props.title) {\n return 'img';\n } else {\n return 'presentation';\n }\n }\n }, {\n key: \"labelledBy\",\n get: function get() {\n var ids = [];\n\n if (this.props.title) {\n ids.push(this.titleId);\n }\n\n if (this.props.description) {\n ids.push(this.descId);\n }\n\n return ids.length > 0 ? ids.join(' ') : null;\n }\n }]);\n\n InlineSVG.displayName = \"InlineSVG\";\n return InlineSVG;\n}(Component), _class2.propTypes = {\n children: PropTypes.node,\n src: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n focusable: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n inline: PropTypes.bool,\n color: PropTypes.oneOf(['inherit', 'primary', 'secondary', 'primary-inverse', 'secondary-inverse', 'success', 'error', 'alert', 'warning', 'brand', 'auto'])\n}, _class2.defaultProps = {\n focusable: false,\n src: '',\n title: '',\n description: '',\n inline: true,\n children: null,\n width: void 0,\n height: void 0,\n color: 'inherit'\n}, _class2.prepareSrc = function (src) {\n var pattern = /]*>((.|[\\n\\r])*)<\\/svg>/;\n var matches = pattern.exec(src);\n return matches ? matches[1] : src;\n}, _temp)) || _class) || _class);\n\nfunction parseAttributes(src) {\n var attributes = {};\n var SVGAttributesRegExp = /]*)\\s*>/;\n var namesAndValuesRegExp = /(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|[>\"']))+.)[\"']?/g;\n\n if (typeof src === 'string') {\n var attributesMatches = SVGAttributesRegExp.exec(src);\n var attributesString = attributesMatches ? attributesMatches[1] : '';\n var excludes = ['xmlns', 'xmlns:xlink', 'version'];\n var match = namesAndValuesRegExp.exec(attributesString);\n\n while (match != null) {\n if (excludes.indexOf(match[1]) === -1) {\n attributes[match[1]] = match[2] || (match[3] ? match[3] : match[4] ? match[4] : match[5]) || match[1]; // eslint-disable-line no-nested-ternary, max-len\n }\n\n match = namesAndValuesRegExp.exec(attributesString);\n }\n }\n\n return attributes;\n}\n\nexport default InlineSVG;\nexport { InlineSVG };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/* Global variables (colors, typography, spacing, etc.) are defined in lib/themes */\nexport default function generator(_ref) {\n var colors = _ref.colors;\n return {\n primaryInverseColor: colors.textLightest,\n primaryColor: colors.textDarkest,\n secondaryColor: colors.textDark,\n secondaryInverseColor: colors.textLight,\n warningColor: colors.textWarning,\n brandColor: colors.textBrand,\n errorColor: colors.textDanger,\n alertColor: colors.textAlert,\n successColor: colors.textSuccess\n };\n}\n\ngenerator.canvas = function (variables) {\n return {\n primaryColor: variables['ic-brand-font-color-dark'],\n brandColor: variables['ic-brand-primary']\n };\n};","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable } from '@instructure/ui-themeable';\nimport { testable } from '@instructure/ui-testable';\nimport { InlineSVG } from '../InlineSVG';\nvar styles = {\n componentId: 'cGqzL',\n template: function template(theme) {\n return \"\\n\\n.cGqzL_bGBk{height:1em;line-height:1;vertical-align:middle;width:1em}\\n\\n.cGqzL_cwgF{transform:rotate(90deg)}\\n\\n.cGqzL_exaY{transform:rotate(180deg)}\\n\\n.cGqzL_dTDN{transform:rotate(270deg)}\\n\\n[dir=rtl] .cGqzL_owrh{transform:scaleX(-1)}\\n\\n[dir=rtl] .cGqzL_owrh.cGqzL_cwgF{transform:scaleX(-1) rotate(90deg)}\\n\\n[dir=rtl] .cGqzL_owrh .cGqzL_exaY{transform:scaleX(-1) rotate(180deg)}\\n\\n[dir=rtl] .cGqzL_owrh .cGqzL_dTDN{transform:scaleX(-1) rotate(270deg)}\\n\\n.cGqzL_dIzR{font-size:\".concat(theme.sizeXSmall || 'inherit', \"}\\n\\n.cGqzL_VCXp{font-size:\").concat(theme.sizeSmall || 'inherit', \"}\\n\\n.cGqzL_fKcQ{font-size:\").concat(theme.sizeMedium || 'inherit', \"}\\n\\n.cGqzL_cnhd{font-size:\").concat(theme.sizeLarge || 'inherit', \"}\\n\\n.cGqzL_fWMB{font-size:\").concat(theme.sizeXLarge || 'inherit', \"}\");\n },\n 'root': 'cGqzL_bGBk',\n 'rotate--90': 'cGqzL_cwgF',\n 'rotate--180': 'cGqzL_exaY',\n 'rotate--270': 'cGqzL_dTDN',\n 'bidirectional': 'cGqzL_owrh',\n 'size--x-small': 'cGqzL_dIzR',\n 'size--small': 'cGqzL_VCXp',\n 'size--medium': 'cGqzL_fKcQ',\n 'size--large': 'cGqzL_cnhd',\n 'size--x-large': 'cGqzL_fWMB'\n};\nimport theme from './theme';\n/**\n---\ncategory: components/utilities\n---\n**/\n\nvar SVGIcon = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(SVGIcon, _Component);\n\n function SVGIcon() {\n _classCallCheck(this, SVGIcon);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(SVGIcon).apply(this, arguments));\n }\n\n _createClass(SVGIcon, [{\n key: \"render\",\n value: function render() {\n var _classnames;\n\n var _this$props = this.props,\n rotate = _this$props.rotate,\n className = _this$props.className,\n size = _this$props.size,\n bidirectional = _this$props.bidirectional,\n props = _objectWithoutProperties(_this$props, [\"rotate\", \"className\", \"size\", \"bidirectional\"]);\n\n return React.createElement(InlineSVG, Object.assign({}, props, {\n rotate: rotate,\n className: classnames((_classnames = {}, _defineProperty(_classnames, styles.root, true), _defineProperty(_classnames, styles[\"rotate--\".concat(rotate)], rotate && rotate !== '0'), _defineProperty(_classnames, styles[\"size--\".concat(size)], size), _defineProperty(_classnames, styles.bidirectional, bidirectional), _defineProperty(_classnames, className, className), _classnames))\n }));\n }\n }]);\n\n SVGIcon.displayName = \"SVGIcon\";\n return SVGIcon;\n}(Component), _class2.propTypes = _objectSpread({}, InlineSVG.propTypes, {\n rotate: PropTypes.oneOf(['0', '90', '180', '270']),\n size: PropTypes.oneOf(['x-small', 'small', 'medium', 'large', 'x-large']),\n bidirectional: PropTypes.bool\n}), _class2.defaultProps = {\n rotate: '0',\n bidirectional: false,\n size: void 0\n}, _temp)) || _class) || _class);\nexport default SVGIcon;\nexport { SVGIcon };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function generator() {\n return {\n sizeXSmall: '1.125rem',\n sizeSmall: '2rem',\n sizeMedium: '3rem',\n sizeLarge: '5rem',\n sizeXLarge: '10rem'\n };\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * Polyfill custom media for [themeable](#themeable) components.\n * Searches for strings like `(--mediumMin)` and replaces it with the\n * variable value (e.g. `variables.mediumMin`)\n * @param {String} cssText the CSS text to apply the custom media to\n * @param {Object|Function} variables object containing custom media variables, or a function that returns the variables object that will be lazy-evaluated only if there are matched media query\n * @returns {String} CSS text with custom media values applied\n */\nfunction applyCustomMediaToCss(cssText, variables) {\n var matches = getMatches(cssText, /@media\\s*[^(]*\\((--[^)]+)\\)?/g);\n var result = cssText;\n\n if (matches.length > 0) {\n var vars = typeof variables === 'function' ? variables() : variables;\n matches.forEach(function (match) {\n var matcher = new RegExp(match[1].replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'gm');\n result = result.replace(matcher, vars[match[1]]);\n });\n }\n\n return result;\n}\n\nfunction getMatches(str, regex) {\n var matches = [];\n var match;\n var matcher = regex;\n matcher.lastIndex = 0;\n matcher = new RegExp(matcher.source, 'g'); // eslint-disable-next-line no-cond-assign\n\n while ((match = matcher.exec(str)) !== null) {\n matches.push(match);\n\n if (matcher.lastIndex === match.index) {\n matcher.lastIndex++;\n }\n }\n\n return matches;\n}\n\nexport default applyCustomMediaToCss;\nexport { applyCustomMediaToCss };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * Polyfill custom media for [themeable](#themeable) components.\n * Searches for strings like `(--mediumMin)` and replaces it with the\n * variable value (e.g. `variables.mediumMin`)\n * @param {String} cssText the CSS text to apply the custom media to\n * @param {Object|Function} variables object containing custom media variables, or a function that returns the variables object that will be lazy-evaluated only if there are matched media query\n * @returns {String} CSS text with custom media values applied\n */\nfunction applyCustomMediaToCss(cssText, variables) {\n var matches = getMatches(cssText, /@media\\s*[^(]*\\((--[^)]+)\\)?/g);\n var result = cssText;\n\n if (matches.length > 0) {\n var vars = typeof variables === 'function' ? variables() : variables;\n matches.forEach(function (match) {\n var matcher = new RegExp(match[1].replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'gm');\n result = result.replace(matcher, vars[match[1]]);\n });\n }\n\n return result;\n}\n\nfunction getMatches(str, regex) {\n var matches = [];\n var match;\n var matcher = regex;\n matcher.lastIndex = 0;\n matcher = new RegExp(matcher.source, 'g'); // eslint-disable-next-line no-cond-assign\n\n while ((match = matcher.exec(str)) !== null) {\n matches.push(match);\n\n if (matcher.lastIndex === match.index) {\n matcher.lastIndex++;\n }\n }\n\n return matches;\n}\n\nexport default applyCustomMediaToCss;\nexport { applyCustomMediaToCss };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * Polyfill custom media for [themeable](#themeable) components.\n * Searches for strings like `(--mediumMin)` and replaces it with the\n * variable value (e.g. `variables.mediumMin`)\n * @param {String} cssText the CSS text to apply the custom media to\n * @param {Object|Function} variables object containing custom media variables, or a function that returns the variables object that will be lazy-evaluated only if there are matched media query\n * @returns {String} CSS text with custom media values applied\n */\nfunction applyCustomMediaToCss(cssText, variables) {\n var matches = getMatches(cssText, /@media\\s*[^(]*\\((--[^)]+)\\)?/g);\n var result = cssText;\n\n if (matches.length > 0) {\n var vars = typeof variables === 'function' ? variables() : variables;\n matches.forEach(function (match) {\n var matcher = new RegExp(match[1].replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'gm');\n result = result.replace(matcher, vars[match[1]]);\n });\n }\n\n return result;\n}\n\nfunction getMatches(str, regex) {\n var matches = [];\n var match;\n var matcher = regex;\n matcher.lastIndex = 0;\n matcher = new RegExp(matcher.source, 'g'); // eslint-disable-next-line no-cond-assign\n\n while ((match = matcher.exec(str)) !== null) {\n matches.push(match);\n\n if (matcher.lastIndex === match.index) {\n matcher.lastIndex++;\n }\n }\n\n return matches;\n}\n\nexport default applyCustomMediaToCss;\nexport { applyCustomMediaToCss };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * Polyfill custom media for [themeable](#themeable) components.\n * Searches for strings like `(--mediumMin)` and replaces it with the\n * variable value (e.g. `variables.mediumMin`)\n * @param {String} cssText the CSS text to apply the custom media to\n * @param {Object|Function} variables object containing custom media variables, or a function that returns the variables object that will be lazy-evaluated only if there are matched media query\n * @returns {String} CSS text with custom media values applied\n */\nfunction applyCustomMediaToCss(cssText, variables) {\n var matches = getMatches(cssText, /@media\\s*[^(]*\\((--[^)]+)\\)?/g);\n var result = cssText;\n\n if (matches.length > 0) {\n var vars = typeof variables === 'function' ? variables() : variables;\n matches.forEach(function (match) {\n var matcher = new RegExp(match[1].replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'gm');\n result = result.replace(matcher, vars[match[1]]);\n });\n }\n\n return result;\n}\n\nfunction getMatches(str, regex) {\n var matches = [];\n var match;\n var matcher = regex;\n matcher.lastIndex = 0;\n matcher = new RegExp(matcher.source, 'g'); // eslint-disable-next-line no-cond-assign\n\n while ((match = matcher.exec(str)) !== null) {\n matches.push(match);\n\n if (matcher.lastIndex === match.index) {\n matcher.lastIndex++;\n }\n }\n\n return matches;\n}\n\nexport default applyCustomMediaToCss;\nexport { applyCustomMediaToCss };","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { formatVariableName } from './formatVariableName';\n/**\n* ---\n* category: utilities/themes\n* ---\n* Replace the variables values with the CSS variable\n* @param {Object} variables\n* @param {String} prefix a prefix to add to the variable names\n* @returns {Object} the theme variables object with CSS variables in place of values\n*/\n\nfunction replaceValuesWithVariableNames(variables, prefix) {\n var map = {};\n Object.keys(variables || {}).forEach(function (variableName) {\n map[variableName] = \"var(\".concat(formatVariableName(variableName, prefix), \")\");\n });\n return map;\n}\n\nexport default replaceValuesWithVariableNames;\nexport { replaceValuesWithVariableNames };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { formatVariableName } from './formatVariableName';\n/**\n* ---\n* category: utilities/themes\n* ---\n* Replace the variables values with the CSS variable\n* @param {Object} variables\n* @param {String} prefix a prefix to add to the variable names\n* @returns {Object} the theme variables object with CSS variables in place of values\n*/\n\nfunction replaceValuesWithVariableNames(variables, prefix) {\n var map = {};\n Object.keys(variables || {}).forEach(function (variableName) {\n map[variableName] = \"var(\".concat(formatVariableName(variableName, prefix), \")\");\n });\n return map;\n}\n\nexport default replaceValuesWithVariableNames;\nexport { replaceValuesWithVariableNames };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { formatVariableName } from './formatVariableName';\n/**\n* ---\n* category: utilities/themes\n* ---\n* Replace the variables values with the CSS variable\n* @param {Object} variables\n* @param {String} prefix a prefix to add to the variable names\n* @returns {Object} the theme variables object with CSS variables in place of values\n*/\n\nfunction replaceValuesWithVariableNames(variables, prefix) {\n var map = {};\n Object.keys(variables || {}).forEach(function (variableName) {\n map[variableName] = \"var(\".concat(formatVariableName(variableName, prefix), \")\");\n });\n return map;\n}\n\nexport default replaceValuesWithVariableNames;\nexport { replaceValuesWithVariableNames };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { formatVariableName } from './formatVariableName';\n/**\n* ---\n* category: utilities/themes\n* ---\n* Replace the variables values with the CSS variable\n* @param {Object} variables\n* @param {String} prefix a prefix to add to the variable names\n* @returns {Object} the theme variables object with CSS variables in place of values\n*/\n\nfunction replaceValuesWithVariableNames(variables, prefix) {\n var map = {};\n Object.keys(variables || {}).forEach(function (variableName) {\n map[variableName] = \"var(\".concat(formatVariableName(variableName, prefix), \")\");\n });\n return map;\n}\n\nexport default replaceValuesWithVariableNames;\nexport { replaceValuesWithVariableNames };","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { matchPath } from \"react-router\";\n\nvar createSelectors = function createSelectors(structure) {\n var getIn = structure.getIn,\n toJS = structure.toJS;\n\n var isRouter = function isRouter(value) {\n return value != null && _typeof(value) === 'object' && getIn(value, ['location']) && getIn(value, ['action']);\n };\n\n var getRouter = function getRouter(state) {\n var router = toJS(getIn(state, ['router']));\n\n if (!isRouter(router)) {\n throw 'Could not find router reducer in state tree, it must be mounted under \"router\"';\n }\n\n return router;\n };\n\n var getLocation = function getLocation(state) {\n return toJS(getIn(getRouter(state), ['location']));\n };\n\n var getAction = function getAction(state) {\n return toJS(getIn(getRouter(state), ['action']));\n };\n\n var getSearch = function getSearch(state) {\n return toJS(getIn(getRouter(state), ['location', 'search']));\n };\n\n var getHash = function getHash(state) {\n return toJS(getIn(getRouter(state), ['location', 'hash']));\n }; // It only makes sense to recalculate the `matchPath` whenever the pathname\n // of the location changes. That's why `createMatchSelector` memoizes\n // the latest result based on the location's pathname.\n\n\n var createMatchSelector = function createMatchSelector(path) {\n var lastPathname = null;\n var lastMatch = null;\n return function (state) {\n var _ref = getLocation(state) || {},\n pathname = _ref.pathname;\n\n if (pathname === lastPathname) {\n return lastMatch;\n }\n\n lastPathname = pathname;\n var match = matchPath(pathname, path);\n\n if (!match || !lastMatch || match.url !== lastMatch.url) {\n lastMatch = match;\n }\n\n return lastMatch;\n };\n };\n\n return {\n getLocation: getLocation,\n getAction: getAction,\n getRouter: getRouter,\n getSearch: getSearch,\n getHash: getHash,\n createMatchSelector: createMatchSelector\n };\n};\n\nexport default createSelectors;","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect, ReactReduxContext } from 'react-redux';\nimport { Router } from 'react-router';\nimport { onLocationChanged as _onLocationChanged } from './actions';\nimport createSelectors from './selectors';\n\nvar createConnectedRouter = function createConnectedRouter(structure) {\n var _createSelectors = createSelectors(structure),\n getLocation = _createSelectors.getLocation;\n /*\n * ConnectedRouter listens to a history object passed from props.\n * When history is changed, it dispatches action to redux store.\n * Then, store will pass props to component to render.\n * This creates uni-directional flow from history->store->router->components.\n */\n\n\n var ConnectedRouter =\n /*#__PURE__*/\n function (_PureComponent) {\n _inherits(ConnectedRouter, _PureComponent);\n\n function ConnectedRouter(props) {\n var _this;\n\n _classCallCheck(this, ConnectedRouter);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ConnectedRouter).call(this, props));\n var store = props.store,\n history = props.history,\n onLocationChanged = props.onLocationChanged;\n _this.inTimeTravelling = false; // Subscribe to store changes to check if we are in time travelling\n\n _this.unsubscribe = store.subscribe(function () {\n // Extract store's location\n var _getLocation = getLocation(store.getState()),\n pathnameInStore = _getLocation.pathname,\n searchInStore = _getLocation.search,\n hashInStore = _getLocation.hash; // Extract history's location\n\n\n var _history$location = history.location,\n pathnameInHistory = _history$location.pathname,\n searchInHistory = _history$location.search,\n hashInHistory = _history$location.hash; // If we do time travelling, the location in store is changed but location in history is not changed\n\n if (props.history.action === 'PUSH' && (pathnameInHistory !== pathnameInStore || searchInHistory !== searchInStore || hashInHistory !== hashInStore)) {\n _this.inTimeTravelling = true; // Update history's location to match store's location\n\n history.push({\n pathname: pathnameInStore,\n search: searchInStore,\n hash: hashInStore\n });\n }\n });\n\n var handleLocationChange = function handleLocationChange(location, action) {\n var isFirstRendering = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n // Dispatch onLocationChanged except when we're in time travelling\n if (!_this.inTimeTravelling) {\n onLocationChanged(location, action, isFirstRendering);\n } else {\n _this.inTimeTravelling = false;\n }\n }; // Listen to history changes\n\n\n _this.unlisten = history.listen(handleLocationChange); // Dispatch a location change action for the initial location.\n // This makes it backward-compatible with react-router-redux.\n // But, we add `isFirstRendering` to `true` to prevent double-rendering.\n\n handleLocationChange(history.location, history.action, true);\n return _this;\n }\n\n _createClass(ConnectedRouter, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unlisten();\n this.unsubscribe();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n history = _this$props.history,\n children = _this$props.children;\n return React.createElement(Router, {\n history: history\n }, children);\n }\n }]);\n\n return ConnectedRouter;\n }(PureComponent);\n\n ConnectedRouter.propTypes = {\n store: PropTypes.shape({\n getState: PropTypes.func.isRequired,\n subscribe: PropTypes.func.isRequired\n }).isRequired,\n history: PropTypes.shape({\n action: PropTypes.string.isRequired,\n listen: PropTypes.func.isRequired,\n location: PropTypes.object.isRequired,\n push: PropTypes.func.isRequired\n }).isRequired,\n basename: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n onLocationChanged: PropTypes.func.isRequired\n };\n\n var mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onLocationChanged: function onLocationChanged(location, action, isFirstRendering) {\n return dispatch(_onLocationChanged(location, action, isFirstRendering));\n }\n };\n };\n\n var ConnectedRouterWithContext = function ConnectedRouterWithContext(props) {\n var Context = props.context || ReactReduxContext;\n\n if (Context == null) {\n throw 'Please upgrade to react-redux v6';\n }\n\n return React.createElement(Context.Consumer, null, function (_ref) {\n var store = _ref.store;\n return React.createElement(ConnectedRouter, _extends({\n store: store\n }, props));\n });\n };\n\n ConnectedRouterWithContext.propTypes = {\n context: PropTypes.object\n };\n return connect(null, mapDispatchToProps)(ConnectedRouterWithContext);\n};\n\nexport default createConnectedRouter;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { LOCATION_CHANGE } from './actions';\n/**\n * Adds query to location.\n * Utilises the search prop of location to construct query.\n */\n\nvar injectQuery = function injectQuery(location) {\n var searchQuery = location && location.search;\n\n if (typeof searchQuery !== 'string' || searchQuery.length === 0) {\n return _objectSpread({}, location, {\n query: {}\n });\n } // Ignore the `?` part of the search string e.g. ?username=codejockie\n\n\n var search = searchQuery.substring(1); // Split the query string on `&` e.g. ?username=codejockie&name=Kennedy\n\n var queries = search.split('&'); // Contruct query\n\n var query = queries.reduce(function (acc, currentQuery) {\n // Split on `=`, to get key and value\n var _currentQuery$split = currentQuery.split('='),\n _currentQuery$split2 = _slicedToArray(_currentQuery$split, 2),\n queryKey = _currentQuery$split2[0],\n queryValue = _currentQuery$split2[1];\n\n return _objectSpread({}, acc, _defineProperty({}, queryKey, queryValue));\n }, {});\n return _objectSpread({}, location, {\n query: query\n });\n};\n\nvar createConnectRouter = function createConnectRouter(structure) {\n var fromJS = structure.fromJS,\n merge = structure.merge;\n\n var createRouterReducer = function createRouterReducer(history) {\n var initialRouterState = fromJS({\n location: injectQuery(history.location),\n action: history.action\n });\n /*\n * This reducer will update the state with the most recent location history\n * has transitioned to.\n */\n\n return function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialRouterState;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n type = _ref.type,\n payload = _ref.payload;\n\n if (type === LOCATION_CHANGE) {\n var location = payload.location,\n action = payload.action,\n isFirstRendering = payload.isFirstRendering; // Don't update the state ref for the first rendering\n // to prevent the double-rendering issue on initilization\n\n return isFirstRendering ? state : merge(state, {\n location: fromJS(injectQuery(location)),\n action: action\n });\n }\n\n return state;\n };\n };\n\n return createRouterReducer;\n};\n\nexport default createConnectRouter;","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport getIn from './getIn';\nvar structure = {\n fromJS: function fromJS(value) {\n return value;\n },\n getIn: getIn,\n merge: function merge(state, payload) {\n return _objectSpread({}, state, payload);\n },\n toJS: function toJS(value) {\n return value;\n }\n};\nexport default structure;","/* Code from github.com/erikras/redux-form by Erik Rasmussen */\nvar getIn = function getIn(state, path) {\n if (!state) {\n return state;\n }\n\n var length = path.length;\n\n if (!length) {\n return undefined;\n }\n\n var result = state;\n\n for (var i = 0; i < length && !!result; ++i) {\n result = result[path[i]];\n }\n\n return result;\n};\n\nexport default getIn;","import createConnectedRouter from \"./ConnectedRouter\";\nimport createConnectRouter from \"./reducer\";\nimport createSelectors from \"./selectors\";\nimport plainStructure from \"./structure/plain\";\nexport { LOCATION_CHANGE, CALL_HISTORY_METHOD, onLocationChanged, push, replace, go, goBack, goForward, routerActions } from \"./actions\";\nexport { default as routerMiddleware } from \"./middleware\";\nexport var ConnectedRouter =\n/*#__PURE__*/\ncreateConnectedRouter(plainStructure);\nexport var connectRouter =\n/*#__PURE__*/\ncreateConnectRouter(plainStructure);\n\nvar _createSelectors =\n/*#__PURE__*/\ncreateSelectors(plainStructure),\n getLocation = _createSelectors.getLocation,\n getAction = _createSelectors.getAction,\n getHash = _createSelectors.getHash,\n getSearch = _createSelectors.getSearch,\n createMatchSelector = _createSelectors.createMatchSelector;\n\nexport { getLocation, getAction, getHash, getSearch, createMatchSelector };","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\n\nvar UA = new UAParser();\nvar browser = UA.getBrowser();\nvar cpu = UA.getCPU();\nvar device = UA.getDevice();\nvar engine = UA.getEngine();\nvar os = UA.getOS();\nvar ua = UA.getUA();\n\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n\n return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && (nav.platform.includes(type) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nvar DEVICE_TYPES = {\n MOBILE: 'mobile',\n TABLET: 'tablet',\n SMART_TV: 'smarttv',\n CONSOLE: 'console',\n WEARABLE: 'wearable',\n BROWSER: undefined\n};\nvar BROWSER_TYPES = {\n CHROME: 'Chrome',\n FIREFOX: \"Firefox\",\n OPERA: \"Opera\",\n YANDEX: \"Yandex\",\n SAFARI: \"Safari\",\n INTERNET_EXPLORER: \"Internet Explorer\",\n EDGE: \"Edge\",\n CHROMIUM: \"Chromium\",\n IE: 'IE',\n MOBILE_SAFARI: \"Mobile Safari\"\n};\nvar OS_TYPES = {\n IOS: 'iOS',\n ANDROID: \"Android\",\n WINDOWS_PHONE: \"Windows Phone\"\n};\nvar initialData = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\nvar checkType = function checkType(type) {\n switch (type) {\n case DEVICE_TYPES.MOBILE:\n return {\n isMobile: true\n };\n\n case DEVICE_TYPES.TABLET:\n return {\n isTablet: true\n };\n\n case DEVICE_TYPES.SMART_TV:\n return {\n isSmartTV: true\n };\n\n case DEVICE_TYPES.CONSOLE:\n return {\n isConsole: true\n };\n\n case DEVICE_TYPES.WEARABLE:\n return {\n isWearable: true\n };\n\n case DEVICE_TYPES.BROWSER:\n return {\n isBrowser: true\n };\n\n default:\n return initialData;\n }\n};\nvar broPayload = function broPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\nvar stvPayload = function stvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar wearPayload = function wearPayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nvar type = checkType(device.type);\n\nfunction deviceDetect() {\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable;\n\n if (isBrowser) {\n return broPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return stvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearPayload(isWearable, engine, os, ua);\n }\n}\n\nvar isMobileType = function isMobileType() {\n return device.type === DEVICE_TYPES.MOBILE;\n};\n\nvar isTabletType = function isTabletType() {\n return device.type === DEVICE_TYPES.TABLET;\n};\n\nvar isMobileAndTabletType = function isMobileAndTabletType() {\n switch (device.type) {\n case DEVICE_TYPES.MOBILE:\n case DEVICE_TYPES.TABLET:\n return true;\n\n default:\n return false;\n }\n};\n\nvar isSmartTVType = function isSmartTVType() {\n return device.type === DEVICE_TYPES.SMART_TV;\n};\n\nvar isBrowserType = function isBrowserType() {\n return device.type === DEVICE_TYPES.BROWSER;\n};\n\nvar isWearableType = function isWearableType() {\n return device.type === DEVICE_TYPES.WEARABLE;\n};\n\nvar isConsoleType = function isConsoleType() {\n return device.type === DEVICE_TYPES.CONSOLE;\n};\n\nvar isAndroidType = function isAndroidType() {\n return os.name === OS_TYPES.ANDROID;\n};\n\nvar isWinPhoneType = function isWinPhoneType() {\n return os.name === OS_TYPES.WINDOWS_PHONE;\n};\n\nvar isIOSType = function isIOSType() {\n return os.name === OS_TYPES.IOS;\n};\n\nvar isChromeType = function isChromeType() {\n return browser.name === BROWSER_TYPES.CHROME;\n};\n\nvar isFirefoxType = function isFirefoxType() {\n return browser.name === BROWSER_TYPES.FIREFOX;\n};\n\nvar isChromiumType = function isChromiumType() {\n return browser.name === BROWSER_TYPES.CHROMIUM;\n};\n\nvar isEdgeType = function isEdgeType() {\n return browser.name === BROWSER_TYPES.EDGE;\n};\n\nvar isYandexType = function isYandexType() {\n return browser.name === BROWSER_TYPES.YANDEX;\n};\n\nvar isSafariType = function isSafariType() {\n return browser.name === BROWSER_TYPES.SAFARI || browser.name === BROWSER_TYPES.MOBILE_SAFARI;\n};\n\nvar isMobileSafariType = function isMobileSafariType() {\n return browser.name === BROWSER_TYPES.MOBILE_SAFARI;\n};\n\nvar isOperaType = function isOperaType() {\n return browser.name === BROWSER_TYPES.OPERA;\n};\n\nvar isIEType = function isIEType() {\n return browser.name === BROWSER_TYPES.INTERNET_EXPLORER || browser.name === BROWSER_TYPES.IE;\n};\n\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? ua.includes('electron') : false;\n};\n\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\n\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\n\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\n\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\n\nvar getBrowserFullVersion = function getBrowserFullVersion() {\n return setDefaults(browser.version);\n};\n\nvar getBrowserVersion = function getBrowserVersion() {\n return setDefaults(browser.major);\n};\n\nvar getOsVersion = function getOsVersion() {\n return setDefaults(os.version);\n};\n\nvar getOsName = function getOsName() {\n return setDefaults(os.name);\n};\n\nvar getBrowserName = function getBrowserName() {\n return setDefaults(browser.name);\n};\n\nvar getMobileVendor = function getMobileVendor() {\n return setDefaults(device.vendor);\n};\n\nvar getMobileModel = function getMobileModel() {\n return setDefaults(device.model);\n};\n\nvar getEngineName = function getEngineName() {\n return setDefaults(engine.name);\n};\n\nvar getEngineVersion = function getEngineVersion() {\n return setDefaults(engine.version);\n};\n\nvar getUseragent = function getUseragent() {\n return setDefaults(ua);\n};\n\nvar getDeviceType = function getDeviceType() {\n return setDefaults(device.type, 'browser');\n};\n\nvar isSmartTV = isSmartTVType();\nvar isConsole = isConsoleType();\nvar isWearable = isWearableType();\nvar isMobileSafari = isMobileSafariType();\nvar isChromium = isChromiumType();\nvar isMobile = isMobileAndTabletType();\nvar isMobileOnly = isMobileType();\nvar isTablet = isTabletType();\nvar isBrowser = isBrowserType();\nvar isAndroid = isAndroidType();\nvar isWinPhone = isWinPhoneType();\nvar isIOS = isIOSType();\nvar isChrome = isChromeType();\nvar isFirefox = isFirefoxType();\nvar isSafari = isSafariType();\nvar isOpera = isOperaType();\nvar isIE = isIEType();\nvar osVersion = getOsVersion();\nvar osName = getOsName();\nvar fullBrowserVersion = getBrowserFullVersion();\nvar browserVersion = getBrowserVersion();\nvar browserName = getBrowserName();\nvar mobileVendor = getMobileVendor();\nvar mobileModel = getMobileModel();\nvar engineName = getEngineName();\nvar engineVersion = getEngineVersion();\nvar getUA = getUseragent();\nvar isEdge = isEdgeType();\nvar isYandex = isYandexType();\nvar deviceType = getDeviceType();\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\n\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n viewClassName = _ref.viewClassName,\n style = _ref.style;\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n viewClassName = _ref2.viewClassName,\n style = _ref2.style;\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n viewClassName = _ref3.viewClassName,\n style = _ref3.style;\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n viewClassName = _ref4.viewClassName,\n style = _ref4.style;\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n viewClassName = _ref5.viewClassName,\n style = _ref5.style;\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n viewClassName = _ref6.viewClassName,\n style = _ref6.style;\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n viewClassName = _ref7.viewClassName,\n style = _ref7.style;\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style;\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n viewClassName = _ref9.viewClassName,\n style = _ref9.style;\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n viewClassName = _ref10.viewClassName,\n style = _ref10.style;\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n viewClassName = _ref11.viewClassName,\n style = _ref11.style;\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition;\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", {\n className: viewClassName,\n style: style\n }, children) : null;\n};\n\nfunction withOrientationChange(WrappedComponent) {\n return (\n /*#__PURE__*/\n function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n\n return _class;\n }(React__default.Component)\n );\n}\n\nexports.AndroidView = AndroidView;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isEdge = isEdge;\nexports.isElectron = isElectron;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.withOrientationChange = withOrientationChange;\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nimport { CALL_HISTORY_METHOD } from './actions';\n/**\n * This middleware captures CALL_HISTORY_METHOD actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\n\nvar routerMiddleware = function routerMiddleware(history) {\n return function (store) {\n return function (next) {\n return function (action) {\n // eslint-disable-line no-unused-vars\n if (action.type !== CALL_HISTORY_METHOD) {\n return next(action);\n }\n\n var _action$payload = action.payload,\n method = _action$payload.method,\n args = _action$payload.args;\n history[method].apply(history, _toConsumableArray(args));\n };\n };\n };\n};\n\nexport default routerMiddleware;","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Performs simple test to determine if DOM can be accessed\n * @module\n * @returns {boolean} whether the dom can be used\n */\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;\nexport { canUseDOM };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Performs simple test to determine if DOM can be accessed\n * @module\n * @returns {boolean} whether the dom can be used\n */\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;\nexport { canUseDOM };","var json = typeof JSON !== 'undefined' ? JSON : require('jsonify');\n\nmodule.exports = function (obj, opts) {\n if (!opts) opts = {};\n if (typeof opts === 'function') opts = { cmp: opts };\n var space = opts.space || '';\n if (typeof space === 'number') space = Array(space+1).join(' ');\n var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n var replacer = opts.replacer || function(key, value) { return value; };\n\n var cmp = opts.cmp && (function (f) {\n return function (node) {\n return function (a, b) {\n var aobj = { key: a, value: node[a] };\n var bobj = { key: b, value: node[b] };\n return f(aobj, bobj);\n };\n };\n })(opts.cmp);\n\n var seen = [];\n return (function stringify (parent, key, node, level) {\n var indent = space ? ('\\n' + new Array(level + 1).join(space)) : '';\n var colonSeparator = space ? ': ' : ':';\n\n if (node && node.toJSON && typeof node.toJSON === 'function') {\n node = node.toJSON();\n }\n\n node = replacer.call(parent, key, node);\n\n if (node === undefined) {\n return;\n }\n if (typeof node !== 'object' || node === null) {\n return json.stringify(node);\n }\n if (isArray(node)) {\n var out = [];\n for (var i = 0; i < node.length; i++) {\n var item = stringify(node, i, node[i], level+1) || json.stringify(null);\n out.push(indent + space + item);\n }\n return '[' + out.join(',') + indent + ']';\n }\n else {\n if (seen.indexOf(node) !== -1) {\n if (cycles) return json.stringify('__cycle__');\n throw new TypeError('Converting circular structure to JSON');\n }\n else seen.push(node);\n\n var keys = objectKeys(node).sort(cmp && cmp(node));\n var out = [];\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = stringify(node, key, node[key], level+1);\n\n if(!value) continue;\n\n var keyValue = json.stringify(key)\n + colonSeparator\n + value;\n ;\n out.push(indent + space + keyValue);\n }\n seen.splice(seen.indexOf(node), 1);\n return '{' + out.join(',') + indent + '}';\n }\n })({ '': obj }, '', obj, 0);\n};\n\nvar isArray = Array.isArray || function (x) {\n return {}.toString.call(x) === '[object Array]';\n};\n\nvar objectKeys = Object.keys || function (obj) {\n var has = Object.prototype.hasOwnProperty || function () { return true };\n var keys = [];\n for (var key in obj) {\n if (has.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/react\n * ---\n * Safe chained functions\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * Forked from: https://github.com/react-bootstrap/react-overlays/blob/master/src/utils/createChainedFunction.js\n * @module createChainedFunction\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f, i) {\n if (f == null) {\n return false;\n } // Only allow the first of identical functions\n\n\n var indexes = getAllIndexes(funcs, f);\n return indexes.length === 1 || i === indexes[0];\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) {\n return f;\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n f.apply(this, args);\n };\n }, null);\n}\n/**\n * Find all indexes for a value in an Array\n *\n * @param {array} arr The Array to search for val\n * @param {*} val The value to find indexes for\n * @return {array} All the indexes of the Array matching val\n */\n\n\nfunction getAllIndexes(arr, val) {\n var indexes = [];\n arr.forEach(function (e, i) {\n if (e === val) {\n indexes.push(i);\n }\n });\n return indexes;\n}\n\nexport default createChainedFunction;\nexport { createChainedFunction };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport { createChainedFunction } from '@instructure/ui-utils';\n/**\n* ---\n* category: utilities/react\n* ---\n* Clone a React element without overwriting refs.\n* @module safeCloneElement\n* @param {ReactElement} element\n* @param {object} props\n* @return {ReactElement}\n*/\n\nfunction safeCloneElement(element, props) {\n var cloneRef = props.ref;\n var originalRef = element.ref;\n var originalRefIsAFunction = typeof originalRef === 'function';\n\n var mergedProps = _objectSpread({}, props);\n\n if (element.props.style && props.style) {\n // merge with existing styles\n mergedProps.style = _objectSpread({}, element.props.style, {}, props.style);\n } // prevent overriding existing keys\n\n\n mergedProps.key = element.key || props.key; // Add chained function to preserve existing event handlers\n\n Object.keys(props).forEach(function (prop) {\n // If prop looks like an event handler \"on*\" and either\n // props[props] or element.props[prop] is a function create a chained function.\n // If only one is a function it will just use that function with no extra overhead.\n // This is necessary in cases where props[prop] is `null` or `undefined` which would\n // otherwise unwantedly override element.props[prop].\n if (prop.indexOf('on') === 0 && (typeof props[prop] === 'function' || typeof element.props[prop] === 'function')) {\n mergedProps[prop] = createChainedFunction(element.props[prop], props[prop]);\n }\n });\n\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n if (originalRef == null || cloneRef == null) {\n return React.cloneElement.apply(React, [element, mergedProps].concat(children));\n }\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(originalRefIsAFunction, \"Cloning an element with a ref that will be overwritten because the ref is not a function. Use a composable callback-style ref instead. Ignoring ref: \".concat(originalRef));\n\n return React.cloneElement.apply(React, [element, _objectSpread({}, mergedProps, {\n ref: function ref(component) {\n cloneRef(component);\n originalRef(component);\n }\n })].concat(children));\n}\n\nexport default safeCloneElement;\nexport { safeCloneElement };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Children } from 'react';\nimport { safeCloneElement } from './safeCloneElement';\n/**\n * ---\n * category: utilities/react\n * ---\n *\n * Ensure a single child. If it is a child of length 1, return a\n * cloned instance of the child. If it is a child of length > 1,\n * wrap in a span and return the child. Return null if child has\n * no length.\n *\n * @param {ReactElement} child\n * @param {Object} props - props for child\n * @returns {ReactElement} cloned instance for a single child, or children wrapped in a span\n */\n\nfunction ensureSingleChild(child) {\n var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var childCount = Children.count(child);\n\n if (childCount === 0) {\n return null;\n } else if (typeof child === 'string' && child.length > 0 || childCount > 1) {\n return React.createElement(\"span\", props, child);\n } else {\n return safeCloneElement(Array.isArray(child) ? child[0] : child, props);\n }\n}\n\nexport default ensureSingleChild;\nexport { ensureSingleChild };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * @module ThemeContext\n */\nimport PropTypes from 'prop-types';\nvar CONTEXT_KEY = '@@themeable';\nvar ThemeContext = {\n CONTEXT_KEY: CONTEXT_KEY,\n\n /**\n * React context types for [themeable](#themeable) components and\n * the [ApplyTheme](#ApplyTheme) component.\n */\n types: _defineProperty({}, CONTEXT_KEY, PropTypes.object),\n\n /**\n * create theme context\n * @param {Object} theme an object containing [themeable](#themeable) component themes\n * @param {Boolean} immutable prevent theme overrides?\n */\n makeThemeContext: function makeThemeContext(theme, immutable) {\n return _defineProperty({}, CONTEXT_KEY, {\n theme: theme,\n immutable: immutable\n });\n },\n\n /**\n * get a theme context\n * @param {ReactContext} context React context object\n */\n getThemeContext: function getThemeContext(context) {\n if (context) {\n return context[CONTEXT_KEY];\n }\n }\n};\nexport default ThemeContext;\nexport { ThemeContext };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Wraps (decorates) a React component to add additional functionality\n *\n * @module decorator\n * @param {Function} decorator a function that returns a decorated component\n * @returns {Class} a decorated component class\n */\nfunction decorator(decorate) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return function (ComposedComponent) {\n if (typeof decorate === 'function') {\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var DecoratedComponent = decorate.apply(void 0, [ComposedComponent].concat(args));\n DecoratedComponent.displayName = displayName;\n return DecoratedComponent;\n } else {\n return ComposedComponent;\n }\n };\n };\n}\n\nexport default decorator;\nexport { decorator };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/shallowEqual.js\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * ---\n * category: utilities\n * ---\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n *\n * @module shallowEqual\n *\n * @param {Object} objA\n * @param {Object} objB\n * @returns {Boolean} Returns true when the values of all keys are strictly equal\n*/\n\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n/*\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n\n\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y; // eslint-disable-line no-self-compare\n }\n}\n\nexport default shallowEqual;\nexport { shallowEqual };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport deepEqual from 'fast-deep-equal';\n/**\n * ---\n * category: utilities\n * ---\n * A wrapper for [fast-deep-equal](https://www.npmjs.com/package/fast-deep-equal)\n */\n\nexport default deepEqual;\nexport { deepEqual };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport ReactDOM from 'react-dom';\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Wrapper function for React.findDOMNode\n *\n * @param {ReactComponent|DomNode} el - component, DOM node, or function returning a DOM node\n * @returns {DomNode} The root node of this element\n */\n\nfunction findDOMNode(el) {\n var node = typeof el === 'function' ? el() : el;\n\n if (node === document) {\n return document.documentElement;\n } else if (node instanceof Element || node === window || node && typeof node.nodeType !== 'undefined') {\n return node;\n } else if (node) {\n return ReactDOM.findDOMNode(node); // eslint-disable-line react/no-find-dom-node\n }\n}\n\nexport default findDOMNode;\nexport { findDOMNode };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { transformCss, isKeyframesSelector } from './transformCss';\n\nfunction scopeStylesToNode(domNode, cssText, scope) {\n var styleNode = domNode.querySelector(\"#\".concat(scope));\n var attr = scope.toLowerCase();\n\n if (!cssText) {\n if (styleNode) {\n if (!styleNode.scoped) {\n removeScopeFromDomNode(domNode, attr);\n }\n\n domNode.removeChild(styleNode);\n }\n } else {\n var shouldInsertNode = !styleNode;\n var scopedCSS = cssText;\n\n if (shouldInsertNode) {\n styleNode = document.createElement('style');\n styleNode.setAttribute('scoped', true);\n styleNode.setAttribute('type', 'text/css');\n styleNode.id = scope;\n }\n\n if (!styleNode.scoped) {\n // if scoped styles are not supported\n addScopeToDomNode(domNode, attr);\n scopedCSS = scopeCssText(scopedCSS, \"[\".concat(attr, \"]\"));\n }\n\n if (shouldInsertNode) {\n domNode.insertBefore(styleNode, domNode.firstChild);\n }\n\n if ('textContent' in styleNode) {\n styleNode.textContent = scopedCSS;\n } else {\n styleNode.styleSheet.cssText = scopedCSS;\n }\n }\n}\n\nfunction scopeCssText(cssText, scope) {\n return transformCss(cssText, function (rule) {\n var transformed = _objectSpread({}, rule);\n\n if (!rule.isScoped) {\n transformed.selector = scopeRule(rule, scope);\n transformed.isScoped = true;\n }\n\n return transformed;\n });\n}\n\nfunction addScopeToDomNode(node, scope) {\n // for SVG nodes children is undefined in IE/Edge\n var children = node.children || node.childNodes;\n\n if (node.setAttribute) {\n node.setAttribute(scope, '');\n }\n\n for (var i = 0; i < children.length; i++) {\n addScopeToDomNode(children[i], scope);\n }\n}\n\nfunction removeScopeFromDomNode(node, scope) {\n var children = node.children || node.childNodes;\n\n if (node.removeAttribute) {\n node.removeAttribute(scope);\n }\n\n for (var i = 0; i < children.length; i++) {\n removeScopeFromDomNode(children[i], scope);\n }\n}\n\nfunction isRootSelector(selector) {\n // eslint-disable-next-line no-useless-escape\n return selector.match(/^(_|html|body|\\:root)/i);\n}\n\nfunction isClassSelector(selector) {\n return selector.match(/(^)((\\S+)?(\\.)(\\S+))/);\n}\n\nfunction scopeSimpleSelector(selector, scope) {\n var parts = selector.split(':');\n parts[0] += scope;\n return parts.join(':');\n}\n\nfunction scopeCompoundSelector(selector, combinator, scope) {\n if (isRootSelector(selector)) {\n return selector;\n }\n\n var scopedSelector = scope ? scopeSimpleSelector(selector, scope) : selector;\n return combinator + scopedSelector;\n}\n\nfunction scopeComplexSelector(selector, scope) {\n var scopedSelector = selector.trim();\n scopedSelector = scopedSelector.replace( // eslint-disable-next-line no-useless-escape\n /(^|[\\s>+~]+)((?:\\[.+?\\]|[^\\s>+~=\\[])+)/g, function (match, combinator, selector) {\n var offset = arguments[arguments.length - 2];\n\n if (isClassSelector(selector) || offset > 0) {\n return scopeCompoundSelector(selector, combinator, scope);\n } else {\n return selector;\n }\n });\n return scopedSelector;\n}\n\nfunction scopeRule(rule, scope) {\n var parts = rule.selector.split(',');\n\n if (!isKeyframesSelector(rule)) {\n parts = parts.map(function (part) {\n return scopeComplexSelector(part, scope);\n });\n }\n\n return parts.join(',');\n}\n\nexport default scopeStylesToNode;\nexport { scopeStylesToNode, scopeCssText };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n* ---\n* category: utilities/themes\n* ---\n* Return only the theme variables that are different from the default\n* @param {Object} defaultTheme\n* @param {Object} theme\n* @returns {Object} variables that are different from the defaults\n*/\nfunction pickOverrides(defaultTheme, theme) {\n var overrides = {}; // shortcut if possible\n\n if (defaultTheme === theme || !theme) return overrides; // filter out any properties that have values that are the same as in defaults\n\n Object.keys(theme).forEach(function (key) {\n if (defaultTheme[key] !== theme[key]) {\n overrides[key] = theme[key];\n }\n });\n return overrides;\n}\n\nexport default pickOverrides;\nexport { pickOverrides };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { isEmpty } from '@instructure/ui-utils';\nimport { scopeStylesToNode } from './scopeStylesToNode';\nimport { formatVariableNames } from './formatVariableNames';\nimport { pickOverrides } from './pickOverrides';\nimport { customPropertiesSupported } from './customPropertiesSupported';\nimport { getCssTextWithPolyfill } from './getCssText';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Apply theme variables to a DOM node (as CSS variables, with polyfill)\n * @module applyVariablesToNode\n * @param {Element} domNode HTML element to apply variables to using the style attribute\n * @param {Object} variables JS variables\n * @param {Object} defaults Default JS variables\n * @param {String} prefix A variable prefix/namespace\n * @param {Function} template (for IE) A template function that returns the CSS as a string with variables injected\n * @param {String} scope (for IE) A scope to apply to the styles applied to domNode\n */\n\nfunction applyVariablesToNode() {\n if (customPropertiesSupported()) {\n applyVariablesToNodeStyle.apply(this, arguments);\n } else {\n applyVariablesPolyfillToNode.apply(this, arguments);\n }\n}\n\nfunction applyVariablesPolyfillToNode(domNode, variables, defaults, prefix, template, scope) {\n if (!domNode || isEmpty(variables)) {\n return;\n }\n\n var overrides = pickOverrides(defaults, variables);\n var cssText = '';\n\n if (overrides && Object.keys(overrides).length > 0) {\n cssText = getCssTextWithPolyfill(template, _objectSpread({}, defaults, {}, variables));\n }\n\n scopeStylesToNode(domNode, cssText, scope);\n}\n\nfunction applyVariablesToNodeStyle(domNode, variables, defaults, prefix) {\n if (!domNode || isEmpty(variables)) {\n return;\n }\n\n clearCustomProperties(domNode, prefix);\n var overrides = pickOverrides(defaults, variables);\n\n if (overrides && !isEmpty(overrides)) {\n setCustomProperties(domNode, formatVariableNames(overrides, prefix));\n }\n}\n\nfunction clearCustomProperties(domNode, prefix) {\n var styles = domNode.style;\n\n for (var i = styles.length - 1; i >= 0; i--) {\n var prop = styles[i];\n\n if (prop.indexOf(\"--\".concat(prefix, \"-\")) >= 0) {\n domNode.style.removeProperty(prop);\n }\n }\n}\n\nfunction setCustomProperties(domNode, properties) {\n Object.keys(properties).forEach(function (propertyName) {\n var value = properties[propertyName];\n\n if (value) {\n domNode.style.setProperty(propertyName, value);\n }\n });\n}\n\nexport default applyVariablesToNode;\nexport { applyVariablesToNode, applyVariablesPolyfillToNode, applyVariablesToNodeStyle };","import { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { canUseDOM } from '@instructure/ui-dom-utils';\nvar hasRan = false;\n/**\n* ---\n* category: utilities/themes\n* ---\n* Sets the document text direction as it's required for themeable component\n* bidirectional styles.\n*/\n\nfunction setTextDirection() {\n if (hasRan) return;\n hasRan = true;\n\n if (canUseDOM) {\n var dir = document.documentElement.getAttribute('dir');\n\n if (!dir) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(dir, \"[themeable] component styles require setting a 'dir' attribute on the HTML element.\\n To prevent breaking changes, we'll set it to a default value: 'ltr'.\");\n\n document.documentElement.setAttribute('dir', 'ltr');\n }\n }\n}\n\nexport default setTextDirection;\nexport { setTextDirection };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _get from \"@babel/runtime/helpers/esm/get\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { decorator } from '@instructure/ui-decorator';\nimport { isEmpty, shallowEqual, deepEqual } from '@instructure/ui-utils';\nimport { uid } from '@instructure/uid';\nimport { findDOMNode } from '@instructure/ui-dom-utils';\nimport { ThemeContext } from './ThemeContext';\nimport { applyVariablesToNode } from './applyVariablesToNode';\nimport { setTextDirection } from './setTextDirection';\nimport { generateComponentTheme, generateTheme, registerComponentTheme, mountComponentStyles } from './ThemeRegistry';\n/**\n* ---\n* category: utilities/themes\n* ---\n* A decorator or higher order component that makes a component `themeable`.\n*\n* As a HOC:\n*\n* ```js\n* import themeable from '@instructure/ui-themeable'\n* import styles from 'styles.css'\n* import theme from 'theme.js'\n*\n* class Example extends React.Component {\n* render () {\n* return
Hello
\n* }\n* }\n*\n* export default themeable(theme, styles)(Example)\n* ```\n*\n* Note: in the above example, the CSS file must be transformed into a JS object\n* via [babel](#babel-plugin-themeable-styles) or [webpack](#ui-webpack-config) loader.\n*\n* Themeable components inject their themed styles into the document when they are mounted.\n*\n* After the initial mount, a themeable component's theme can be configured explicitly\n* via its `theme` prop or passed via React context using the [ApplyTheme](#ApplyTheme) component.\n*\n* Themeable components register themselves with the [global theme registry](#registry)\n* when they are imported into the application, so you will need to be sure to import them\n* before you mount your application so that the default themed styles can be generated and injected.\n*\n* @param {function} theme - A function that generates the component theme variables.\n* @param {object} styles - The component styles object.\n* @param {function} adapter - A function for mapping deprecated theme vars to updated values.\n* @return {function} composes the themeable component.\n*/\n\nvar emptyObj = {};\n/*\n * Note: there are consumers (like canvas-lms and other edu org repos) that are\n * consuming this file directly from \"/src\" (as opposed to \"/es\" or \"/lib\" like normal)\n * because they need this file to not have the babel \"class\" transform ran against it\n * (aka they need it to use real es6 `class`es, since you can't extend real es6\n * class from es5 transpiled code)\n *\n * Which means that for the time being, we can't use any other es6/7/8 features in\n * here that aren't supported by \"last 2 edge versions\" since we can't rely on babel\n * to transpile them for those apps.\n *\n * So, that means don't use \"static\" class properties (like `static PropTypes = {...}`),\n * or object spread (like \"{...foo, ..bar}\")\" in this file until instUI 7 is released.\n * Once we release instUI 7, the plan is to stop transpiling the \"/es\" dir for ie11\n * so once we do that, this caveat no longer applies.\n */\n\nvar themeable = decorator(function (ComposedComponent, theme) {\n var styles = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var adapter = arguments.length > 3 ? arguments[3] : void 0;\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var componentId = \"\".concat(styles && styles.componentId || uid());\n\n if (process.env.NODE_ENV !== 'production') {\n componentId = \"\".concat(displayName, \"__\").concat(componentId);\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(parseInt(React.version) >= 15, \"[themeable] React 15 or higher is required. You are running React version \".concat(React.version, \".\"));\n }\n\n var contextKey = Symbol(componentId);\n\n var template = function template() {};\n\n if (styles && styles.template) {\n template = typeof styles.template === 'function' ? styles.template : function () {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, '[themeable] Invalid styles for: %O. Use @instructure/babel-plugin-themeable-styles to transform CSS imports.', displayName);\n\n return '';\n };\n }\n\n registerComponentTheme(contextKey, theme);\n\n var getContext = function getContext(context) {\n var themeContext = ThemeContext.getThemeContext(context);\n return themeContext || emptyObj;\n };\n\n var getThemeFromContext = function getThemeFromContext(context) {\n var _getContext = getContext(context),\n theme = _getContext.theme;\n\n if (theme && theme[contextKey]) {\n return Object.assign({}, theme[contextKey]);\n } else {\n return emptyObj;\n }\n };\n\n var generateThemeForContextKey = function generateThemeForContextKey(themeKey, overrides) {\n return generateComponentTheme(contextKey, themeKey, overrides);\n };\n\n var ThemeableComponent =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(ThemeableComponent, _ComposedComponent);\n\n function ThemeableComponent() {\n var _this;\n\n _classCallCheck(this, ThemeableComponent);\n\n var res = _this = _possibleConstructorReturn(this, _getPrototypeOf(ThemeableComponent).apply(this, arguments));\n\n _this._themeCache = null;\n _this._instanceId = uid(displayName);\n var defaultTheme = generateThemeForContextKey();\n mountComponentStyles(template, defaultTheme, componentId);\n return _possibleConstructorReturn(_this, res);\n }\n\n _createClass(ThemeableComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.applyTheme();\n setTextDirection();\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidMount\", this)) {\n _get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidMount\", this).call(this);\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState, nextContext) {\n var themeContextWillChange = !deepEqual(ThemeContext.getThemeContext(this.context), ThemeContext.getThemeContext(nextContext));\n if (themeContextWillChange) return true;\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"shouldComponentUpdate\", this)) {\n return _get(_getPrototypeOf(ThemeableComponent.prototype), \"shouldComponentUpdate\", this).call(this, nextProps, nextState, nextContext);\n }\n\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState) || !shallowEqual(this.context, nextContext);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, prevContext) {\n if (!deepEqual(prevProps.theme, this.props.theme) || !deepEqual(getThemeFromContext(prevContext), getThemeFromContext(this.context))) {\n this._themeCache = null;\n }\n\n this.applyTheme();\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidUpdate\", this)) {\n _get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidUpdate\", this).call(this, prevProps, prevState, prevContext);\n }\n }\n }, {\n key: \"applyTheme\",\n value: function applyTheme(DOMNode) {\n if (isEmpty(this.theme)) {\n return;\n }\n\n var defaultTheme = generateThemeForContextKey();\n applyVariablesToNode(DOMNode || findDOMNode(this), // eslint-disable-line react/no-find-dom-node\n this.theme, defaultTheme, componentId, template, // for IE 11\n this.scope // for IE 11\n );\n }\n }, {\n key: \"scope\",\n get: function get() {\n return \"\".concat(componentId, \"__\").concat(this._instanceId);\n }\n }, {\n key: \"theme\",\n get: function get() {\n if (this._themeCache !== null) {\n return this._themeCache;\n }\n\n var _getContext2 = getContext(this.context),\n immutable = _getContext2.immutable;\n\n var theme = getThemeFromContext(this.context);\n\n if (this.props.theme && !isEmpty(this.props.theme)) {\n if (!theme) {\n theme = this.props.theme;\n } else if (immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, '[themeable] Parent theme is immutable. Cannot apply theme: %O', this.props.theme);\n } else {\n theme = isEmpty(theme) ? this.props.theme : Object.assign({}, theme, this.props.theme);\n }\n } // If adapter is provided, pass any overrides\n\n\n if (typeof adapter === 'function') {\n theme = adapter({\n theme: theme,\n displayName: displayName\n });\n } // pass in the component theme as overrides\n\n\n this._themeCache = generateThemeForContextKey(null, theme);\n return this._themeCache;\n }\n }]);\n\n return ThemeableComponent;\n }(ComposedComponent);\n\n ThemeableComponent.componentId = componentId;\n ThemeableComponent.theme = contextKey;\n ThemeableComponent.contextTypes = Object.assign({}, ComposedComponent.contextTypes, ThemeContext.types);\n ThemeableComponent.propTypes = Object.assign({}, ComposedComponent.propTypes, {\n theme: PropTypes.object\n } // eslint-disable-line react/forbid-prop-types\n );\n ThemeableComponent.generateTheme = generateThemeForContextKey;\n return ThemeableComponent;\n});\n/**\n* Utility to generate a theme for all themeable components that have been registered.\n* This theme can be applied using the [ApplyTheme](#ApplyTheme) component.\n*\n* @param {String} themeKey The theme to use (for global theme variables across components)\n* @param {Object} overrides theme variable overrides (usually for dynamic/user defined values)\n* @return {Object} A theme config to use with ``\n*/\n\nthemeable.generateTheme = generateTheme;\nexport default themeable;\nexport { themeable };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeDeep } from '@instructure/ui-utils';\nimport { ensureSingleChild } from '@instructure/ui-react-utils';\nimport { ThemeContext } from '../ThemeContext';\nimport { themeable } from '../themeable';\n/**\n---\ncategory: components/utilities\n---\n**/\n\nvar ApplyTheme =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(ApplyTheme, _Component);\n\n function ApplyTheme() {\n _classCallCheck(this, ApplyTheme);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ApplyTheme).apply(this, arguments));\n }\n\n _createClass(ApplyTheme, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var theme = this.props.theme || {};\n var parentThemeContext = ThemeContext.getThemeContext(this.context) || {};\n\n if (parentThemeContext.immutable && parentThemeContext.theme) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(!this.props.theme, '[ApplyTheme] Parent theme is immutable. Cannot apply theme: %O', this.props.theme);\n\n theme = parentThemeContext.theme;\n } else if (parentThemeContext.theme) {\n theme = mergeDeep(parentThemeContext.theme, theme);\n }\n\n return ThemeContext.makeThemeContext(theme, parentThemeContext.immutable || this.props.immutable);\n }\n }, {\n key: \"render\",\n value: function render() {\n return ensureSingleChild(this.props.children);\n }\n }]);\n\n ApplyTheme.displayName = \"ApplyTheme\";\n return ApplyTheme;\n}(Component);\n\nApplyTheme.propTypes = {\n /**\n * set theme variables to override the defaults\n */\n theme: PropTypes.object,\n\n /**\n * accepts only one child (children must be wrapped in a single component/element)\n */\n children: PropTypes.node,\n\n /**\n * Prevent overriding this theme via a child ApplyTheme component or theme props\n */\n immutable: PropTypes.bool\n};\nApplyTheme.defaultProps = {\n theme: void 0,\n children: null,\n immutable: false\n};\nApplyTheme.childContextTypes = ThemeContext.types;\nApplyTheme.contextTypes = ThemeContext.types;\nApplyTheme.generateTheme = themeable.generateTheme;\nexport default ApplyTheme;\nexport { ApplyTheme };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar ThemeablePropValues = {\n SHADOW_TYPES: {\n resting: 'resting',\n above: 'above',\n topmost: 'topmost',\n none: 'none'\n },\n STACKING_TYPES: {\n deepest: 'deepest',\n below: 'below',\n resting: 'resting',\n above: 'above',\n topmost: 'topmost'\n },\n BORDER_WIDTHS: {\n '0': '0',\n none: 'none',\n small: 'small',\n medium: 'medium',\n large: 'large'\n },\n BORDER_RADII: {\n '0': '0',\n none: 'none',\n small: 'small',\n medium: 'medium',\n large: 'large',\n circle: 'circle',\n pill: 'pill'\n },\n BACKGROUNDS: {\n default: 'default',\n inverse: 'inverse',\n transparent: 'transparent'\n },\n SIZES: {\n xSmall: 'x-small',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xLarge: 'x-large'\n },\n SPACING: {\n '0': '0',\n none: 'none',\n auto: 'auto',\n xxxSmall: 'xxx-small',\n xxSmall: 'xx-small',\n xSmall: 'x-small',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xLarge: 'x-large',\n xxLarge: 'xx-large'\n }\n};\nexport default ThemeablePropValues;\nexport { ThemeablePropValues };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { mirrorShorthandCorners } from './mirrorShorthand';\nexport default mirrorShorthandCorners;\nexport { mirrorShorthandCorners };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport PropTypes from 'prop-types';\nimport { ThemeablePropValues } from './ThemeablePropValues';\nvar SHADOW_TYPES = ThemeablePropValues.SHADOW_TYPES,\n STACKING_TYPES = ThemeablePropValues.STACKING_TYPES,\n BORDER_WIDTHS = ThemeablePropValues.BORDER_WIDTHS,\n BORDER_RADII = ThemeablePropValues.BORDER_RADII,\n BACKGROUNDS = ThemeablePropValues.BACKGROUNDS,\n SIZES = ThemeablePropValues.SIZES,\n SPACING = ThemeablePropValues.SPACING;\n/**\n * ---\n * category: utilities/themes\n * ---\n * Custom prop types for themeable React components.\n * @module ThemeablePropTypes\n */\n\nvar ThemeablePropTypes = {\n shadow: PropTypes.oneOf(Object.values(SHADOW_TYPES)),\n stacking: PropTypes.oneOf(Object.values(STACKING_TYPES)),\n borderWidth: shorthandPropType(Object.values(BORDER_WIDTHS)),\n borderRadius: shorthandPropType(Object.values(BORDER_RADII)),\n background: PropTypes.oneOf(Object.values(BACKGROUNDS)),\n size: PropTypes.oneOf(Object.values(SIZES)),\n spacing: shorthandPropType(Object.values(SPACING))\n};\n\nfunction shorthandPropType(validValues) {\n return function (props, propName, componentName, location) {\n var propValue = props[propName];\n\n if (typeof propValue === 'undefined') {\n return;\n }\n\n var propValueType = typeof propValue;\n\n if (propValueType !== 'string') {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` of type `\").concat(propValueType, \"` supplied to `\").concat(componentName, \"`, expected \") + \"a string.\");\n }\n\n var propValues = propValue.split(' ');\n var valuesLength = propValues.length;\n\n if (valuesLength > 0 && valuesLength < 5) {\n for (var i = 0; i < valuesLength; i++) {\n var valueIndex = validValues.indexOf(propValues[i]);\n\n if (valueIndex === -1) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` `\").concat(propValues[i], \"` supplied to `\").concat(componentName, \"`, expected \") + \"a one of `\".concat(validValues.join(', '), \"`.\"));\n }\n }\n } else {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` `\").concat(propValue, \"` supplied to `\").concat(componentName, \"`, expected \") + \"between one and four of the following valid values: `\".concat(validValues.join(', '), \"`.\"));\n }\n };\n}\n\nexport default ThemeablePropTypes;\nexport { ThemeablePropTypes, shorthandPropType };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// use for consistency between buttons, text inputs, etc.\nvar borders = Object.freeze({\n radiusSmall: '0.125rem',\n // 2px\n radiusMedium: '0.25rem',\n // 4px\n radiusLarge: '0.5rem',\n // 8px\n widthSmall: '0.0625rem',\n // 1px\n widthMedium: '0.125rem',\n // 2px\n widthLarge: '0.25rem',\n // 4px\n style: 'solid'\n});\nexport default borders;\nexport { borders };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { cleanCss } from './parseCss';\nexport default cleanCss;\nexport { cleanCss };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { ruleTypes } from './parseCss';\nexport default ruleTypes;\nexport { ruleTypes };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar values = {\n brand: '#008EE2',\n link: '#008EE2',\n electric: '#008EE2',\n shamrock: '#00AC18',\n barney: '#BF32A4',\n crimson: '#EE0612',\n fire: '#FC5E13',\n licorice: '#2D3B45',\n oxford: '#394B58',\n ash: '#8B969E',\n slate: '#8B969E',\n tiara: '#C7CDD1',\n porcelain: '#F5F5F5',\n white: '#FFFFFF'\n};\n\nfunction functionalColors(colors) {\n return _objectSpread({}, colors, {\n textDarkest: colors.licorice,\n textDark: colors.ash,\n textLight: colors.porcelain,\n textLightest: colors.white,\n textBrand: colors.brand,\n textLink: colors.link,\n textAlert: colors.barney,\n textInfo: colors.brand,\n textSuccess: colors.shamrock,\n textDanger: colors.crimson,\n textWarning: colors.fire,\n backgroundDarkest: colors.licorice,\n backgroundDark: colors.ash,\n backgroundMedium: colors.tiara,\n backgroundLight: colors.porcelain,\n backgroundLightest: colors.white,\n backgroundBrand: colors.brand,\n backgroundBrandSecondary: colors.oxford,\n backgroundAlert: colors.barney,\n backgroundInfo: colors.brand,\n backgroundSuccess: colors.shamrock,\n backgroundDanger: colors.crimson,\n backgroundWarning: colors.fire,\n borderLightest: colors.white,\n borderLight: colors.porcelain,\n borderMedium: colors.tiara,\n borderDark: colors.ash,\n borderDarkest: colors.licorice,\n borderBrand: colors.brand,\n borderAlert: colors.barney,\n borderInfo: colors.brand,\n borderSuccess: colors.shamrock,\n borderDanger: colors.crimson,\n borderWarning: colors.fire,\n borderDebug: colors.crimson\n });\n}\n\nvar colors = Object.freeze(functionalColors(values));\nexport default colors;\nexport { colors, functionalColors };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar transitions = Object.freeze({\n duration: '300ms',\n timing: 'ease-in-out'\n});\nexport default transitions;\nexport { transitions };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar typography = Object.freeze({\n fontFamily: 'LatoWeb, Lato, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontFamilyMonospace: 'Menlo, Consolas, Monaco, \"Andale Mono\", monospace',\n fontSizeXSmall: '0.75rem',\n // 12px\n fontSizeSmall: '0.875rem',\n // 14px\n fontSizeMedium: '1rem',\n // 16px\n fontSizeLarge: '1.375rem',\n // 22px\n fontSizeXLarge: '1.75rem',\n // 28px\n fontSizeXXLarge: '2.375rem',\n // 38px\n fontWeightLight: 300,\n fontWeightNormal: 400,\n fontWeightBold: 700,\n lineHeight: 1.5,\n // 24px\n lineHeightFit: 1.125,\n lineHeightCondensed: 1.25,\n lineHeightDouble: 2,\n letterSpacingNormal: 0,\n letterSpacingCondensed: '-0.0625rem',\n letterSpacingExpanded: '0.0625rem'\n});\nexport default typography;\nexport { typography };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar spacing = Object.freeze({\n xxxSmall: '0.125rem',\n // 2px\n xxSmall: '0.375rem',\n // 6px\n xSmall: '0.5rem',\n // 8px\n small: '0.75rem',\n // 12px\n medium: '1.5rem',\n // 24px\n large: '2.25rem',\n // 36px\n xLarge: '3rem',\n // 48px\n xxLarge: '3.75rem' // 60px\n\n});\nexport default spacing;\nexport { spacing };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar forms = Object.freeze({\n inputHeightSmall: '1.75rem',\n inputHeightMedium: '2.375rem',\n inputHeightLarge: '3rem'\n});\nexport default forms;\nexport { forms };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar onePixel = 0.0625; // base = 16px\n\nvar values = {\n xxSmall: 8,\n // 128px\n xSmall: 16,\n // 256px\n small: 30,\n // 480px\n medium: 48,\n // 768px\n large: 62,\n // 992px\n xLarge: 75 // 1200px\n\n};\nvar breakpoints = Object.freeze({\n xxSmall: \"\".concat(values.xxSmall, \"em\"),\n xSmall: \"\".concat(values.xSmall, \"em\"),\n small: \"\".concat(values.small, \"em\"),\n medium: \"\".concat(values.medium, \"em\"),\n large: \"\".concat(values.large, \"em\"),\n xLarge: \"\".concat(values.xLarge, \"em\"),\n maxWidth: \"\".concat(values.large - onePixel, \"em\")\n});\nexport default breakpoints;\nexport { breakpoints };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { breakpoints } from './breakpoints';\nvar media = Object.freeze({\n mediumMin: \"min-width: \".concat(breakpoints.medium),\n largeMin: \"min-width: \".concat(breakpoints.large),\n xLargeMin: \"min-width: \".concat(breakpoints.xLarge)\n});\nexport default media;\nexport { media };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// use for consistent box shadows\nvar values = ['0 0.0625rem 0.125rem rgba(0, 0, 0, 0.2), 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1)', '0 0.1875rem 0.375rem rgba(0, 0, 0, 0.1), 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16)', '0 0.375rem 0.4375rem rgba(0, 0, 0, 0.1), 0 0.625rem 1.75rem rgba(0, 0, 0, 0.25)'];\nvar shadows = Object.freeze({\n depth1: values[0],\n depth2: values[1],\n depth3: values[2],\n resting: values[0],\n above: values[1],\n topmost: values[2]\n});\nexport default shadows;\nexport { shadows };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar stacking = Object.freeze({\n topmost: 9999,\n above: 1,\n below: -1,\n deepest: -9999\n});\nexport default stacking;\nexport { stacking };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { ThemeRegistry } from '@instructure/ui-themeable';\nimport { borders } from './borders';\nimport { colors, functionalColors } from './colors';\nimport { transitions } from './transitions';\nimport { typography } from './typography';\nimport { spacing } from './spacing';\nimport { forms } from './forms';\nimport { media } from './media';\nimport { breakpoints } from './breakpoints';\nimport { shadows } from './shadows';\nimport { stacking } from './stacking';\nvar key = 'canvas';\nvar variables = {\n borders: borders,\n colors: colors,\n transitions: transitions,\n typography: typography,\n spacing: spacing,\n forms: forms,\n media: media,\n breakpoints: breakpoints,\n shadows: shadows,\n stacking: stacking\n};\nvar brandVariables = {\n /* Defaults for Canvas account branding variables: */\n 'ic-brand-primary': colors.textBrand,\n 'ic-brand-font-color-dark': colors.textDarkest,\n 'ic-link-color': colors.textLink,\n 'ic-link-decoration': 'none',\n 'ic-brand-button--primary-bgd': colors.backgroundBrand,\n 'ic-brand-button--primary-text': colors.textLightest,\n 'ic-brand-button--secondary-bgd': colors.backgroundDarkest,\n 'ic-brand-button--secondary-text': colors.textLightest,\n 'ic-brand-global-nav-bgd': colors.backgroundBrandSecondary,\n 'ic-global-nav-link-hover': colors.backgroundDarkest,\n 'ic-brand-global-nav-ic-icon-svg-fill': colors.textLightest,\n 'ic-brand-global-nav-ic-icon-svg-fill--active': colors.textBrand,\n 'ic-brand-global-nav-menu-item__text-color': colors.textLightest,\n 'ic-brand-global-nav-menu-item__text-color--active': colors.textBrand\n};\nvar theme = ThemeRegistry.registerTheme({\n key: key,\n variables: _objectSpread({}, variables, {}, brandVariables)\n});\nexport default theme;\nexport { functionalColors, borders, colors, transitions, typography, spacing, forms, media, breakpoints, shadows, stacking, theme, key };","import setPrototypeOf from \"./setPrototypeOf\";\n\nfunction isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nimport setPrototypeOf from \"./setPrototypeOf\";\nimport isNativeFunction from \"./isNativeFunction\";\nimport construct from \"./construct\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { StyleSheet as GlamorStyleSheet } from 'glamor/lib/sheet';\nvar ENV = process.env.NODE_ENV || 'production';\nvar DEBUG = process.env.DEBUG || ENV === 'development';\nvar DISABLE_SPEEDY_STYLESHEET = Boolean(process.env.DISABLE_SPEEDY_STYLESHEET || DEBUG);\nvar STYLES = {};\nvar THEMEABLE_STYLESHEET;\n/**\n* ---\n* category: utilities/themes\n* ---\n* A utility for the [themeable](#themeable) component HOC that wraps a\n* [Glamor StyleSheet](https://github.com/threepointone/glamor/blob/master/src/sheet.js)\n* @module StyleSheet\n*/\n\nvar StyleSheet = {\n /**\n * Inject the `cssText` into the document\n * @param {String} id - a unique id for the set of styles\n * @param {String} rules - some CSS rules to inject into the document\n */\n mount: function mount(id, rules) {\n if (!STYLES[id]) {\n STYLES[id] = insert(rules);\n }\n },\n\n /**\n * Check if the stylesheet for the given `id` is already mounted\n * @param {String} id - a unique id for the set of styles\n */\n mounted: function mounted(id) {\n return id in STYLES;\n },\n flush: function flush() {\n if (THEMEABLE_STYLESHEET) {\n THEMEABLE_STYLESHEET.flush();\n }\n\n STYLES = {};\n THEMEABLE_STYLESHEET = null;\n }\n};\n\nfunction insert(rules) {\n var sheet = inject();\n var inserted = [];\n rules.forEach(function (rule) {\n if (rule) {\n inserted.push(sheet.insert(rule));\n }\n });\n}\n\nfunction inject() {\n if (!THEMEABLE_STYLESHEET) {\n THEMEABLE_STYLESHEET = createSheet();\n }\n\n return THEMEABLE_STYLESHEET;\n}\n\nfunction createSheet() {\n var sheet = new GlamorStyleSheet({\n speedy: !DISABLE_SPEEDY_STYLESHEET\n });\n sheet.inject();\n return sheet;\n}\n\nexport default StyleSheet;\nexport { StyleSheet };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { StyleSheet } from './StyleSheet';\nexport default StyleSheet;\nexport { StyleSheet };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/react\n * ---\n * Safe chained functions\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * Forked from: https://github.com/react-bootstrap/react-overlays/blob/master/src/utils/createChainedFunction.js\n * @module createChainedFunction\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f, i) {\n if (f == null) {\n return false;\n } // Only allow the first of identical functions\n\n\n var indexes = getAllIndexes(funcs, f);\n return indexes.length === 1 || i === indexes[0];\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) {\n return f;\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n f.apply(this, args);\n };\n }, null);\n}\n/**\n * Find all indexes for a value in an Array\n *\n * @param {array} arr The Array to search for val\n * @param {*} val The value to find indexes for\n * @return {array} All the indexes of the Array matching val\n */\n\n\nfunction getAllIndexes(arr, val) {\n var indexes = [];\n arr.forEach(function (e, i) {\n if (e === val) {\n indexes.push(i);\n }\n });\n return indexes;\n}\n\nexport default createChainedFunction;\nexport { createChainedFunction };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport { createChainedFunction } from '@instructure/ui-utils';\n/**\n* ---\n* category: utilities/react\n* ---\n* Clone a React element without overwriting refs.\n* @module safeCloneElement\n* @param {ReactElement} element\n* @param {object} props\n* @return {ReactElement}\n*/\n\nfunction safeCloneElement(element, props) {\n var cloneRef = props.ref;\n var originalRef = element.ref;\n var originalRefIsAFunction = typeof originalRef === 'function';\n\n var mergedProps = _objectSpread({}, props);\n\n if (element.props.style && props.style) {\n // merge with existing styles\n mergedProps.style = _objectSpread({}, element.props.style, {}, props.style);\n } // prevent overriding existing keys\n\n\n mergedProps.key = element.key || props.key; // Add chained function to preserve existing event handlers\n\n Object.keys(props).forEach(function (prop) {\n // If prop looks like an event handler \"on*\" and either\n // props[props] or element.props[prop] is a function create a chained function.\n // If only one is a function it will just use that function with no extra overhead.\n // This is necessary in cases where props[prop] is `null` or `undefined` which would\n // otherwise unwantedly override element.props[prop].\n if (prop.indexOf('on') === 0 && (typeof props[prop] === 'function' || typeof element.props[prop] === 'function')) {\n mergedProps[prop] = createChainedFunction(element.props[prop], props[prop]);\n }\n });\n\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n if (originalRef == null || cloneRef == null) {\n return React.cloneElement.apply(React, [element, mergedProps].concat(children));\n }\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(originalRefIsAFunction, \"Cloning an element with a ref that will be overwritten because the ref is not a function. Use a composable callback-style ref instead. Ignoring ref: \".concat(originalRef));\n\n return React.cloneElement.apply(React, [element, _objectSpread({}, mergedProps, {\n ref: function ref(component) {\n cloneRef(component);\n originalRef(component);\n }\n })].concat(children));\n}\n\nexport default safeCloneElement;\nexport { safeCloneElement };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { StyleSheet as GlamorStyleSheet } from 'glamor/lib/sheet';\nvar ENV = process.env.NODE_ENV || 'production';\nvar DEBUG = process.env.DEBUG || ENV === 'development';\nvar DISABLE_SPEEDY_STYLESHEET = Boolean(process.env.DISABLE_SPEEDY_STYLESHEET || DEBUG);\nvar STYLES = {};\nvar THEMEABLE_STYLESHEET;\n/**\n* ---\n* category: utilities/themes\n* ---\n* A utility for the [themeable](#themeable) component HOC that wraps a\n* [Glamor StyleSheet](https://github.com/threepointone/glamor/blob/master/src/sheet.js)\n* @module StyleSheet\n*/\n\nvar StyleSheet = {\n /**\n * Inject the `cssText` into the document\n * @param {String} id - a unique id for the set of styles\n * @param {String} rules - some CSS rules to inject into the document\n */\n mount: function mount(id, rules) {\n if (!STYLES[id]) {\n STYLES[id] = insert(rules);\n }\n },\n\n /**\n * Check if the stylesheet for the given `id` is already mounted\n * @param {String} id - a unique id for the set of styles\n */\n mounted: function mounted(id) {\n return id in STYLES;\n },\n flush: function flush() {\n if (THEMEABLE_STYLESHEET) {\n THEMEABLE_STYLESHEET.flush();\n }\n\n STYLES = {};\n THEMEABLE_STYLESHEET = null;\n }\n};\n\nfunction insert(rules) {\n var sheet = inject();\n var inserted = [];\n rules.forEach(function (rule) {\n if (rule) {\n inserted.push(sheet.insert(rule));\n }\n });\n}\n\nfunction inject() {\n if (!THEMEABLE_STYLESHEET) {\n THEMEABLE_STYLESHEET = createSheet();\n }\n\n return THEMEABLE_STYLESHEET;\n}\n\nfunction createSheet() {\n var sheet = new GlamorStyleSheet({\n speedy: !DISABLE_SPEEDY_STYLESHEET\n });\n sheet.inject();\n return sheet;\n}\n\nexport default StyleSheet;\nexport { StyleSheet };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { StyleSheet } from './StyleSheet';\nexport default StyleSheet;\nexport { StyleSheet };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { StyleSheet as GlamorStyleSheet } from 'glamor/lib/sheet';\nvar ENV = process.env.NODE_ENV || 'production';\nvar DEBUG = process.env.DEBUG || ENV === 'development';\nvar DISABLE_SPEEDY_STYLESHEET = Boolean(process.env.DISABLE_SPEEDY_STYLESHEET || DEBUG);\nvar STYLES = {};\nvar THEMEABLE_STYLESHEET;\n/**\n* ---\n* category: utilities/themes\n* ---\n* A utility for the [themeable](#themeable) component HOC that wraps a\n* [Glamor StyleSheet](https://github.com/threepointone/glamor/blob/master/src/sheet.js)\n* @module StyleSheet\n*/\n\nvar StyleSheet = {\n /**\n * Inject the `cssText` into the document\n * @param {String} id - a unique id for the set of styles\n * @param {String} rules - some CSS rules to inject into the document\n */\n mount: function mount(id, rules) {\n if (!STYLES[id]) {\n STYLES[id] = insert(rules);\n }\n },\n\n /**\n * Check if the stylesheet for the given `id` is already mounted\n * @param {String} id - a unique id for the set of styles\n */\n mounted: function mounted(id) {\n return id in STYLES;\n },\n flush: function flush() {\n if (THEMEABLE_STYLESHEET) {\n THEMEABLE_STYLESHEET.flush();\n }\n\n STYLES = {};\n THEMEABLE_STYLESHEET = null;\n }\n};\n\nfunction insert(rules) {\n var sheet = inject();\n var inserted = [];\n rules.forEach(function (rule) {\n if (rule) {\n inserted.push(sheet.insert(rule));\n }\n });\n}\n\nfunction inject() {\n if (!THEMEABLE_STYLESHEET) {\n THEMEABLE_STYLESHEET = createSheet();\n }\n\n return THEMEABLE_STYLESHEET;\n}\n\nfunction createSheet() {\n var sheet = new GlamorStyleSheet({\n speedy: !DISABLE_SPEEDY_STYLESHEET\n });\n sheet.inject();\n return sheet;\n}\n\nexport default StyleSheet;\nexport { StyleSheet };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { StyleSheet } from './StyleSheet';\nexport default StyleSheet;\nexport { StyleSheet };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { StyleSheet as GlamorStyleSheet } from 'glamor/lib/sheet';\nvar ENV = process.env.NODE_ENV || 'production';\nvar DEBUG = process.env.DEBUG || ENV === 'development';\nvar DISABLE_SPEEDY_STYLESHEET = Boolean(process.env.DISABLE_SPEEDY_STYLESHEET || DEBUG);\nvar STYLES = {};\nvar THEMEABLE_STYLESHEET;\n/**\n* ---\n* category: utilities/themes\n* ---\n* A utility for the [themeable](#themeable) component HOC that wraps a\n* [Glamor StyleSheet](https://github.com/threepointone/glamor/blob/master/src/sheet.js)\n* @module StyleSheet\n*/\n\nvar StyleSheet = {\n /**\n * Inject the `cssText` into the document\n * @param {String} id - a unique id for the set of styles\n * @param {String} rules - some CSS rules to inject into the document\n */\n mount: function mount(id, rules) {\n if (!STYLES[id]) {\n STYLES[id] = insert(rules);\n }\n },\n\n /**\n * Check if the stylesheet for the given `id` is already mounted\n * @param {String} id - a unique id for the set of styles\n */\n mounted: function mounted(id) {\n return id in STYLES;\n },\n flush: function flush() {\n if (THEMEABLE_STYLESHEET) {\n THEMEABLE_STYLESHEET.flush();\n }\n\n STYLES = {};\n THEMEABLE_STYLESHEET = null;\n }\n};\n\nfunction insert(rules) {\n var sheet = inject();\n var inserted = [];\n rules.forEach(function (rule) {\n if (rule) {\n inserted.push(sheet.insert(rule));\n }\n });\n}\n\nfunction inject() {\n if (!THEMEABLE_STYLESHEET) {\n THEMEABLE_STYLESHEET = createSheet();\n }\n\n return THEMEABLE_STYLESHEET;\n}\n\nfunction createSheet() {\n var sheet = new GlamorStyleSheet({\n speedy: !DISABLE_SPEEDY_STYLESHEET\n });\n sheet.inject();\n return sheet;\n}\n\nexport default StyleSheet;\nexport { StyleSheet };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { StyleSheet } from './StyleSheet';\nexport default StyleSheet;\nexport { StyleSheet };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Deep merge N objects into a single result object.\n * Merging creates a new object, so that none of the arguments are modified.\n *\n * @param {Object} arguments objects to merge\n * @returns {Object} a new object with items from all arguments\n */\nfunction mergeDeep() {\n var args = Array.prototype.slice.call(arguments);\n var target = {};\n args.forEach(function (arg) {\n target = mergeSourceIntoTarget(target, arg);\n });\n return target;\n}\n\nfunction mergeSourceIntoTarget(target, source) {\n if (isObject(source)) {\n var keys = [].concat(_toConsumableArray(Object.keys(source)), _toConsumableArray(Object.getOwnPropertySymbols(source)));\n\n var merged = _objectSpread({}, target);\n\n keys.forEach(function (key) {\n if (isObject(target[key]) && isObject(source[key])) {\n merged[key] = mergeSourceIntoTarget(target[key], source[key]);\n } else if (isArray(source[key]) && isArray(target[key])) {\n merged[key] = _toConsumableArray(new Set([].concat(_toConsumableArray(target[key]), _toConsumableArray(source[key]))));\n } else if (isArray(target[key])) {\n merged[key] = _toConsumableArray(new Set([].concat(_toConsumableArray(target[key]), [source[key]])));\n } else {\n merged[key] = source[key];\n }\n });\n return merged;\n } else {\n return _objectSpread({}, target);\n }\n}\n\nfunction isObject(item) {\n return item && (typeof item === 'object' || typeof item === 'function') && !Array.isArray(item);\n}\n\nfunction isArray(item) {\n return item && Array.isArray(item);\n}\n\nexport default mergeDeep;\nexport { mergeDeep };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Deep merge N objects into a single result object.\n * Merging creates a new object, so that none of the arguments are modified.\n *\n * @param {Object} arguments objects to merge\n * @returns {Object} a new object with items from all arguments\n */\nfunction mergeDeep() {\n var args = Array.prototype.slice.call(arguments);\n var target = {};\n args.forEach(function (arg) {\n target = mergeSourceIntoTarget(target, arg);\n });\n return target;\n}\n\nfunction mergeSourceIntoTarget(target, source) {\n if (isObject(source)) {\n var keys = [].concat(_toConsumableArray(Object.keys(source)), _toConsumableArray(Object.getOwnPropertySymbols(source)));\n\n var merged = _objectSpread({}, target);\n\n keys.forEach(function (key) {\n if (isObject(target[key]) && isObject(source[key])) {\n merged[key] = mergeSourceIntoTarget(target[key], source[key]);\n } else if (isArray(source[key]) && isArray(target[key])) {\n merged[key] = _toConsumableArray(new Set([].concat(_toConsumableArray(target[key]), _toConsumableArray(source[key]))));\n } else if (isArray(target[key])) {\n merged[key] = _toConsumableArray(new Set([].concat(_toConsumableArray(target[key]), [source[key]])));\n } else {\n merged[key] = source[key];\n }\n });\n return merged;\n } else {\n return _objectSpread({}, target);\n }\n}\n\nfunction isObject(item) {\n return item && (typeof item === 'object' || typeof item === 'function') && !Array.isArray(item);\n}\n\nfunction isArray(item) {\n return item && Array.isArray(item);\n}\n\nexport default mergeDeep;\nexport { mergeDeep };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Deep merge N objects into a single result object.\n * Merging creates a new object, so that none of the arguments are modified.\n *\n * @param {Object} arguments objects to merge\n * @returns {Object} a new object with items from all arguments\n */\nfunction mergeDeep() {\n var args = Array.prototype.slice.call(arguments);\n var target = {};\n args.forEach(function (arg) {\n target = mergeSourceIntoTarget(target, arg);\n });\n return target;\n}\n\nfunction mergeSourceIntoTarget(target, source) {\n if (isObject(source)) {\n var keys = [].concat(_toConsumableArray(Object.keys(source)), _toConsumableArray(Object.getOwnPropertySymbols(source)));\n\n var merged = _objectSpread({}, target);\n\n keys.forEach(function (key) {\n if (isObject(target[key]) && isObject(source[key])) {\n merged[key] = mergeSourceIntoTarget(target[key], source[key]);\n } else if (isArray(source[key]) && isArray(target[key])) {\n merged[key] = _toConsumableArray(new Set([].concat(_toConsumableArray(target[key]), _toConsumableArray(source[key]))));\n } else if (isArray(target[key])) {\n merged[key] = _toConsumableArray(new Set([].concat(_toConsumableArray(target[key]), [source[key]])));\n } else {\n merged[key] = source[key];\n }\n });\n return merged;\n } else {\n return _objectSpread({}, target);\n }\n}\n\nfunction isObject(item) {\n return item && (typeof item === 'object' || typeof item === 'function') && !Array.isArray(item);\n}\n\nfunction isArray(item) {\n return item && Array.isArray(item);\n}\n\nexport default mergeDeep;\nexport { mergeDeep };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Deep merge N objects into a single result object.\n * Merging creates a new object, so that none of the arguments are modified.\n *\n * @param {Object} arguments objects to merge\n * @returns {Object} a new object with items from all arguments\n */\nfunction mergeDeep() {\n var args = Array.prototype.slice.call(arguments);\n var target = {};\n args.forEach(function (arg) {\n target = mergeSourceIntoTarget(target, arg);\n });\n return target;\n}\n\nfunction mergeSourceIntoTarget(target, source) {\n if (isObject(source)) {\n var keys = [].concat(_toConsumableArray(Object.keys(source)), _toConsumableArray(Object.getOwnPropertySymbols(source)));\n\n var merged = _objectSpread({}, target);\n\n keys.forEach(function (key) {\n if (isObject(target[key]) && isObject(source[key])) {\n merged[key] = mergeSourceIntoTarget(target[key], source[key]);\n } else if (isArray(source[key]) && isArray(target[key])) {\n merged[key] = _toConsumableArray(new Set([].concat(_toConsumableArray(target[key]), _toConsumableArray(source[key]))));\n } else if (isArray(target[key])) {\n merged[key] = _toConsumableArray(new Set([].concat(_toConsumableArray(target[key]), [source[key]])));\n } else {\n merged[key] = source[key];\n }\n });\n return merged;\n } else {\n return _objectSpread({}, target);\n }\n}\n\nfunction isObject(item) {\n return item && (typeof item === 'object' || typeof item === 'function') && !Array.isArray(item);\n}\n\nfunction isArray(item) {\n return item && Array.isArray(item);\n}\n\nexport default mergeDeep;\nexport { mergeDeep };","/** @license React v16.12.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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';var h=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113;n&&Symbol.for(\"react.suspense_list\");\nvar z=n?Symbol.for(\"react.memo\"):60115,aa=n?Symbol.for(\"react.lazy\"):60116;n&&Symbol.for(\"react.fundamental\");n&&Symbol.for(\"react.responder\");n&&Symbol.for(\"react.scope\");var A=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction B(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cP.length&&P.push(a)}\nfunction S(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var l=0;lb}return!1}function B(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1)});var sb=/[\\-:]([a-z])/g;function tb(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(sb,\ntb);D[b]=new B(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(sb,tb);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(sb,tb);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0)});function ub(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}\nfunction vb(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2=b.length))throw Error(u(93));b=b[0]}c=b}null==c&&(c=\"\")}a._wrapperState={initialValue:ub(c)}}\nfunction Mb(a,b){var c=ub(b.value),d=ub(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Nb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Ob={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Pb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Qb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Pb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Rb,Sb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Ob.svg||\"innerHTML\"in a)a.innerHTML=b;else{Rb=Rb||document.createElement(\"div\");Rb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Rb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Tb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Ub(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Vb={animationend:Ub(\"Animation\",\"AnimationEnd\"),animationiteration:Ub(\"Animation\",\"AnimationIteration\"),animationstart:Ub(\"Animation\",\"AnimationStart\"),transitionend:Ub(\"Transition\",\"TransitionEnd\")},Wb={},Xb={};\nYa&&(Xb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Vb.animationend.animation,delete Vb.animationiteration.animation,delete Vb.animationstart.animation),\"TransitionEvent\"in window||delete Vb.transitionend.transition);function Yb(a){if(Wb[a])return Wb[a];if(!Vb[a])return a;var b=Vb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Xb)return Wb[a]=b[c];return a}var Zb=Yb(\"animationend\"),$b=Yb(\"animationiteration\"),ac=Yb(\"animationstart\"),bc=Yb(\"transitionend\"),cc=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \");\nfunction ec(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function fc(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function gc(a){if(ec(a)!==a)throw Error(u(188));}\nfunction hc(a){var b=a.alternate;if(!b){b=ec(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return gc(e),a;if(f===d)return gc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function ic(a){a=hc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nvar jc,kc,lc,mc=!1,nc=[],oc=null,pc=null,qc=null,rc=new Map,sc=new Map,tc=[],uc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),vc=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction wc(a){var b=xc(a);uc.forEach(function(c){yc(c,a,b)});vc.forEach(function(c){yc(c,a,b)})}function zc(a,b,c,d){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:d}}function Ac(a,b){switch(a){case \"focus\":case \"blur\":oc=null;break;case \"dragenter\":case \"dragleave\":pc=null;break;case \"mouseover\":case \"mouseout\":qc=null;break;case \"pointerover\":case \"pointerout\":rc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":sc.delete(b.pointerId)}}\nfunction Bc(a,b,c,d,e){if(null===a||a.nativeEvent!==e)return a=zc(b,c,d,e),null!==b&&(b=Cc(b),null!==b&&kc(b)),a;a.eventSystemFlags|=d;return a}function Dc(a,b,c,d){switch(b){case \"focus\":return oc=Bc(oc,a,b,c,d),!0;case \"dragenter\":return pc=Bc(pc,a,b,c,d),!0;case \"mouseover\":return qc=Bc(qc,a,b,c,d),!0;case \"pointerover\":var e=d.pointerId;rc.set(e,Bc(rc.get(e)||null,a,b,c,d));return!0;case \"gotpointercapture\":return e=d.pointerId,sc.set(e,Bc(sc.get(e)||null,a,b,c,d)),!0}return!1}\nfunction Ec(a){var b=Fc(a.target);if(null!==b){var c=ec(b);if(null!==c)if(b=c.tag,13===b){if(b=fc(c),null!==b){a.blockedOn=b;q.unstable_runWithPriority(a.priority,function(){lc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Gc(a){if(null!==a.blockedOn)return!1;var b=Hc(a.topLevelType,a.eventSystemFlags,a.nativeEvent);if(null!==b){var c=Cc(b);null!==c&&kc(c);a.blockedOn=b;return!1}return!0}\nfunction Ic(a,b,c){Gc(a)&&c.delete(b)}function Jc(){for(mc=!1;0this.eventPool.length&&this.eventPool.push(a)}function Vc(a){a.eventPool=[];a.getPooled=Wc;a.release=Xc}var Yc=E.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Zc=E.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),$c=E.extend({view:null,detail:null}),ad=$c.extend({relatedTarget:null});\nfunction bd(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar cd={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},dd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},ed={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function gd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=ed[a])?!!b[a]:!1}function hd(){return gd}\nvar id=$c.extend({key:function(a){if(a.key){var b=cd[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=bd(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?dd[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:hd,charCode:function(a){return\"keypress\"===a.type?bd(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?bd(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),jd=0,kd=0,ld=!1,md=!1,nd=$c.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:hd,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=jd;jd=a.screenX;return ld?\"mousemove\"===a.type?a.screenX-\nb:0:(ld=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;var b=kd;kd=a.screenY;return md?\"mousemove\"===a.type?a.screenY-b:0:(md=!0,0)}}),od=nd.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),pd=nd.extend({dataTransfer:null}),qd=$c.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:hd}),rd=E.extend({propertyName:null,\nelapsedTime:null,pseudoElement:null}),sd=nd.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),td=[[\"blur\",\"blur\",0],[\"cancel\",\"cancel\",0],[\"click\",\"click\",0],[\"close\",\"close\",0],[\"contextmenu\",\"contextMenu\",0],[\"copy\",\"copy\",0],[\"cut\",\"cut\",0],[\"auxclick\",\"auxClick\",0],[\"dblclick\",\"doubleClick\",0],[\"dragend\",\"dragEnd\",\n0],[\"dragstart\",\"dragStart\",0],[\"drop\",\"drop\",0],[\"focus\",\"focus\",0],[\"input\",\"input\",0],[\"invalid\",\"invalid\",0],[\"keydown\",\"keyDown\",0],[\"keypress\",\"keyPress\",0],[\"keyup\",\"keyUp\",0],[\"mousedown\",\"mouseDown\",0],[\"mouseup\",\"mouseUp\",0],[\"paste\",\"paste\",0],[\"pause\",\"pause\",0],[\"play\",\"play\",0],[\"pointercancel\",\"pointerCancel\",0],[\"pointerdown\",\"pointerDown\",0],[\"pointerup\",\"pointerUp\",0],[\"ratechange\",\"rateChange\",0],[\"reset\",\"reset\",0],[\"seeked\",\"seeked\",0],[\"submit\",\"submit\",0],[\"touchcancel\",\"touchCancel\",\n0],[\"touchend\",\"touchEnd\",0],[\"touchstart\",\"touchStart\",0],[\"volumechange\",\"volumeChange\",0],[\"drag\",\"drag\",1],[\"dragenter\",\"dragEnter\",1],[\"dragexit\",\"dragExit\",1],[\"dragleave\",\"dragLeave\",1],[\"dragover\",\"dragOver\",1],[\"mousemove\",\"mouseMove\",1],[\"mouseout\",\"mouseOut\",1],[\"mouseover\",\"mouseOver\",1],[\"pointermove\",\"pointerMove\",1],[\"pointerout\",\"pointerOut\",1],[\"pointerover\",\"pointerOver\",1],[\"scroll\",\"scroll\",1],[\"toggle\",\"toggle\",1],[\"touchmove\",\"touchMove\",1],[\"wheel\",\"wheel\",1],[\"abort\",\"abort\",\n2],[Zb,\"animationEnd\",2],[$b,\"animationIteration\",2],[ac,\"animationStart\",2],[\"canplay\",\"canPlay\",2],[\"canplaythrough\",\"canPlayThrough\",2],[\"durationchange\",\"durationChange\",2],[\"emptied\",\"emptied\",2],[\"encrypted\",\"encrypted\",2],[\"ended\",\"ended\",2],[\"error\",\"error\",2],[\"gotpointercapture\",\"gotPointerCapture\",2],[\"load\",\"load\",2],[\"loadeddata\",\"loadedData\",2],[\"loadedmetadata\",\"loadedMetadata\",2],[\"loadstart\",\"loadStart\",2],[\"lostpointercapture\",\"lostPointerCapture\",2],[\"playing\",\"playing\",2],[\"progress\",\n\"progress\",2],[\"seeking\",\"seeking\",2],[\"stalled\",\"stalled\",2],[\"suspend\",\"suspend\",2],[\"timeupdate\",\"timeUpdate\",2],[bc,\"transitionEnd\",2],[\"waiting\",\"waiting\",2]],ud={},vd={},wd=0;for(;wd=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ce(c)}}\nfunction ee(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?ee(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function fe(){for(var a=window,b=be();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=be(a.document)}return b}\nfunction ge(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var he=\"$\",ie=\"/$\",je=\"$?\",ke=\"$!\",le=null,me=null;function ne(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction oe(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var pe=\"function\"===typeof setTimeout?setTimeout:void 0,qe=\"function\"===typeof clearTimeout?clearTimeout:void 0;function re(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction se(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===he||c===ke||c===je){if(0===b)return a;b--}else c===ie&&b++}a=a.previousSibling}return null}var te=Math.random().toString(36).slice(2),ue=\"__reactInternalInstance$\"+te,ve=\"__reactEventHandlers$\"+te,we=\"__reactContainere$\"+te;\nfunction Fc(a){var b=a[ue];if(b)return b;for(var c=a.parentNode;c;){if(b=c[we]||c[ue]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=se(a);null!==a;){if(c=a[ue])return c;a=se(a)}return b}a=c;c=a.parentNode}return null}function Cc(a){a=a[ue]||a[we];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function xe(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function ye(a){return a[ve]||null}var ze=null,Ae=null,Be=null;\nfunction Ce(){if(Be)return Be;var a,b=Ae,c=b.length,d,e=\"value\"in ze?ze.value:ze.textContent,f=e.length;for(a=0;a=He),Ke=String.fromCharCode(32),Le={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},Me=!1;\nfunction Ne(a,b){switch(a){case \"keyup\":return-1!==Fe.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function Oe(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var Pe=!1;function Qe(a,b){switch(a){case \"compositionend\":return Oe(b);case \"keypress\":if(32!==b.which)return null;Me=!0;return Ke;case \"textInput\":return a=b.data,a===Ke&&Me?null:a;default:return null}}\nfunction Re(a,b){if(Pe)return\"compositionend\"===a||!Ge&&Ne(a,b)?(a=Ce(),Be=Ae=ze=null,Pe=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,sf={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},tf=null,uf=null,vf=null,wf=!1;\nfunction xf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(wf||null==tf||tf!==be(c))return null;c=tf;\"selectionStart\"in c&&ge(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return vf&&qf(vf,c)?null:(vf=c,a=E.getPooled(sf.select,uf,a,b),a.type=\"select\",a.target=tf,Sc(a),a)}\nvar yf={eventTypes:sf,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=xc(e);f=ja.onSelect;for(var g=0;gBf||(a.current=Af[Bf],Af[Bf]=null,Bf--)}\nfunction I(a,b){Bf++;Af[Bf]=a.current;a.current=b}var Cf={},J={current:Cf},K={current:!1},Df=Cf;function Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Ff(a){G(K,a);G(J,a)}function Gf(a){G(K,a);G(J,a)}function Hf(a,b,c){if(J.current!==Cf)throw Error(u(168));I(J,b,a);I(K,c,a)}function If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,Wa(b)||\"Unknown\",e));return n({},c,{},d)}function Jf(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||Cf;Df=J.current;I(J,b,a);I(K,K.current,a);return!0}\nfunction Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(b=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=b,G(K,a),G(J,a),I(J,b,a)):G(K,a);I(K,c,a)}\nvar Lf=q.unstable_runWithPriority,Mf=q.unstable_scheduleCallback,Nf=q.unstable_cancelCallback,Of=q.unstable_shouldYield,Pf=q.unstable_requestPaint,Qf=q.unstable_now,Rf=q.unstable_getCurrentPriorityLevel,Sf=q.unstable_ImmediatePriority,Tf=q.unstable_UserBlockingPriority,Uf=q.unstable_NormalPriority,Vf=q.unstable_LowPriority,Wf=q.unstable_IdlePriority,Xf={},Yf=void 0!==Pf?Pf:function(){},Zf=null,$f=null,ag=!1,bg=Qf(),cg=1E4>bg?Qf:function(){return Qf()-bg};\nfunction dg(){switch(Rf()){case Sf:return 99;case Tf:return 98;case Uf:return 97;case Vf:return 96;case Wf:return 95;default:throw Error(u(332));}}function eg(a){switch(a){case 99:return Sf;case 98:return Tf;case 97:return Uf;case 96:return Vf;case 95:return Wf;default:throw Error(u(332));}}function fg(a,b){a=eg(a);return Lf(a,b)}function gg(a,b,c){a=eg(a);return Mf(a,b,c)}function hg(a){null===Zf?(Zf=[a],$f=Mf(Sf,ig)):Zf.push(a);return Xf}function jg(){if(null!==$f){var a=$f;$f=null;Nf(a)}ig()}\nfunction ig(){if(!ag&&null!==Zf){ag=!0;var a=0;try{var b=Zf;fg(99,function(){for(;a=b&&(wg=!0),a.firstContext=null)}function xg(a,b){if(qg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)qg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===pg){if(null===og)throw Error(u(308));pg=b;og.dependencies={expirationTime:0,firstContext:b,responders:null}}else pg=pg.next=b}return a._currentValue}var yg=!1;\nfunction zg(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Ag(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction Bg(a,b){return{expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Cg(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction Dg(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=zg(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=zg(a.memoizedState),e=c.updateQueue=zg(c.memoizedState)):d=a.updateQueue=Ag(e):null===e&&(e=c.updateQueue=Ag(d));null===e||d===e?Cg(d,b):null===d.lastUpdate||null===e.lastUpdate?(Cg(d,b),Cg(e,b)):(Cg(d,b),e.lastUpdate=b)}\nfunction Eg(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=zg(a.memoizedState):Fg(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function Fg(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=Ag(b));return b}\nfunction Gg(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-4097|64;case 0:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case 2:yg=!0}return d}\nfunction Hg(a,b,c,d,e){yg=!1;b=Fg(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,l=f;null!==k;){var m=k.expirationTime;mx?(A=r,r=null):A=r.sibling;var p=y(e,r,h[x],k);if(null===p){null===r&&(r=A);break}a&&\nr&&null===p.alternate&&b(e,r);g=f(p,g,x);null===m?l=p:m.sibling=p;m=p;r=A}if(x===h.length)return c(e,r),l;if(null===r){for(;xx?(A=r,r=null):A=r.sibling;var z=y(e,r,p.value,k);if(null===z){null===r&&(r=A);break}a&&r&&null===z.alternate&&b(e,r);g=f(z,g,x);null===m?l=z:m.sibling=z;m=z;r=A}if(p.done)return c(e,r),l;if(null===r){for(;!p.done;x++,p=h.next())p=C(e,p.value,k),null!==p&&(g=f(p,g,x),null===m?l=p:m.sibling=p,m=p);return l}for(r=d(e,r);!p.done;x++,p=h.next())p=H(r,e,x,p.value,k),null!==p&&(a&&null!==\np.alternate&&r.delete(null===p.key?x:p.key),g=f(p,g,x),null===m?l=p:m.sibling=p,m=p);a&&r.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Ia&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Ga:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Ia:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Ia?f.props.children:f.props,h);d.ref=Yg(a,k,f);d.return=a;a=d;break a}else{c(a,\nk);break}else b(a,k);k=k.sibling}f.type===Ia?(d=eh(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=ch(f.type,f.key,f.props,null,a.mode,h),h.ref=Yg(a,d,f),h.return=a,a=h)}return g(a);case Ha:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=dh(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===\ntypeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=bh(f,a.mode,h),d.return=a,a=d),g(a);if(Xg(f))return z(a,d,f,h);if(Ua(f))return ta(a,d,f,h);l&&Zg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var fh=$g(!0),gh=$g(!1),hh={},ih={current:hh},jh={current:hh},kh={current:hh};function lh(a){if(a===hh)throw Error(u(174));return a}\nfunction mh(a,b){I(kh,b,a);I(jh,a,a);I(ih,hh,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Qb(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=Qb(b,c)}G(ih,a);I(ih,b,a)}function nh(a){G(ih,a);G(jh,a);G(kh,a)}function oh(a){lh(kh.current);var b=lh(ih.current);var c=Qb(b,a.type);b!==c&&(I(jh,a,a),I(ih,c,a))}function ph(a){jh.current===a&&(G(ih,a),G(jh,a))}var M={current:0};\nfunction qh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===je||c.data===ke))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function rh(a,b){return{responder:a,props:b}}\nvar sh=Ea.ReactCurrentDispatcher,N=Ea.ReactCurrentBatchConfig,th=0,uh=null,O=null,vh=null,wh=null,P=null,xh=null,yh=0,zh=null,Ah=0,Bh=!1,Ch=null,Gh=0;function Q(){throw Error(u(321));}function Hh(a,b){if(null===b)return!1;for(var c=0;cyh&&(yh=m,Jg(yh))):(Ig(m,k.suspenseConfig),f=k.eagerReducer===a?k.eagerState:a(f,k.action));g=k;k=k.next}while(null!==k&&k!==d);l||(h=g,e=f);of(f,b.memoizedState)||(wg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]}\nfunction Rh(a){var b=Nh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,lastRenderedReducer:Ph,lastRenderedState:a};a=a.dispatch=Sh.bind(null,uh,a);return[b.memoizedState,a]}function Th(a){return Qh(Ph,a)}function Uh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===zh?(zh={lastEffect:null},zh.lastEffect=a.next=a):(b=zh.lastEffect,null===b?zh.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,zh.lastEffect=a));return a}\nfunction Vh(a,b,c,d){var e=Nh();Ah|=a;e.memoizedState=Uh(b,c,void 0,void 0===d?null:d)}function Wh(a,b,c,d){var e=Oh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Hh(d,g.deps)){Uh(0,c,f,d);return}}Ah|=a;e.memoizedState=Uh(b,c,f,d)}function Xh(a,b){return Vh(516,192,a,b)}function Yh(a,b){return Wh(516,192,a,b)}\nfunction Zh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function $h(){}function ai(a,b){Nh().memoizedState=[a,void 0===b?null:b];return a}function bi(a,b){var c=Oh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Hh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Sh(a,b,c){if(!(25>Gh))throw Error(u(301));var d=a.alternate;if(a===uh||null!==d&&d===uh)if(Bh=!0,a={expirationTime:th,suspenseConfig:null,action:c,eagerReducer:null,eagerState:null,next:null},null===Ch&&(Ch=new Map),c=Ch.get(b),void 0===c)Ch.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{var e=Pg(),f=Mg.suspense;e=Qg(e,a,f);f={expirationTime:e,suspenseConfig:f,action:c,eagerReducer:null,eagerState:null,next:null};var g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&\n(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===d||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var k=b.lastRenderedState,l=d(k,c);f.eagerReducer=d;f.eagerState=l;if(of(l,k))return}catch(m){}finally{}Rg(a,e)}}\nvar Lh={readContext:xg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},Jh={readContext:xg,useCallback:ai,useContext:xg,useEffect:Xh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,36,Zh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Vh(4,36,a,b)},useMemo:function(a,b){var c=Nh();b=void 0===b?null:b;a=a();c.memoizedState=\n[a,b];return a},useReducer:function(a,b,c){var d=Nh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Sh.bind(null,uh,a);return[d.memoizedState,a]},useRef:function(a){var b=Nh();a={current:a};return b.memoizedState=a},useState:Rh,useDebugValue:$h,useResponder:rh,useDeferredValue:function(a,b){var c=Rh(a),d=c[0],e=c[1];Xh(function(){q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===b?null:b;try{e(a)}finally{N.suspense=\nc}})},[a,b]);return d},useTransition:function(a){var b=Rh(!1),c=b[0],d=b[1];return[ai(function(b){d(!0);q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===a?null:a;try{d(!1),b()}finally{N.suspense=c}})},[a,c]),c]}},Kh={readContext:xg,useCallback:bi,useContext:xg,useEffect:Yh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Wh(4,36,Zh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Wh(4,36,a,b)},useMemo:function(a,b){var c=Oh();b=void 0===b?\nnull:b;var d=c.memoizedState;if(null!==d&&null!==b&&Hh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:Qh,useRef:function(){return Oh().memoizedState},useState:Th,useDebugValue:$h,useResponder:rh,useDeferredValue:function(a,b){var c=Th(a),d=c[0],e=c[1];Yh(function(){q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===b?null:b;try{e(a)}finally{N.suspense=c}})},[a,b]);return d},useTransition:function(a){var b=Th(!1),c=b[0],d=b[1];return[bi(function(b){d(!0);q.unstable_next(function(){var c=\nN.suspense;N.suspense=void 0===a?null:a;try{d(!1),b()}finally{N.suspense=c}})},[a,c]),c]}},ci=null,di=null,ei=!1;function fi(a,b){var c=gi(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction hi(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ii(a){if(ei){var b=di;if(b){var c=b;if(!hi(a,b)){b=re(c.nextSibling);if(!b||!hi(a,b)){a.effectTag=a.effectTag&-1025|2;ei=!1;ci=a;return}fi(ci,c)}ci=a;di=re(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,ei=!1,ci=a}}function ji(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;ci=a}\nfunction ki(a){if(a!==ci)return!1;if(!ei)return ji(a),ei=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!oe(b,a.memoizedProps))for(b=di;b;)fi(a,b),b=re(b.nextSibling);ji(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===ie){if(0===b){di=re(a.nextSibling);break a}b--}else c!==he&&c!==ke&&c!==je||b++}a=a.nextSibling}di=null}}else di=ci?re(a.stateNode.nextSibling):null;return!0}\nfunction li(){di=ci=null;ei=!1}var mi=Ea.ReactCurrentOwner,wg=!1;function R(a,b,c,d){b.child=null===a?gh(b,null,c,d):fh(b,a.child,c,d)}function ni(a,b,c,d,e){c=c.render;var f=b.ref;vg(b,e);d=Ih(a,b,c,d,f,e);if(null!==a&&!wg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),oi(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction pi(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!qi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ri(a,b,g,d,e,f);a=ch(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(eb)&&Gj.set(a,b)))}}\nfunction Kj(a,b){a.expirationTimea?b:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=hg(Lj.bind(null,a));else{var b=Oj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Pg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Xf&&Nf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?hg(Lj.bind(null,a)):gg(d,Qj.bind(null,a),{timeout:10*(1073741821-b)-cg()});a.callbackNode=b}}}\nfunction Qj(a,b){Jj=0;if(b)return b=Pg(),Rj(a,b),Z(a),null;var c=Oj(a);if(0!==c){b=a.callbackNode;if((T&(oj|pj))!==S)throw Error(u(327));Sj();a===U&&c===W||Tj(a,c);if(null!==V){var d=T;T|=oj;var e=Uj(a);do try{Vj();break}catch(h){Wj(a,h)}while(1);rg();T=d;lj.current=e;if(X===rj)throw b=wj,Tj(a,c),Mj(a,c),Z(a),b;if(null===V)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=X,U=null,d){case qj:case rj:throw Error(u(345));case sj:Rj(a,2=c){a.lastPingedTime=c;Tj(a,c);break}}f=Oj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=pe(Yj.bind(null,a),e);break}Yj(a);break;case uj:Mj(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Xj(e));if(Bj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Tj(a,c);break}e=Oj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==yj?d=10*(1073741821-yj)-cg():1073741823===xj?d=0:(d=10*(1073741821-xj)-5E3,e=cg(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*kj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=cg()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+Xa(e))}X!==vj&&(X=sj);f=Ni(f,e);k=d;do{switch(k.tag){case 3:g=f;k.effectTag|=4096;k.expirationTime=b;var x=fj(k,g,b);Eg(k,x);break a;case 1:g=f;var A=k.type,p=k.stateNode;if(0===(k.effectTag&64)&&(\"function\"===typeof A.getDerivedStateFromError||null!==p&&\"function\"===typeof p.componentDidCatch&&\n(null===jj||!jj.has(p)))){k.effectTag|=4096;k.expirationTime=b;var t=ij(k,g,b);Eg(k,t);break a}}k=k.return}while(null!==k)}V=ek(V)}catch(v){b=v;continue}break}while(1)}function Uj(){var a=lj.current;lj.current=Lh;return null===a?Lh:a}function Ig(a,b){aAj&&(Aj=a)}function Zj(){for(;null!==V;)V=fk(V)}function Vj(){for(;null!==V&&!Of();)V=fk(V)}\nfunction fk(a){var b=gk(a.alternate,a,W);a.memoizedProps=a.pendingProps;null===b&&(b=ek(a));mj.current=null;return b}\nfunction ek(a){V=a;do{var b=V.alternate;a=V.return;if(0===(V.effectTag&2048)){a:{var c=b;b=V;var d=W;var e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:L(b.type)&&Ff(b);break;case 3:nh(b);Gf(b);e=b.stateNode;e.pendingContext&&(e.context=e.pendingContext,e.pendingContext=null);(null===c||null===c.child)&&ki(b)&&Ci(b);Ii(b);break;case 5:ph(b);d=lh(kh.current);var f=b.type;if(null!==c&&null!=b.stateNode)Ji(c,b,f,e,d),c.ref!==b.ref&&(b.effectTag|=128);else if(e){var g=\nlh(ih.current);if(ki(b)){e=b;var h=e.stateNode;c=e.type;var k=e.memoizedProps,l=d;h[ue]=e;h[ve]=k;f=void 0;d=h;switch(c){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(h=0;h\\x3c/script>\",h=k.removeChild(k.firstChild)):\"string\"===typeof k.is?h=h.createElement(l,{is:k.is}):(h=h.createElement(l),\"select\"===l&&(l=h,k.multiple?l.multiple=!0:k.size&&(l.size=k.size))):h=h.createElementNS(g,l);k=h;k[ue]=c;k[ve]=e;Hi(k,b,!1,!1);b.stateNode=k;l=f;c=e;var m=d,C=Zd(l,c);switch(l){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\nk);d=c;break;case \"video\":case \"audio\":for(d=0;de.tailExpiration&&1f&&(f=c),k>f&&(f=k),d=d.sibling;e.childExpirationTime=f}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=\nV.firstEffect),a.lastEffect=V.lastEffect),1a?b:a}function Yj(a){var b=dg();fg(99,ik.bind(null,a,b));return null}\nfunction ik(a,b){do Sj();while(null!==Ej);if((T&(oj|pj))!==S)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Xj(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1h&&(l=h,h=g,g=l),l=de(p,g),m=de(p,h),l&&m&&(1!==v.rangeCount||v.anchorNode!==l.node||v.anchorOffset!==l.offset||v.focusNode!==m.node||v.focusOffset!==m.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),v.removeAllRanges(),g>h?(v.addRange(t),v.extend(m.node,m.offset)):(t.setEnd(m.node,m.offset),v.addRange(t))))));t=[];for(v=p;v=v.parentNode;)1===v.nodeType&&t.push({element:v,left:v.scrollLeft,top:v.scrollTop});\n\"function\"===typeof p.focus&&p.focus();for(p=0;p=c)return yi(a,b,c);I(M,M.current&\n1,b);b=oi(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1,b);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return Bi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current,b);if(!d)return null}return oi(a,b,c)}wg=!1}}else wg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Ef(b,J.current);vg(b,c);e=Ih(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;Mh();if(L(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Og(b,d,g,a);e.updater=Sg;b.stateNode=e;e._reactInternalFiber=b;Wg(b,d,a,c);b=vi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;Va(e);if(1!==e._status)throw e._result;\ne=e._result;b.type=e;f=b.tag=nk(e);a=mg(e,a);switch(f){case 0:b=si(null,b,e,a,c);break;case 1:b=ui(null,b,e,a,c);break;case 11:b=ni(null,b,e,a,c);break;case 14:b=pi(null,b,e,mg(e.type,a),d,c);break;default:throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),si(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),ui(a,b,d,e,c);case 3:wi(b);d=b.updateQueue;if(null===d)throw Error(u(282));e=b.memoizedState;e=null!==e?e.element:\nnull;Hg(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)li(),b=oi(a,b,c);else{if(e=b.stateNode.hydrate)di=re(b.stateNode.containerInfo.firstChild),ci=b,e=ei=!0;if(e)for(c=gh(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),li();b=b.child}return b;case 5:return oh(b),null===a&&ii(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,oe(d,e)?g=null:null!==f&&oe(d,f)&&(b.effectTag|=16),ti(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=\nb.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&ii(b),null;case 13:return yi(a,b,c);case 4:return mh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=fh(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),ni(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,b,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;\ne=b.pendingProps;g=b.memoizedProps;f=e.value;sg(b,f);if(null!==g){var h=g.value;f=of(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!K.current){b=oi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=Bg(c,null),l.tag=2,Dg(h,l));h.expirationTime=b&&a<=b}function Mj(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction Nj(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Rj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction rk(a,b,c,d){var e=b.current,f=Pg(),g=Mg.suspense;f=Qg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(ec(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=Bg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);Dg(e,b);Rg(e,f);return f}function sk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function tk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};exports.unstable_cancelCallback=function(a){a.callback=null};\nexports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};exports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/*!\n * UAParser.js v0.7.20\n * Lightweight JavaScript-based User-Agent string parser\n * https://github.com/faisalman/ua-parser-js\n *\n * Copyright © 2012-2019 Faisal Salman \n * Licensed under MIT License\n */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"0.7.20\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\";var util={extend:function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i])}else{mergedRegexes[i]=regexes[i]}}return mergedRegexes},has:function(str1,str2){if(typeof str1===\"string\"){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1}else{return false}},lowerize:function(str){return str.toLowerCase()},major:function(version){return typeof version===STR_TYPE?version.replace(/[^\\d\\.]/g,\"\").split(\".\")[0]:undefined},trim:function(str){return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")}};var mapper={rgx:function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j= '0' && ch <= '9') {\n string += ch;\n next();\n }\n if (ch === '.') {\n string += '.';\n while (next() && ch >= '0' && ch <= '9') {\n string += ch;\n }\n }\n if (ch === 'e' || ch === 'E') {\n string += ch;\n next();\n if (ch === '-' || ch === '+') {\n string += ch;\n next();\n }\n while (ch >= '0' && ch <= '9') {\n string += ch;\n next();\n }\n }\n number = +string;\n if (!isFinite(number)) {\n error(\"Bad number\");\n } else {\n return number;\n }\n },\n \n string = function () {\n // Parse a string value.\n var hex,\n i,\n string = '',\n uffff;\n \n // When parsing for string values, we must look for \" and \\ characters.\n if (ch === '\"') {\n while (next()) {\n if (ch === '\"') {\n next();\n return string;\n } else if (ch === '\\\\') {\n next();\n if (ch === 'u') {\n uffff = 0;\n for (i = 0; i < 4; i += 1) {\n hex = parseInt(next(), 16);\n if (!isFinite(hex)) {\n break;\n }\n uffff = uffff * 16 + hex;\n }\n string += String.fromCharCode(uffff);\n } else if (typeof escapee[ch] === 'string') {\n string += escapee[ch];\n } else {\n break;\n }\n } else {\n string += ch;\n }\n }\n }\n error(\"Bad string\");\n },\n\n white = function () {\n\n// Skip whitespace.\n\n while (ch && ch <= ' ') {\n next();\n }\n },\n\n word = function () {\n\n// true, false, or null.\n\n switch (ch) {\n case 't':\n next('t');\n next('r');\n next('u');\n next('e');\n return true;\n case 'f':\n next('f');\n next('a');\n next('l');\n next('s');\n next('e');\n return false;\n case 'n':\n next('n');\n next('u');\n next('l');\n next('l');\n return null;\n }\n error(\"Unexpected '\" + ch + \"'\");\n },\n\n value, // Place holder for the value function.\n\n array = function () {\n\n// Parse an array value.\n\n var array = [];\n\n if (ch === '[') {\n next('[');\n white();\n if (ch === ']') {\n next(']');\n return array; // empty array\n }\n while (ch) {\n array.push(value());\n white();\n if (ch === ']') {\n next(']');\n return array;\n }\n next(',');\n white();\n }\n }\n error(\"Bad array\");\n },\n\n object = function () {\n\n// Parse an object value.\n\n var key,\n object = {};\n\n if (ch === '{') {\n next('{');\n white();\n if (ch === '}') {\n next('}');\n return object; // empty object\n }\n while (ch) {\n key = string();\n white();\n next(':');\n if (Object.hasOwnProperty.call(object, key)) {\n error('Duplicate key \"' + key + '\"');\n }\n object[key] = value();\n white();\n if (ch === '}') {\n next('}');\n return object;\n }\n next(',');\n white();\n }\n }\n error(\"Bad object\");\n };\n\nvalue = function () {\n\n// Parse a JSON value. It could be an object, an array, a string, a number,\n// or a word.\n\n white();\n switch (ch) {\n case '{':\n return object();\n case '[':\n return array();\n case '\"':\n return string();\n case '-':\n return number();\n default:\n return ch >= '0' && ch <= '9' ? number() : word();\n }\n};\n\n// Return the json_parse function. It will have access to all of the above\n// functions and variables.\n\nmodule.exports = function (source, reviver) {\n var result;\n \n text = source;\n at = 0;\n ch = ' ';\n result = value();\n white();\n if (ch) {\n error(\"Syntax error\");\n }\n\n // If there is a reviver function, we recursively walk the new structure,\n // passing each name/value pair to the reviver function for possible\n // transformation, starting with a temporary root object that holds the result\n // in an empty key. If there is not a reviver function, we simply return the\n // result.\n\n return typeof reviver === 'function' ? (function walk(holder, key) {\n var k, v, value = holder[key];\n if (value && typeof value === 'object') {\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = walk(value, k);\n if (v !== undefined) {\n value[k] = v;\n } else {\n delete value[k];\n }\n }\n }\n }\n return reviver.call(holder, key, value);\n }({'': result}, '')) : result;\n};\n","var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n gap,\n indent,\n meta = { // table of character substitutions\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"' : '\\\\\"',\n '\\\\': '\\\\\\\\'\n },\n rep;\n\nfunction quote(string) {\n // If the string contains no control characters, no quote characters, and no\n // backslash characters, then we can safely slap some quotes around it.\n // Otherwise we must also replace the offending characters with safe escape\n // sequences.\n \n escapable.lastIndex = 0;\n return escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\n var c = meta[a];\n return typeof c === 'string' ? c :\n '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n }) + '\"' : '\"' + string + '\"';\n}\n\nfunction str(key, holder) {\n // Produce a string from holder[key].\n var i, // The loop counter.\n k, // The member key.\n v, // The member value.\n length,\n mind = gap,\n partial,\n value = holder[key];\n \n // If the value has a toJSON method, call it to obtain a replacement value.\n if (value && typeof value === 'object' &&\n typeof value.toJSON === 'function') {\n value = value.toJSON(key);\n }\n \n // If we were called with a replacer function, then call the replacer to\n // obtain a replacement value.\n if (typeof rep === 'function') {\n value = rep.call(holder, key, value);\n }\n \n // What happens next depends on the value's type.\n switch (typeof value) {\n case 'string':\n return quote(value);\n \n case 'number':\n // JSON numbers must be finite. Encode non-finite numbers as null.\n return isFinite(value) ? String(value) : 'null';\n \n case 'boolean':\n case 'null':\n // If the value is a boolean or null, convert it to a string. Note:\n // typeof null does not produce 'null'. The case is included here in\n // the remote chance that this gets fixed someday.\n return String(value);\n \n case 'object':\n if (!value) return 'null';\n gap += indent;\n partial = [];\n \n // Array.isArray\n if (Object.prototype.toString.apply(value) === '[object Array]') {\n length = value.length;\n for (i = 0; i < length; i += 1) {\n partial[i] = str(i, value) || 'null';\n }\n \n // Join all of the elements together, separated with commas, and\n // wrap them in brackets.\n v = partial.length === 0 ? '[]' : gap ?\n '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']' :\n '[' + partial.join(',') + ']';\n gap = mind;\n return v;\n }\n \n // If the replacer is an array, use it to select the members to be\n // stringified.\n if (rep && typeof rep === 'object') {\n length = rep.length;\n for (i = 0; i < length; i += 1) {\n k = rep[i];\n if (typeof k === 'string') {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n }\n else {\n // Otherwise, iterate through all of the keys in the object.\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n }\n \n // Join all of the member texts together, separated with commas,\n // and wrap them in braces.\n\n v = partial.length === 0 ? '{}' : gap ?\n '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}' :\n '{' + partial.join(',') + '}';\n gap = mind;\n return v;\n }\n}\n\nmodule.exports = function (value, replacer, space) {\n var i;\n gap = '';\n indent = '';\n \n // If the space parameter is a number, make an indent string containing that\n // many spaces.\n if (typeof space === 'number') {\n for (i = 0; i < space; i += 1) {\n indent += ' ';\n }\n }\n // If the space parameter is a string, it will be used as the indent string.\n else if (typeof space === 'string') {\n indent = space;\n }\n\n // If there is a replacer, it must be a function or an array.\n // Otherwise, throw an error.\n rep = replacer;\n if (replacer && typeof replacer !== 'function'\n && (typeof replacer !== 'object' || typeof replacer.length !== 'number')) {\n throw new Error('JSON.stringify');\n }\n \n // Make a fake root object containing our value under the key of ''.\n // Return the result of stringifying the value.\n return str('', {'': value});\n};\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// based on: https://github.com/ai/nanoid/blob/master/non-secure.js\nvar dictionary = 'getRandomVcryp0123456789bfhijklqsuvwxzABCDEFGHIJKLMNOPQSTUWXYZ';\nvar dictionaryLengthMinus1 = dictionary.length - 1;\n/**\n * ---\n * category: utilities\n * ---\n * Generate a unique (CSS-safe) id string\n *\n * @module uid\n * @param {String} prefix a string to prefix the id for debugging in non-production env\n * @param {Number} length id length (in characters, minus the prefix)\n * @returns {String} a unique id\n */\n\nfunction uid() {\n var prefix = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n var length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 12;\n var id = \"u\".concat(_uid('', length - 1));\n\n if (prefix && process.env.NODE_ENV !== 'production') {\n return \"\".concat(prefix, \"__\").concat(id);\n } else {\n return id;\n }\n}\n\nfunction _random(size) {\n var result = [];\n\n while (0 < size--) {\n /* eslint-disable-line no-param-reassign */\n result.push(Math.floor(Math.random() * 256));\n }\n\n return result;\n}\n\nfunction _uid(_ignored) {\n var idLength = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 12;\n var id = '';\n\n var bytes = _random(idLength);\n\n while (0 < idLength--) {\n /* eslint-disable-line no-param-reassign */\n id += dictionary[bytes[idLength] & dictionaryLengthMinus1];\n }\n\n return id;\n}\n\nexport default uid;\nexport { uid };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// based on: https://github.com/ai/nanoid/blob/master/non-secure.js\nvar dictionary = 'getRandomVcryp0123456789bfhijklqsuvwxzABCDEFGHIJKLMNOPQSTUWXYZ';\nvar dictionaryLengthMinus1 = dictionary.length - 1;\n/**\n * ---\n * category: utilities\n * ---\n * Generate a unique (CSS-safe) id string\n *\n * @module uid\n * @param {String} prefix a string to prefix the id for debugging in non-production env\n * @param {Number} length id length (in characters, minus the prefix)\n * @returns {String} a unique id\n */\n\nfunction uid() {\n var prefix = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n var length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 12;\n var id = \"u\".concat(_uid('', length - 1));\n\n if (prefix && process.env.NODE_ENV !== 'production') {\n return \"\".concat(prefix, \"__\").concat(id);\n } else {\n return id;\n }\n}\n\nfunction _random(size) {\n var result = [];\n\n while (0 < size--) {\n /* eslint-disable-line no-param-reassign */\n result.push(Math.floor(Math.random() * 256));\n }\n\n return result;\n}\n\nfunction _uid(_ignored) {\n var idLength = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 12;\n var id = '';\n\n var bytes = _random(idLength);\n\n while (0 < idLength--) {\n /* eslint-disable-line no-param-reassign */\n id += dictionary[bytes[idLength] & dictionaryLengthMinus1];\n }\n\n return id;\n}\n\nexport default uid;\nexport { uid };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// based on: https://github.com/ai/nanoid/blob/master/non-secure.js\nvar dictionary = 'getRandomVcryp0123456789bfhijklqsuvwxzABCDEFGHIJKLMNOPQSTUWXYZ';\nvar dictionaryLengthMinus1 = dictionary.length - 1;\n/**\n * ---\n * category: utilities\n * ---\n * Generate a unique (CSS-safe) id string\n *\n * @module uid\n * @param {String} prefix a string to prefix the id for debugging in non-production env\n * @param {Number} length id length (in characters, minus the prefix)\n * @returns {String} a unique id\n */\n\nfunction uid() {\n var prefix = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n var length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 12;\n var id = \"u\".concat(_uid('', length - 1));\n\n if (prefix && process.env.NODE_ENV !== 'production') {\n return \"\".concat(prefix, \"__\").concat(id);\n } else {\n return id;\n }\n}\n\nfunction _random(size) {\n var result = [];\n\n while (0 < size--) {\n /* eslint-disable-line no-param-reassign */\n result.push(Math.floor(Math.random() * 256));\n }\n\n return result;\n}\n\nfunction _uid(_ignored) {\n var idLength = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 12;\n var id = '';\n\n var bytes = _random(idLength);\n\n while (0 < idLength--) {\n /* eslint-disable-line no-param-reassign */\n id += dictionary[bytes[idLength] & dictionaryLengthMinus1];\n }\n\n return id;\n}\n\nexport default uid;\nexport { uid };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// based on: https://github.com/ai/nanoid/blob/master/non-secure.js\nvar dictionary = 'getRandomVcryp0123456789bfhijklqsuvwxzABCDEFGHIJKLMNOPQSTUWXYZ';\nvar dictionaryLengthMinus1 = dictionary.length - 1;\n/**\n * ---\n * category: utilities\n * ---\n * Generate a unique (CSS-safe) id string\n *\n * @module uid\n * @param {String} prefix a string to prefix the id for debugging in non-production env\n * @param {Number} length id length (in characters, minus the prefix)\n * @returns {String} a unique id\n */\n\nfunction uid() {\n var prefix = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';\n var length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 12;\n var id = \"u\".concat(_uid('', length - 1));\n\n if (prefix && process.env.NODE_ENV !== 'production') {\n return \"\".concat(prefix, \"__\").concat(id);\n } else {\n return id;\n }\n}\n\nfunction _random(size) {\n var result = [];\n\n while (0 < size--) {\n /* eslint-disable-line no-param-reassign */\n result.push(Math.floor(Math.random() * 256));\n }\n\n return result;\n}\n\nfunction _uid(_ignored) {\n var idLength = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 12;\n var id = '';\n\n var bytes = _random(idLength);\n\n while (0 < idLength--) {\n /* eslint-disable-line no-param-reassign */\n id += dictionary[bytes[idLength] & dictionaryLengthMinus1];\n }\n\n return id;\n}\n\nexport default uid;\nexport { uid };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { decorator } from '@instructure/ui-decorator';\n\nvar deprecated = function () {\n if (process.env.NODE_ENV === 'production') {\n var _deprecated = function _deprecated() {\n return function (ComposedComponent) {\n return ComposedComponent;\n };\n };\n\n _deprecated.deprecatePropValues = function () {};\n\n _deprecated.warnDeprecatedProps = function () {};\n\n _deprecated.warnDeprecatedComponent = function () {};\n\n _deprecated.changedPackageWarning = function () {};\n\n return _deprecated;\n }\n\n var deprecated = decorator(function (ComposedComponent, version, oldProps, message) {\n /**\n * ---\n * category: utilities/react\n * ---\n * Deprecate React component props. Warnings will display in the console when deprecated\n * props are used. Include the version number when the deprecated component will be removed.\n *\n * ```js\n * class Example extends Component {\n * static propTypes = {\n * currentProp: PropTypes.func\n * }\n * }\n * export default deprecated('7.0.0', {\n * deprecatedProp: 'currentProp',\n * nowNonExistentProp: true\n * })(Example)\n * ```\n *\n * @param {string} version\n * @param {object} oldProps (if this argument is null or undefined, the entire component is deprecated)\n * @param {string} message\n * @return {function} React component with deprecated props behavior\n * @module deprecated\n */\n var DeprecatedComponent =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(DeprecatedComponent, _ComposedComponent);\n\n function DeprecatedComponent() {\n _classCallCheck(this, DeprecatedComponent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeprecatedComponent).apply(this, arguments));\n }\n\n return DeprecatedComponent;\n }(ComposedComponent);\n\n DeprecatedComponent.prototype.componentDidMount = function () {\n if (oldProps) {\n warnDeprecatedProps(ComposedComponent.displayName, version, this.props, oldProps, message);\n } else {\n warnDeprecatedComponent(version, ComposedComponent.displayName, message);\n }\n\n if (ComposedComponent.prototype.componentDidMount) {\n ComposedComponent.prototype.componentDidMount.call(this);\n }\n };\n\n DeprecatedComponent.prototype.componentDidUpdate = function (prevProps, prevState, prevContext) {\n if (oldProps) {\n warnDeprecatedProps(ComposedComponent.displayName, version, this.props, oldProps, message);\n } else {\n warnDeprecatedComponent(version, ComposedComponent.displayName, message);\n }\n\n if (ComposedComponent.prototype.componentDidUpdate) {\n ComposedComponent.prototype.componentDidUpdate.call(this, prevProps, prevState, prevContext);\n }\n };\n\n return DeprecatedComponent;\n });\n /**\n * ---\n * category: utilities\n * ---\n * Trigger a console warning if the specified prop variant is deprecated\n *\n * @param {function} propType - validates the prop type. Returns null if valid, error otherwise\n * @param {array} deprecated - an array of the deprecated variant names\n * @param {string|function} message - a string with additional information (like the version the prop will be removed) or a function returning a string\n */\n\n deprecated.deprecatePropValues = function (propType) {\n var deprecated = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n var message = arguments.length > 2 ? arguments[2] : void 0;\n return function (props, propName, componentName) {\n var isDeprecatedValue = deprecated.includes(props[propName]);\n var warningMessage = message && typeof message === 'function' ? message({\n props: props,\n propName: propName,\n propValue: props[propName]\n }) : \"The '\".concat(props[propName], \"' value for the `\").concat(propName, \"` prop is deprecated. \").concat(message || '');\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(!isDeprecatedValue, \"[\".concat(componentName, \"] \").concat(warningMessage));\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return isDeprecatedValue ? null : propType.apply(void 0, [props, propName, componentName].concat(rest));\n };\n };\n\n function warnDeprecatedProps(componentName, version, props, oldProps) {\n var message = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : '';\n Object.keys(oldProps).forEach(function (oldProp) {\n if (typeof props[oldProp] !== 'undefined') {\n var newProp = typeof oldProps[oldProp] === 'string' ? oldProps[oldProp] : null;\n var newPropMessage = newProp ? \". Use `\".concat(newProp, \"` instead\") : '';\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[\".concat(componentName, \"] `\").concat(oldProp, \"` is deprecated and will be removed in version \").concat(version).concat(newPropMessage, \". \").concat(message));\n }\n });\n }\n\n deprecated.warnDeprecatedProps = warnDeprecatedProps;\n\n function warnDeprecatedComponent(version, componentName, message) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, \"[\".concat(componentName, \"] is deprecated and will be removed in version \").concat(version, \". \").concat(message || ''));\n }\n /**\n * ---\n * category: utilities\n * ---\n * @param {String} version the version of the package in which the component or function was deprecated\n * @param {String} componentName the displayName of the component or Function.name of the utility function\n * @param {String} message a message to display as a console error in DEV env when condition is false\n */\n\n\n deprecated.warnDeprecatedComponent = warnDeprecatedComponent;\n /**\n * ---\n * category: utilities\n * ---\n * @param {String} prevPackage the previous name of the package\n * @param {String} newPackage the new version of the package\n * @return {String} the formatted warning string\n */\n\n deprecated.changedPackageWarning = function (prevPackage, newPackage) {\n return \"It has been moved from @instructure/\".concat(prevPackage, \" to @instructure/\").concat(newPackage, \".\");\n };\n\n return deprecated;\n}();\n\nexport default deprecated;\nexport { deprecated };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _get from \"@babel/runtime/helpers/esm/get\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { findDOMNode } from 'react-dom';\nimport { decorator } from '@instructure/ui-decorator';\nvar testable = process.env.NODE_ENV === 'production' && // If you would like to the `data-cid` attributes on elements even in your\n// production builds (like if you are using them in your e2e builds or\n// something), you need to set the environment variable\n// ALWAYS_APPEND_UI_TESTABLE_LOCATORS=1\n// We do this because adding those `data-cid` locators slows things down.\n!process.env.ALWAYS_APPEND_UI_TESTABLE_LOCATORS ? function () {\n return function (Component) {\n return Component;\n };\n} : decorator(function (ComposedComponent) {\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var locator = {\n attribute: 'data-cid',\n value: displayName\n };\n var selector = \"[\".concat(locator.attribute, \"~=\\\"\").concat(locator.value, \"\\\"]\");\n\n var TestableComponent =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(TestableComponent, _ComposedComponent);\n\n function TestableComponent() {\n _classCallCheck(this, TestableComponent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(TestableComponent).apply(this, arguments));\n }\n\n _createClass(TestableComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (_get(_getPrototypeOf(TestableComponent.prototype), \"componentDidMount\", this)) {\n var _get2;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n (_get2 = _get(_getPrototypeOf(TestableComponent.prototype), \"componentDidMount\", this)).call.apply(_get2, [this].concat(args));\n }\n\n this.appendLocatorAttribute();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (_get(_getPrototypeOf(TestableComponent.prototype), \"componentDidUpdate\", this)) {\n var _get3;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n (_get3 = _get(_getPrototypeOf(TestableComponent.prototype), \"componentDidUpdate\", this)).call.apply(_get3, [this].concat(args));\n }\n\n this.appendLocatorAttribute();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._testableUnmounted = true;\n\n if (_get(_getPrototypeOf(TestableComponent.prototype), \"componentWillUnmount\", this)) {\n var _get4;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n (_get4 = _get(_getPrototypeOf(TestableComponent.prototype), \"componentWillUnmount\", this)).call.apply(_get4, [this].concat(args));\n }\n\n clearTimeout(this.locatorTimeout);\n }\n }, {\n key: \"appendLocatorAttribute\",\n value: function appendLocatorAttribute() {\n var _this = this;\n\n this.locatorTimeout = setTimeout(function () {\n var _node;\n\n var node;\n\n if (_this._testableUnmounted) {\n return;\n }\n\n try {\n // Use this.DOMNode for components that render as non-native Portals...\n node = _this.DOMNode || findDOMNode(_this);\n } catch (e) {}\n\n if ((_node = node) === null || _node === void 0 ? void 0 : _node.getAttribute) {\n var attribute = node.getAttribute(locator.attribute);\n var values = typeof attribute === 'string' ? attribute.split(/\\s+/) : [];\n\n if (!values.includes(locator.value)) {\n values.push(locator.value);\n }\n\n node.setAttribute(locator.attribute, values.join(' '));\n }\n });\n }\n }]);\n\n return TestableComponent;\n }(ComposedComponent);\n\n TestableComponent.selector = selector;\n return TestableComponent;\n});\nexport default testable;\nexport { testable };","import { warn as _warn } from \"@instructure/console\";\n\nfunction getElementType(Component, props, getDefault) {\n if (props.as && props.as !== Component.defaultProps.as) {\n return props.as;\n }\n\n if (typeof getDefault === 'function') {\n return getDefault();\n }\n\n if (props.href) {\n return 'a';\n }\n\n if (props.to) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn( // if to prop is used without as\n !props.as, \"[\".concat(Component.displayName, \"] `as` prop should be provided when using `to`\"));\n\n return 'a';\n }\n\n if (typeof props.onClick === 'function') {\n return 'button';\n }\n\n return Component.defaultProps.as || 'span';\n}\n\nexport default getElementType;\nexport { getElementType };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport isPropValid from '@emotion/is-prop-valid';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar omit = function omit(originalObject, keys) {\n // code based on babel's _objectWithoutProperties\n var newObject = {};\n\n for (var key in originalObject) {\n // special case because we always want to omit these and === is faster than concat'ing them in\n if (key === 'theme' || key === 'children' || key === 'className' || key === 'style') continue;\n if (keys.includes(key) || !hasOwnProperty.call(originalObject, key)) continue;\n newObject[key] = originalObject[key];\n }\n\n return newObject;\n};\n\nfunction omitProps(props, propTypes, exclude) {\n var keys = Object.keys(propTypes || {});\n var combined = exclude ? keys.concat(exclude) : keys;\n return omit(props, combined);\n} // this was the fastest implementation from testing: https://jsperf.com/pick-props\n\n\nfunction pick(obj, keys) {\n var res = {};\n var len = keys.length;\n var idx = -1;\n var key;\n\n while (++idx < len) {\n key = keys[idx];\n\n if (key in obj) {\n res[key] = obj[key];\n }\n }\n\n return res;\n}\n\nfunction pickProps(props, propTypes, include) {\n var keys = Object.keys(propTypes || {});\n var combined = include ? keys.concat(include) : keys;\n return pick(props, combined);\n}\n\nfunction passthroughProps(props) {\n var validProps = {};\n Object.keys(props) // style and className need to be explicitly passed through\n .filter(function (propName) {\n return isPropValid(propName) && propName !== 'style' && propName !== 'className' && propName !== 'children';\n }).forEach(function (propName) {\n validProps[propName] = props[propName];\n });\n return validProps;\n}\n\nexport { pickProps, omitProps, passthroughProps };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport PropTypes from 'prop-types';\n/**\n * ---\n * category: utilities/PropTypes\n * ---\n * Verify that the given prop is a valid css `cursor` value.\n *\n * The list of possible cursor values is taken from\n * https://developer.mozilla.org/en-US/docs/Web/CSS/cursor.\n *\n * Note that this does not currently support `url(...)` values.\n */\n\nvar cursor = PropTypes.oneOf(['auto', 'default', 'none', 'context-menu', 'help', 'pointer', 'progress', 'wait', 'cell', 'crosshair', 'text', 'vertical-text', 'alias', 'copy', 'move', 'no-drop', 'not-allowed', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out']);\nexport default cursor;\nexport { cursor };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport React, { Component } from 'react';\nimport { SVGIcon } from '@instructure/ui-svg-images';\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M1352.005.012l176.13 176.13L744.27 960.131l783.864 783.74L1352.005 1920 391.887 960.13z\",\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\"\n});\n\nvar IconArrowOpenStartSolid =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(IconArrowOpenStartSolid, _Component);\n\n function IconArrowOpenStartSolid() {\n _classCallCheck(this, IconArrowOpenStartSolid);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(IconArrowOpenStartSolid).apply(this, arguments));\n }\n\n _createClass(IconArrowOpenStartSolid, [{\n key: \"render\",\n value: function render() {\n return React.createElement(SVGIcon, Object.assign({}, this.props, {\n name: \"IconArrowOpenStart\",\n viewBox: \"0 0 1920 1920\",\n bidirectional: true\n }), _ref);\n }\n }]);\n\n IconArrowOpenStartSolid.displayName = \"IconArrowOpenStartSolid\";\n return IconArrowOpenStartSolid;\n}(Component);\n\nIconArrowOpenStartSolid.glyphName = 'arrow-open-start';\nIconArrowOpenStartSolid.variant = 'Solid';\nIconArrowOpenStartSolid.propTypes = _objectSpread({}, SVGIcon.propTypes);\nexport default IconArrowOpenStartSolid;\nexport { IconArrowOpenStartSolid };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\n/**\n* ---\n* category: utilities/react\n* ---\n* Evaluate a provided value to create a renderable React element.\n*\n* @param {ReactElement|ReactClass|function} value\n* @param {object} props\n* @return {ReactElement} A renderable React element\n*/\n\nfunction callRenderProp(value) {\n var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n\n if (typeof value === 'function') {\n // TODO: Simplify this when we drop React 15\n // In react 16, `createElement` accepts a function. In react 15 we get an\n // error on rendering the result. Evaluate the function here if it is not a\n // react component.\n if (!(value.prototype && // fat arrow functions don't have a prototype\n value.prototype.isReactComponent)) {\n return value(props);\n }\n\n return React.createElement(value, props);\n }\n\n return value;\n}\n\nexport default callRenderProp;\nexport { callRenderProp };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport React, { Component } from 'react';\nimport { SVGIcon } from '@instructure/ui-svg-images';\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"g\", {\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\"\n}, React.createElement(\"path\", {\n d: \"M961 1C431.645 1 1 431.645 1 961s430.645 960 960 960 960-430.645 960-960S1490.355 1 961 1m0 1807.059c-467.125 0-847.059-379.934-847.059-847.059 0-467.125 379.934-847.059 847.059-847.059 467.125 0 847.059 379.934 847.059 847.059 0 467.125-379.934 847.059-847.059 847.059m319.465-1246.374l-319.51 319.51-319.398-319.51-79.85 79.85 319.398 319.51-319.397 319.398 79.85 79.85 319.397-319.398 319.51 319.397 79.85-79.85-319.51-319.397 319.51-319.51-79.85-79.85z\"\n}));\n\nvar IconTroubleLine =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(IconTroubleLine, _Component);\n\n function IconTroubleLine() {\n _classCallCheck(this, IconTroubleLine);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(IconTroubleLine).apply(this, arguments));\n }\n\n _createClass(IconTroubleLine, [{\n key: \"render\",\n value: function render() {\n return React.createElement(SVGIcon, Object.assign({}, this.props, {\n name: \"IconTrouble\",\n viewBox: \"0 0 1920 1920\"\n }), _ref);\n }\n }]);\n\n IconTroubleLine.displayName = \"IconTroubleLine\";\n return IconTroubleLine;\n}(Component);\n\nIconTroubleLine.glyphName = 'trouble';\nIconTroubleLine.variant = 'Line';\nIconTroubleLine.propTypes = _objectSpread({}, SVGIcon.propTypes);\nexport default IconTroubleLine;\nexport { IconTroubleLine };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport React, { Component } from 'react';\nimport { SVGIcon } from '@instructure/ui-svg-images';\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M960 1920C429.807 1920 0 1490.193 0 960S429.807 0 960 0s960 429.807 960 960-429.807 960-960 960zm0-101.053c474.384 0 858.947-384.563 858.947-858.947S1434.384 101.053 960 101.053 101.053 485.616 101.053 960 485.616 1818.947 960 1818.947zm-9.32-496.403c-80.024 0-145.128 65.104-145.128 145.128 0 80.024 65.104 145.128 145.128 145.128 80.024 0 145.128-65.104 145.128-145.128 0-80.024-65.104-145.128-145.128-145.128zm192.785-968.86h-385.57l93.901 851.327h197.768l93.901-851.327z\",\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\"\n});\n\nvar IconWarningLine =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(IconWarningLine, _Component);\n\n function IconWarningLine() {\n _classCallCheck(this, IconWarningLine);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(IconWarningLine).apply(this, arguments));\n }\n\n _createClass(IconWarningLine, [{\n key: \"render\",\n value: function render() {\n return React.createElement(SVGIcon, Object.assign({}, this.props, {\n name: \"IconWarning\",\n viewBox: \"0 0 1920 1920\"\n }), _ref);\n }\n }]);\n\n IconWarningLine.displayName = \"IconWarningLine\";\n return IconWarningLine;\n}(Component);\n\nIconWarningLine.glyphName = 'warning';\nIconWarningLine.variant = 'Line';\nIconWarningLine.propTypes = _objectSpread({}, SVGIcon.propTypes);\nexport default IconWarningLine;\nexport { IconWarningLine };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Performs simple test to determine if DOM can be accessed\n * @module\n * @returns {boolean} whether the dom can be used\n */\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;\nexport { canUseDOM };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Performs simple test to determine if DOM can be accessed\n * @module\n * @returns {boolean} whether the dom can be used\n */\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;\nexport { canUseDOM };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Wraps (decorates) a React component to add additional functionality\n *\n * @module decorator\n * @param {Function} decorator a function that returns a decorated component\n * @returns {Class} a decorated component class\n */\nfunction decorator(decorate) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return function (ComposedComponent) {\n if (typeof decorate === 'function') {\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var DecoratedComponent = decorate.apply(void 0, [ComposedComponent].concat(args));\n DecoratedComponent.displayName = displayName;\n return DecoratedComponent;\n } else {\n return ComposedComponent;\n }\n };\n };\n}\n\nexport default decorator;\nexport { decorator };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warnDeprecated as _warnDeprecated } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { decorator } from '@instructure/ui-decorator';\n\nvar deprecated = function () {\n if (process.env.NODE_ENV === 'production') {\n var _deprecated = function _deprecated() {\n return function (ComposedComponent) {\n return ComposedComponent;\n };\n };\n\n _deprecated.deprecatePropValues = function () {};\n\n _deprecated.warnDeprecatedProps = function () {};\n\n _deprecated.warnDeprecatedComponent = function () {};\n\n _deprecated.changedPackageWarning = function () {};\n\n return _deprecated;\n }\n\n var deprecated = decorator(function (ComposedComponent, version, oldProps, message) {\n /**\n * ---\n * category: utilities/react\n * ---\n * Deprecate React component props. Warnings will display in the console when deprecated\n * props are used. Include the version number when the deprecated component will be removed.\n *\n * ```js\n * class Example extends Component {\n * static propTypes = {\n * currentProp: PropTypes.func\n * }\n * }\n * export default deprecated('7.0.0', {\n * deprecatedProp: 'currentProp',\n * nowNonExistentProp: true\n * })(Example)\n * ```\n *\n * @param {string} version\n * @param {object} oldProps (if this argument is null or undefined, the entire component is deprecated)\n * @param {string} message\n * @return {function} React component with deprecated props behavior\n * @module deprecated\n */\n var DeprecatedComponent =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(DeprecatedComponent, _ComposedComponent);\n\n function DeprecatedComponent() {\n _classCallCheck(this, DeprecatedComponent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeprecatedComponent).apply(this, arguments));\n }\n\n return DeprecatedComponent;\n }(ComposedComponent);\n\n DeprecatedComponent.prototype.componentDidMount = function () {\n if (oldProps) {\n warnDeprecatedProps(ComposedComponent.displayName, version, this.props, oldProps, message);\n } else {\n warnDeprecatedComponent(version, ComposedComponent.displayName, message);\n }\n\n if (ComposedComponent.prototype.componentDidMount) {\n ComposedComponent.prototype.componentDidMount.call(this);\n }\n };\n\n DeprecatedComponent.prototype.componentDidUpdate = function (prevProps, prevState, prevContext) {\n if (oldProps) {\n warnDeprecatedProps(ComposedComponent.displayName, version, this.props, oldProps, message);\n } else {\n warnDeprecatedComponent(version, ComposedComponent.displayName, message);\n }\n\n if (ComposedComponent.prototype.componentDidUpdate) {\n ComposedComponent.prototype.componentDidUpdate.call(this, prevProps, prevState, prevContext);\n }\n };\n\n return DeprecatedComponent;\n });\n /**\n * ---\n * category: utilities\n * ---\n * Trigger a console warning if the specified prop variant is deprecated\n *\n * @param {function} propType - validates the prop type. Returns null if valid, error otherwise\n * @param {array} deprecated - an array of the deprecated variant names\n * @param {string|function} message - a string with additional information (like the version the prop will be removed) or a function returning a string\n */\n\n deprecated.deprecatePropValues = function (propType) {\n var deprecated = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n var message = arguments.length > 2 ? arguments[2] : void 0;\n return function (props, propName, componentName) {\n var isDeprecatedValue = deprecated.includes(props[propName]);\n var warningMessage = message && typeof message === 'function' ? message({\n props: props,\n propName: propName,\n propValue: props[propName]\n }) : \"The '\".concat(props[propName], \"' value for the `\").concat(propName, \"` prop is deprecated. \").concat(message || '');\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warnDeprecated(!isDeprecatedValue, \"[\".concat(componentName, \"] \").concat(warningMessage));\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return isDeprecatedValue ? null : propType.apply(void 0, [props, propName, componentName].concat(rest));\n };\n };\n\n function warnDeprecatedProps(componentName, version, props, oldProps) {\n var message = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : '';\n Object.keys(oldProps).forEach(function (oldProp) {\n if (typeof props[oldProp] !== 'undefined') {\n var newProp = typeof oldProps[oldProp] === 'string' ? oldProps[oldProp] : null;\n var newPropMessage = newProp ? \". Use `\".concat(newProp, \"` instead\") : '';\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warnDeprecated(false, \"[\".concat(componentName, \"] `\").concat(oldProp, \"` is deprecated and will be removed in version \").concat(version).concat(newPropMessage, \". \").concat(message));\n }\n });\n }\n\n deprecated.warnDeprecatedProps = warnDeprecatedProps;\n\n function warnDeprecatedComponent(version, componentName, message) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warnDeprecated(false, \"[\".concat(componentName, \"] is deprecated and will be removed in version \").concat(version, \". \").concat(message || ''));\n }\n /**\n * ---\n * category: utilities\n * ---\n * @param {String} version the version of the package in which the component or function was deprecated\n * @param {String} componentName the displayName of the component or Function.name of the utility function\n * @param {String} message a message to display as a console error in DEV env when condition is false\n */\n\n\n deprecated.warnDeprecatedComponent = warnDeprecatedComponent;\n /**\n * ---\n * category: utilities\n * ---\n * @param {String} prevPackage the previous name of the package\n * @param {String} newPackage the new version of the package\n * @return {String} the formatted warning string\n */\n\n deprecated.changedPackageWarning = function (prevPackage, newPackage) {\n return \"It has been moved from @instructure/\".concat(prevPackage, \" to @instructure/\").concat(newPackage, \".\");\n };\n\n return deprecated;\n}();\n\nexport default deprecated;\nexport { deprecated };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\n/**\n* ---\n* category: utilities/react\n* ---\n* Evaluate a provided value to create a renderable React element.\n*\n* @param {ReactElement|ReactClass|function} value\n* @param {object} props\n* @return {ReactElement} A renderable React element\n*/\n\nfunction callRenderProp(value) {\n var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n\n if (typeof value === 'function') {\n // TODO: Simplify this when we drop React 15\n // In react 16, `createElement` accepts a function. In react 15 we get an\n // error on rendering the result. Evaluate the function here if it is not a\n // react component.\n if (!(value.prototype && // fat arrow functions don't have a prototype\n value.prototype.isReactComponent)) {\n return value(props);\n }\n\n return React.createElement(value, props);\n }\n\n return value;\n}\n\nexport default callRenderProp;\nexport { callRenderProp };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/react\n * ---\n * Safe chained functions\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * Forked from: https://github.com/react-bootstrap/react-overlays/blob/master/src/utils/createChainedFunction.js\n * @module createChainedFunction\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f, i) {\n if (f == null) {\n return false;\n } // Only allow the first of identical functions\n\n\n var indexes = getAllIndexes(funcs, f);\n return indexes.length === 1 || i === indexes[0];\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) {\n return f;\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n f.apply(this, args);\n };\n }, null);\n}\n/**\n * Find all indexes for a value in an Array\n *\n * @param {array} arr The Array to search for val\n * @param {*} val The value to find indexes for\n * @return {array} All the indexes of the Array matching val\n */\n\n\nfunction getAllIndexes(arr, val) {\n var indexes = [];\n arr.forEach(function (e, i) {\n if (e === val) {\n indexes.push(i);\n }\n });\n return indexes;\n}\n\nexport default createChainedFunction;\nexport { createChainedFunction };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport { createChainedFunction } from '@instructure/ui-utils';\n/**\n* ---\n* category: utilities/react\n* ---\n* Clone a React element without overwriting refs.\n* @module safeCloneElement\n* @param {ReactElement} element\n* @param {object} props\n* @return {ReactElement}\n*/\n\nfunction safeCloneElement(element, props) {\n var cloneRef = props.ref;\n var originalRef = element.ref;\n var originalRefIsAFunction = typeof originalRef === 'function';\n\n var mergedProps = _objectSpread({}, props);\n\n if (element.props.style && props.style) {\n // merge with existing styles\n mergedProps.style = _objectSpread({}, element.props.style, {}, props.style);\n } // prevent overriding existing keys\n\n\n mergedProps.key = element.key || props.key; // Add chained function to preserve existing event handlers\n\n Object.keys(props).forEach(function (prop) {\n // If prop looks like an event handler \"on*\" and either\n // props[props] or element.props[prop] is a function create a chained function.\n // If only one is a function it will just use that function with no extra overhead.\n // This is necessary in cases where props[prop] is `null` or `undefined` which would\n // otherwise unwantedly override element.props[prop].\n if (prop.indexOf('on') === 0 && (typeof props[prop] === 'function' || typeof element.props[prop] === 'function')) {\n mergedProps[prop] = createChainedFunction(element.props[prop], props[prop]);\n }\n });\n\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n if (originalRef == null || cloneRef == null) {\n return React.cloneElement.apply(React, [element, mergedProps].concat(children));\n }\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(originalRefIsAFunction, \"Cloning an element with a ref that will be overwritten because the ref is not a function. Use a composable callback-style ref instead. Ignoring ref: \".concat(originalRef));\n\n return React.cloneElement.apply(React, [element, _objectSpread({}, mergedProps, {\n ref: function ref(component) {\n cloneRef(component);\n originalRef(component);\n }\n })].concat(children));\n}\n\nexport default safeCloneElement;\nexport { safeCloneElement };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Children } from 'react';\nimport { safeCloneElement } from './safeCloneElement';\n/**\n * ---\n * category: utilities/react\n * ---\n *\n * Ensure a single child. If it is a child of length 1, return a\n * cloned instance of the child. If it is a child of length > 1,\n * wrap in a span and return the child. Return null if child has\n * no length.\n *\n * @param {ReactElement} child\n * @param {Object} props - props for child\n * @returns {ReactElement} cloned instance for a single child, or children wrapped in a span\n */\n\nfunction ensureSingleChild(child) {\n var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var childCount = Children.count(child);\n\n if (childCount === 0) {\n return null;\n } else if (typeof child === 'string' && child.length > 0 || childCount > 1) {\n return React.createElement(\"span\", props, child);\n } else {\n return safeCloneElement(Array.isArray(child) ? child[0] : child, props);\n }\n}\n\nexport default ensureSingleChild;\nexport { ensureSingleChild };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * @module ThemeContext\n */\nimport PropTypes from 'prop-types';\nvar CONTEXT_KEY = '@@themeable';\nvar ThemeContext = {\n CONTEXT_KEY: CONTEXT_KEY,\n\n /**\n * React context types for [themeable](#themeable) components and\n * the [ApplyTheme](#ApplyTheme) component.\n */\n types: _defineProperty({}, CONTEXT_KEY, PropTypes.object),\n\n /**\n * create theme context\n * @param {Object} theme an object containing [themeable](#themeable) component themes\n * @param {Boolean} immutable prevent theme overrides?\n */\n makeThemeContext: function makeThemeContext(theme, immutable) {\n return _defineProperty({}, CONTEXT_KEY, {\n theme: theme,\n immutable: immutable\n });\n },\n\n /**\n * get a theme context\n * @param {ReactContext} context React context object\n */\n getThemeContext: function getThemeContext(context) {\n if (context) {\n return context[CONTEXT_KEY];\n }\n }\n};\nexport default ThemeContext;\nexport { ThemeContext };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport stringify from 'json-stable-stringify';\n\nfunction toBase64(input) {\n var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n var output = '';\n var length = input.length;\n var triplet;\n var b64pad = '=';\n\n for (var i = 0; i < length; i += 3) {\n triplet = input.charCodeAt(i) << 16 | (i + 1 < length ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < length ? input.charCodeAt(i + 2) : 0);\n\n for (var j = 0; j < 4; j += 1) {\n if (i * 8 + j * 6 > input.length * 8) {\n output += b64pad;\n } else {\n output += tab.charAt(triplet >>> 6 * (3 - j) & 0x3F);\n }\n }\n }\n\n return output;\n}\n\nfunction executeHash(input) {\n var hash = 0;\n if (input.length === 0) return hash;\n\n for (var i = 0; i < input.length; i++) {\n var c = input.charCodeAt(i);\n hash = (hash << 5) - hash + c;\n hash |= 0; // Convert to 32bit integer\n }\n\n return toBase64(String(hash));\n}\n\nfunction hash(value, maxLength) {\n if (typeof value === 'undefined') {\n throw new Error('Cannot hash a value which is undefined');\n }\n\n var hashedValue = '';\n var valueToHash = value;\n\n if (typeof valueToHash !== 'string') {\n if (typeof valueToHash === 'object') {\n // Ensure we are robust to things like objects that are identical, but with keys in diff orders\n valueToHash = stringify(valueToHash);\n } else {\n valueToHash = valueToHash.toString();\n }\n }\n\n hashedValue = executeHash(valueToHash);\n\n if (maxLength) {\n hashedValue = hashedValue.slice(0, maxLength);\n }\n\n return hashedValue;\n}\n\nexport default hash;\nexport { hash };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/shallowEqual.js\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * ---\n * category: utilities\n * ---\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n *\n * @module shallowEqual\n *\n * @param {Object} objA\n * @param {Object} objB\n * @returns {Boolean} Returns true when the values of all keys are strictly equal\n*/\n\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n/*\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n\n\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y; // eslint-disable-line no-self-compare\n }\n}\n\nexport default shallowEqual;\nexport { shallowEqual };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport deepEqual from 'fast-deep-equal';\n/**\n * ---\n * category: utilities\n * ---\n * A wrapper for [fast-deep-equal](https://www.npmjs.com/package/fast-deep-equal)\n */\n\nexport default deepEqual;\nexport { deepEqual };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport ReactDOM from 'react-dom';\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Wrapper function for React.findDOMNode\n *\n * @param {ReactComponent|DomNode} el - component, DOM node, or function returning a DOM node\n * @returns {DomNode} The root node of this element\n */\n\nfunction findDOMNode(el) {\n var node = typeof el === 'function' ? el() : el;\n\n if (node === document) {\n return document.documentElement;\n } else if (node instanceof Element || node === window || node && typeof node.nodeType !== 'undefined') {\n return node;\n } else if (node) {\n return ReactDOM.findDOMNode(node); // eslint-disable-line react/no-find-dom-node\n }\n}\n\nexport default findDOMNode;\nexport { findDOMNode };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { transformCss, isKeyframesSelector } from './transformCss';\n\nfunction scopeStylesToNode(domNode, cssText, scope) {\n var styleNode = domNode.querySelector(\"#\".concat(scope));\n var attr = scope.toLowerCase();\n\n if (!cssText) {\n if (styleNode) {\n if (!styleNode.scoped) {\n removeScopeFromDomNode(domNode, attr);\n }\n\n domNode.removeChild(styleNode);\n }\n } else {\n var shouldInsertNode = !styleNode;\n var scopedCSS = cssText;\n\n if (shouldInsertNode) {\n styleNode = document.createElement('style');\n styleNode.setAttribute('scoped', true);\n styleNode.setAttribute('type', 'text/css');\n styleNode.id = scope;\n }\n\n if (!styleNode.scoped) {\n // if scoped styles are not supported\n addScopeToDomNode(domNode, attr);\n scopedCSS = scopeCssText(scopedCSS, \"[\".concat(attr, \"]\"));\n }\n\n if (shouldInsertNode) {\n domNode.insertBefore(styleNode, domNode.firstChild);\n }\n\n if ('textContent' in styleNode) {\n styleNode.textContent = scopedCSS;\n } else {\n styleNode.styleSheet.cssText = scopedCSS;\n }\n }\n}\n\nfunction scopeCssText(cssText, scope) {\n return transformCss(cssText, function (rule) {\n var transformed = _objectSpread({}, rule);\n\n if (!rule.isScoped) {\n transformed.selector = scopeRule(rule, scope);\n transformed.isScoped = true;\n }\n\n return transformed;\n });\n}\n\nfunction addScopeToDomNode(node, scope) {\n // for SVG nodes children is undefined in IE/Edge\n var children = node.children || node.childNodes;\n\n if (node.setAttribute) {\n node.setAttribute(scope, '');\n }\n\n for (var i = 0; i < children.length; i++) {\n addScopeToDomNode(children[i], scope);\n }\n}\n\nfunction removeScopeFromDomNode(node, scope) {\n var children = node.children || node.childNodes;\n\n if (node.removeAttribute) {\n node.removeAttribute(scope);\n }\n\n for (var i = 0; i < children.length; i++) {\n removeScopeFromDomNode(children[i], scope);\n }\n}\n\nfunction isRootSelector(selector) {\n // eslint-disable-next-line no-useless-escape\n return selector.match(/^(_|html|body|\\:root)/i);\n}\n\nfunction isClassSelector(selector) {\n return selector.match(/(^)((\\S+)?(\\.)(\\S+))/);\n}\n\nfunction scopeSimpleSelector(selector, scope) {\n var parts = selector.split(':');\n parts[0] += scope;\n return parts.join(':');\n}\n\nfunction scopeCompoundSelector(selector, combinator, scope) {\n if (isRootSelector(selector)) {\n return selector;\n }\n\n var scopedSelector = scope ? scopeSimpleSelector(selector, scope) : selector;\n return combinator + scopedSelector;\n}\n\nfunction scopeComplexSelector(selector, scope) {\n var scopedSelector = selector.trim();\n scopedSelector = scopedSelector.replace( // eslint-disable-next-line no-useless-escape\n /(^|[\\s>+~]+)((?:\\[.+?\\]|[^\\s>+~=\\[])+)/g, function (match, combinator, selector) {\n var offset = arguments[arguments.length - 2];\n\n if (isClassSelector(selector) || offset > 0) {\n return scopeCompoundSelector(selector, combinator, scope);\n } else {\n return selector;\n }\n });\n return scopedSelector;\n}\n\nfunction scopeRule(rule, scope) {\n var parts = rule.selector.split(',');\n\n if (!isKeyframesSelector(rule)) {\n parts = parts.map(function (part) {\n return scopeComplexSelector(part, scope);\n });\n }\n\n return parts.join(',');\n}\n\nexport default scopeStylesToNode;\nexport { scopeStylesToNode, scopeCssText };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n* ---\n* category: utilities/themes\n* ---\n* Return only the theme variables that are different from the default\n* @param {Object} defaultTheme\n* @param {Object} theme\n* @returns {Object} variables that are different from the defaults\n*/\nfunction pickOverrides(defaultTheme, theme) {\n var overrides = {}; // shortcut if possible\n\n if (defaultTheme === theme || !theme) return overrides; // filter out any properties that have values that are the same as in defaults\n\n Object.keys(theme).forEach(function (key) {\n if (defaultTheme[key] !== theme[key]) {\n overrides[key] = theme[key];\n }\n });\n return overrides;\n}\n\nexport default pickOverrides;\nexport { pickOverrides };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { isEmpty } from '@instructure/ui-utils';\nimport { scopeStylesToNode } from './scopeStylesToNode';\nimport { formatVariableNames } from './formatVariableNames';\nimport { pickOverrides } from './pickOverrides';\nimport { customPropertiesSupported } from './customPropertiesSupported';\nimport { getCssTextWithPolyfill } from './getCssText';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Apply theme variables to a DOM node (as CSS variables, with polyfill)\n * @module applyVariablesToNode\n * @param {Element} domNode HTML element to apply variables to using the style attribute\n * @param {Object} variables JS variables\n * @param {Object} defaults Default JS variables\n * @param {String} prefix A variable prefix/namespace\n * @param {Function} template (for IE) A template function that returns the CSS as a string with variables injected\n * @param {String} scope (for IE) A scope to apply to the styles applied to domNode\n */\n\nfunction applyVariablesToNode() {\n if (customPropertiesSupported()) {\n applyVariablesToNodeStyle.apply(this, arguments);\n } else {\n applyVariablesPolyfillToNode.apply(this, arguments);\n }\n}\n\nfunction applyVariablesPolyfillToNode(domNode, variables, defaults, prefix, template, scope) {\n if (!domNode || isEmpty(variables)) {\n return;\n }\n\n var overrides = pickOverrides(defaults, variables);\n var cssText = '';\n\n if (overrides && Object.keys(overrides).length > 0) {\n cssText = getCssTextWithPolyfill(template, _objectSpread({}, defaults, {}, variables));\n }\n\n scopeStylesToNode(domNode, cssText, scope);\n}\n\nfunction applyVariablesToNodeStyle(domNode, variables, defaults, prefix) {\n if (!domNode || isEmpty(variables)) {\n return;\n }\n\n clearCustomProperties(domNode, prefix);\n var overrides = pickOverrides(defaults, variables);\n\n if (overrides && !isEmpty(overrides)) {\n setCustomProperties(domNode, formatVariableNames(overrides, prefix));\n }\n}\n\nfunction clearCustomProperties(domNode, prefix) {\n var styles = domNode.style;\n\n for (var i = styles.length - 1; i >= 0; i--) {\n var prop = styles[i];\n\n if (prop.indexOf(\"--\".concat(prefix, \"-\")) >= 0) {\n domNode.style.removeProperty(prop);\n }\n }\n}\n\nfunction setCustomProperties(domNode, properties) {\n Object.keys(properties).forEach(function (propertyName) {\n var value = properties[propertyName];\n\n if (value) {\n domNode.style.setProperty(propertyName, value);\n }\n });\n}\n\nexport default applyVariablesToNode;\nexport { applyVariablesToNode, applyVariablesPolyfillToNode, applyVariablesToNodeStyle };","import { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { canUseDOM } from '@instructure/ui-dom-utils';\nvar hasRan = false;\n/**\n* ---\n* category: utilities/themes\n* ---\n* Sets the document text direction as it's required for themeable component\n* bidirectional styles.\n*/\n\nfunction setTextDirection() {\n if (hasRan) return;\n hasRan = true;\n\n if (canUseDOM) {\n var dir = document.documentElement.getAttribute('dir');\n\n if (!dir) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(dir, \"[themeable] component styles require setting a 'dir' attribute on the HTML element.\\n To prevent breaking changes, we'll set it to a default value: 'ltr'.\");\n\n document.documentElement.setAttribute('dir', 'ltr');\n }\n }\n}\n\nexport default setTextDirection;\nexport { setTextDirection };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _get from \"@babel/runtime/helpers/esm/get\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { decorator } from '@instructure/ui-decorator';\nimport { isEmpty, shallowEqual, deepEqual, hash } from '@instructure/ui-utils';\nimport { uid } from '@instructure/uid';\nimport { findDOMNode } from '@instructure/ui-dom-utils';\nimport { ThemeContext } from './ThemeContext';\nimport { applyVariablesToNode } from './applyVariablesToNode';\nimport { setTextDirection } from './setTextDirection';\nimport { generateComponentTheme, generateTheme, registerComponentTheme, mountComponentStyles } from './ThemeRegistry';\n/**\n* ---\n* category: utilities/themes\n* ---\n* A decorator or higher order component that makes a component `themeable`.\n*\n* As a HOC:\n*\n* ```js\n* import themeable from '@instructure/ui-themeable'\n* import styles from 'styles.css'\n* import theme from 'theme.js'\n*\n* class Example extends React.Component {\n* render () {\n* return
Hello
\n* }\n* }\n*\n* export default themeable(theme, styles)(Example)\n* ```\n*\n* Note: in the above example, the CSS file must be transformed into a JS object\n* via [babel](#babel-plugin-themeable-styles) or [webpack](#ui-webpack-config) loader.\n*\n* Themeable components inject their themed styles into the document when they are mounted.\n*\n* After the initial mount, a themeable component's theme can be configured explicitly\n* via its `theme` prop or passed via React context using the [ApplyTheme](#ApplyTheme) component.\n*\n* Themeable components register themselves with the [global theme registry](#registry)\n* when they are imported into the application, so you will need to be sure to import them\n* before you mount your application so that the default themed styles can be generated and injected.\n*\n* @param {function} theme - A function that generates the component theme variables.\n* @param {object} styles - The component styles object.\n* @param {function} adapter - A function for mapping deprecated theme vars to updated values.\n* @return {function} composes the themeable component.\n*/\n\nvar emptyObj = {};\n/*\n * Note: there are consumers (like canvas-lms and other edu org repos) that are\n * consuming this file directly from \"/src\" (as opposed to \"/es\" or \"/lib\" like normal)\n * because they need this file to not have the babel \"class\" transform ran against it\n * (aka they need it to use real es6 `class`es, since you can't extend real es6\n * class from es5 transpiled code)\n *\n * Which means that for the time being, we can't use any other es6/7/8 features in\n * here that aren't supported by \"last 2 edge versions\" since we can't rely on babel\n * to transpile them for those apps.\n *\n * So, that means don't use \"static\" class properties (like `static PropTypes = {...}`),\n * or object spread (like \"{...foo, ..bar}\")\" in this file until instUI 7 is released.\n * Once we release instUI 7, the plan is to stop transpiling the \"/es\" dir for ie11\n * so once we do that, this caveat no longer applies.\n */\n\nvar themeable = decorator(function (ComposedComponent, theme) {\n var styles = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var adapter = arguments.length > 3 ? arguments[3] : void 0;\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var componentId = \"\".concat(styles && styles.componentId || hash(ComposedComponent, 8));\n\n if (process.env.NODE_ENV !== 'production') {\n componentId = \"\".concat(displayName, \"__\").concat(componentId);\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(parseInt(React.version) >= 15, \"[themeable] React 15 or higher is required. You are running React version \".concat(React.version, \".\"));\n }\n\n var contextKey = Symbol(componentId);\n\n var template = function template() {};\n\n if (styles && styles.template) {\n template = typeof styles.template === 'function' ? styles.template : function () {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, '[themeable] Invalid styles for: %O. Use @instructure/babel-plugin-themeable-styles to transform CSS imports.', displayName);\n\n return '';\n };\n }\n\n registerComponentTheme(contextKey, theme);\n\n var getContext = function getContext(context) {\n var themeContext = ThemeContext.getThemeContext(context);\n return themeContext || emptyObj;\n };\n\n var getThemeFromContext = function getThemeFromContext(context) {\n var _getContext = getContext(context),\n theme = _getContext.theme;\n\n if (theme && theme[contextKey]) {\n return Object.assign({}, theme[contextKey]);\n } else {\n return emptyObj;\n }\n };\n\n var generateThemeForContextKey = function generateThemeForContextKey(themeKey, overrides) {\n return generateComponentTheme(contextKey, themeKey, overrides);\n };\n\n var ThemeableComponent =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(ThemeableComponent, _ComposedComponent);\n\n function ThemeableComponent() {\n var _this;\n\n _classCallCheck(this, ThemeableComponent);\n\n var res = _this = _possibleConstructorReturn(this, _getPrototypeOf(ThemeableComponent).apply(this, arguments));\n\n _this._themeCache = null;\n _this._instanceId = uid(displayName);\n var defaultTheme = generateThemeForContextKey();\n mountComponentStyles(template, defaultTheme, componentId);\n return _possibleConstructorReturn(_this, res);\n }\n\n _createClass(ThemeableComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.applyTheme();\n setTextDirection();\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidMount\", this)) {\n _get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidMount\", this).call(this);\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState, nextContext) {\n var themeContextWillChange = !deepEqual(ThemeContext.getThemeContext(this.context), ThemeContext.getThemeContext(nextContext));\n if (themeContextWillChange) return true;\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"shouldComponentUpdate\", this)) {\n return _get(_getPrototypeOf(ThemeableComponent.prototype), \"shouldComponentUpdate\", this).call(this, nextProps, nextState, nextContext);\n }\n\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState) || !shallowEqual(this.context, nextContext);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, prevContext) {\n if (!deepEqual(prevProps.theme, this.props.theme) || !deepEqual(getThemeFromContext(prevContext), getThemeFromContext(this.context))) {\n this._themeCache = null;\n }\n\n this.applyTheme();\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidUpdate\", this)) {\n _get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidUpdate\", this).call(this, prevProps, prevState, prevContext);\n }\n }\n }, {\n key: \"applyTheme\",\n value: function applyTheme(DOMNode) {\n if (isEmpty(this.theme)) {\n return;\n }\n\n var defaultTheme = generateThemeForContextKey();\n applyVariablesToNode(DOMNode || findDOMNode(this), // eslint-disable-line react/no-find-dom-node\n this.theme, defaultTheme, componentId, template, // for IE 11\n this.scope // for IE 11\n );\n }\n }, {\n key: \"scope\",\n get: function get() {\n return \"\".concat(componentId, \"__\").concat(this._instanceId);\n }\n }, {\n key: \"theme\",\n get: function get() {\n if (this._themeCache !== null) {\n return this._themeCache;\n }\n\n var _getContext2 = getContext(this.context),\n immutable = _getContext2.immutable;\n\n var theme = getThemeFromContext(this.context);\n\n if (this.props.theme && !isEmpty(this.props.theme)) {\n if (!theme) {\n theme = this.props.theme;\n } else if (immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, '[themeable] Parent theme is immutable. Cannot apply theme: %O', this.props.theme);\n } else {\n theme = isEmpty(theme) ? this.props.theme : Object.assign({}, theme, this.props.theme);\n }\n } // If adapter is provided, pass any overrides\n\n\n if (typeof adapter === 'function') {\n theme = adapter({\n theme: theme,\n displayName: displayName\n });\n } // pass in the component theme as overrides\n\n\n this._themeCache = generateThemeForContextKey(null, theme);\n return this._themeCache;\n }\n }]);\n\n return ThemeableComponent;\n }(ComposedComponent);\n\n ThemeableComponent.componentId = componentId;\n ThemeableComponent.theme = contextKey;\n ThemeableComponent.contextTypes = Object.assign({}, ComposedComponent.contextTypes, ThemeContext.types);\n ThemeableComponent.propTypes = Object.assign({}, ComposedComponent.propTypes, {\n theme: PropTypes.object\n } // eslint-disable-line react/forbid-prop-types\n );\n ThemeableComponent.generateTheme = generateThemeForContextKey;\n return ThemeableComponent;\n});\n/**\n* Utility to generate a theme for all themeable components that have been registered.\n* This theme can be applied using the [ApplyTheme](#ApplyTheme) component.\n*\n* @param {String} themeKey The theme to use (for global theme variables across components)\n* @param {Object} overrides theme variable overrides (usually for dynamic/user defined values)\n* @return {Object} A theme config to use with ``\n*/\n\nthemeable.generateTheme = generateTheme;\nexport default themeable;\nexport { themeable };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeDeep } from '@instructure/ui-utils';\nimport { ensureSingleChild } from '@instructure/ui-react-utils';\nimport { ThemeContext } from '../ThemeContext';\nimport { themeable } from '../themeable';\n/**\n---\ncategory: components/utilities\n---\n**/\n\nvar ApplyTheme =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(ApplyTheme, _Component);\n\n function ApplyTheme() {\n _classCallCheck(this, ApplyTheme);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ApplyTheme).apply(this, arguments));\n }\n\n _createClass(ApplyTheme, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var theme = this.props.theme || {};\n var parentThemeContext = ThemeContext.getThemeContext(this.context) || {};\n\n if (parentThemeContext.immutable && parentThemeContext.theme) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(!this.props.theme, '[ApplyTheme] Parent theme is immutable. Cannot apply theme: %O', this.props.theme);\n\n theme = parentThemeContext.theme;\n } else if (parentThemeContext.theme) {\n theme = mergeDeep(parentThemeContext.theme, theme);\n }\n\n return ThemeContext.makeThemeContext(theme, parentThemeContext.immutable || this.props.immutable);\n }\n }, {\n key: \"render\",\n value: function render() {\n return ensureSingleChild(this.props.children);\n }\n }]);\n\n ApplyTheme.displayName = \"ApplyTheme\";\n return ApplyTheme;\n}(Component);\n\nApplyTheme.propTypes = {\n /**\n * set theme variables to override the defaults\n */\n theme: PropTypes.object,\n\n /**\n * accepts only one child (children must be wrapped in a single component/element)\n */\n children: PropTypes.node,\n\n /**\n * Prevent overriding this theme via a child ApplyTheme component or theme props\n */\n immutable: PropTypes.bool\n};\nApplyTheme.defaultProps = {\n theme: void 0,\n children: null,\n immutable: false\n};\nApplyTheme.childContextTypes = ThemeContext.types;\nApplyTheme.contextTypes = ThemeContext.types;\nApplyTheme.generateTheme = themeable.generateTheme;\nexport default ApplyTheme;\nexport { ApplyTheme };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar ThemeablePropValues = {\n SHADOW_TYPES: {\n resting: 'resting',\n above: 'above',\n topmost: 'topmost',\n none: 'none'\n },\n STACKING_TYPES: {\n deepest: 'deepest',\n below: 'below',\n resting: 'resting',\n above: 'above',\n topmost: 'topmost'\n },\n BORDER_WIDTHS: {\n '0': '0',\n none: 'none',\n small: 'small',\n medium: 'medium',\n large: 'large'\n },\n BORDER_RADII: {\n '0': '0',\n none: 'none',\n small: 'small',\n medium: 'medium',\n large: 'large',\n circle: 'circle',\n pill: 'pill'\n },\n BACKGROUNDS: {\n default: 'default',\n inverse: 'inverse',\n transparent: 'transparent'\n },\n SIZES: {\n xSmall: 'x-small',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xLarge: 'x-large'\n },\n SPACING: {\n '0': '0',\n none: 'none',\n auto: 'auto',\n xxxSmall: 'xxx-small',\n xxSmall: 'xx-small',\n xSmall: 'x-small',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xLarge: 'x-large',\n xxLarge: 'xx-large'\n }\n};\nexport default ThemeablePropValues;\nexport { ThemeablePropValues };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Converts a hyphenated string to camel case\n *\n * Example inputs:\n * - 'foo-bar'\n * - 'baz-qux'\n *\n * Example outputs:\n * - 'fooBar'\n * - 'bazQux'\n *\n * @param {String} str\n * @returns {String} Returns camel cased string\n*/\nfunction camelize(str) {\n return str.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n });\n}\n\nexport default camelize;\nexport { camelize };","import { error as _error } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { isEmpty, camelize } from '@instructure/ui-utils';\n\nfunction getShorthandPropValue(componentName, componentTheme, propValue, propName) {\n if (typeof propValue !== 'string' || isEmpty(componentTheme)) {\n return;\n }\n\n return propValue.split(' ').map(function (shortHandValue) {\n if (shortHandValue === 'auto' || shortHandValue === '0') {\n return shortHandValue;\n }\n\n if (shortHandValue === 'none') {\n return '0';\n }\n\n if (shortHandValue === 'circle') {\n return '100%';\n }\n\n if (shortHandValue === 'pill') {\n return '999em';\n }\n\n var themeVariableName = camelize(\"\".concat(propName, \"-\").concat(shortHandValue));\n var themeVariableValue = componentTheme[themeVariableName];\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(themeVariableValue, \"[\".concat(componentName, \"] '\").concat(themeVariableName, \"' is an invalid '\").concat(propName, \"' value.\"));\n\n return themeVariableValue || '0';\n }).join(' ').trim();\n}\n\nexport default getShorthandPropValue;\nexport { getShorthandPropValue };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { camelize } from '@instructure/ui-utils';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Given a prefix and a theme object, prepends the object keys with\n * the designated prefix and camel cases the concatenation.\n *\n * @param {String} prefix - a string to prepend to object keys\n * @param {Object} vars - an object\n * @returns {Object} a modified object with prefixed keys\n */\n\nfunction makeThemeVars(prefix, vars) {\n var themeVars = {};\n Object.keys(vars).forEach(function (variable) {\n themeVars[camelize(\"\".concat(prefix, \"-\").concat(variable))] = vars[variable];\n });\n return themeVars;\n}\n\nexport default makeThemeVars;\nexport { makeThemeVars };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * @module mirrorShorthand\n */\n\n/**\n * Mirror shorthand CSS properties for bidirectional text\n *\n * Given a string representing a CSS shorthand for edges,\n * swaps the values such that 4 value syntax is RTL instead\n * of LTR.\n *\n * See the following for further reference:\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties\n *\n * @param {String} values - space delimited string values representing a CSS shorthand\n * @returns {String} a space delimited CSS shorthand string converted to RTL\n */\nfunction mirrorShorthandEdges(values) {\n if (typeof values !== 'string') {\n return;\n }\n\n var valuesArr = values.split(' ');\n\n if (valuesArr.length === 4) {\n // swap the 2nd and 4th values\n var _ref = [valuesArr[3], valuesArr[1]];\n valuesArr[1] = _ref[0];\n valuesArr[3] = _ref[1];\n }\n\n return valuesArr.join(' ');\n}\n/**\n * Convert shorthand CSS properties for corners to rtl\n *\n * Given a string representing a CSS shorthand for corners,\n * swaps the values such that 2,3 and 4 value syntax is rtl\n * instead of ltr.\n *\n * See the following for further reference:\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties\n *\n * @param {String} values - space delimited string values representing a CSS shorthand\n * @returns {String} a space delimited CSS shorthand string converted to RTL\n */\n\n\nfunction mirrorShorthandCorners(values) {\n if (typeof values !== 'string') {\n return;\n }\n\n var valuesArr = values.split(' ');\n\n if (valuesArr.length === 2) {\n // swap the 1st and 2nd values\n var _ref2 = [valuesArr[1], valuesArr[0]];\n valuesArr[0] = _ref2[0];\n valuesArr[1] = _ref2[1];\n }\n\n if (valuesArr.length === 3) {\n // convert 3 value syntax to 4 value syntax\n valuesArr.push(valuesArr[1]);\n }\n\n if (valuesArr.length === 4) {\n var _ref3 = [valuesArr[1], valuesArr[0], valuesArr[3], valuesArr[2]];\n valuesArr[0] = _ref3[0];\n valuesArr[1] = _ref3[1];\n valuesArr[2] = _ref3[2];\n valuesArr[3] = _ref3[3];\n }\n\n return valuesArr.join(' ');\n}\n\nexport { mirrorShorthandEdges, mirrorShorthandCorners };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { mirrorShorthandCorners } from './mirrorShorthand';\nexport default mirrorShorthandCorners;\nexport { mirrorShorthandCorners };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport PropTypes from 'prop-types';\nimport { ThemeablePropValues } from './ThemeablePropValues';\nvar SHADOW_TYPES = ThemeablePropValues.SHADOW_TYPES,\n STACKING_TYPES = ThemeablePropValues.STACKING_TYPES,\n BORDER_WIDTHS = ThemeablePropValues.BORDER_WIDTHS,\n BORDER_RADII = ThemeablePropValues.BORDER_RADII,\n BACKGROUNDS = ThemeablePropValues.BACKGROUNDS,\n SIZES = ThemeablePropValues.SIZES,\n SPACING = ThemeablePropValues.SPACING;\n/**\n * ---\n * category: utilities/themes\n * ---\n * Custom prop types for themeable React components.\n * @module ThemeablePropTypes\n */\n\nvar ThemeablePropTypes = {\n shadow: PropTypes.oneOf(Object.values(SHADOW_TYPES)),\n stacking: PropTypes.oneOf(Object.values(STACKING_TYPES)),\n borderWidth: shorthandPropType(Object.values(BORDER_WIDTHS)),\n borderRadius: shorthandPropType(Object.values(BORDER_RADII)),\n background: PropTypes.oneOf(Object.values(BACKGROUNDS)),\n size: PropTypes.oneOf(Object.values(SIZES)),\n spacing: shorthandPropType(Object.values(SPACING))\n};\n\nfunction shorthandPropType(validValues) {\n return function (props, propName, componentName, location) {\n var propValue = props[propName];\n\n if (typeof propValue === 'undefined') {\n return;\n }\n\n var propValueType = typeof propValue;\n\n if (propValueType !== 'string') {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` of type `\").concat(propValueType, \"` supplied to `\").concat(componentName, \"`, expected \") + \"a string.\");\n }\n\n var propValues = propValue.split(' ');\n var valuesLength = propValues.length;\n\n if (valuesLength > 0 && valuesLength < 5) {\n for (var i = 0; i < valuesLength; i++) {\n var valueIndex = validValues.indexOf(propValues[i]);\n\n if (valueIndex === -1) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` `\").concat(propValues[i], \"` supplied to `\").concat(componentName, \"`, expected \") + \"a one of `\".concat(validValues.join(', '), \"`.\"));\n }\n }\n } else {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` `\").concat(propValue, \"` supplied to `\").concat(componentName, \"`, expected \") + \"between one and four of the following valid values: `\".concat(validValues.join(', '), \"`.\"));\n }\n };\n}\n\nexport default ThemeablePropTypes;\nexport { ThemeablePropTypes, shorthandPropType };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable } from '@instructure/ui-themeable';\nimport { uid } from '@instructure/uid';\nimport { omitProps } from '@instructure/ui-react-utils';\nimport { testable } from '@instructure/ui-testable';\nvar styles = {\n componentId: 'esvoZ',\n template: function template(theme) {\n return \"\\n\\n.esvoZ_bGBk{fill:currentColor}\\n\\n.esvoZ_eXrk{display:inline-block}\\n\\n.esvoZ_cRbP{display:block}\\n\\n.esvoZ_drOs{color:inherit}\\n\\n.esvoZ_eCSh{color:\".concat(theme.primaryColor || 'inherit', \"}\\n\\n.esvoZ_buuG{color:\").concat(theme.secondaryColor || 'inherit', \"}\\n\\n.esvoZ_bFtJ{color:\").concat(theme.primaryInverseColor || 'inherit', \"}\\n\\n.esvoZ_dsSB{color:\").concat(theme.secondaryInverseColor || 'inherit', \"}\\n\\n.esvoZ_eZal{color:\").concat(theme.successColor || 'inherit', \"}\\n\\n.esvoZ_cVUo{color:\").concat(theme.brandColor || 'inherit', \"}\\n\\n.esvoZ_eScd{color:\").concat(theme.warningColor || 'inherit', \"}\\n\\n.esvoZ_cpQl{color:\").concat(theme.errorColor || 'inherit', \"}\\n\\n.esvoZ_cUGG{color:\").concat(theme.alertColor || 'inherit', \"}\");\n },\n 'root': 'esvoZ_bGBk',\n 'inline': 'esvoZ_eXrk',\n 'block': 'esvoZ_cRbP',\n 'color--inherit': 'esvoZ_drOs',\n 'color--primary': 'esvoZ_eCSh',\n 'color--secondary': 'esvoZ_buuG',\n 'color--primary-inverse': 'esvoZ_bFtJ',\n 'color--secondary-inverse': 'esvoZ_dsSB',\n 'color--success': 'esvoZ_eZal',\n 'color--brand': 'esvoZ_cVUo',\n 'color--warning': 'esvoZ_eScd',\n 'color--error': 'esvoZ_cpQl',\n 'color--alert': 'esvoZ_cUGG'\n};\nimport theme from './theme';\n/**\n---\ncategory: components/utilities\n---\n**/\n\nvar InlineSVG = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(InlineSVG, _Component);\n\n function InlineSVG() {\n var _this;\n\n _classCallCheck(this, InlineSVG);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InlineSVG).call(this));\n _this.titleId = uid('InlineSVG-title');\n _this.descId = uid('InlineSVG-desc');\n return _this;\n }\n\n _createClass(InlineSVG, [{\n key: \"renderTitle\",\n value: function renderTitle() {\n var title = this.props.title;\n return title ? React.createElement(\"title\", {\n id: this.titleId\n }, title) : null;\n }\n }, {\n key: \"renderDesc\",\n value: function renderDesc(desc) {\n return desc ? React.createElement(\"desc\", {\n id: this.descId\n }, desc) : null;\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n if (this.props.src) {\n var src = InlineSVG.prepareSrc(this.props.src);\n return React.createElement(\"g\", {\n role: \"presentation\",\n dangerouslySetInnerHTML: {\n __html: src\n } // eslint-disable-line react/no-danger\n\n });\n } else {\n return React.createElement(\"g\", {\n role: \"presentation\"\n }, this.props.children);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classnames;\n\n var _this$props = this.props,\n style = _this$props.style,\n title = _this$props.title,\n description = _this$props.description,\n focusable = _this$props.focusable,\n children = _this$props.children,\n src = _this$props.src,\n color = _this$props.color,\n props = _objectWithoutProperties(_this$props, [\"style\", \"title\", \"description\", \"focusable\", \"children\", \"src\", \"color\"]); // if width or height are 'auto', don't supply anything to the SVG\n\n\n var width = this.props.width === 'auto' ? null : this.props.width;\n var height = this.props.height === 'auto' ? null : this.props.height;\n return React.createElement(\"svg\", Object.assign({}, parseAttributes(this.props.src), omitProps(this.props, InlineSVG.propTypes, ['inline']), {\n style: _objectSpread({}, style, {\n width: width,\n height: height\n }),\n width: width,\n height: height,\n \"aria-hidden\": title ? null : 'true',\n \"aria-labelledby\": this.labelledBy,\n role: this.role,\n focusable: focusable ? 'true' : 'false',\n className: classnames((_classnames = {}, _defineProperty(_classnames, styles.root, true), _defineProperty(_classnames, styles[\"color--\".concat(color)], color !== 'auto'), _defineProperty(_classnames, styles.inline, this.props.inline), _defineProperty(_classnames, styles.block, !this.props.inline), _defineProperty(_classnames, props.className, props.className), _classnames))\n }), this.renderTitle(), this.renderDesc(description), this.renderContent());\n }\n }, {\n key: \"role\",\n get: function get() {\n if (this.props.title) {\n return 'img';\n } else {\n return 'presentation';\n }\n }\n }, {\n key: \"labelledBy\",\n get: function get() {\n var ids = [];\n\n if (this.props.title) {\n ids.push(this.titleId);\n }\n\n if (this.props.description) {\n ids.push(this.descId);\n }\n\n return ids.length > 0 ? ids.join(' ') : null;\n }\n }]);\n\n InlineSVG.displayName = \"InlineSVG\";\n return InlineSVG;\n}(Component), _class2.propTypes = {\n children: PropTypes.node,\n src: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n focusable: PropTypes.bool,\n\n /**\n * To let the SVG expand to fill its container, use `auto`\n */\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * To let the SVG expand to fill its container, use `auto`\n */\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n inline: PropTypes.bool,\n color: PropTypes.oneOf(['inherit', 'primary', 'secondary', 'primary-inverse', 'secondary-inverse', 'success', 'error', 'alert', 'warning', 'brand', 'auto'])\n}, _class2.defaultProps = {\n focusable: false,\n src: '',\n title: '',\n description: '',\n inline: true,\n children: null,\n width: '1em',\n height: '1em',\n color: 'inherit'\n}, _class2.prepareSrc = function (src) {\n var pattern = /]*>((.|[\\n\\r])*)<\\/svg>/;\n var matches = pattern.exec(src);\n return matches ? matches[1] : src;\n}, _temp)) || _class) || _class);\n\nfunction parseAttributes(src) {\n var attributes = {};\n var SVGAttributesRegExp = /]*)\\s*>/;\n var namesAndValuesRegExp = /(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|[>\"']))+.)[\"']?/g;\n\n if (typeof src === 'string') {\n var attributesMatches = SVGAttributesRegExp.exec(src);\n var attributesString = attributesMatches ? attributesMatches[1] : '';\n var excludes = ['xmlns', 'xmlns:xlink', 'version'];\n var match = namesAndValuesRegExp.exec(attributesString);\n\n while (match != null) {\n if (excludes.indexOf(match[1]) === -1) {\n attributes[match[1]] = match[2] || (match[3] ? match[3] : match[4] ? match[4] : match[5]) || match[1]; // eslint-disable-line no-nested-ternary, max-len\n }\n\n match = namesAndValuesRegExp.exec(attributesString);\n }\n }\n\n return attributes;\n}\n\nexport default InlineSVG;\nexport { InlineSVG };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { cleanCss } from './parseCss';\nexport default cleanCss;\nexport { cleanCss };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { ruleTypes } from './parseCss';\nexport default ruleTypes;\nexport { ruleTypes };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _get from \"@babel/runtime/helpers/esm/get\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { findDOMNode } from 'react-dom';\nimport { decorator } from '@instructure/ui-decorator';\nvar testable = process.env.NODE_ENV === 'production' && // If you would like to the `data-cid` attributes on elements even in your\n// production builds (like if you are using them in your e2e builds or\n// something), you need to set the environment variable\n// ALWAYS_APPEND_UI_TESTABLE_LOCATORS=1\n// We do this because adding those `data-cid` locators slows things down.\n!process.env.ALWAYS_APPEND_UI_TESTABLE_LOCATORS ? function () {\n return function (Component) {\n return Component;\n };\n} : decorator(function (ComposedComponent) {\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var locator = {\n attribute: 'data-cid',\n value: displayName\n };\n var selector = \"[\".concat(locator.attribute, \"~=\\\"\").concat(locator.value, \"\\\"]\");\n\n var TestableComponent =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(TestableComponent, _ComposedComponent);\n\n function TestableComponent() {\n _classCallCheck(this, TestableComponent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(TestableComponent).apply(this, arguments));\n }\n\n _createClass(TestableComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (_get(_getPrototypeOf(TestableComponent.prototype), \"componentDidMount\", this)) {\n var _get2;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n (_get2 = _get(_getPrototypeOf(TestableComponent.prototype), \"componentDidMount\", this)).call.apply(_get2, [this].concat(args));\n }\n\n this.appendLocatorAttribute();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (_get(_getPrototypeOf(TestableComponent.prototype), \"componentDidUpdate\", this)) {\n var _get3;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n (_get3 = _get(_getPrototypeOf(TestableComponent.prototype), \"componentDidUpdate\", this)).call.apply(_get3, [this].concat(args));\n }\n\n this.appendLocatorAttribute();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._testableUnmounted = true;\n\n if (_get(_getPrototypeOf(TestableComponent.prototype), \"componentWillUnmount\", this)) {\n var _get4;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n (_get4 = _get(_getPrototypeOf(TestableComponent.prototype), \"componentWillUnmount\", this)).call.apply(_get4, [this].concat(args));\n }\n\n clearTimeout(this.locatorTimeout);\n }\n }, {\n key: \"appendLocatorAttribute\",\n value: function appendLocatorAttribute() {\n var _this = this;\n\n this.locatorTimeout = setTimeout(function () {\n var _node;\n\n var node;\n\n if (_this._testableUnmounted) {\n return;\n }\n\n try {\n // Use this.DOMNode for components that render as non-native Portals...\n node = _this.DOMNode || findDOMNode(_this);\n } catch (e) {}\n\n if ((_node = node) === null || _node === void 0 ? void 0 : _node.getAttribute) {\n var attribute = node.getAttribute(locator.attribute);\n var values = typeof attribute === 'string' ? attribute.split(/\\s+/) : [];\n\n if (!values.includes(locator.value)) {\n values.push(locator.value);\n }\n\n node.setAttribute(locator.attribute, values.join(' '));\n }\n });\n }\n }]);\n\n return TestableComponent;\n }(ComposedComponent);\n\n TestableComponent.selector = selector;\n return TestableComponent;\n});\nexport default testable;\nexport { testable };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport isPropValid from '@emotion/is-prop-valid'; // list of \"valid\" props https://github.com/emotion-js/emotion/blob/master/packages/is-prop-valid/src/props.js\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar omit = function omit(originalObject, keys) {\n // code based on babel's _objectWithoutProperties\n var newObject = {};\n\n for (var key in originalObject) {\n // special case because we always want to omit these and === is faster than concat'ing them in\n if (key === 'theme' || key === 'children' || key === 'className' || key === 'style') continue;\n if (keys.includes(key) || !hasOwnProperty.call(originalObject, key)) continue;\n newObject[key] = originalObject[key];\n }\n\n return newObject;\n};\n\nfunction omitProps(props, propTypes, exclude) {\n var keys = Object.keys(propTypes || {});\n var combined = exclude ? keys.concat(exclude) : keys;\n return omit(props, combined);\n} // this was the fastest implementation from testing: https://jsperf.com/pick-props\n\n\nfunction pick(obj, keys) {\n var res = {};\n var len = keys.length;\n var idx = -1;\n var key;\n\n while (++idx < len) {\n key = keys[idx];\n\n if (key in obj) {\n res[key] = obj[key];\n }\n }\n\n return res;\n}\n\nfunction pickProps(props, propTypes, include) {\n var keys = Object.keys(propTypes || {});\n var combined = include ? keys.concat(include) : keys;\n return pick(props, combined);\n}\n\nfunction passthroughProps(props) {\n var validProps = {};\n Object.keys(props) // style and className need to be explicitly passed through\n .filter(function (propName) {\n return isPropValid(propName) && propName !== 'style' && propName !== 'className' && propName !== 'children';\n }).forEach(function (propName) {\n validProps[propName] = props[propName];\n });\n return validProps;\n}\n\nexport { pickProps, omitProps, passthroughProps };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/* Global variables (colors, typography, spacing, etc.) are defined in lib/themes */\nexport default function generator(_ref) {\n var colors = _ref.colors;\n return {\n primaryInverseColor: colors.textLightest,\n primaryColor: colors.textDarkest,\n secondaryColor: colors.textDark,\n secondaryInverseColor: colors.textLight,\n warningColor: colors.textWarning,\n brandColor: colors.textBrand,\n errorColor: colors.textDanger,\n alertColor: colors.textAlert,\n successColor: colors.textSuccess\n };\n}\n\ngenerator.canvas = function (variables) {\n return {\n primaryColor: variables['ic-brand-font-color-dark'],\n brandColor: variables['ic-brand-primary']\n };\n};","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable } from '@instructure/ui-themeable';\nimport { testable } from '@instructure/ui-testable';\nimport { InlineSVG } from '../InlineSVG';\nvar styles = {\n componentId: 'cGqzL',\n template: function template(theme) {\n return \"\\n\\n.cGqzL_bGBk{height:1em;line-height:1;vertical-align:middle;width:1em}\\n\\n.cGqzL_cwgF{transform:rotate(90deg)}\\n\\n.cGqzL_exaY{transform:rotate(180deg)}\\n\\n.cGqzL_dTDN{transform:rotate(270deg)}\\n\\n[dir=rtl] .cGqzL_owrh{transform:scaleX(-1)}\\n\\n[dir=rtl] .cGqzL_owrh.cGqzL_cwgF{transform:scaleX(-1) rotate(90deg)}\\n\\n[dir=rtl] .cGqzL_owrh .cGqzL_exaY{transform:scaleX(-1) rotate(180deg)}\\n\\n[dir=rtl] .cGqzL_owrh .cGqzL_dTDN{transform:scaleX(-1) rotate(270deg)}\\n\\n.cGqzL_dIzR{font-size:\".concat(theme.sizeXSmall || 'inherit', \"}\\n\\n.cGqzL_VCXp{font-size:\").concat(theme.sizeSmall || 'inherit', \"}\\n\\n.cGqzL_fKcQ{font-size:\").concat(theme.sizeMedium || 'inherit', \"}\\n\\n.cGqzL_cnhd{font-size:\").concat(theme.sizeLarge || 'inherit', \"}\\n\\n.cGqzL_fWMB{font-size:\").concat(theme.sizeXLarge || 'inherit', \"}\");\n },\n 'root': 'cGqzL_bGBk',\n 'rotate--90': 'cGqzL_cwgF',\n 'rotate--180': 'cGqzL_exaY',\n 'rotate--270': 'cGqzL_dTDN',\n 'bidirectional': 'cGqzL_owrh',\n 'size--x-small': 'cGqzL_dIzR',\n 'size--small': 'cGqzL_VCXp',\n 'size--medium': 'cGqzL_fKcQ',\n 'size--large': 'cGqzL_cnhd',\n 'size--x-large': 'cGqzL_fWMB'\n};\nimport theme from './theme';\n/**\n---\ncategory: components/utilities\n---\n**/\n\nvar SVGIcon = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(SVGIcon, _Component);\n\n function SVGIcon() {\n _classCallCheck(this, SVGIcon);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(SVGIcon).apply(this, arguments));\n }\n\n _createClass(SVGIcon, [{\n key: \"render\",\n value: function render() {\n var _classnames;\n\n var _this$props = this.props,\n rotate = _this$props.rotate,\n className = _this$props.className,\n size = _this$props.size,\n bidirectional = _this$props.bidirectional,\n props = _objectWithoutProperties(_this$props, [\"rotate\", \"className\", \"size\", \"bidirectional\"]);\n\n return React.createElement(InlineSVG, Object.assign({}, props, {\n rotate: rotate,\n className: classnames((_classnames = {}, _defineProperty(_classnames, styles.root, true), _defineProperty(_classnames, styles[\"rotate--\".concat(rotate)], rotate && rotate !== '0'), _defineProperty(_classnames, styles[\"size--\".concat(size)], size), _defineProperty(_classnames, styles.bidirectional, bidirectional), _defineProperty(_classnames, className, className), _classnames))\n }));\n }\n }]);\n\n SVGIcon.displayName = \"SVGIcon\";\n return SVGIcon;\n}(Component), _class2.propTypes = _objectSpread({}, InlineSVG.propTypes, {\n rotate: PropTypes.oneOf(['0', '90', '180', '270']),\n size: PropTypes.oneOf(['x-small', 'small', 'medium', 'large', 'x-large']),\n bidirectional: PropTypes.bool\n}), _class2.defaultProps = {\n rotate: '0',\n bidirectional: false,\n size: void 0\n}, _temp)) || _class) || _class);\nexport default SVGIcon;\nexport { SVGIcon };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function generator() {\n return {\n sizeXSmall: '1.125rem',\n sizeSmall: '2rem',\n sizeMedium: '3rem',\n sizeLarge: '5rem',\n sizeXLarge: '10rem'\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport React, { Component } from 'react';\nimport { SVGIcon } from '@instructure/ui-svg-images';\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M771.548 960.11L319 1412.658l188.562 188.562 452.548-452.548 452.548 452.548 188.562-188.562-452.548-452.548 452.548-452.548L1412.658 319 960.11 771.548 507.562 319 319 507.562z\",\n fillRule: \"nonzero\",\n stroke: \"none\",\n strokeWidth: \"1\"\n});\n\nvar IconXSolid =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(IconXSolid, _Component);\n\n function IconXSolid() {\n _classCallCheck(this, IconXSolid);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(IconXSolid).apply(this, arguments));\n }\n\n _createClass(IconXSolid, [{\n key: \"render\",\n value: function render() {\n return React.createElement(SVGIcon, Object.assign({}, this.props, {\n name: \"IconX\",\n viewBox: \"0 0 1920 1920\"\n }), _ref);\n }\n }]);\n\n IconXSolid.displayName = \"IconXSolid\";\n return IconXSolid;\n}(Component);\n\nIconXSolid.glyphName = 'x';\nIconXSolid.variant = 'Solid';\nIconXSolid.propTypes = _objectSpread({}, SVGIcon.propTypes);\nexport default IconXSolid;\nexport { IconXSolid };","import { warn as _warn } from \"@instructure/console\";\n\nfunction getElementType(Component, props, getDefault) {\n if (props.as && props.as !== Component.defaultProps.as) {\n return props.as;\n }\n\n if (typeof getDefault === 'function') {\n return getDefault();\n }\n\n if (props.href) {\n return 'a';\n }\n\n if (props.to) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn( // if to prop is used without as\n !props.as, \"[\".concat(Component.displayName, \"] `as` prop should be provided when using `to`\"));\n\n return 'a';\n }\n\n if (typeof props.onClick === 'function') {\n return 'button';\n }\n\n return Component.defaultProps.as || 'span';\n}\n\nexport default getElementType;\nexport { getElementType };","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { themeable } from '@instructure/ui-themeable';\nimport { passthroughProps, getElementType } from '@instructure/ui-react-utils';\nvar styles = {\n componentId: 'ergWt',\n template: function template(theme) {\n return \"\\n\\n.ergWt_bGBk{border:0;clip:rect(0 0 0 0);height:0.0625rem;inset-inline-start:0;margin:-0.0625rem;overflow:hidden;padding:0;position:absolute;top:0;width:0.0625rem}\\n\\n[dir=ltr] .ergWt_bGBk{left:0}\\n\\n[dir=rtl] .ergWt_bGBk{right:0}\";\n },\n 'root': 'ergWt_bGBk'\n};\n/**\n---\ncategory: components/utilities\n---\n@module ScreenReaderContent\n**/\n\nvar ScreenReaderContent = (_dec = themeable(null, styles), _dec(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(ScreenReaderContent, _Component);\n\n function ScreenReaderContent() {\n _classCallCheck(this, ScreenReaderContent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ScreenReaderContent).apply(this, arguments));\n }\n\n _createClass(ScreenReaderContent, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n props = _objectWithoutProperties(_this$props, [\"children\"]);\n\n var ElementType = getElementType(ScreenReaderContent, props);\n return React.createElement(ElementType, Object.assign({}, passthroughProps(props), {\n className: styles.root\n }), children);\n }\n }]);\n\n ScreenReaderContent.displayName = \"ScreenReaderContent\";\n return ScreenReaderContent;\n}(Component), _class2.propTypes = {\n /**\n * the element type to render as\n */\n as: PropTypes.elementType,\n\n /**\n * content meant for screen readers only\n */\n children: PropTypes.node\n}, _class2.defaultProps = {\n as: 'span',\n children: null\n}, _temp)) || _class);\nexport default ScreenReaderContent;\nexport { ScreenReaderContent };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/react\n * ---\n * Parse the component props for the interaction type. It will return one of 'enabled', 'disabled', or 'readonly'.\n * This is useful for form elements where consumers are able to either use the interaction prop as specified or the\n * native html disabled or readonly attributes\n *\n * @param {Object} args\n * @param {Object} args.props - the component props\n * @param {string} args.props.interaction - specifies the interaction mode, one of 'enabled', 'disabled', or 'readonly'\n * @param {boolean} args.props.disabled - specifies if the component is disabled. Will take precedence over readOnly\n * @param {boolean} args.props.readOnly - specifies if the component is readOnly\n * @param {Array} args.interactionTypes - an array specifying the interaction types available to the component, ['disabled', 'readOnly'] by default\n * @returns {String} one of 'enabled', 'disabled', or 'readonly'\n */\nexport function getInteraction() {\n var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n _ref$props = _ref.props,\n props = _ref$props === void 0 ? {} : _ref$props,\n _ref$interactionTypes = _ref.interactionTypes,\n interactionTypes = _ref$interactionTypes === void 0 ? ['disabled', 'readOnly'] : _ref$interactionTypes;\n\n var interaction = props.interaction,\n disabled = props.disabled,\n readOnly = props.readOnly; // interaction is the source of truth when it is provided\n\n if (interaction) return interaction; // if there's no interaction specified, use disabled or readOnly if they are defined as props (note, disabled will win\n // over readOnly if both are provided)\n\n if (interactionTypes.includes('disabled') && disabled) return 'disabled';\n if (interactionTypes.includes('readOnly') && readOnly) return 'readonly'; // We were provided with nothing, use enabled by default\n\n return 'enabled';\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Get the active element of the specified document\n *\n * @param {DomNode} doc - document by default or user specified doc\n * @throws Will throw an error in ie if no active element\n * @return {DomNode} the active element\n */\nfunction getActiveElement(doc) {\n try {\n return (doc || document).activeElement;\n } catch (e) {\n /* ie throws if no active element */\n }\n}\n\nexport default getActiveElement;\nexport { getActiveElement };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { findDOMNode } from './findDOMNode';\nimport { getActiveElement } from './getActiveElement';\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Determine if an element is the active element\n *\n * @param {ReactComponent|DomNode} el - component or DOM node\n * @returns {boolean} if the element is the active element\n */\n\nfunction isActiveElement(el) {\n var node = el && findDOMNode(el);\n return node && getActiveElement() === node;\n}\n\nexport default isActiveElement;\nexport { isActiveElement };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/react\n * ---\n * Get the displayName of a React component.\n *\n * For [themeable](#themeable) components defined as ES6 classes, the displayName can\n * be added via [babel plugin](#babel-plugin-themeable-styles) for [themeable](#themeable) components.\n *\n * @param {ReactComponent|String} Component\n * @returns {String} the component displayName\n */\nfunction getDisplayName(Component) {\n return typeof Component === 'string' ? Component : Component.displayName || Component.name;\n}\n\nexport default getDisplayName;\nexport { getDisplayName };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { getDisplayName } from './getDisplayName';\n/**\n * ---\n * category: utilities/react\n * ---\n * Check if a React component instance (React element) matches one of the\n * specified types.\n *\n * @param {ReactComponent} componentInstance\n * @param {Array} types an array of React components\n * @returns {Boolean} true if the component matches at least one of the types\n */\n\nfunction matchComponentTypes(componentInstance) {\n var types = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n\n if (componentInstance && componentInstance.type) {\n var displayNames = types.map(function (type) {\n return getDisplayName(type);\n });\n return displayNames.indexOf(getDisplayName(componentInstance.type)) >= 0;\n } else {\n return false;\n }\n}\n\nexport default matchComponentTypes;\nexport { matchComponentTypes };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport { matchComponentTypes } from '@instructure/ui-react-utils';\nimport { ScreenReaderContent } from '@instructure/ui-a11y-content';\n\nfunction hasVisibleChildren(children) {\n var visible = false;\n React.Children.forEach(children, function (child) {\n if (child && !matchComponentTypes(child, [ScreenReaderContent])) {\n visible = true;\n }\n });\n return visible;\n}\n\nexport default hasVisibleChildren;\nexport {\n/**\n * ---\n * category: utilities/a11y\n * ---\n * Returns `true` if any of the children are not wrapped with [ScreenReaderContent](#ScreenReaderContent).\n * @param {ReactChildren} children - A react component's children prop\n * @return {boolean} whether any of the children are visible\n */\nhasVisibleChildren };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { findDOMNode } from './findDOMNode';\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Retrieve the owner document of a specified element\n *\n * @param {ReactElement|DOMNode} el\n * @returns {DomNode} the owner document\n */\n\nfunction ownerDocument(el) {\n var node = el && findDOMNode(el);\n return node && node.ownerDocument || document;\n}\n\nexport default ownerDocument;\nexport { ownerDocument };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { findDOMNode } from './findDOMNode';\nimport { ownerDocument } from './ownerDocument';\n/**\n * ---\n * category: utilities/DOM\n * ---\n * Retrieve the owner window object associated with\n * the owner document of the specified element\n * @param {ReactElement|DOMNode} el\n * @returns {Object} the owner window\n */\n\nfunction ownerWindow(el) {\n var node = el && findDOMNode(el);\n var doc = ownerDocument(node);\n return doc && (doc.defaultView || doc.parentWindow);\n}\n\nexport default ownerWindow;\nexport { ownerWindow };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { findDOMNode } from './findDOMNode';\nimport { ownerWindow } from './ownerWindow';\nimport { canUseDOM } from './canUseDOM';\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Get the associated CSS properties and values for a\n * specified element\n *\n * @param {ReactComponent|DomNode} el - component or DOM node\n * @returns {Object} object containing css properties and values for the element\n */\n\nfunction getComputedStyle(el) {\n var style = {};\n\n if (canUseDOM) {\n var node = el && findDOMNode(el);\n style = node ? ownerWindow(el).getComputedStyle(node) : {};\n }\n\n return style;\n}\n\nexport default getComputedStyle;\nexport { getComputedStyle };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2018 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { canUseDOM, getComputedStyle } from '@instructure/ui-dom-utils';\nvar defaultDir, dirAttribute, observer;\n\nvar getDefaultDir = function getDefaultDir() {\n /**\n * use a cached value for the default of element's \"dir\" so we don't\n * have to call the expensive getComputedStyle to look it it up every time\n */\n if (defaultDir) {\n return defaultDir;\n }\n\n if (canUseDOM) {\n var htmlEl = document.documentElement;\n dirAttribute = htmlEl.getAttribute('dir');\n defaultDir = dirAttribute || getComputedStyle(htmlEl).direction;\n\n if (!observer) {\n observer = new MutationObserver(function () {\n var attr = htmlEl.getAttribute('dir');\n\n if (attr && attr !== dirAttribute) {\n dirAttribute = defaultDir = attr;\n }\n });\n observer.observe(htmlEl, {\n attributes: true\n });\n }\n\n return defaultDir;\n }\n};\n/**\n * ---\n * category: utilities/i18n\n * ---\n *\n * Return the direction ('ltr' or 'rtl') of an element\n * @param {Element} element will use the element by default\n * @returns {String} 'ltr' or 'rtl' (or `undefined` if no DOM is present)\n */\n\n\nfunction getTextDirection(element) {\n if (canUseDOM) {\n if (typeof element === 'undefined' || element === document.documentElement) return getDefaultDir();\n return element.getAttribute('dir') || getComputedStyle(element).direction;\n }\n}\n\nexport default getTextDirection;\nexport { getTextDirection };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport PropTypes from 'prop-types';\n/**\n * ---\n * category: utilities/i18n\n * ---\n * @module TextDirectionContext\n */\n\nvar CONTEXT_KEY = '@@bidirectional';\nvar DIRECTION = {\n ltr: 'ltr',\n rtl: 'rtl'\n};\nvar TextDirectionContext = {\n CONTEXT_KEY: CONTEXT_KEY,\n DIRECTION: DIRECTION,\n\n /**\n * React context types for [bidirectional](#bidirectional) components and\n * the [ApplyTextDirection](#ApplyTextDirection) component.\n */\n types: _defineProperty({}, CONTEXT_KEY, PropTypes.shape({\n dir: PropTypes.oneOf(Object.values(DIRECTION))\n })),\n\n /**\n * create direction context\n * @param {string} dir\n */\n makeTextDirectionContext: function makeTextDirectionContext(dir) {\n return _defineProperty({}, CONTEXT_KEY, {\n dir: dir\n });\n },\n\n /**\n * get a direction context from a context object\n * @param {ReactContext} context React context object\n * @returns {Object} a direction context object\n */\n getTextDirectionContext: function getTextDirectionContext(context) {\n if (context) {\n return context[CONTEXT_KEY];\n }\n }\n};\nexport default TextDirectionContext;\nexport { TextDirectionContext };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport PropTypes from 'prop-types';\nimport { decorator } from '@instructure/ui-decorator';\nimport { TextDirectionContext } from './TextDirectionContext';\nimport { getTextDirection } from './getTextDirection';\nvar DIRECTION = TextDirectionContext.DIRECTION,\n getTextDirectionContext = TextDirectionContext.getTextDirectionContext;\n/**\n* ---\n* category: utilities/i18n\n* ---\n* A decorator or higher order component that makes a component `bidirectional`.\n*\n* As a HOC:\n*\n* ```js\n* import { bidirectional } from '@instructure/ui-i18n'\n*\n* class Example extends React.Component {\n* render () {\n* return this.dir === bidirectional.DIRECTION.rtl ?
rtl
:
ltr
\n* }\n* }\n*\n* export default bidirectional()(Example)\n* ```\n*\n* When used as a child of [ApplyTextDirection](#ApplyTextDirection), bidirectional components use\n* the direction provided in the context. When used without [ApplyTextDirection](#ApplyTextDirection),\n* the direction can be supplied explicitly via the `dir` prop. If no `dir` prop is provided,\n* bidirectional components query the documentElement for the `dir` attribute, defaulting to `ltr`\n* if it is not present.\n*\n* @return {function} composes the bidirectional component.\n*/\n\nvar bidirectional = decorator(function (ComposedComponent) {\n var _class, _temp;\n\n return _temp = _class =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(BidirectionalComponent, _ComposedComponent);\n\n function BidirectionalComponent() {\n _classCallCheck(this, BidirectionalComponent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(BidirectionalComponent).apply(this, arguments));\n }\n\n _createClass(BidirectionalComponent, [{\n key: \"dir\",\n get: function get() {\n var context = getTextDirectionContext(this.context) || {};\n return context.dir || this.props.dir || getTextDirection();\n }\n }, {\n key: \"rtl\",\n get: function get() {\n return this.dir === DIRECTION.rtl;\n }\n }, {\n key: \"ltr\",\n get: function get() {\n return this.dir === DIRECTION.ltr;\n }\n }]);\n\n return BidirectionalComponent;\n }(ComposedComponent), _class.propTypes = _objectSpread({}, ComposedComponent.propTypes, {\n dir: PropTypes.oneOf(Object.values(TextDirectionContext.DIRECTION))\n }), _class.contextTypes = _objectSpread({}, ComposedComponent.contextTypes, {}, TextDirectionContext.types), _temp;\n});\nbidirectional.DIRECTION = DIRECTION;\nexport default bidirectional;\nexport { bidirectional };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport PropTypes from 'prop-types';\n/**\n * ---\n * category: utilities/PropTypes\n * ---\n * Verify that the given prop is a valid css `cursor` value.\n *\n * The list of possible cursor values is taken from\n * https://developer.mozilla.org/en-US/docs/Web/CSS/cursor.\n *\n * Note that this does not currently support `url(...)` values.\n */\n\nvar cursor = PropTypes.oneOf(['auto', 'default', 'none', 'context-menu', 'help', 'pointer', 'progress', 'wait', 'cell', 'crosshair', 'text', 'vertical-text', 'alias', 'copy', 'move', 'no-drop', 'not-allowed', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out']);\nexport default cursor;\nexport { cursor };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/* Global variables (colors, typography, spacing, etc.) are defined in lib/themes */\nimport { makeThemeVars } from '@instructure/ui-themeable';\nexport default function generator(_ref) {\n var typography = _ref.typography,\n colors = _ref.colors,\n borders = _ref.borders,\n spacing = _ref.spacing,\n shadows = _ref.shadows,\n stacking = _ref.stacking,\n breakpoints = _ref.breakpoints,\n transitions = _ref.transitions;\n return _objectSpread({\n fontFamily: typography.fontFamily,\n color: colors.textDarkest,\n colorPrimaryInverse: colors.textLightest,\n borderStyle: borders.style,\n borderColorPrimary: colors.borderMedium,\n borderColorSecondary: colors.borderDark,\n borderColorSuccess: colors.borderSuccess,\n borderColorBrand: colors.borderBrand,\n borderColorInfo: colors.borderInfo,\n borderColorAlert: colors.borderAlert,\n borderColorWarning: colors.borderWarning,\n borderColorDanger: colors.borderDanger,\n borderColorTransparent: 'transparent',\n borderRadiusSmall: borders.radiusSmall,\n borderRadiusMedium: borders.radiusMedium,\n borderRadiusLarge: borders.radiusLarge,\n debugOutlineColor: colors.borderDebug,\n backgroundPrimary: colors.backgroundLightest,\n backgroundSecondary: colors.backgroundLight,\n backgroundPrimaryInverse: colors.backgroundDarkest,\n backgroundBrand: colors.backgroundBrand,\n backgroundInfo: colors.backgroundInfo,\n backgroundAlert: colors.backgroundAlert,\n backgroundSuccess: colors.backgroundSuccess,\n backgroundDanger: colors.backgroundDanger,\n backgroundWarning: colors.backgroundWarning,\n arrowSize: '0.5rem',\n focusOutlineStyle: borders.style,\n focusOutlineWidth: borders.widthMedium,\n focusOutlineOffset: '0.3125rem',\n focusOutlineInset: '0rem',\n // do not use unitless zero (for CSS calc())\n focusColorInfo: colors.borderInfo,\n focusColorDanger: colors.borderDanger,\n focusColorSuccess: colors.borderSuccess,\n focusColorInverse: colors.borderLightest,\n xSmallMaxWidth: breakpoints.xSmall,\n smallMaxWidth: breakpoints.small,\n mediumMaxWidth: breakpoints.medium,\n largeMaxWidth: breakpoints.large\n }, makeThemeVars('margin', spacing), {}, makeThemeVars('padding', spacing), {}, makeThemeVars('shadow', shadows), {}, makeThemeVars('stacking', stacking), {}, makeThemeVars('border', borders));\n}\n\ngenerator.canvas = function (variables) {\n return {\n color: variables['ic-brand-font-color-dark'],\n focusColorInfo: variables['ic-brand-primary'],\n backgroundBrand: variables['ic-brand-primary'],\n backgroundInfo: variables['ic-brand-primary'],\n borderColorBrand: variables['ic-brand-primary'],\n borderColorInfo: variables['ic-brand-primary']\n };\n};","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { createThemeAdapter } from '@instructure/ui-themeable';\nvar map = {\n borderColorDefault: 'borderColorPrimary',\n borderColorInverse: 'borderColorTransparent',\n colorInverse: 'colorPrimaryInverse',\n background: 'backgroundPrimary',\n backgroundLight: 'backgroundSecondary',\n backgroundInverse: 'backgroundPrimaryInverse'\n};\nexport var themeAdapter = createThemeAdapter({\n map: map,\n version: '8.0.0'\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { error as _error } from \"@instructure/console\";\n\nvar _dec, _dec2, _dec3, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable, getShorthandPropValue, ThemeablePropTypes, mirrorShorthandEdges, mirrorShorthandCorners } from '@instructure/ui-themeable';\nimport { getComputedStyle } from '@instructure/ui-dom-utils';\nimport { bidirectional } from '@instructure/ui-i18n';\nimport { cursor as cursorPropTypes } from '@instructure/ui-prop-types';\nimport { getElementType, omitProps, pickProps, passthroughProps, deprecated } from '@instructure/ui-react-utils';\nvar styles = {\n componentId: 'fOyUs',\n template: function template(theme) {\n return \"\\n\\n.fOyUs_bGBk{box-sizing:border-box;font-family:\".concat(theme.fontFamily || 'inherit', \";max-width:100%;overflow:visible}\\n\\n.fOyUs_bMes{display:inline}\\n\\n.fOyUs_UeJS{display:block}\\n\\n.fOyUs_cuDs{display:inline-block;vertical-align:middle}\\n\\n.fOyUs_desw{display:flex}\\n\\n.fOyUs_cKQL{display:inline-flex;vertical-align:middle}\\n\\n.fOyUs_EMjX{text-align:start}\\n\\n[dir=ltr] .fOyUs_EMjX{text-align:left}\\n\\n[dir=rtl] .fOyUs_EMjX{text-align:right}\\n\\n.fOyUs_ImeN,[dir=ltr] .fOyUs_ImeN,[dir=rtl] .fOyUs_ImeN{text-align:center}\\n\\n.fOyUs_dBtH{text-align:end}\\n\\n[dir=ltr] .fOyUs_dBtH{text-align:right}\\n\\n[dir=rtl] .fOyUs_dBtH{text-align:left}\\n\\n.fOyUs_fFew{outline:0.0625rem dashed \").concat(theme.debugOutlineColor || 'inherit', \"}\\n\\n.fOyUs_dnJm{border-style:\").concat(theme.borderStyle || 'inherit', \"}\\n\\n.fOyUs_eiMX,.fOyUs_dzKA{border-color:\").concat(theme.borderColorTransparent || 'inherit', \"}\\n\\n.fOyUs_dsNY,.fOyUs_tIxX{border-color:\").concat(theme.borderColorPrimary || 'inherit', \"}\\n\\n.fOyUs_fuLg{border-color:\").concat(theme.borderColorSecondary || 'inherit', \"}\\n\\n.fOyUs_cLjf{border-color:\").concat(theme.borderColorBrand || 'inherit', \"}\\n\\n.fOyUs_cXDj{border-color:\").concat(theme.borderColorInfo || 'inherit', \"}\\n\\n.fOyUs_fjbA{border-color:\").concat(theme.borderColorSuccess || 'inherit', \"}\\n\\n.fOyUs_fBpf{border-color:\").concat(theme.borderColorWarning || 'inherit', \"}\\n\\n.fOyUs_bMrG{border-color:\").concat(theme.borderColorAlert || 'inherit', \"}\\n\\n.fOyUs_fdvn{border-color:\").concat(theme.borderColorDanger || 'inherit', \"}\\n\\n.fOyUs_fKyb{background:none;color:\").concat(theme.color || 'inherit', \"}\\n\\n.fOyUs_fZwI,.fOyUs_kXoP{background:\").concat(theme.backgroundPrimary || 'inherit', \";color:\").concat(theme.color || 'inherit', \"}\\n\\n.fOyUs_dUgE,.fOyUs_bvKN{background:\").concat(theme.backgroundSecondary || 'inherit', \";color:\").concat(theme.color || 'inherit', \"}\\n\\n.fOyUs_fzxW,.fOyUs_elGp{background:\").concat(theme.backgroundPrimaryInverse || 'inherit', \";color:\").concat(theme.colorPrimaryInverse || 'inherit', \"}\\n\\n.fOyUs_NGNZ{background:\").concat(theme.backgroundBrand || 'inherit', \";color:\").concat(theme.colorPrimaryInverse || 'inherit', \"}\\n\\n.fOyUs_fYBY{background:\").concat(theme.backgroundInfo || 'inherit', \";color:\").concat(theme.colorPrimaryInverse || 'inherit', \"}\\n\\n.fOyUs_feZy{background:\").concat(theme.backgroundAlert || 'inherit', \";color:\").concat(theme.colorPrimaryInverse || 'inherit', \"}\\n\\n.fOyUs_qidh{background:\").concat(theme.backgroundSuccess || 'inherit', \";color:\").concat(theme.colorPrimaryInverse || 'inherit', \"}\\n\\n.fOyUs_fKOP{background:\").concat(theme.backgroundDanger || 'inherit', \";color:\").concat(theme.colorPrimaryInverse || 'inherit', \"}\\n\\n.fOyUs_eOYc{background:\").concat(theme.backgroundWarning || 'inherit', \";color:\").concat(theme.colorPrimaryInverse || 'inherit', \"}\\n\\n.fOyUs_fQrx{z-index:\").concat(theme.stackingTopmost || 'inherit', \"}\\n\\n.fOyUs_dtZX{z-index:\").concat(theme.stackingAbove || 'inherit', \"}\\n\\n.fOyUs_fCiV{z-index:\").concat(theme.stackingBelow || 'inherit', \"}\\n\\n.fOyUs_dJEE{z-index:\").concat(theme.stackingDeepest || 'inherit', \"}\\n\\n.fOyUs_fxuY{box-shadow:\").concat(theme.shadowTopmost || 'inherit', \"}\\n\\n.fOyUs_bxuL{box-shadow:\").concat(theme.shadowResting || 'inherit', \"}\\n\\n.fOyUs_bIta{box-shadow:\").concat(theme.shadowAbove || 'inherit', \"}\\n\\n.fOyUs_fhgP{overflow-x:hidden}\\n\\n.fOyUs_dzYG{overflow-x:auto}\\n\\n.fOyUs_divt{overflow-y:hidden}\\n\\n.fOyUs_fKlg{overflow-y:auto}\\n\\n.fOyUs_cBHs{position:relative}\\n\\n.fOyUs_cSap{position:fixed}\\n\\n.fOyUs_fuLp{position:absolute}\\n\\n.fOyUs_bZzT{position:-webkit-sticky;position:sticky}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs:before{border-color:\").concat(theme.focusOutlineColorDefault || 'inherit', \";border-style:\").concat(theme.focusOutlineStyle || 'inherit', \";border-width:\").concat(theme.focusOutlineWidth || 'inherit', \";content:\\\"\\\";opacity:0;pointer-events:none;position:absolute}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_cnfU:before{transform:scale(0.95);transition:all 0.2s}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_cBtr:before{bottom:calc(\").concat(theme.focusOutlineOffset || 'inherit', \"*-1);left:calc(\").concat(theme.focusOutlineOffset || 'inherit', \"*-1);right:calc(\").concat(theme.focusOutlineOffset || 'inherit', \"*-1);top:calc(\").concat(theme.focusOutlineOffset || 'inherit', \"*-1)}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_bFwB:before{bottom:\").concat(theme.focusOutlineInset || 'inherit', \";left:\").concat(theme.focusOutlineInset || 'inherit', \";right:\").concat(theme.focusOutlineInset || 'inherit', \";top:\").concat(theme.focusOutlineInset || 'inherit', \"}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_beQo:before{border-radius:inherit}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_bnCe:before{border-radius:0}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_cBtr.fOyUs_cmRt:before{border-radius:calc(\").concat(theme.borderRadiusSmall || 'inherit', \" + \").concat(theme.focusOutlineOffset || 'inherit', \" - \").concat(theme.focusOutlineWidth || 'inherit', \")}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_cBtr.fOyUs_eeJl:before{border-radius:calc(\").concat(theme.borderRadiusMedium || 'inherit', \" + \").concat(theme.focusOutlineOffset || 'inherit', \" - \").concat(theme.focusOutlineWidth || 'inherit', \")}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_cBtr.fOyUs_TYCL:before{border-radius:calc(\").concat(theme.borderRadiusLarge || 'inherit', \" + \").concat(theme.focusOutlineOffset || 'inherit', \" - \").concat(theme.focusOutlineWidth || 'inherit', \")}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_bFwB.fOyUs_cmRt:before{border-radius:calc(\").concat(theme.borderRadiusSmall || 'inherit', \" - \").concat(theme.focusOutlineInset || 'inherit', \" + \").concat(theme.focusOutlineWidth || 'inherit', \")}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_bFwB.fOyUs_eeJl:before{border-radius:calc(\").concat(theme.borderRadiusMedium || 'inherit', \" - \").concat(theme.focusOutlineInset || 'inherit', \" + \").concat(theme.focusOutlineWidth || 'inherit', \")}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_bFwB.fOyUs_TYCL:before{border-radius:calc(\").concat(theme.borderRadiusLarge || 'inherit', \" - \").concat(theme.focusOutlineInset || 'inherit', \" + \").concat(theme.focusOutlineWidth || 'inherit', \")}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs:focus{outline:none}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_fmDy:focus:before,.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_dvYc:before{opacity:1;transform:scale(1)}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_fuTR:before{border-color:\").concat(theme.focusColorInfo || 'inherit', \"}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_dwHj:before{border-color:\").concat(theme.focusColorInverse || 'inherit', \"}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_NhxI:before{border-color:\").concat(theme.focusColorSuccess || 'inherit', \"}\\n\\n.fOyUs_eWbJ.fOyUs_cBHs.fOyUs_fsVi:before{border-color:\").concat(theme.focusColorDanger || 'inherit', \"}\\n\\n.fOyUs_eWbJ.fOyUs_bMes{outline-style:none}\\n\\n.fOyUs_eWbJ.fOyUs_bMes:before{border-style:none}\\n\\n.fOyUs_eWbJ.fOyUs_bMes.fOyUs_bFwB.fOyUs_fmDy:focus,.fOyUs_eWbJ.fOyUs_bMes.fOyUs_bFwB.fOyUs_dvYc{outline-style:\").concat(theme.focusOutlineStyle || 'inherit', \";outline-width:\").concat(theme.focusOutlineWidth || 'inherit', \"}\\n\\n.fOyUs_eWbJ.fOyUs_bMes.fOyUs_fuTR{outline-color:\").concat(theme.focusColorInfo || 'inherit', \"}\\n\\n.fOyUs_eWbJ.fOyUs_bMes.fOyUs_dwHj{outline-color:\").concat(theme.focusColorInverse || 'inherit', \"}\\n\\n.fOyUs_eWbJ.fOyUs_bMes.fOyUs_fsVi{outline-color:\").concat(theme.focusColorDanger || 'inherit', \"}\");\n },\n 'root': 'fOyUs_bGBk',\n 'display--inline': 'fOyUs_bMes',\n 'display--block': 'fOyUs_UeJS',\n 'display--inline-block': 'fOyUs_cuDs',\n 'display--flex': 'fOyUs_desw',\n 'display--inline-flex': 'fOyUs_cKQL',\n 'textAlign--start': 'fOyUs_EMjX',\n 'textAlign--center': 'fOyUs_ImeN',\n 'textAlign--end': 'fOyUs_dBtH',\n 'withVisualDebug': 'fOyUs_fFew',\n 'withBorder': 'fOyUs_dnJm',\n 'borderColor--inverse': 'fOyUs_eiMX',\n 'borderColor--transparent': 'fOyUs_dzKA',\n 'borderColor--default': 'fOyUs_dsNY',\n 'borderColor--primary': 'fOyUs_tIxX',\n 'borderColor--secondary': 'fOyUs_fuLg',\n 'borderColor--brand': 'fOyUs_cLjf',\n 'borderColor--info': 'fOyUs_cXDj',\n 'borderColor--success': 'fOyUs_fjbA',\n 'borderColor--warning': 'fOyUs_fBpf',\n 'borderColor--alert': 'fOyUs_bMrG',\n 'borderColor--danger': 'fOyUs_fdvn',\n 'background--transparent': 'fOyUs_fKyb',\n 'background--default': 'fOyUs_fZwI',\n 'background--primary': 'fOyUs_kXoP',\n 'background--light': 'fOyUs_dUgE',\n 'background--secondary': 'fOyUs_bvKN',\n 'background--inverse': 'fOyUs_fzxW',\n 'background--primary-inverse': 'fOyUs_elGp',\n 'background--brand': 'fOyUs_NGNZ',\n 'background--info': 'fOyUs_fYBY',\n 'background--alert': 'fOyUs_feZy',\n 'background--success': 'fOyUs_qidh',\n 'background--danger': 'fOyUs_fKOP',\n 'background--warning': 'fOyUs_eOYc',\n 'stacking--topmost': 'fOyUs_fQrx',\n 'stacking--above': 'fOyUs_dtZX',\n 'stacking--below': 'fOyUs_fCiV',\n 'stacking--deepest': 'fOyUs_dJEE',\n 'shadow--topmost': 'fOyUs_fxuY',\n 'shadow--resting': 'fOyUs_bxuL',\n 'shadow--above': 'fOyUs_bIta',\n 'overflowX--hidden': 'fOyUs_fhgP',\n 'overflowX--auto': 'fOyUs_dzYG',\n 'overflowY--hidden': 'fOyUs_divt',\n 'overflowY--auto': 'fOyUs_fKlg',\n 'position--relative': 'fOyUs_cBHs',\n 'position--fixed': 'fOyUs_cSap',\n 'position--absolute': 'fOyUs_fuLp',\n 'position--sticky': 'fOyUs_bZzT',\n 'focus': 'fOyUs_eWbJ',\n 'focusAnimation': 'fOyUs_cnfU',\n 'focusPosition--offset': 'fOyUs_cBtr',\n 'focusPosition--inset': 'fOyUs_bFwB',\n 'focusRing--radiusInherit': 'fOyUs_beQo',\n 'focusRing--radiusNone': 'fOyUs_bnCe',\n 'focusRing--radiusSmall': 'fOyUs_cmRt',\n 'focusRing--radiusMedium': 'fOyUs_eeJl',\n 'focusRing--radiusLarge': 'fOyUs_TYCL',\n 'shouldUseBrowserFocus': 'fOyUs_fmDy',\n 'withFocusOutline': 'fOyUs_dvYc',\n 'focusColor--info': 'fOyUs_fuTR',\n 'focusColor--inverse': 'fOyUs_dwHj',\n 'focusColor--success': 'fOyUs_NhxI',\n 'focusColor--danger': 'fOyUs_fsVi'\n};\nimport theme from './theme';\nimport { themeAdapter } from './themeAdapter';\n/**\n---\ncategory: components\n---\n@module View\n**/\n\nvar View = (_dec = deprecated('8.0.0', {\n focused: 'withFocusOutline',\n visualDebug: 'withVisualDebug'\n}), _dec2 = bidirectional(), _dec3 = themeable(theme, styles, themeAdapter), _dec(_class = _dec2(_class = _dec3(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(View, _Component);\n\n function View() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, View);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(View)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _this.handleElementRef = function (el) {\n if (typeof _this.props.elementRef === 'function') {\n _this.props.elementRef(el);\n }\n\n _this._element = el;\n };\n\n _this.verifyUniformValues = function (initialValue, input) {\n if (typeof input !== 'string') return false;\n return input.trim().split(' ').every(function (value) {\n return initialValue === value;\n });\n };\n\n return _this;\n }\n\n _createClass(View, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(!\n /*#__PURE__*/\n function verifySpanMargin(element, margin) {\n if (!element) {\n return;\n }\n\n var marginValues = margin ? margin.split(' ') : null;\n var display = getComputedStyle(element).display;\n var verticalMargin = false; // either top or bottom margin are set\n\n if (margin) {\n if (marginValues[0] && marginValues[0] !== 'none' && marginValues[0] !== '0') {\n verticalMargin = true;\n }\n\n if (marginValues[2] && marginValues[2] !== 'none' && marginValues[2] !== '0') {\n verticalMargin = true;\n }\n }\n\n return verticalMargin && display === 'inline';\n }(this._element, this.props.margin), \"[View] display style is set to 'inline' and will allow for horizontal margins only.\");\n }\n }, {\n key: \"render\",\n value: function render() {\n var _ref, _objectSpread2;\n\n var _this$props = this.props,\n children = _this$props.children,\n textAlign = _this$props.textAlign,\n background = _this$props.background,\n display = _this$props.display,\n withVisualDebug = _this$props.withVisualDebug,\n width = _this$props.width,\n height = _this$props.height,\n minWidth = _this$props.minWidth,\n minHeight = _this$props.minHeight,\n maxWidth = _this$props.maxWidth,\n maxHeight = _this$props.maxHeight,\n overflowX = _this$props.overflowX,\n overflowY = _this$props.overflowY,\n stacking = _this$props.stacking,\n shadow = _this$props.shadow,\n position = _this$props.position,\n focusPosition = _this$props.focusPosition,\n focusColor = _this$props.focusColor,\n shouldAnimateFocus = _this$props.shouldAnimateFocus,\n borderColor = _this$props.borderColor,\n className = _this$props.className,\n props = _objectWithoutProperties(_this$props, [\"children\", \"textAlign\", \"background\", \"display\", \"withVisualDebug\", \"width\", \"height\", \"minWidth\", \"minHeight\", \"maxWidth\", \"maxHeight\", \"overflowX\", \"overflowY\", \"stacking\", \"shadow\", \"position\", \"focusPosition\", \"focusColor\", \"shouldAnimateFocus\", \"borderColor\", \"className\"]);\n\n var ElementType = getElementType(View, this.props);\n var withFocusOutline = this.withFocusOutline;\n var focusOutlineClasses = position === 'relative' || display === 'inline' && focusPosition === 'inset' ? (_ref = {}, _defineProperty(_ref, styles.focus, true), _defineProperty(_ref, styles.withFocusOutline, withFocusOutline), _defineProperty(_ref, styles.shouldUseBrowserFocus, typeof withFocusOutline === 'undefined'), _defineProperty(_ref, styles[this.focusRingRadius], true), _defineProperty(_ref, styles[\"focusPosition--\".concat(focusPosition)], true), _defineProperty(_ref, styles[\"focusColor--\".concat(focusColor)], true), _defineProperty(_ref, styles.focusAnimation, shouldAnimateFocus), _ref) : {};\n var classes = classnames(_objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, styles.root, true), _defineProperty(_objectSpread2, styles.withVisualDebug, withVisualDebug || this.props.visualDebug), _defineProperty(_objectSpread2, styles.withBorder, this.withBorder), _defineProperty(_objectSpread2, styles[\"borderColor--\".concat(borderColor)], this.withBorder), _defineProperty(_objectSpread2, styles[\"textAlign--\".concat(textAlign)], textAlign), _defineProperty(_objectSpread2, styles[\"background--\".concat(background)], background), _defineProperty(_objectSpread2, styles[\"display--\".concat(display)], display && display !== 'auto'), _defineProperty(_objectSpread2, styles[\"overflowX--\".concat(overflowX)], overflowX && overflowX !== 'visible'), _defineProperty(_objectSpread2, styles[\"overflowY--\".concat(overflowY)], overflowY && overflowY !== 'visible'), _defineProperty(_objectSpread2, styles[\"stacking--\".concat(stacking)], stacking), _defineProperty(_objectSpread2, styles[\"shadow--\".concat(shadow)], shadow && shadow !== 'none'), _defineProperty(_objectSpread2, styles[\"position--\".concat(position)], position !== 'static'), _objectSpread2), focusOutlineClasses, _defineProperty({}, className, className)));\n return React.createElement(ElementType, Object.assign({}, passthroughProps(props), {\n className: classes,\n style: _objectSpread({}, this.spacingStyle, {}, this.borderStyle, {}, this.offsetStyle, {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxWidth: maxWidth,\n maxHeight: maxHeight\n }, this.styleProps),\n ref: this.handleElementRef\n }), children);\n }\n }, {\n key: \"withFocusOutline\",\n get: function get() {\n if (typeof this.props.withFocusOutline === 'undefined' && typeof this.props.focused === 'undefined') {\n return void 0;\n }\n\n var _this$props2 = this.props,\n position = _this$props2.position,\n display = _this$props2.display,\n focusPosition = _this$props2.focusPosition;\n var withFocusOutline = this.props.focused || this.props.withFocusOutline;\n\n if (withFocusOutline) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(display === 'inline' || position === 'relative', '[View] the focus outline will only show if the `position` prop is `relative`.');\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(display !== 'inline' || focusPosition === 'inset', '[View] when display is set to `inline` the focus outline will only show if `focusPosition` is set to `inset`.');\n }\n\n return withFocusOutline;\n }\n }, {\n key: \"focusRingRadius\",\n get: function get() {\n var _this$props$borderRad = this.props.borderRadius,\n borderRadius = _this$props$borderRad === void 0 ? '' : _this$props$borderRad;\n var baseRadiusStyle = 'focusRing--radius';\n var initialValue = borderRadius.trim().split(' ')[0];\n\n if (this.verifyUniformValues(initialValue, borderRadius)) {\n var capitalize = function capitalize(str) {\n return \"\".concat(str.charAt(0).toUpperCase()).concat(str.slice(1));\n };\n\n if (['small', 'medium', 'large'].includes(initialValue)) return \"\".concat(baseRadiusStyle).concat(capitalize(initialValue));\n if (['circle', 'pill'].includes(initialValue)) return \"\".concat(baseRadiusStyle, \"Inherit\");\n }\n\n return \"\".concat(baseRadiusStyle, \"None\");\n }\n }, {\n key: \"withBorder\",\n get: function get() {\n var borderWidth = this.props.borderWidth;\n return borderWidth && borderWidth !== '0' && borderWidth !== 'none';\n }\n }, {\n key: \"borderStyle\",\n get: function get() {\n var _this$props3 = this.props,\n borderRadius = _this$props3.borderRadius,\n borderWidth = _this$props3.borderWidth;\n\n if (this.dir === bidirectional.DIRECTION.rtl) {\n borderRadius = mirrorShorthandCorners(borderRadius);\n borderWidth = mirrorShorthandEdges(borderWidth);\n }\n\n return {\n borderRadius: getShorthandPropValue('View', this.theme, borderRadius, 'borderRadius'),\n borderWidth: getShorthandPropValue('View', this.theme, borderWidth, 'borderWidth')\n };\n }\n }, {\n key: \"spacingStyle\",\n get: function get() {\n var _this$props4 = this.props,\n margin = _this$props4.margin,\n padding = _this$props4.padding;\n\n if (this.dir === 'rtl') {\n margin = mirrorShorthandEdges(margin);\n padding = mirrorShorthandEdges(padding);\n }\n\n return {\n margin: getShorthandPropValue('View', this.theme, margin, 'margin'),\n padding: getShorthandPropValue('View', this.theme, padding, 'padding')\n };\n }\n }, {\n key: \"offsetStyle\",\n get: function get() {\n var _this$props5 = this.props,\n insetBlockStart = _this$props5.insetBlockStart,\n insetBlockEnd = _this$props5.insetBlockEnd,\n insetInlineStart = _this$props5.insetInlineStart,\n insetInlineEnd = _this$props5.insetInlineEnd;\n var rtl = this.dir === 'rtl';\n var blockStart = {\n top: insetBlockStart,\n insetBlockStart: insetBlockStart\n };\n var blockEnd = {\n bottom: insetBlockEnd,\n insetBlockEnd: insetBlockEnd\n };\n var horizontalOffsets = {\n left: rtl ? insetInlineEnd : insetInlineStart,\n right: rtl ? insetInlineStart : insetInlineEnd,\n insetInlineStart: insetInlineStart,\n insetInlineEnd: insetInlineEnd\n };\n return _objectSpread({}, blockStart, {}, blockEnd, {}, horizontalOffsets);\n }\n }, {\n key: \"styleProps\",\n get: function get() {\n var _this$props6 = this.props,\n cursor = _this$props6.cursor,\n style = _this$props6.style; // eslint-disable-line react/prop-types\n\n var whitelisted = pickProps(style || {}, {}, [// Position/calculateElementPosition:\n 'top', 'left', 'position', 'display', 'transform', 'overflow', 'minWidth', 'minHeight', // Img:\n 'filter', // Flex.Item:\n 'flexBasis', // Avatar:\n 'backgroundImage']);\n\n if (cursor) {\n whitelisted.cursor = cursor;\n }\n\n return whitelisted;\n }\n }]);\n\n View.displayName = \"View\";\n return View;\n}(Component), _class2.propTypes = {\n /**\n * The element to render as the component root, `span` by default\n */\n as: PropTypes.elementType,\n\n /**\n * provides a reference to the underlying html element\n */\n elementRef: PropTypes.func,\n\n /**\n * By default the display prop is 'auto', meaning it takes on the\n * display rules of the html element it's rendered as (see `as` prop).\n */\n display: PropTypes.oneOf(['auto', 'inline', 'block', 'inline-block', 'flex', 'inline-flex']),\n overflowX: PropTypes.oneOf(['auto', 'hidden', 'visible']),\n overflowY: PropTypes.oneOf(['auto', 'hidden', 'visible']),\n\n /**\n * Set the margin using familiar CSS shorthand\n */\n margin: ThemeablePropTypes.spacing,\n\n /**\n * Set the padding using familiar CSS shorthand\n */\n padding: ThemeablePropTypes.spacing,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n minHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n minWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * The children to render inside the ``\n */\n children: PropTypes.node,\n\n /**\n * Designates the text alignment within the ``\n */\n textAlign: PropTypes.oneOf(['start', 'center', 'end']),\n\n /**\n * Accepts the familiar CSS shorthand to designate border widths corresponding\n * to edges\n */\n borderWidth: ThemeablePropTypes.borderWidth,\n\n /**\n * Accepts `small`, `medium`, `large`, `circle`, and `pill`. Border radius can be\n * assigned to individual corners in CSS shorthand style (e.g., `\"medium large none pill\"`).\n */\n borderRadius: ThemeablePropTypes.borderRadius,\n\n /**\n * Sets the color of the View border\n */\n borderColor: deprecated.deprecatePropValues(PropTypes.oneOf(['transparent', 'primary', 'secondary', 'brand', 'info', 'success', 'warning', 'alert', 'danger', 'default', 'inverse']), ['default', 'inverse'], function (_ref2) {\n var propName = _ref2.propName,\n propValue = _ref2.propValue;\n return \"In version 8.0.0, the value '\".concat(propValue, \"' for `\").concat(propName, \"` will be changed to \").concat(function () {\n if (propValue === 'default') return \"'primary'\";\n if (propValue === 'inverse') return \"'transparent'\";\n }(), \". Use that value instead.\");\n }),\n\n /**\n * Designates the background style of the ``\n */\n background: deprecated.deprecatePropValues(PropTypes.oneOf(['transparent', 'primary', 'secondary', 'primary-inverse', 'brand', 'info', 'alert', 'success', 'danger', 'warning', 'default', 'light', 'inverse']), ['default', 'inverse', 'light'], function (_ref3) {\n var propName = _ref3.propName,\n propValue = _ref3.propValue;\n return \"In version 8.0.0, the value '\".concat(propValue, \"' for `\").concat(propName, \"` will be changed to \").concat(function () {\n if (propValue === 'default') return \"'primary'\";\n if (propValue === 'light') return \"'secondary'\";\n if (propValue === 'inverse') return \"'primary-inverse'\";\n }(), \". Use that value instead.\");\n }),\n\n /**\n * Controls the shadow depth for the ``\n */\n shadow: ThemeablePropTypes.shadow,\n\n /**\n * Controls the z-index depth for the ``\n */\n stacking: ThemeablePropTypes.stacking,\n\n /**\n * Specify a mouse cursor to use when hovering over the ``\n */\n cursor: cursorPropTypes,\n\n /**\n * Specify a value for the CSS position property. Use `relative` if `focusable` will be true.\n */\n position: PropTypes.oneOf(['static', 'absolute', 'relative', 'sticky', 'fixed']),\n\n /**\n * The `left` CSS property in left-to-right interfaces. Will not do anything if `position === \"static\"`.\n */\n insetInlineStart: PropTypes.string,\n\n /**\n * The `right` CSS property in left-to-right interfaces. Will not do anything if `position === \"static\"`.\n */\n insetInlineEnd: PropTypes.string,\n\n /**\n * The `top` CSS property. Will not do anything if `position === \"static\"`.\n */\n insetBlockStart: PropTypes.string,\n\n /**\n * The `bottom` CSS property. Will not do anything if `position === \"static\"`.\n */\n insetBlockEnd: PropTypes.string,\n\n /**\n * Manually control if the `View` should display a focus outline. When left undefined (which is the default)\n * the focus outline will display automatically if the `View` is focusable and receives focus. Note: the focus\n * outline only will display when the `position` prop is set to `relative`.\n */\n withFocusOutline: PropTypes.bool,\n\n /**\n * Determines whether the focus outline displays offset or inset from the focused View\n */\n focusPosition: PropTypes.oneOf(['offset', 'inset']),\n\n /**\n * Determines the color of the focus outline\n */\n focusColor: PropTypes.oneOf(['info', 'inverse', 'success', 'danger']),\n\n /**\n * Determines if the focus ring should animate when it appears\n */\n shouldAnimateFocus: PropTypes.bool,\n\n /**\n * Activate a dotted outline around the component to make building your\n * layout easier\n */\n withVisualDebug: PropTypes.bool,\n\n /* eslint-disable react/require-default-props */\n\n /**\n * __Deprecated - use 'withFocusOutline'__\n */\n focused: PropTypes.bool,\n\n /**\n * __Deprecated - use 'withVisualDebug'__\n */\n visualDebug: PropTypes.bool\n /* eslint-enable react/require-default-props */\n\n}, _class2.defaultProps = {\n display: 'auto',\n // Note:\n // - `as` will default to type span via getElementType, so for consistency and\n // compatibility with Container we are leaving it undefined here. Otherwise\n // it modifies behavior for consuming components because of the logic around\n // default props in getElementType\n as: void 0,\n // - `textAlign` is undefined by default so that View can inherit text alignment\n // from parents\n textAlign: void 0,\n // - Any props used to set inline styles should be undefined so that they\n // don't break consuming components' CSS\n overflowX: 'visible',\n overflowY: 'visible',\n shadow: void 0,\n stacking: void 0,\n withVisualDebug: false,\n cursor: void 0,\n borderWidth: void 0,\n borderRadius: void 0,\n borderColor: 'primary',\n margin: void 0,\n padding: void 0,\n elementRef: void 0,\n background: void 0,\n children: null,\n width: void 0,\n height: void 0,\n maxWidth: void 0,\n maxHeight: void 0,\n minWidth: void 0,\n minHeight: void 0,\n position: 'static',\n withFocusOutline: void 0,\n focusPosition: 'offset',\n focusColor: 'info',\n insetInlineStart: void 0,\n insetInlineEnd: void 0,\n insetBlockStart: void 0,\n insetBlockEnd: void 0,\n shouldAnimateFocus: true\n}, _temp)) || _class) || _class) || _class); // TODO: Remove this code once all components are using passthroughProps in place\n// of omitProps and have removed this function\n// omitViewProps needs to be called on the composed View component so that the\n// View.propTypes in the method matches the View.propTypes that will be called in\n// the consumers. Otherwise the discrepency could cause unexpected props being\n// allowed through.\n\nView.omitViewProps = function (props, Component) {\n if (process.env.NODE_ENV !== 'production') {\n Object.keys(pickProps(props, View.propTypes)).forEach(function (prop) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(false, \"[\".concat(Component.displayName, \"] prop '\").concat(prop, \"' is not allowed.\"));\n });\n }\n\n return omitProps(props, View.propTypes);\n};\n\nexport default View;\nexport { View };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { warnDeprecated as _warnDeprecated } from \"@instructure/console\";\nexport var createThemeAdapter = function createThemeAdapter() {\n var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n _ref$map = _ref.map,\n map = _ref$map === void 0 ? {} : _ref$map,\n version = _ref.version,\n _ref$shouldIncludeOld = _ref.shouldIncludeOldValues,\n shouldIncludeOldValues = _ref$shouldIncludeOld === void 0 ? false : _ref$shouldIncludeOld;\n\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n _ref2$theme = _ref2.theme,\n theme = _ref2$theme === void 0 ? {} : _ref2$theme,\n displayName = _ref2.displayName;\n\n return Object.entries(theme).reduce(function (result, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n\n if (map[key]) {\n if (Array.isArray(map[key])) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warnDeprecated(false, \"[\".concat(displayName, \"] The theme variable `\").concat(key, \"` has been split into the following values `\").concat(map[key].join(', '), \"`.\").concat(version ? \" In version \".concat(version, \", `\").concat(key, \"` will no longer work as an override. Override each value individually instead.\") : ''));\n } else {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warnDeprecated(false, \"[\".concat(displayName, \"] The theme variable `\").concat(key, \"` has been changed to `\").concat(map[key], \"`.\").concat(version ? \" In version \".concat(version, \", `\").concat(key, \"` will no longer work as an override. Use `\").concat(map[key], \"` instead.\") : ''));\n }\n\n var updatedThemeVars = {};\n\n if (Array.isArray(map[key])) {\n updatedThemeVars = map[key].reduce(function (result, updatedVar) {\n return _objectSpread({}, result, _defineProperty({}, updatedVar, value));\n }, {});\n } else {\n updatedThemeVars = _defineProperty({}, map[key], value);\n }\n\n return shouldIncludeOldValues ? _objectSpread({}, result, {}, updatedThemeVars, _defineProperty({}, key, value)) : _objectSpread({}, result, {}, updatedThemeVars);\n }\n\n return _objectSpread({}, result, _defineProperty({}, key, value));\n }, {});\n };\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n* The MIT License (MIT)\n*\n* Copyright (c) 2015 - present Instructure, Inc.\n*\n* Permission is hereby granted, free of charge, to any person obtaining a copy\n* of this software and associated documentation files (the \"Software\"), to deal\n* in the Software without restriction, including without limitation the rights\n* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the Software is\n* furnished to do so, subject to the following conditions:\n*\n* The above copyright notice and this permission notice shall be included in all\n* copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n* SOFTWARE.\n*/\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable, ThemeablePropTypes } from '@instructure/ui-themeable';\nimport { omitProps, deprecated } from '@instructure/ui-react-utils';\nimport { View } from '@instructure/ui-view';\nvar styles = {\n componentId: 'dJCgj',\n template: function template(theme) {\n return \"\\n\\n.dJCgj_bGBk{box-sizing:border-box;flex-shrink:0;min-width:0.0625rem}\\n\\n.dJCgj_ffgL{align-self:flex-start}\\n\\n.dJCgj_fjOx{align-self:flex-end}\\n\\n.dJCgj_bJAR{align-self:center}\\n\\n.dJCgj_eFer{align-self:stretch}\\n\\n.dJCgj_zczv{flex-grow:1}\\n\\n.dJCgj_dfFp{flex-shrink:1}\";\n },\n 'root': 'dJCgj_bGBk',\n 'align--start': 'dJCgj_ffgL',\n 'align--end': 'dJCgj_fjOx',\n 'align--center': 'dJCgj_bJAR',\n 'align--stretch': 'dJCgj_eFer',\n 'shouldGrow': 'dJCgj_zczv',\n 'shouldShrink': 'dJCgj_dfFp'\n};\n/**\n---\nparent: Flex\nid: Flex.Item\n---\n**/\n\nvar Item = (_dec = deprecated('8.0.0', {\n grow: 'shouldGrow',\n shrink: 'shouldShrink',\n visualDeug: 'withVisualDebug'\n}), _dec2 = themeable(null, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Item, _Component);\n\n function Item() {\n _classCallCheck(this, Item);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Item).apply(this, arguments));\n }\n\n _createClass(Item, [{\n key: \"render\",\n\n /* eslint-disable react/require-default-props */\n value: function render() {\n var _classes;\n\n var props = omitProps(this.props, Item.propTypes);\n var _this$props = this.props,\n align = _this$props.align,\n as = _this$props.as,\n elementRef = _this$props.elementRef,\n children = _this$props.children,\n direction = _this$props.direction,\n shouldGrow = _this$props.shouldGrow,\n margin = _this$props.margin,\n overflowX = _this$props.overflowX,\n overflowY = _this$props.overflowY,\n padding = _this$props.padding,\n shouldShrink = _this$props.shouldShrink,\n size = _this$props.size,\n textAlign = _this$props.textAlign,\n withVisualDebug = _this$props.withVisualDebug,\n shrink = _this$props.shrink,\n grow = _this$props.grow,\n visualDebug = _this$props.visualDebug;\n var dirColumn = direction === 'column';\n var style = {\n flexBasis: size\n };\n var classes = (_classes = {}, _defineProperty(_classes, styles.root, true), _defineProperty(_classes, styles.shouldGrow, grow || shouldGrow), _defineProperty(_classes, styles.shouldShrink, shrink || shouldShrink), _defineProperty(_classes, styles[\"align--\".concat(align)], align), _classes);\n return React.createElement(View, Object.assign({}, props, {\n className: classnames(classes),\n style: style,\n elementRef: elementRef,\n as: as,\n minHeight: dirColumn ? size : void 0,\n minWidth: direction === 'row' ? size : void 0,\n textAlign: textAlign,\n margin: margin,\n padding: padding,\n overflowX: overflowX,\n overflowY: overflowY || (dirColumn ? 'auto' : 'visible'),\n withVisualDebug: withVisualDebug || visualDebug\n }), children);\n }\n }]);\n\n Item.displayName = \"Item\";\n return Item;\n}(Component), _class2.propTypes = {\n /**\n * The children to render inside the Item`\n */\n children: PropTypes.node,\n\n /**\n * the element type to render as\n */\n as: PropTypes.elementType,\n\n /**\n * provides a reference to the underlying html root element\n */\n elementRef: PropTypes.func,\n\n /**\n * Valid values are `0`, `none`, `auto`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `margin=\"small auto large\"`.\n */\n margin: ThemeablePropTypes.spacing,\n\n /**\n * Valid values are `0`, `none`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `padding=\"small x-large large\"`.\n */\n padding: ThemeablePropTypes.spacing,\n\n /**\n * overrides the parent Flex's alignItems prop, if needed\n */\n align: PropTypes.oneOf(['center', 'start', 'end', 'stretch']),\n\n /**\n * Inherits from the parent Flex component\n */\n direction: PropTypes.oneOf(['row', 'column']),\n\n /**\n * Designates the text alignment inside the Item\n */\n textAlign: PropTypes.oneOf(['start', 'center', 'end']),\n\n /**\n * Handles horizontal overflow\n */\n overflowX: PropTypes.oneOf(['auto', 'hidden', 'visible']),\n\n /**\n * Handles vertical overflow\n */\n overflowY: PropTypes.oneOf(['auto', 'hidden', 'visible']),\n\n /**\n * Should the FlexItem grow to fill any available space?\n */\n shouldGrow: PropTypes.bool,\n\n /**\n * Should the FlexItem shrink (stopping at its `size`)?\n */\n shouldShrink: PropTypes.bool,\n\n /**\n * Sets the base size of the FlexItem (width if direction is `row`; height if direction is `column`)\n */\n size: PropTypes.string,\n\n /**\n * Places dashed lines around the component's borders to help debug your layout\n */\n withVisualDebug: PropTypes.bool,\n\n /* eslint-disable react/require-default-props */\n\n /**\n * __Deprecated - use 'shouldGrow'__\n */\n grow: PropTypes.bool,\n\n /**\n * __Deprecated - use 'shouldShrink'__\n */\n shrink: PropTypes.bool,\n\n /**\n * __Deprecated - use 'withVisualDebug'__\n */\n visualDebug: PropTypes.bool\n /* eslint-enable react/require-default-props */\n\n}, _class2.defaultProps = {\n as: 'span',\n elementRef: function elementRef(el) {},\n shouldGrow: false,\n shouldShrink: false\n}, _temp)) || _class) || _class);\nexport default Item;\nexport { Item };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n* The MIT License (MIT)\n*\n* Copyright (c) 2015 - present Instructure, Inc.\n*\n* Permission is hereby granted, free of charge, to any person obtaining a copy\n* of this software and associated documentation files (the \"Software\"), to deal\n* in the Software without restriction, including without limitation the rights\n* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the Software is\n* furnished to do so, subject to the following conditions:\n*\n* The above copyright notice and this permission notice shall be included in all\n* copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n* SOFTWARE.\n*/\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable, ThemeablePropTypes } from '@instructure/ui-themeable';\nimport { safeCloneElement, passthroughProps, deprecated, matchComponentTypes, callRenderProp } from '@instructure/ui-react-utils';\nimport { View } from '@instructure/ui-view';\nimport { Item } from './Item';\nvar styles = {\n componentId: 'bDzpk',\n template: function template(theme) {\n return \"\\n\\n.bDzpk_bGBk{box-sizing:border-box;font-family:\".concat(theme.fontFamily || 'inherit', \"}\\n\\n.bDzpk_bZNM{flex-direction:column}\\n\\n.bDzpk_eUXf{flex-direction:column-reverse}\\n\\n.bDzpk_qOas{flex-direction:row}\\n\\n.bDzpk_sGoV{flex-direction:row-reverse}\\n\\n.bDzpk_dyGy{flex-wrap:wrap}\\n\\n.bDzpk_cdHk{flex-wrap:wrap-reverse}\\n\\n.bDzpk_ePRQ{flex-wrap:wrap}\\n\\n.bDzpk_busO{justify-content:flex-start}\\n\\n.bDzpk_crdn{justify-content:flex-end}\\n\\n.bDzpk_eRIA{justify-content:center}\\n\\n.bDzpk_flTs{justify-content:space-around}\\n\\n.bDzpk_oDLF{justify-content:space-between}\\n\\n.bDzpk_fZWR{align-items:center}\\n\\n.bDzpk_cCxO{align-items:flex-start}\\n\\n.bDzpk_fncw{align-items:flex-end}\\n\\n.bDzpk_cQFX{align-items:stretch}\");\n },\n 'root': 'bDzpk_bGBk',\n 'column': 'bDzpk_bZNM',\n 'column-reverse': 'bDzpk_eUXf',\n 'row': 'bDzpk_qOas',\n 'row-reverse': 'bDzpk_sGoV',\n 'wrap--wrap': 'bDzpk_dyGy',\n 'wrap--wrap-reverse': 'bDzpk_cdHk',\n 'wrapItems': 'bDzpk_ePRQ',\n 'justifyItems--start': 'bDzpk_busO',\n 'justifyItems--end': 'bDzpk_crdn',\n 'justifyItems--center': 'bDzpk_eRIA',\n 'justifyItems--space-around': 'bDzpk_flTs',\n 'justifyItems--space-between': 'bDzpk_oDLF',\n 'alignItems--center': 'bDzpk_fZWR',\n 'alignItems--start': 'bDzpk_cCxO',\n 'alignItems--end': 'bDzpk_fncw',\n 'alignItems--stretch': 'bDzpk_cQFX'\n};\nimport theme from './theme';\n/**\n---\ncategory: components\n---\n@module Flex\n**/\n\nvar Flex = (_dec = deprecated('8.0.0', {\n inline: 'display',\n wrapItems: 'wrap',\n visualDeug: 'withVisualDebug'\n}), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Flex, _Component);\n\n function Flex() {\n _classCallCheck(this, Flex);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Flex).apply(this, arguments));\n }\n\n _createClass(Flex, [{\n key: \"renderChildren\",\n value: function renderChildren(children) {\n var _this = this;\n\n return Children.map(children, function (child) {\n if (child) {\n if (matchComponentTypes(child, ['Item'])) {\n return safeCloneElement(child, _objectSpread({\n withVisualDebug: _this.props.withVisualDebug || _this.props.visualDebug\n }, child.props, {\n /* child visualDebug prop should override parent */\n direction: _this.props.direction.replace(/-reverse/, '')\n }));\n } else {\n return child;\n }\n } else {\n return null;\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classes;\n\n var _this$props = this.props,\n as = _this$props.as,\n elementRef = _this$props.elementRef,\n direction = _this$props.direction,\n height = _this$props.height,\n display = _this$props.display,\n margin = _this$props.margin,\n padding = _this$props.padding,\n justifyItems = _this$props.justifyItems,\n textAlign = _this$props.textAlign,\n withVisualDebug = _this$props.withVisualDebug,\n width = _this$props.width,\n wrap = _this$props.wrap,\n visualDebug = _this$props.visualDebug,\n wrapItems = _this$props.wrapItems,\n inline = _this$props.inline;\n var children = callRenderProp(this.props.children); // When flex direction is row, 'center' is the most useful default because it\n // vertically aligns Items. For column direction, though, we want 'stretch'.\n\n var alignItems = this.props.alignItems || (direction === 'column' || direction === 'column-reverse' ? 'stretch' : 'center');\n var backwardsDisplay = inline ? 'inline-flex' : null;\n var classes = (_classes = {}, _defineProperty(_classes, styles.root, true), _defineProperty(_classes, styles[\"justifyItems--\".concat(justifyItems)], true), _defineProperty(_classes, styles[\"alignItems--\".concat(alignItems)], true), _defineProperty(_classes, styles[\"wrap--\".concat(wrap)], wrap !== 'no-wrap'), _defineProperty(_classes, styles.wrapItems, wrapItems), _classes);\n\n if (children && React.Children.count(children) > 0) {\n return React.createElement(View, Object.assign({}, passthroughProps(this.props), {\n className: classnames(classes, styles[direction]),\n elementRef: elementRef,\n as: as,\n display: backwardsDisplay || display,\n width: width,\n height: height,\n margin: margin,\n padding: padding,\n textAlign: textAlign,\n withVisualDebug: withVisualDebug || visualDebug\n }), this.renderChildren(children));\n } else {\n return null;\n }\n }\n }]);\n\n Flex.displayName = \"Flex\";\n return Flex;\n}(Component), _class2.Item = Item, _class2.propTypes = {\n /**\n * It's recommended that you use `Flex.Item` for children, but you can also pass any markup or a function\n * returning markup. Note that if you do not use `Flex.Item`, the `withVisualDebug` and `direction` props\n * will not automatically be set on the children.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * the element type to render as\n */\n as: PropTypes.elementType,\n\n /**\n * provides a reference to the underlying html root element\n */\n elementRef: PropTypes.func,\n\n /**\n * Sets the height of the component's container (optional)\n */\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Sets the width of the component's container (optional)\n */\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Valid values are `0`, `none`, `auto`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `margin=\"small auto large\"`.\n */\n margin: ThemeablePropTypes.spacing,\n\n /**\n * Valid values are `0`, `none`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `padding=\"small x-large large\"`.\n */\n padding: ThemeablePropTypes.spacing,\n\n /**\n * Sets the CSS display rule for the component's container\n */\n display: PropTypes.oneOf(['flex', 'inline-flex']),\n\n /**\n * Designates the text alignment\n */\n textAlign: PropTypes.oneOf(['start', 'center', 'end']),\n\n /**\n * Sets the flex-direction to row (horizontal) or column (vertical)\n */\n direction: PropTypes.oneOf(['row', 'column', 'row-reverse', 'column-reverse']),\n\n /**\n * Aligns Flex.Items on the vertical axis (horizontal if direction is column)\n */\n alignItems: PropTypes.oneOf(['center', 'start', 'end', 'stretch']),\n\n /**\n * Aligns Flex.Items on the horizontal axis (vertical if direction is column)\n */\n justifyItems: PropTypes.oneOf(['center', 'start', 'end', 'space-around', 'space-between']),\n\n /**\n * Determines if the Flex.Items should wrap when they exceed their container's width\n */\n wrap: PropTypes.oneOf(['wrap', 'no-wrap', 'wrap-reverse']),\n\n /**\n * Activate a dotted outline around the component to make building your\n * layout easier\n */\n withVisualDebug: PropTypes.bool,\n\n /* eslint-disable react/require-default-props */\n\n /**\n * __Deprecated - use 'display'__\n */\n inline: PropTypes.bool,\n\n /**\n * __Deprecated - use 'wrap'__\n */\n wrapItems: PropTypes.bool,\n\n /**\n * __Deprecated - use 'withVisualDebug'__\n */\n visualDebug: PropTypes.bool\n /* eslint-enable react/require-default-props */\n\n}, _class2.defaultProps = {\n children: null,\n as: 'span',\n elementRef: function elementRef(el) {},\n direction: 'row',\n justifyItems: 'start',\n display: 'flex',\n withVisualDebug: false,\n wrap: 'no-wrap',\n width: void 0,\n height: void 0,\n padding: void 0,\n margin: void 0,\n alignItems: void 0,\n textAlign: void 0\n}, _temp)) || _class) || _class);\nexport default Flex;\nexport { Flex };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function generator(_ref) {\n var typography = _ref.typography;\n return {\n fontFamily: typography.fontFamily\n };\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport Color from 'tinycolor2';\n/**\n * ---\n * category: utilities\n * ---\n * darken a color\n * @param {String} color\n * @param {Number} percent\n * @returns {String} color as rgb string\n */\n\nfunction darken(color, percent) {\n return Color(color).darken(percent).toRgbString();\n}\n\nexport { darken };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport Color from 'tinycolor2';\n/**\n * ---\n * category: utilities\n * ---\n * Adjust the alpha transparency of a color\n * @param {String} color\n * @param {Number} percent\n * @returns {String} color as rgb string\n */\n\nfunction alpha(color, percent) {\n return Color(color).setAlpha(percent / 100).toRgbString();\n}\n\nexport { alpha };","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { alpha, darken } from '@instructure/ui-color-utils';\nvar activeShadow = 'inset 0 0 0.1875rem 0.0625rem';\n\nvar generateButtonThemeVars = function generateButtonThemeVars(_ref) {\n var _ref2;\n\n var style = _ref.style,\n textColor = _ref.textColor,\n ghostTextColor = _ref.ghostTextColor,\n backgroundColor = _ref.backgroundColor,\n borderColor = _ref.borderColor,\n _ref$ghostBorderColor = _ref.ghostBorderColor,\n ghostBorderColor = _ref$ghostBorderColor === void 0 ? borderColor : _ref$ghostBorderColor;\n return _ref2 = {}, _defineProperty(_ref2, \"\".concat(style, \"Color\"), textColor), _defineProperty(_ref2, \"\".concat(style, \"BorderColor\"), darken(borderColor, 10)), _defineProperty(_ref2, \"\".concat(style, \"Background\"), backgroundColor), _defineProperty(_ref2, \"\".concat(style, \"HoverBackground\"), darken(backgroundColor, 10)), _defineProperty(_ref2, \"\".concat(style, \"ActiveBackground\"), darken(backgroundColor, 10)), _defineProperty(_ref2, \"\".concat(style, \"ActiveBoxShadow\"), \"\".concat(activeShadow, \" \").concat(darken(borderColor, 20, 0.45))), _defineProperty(_ref2, \"\".concat(style, \"GhostColor\"), ghostTextColor), _defineProperty(_ref2, \"\".concat(style, \"GhostBorderColor\"), ghostBorderColor), _defineProperty(_ref2, \"\".concat(style, \"GhostBackground\"), 'transparent'), _defineProperty(_ref2, \"\".concat(style, \"GhostHoverBackground\"), alpha(ghostTextColor, 10)), _defineProperty(_ref2, \"\".concat(style, \"GhostActiveBackground\"), 'transparent'), _defineProperty(_ref2, \"\".concat(style, \"GhostActiveBoxShadow\"), \"\".concat(activeShadow, \" \").concat(alpha(ghostBorderColor, 28))), _ref2;\n};\n\nexport default function generator() {\n var _ref3 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},\n _ref3$borders = _ref3.borders,\n borders = _ref3$borders === void 0 ? {} : _ref3$borders,\n _ref3$colors = _ref3.colors,\n colors = _ref3$colors === void 0 ? {} : _ref3$colors,\n _ref3$forms = _ref3.forms,\n forms = _ref3$forms === void 0 ? {} : _ref3$forms,\n _ref3$spacing = _ref3.spacing,\n spacing = _ref3$spacing === void 0 ? {} : _ref3$spacing,\n _ref3$typography = _ref3.typography,\n typography = _ref3$typography === void 0 ? {} : _ref3$typography;\n\n return _objectSpread({\n transform: 'none',\n hoverTransform: 'none',\n fontFamily: typography.fontFamily,\n fontWeight: typography.fontWeightNormal,\n textTransform: 'none',\n letterSpacing: 'normal',\n borderRadius: borders.radiusMedium,\n borderStyle: borders.style,\n borderWidth: borders.widthSmall,\n smallHeight: forms.inputHeightSmall,\n smallFontSize: typography.fontSizeSmall,\n smallPaddingHorizontal: spacing.xSmall,\n smallPaddingTop: '0.375rem',\n smallPaddingBottom: '0.3125rem',\n mediumHeight: forms.inputHeightMedium,\n mediumFontSize: typography.fontSizeMedium,\n mediumPaddingHorizontal: spacing.small,\n mediumPaddingTop: '0.5625rem',\n mediumPaddingBottom: '0.5625rem',\n largeHeight: forms.inputHeightLarge,\n largeFontSize: typography.fontSizeLarge,\n largePaddingHorizontal: spacing.medium,\n largePaddingTop: '0.6875rem',\n largePaddingBottom: '0.6875rem',\n lineHeight: typography.lineHeightFit,\n iconSizeSmall: '1rem',\n iconSizeMedium: '1.25rem',\n iconSizeLarge: '1.625rem'\n }, generateButtonThemeVars({\n style: 'primary',\n backgroundColor: colors.backgroundBrand,\n borderColor: colors.borderBrand,\n textColor: colors.textLightest,\n ghostTextColor: colors.textBrand\n }), {}, generateButtonThemeVars({\n style: 'secondary',\n backgroundColor: colors.backgroundLight,\n borderColor: colors.borderLight,\n ghostBorderColor: colors.borderDarkest,\n textColor: colors.textDarkest,\n ghostTextColor: colors.textDarkest\n }), {}, generateButtonThemeVars({\n style: 'success',\n backgroundColor: colors.backgroundSuccess,\n borderColor: colors.borderSuccess,\n textColor: colors.textLightest,\n ghostTextColor: colors.textSuccess\n }), {}, generateButtonThemeVars({\n style: 'danger',\n backgroundColor: colors.backgroundDanger,\n borderColor: colors.borderDanger,\n textColor: colors.textLightest,\n ghostTextColor: colors.textDanger\n }), {}, generateButtonThemeVars({\n style: 'primaryInverse',\n backgroundColor: colors.backgroundLightest,\n borderColor: colors.borderLightest,\n textColor: colors.textDarkest,\n ghostTextColor: colors.textLightest\n }), {\n // Overrides for primary-inverse to match what was previously the `light` button variant\n primaryInverseBorderColor: darken(colors.borderLight, 10),\n primaryInverseHoverBackground: darken(colors.backgroundLightest, 5),\n primaryInverseActiveBackground: colors.backgroundLightest,\n primaryInverseActiveBoxShadow: \"\".concat(activeShadow, \" \").concat(darken(colors.borderLightest, 25)),\n // Overrides for ghost hover states to ensure correct color contrast for a11y\n successGhostHoverBackground: alpha(colors.textSuccess, 1)\n });\n}\n\ngenerator['canvas'] = function (_ref4) {\n var colors = _ref4.colors,\n variables = _objectWithoutProperties(_ref4, [\"colors\"]);\n\n return _objectSpread({}, generateButtonThemeVars({\n style: 'primary',\n backgroundColor: variables['ic-brand-button--primary-bgd'],\n borderColor: variables['ic-brand-button--primary-bgd'],\n textColor: colors.textLightest,\n ghostTextColor: variables['ic-brand-button--primary-bgd']\n }), {\n primaryGhostHoverBackground: alpha(variables['ic-brand-button--primary-bgd'], 10)\n });\n};\n\ngenerator['canvas-a11y'] = generator['canvas-high-contrast'] = function (_ref5) {\n var colors = _ref5.colors;\n return {\n secondaryBorderColor: colors.borderMedium,\n primaryInverseBorderColor: colors.borderMedium\n };\n};\n\ngenerator['instructure'] = function () {\n return {\n borderRadius: '999em',\n smallPaddingTop: '0.5rem',\n smallPaddingBottom: '0.4375rem',\n mediumPaddingTop: '0.75rem',\n mediumPaddingBottom: '0.75rem',\n largePaddingTop: '1rem',\n largePaddingBottom: '1rem',\n largeFontSize: '1.125rem'\n };\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport keycode from 'keycode';\nimport { testable } from '@instructure/ui-testable';\nimport { themeable, ThemeablePropTypes } from '@instructure/ui-themeable';\nimport { getElementType, getInteraction, passthroughProps, callRenderProp } from '@instructure/ui-react-utils';\nimport { isActiveElement } from '@instructure/ui-dom-utils';\nimport { hasVisibleChildren } from '@instructure/ui-a11y-utils';\nimport { View } from '@instructure/ui-view';\nimport { Flex } from '@instructure/ui-flex';\nvar styles = {\n componentId: 'fQfxa',\n template: function template(theme) {\n return \"\\n\\n.fQfxa_caGd{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-radius:\".concat(theme.borderRadius || 'inherit', \";border-style:\").concat(theme.borderStyle || 'inherit', \";border-width:\").concat(theme.borderWidth || 'inherit', \";box-sizing:border-box;direction:inherit;display:block;font-family:\").concat(theme.fontFamily || 'inherit', \";font-weight:\").concat(theme.fontWeight || 'inherit', \";letter-spacing:\").concat(theme.letterSpacing || 'inherit', \";line-height:\").concat(theme.lineHeight || 'inherit', \";text-transform:\").concat(theme.textTransform || 'inherit', \";transform:\").concat(theme.transform || 'inherit', \";transition:background 0.2s,transform 0.2s;user-select:none;width:100%}\\n\\n.fQfxa_caGd:hover{transform:\").concat(theme.hoverTransform || 'inherit', \"}\\n\\n.fQfxa_caGd.fQfxa_EMjX{text-align:start}\\n\\n[dir=ltr] .fQfxa_caGd.fQfxa_EMjX{text-align:left}\\n\\n[dir=rtl] .fQfxa_caGd.fQfxa_EMjX{text-align:right}\\n\\n.fQfxa_caGd.fQfxa_ImeN,[dir=ltr] .fQfxa_caGd.fQfxa_ImeN,[dir=rtl] .fQfxa_caGd.fQfxa_ImeN{text-align:center}\\n\\n.fQfxa_caGd.fQfxa_nWmp{padding-left:0;padding-right:0}\\n\\n.fQfxa_caGd.fQfxa_nWmp .fQfxa_biBD{padding-bottom:0;padding-top:0}\\n\\n.fQfxa_bZuE{opacity:0.5}\\n\\n.fQfxa_VCXp{font-size:\").concat(theme.smallFontSize || 'inherit', \";padding-left:\").concat(theme.smallPaddingHorizontal || 'inherit', \";padding-right:\").concat(theme.smallPaddingHorizontal || 'inherit', \"}\\n\\n.fQfxa_VCXp .fQfxa_biBD{padding-bottom:\").concat(theme.smallPaddingBottom || 'inherit', \";padding-top:\").concat(theme.smallPaddingTop || 'inherit', \"}\\n\\n.fQfxa_VCXp .fQfxa_eoCh{font-size:\").concat(theme.iconSizeSmall || 'inherit', \"}\\n\\n.fQfxa_VCXp.fQfxa_bIHL{height:\").concat(theme.smallHeight || 'inherit', \";padding-left:0;padding-right:0;width:\").concat(theme.smallHeight || 'inherit', \"}\\n\\n.fQfxa_VCXp.fQfxa_nWmp .fQfxa_eoCh{font-size:\").concat(theme.smallFontSize || 'inherit', \"}\\n\\n.fQfxa_fKcQ{font-size:\").concat(theme.mediumFontSize || 'inherit', \";padding-left:\").concat(theme.mediumPaddingHorizontal || 'inherit', \";padding-right:\").concat(theme.mediumPaddingHorizontal || 'inherit', \"}\\n\\n.fQfxa_fKcQ .fQfxa_biBD{padding-bottom:\").concat(theme.mediumPaddingBottom || 'inherit', \";padding-top:\").concat(theme.mediumPaddingTop || 'inherit', \"}\\n\\n.fQfxa_fKcQ .fQfxa_eoCh{font-size:\").concat(theme.iconSizeMedium || 'inherit', \"}\\n\\n.fQfxa_fKcQ.fQfxa_bIHL{height:\").concat(theme.mediumHeight || 'inherit', \";padding-left:0;padding-right:0;width:\").concat(theme.mediumHeight || 'inherit', \"}\\n\\n.fQfxa_fKcQ.fQfxa_nWmp .fQfxa_eoCh{font-size:\").concat(theme.mediumFontSize || 'inherit', \"}\\n\\n.fQfxa_cnhd{font-size:\").concat(theme.largeFontSize || 'inherit', \";padding-left:\").concat(theme.largePaddingHorizontal || 'inherit', \";padding-right:\").concat(theme.largePaddingHorizontal || 'inherit', \"}\\n\\n.fQfxa_cnhd .fQfxa_biBD{padding-bottom:\").concat(theme.largePaddingBottom || 'inherit', \";padding-top:\").concat(theme.largePaddingTop || 'inherit', \"}\\n\\n.fQfxa_cnhd .fQfxa_eoCh{font-size:\").concat(theme.iconSizeLarge || 'inherit', \"}\\n\\n.fQfxa_cnhd.fQfxa_bIHL{height:\").concat(theme.largeHeight || 'inherit', \";padding-left:0;padding-right:0;width:\").concat(theme.largeHeight || 'inherit', \"}\\n\\n.fQfxa_cnhd.fQfxa_nWmp .fQfxa_eoCh{font-size:\").concat(theme.largeFontSize || 'inherit', \"}\\n\\n.fQfxa_eoCh{align-items:center;display:flex}\\n\\n.fQfxa_biBD{display:block}\\n\\n.fQfxa_bIHL{line-height:1}\\n\\n.fQfxa_FJpd{border-radius:50%}\\n\\n.fQfxa_dqAF.fQfxa_eCSh{background:\").concat(theme.primaryBackground || 'inherit', \";border-color:\").concat(theme.primaryBorderColor || 'inherit', \";color:\").concat(theme.primaryColor || 'inherit', \"}\\n\\n.fQfxa_dqAF.fQfxa_buuG{background:\").concat(theme.secondaryBackground || 'inherit', \";border-color:\").concat(theme.secondaryBorderColor || 'inherit', \";color:\").concat(theme.secondaryColor || 'inherit', \"}\\n\\n.fQfxa_dqAF.fQfxa_bFtJ{background:\").concat(theme.primaryInverseBackground || 'inherit', \";border-color:\").concat(theme.primaryInverseBorderColor || 'inherit', \";color:\").concat(theme.primaryInverseColor || 'inherit', \"}\\n\\n.fQfxa_dqAF.fQfxa_eZal{background:\").concat(theme.successBackground || 'inherit', \";border-color:\").concat(theme.successBorderColor || 'inherit', \";color:\").concat(theme.successColor || 'inherit', \"}\\n\\n.fQfxa_dqAF.fQfxa_dRSL{background:\").concat(theme.dangerBackground || 'inherit', \";border-color:\").concat(theme.dangerBorderColor || 'inherit', \";color:\").concat(theme.dangerColor || 'inherit', \"}\\n\\n.fQfxa_bCUx.fQfxa_eCSh{background:\").concat(theme.primaryGhostBackground || 'inherit', \";border-color:\").concat(theme.primaryGhostBorderColor || 'inherit', \";color:\").concat(theme.primaryGhostColor || 'inherit', \"}\\n\\n.fQfxa_bCUx.fQfxa_buuG{background:\").concat(theme.secondaryGhostBackground || 'inherit', \";border-color:\").concat(theme.secondaryGhostBorderColor || 'inherit', \";color:\").concat(theme.secondaryGhostColor || 'inherit', \"}\\n\\n.fQfxa_bCUx.fQfxa_bFtJ{background:\").concat(theme.primaryInverseGhostBackground || 'inherit', \";border-color:\").concat(theme.primaryInverseGhostBorderColor || 'inherit', \";color:\").concat(theme.primaryInverseGhostColor || 'inherit', \"}\\n\\n.fQfxa_bCUx.fQfxa_eZal{background:\").concat(theme.successGhostBackground || 'inherit', \";border-color:\").concat(theme.successGhostBorderColor || 'inherit', \";color:\").concat(theme.successGhostColor || 'inherit', \"}\\n\\n.fQfxa_bCUx.fQfxa_dRSL{background:\").concat(theme.dangerGhostBackground || 'inherit', \";border-color:\").concat(theme.dangerGhostBorderColor || 'inherit', \";color:\").concat(theme.dangerGhostColor || 'inherit', \"}\\n\\n.fQfxa_bVmg{border-style:none}\\n\\n.fQfxa_bGBk{-moz-appearance:none;-webkit-appearance:none;appearance:none;text-decoration:none;touch-action:manipulation}\\n\\n.fQfxa_bGBk::-moz-focus-inner{border:0}\\n\\n.fQfxa_bGBk *{pointer-events:none}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_dqAF.fQfxa_eCSh{background:\").concat(theme.primaryActiveBackground || 'inherit', \";box-shadow:\").concat(theme.primaryActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_dqAF.fQfxa_buuG{background:\").concat(theme.secondaryActiveBackground || 'inherit', \";box-shadow:\").concat(theme.secondaryActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_dqAF.fQfxa_bFtJ{background:\").concat(theme.primaryInverseActiveBackground || 'inherit', \";box-shadow:\").concat(theme.primaryInverseActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_dqAF.fQfxa_eZal{background:\").concat(theme.successActiveBackground || 'inherit', \";box-shadow:\").concat(theme.successActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_dqAF.fQfxa_dRSL{background:\").concat(theme.dangerActiveBackground || 'inherit', \";box-shadow:\").concat(theme.dangerActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_bCUx.fQfxa_eCSh{background:\").concat(theme.primaryGhostActiveBackground || 'inherit', \";box-shadow:\").concat(theme.primaryGhostActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_bCUx.fQfxa_buuG{background:\").concat(theme.secondaryGhostActiveBackground || 'inherit', \";box-shadow:\").concat(theme.secondaryGhostActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_bCUx.fQfxa_bFtJ{background:\").concat(theme.primaryInverseGhostActiveBackground || 'inherit', \";box-shadow:\").concat(theme.primaryInverseGhostActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_bCUx.fQfxa_eZal{background:\").concat(theme.successGhostActiveBackground || 'inherit', \";box-shadow:\").concat(theme.successGhostActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:active .fQfxa_caGd.fQfxa_bCUx.fQfxa_dRSL{background:\").concat(theme.dangerGhostActiveBackground || 'inherit', \";box-shadow:\").concat(theme.dangerGhostActiveBoxShadow || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_dqAF.fQfxa_eCSh{background:\").concat(theme.primaryHoverBackground || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_dqAF.fQfxa_buuG{background:\").concat(theme.secondaryHoverBackground || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_dqAF.fQfxa_bFtJ{background:\").concat(theme.primaryInverseHoverBackground || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_dqAF.fQfxa_eZal{background:\").concat(theme.successHoverBackground || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_dqAF.fQfxa_dRSL{background:\").concat(theme.dangerHoverBackground || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_bCUx.fQfxa_eCSh{background:\").concat(theme.primaryGhostHoverBackground || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_bCUx.fQfxa_buuG{background:\").concat(theme.secondaryGhostHoverBackground || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_bCUx.fQfxa_bFtJ{background:\").concat(theme.primaryInverseGhostHoverBackground || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_bCUx.fQfxa_eZal{background:\").concat(theme.successGhostHoverBackground || 'inherit', \"}\\n\\n.fQfxa_bGBk:hover .fQfxa_bCUx.fQfxa_dRSL{background:\").concat(theme.dangerGhostHoverBackground || 'inherit', \"}\");\n },\n 'content': 'fQfxa_caGd',\n 'textAlign--start': 'fQfxa_EMjX',\n 'textAlign--center': 'fQfxa_ImeN',\n 'isCondensed': 'fQfxa_nWmp',\n 'children': 'fQfxa_biBD',\n 'isDisabled': 'fQfxa_bZuE',\n 'size--small': 'fQfxa_VCXp',\n 'iconSVG': 'fQfxa_eoCh',\n 'hasOnlyIconVisible': 'fQfxa_bIHL',\n 'size--medium': 'fQfxa_fKcQ',\n 'size--large': 'fQfxa_cnhd',\n 'shape--circle': 'fQfxa_FJpd',\n 'withBackground': 'fQfxa_dqAF',\n 'color--primary': 'fQfxa_eCSh',\n 'color--secondary': 'fQfxa_buuG',\n 'color--primary-inverse': 'fQfxa_bFtJ',\n 'color--success': 'fQfxa_eZal',\n 'color--danger': 'fQfxa_dRSL',\n 'withoutBackground': 'fQfxa_bCUx',\n 'withoutBorder': 'fQfxa_bVmg',\n 'root': 'fQfxa_bGBk'\n};\nimport theme from './theme';\n/**\n---\ncategory: components/utilities\n---\n**/\n\nvar BaseButton = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(BaseButton, _Component);\n\n function BaseButton() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, BaseButton);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(BaseButton)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this._rootElement = null;\n\n _this.handleElementRef = function (el) {\n _this._rootElement = el;\n\n _this.props.elementRef(el);\n };\n\n _this.handleClick = function (event) {\n var onClick = _this.props.onClick;\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n interaction = _assertThisInitialize.interaction;\n\n if (interaction !== 'enabled') {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n\n _this.handleKeyDown = function (event) {\n var _this$props = _this.props,\n onClick = _this$props.onClick,\n onKeyDown = _this$props.onKeyDown,\n href = _this$props.href;\n\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n interaction = _assertThisInitialize2.interaction;\n\n onKeyDown(event); // behave like a button when space key is pressed\n\n var _keycode$codes = keycode.codes,\n space = _keycode$codes.space,\n enter = _keycode$codes.enter;\n\n if (_this.elementType !== 'button' && [space, enter].includes(event.keyCode)) {\n event.preventDefault();\n event.stopPropagation();\n\n if (typeof onClick === 'function' && interaction === 'enabled') {\n onClick(event);\n }\n\n if (href) {\n _this._rootElement && _this._rootElement.click();\n }\n }\n };\n\n return _this;\n }\n\n _createClass(BaseButton, [{\n key: \"focus\",\n value: function focus() {\n this._rootElement && this._rootElement.focus();\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var _this$props2 = this.props,\n renderIcon = _this$props2.renderIcon,\n children = _this$props2.children,\n textAlign = _this$props2.textAlign,\n isCondensed = _this$props2.isCondensed;\n var wrappedChildren = React.createElement(\"span\", {\n className: styles.children\n }, children);\n\n if (!renderIcon) {\n return wrappedChildren;\n }\n\n var hasOnlyIconVisible = this.hasOnlyIconVisible;\n var wrappedIcon = React.createElement(\"span\", {\n className: styles.iconSVG\n }, callRenderProp(renderIcon));\n var flexChildren = hasOnlyIconVisible ? React.createElement(Flex.Item, null, wrappedIcon, children) : [React.createElement(Flex.Item, {\n key: \"icon\",\n padding: \"0 \".concat(isCondensed ? 'xx-small' : 'x-small', \" 0 0\")\n }, wrappedIcon), React.createElement(Flex.Item, {\n key: \"children\",\n shouldShrink: true\n }, wrappedChildren)];\n var flexProps = {\n shouldShrink: true,\n height: '100%',\n width: '100%',\n justifyItems: hasOnlyIconVisible || textAlign === 'center' ? 'center' : 'start'\n };\n return React.createElement(Flex, flexProps, flexChildren);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classnames;\n\n var _this$props3 = this.props,\n type = _this$props3.type,\n size = _this$props3.size,\n elementRef = _this$props3.elementRef,\n as = _this$props3.as,\n href = _this$props3.href,\n color = _this$props3.color,\n focusColor = _this$props3.focusColor,\n textAlign = _this$props3.textAlign,\n shape = _this$props3.shape,\n display = _this$props3.display,\n withBackground = _this$props3.withBackground,\n withBorder = _this$props3.withBorder,\n isCondensed = _this$props3.isCondensed,\n margin = _this$props3.margin,\n cursor = _this$props3.cursor,\n onClick = _this$props3.onClick,\n renderIcon = _this$props3.renderIcon,\n tabIndex = _this$props3.tabIndex,\n props = _objectWithoutProperties(_this$props3, [\"type\", \"size\", \"elementRef\", \"as\", \"href\", \"color\", \"focusColor\", \"textAlign\", \"shape\", \"display\", \"withBackground\", \"withBorder\", \"isCondensed\", \"margin\", \"cursor\", \"onClick\", \"renderIcon\", \"tabIndex\"]);\n\n var interaction = this.interaction;\n var isDisabled = interaction === 'disabled';\n var isReadOnly = interaction === 'readonly';\n var isEnabled = interaction === 'enabled';\n var hasOnlyIconVisible = this.hasOnlyIconVisible;\n var classes = classnames((_classnames = {}, _defineProperty(_classnames, styles.content, true), _defineProperty(_classnames, styles[\"size--\".concat(size)], true), _defineProperty(_classnames, styles[\"color--\".concat(color)], true), _defineProperty(_classnames, styles[\"textAlign--\".concat(textAlign)], true), _defineProperty(_classnames, styles[\"shape--\".concat(shape)], true), _defineProperty(_classnames, styles.withBackground, withBackground), _defineProperty(_classnames, styles.withoutBackground, !withBackground), _defineProperty(_classnames, styles.isCondensed, isCondensed), _defineProperty(_classnames, styles.withBorder, withBorder), _defineProperty(_classnames, styles.withoutBorder, !withBorder), _defineProperty(_classnames, styles.hasOnlyIconVisible, hasOnlyIconVisible), _defineProperty(_classnames, styles.isDisabled, isDisabled), _classnames));\n return React.createElement(View, Object.assign({}, passthroughProps(props), {\n as: this.elementType,\n focusColor: this.focusColor,\n position: \"relative\",\n display: display,\n width: display === 'block' ? '100%' : 'auto',\n borderRadius: shape === 'circle' ? 'circle' : 'medium',\n background: \"transparent\",\n padding: \"none\",\n borderWidth: \"none\",\n margin: margin,\n cursor: isDisabled ? 'not-allowed' : cursor,\n href: href,\n type: href ? null : type,\n elementRef: this.handleElementRef,\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n role: onClick && as !== 'button' ? 'button' : null,\n tabIndex: onClick && as ? tabIndex || '0' : tabIndex,\n disabled: isDisabled || isReadOnly // TODO: Eventually remove classname. That will involve figuring out where the button reset should live, as well\n // as creating a selector for the active and hover states\n ,\n className: isEnabled ? styles.root : null\n }), React.createElement(\"span\", {\n className: classes\n }, this.renderChildren()));\n }\n }, {\n key: \"hasOnlyIconVisible\",\n get: function get() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n renderIcon = _this$props4.renderIcon;\n return renderIcon && !hasVisibleChildren(children);\n }\n }, {\n key: \"elementType\",\n get: function get() {\n return getElementType(BaseButton, this.props);\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return getInteraction({\n props: this.props\n });\n }\n }, {\n key: \"focusColor\",\n get: function get() {\n var _this$props5 = this.props,\n color = _this$props5.color,\n focusColor = _this$props5.focusColor,\n withBackground = _this$props5.withBackground; // Give user specified focusColor preference\n\n if (focusColor) {\n return focusColor;\n } // The `primary-inverse` background has an info focus outline\n // by default since it is replacing the `light` button variant.\n // Override the focus color with info even though it is\n // an inverse color\n\n\n if (color === 'primary-inverse' && withBackground) {\n return 'info';\n }\n\n return color.includes('inverse') ? 'inverse' : 'info';\n }\n }, {\n key: \"focused\",\n get: function get() {\n return isActiveElement(this._rootElement);\n }\n }]);\n\n BaseButton.displayName = \"BaseButton\";\n return BaseButton;\n}(Component), _class2.propTypes = {\n /**\n * Specifies the `Button` children.\n */\n children: PropTypes.node,\n\n /**\n * Specifies the type of the `Button`'s underlying html element.\n */\n type: PropTypes.oneOf(['button', 'submit', 'reset']),\n\n /**\n * The size of the `Button`\n */\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * Provides a reference to the `Button`'s underlying html element.\n */\n elementRef: PropTypes.func,\n\n /**\n * The element to render as the component root, `Button` by default.\n */\n as: PropTypes.elementType,\n\n /**\n * Specifies if interaction with the `Button` is enabled, disabled, or readonly.\n */\n interaction: PropTypes.oneOf(['enabled', 'disabled', 'readonly']),\n\n /**\n * Specifies the color for the `Button`.\n */\n color: PropTypes.oneOf(['primary', 'primary-inverse', 'secondary', 'success', 'danger']),\n\n /**\n * Override the `Button`'s default focus outline color.\n */\n focusColor: PropTypes.oneOf(['info', 'inverse']),\n\n /**\n * The `Button` display property. When set to `inline-block`, the `Button` displays inline with other elements.\n * When set to block, the `Button` expands to fill the width of the container.\n */\n display: PropTypes.oneOf(['inline-block', 'block']),\n\n /**\n * Sets the alignment of the `Button` children and/or icon.\n */\n textAlign: PropTypes.oneOf(['start', 'center']),\n\n /**\n * Specifies if the `Button` shape should be a circle or rectangle.\n */\n shape: PropTypes.oneOf(['rectangle', 'circle']),\n\n /**\n * Specifies if the `Button` should render with a solid background. When false, the background is transparent.\n */\n withBackground: PropTypes.bool,\n\n /**\n * Specifies if the `Button` should render with a border.\n */\n withBorder: PropTypes.bool,\n\n /**\n * Designates if the `Button` should render without padding. This option should only be set when `withBorder` and\n * `withBackground` are also set to false.\n */\n isCondensed: PropTypes.bool,\n\n /**\n * Valid values are `0`, `none`, `auto`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `margin=\"small auto large\"`.\n */\n margin: ThemeablePropTypes.spacing,\n\n /**\n * Specify a mouse cursor to use when hovering over the button.\n * The `pointer` cursor is used by default.\n */\n cursor: PropTypes.string,\n\n /**\n * Specifies an href attribute for the `Button`'s underlying html element.\n */\n href: PropTypes.string,\n\n /**\n * Callback fired when the `Button` is clicked.\n */\n onClick: PropTypes.func,\n\n /**\n * Callback fired when the `Button` receives a keydown event.\n */\n onKeyDown: PropTypes.func,\n\n /**\n * An icon, or function that returns an icon.\n */\n renderIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Specifies the tabindex of the `Button`.\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n}, _class2.defaultProps = {\n children: null,\n type: 'button',\n size: 'medium',\n elementRef: function elementRef(el) {},\n as: 'button',\n // Leave interaction default undefined so that `disabled` and `readOnly` can also be supplied\n interaction: void 0,\n color: 'secondary',\n focusColor: void 0,\n shape: 'rectangle',\n display: 'inline-block',\n textAlign: 'start',\n withBackground: true,\n withBorder: true,\n isCondensed: false,\n margin: '0',\n cursor: 'pointer',\n href: void 0,\n onClick: void 0,\n onKeyDown: function onKeyDown(event) {},\n renderIcon: void 0,\n tabIndex: void 0\n}, _temp)) || _class) || _class);\nexport { BaseButton };\nexport default BaseButton;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { error as _error } from \"@instructure/console\";\n\nvar _dec, _dec2, _dec3, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { IconXSolid } from '@instructure/ui-icons';\nimport { ScreenReaderContent } from '@instructure/ui-a11y-content';\nimport { testable } from '@instructure/ui-testable';\nimport { themeable, ThemeablePropTypes } from '@instructure/ui-themeable';\nimport { getInteraction, passthroughProps, deprecated } from '@instructure/ui-react-utils';\nimport { BaseButton } from '../BaseButton';\nvar styles = {\n componentId: 'ejhDx',\n template: function template(theme) {\n return \"\\n\\n.ejhDx_bGBk{display:inline-block;z-index:\".concat(theme.zIndex || 'inherit', \"}\\n\\n.ejhDx_doBn{position:static}\\n\\n.ejhDx_bQpq,.ejhDx_bxia{position:absolute}\\n\\n.ejhDx_coHh{top:\").concat(theme.offsetXSmall || 'inherit', \"}\\n\\n.ejhDx_cDib{top:\").concat(theme.offsetSmall || 'inherit', \"}\\n\\n.ejhDx_faeR{top:\").concat(theme.offsetMedium || 'inherit', \"}\\n\\n.ejhDx_bQpq{inset-inline-end:0;inset-inline-start:auto}\\n\\n[dir=ltr] .ejhDx_bQpq{left:auto;right:0}\\n\\n[dir=rtl] .ejhDx_bQpq{left:0;right:auto}\\n\\n.ejhDx_bQpq.ejhDx_coHh{inset-inline-end:\").concat(theme.offsetXSmall || 'inherit', \";inset-inline-start:auto}\\n\\n[dir=ltr] .ejhDx_bQpq.ejhDx_coHh{left:auto;right:\").concat(theme.offsetXSmall || 'inherit', \"}\\n\\n[dir=rtl] .ejhDx_bQpq.ejhDx_coHh{left:\").concat(theme.offsetXSmall || 'inherit', \";right:auto}\\n\\n.ejhDx_bQpq.ejhDx_cDib{inset-inline-end:\").concat(theme.offsetSmall || 'inherit', \";inset-inline-start:auto}\\n\\n[dir=ltr] .ejhDx_bQpq.ejhDx_cDib{left:auto;right:\").concat(theme.offsetSmall || 'inherit', \"}\\n\\n[dir=rtl] .ejhDx_bQpq.ejhDx_cDib{left:\").concat(theme.offsetSmall || 'inherit', \";right:auto}\\n\\n.ejhDx_bQpq.ejhDx_faeR{inset-inline-end:\").concat(theme.offsetMedium || 'inherit', \";inset-inline-start:auto}\\n\\n[dir=ltr] .ejhDx_bQpq.ejhDx_faeR{left:auto;right:\").concat(theme.offsetMedium || 'inherit', \"}\\n\\n[dir=rtl] .ejhDx_bQpq.ejhDx_faeR{left:\").concat(theme.offsetMedium || 'inherit', \";right:auto}\\n\\n.ejhDx_bxia{inset-inline-end:auto;inset-inline-start:0}\\n\\n[dir=ltr] .ejhDx_bxia{left:0;right:auto}\\n\\n[dir=rtl] .ejhDx_bxia{left:auto;right:0}\\n\\n.ejhDx_bxia.ejhDx_coHh{inset-inline-end:auto;inset-inline-start:\").concat(theme.offsetXSmall || 'inherit', \"}\\n\\n[dir=ltr] .ejhDx_bxia.ejhDx_coHh{left:\").concat(theme.offsetXSmall || 'inherit', \";right:auto}\\n\\n[dir=rtl] .ejhDx_bxia.ejhDx_coHh{left:auto;right:\").concat(theme.offsetXSmall || 'inherit', \"}\\n\\n.ejhDx_bxia.ejhDx_cDib{inset-inline-end:auto;inset-inline-start:\").concat(theme.offsetSmall || 'inherit', \"}\\n\\n[dir=ltr] .ejhDx_bxia.ejhDx_cDib{left:\").concat(theme.offsetSmall || 'inherit', \";right:auto}\\n\\n[dir=rtl] .ejhDx_bxia.ejhDx_cDib{left:auto;right:\").concat(theme.offsetSmall || 'inherit', \"}\\n\\n.ejhDx_bxia.ejhDx_faeR{inset-inline-end:auto;inset-inline-start:\").concat(theme.offsetMedium || 'inherit', \"}\\n\\n[dir=ltr] .ejhDx_bxia.ejhDx_faeR{left:\").concat(theme.offsetMedium || 'inherit', \";right:auto}\\n\\n[dir=rtl] .ejhDx_bxia.ejhDx_faeR{left:auto;right:\").concat(theme.offsetMedium || 'inherit', \"}\");\n },\n 'root': 'ejhDx_bGBk',\n 'placement--static': 'ejhDx_doBn',\n 'placement--end': 'ejhDx_bQpq',\n 'placement--start': 'ejhDx_bxia',\n 'offset--x-small': 'ejhDx_coHh',\n 'offset--small': 'ejhDx_cDib',\n 'offset--medium': 'ejhDx_faeR'\n};\nimport theme from './theme';\n/**\n---\ncategory: components\n---\n**/\n\nvar CloseButton = (_dec = deprecated('8.0.0', {\n children: 'screenReaderLabel',\n buttonRef: 'elementRef',\n variant: 'color'\n}), _dec2 = testable(), _dec3 = themeable(theme, styles), _dec(_class = _dec2(_class = _dec3(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(CloseButton, _Component);\n\n function CloseButton() {\n _classCallCheck(this, CloseButton);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(CloseButton).apply(this, arguments));\n }\n\n _createClass(CloseButton, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(this.props.screenReaderLabel || this.props.children, \"[CloseButton] The `screenReaderLabel` prop is required but was not provided.\");\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(this.props.screenReaderLabel || this.props.children, \"[CloseButton] The `screenReaderLabel` prop is required but was not provided.\");\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classnames;\n\n var _this$props = this.props,\n children = _this$props.children,\n screenReaderLabel = _this$props.screenReaderLabel,\n elementRef = _this$props.elementRef,\n buttonRef = _this$props.buttonRef,\n size = _this$props.size,\n onClick = _this$props.onClick,\n margin = _this$props.margin,\n placement = _this$props.placement,\n offset = _this$props.offset,\n type = _this$props.type,\n as = _this$props.as,\n href = _this$props.href,\n cursor = _this$props.cursor,\n tabIndex = _this$props.tabIndex,\n props = _objectWithoutProperties(_this$props, [\"children\", \"screenReaderLabel\", \"elementRef\", \"buttonRef\", \"size\", \"onClick\", \"margin\", \"placement\", \"offset\", \"type\", \"as\", \"href\", \"cursor\", \"tabIndex\"]);\n\n return React.createElement(\"span\", Object.assign({}, passthroughProps(props), {\n className: classnames((_classnames = {}, _defineProperty(_classnames, styles.root, true), _defineProperty(_classnames, styles[\"placement--\".concat(placement)], placement), _defineProperty(_classnames, styles[\"offset--\".concat(offset)], offset), _classnames))\n }), React.createElement(BaseButton, {\n renderIcon: IconXSolid,\n elementRef: elementRef || buttonRef,\n interaction: this.interaction,\n type: type,\n color: this.color,\n size: size,\n onClick: onClick,\n margin: margin,\n withBorder: false,\n withBackground: false,\n as: as,\n href: href,\n cursor: cursor,\n tabIndex: tabIndex,\n __dangerouslyIgnoreExperimentalWarnings: true\n }, React.createElement(ScreenReaderContent, null, screenReaderLabel || children)));\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return getInteraction({\n props: this.props\n });\n }\n }, {\n key: \"color\",\n get: function get() {\n var _this$props2 = this.props,\n color = _this$props2.color,\n variant = _this$props2.variant;\n if (variant === 'icon-inverse' || color === 'primary-inverse') return 'primary-inverse';\n return 'secondary';\n }\n }]);\n\n CloseButton.displayName = \"CloseButton\";\n return CloseButton;\n}(Component), _class2.propTypes = {\n /**\n * An accessible label for the `CloseButton` (required)\n */\n screenReaderLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n // CloseButton could previously accept node children, loosening this type for backwards compatibility\n\n /**\n * Specifies the color for the `CloseButton`.\n */\n color: PropTypes.oneOf(['primary', 'primary-inverse']),\n\n /**\n * Specifies if interaction with the `CloseButton` is enabled, disabled, or readonly.\n */\n interaction: PropTypes.oneOf(['enabled', 'disabled', 'readonly']),\n\n /**\n * Provides a reference to the `CloseButton`'s underlying html element.\n */\n elementRef: PropTypes.func,\n\n /**\n * The size of the `CloseButton`\n */\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * Callback fired when the `CloseButton` is clicked.\n */\n onClick: PropTypes.func,\n\n /**\n * Valid values are `0`, `none`, `auto`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `margin=\"small auto large\"`.\n */\n margin: ThemeablePropTypes.spacing,\n\n /**\n * Specifies the placement of the `CloseButton`\n */\n placement: PropTypes.oneOf(['start', 'end', 'static']),\n\n /**\n * Specifies the offset distance for the `CloseButton` with respect to both the top and start/end of the container.\n * Note that for this property to have an effect, the `placement` prop must be set to either `start` or `end`. The\n * offset will also be created with respect to a positioned parent. If it does not appear to be working, try setting\n * the `position` of the parent container to `relative`.\n */\n offset: PropTypes.oneOf(['none', 'x-small', 'small', 'medium']),\n\n /**\n * Specifies the type of the `Button`'s underlying html element.\n */\n type: PropTypes.oneOf(['button', 'submit', 'reset']),\n\n /**\n * The element to render as the component root, `CloseButton` by default.\n */\n as: PropTypes.elementType,\n\n /**\n * Specifies an href attribute for the `CloseButton`'s underlying html element.\n */\n href: PropTypes.string,\n\n /**\n * Specify a mouse cursor to use when hovering over the `CloseButton`.\n */\n cursor: PropTypes.string,\n\n /**\n * Specifies the tabindex of the `CloseButton`.\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * __Deprecated - use `screenReaderLabel` instead__\n */\n children: PropTypes.node,\n\n /**\n * __Deprecated - use `elementRef` instead__\n */\n buttonRef: PropTypes.func,\n\n /**\n * __Deprecated - use `color` instead__\n */\n variant: PropTypes.oneOf(['icon', 'icon-inverse'])\n}, _class2.defaultProps = {\n screenReaderLabel: void 0,\n children: void 0,\n onClick: function onClick(event) {},\n elementRef: void 0,\n buttonRef: void 0,\n variant: void 0,\n color: void 0,\n // Leave interaction default undefined so that `disabled` and `readOnly` can also be supplied\n interaction: void 0,\n disabled: void 0,\n readOnly: void 0,\n type: 'button',\n placement: 'static',\n offset: 'x-small',\n size: 'small',\n margin: '0',\n as: 'button',\n href: void 0,\n cursor: 'pointer',\n tabIndex: void 0\n}, _temp)) || _class) || _class) || _class);\nexport default CloseButton;\nexport { CloseButton };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function (_ref) {\n var spacing = _ref.spacing,\n stacking = _ref.stacking;\n return {\n offsetMedium: spacing.medium,\n offsetSmall: spacing.small,\n offsetXSmall: spacing.xSmall,\n zIndex: stacking.above\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport React, { Component } from 'react';\nimport { SVGIcon } from '@instructure/ui-svg-images';\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M213.333 960c0-167.36 56-321.707 149.44-446.4L1406.4 1557.227c-124.693 93.44-279.04 149.44-446.4 149.44-411.627 0-746.667-335.04-746.667-746.667m1493.334 0c0 167.36-56 321.707-149.44 446.4L513.6 362.773c124.693-93.44 279.04-149.44 446.4-149.44 411.627 0 746.667 335.04 746.667 746.667M960 0C429.76 0 0 429.76 0 960s429.76 960 960 960 960-429.76 960-960S1490.24 0 960 0\",\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\"\n});\n\nvar IconNoSolid =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(IconNoSolid, _Component);\n\n function IconNoSolid() {\n _classCallCheck(this, IconNoSolid);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(IconNoSolid).apply(this, arguments));\n }\n\n _createClass(IconNoSolid, [{\n key: \"render\",\n value: function render() {\n return React.createElement(SVGIcon, Object.assign({}, this.props, {\n name: \"IconNo\",\n viewBox: \"0 0 1920 1920\"\n }), _ref);\n }\n }]);\n\n IconNoSolid.displayName = \"IconNoSolid\";\n return IconNoSolid;\n}(Component);\n\nIconNoSolid.glyphName = 'no';\nIconNoSolid.variant = 'Solid';\nIconNoSolid.propTypes = _objectSpread({}, SVGIcon.propTypes);\nexport default IconNoSolid;\nexport { IconNoSolid };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport React, { Component } from 'react';\nimport { SVGIcon } from '@instructure/ui-svg-images';\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M1072.156 537.778c59.802-.707 116.561 14.29 157.774 56.99 36.644 37.974 50.015 91.327 43.72 142.908-9.128 74.877-30.737 144.983-56.093 215.657-27.129 75.623-54.66 151.09-82.332 226.512-44.263 120.685-88.874 241.237-132.65 362.1-10.877 30.018-18.635 62.072-21.732 93.784-3.376 34.532 21.462 51.526 52.648 36.203 24.977-12.278 49.288-28.992 68.845-48.768 31.952-32.31 63.766-64.776 94.805-97.98 15.515-16.605 30.86-33.397 45.912-50.438 11.993-13.583 24.318-34.02 40.779-42.28 31.17-15.642 55.226 22.846 49.582 49.794-6.008 28.736-27.377 53.54-45.014 75.973-54.87 69.795-115.044 137.088-183.308 193.977-67.103 55.77-141.607 103.216-223.428 133.98-26.65 10.016-53.957 18.253-81.713 24.563-53.585 12.192-112.798 11.283-167.56 3.333-40.151-5.828-76.246-31.44-93.264-68.707-29.544-64.698-8.98-144.595 6.295-210.45 20.37-87.77 51.85-170.961 83.13-255.163 33.253-89.517 67.435-178.676 101.726-267.797 31.294-81.296 62.72-162.537 93.69-243.95 8.718-22.923 21.183-45.255 24.845-68.963 6.109-39.537-22.406-74.738-61.985-51.947-92.46 53.244-153.538 141.534-224.52 218.4-16.089 17.43-35.243 39.04-62.907 19.07-29.521-21.308-20.765-48.637-3.987-71.785 93.18-128.58 205.056-248.86 350.86-316.783 60.932-28.386 146.113-57.285 225.882-58.233zM1440 205.244c-.008 169.189-182.758 284.908-335.53 212.455-78.956-37.446-117.358-126.202-98.219-227.002 26.494-139.598 183.78-227.203 315.717-175.87 76.703 29.846 118.04 96.533 118.032 190.417z\",\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\"\n});\n\nvar IconInfoBorderlessSolid =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(IconInfoBorderlessSolid, _Component);\n\n function IconInfoBorderlessSolid() {\n _classCallCheck(this, IconInfoBorderlessSolid);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(IconInfoBorderlessSolid).apply(this, arguments));\n }\n\n _createClass(IconInfoBorderlessSolid, [{\n key: \"render\",\n value: function render() {\n return React.createElement(SVGIcon, Object.assign({}, this.props, {\n name: \"IconInfoBorderless\",\n viewBox: \"0 0 1920 1920\"\n }), _ref);\n }\n }]);\n\n IconInfoBorderlessSolid.displayName = \"IconInfoBorderlessSolid\";\n return IconInfoBorderlessSolid;\n}(Component);\n\nIconInfoBorderlessSolid.glyphName = 'info-borderless';\nIconInfoBorderlessSolid.variant = 'Solid';\nIconInfoBorderlessSolid.propTypes = _objectSpread({}, SVGIcon.propTypes);\nexport default IconInfoBorderlessSolid;\nexport { IconInfoBorderlessSolid };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport React, { Component } from 'react';\nimport { SVGIcon } from '@instructure/ui-svg-images';\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M1743.858 267.012L710.747 1300.124 176.005 765.382 0 941.387l710.747 710.871 1209.24-1209.116z\",\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\"\n});\n\nvar IconCheckMarkSolid =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(IconCheckMarkSolid, _Component);\n\n function IconCheckMarkSolid() {\n _classCallCheck(this, IconCheckMarkSolid);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(IconCheckMarkSolid).apply(this, arguments));\n }\n\n _createClass(IconCheckMarkSolid, [{\n key: \"render\",\n value: function render() {\n return React.createElement(SVGIcon, Object.assign({}, this.props, {\n name: \"IconCheckMark\",\n viewBox: \"0 0 1920 1920\"\n }), _ref);\n }\n }]);\n\n IconCheckMarkSolid.displayName = \"IconCheckMarkSolid\";\n return IconCheckMarkSolid;\n}(Component);\n\nIconCheckMarkSolid.glyphName = 'check-mark';\nIconCheckMarkSolid.variant = 'Solid';\nIconCheckMarkSolid.propTypes = _objectSpread({}, SVGIcon.propTypes);\nexport default IconCheckMarkSolid;\nexport { IconCheckMarkSolid };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport React, { Component } from 'react';\nimport { SVGIcon } from '@instructure/ui-svg-images';\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"g\", {\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\"\n}, React.createElement(\"path\", {\n d: \"M994.578 1436.356c-133.365 0-241.822 108.457-241.822 241.822S861.213 1920 994.578 1920s241.822-108.457 241.822-241.822-108.457-241.822-241.822-241.822zM1165.063 1315.444L1310.156 0H679l145.093 1315.444z\"\n}));\n\nvar IconWarningBorderlessSolid =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(IconWarningBorderlessSolid, _Component);\n\n function IconWarningBorderlessSolid() {\n _classCallCheck(this, IconWarningBorderlessSolid);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(IconWarningBorderlessSolid).apply(this, arguments));\n }\n\n _createClass(IconWarningBorderlessSolid, [{\n key: \"render\",\n value: function render() {\n return React.createElement(SVGIcon, Object.assign({}, this.props, {\n name: \"IconWarningBorderless\",\n viewBox: \"0 0 1920 1920\"\n }), _ref);\n }\n }]);\n\n IconWarningBorderlessSolid.displayName = \"IconWarningBorderlessSolid\";\n return IconWarningBorderlessSolid;\n}(Component);\n\nIconWarningBorderlessSolid.glyphName = 'warning-borderless';\nIconWarningBorderlessSolid.variant = 'Solid';\nIconWarningBorderlessSolid.propTypes = _objectSpread({}, SVGIcon.propTypes);\nexport default IconWarningBorderlessSolid;\nexport { IconWarningBorderlessSolid };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Converts a CSS unit value combination into an array of type [ value, unit ]\n *\n * @module parseUnit\n *\n * Example inputs:\n * - '100px'\n * - '20rem'\n * - '10vh'\n * - '400vmin'\n *\n * @param {string} str\n * @returns {Array} Returns array of shape [ value, unit ]\n*/\nfunction parseUnit(str) {\n var value = \"\".concat(str);\n return [parseFloat(value, 10), // eslint-disable-next-line no-useless-escape\n value.match(/[\\d.\\-\\+]*\\s*(.*)/)[1] || ''];\n}\n\nexport default parseUnit;\nexport { parseUnit };","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { parseUnit } from './parseUnit';\n/**\n * ---\n * category: utilities\n * ---\n * Converts a unit value time combination (s, ms) to a number representing ms\n *\n * @module ms\n *\n * Example inputs:\n * - '100s'\n * - '20ms'\n *\n * @param {String} val\n * @returns {Number} Returns numerical representation of milliseconds\n*/\n\nfunction ms(val) {\n if (!val || typeof val === 'number') {\n return val;\n }\n\n var _parseUnit = parseUnit(val),\n _parseUnit2 = _slicedToArray(_parseUnit, 2),\n num = _parseUnit2[0],\n unit = _parseUnit2[1];\n\n if (unit === 'ms') {\n return num;\n } else if (unit === 's') {\n return num * 1000;\n } else {\n return num;\n }\n}\n\nexport default ms;\nexport { ms };","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { findDOMNode } from './findDOMNode';\nvar classListShimmed = false;\nvar apiForEmptyNode = {\n toArray: function toArray() {\n return [];\n },\n contains: function contains() {\n return false;\n },\n add: function add() {},\n remove: function remove() {}\n};\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Produces a classList object containing functions\n * for both adding and removing classes from an element.\n * Also provides a contains function to query if the\n * element contains a specified class name.\n *\n * @param {ReactComponent|DomNode} element - component or DOM node\n * @return {Object} object containing classList functions 'contains', 'add', and 'remove'\n */\n\nfunction getClassList(element) {\n var node = findDOMNode(element);\n if (!node) return apiForEmptyNode;\n var classListApi = {\n toArray: function toArray() {\n shimClassListForIE();\n return _toConsumableArray(node.classList);\n }\n };\n ['contains', 'add', 'remove'].forEach(function (method) {\n classListApi[method] = function (className) {\n shimClassListForIE();\n return node.classList[method](className);\n };\n });\n return classListApi;\n}\n\nfunction shimClassListForIE() {\n // IE 11 doesn't support classList on SVG elements\n\n /* istanbul ignore if */\n if (!classListShimmed) {\n if (!('classList' in document.createElementNS('http://www.w3.org/2000/svg', 'g'))) {\n var descr = Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'classList');\n Object.defineProperty(SVGElement.prototype, 'classList', descr);\n }\n\n classListShimmed = true;\n }\n}\n\nexport default getClassList;\nexport { getClassList };","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { polyfill as _polyfill } from 'react-lifecycles-compat';\nexport var polyfill = function polyfill() {\n return _polyfill.apply(void 0, arguments);\n};","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getClassList } from '@instructure/ui-dom-utils';\nimport { ensureSingleChild, polyfill, safeCloneElement } from '@instructure/ui-react-utils';\nvar STATES = {\n EXITED: -2,\n EXITING: -1,\n ENTERING: 1,\n ENTERED: 2\n};\n/**\n---\nprivate: true\n---\n Note: this is forked from https://github.com/react-bootstrap/react-overlays/blob/master/src/Transition.js\n so that it works with css modules. The internals are pretty different now, but it has roughly the same api.\n**/\n\nvar BaseTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(BaseTransition, _React$Component);\n\n function BaseTransition() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, BaseTransition);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(BaseTransition)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this._timeouts = [];\n _this.state = {\n transitioning: false\n };\n\n _this.startTransition = function (transitionIn, transitionOnStart) {\n var _this$props = _this.props,\n transitionEnter = _this$props.transitionEnter,\n transitionExit = _this$props.transitionExit;\n\n if (transitionIn) {\n _this.enter(transitionEnter && transitionOnStart ? STATES.EXITED : null);\n } else {\n _this.exit(transitionExit && transitionOnStart ? STATES.ENTERED : null);\n }\n };\n\n _this.transition = function (toState, fromState, transitionCallback) {\n var transitionDuration = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0;\n if (_this._unmounted) return;\n var classList = getClassList(_assertThisInitialized(_this));\n\n var transitionClassName = _this.getTransitionClassName(toState);\n\n var prevTransitionClassName = _this.getTransitionClassName(fromState);\n\n var baseTransitionClassName = _this.props.transitionClassName;\n\n if (fromState && transitionDuration && _this.transitionEnabled(toState)) {\n classList.add(baseTransitionClassName);\n } else {\n classList.remove(baseTransitionClassName);\n }\n\n if (prevTransitionClassName) {\n classList.remove(prevTransitionClassName);\n }\n\n if (transitionClassName) {\n classList.add(transitionClassName);\n }\n\n if (toState && fromState) {\n _this.props.onTransition(toState, fromState);\n }\n\n _this._timeouts.push(setTimeout(function () {\n if (_this._unmounted) return;\n\n if (typeof transitionCallback === 'function') {\n transitionCallback();\n }\n }, transitionDuration));\n };\n\n _this.enter = function (initialState) {\n if (_this.state.transitioning || _this._unmounted) return;\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n props = _assertThisInitialize.props;\n\n props.onEnter();\n\n if (props.transitionEnter) {\n _this.setState({\n transitioning: true\n }, function () {\n var enter = function enter() {\n props.onEntering();\n\n _this.transition(STATES.ENTERED, STATES.ENTERING, function () {\n _this.setState({\n transitioning: false\n }, function () {\n props.onEntered();\n });\n });\n };\n\n if (initialState) {\n _this.transition(initialState, null, function () {\n _this.transition(STATES.ENTERING, initialState, enter, props.enterDelay);\n });\n } else {\n enter();\n }\n });\n } else {\n _this.setState({\n transitioning: false\n }, function () {\n _this.transition(STATES.ENTERED, STATES.EXITED);\n\n props.onEntered();\n });\n }\n };\n\n _this.exit = function (initialState) {\n if (_this.state.transitioning) return;\n\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n props = _assertThisInitialize2.props;\n\n props.onExit();\n\n if (props.transitionExit) {\n _this.setState({\n transitioning: true\n }, function () {\n var exit = function exit() {\n props.onExiting();\n\n _this.transition(STATES.EXITED, STATES.EXITING, function () {\n _this.setState({\n transitioning: false\n }, function () {\n props.onExited();\n });\n });\n };\n\n if (initialState) {\n _this.transition(initialState, null, function () {\n _this.transition(STATES.EXITING, initialState, exit, props.exitDelay);\n });\n } else {\n exit();\n }\n });\n } else {\n _this.setState({\n transitioning: false\n }, function () {\n _this.transition(STATES.EXITED, STATES.ENTERED);\n\n props.onExited();\n });\n }\n };\n\n return _this;\n }\n\n _createClass(BaseTransition, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startTransition(this.props.in, this.props.transitionOnMount);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps, prevState) {\n if (this.props.in !== prevProps.in && prevState.transitioning) {\n // direction changed before previous transition finished\n return true;\n }\n\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, cancelPrematurely) {\n if (cancelPrematurely) {\n this.clearTransition(prevProps.transitionClassName);\n }\n\n if (this.props.transitionClassName !== prevProps.transitionClassName) {\n this.clearTransition(prevProps.transitionClassName);\n }\n\n if (prevProps.in !== this.props.in) {\n this.startTransition(this.props.in, true);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._timeouts.forEach(function (timeout) {\n clearTimeout(timeout);\n });\n\n this._unmounted = true;\n }\n }, {\n key: \"clearTransition\",\n value: function clearTransition(transitionClassName) {\n var _this2 = this;\n\n if (this._unmounted) return;\n this.setState({\n transitioning: false\n }, function () {\n if (_this2._unmounted) return;\n var classList = getClassList(_this2);\n Object.keys(STATES).forEach(function (state) {\n classList.remove(_this2.getTransitionClassName(state));\n });\n classList.remove(transitionClassName);\n });\n }\n }, {\n key: \"transitionEnabled\",\n value: function transitionEnabled(toState) {\n var props = this.props;\n\n switch (toState) {\n case STATES.EXITED:\n case STATES.EXITING:\n return props.transitionExit;\n\n case STATES.ENTERED:\n case STATES.ENTERING:\n return props.transitionEnter;\n\n default:\n return false;\n }\n }\n }, {\n key: \"getTransitionClassName\",\n value: function getTransitionClassName(transitionState) {\n var props = this.props;\n\n switch (transitionState) {\n case STATES.EXITED:\n return props.exitedClassName;\n\n case STATES.ENTERING:\n return props.enteringClassName;\n\n case STATES.ENTERED:\n return props.enteredClassName;\n\n case STATES.EXITING:\n return props.exitingClassName;\n\n default:\n return null;\n }\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n return safeCloneElement(ensureSingleChild(this.props.children), {\n 'aria-hidden': !this.props.in ? true : null\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!this.props.in && this.props.unmountOnExit && !this.state.transitioning) {\n return null;\n } else {\n return this.renderChildren();\n }\n }\n }]);\n\n BaseTransition.displayName = \"BaseTransition\";\n return BaseTransition;\n}(React.Component);\n\nBaseTransition.propTypes = {\n /**\n * Show the component? Triggers the enter or exit animation.\n */\n in: PropTypes.bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is not shown.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Run the enter animation when the component mounts, if it is initially\n * shown\n */\n transitionOnMount: PropTypes.bool,\n\n /**\n * Run the enter animation\n */\n transitionEnter: PropTypes.bool,\n\n /**\n * Run the exit animation\n */\n transitionExit: PropTypes.bool,\n\n /**\n * A Timeout for the animation, in milliseconds, to ensure that a node doesn't\n * transition indefinately if the browser transitionEnd events are\n * canceled or interrupted.\n *\n * By default this is set to a high number (5 seconds) as a failsafe. You should consider\n * setting this to the duration of your animation (or a bit above it).\n */\n enterDelay: PropTypes.number,\n\n /**\n * A Timeout for the animation, in milliseconds, to ensure that a node doesn't\n * transition indefinately if the browser transitionEnd events are\n * canceled or interrupted.\n *\n * By default this is set to a high number (5 seconds) as a failsafe. You should consider\n * setting this to the duration of your animation (or a bit above it).\n */\n exitDelay: PropTypes.number,\n\n /**\n * the base CSS class for the transition (transitions go here)\n */\n transitionClassName: PropTypes.string,\n\n /**\n * CSS class or classes applied when the component is exited\n */\n exitedClassName: PropTypes.string,\n\n /**\n * CSS class or classes applied while the component is exiting\n */\n exitingClassName: PropTypes.string,\n\n /**\n * CSS class or classes applied when the component is entered\n */\n enteredClassName: PropTypes.string,\n\n /**\n * CSS class or classes applied while the component is entering\n */\n enteringClassName: PropTypes.string,\n\n /**\n * Callback fired when transitioning to the next state\n */\n onTransition: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" classes are applied\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" classes are applied\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"enter\" classes are applied\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" classes are applied\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" classes are applied\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" classes are applied\n */\n onExited: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string\n};\nBaseTransition.defaultProps = {\n in: false,\n component: 'div',\n unmountOnExit: false,\n transitionOnMount: false,\n transitionEnter: true,\n transitionExit: true,\n enterDelay: 300,\n exitDelay: 300,\n onEnter: function onEnter() {},\n onEntering: function onEntering() {},\n onEntered: function onEntered() {},\n onExit: function onExit() {},\n onExiting: function onExiting() {},\n onExited: function onExited() {},\n onTransition: function onTransition(toState, fromState) {},\n className: void 0,\n children: null,\n transitionClassName: void 0,\n exitedClassName: void 0,\n exitingClassName: void 0,\n enteredClassName: void 0,\n enteringClassName: void 0\n};\nBaseTransition.states = STATES;\npolyfill(BaseTransition);\nexport default BaseTransition;\nexport { BaseTransition };","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { themeable } from '@instructure/ui-themeable';\nimport { ms } from '@instructure/ui-utils';\nimport { testable } from '@instructure/ui-testable';\nimport { BaseTransition } from './BaseTransition';\nvar styles = {\n componentId: 'eJkkQ',\n template: function template(theme) {\n return \"\\n\\n.eJkkQ_bGBk{transform:translateZ(0)}\\n\\n.eJkkQ_ddDm{transition:opacity \".concat(theme.duration || 'inherit', \" \").concat(theme.timing || 'inherit', \",transform \").concat(theme.duration || 'inherit', \" \").concat(theme.timing || 'inherit', \"}\\n\\n.eJkkQ_cpZA,.eJkkQ_fTmM{opacity:0.01}\\n\\n.eJkkQ_bEpV,.eJkkQ_NoZX{opacity:1}\\n\\n.eJkkQ_fOgU{transition:opacity \").concat(theme.duration || 'inherit', \" \").concat(theme.timing || 'inherit', \",transform \").concat(theme.duration || 'inherit', \" \").concat(theme.timing || 'inherit', \"}\\n\\n.eJkkQ_ZDum,.eJkkQ_fihg{opacity:0.01;transform:scale(0.01) translateZ(0)}\\n\\n.eJkkQ_eqrf,.eJkkQ_ftWB{opacity:1;transform:scale(1) translateZ(0)}\\n\\n.eJkkQ_dlJm,.eJkkQ_cPWt,.eJkkQ_bewW,.eJkkQ_bHhn{transition:opacity \").concat(theme.duration || 'inherit', \" \").concat(theme.timing || 'inherit', \",transform \").concat(theme.duration || 'inherit', \" \").concat(theme.timing || 'inherit', \"}\\n\\n.eJkkQ_bOBe,.eJkkQ_eKZC,.eJkkQ_cusP,.eJkkQ_djUe{opacity:0.01}\\n\\n.eJkkQ_cusP,.eJkkQ_dWfS{transform:translate3d(100%,0,0)}\\n\\n.eJkkQ_eKZC,.eJkkQ_chud{transform:translate3d(-100%,0,0)}\\n\\n.eJkkQ_djUe,.eJkkQ_fDdb{transform:translate3d(0,-100%,0)}\\n\\n.eJkkQ_bOBe,.eJkkQ_cYey{transform:translate3d(0,100%,0)}\\n\\n.eJkkQ_diPG,.eJkkQ_fEMB,.eJkkQ_eOlt,.eJkkQ_fvoZ,.eJkkQ_bIuM,.eJkkQ_fyZW,.eJkkQ_cuyj,.eJkkQ_gaix{opacity:1;transform:translateZ(0)}\");\n },\n 'root': 'eJkkQ_bGBk',\n 'fade': 'eJkkQ_ddDm',\n 'fade--exited': 'eJkkQ_cpZA',\n 'fade--exiting': 'eJkkQ_fTmM',\n 'fade--entered': 'eJkkQ_bEpV',\n 'fade--entering': 'eJkkQ_NoZX',\n 'scale': 'eJkkQ_fOgU',\n 'scale--exited': 'eJkkQ_ZDum',\n 'scale--exiting': 'eJkkQ_fihg',\n 'scale--entered': 'eJkkQ_eqrf',\n 'scale--entering': 'eJkkQ_ftWB',\n 'slide-down': 'eJkkQ_dlJm',\n 'slide-left': 'eJkkQ_cPWt',\n 'slide-right': 'eJkkQ_bewW',\n 'slide-up': 'eJkkQ_bHhn',\n 'slide-down--exited': 'eJkkQ_bOBe',\n 'slide-left--exited': 'eJkkQ_eKZC',\n 'slide-right--exited': 'eJkkQ_cusP',\n 'slide-up--exited': 'eJkkQ_djUe',\n 'slide-right--exiting': 'eJkkQ_dWfS',\n 'slide-left--exiting': 'eJkkQ_chud',\n 'slide-up--exiting': 'eJkkQ_fDdb',\n 'slide-down--exiting': 'eJkkQ_cYey',\n 'slide-down--entered': 'eJkkQ_diPG',\n 'slide-down--entering': 'eJkkQ_fEMB',\n 'slide-left--entered': 'eJkkQ_eOlt',\n 'slide-left--entering': 'eJkkQ_fvoZ',\n 'slide-right--entered': 'eJkkQ_bIuM',\n 'slide-right--entering': 'eJkkQ_fyZW',\n 'slide-up--entered': 'eJkkQ_cuyj',\n 'slide-up--entering': 'eJkkQ_gaix'\n};\nimport theme from './theme';\n/**\n---\ncategory: components/utilities\n---\n@module Transition\n**/\n\nvar Transition = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Transition, _Component);\n\n function Transition() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Transition);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Transition)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _this.handleExited = function () {\n if (typeof _this.props.onExited === 'function') {\n _this.props.onExited(_this.props.type);\n }\n };\n\n _this.handleEntered = function () {\n if (typeof _this.props.onEntered === 'function') {\n _this.props.onEntered(_this.props.type);\n }\n };\n\n return _this;\n }\n\n _createClass(Transition, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n type = _this$props.type,\n children = _this$props.children,\n props = _objectWithoutProperties(_this$props, [\"type\", \"children\"]);\n\n var duration = ms(this.theme.duration);\n var classNames = type ? {\n 'exited': styles[\"\".concat(type, \"--exited\")],\n 'exiting': styles[\"\".concat(type, \"--exiting\")],\n 'entering': styles[\"\".concat(type, \"--entered\")],\n 'entered': styles[\"\".concat(type, \"--entering\")]\n } : {};\n return React.createElement(BaseTransition, Object.assign({}, props, {\n enterDelay: duration,\n exitDelay: duration,\n transitionClassName: styles[type],\n exitedClassName: classNames.exited,\n exitingClassName: classNames.exiting,\n enteredClassName: classNames.entering,\n enteringClassName: classNames.entered,\n onEntered: this.handleEntered,\n onExited: this.handleExited\n }), children);\n }\n }]);\n\n Transition.displayName = \"Transition\";\n return Transition;\n}(Component), _class2.propTypes = {\n type: PropTypes.oneOf(['fade', 'scale', 'slide-down', 'slide-up', 'slide-left', 'slide-right']),\n\n /**\n * A single element to animate in and out\n */\n children: PropTypes.element,\n\n /**\n * Show the component; triggers the enter or exit animation\n */\n in: PropTypes.bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is not shown\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Run the enter animation when the component mounts, if it is initially\n * shown\n */\n transitionOnMount: PropTypes.bool,\n\n /**\n * Run the enter animation\n */\n transitionEnter: PropTypes.bool,\n\n /**\n * Run the exit animation\n */\n transitionExit: PropTypes.bool,\n\n /**\n * Callback fired when transitioning to the next state\n */\n onTransition: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" classes are applied\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" classes are applied\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"enter\" classes are applied\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" classes are applied\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" classes are applied\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" classes are applied\n */\n onExited: PropTypes.func\n}, _class2.defaultProps = {\n type: 'fade',\n in: false,\n unmountOnExit: false,\n transitionOnMount: false,\n transitionEnter: true,\n transitionExit: true,\n onEnter: function onEnter() {},\n onEntering: function onEntering() {},\n onEntered: function onEntered() {},\n onExit: function onExit() {},\n onExiting: function onExiting() {},\n onExited: function onExited() {},\n onTransition: function onTransition(toState, fromState) {},\n children: null\n}, _class2.states = BaseTransition.states, _temp)) || _class) || _class);\nexport default Transition;\nexport { Transition };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { error as _error } from \"@instructure/console\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport keycode from 'keycode';\nimport { deprecated, callRenderProp } from '@instructure/ui-react-utils';\nimport { CloseButton } from '@instructure/ui-buttons';\nimport { View } from '@instructure/ui-view';\nimport { ScreenReaderContent } from '@instructure/ui-a11y-content';\nimport { IconCheckMarkSolid, IconInfoBorderlessSolid, IconWarningBorderlessSolid, IconNoSolid } from '@instructure/ui-icons';\nimport { Transition } from '@instructure/ui-motion';\nimport { themeable, ThemeablePropTypes } from '@instructure/ui-themeable';\nimport { uid } from '@instructure/uid';\nvar styles = {\n componentId: 'cvphu',\n template: function template(theme) {\n return \"\\n\\n.cvphu_bgqc{background:\".concat(theme.background || 'inherit', \";border-radius:\").concat(theme.borderRadius || 'inherit', \";border-style:\").concat(theme.borderStyle || 'inherit', \";border-width:\").concat(theme.borderWidth || 'inherit', \";box-shadow:\").concat(theme.boxShadow || 'inherit', \";color:\").concat(theme.color || 'inherit', \";display:flex;min-width:12rem}\\n\\n.cvphu_bgqc,.cvphu_caGd{box-sizing:border-box}\\n\\n.cvphu_caGd{flex:1;font-family:\").concat(theme.contentFontFamily || 'inherit', \";font-size:\").concat(theme.contentFontSize || 'inherit', \";font-weight:\").concat(theme.contentFontWeight || 'inherit', \";line-height:\").concat(theme.contentLineHeight || 'inherit', \";min-width:0.0625rem;padding:\").concat(theme.contentPadding || 'inherit', \"}\\n\\n.cvphu_dnnz{align-items:center;border-right:\").concat(theme.borderWidth || 'inherit', \" \").concat(theme.borderStyle || 'inherit', \";color:\").concat(theme.iconColor || 'inherit', \";flex:0 0 2.5rem;font-size:1.125rem;justify-content:center}\\n\\n.cvphu_fsGh,.cvphu_dnnz{box-sizing:border-box;display:flex}\\n\\n.cvphu_fsGh{align-items:flex-start;margin-right:\").concat(theme.closeButtonMarginRight || 'inherit', \";margin-top:\").concat(theme.closeButtonMarginTop || 'inherit', \";order:1}\\n\\n.cvphu_cOXX{border-color:\").concat(theme.successBorderColor || 'inherit', \"}\\n\\n.cvphu_cOXX .cvphu_dnnz{background-color:\").concat(theme.successIconBackground || 'inherit', \";border-right-color:\").concat(theme.successIconBackground || 'inherit', \"}\\n\\n.cvphu_pypk{border-color:\").concat(theme.infoBorderColor || 'inherit', \"}\\n\\n.cvphu_pypk .cvphu_dnnz{background:\").concat(theme.infoIconBackground || 'inherit', \";border-right-color:\").concat(theme.infoIconBackground || 'inherit', \"}\\n\\n.cvphu_ddvR{border-color:\").concat(theme.dangerBorderColor || 'inherit', \"}\\n\\n.cvphu_ddvR .cvphu_dnnz{background:\").concat(theme.dangerIconBackground || 'inherit', \";border-right-color:\").concat(theme.dangerIconBackground || 'inherit', \"}\\n\\n.cvphu_eRqw{border-color:\").concat(theme.warningBorderColor || 'inherit', \"}\\n\\n.cvphu_eRqw .cvphu_dnnz{background:\").concat(theme.warningIconBackground || 'inherit', \";border-right-color:\").concat(theme.warningIconBackground || 'inherit', \"}\");\n },\n 'alert': 'cvphu_bgqc',\n 'content': 'cvphu_caGd',\n 'icon': 'cvphu_dnnz',\n 'closeButton': 'cvphu_fsGh',\n 'success': 'cvphu_cOXX',\n 'info': 'cvphu_pypk',\n 'error': 'cvphu_ddvR',\n 'warning': 'cvphu_eRqw'\n};\nimport theme from './theme';\n/**\n---\ncategory: components\n---\n**/\n\nvar Alert = (_dec = deprecated('7.0.0', {\n closeButtonLabel: 'renderCloseButtonLabel'\n}), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Alert, _Component);\n\n function Alert(props) {\n var _this;\n\n _classCallCheck(this, Alert);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Alert).call(this, props));\n _this._timeouts = [];\n\n _this.handleTimeout = function () {\n if (_this.props.timeout > 0) {\n _this._timeouts.push(setTimeout(function () {\n _this.close();\n }, _this.props.timeout));\n }\n };\n\n _this.onExitTransition = function () {\n if (_this.props.onDismiss) {\n _this.props.onDismiss();\n }\n };\n\n _this.close = function () {\n _this.clearTimeouts();\n\n _this.removeScreenreaderAlert();\n\n _this.setState({\n open: false\n }, function () {\n if (_this.props.onDismiss && _this.props.transition === 'none') {\n _this.props.onDismiss();\n }\n });\n };\n\n _this.handleKeyUp = function (event) {\n if ((_this.props.renderCloseButtonLabel || _this.props.closeButtonLabel) && event.keyCode === keycode.codes.esc) {\n _this.close();\n }\n };\n\n _this.state = {\n open: true\n };\n return _this;\n }\n\n _createClass(Alert, [{\n key: \"variantUI\",\n value: function variantUI() {\n return {\n error: {\n Icon: IconNoSolid,\n classNames: classNames(styles.alert, styles.error)\n },\n info: {\n Icon: IconInfoBorderlessSolid,\n classNames: classNames(styles.alert, styles.info)\n },\n success: {\n Icon: IconCheckMarkSolid,\n classNames: classNames(styles.alert, styles.success)\n },\n warning: {\n Icon: IconWarningBorderlessSolid,\n classNames: classNames(styles.alert, styles.warning)\n }\n }[this.props.variant];\n }\n }, {\n key: \"clearTimeouts\",\n value: function clearTimeouts() {\n this._timeouts.forEach(function (timeout) {\n return clearTimeout(timeout);\n });\n\n this._timeouts = [];\n }\n }, {\n key: \"isDOMNode\",\n // duck type for a dom node\n value: function isDOMNode(n) {\n return n && typeof n === 'object' && n.nodeType === 1;\n }\n }, {\n key: \"getLiveRegion\",\n value: function getLiveRegion() {\n var lr = null;\n\n if (typeof this.props.liveRegion === 'function') {\n lr = this.props.liveRegion();\n }\n\n return this.isDOMNode(lr) ? lr : null;\n }\n }, {\n key: \"initLiveRegion\",\n value: function initLiveRegion(liveRegion) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(liveRegion.getAttribute('role') === 'alert', \"[Alert] live region must have role='alert' set on page load in order to announce content\");\n\n if (liveRegion) {\n liveRegion.setAttribute('aria-live', this.props.liveRegionPoliteness);\n liveRegion.setAttribute('aria-relevant', 'additions text');\n liveRegion.setAttribute('aria-atomic', this.props.isLiveRegionAtomic);\n }\n }\n }, {\n key: \"createScreenreaderContentNode\",\n value: function createScreenreaderContentNode() {\n return React.createElement(ScreenReaderContent, null, this.props.children);\n }\n }, {\n key: \"createScreenreaderAlert\",\n value: function createScreenreaderAlert() {\n var liveRegion = this.getLiveRegion();\n\n if (liveRegion) {\n this.srid = uid('Alert');\n var div = document.createElement('div');\n div.setAttribute('id', this.srid);\n var content = this.createScreenreaderContentNode();\n ReactDOM.render(content, div);\n liveRegion.appendChild(div);\n }\n }\n }, {\n key: \"updateScreenreaderAlert\",\n value: function updateScreenreaderAlert() {\n var _this2 = this;\n\n if (this.getLiveRegion()) {\n var div = document.getElementById(this.srid);\n\n if (div) {\n ReactDOM.render(null, div, function () {\n var content = _this2.createScreenreaderContentNode();\n\n ReactDOM.render(content, div);\n });\n }\n }\n }\n }, {\n key: \"removeScreenreaderAlert\",\n value: function removeScreenreaderAlert() {\n var liveRegion = this.getLiveRegion();\n\n if (liveRegion) {\n var div = document.getElementById(this.srid);\n\n if (div) {\n // Accessibility attributes must be removed for the deletion of the node\n // and then reapplied because JAWS/IE will not respect the\n // \"aria-relevant\" attribute and read when the node is deleted if\n // the attributes are in place\n liveRegion.removeAttribute('aria-live');\n liveRegion.removeAttribute('aria-relevant');\n liveRegion.removeAttribute('aria-atomic');\n ReactDOM.unmountComponentAtNode(div);\n div.parentNode.removeChild(div);\n this.initLiveRegion(liveRegion);\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var liveRegion = this.getLiveRegion();\n\n if (liveRegion) {\n this.initLiveRegion(liveRegion);\n }\n\n this.handleTimeout();\n this.createScreenreaderAlert();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (!!this.props.open === false && !!this.props.open !== !!prevProps.open) {\n // this outside world is asking us to close the alert, which needs to\n // take place internally so the transition runs\n this.close();\n } else {\n if (this.props.children !== prevProps.children) {\n this.updateScreenreaderAlert();\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.removeScreenreaderAlert();\n this.clearTimeouts();\n }\n }, {\n key: \"renderIcon\",\n value: function renderIcon() {\n var _this$variantUI = this.variantUI(),\n Icon = _this$variantUI.Icon;\n\n return React.createElement(\"div\", {\n className: styles.icon\n }, React.createElement(Icon, {\n className: styles.alertIcon\n }));\n }\n }, {\n key: \"renderCloseButton\",\n value: function renderCloseButton() {\n var closeButtonLabel = this.props.renderCloseButtonLabel && callRenderProp(this.props.renderCloseButtonLabel) || this.props.closeButtonLabel;\n return closeButtonLabel ? React.createElement(\"div\", {\n className: styles.closeButton,\n key: \"closeButton\"\n }, React.createElement(CloseButton, {\n onClick: this.close,\n size: \"small\",\n screenReaderLabel: closeButtonLabel\n })) : null;\n }\n }, {\n key: \"renderAlert\",\n value: function renderAlert() {\n var _this$variantUI2 = this.variantUI(),\n classNames = _this$variantUI2.classNames;\n\n return React.createElement(View, {\n as: \"div\",\n margin: this.props.margin,\n className: classNames,\n onKeyUp: this.handleKeyUp\n }, this.renderIcon(), React.createElement(\"div\", {\n className: styles.content\n }, this.props.children), this.renderCloseButton());\n }\n }, {\n key: \"render\",\n value: function render() {\n // Don't render anything if screen reader only\n if (this.props.screenReaderOnly) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(this.getLiveRegion(), \"[Alert] The 'screenReaderOnly' prop must be used in conjunction with 'liveRegion'.\");\n\n return null;\n }\n\n if (this.props.transition === 'none') {\n return this.state.open ? this.renderAlert() : null;\n }\n\n return React.createElement(Transition, {\n type: this.props.transition,\n transitionOnMount: true,\n in: this.state.open,\n unmountOnExit: true,\n onExited: this.onExitTransition\n }, this.renderAlert());\n }\n }]);\n\n Alert.displayName = \"Alert\";\n return Alert;\n}(Component), _class2.propTypes = {\n /**\n * content to be rendered within Alert\n */\n children: PropTypes.node,\n\n /**\n * Determines color and icon\n */\n variant: PropTypes.oneOf(['info', 'success', 'warning', 'error']),\n\n /**\n * Valid values are `0`, `none`, `auto`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `margin=\"small auto large\"`.\n */\n margin: ThemeablePropTypes.spacing,\n\n /**\n * Function that returns the DIV where screenreader alerts will be placed.\n */\n liveRegion: PropTypes.func,\n\n /**\n * Choose the politeness level of screenreader alerts.\n */\n liveRegionPoliteness: PropTypes.oneOf(['polite', 'assertive']),\n\n /**\n * If the screenreader alert should be atomic\n */\n isLiveRegionAtomic: PropTypes.bool,\n\n /**\n * If the alert should only be visible to screen readers\n */\n screenReaderOnly: PropTypes.bool,\n\n /**\n * Milliseconds until the Alert is dismissed automatically\n */\n timeout: PropTypes.number,\n\n /**\n * Close button label. Can be a React component\n */\n renderCloseButtonLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n\n /**\n * Close button label\n */\n closeButtonLabel: PropTypes.string,\n\n /**\n * Callback after the alert is closed\n */\n onDismiss: PropTypes.func,\n\n /**\n * Transition used to make the alert appear and disappear\n */\n transition: PropTypes.oneOf(['none', 'fade']),\n\n /**\n * if open transitions from truthy to falsey, it's a signal to close and unmount the alert.\n * This is necessary to close the alert from the outside and still run the transition.\n */\n open: PropTypes.bool\n}, _class2.defaultProps = {\n variant: 'info',\n margin: 'x-small 0',\n timeout: 0,\n transition: 'fade',\n open: true,\n screenReaderOnly: false,\n liveRegionPoliteness: 'assertive',\n isLiveRegionAtomic: false,\n onDismiss: void 0,\n liveRegion: void 0,\n renderCloseButtonLabel: void 0,\n closeButtonLabel: void 0,\n children: null\n}, _temp)) || _class) || _class);\nexport default Alert;\nexport { Alert };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function (_ref) {\n var transitions = _ref.transitions;\n return {\n duration: transitions.duration,\n timing: transitions.timing\n };\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function generator(_ref) {\n var colors = _ref.colors,\n borders = _ref.borders,\n spacing = _ref.spacing,\n typography = _ref.typography,\n shadows = _ref.shadows;\n return {\n background: colors.backgroundLightest,\n color: colors.textDarkest,\n marginTop: spacing.small,\n borderRadius: borders.radiusMedium,\n borderWidth: borders.widthMedium,\n borderStyle: borders.style,\n contentPadding: \"\".concat(spacing.small, \" \").concat(spacing.medium),\n contentFontSize: typography.fontSizeMedium,\n contentFontFamily: typography.fontFamily,\n contentFontWeight: typography.fontWeightNormal,\n contentLineHeight: typography.lineHeightCondensed,\n closeButtonMarginTop: spacing.xSmall,\n closeButtonMarginRight: spacing.xxSmall,\n iconColor: colors.textLightest,\n iconBackground: colors.backgroundLightest,\n successBorderColor: colors.borderSuccess,\n successIconBackground: colors.backgroundSuccess,\n infoBorderColor: colors.borderInfo,\n infoIconBackground: colors.backgroundInfo,\n warningBorderColor: colors.borderWarning,\n warningIconBackground: colors.backgroundWarning,\n dangerBorderColor: colors.borderDanger,\n dangerIconBackground: colors.backgroundDanger,\n boxShadow: shadows.depth2\n };\n}\n\ngenerator.canvas = function (variables) {\n return {\n color: variables['ic-brand-font-color-dark']\n };\n};","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/react\n * ---\n * Safe chained functions\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * Forked from: https://github.com/react-bootstrap/react-overlays/blob/master/src/utils/createChainedFunction.js\n * @module createChainedFunction\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f, i) {\n if (f == null) {\n return false;\n } // Only allow the first of identical functions\n\n\n var indexes = getAllIndexes(funcs, f);\n return indexes.length === 1 || i === indexes[0];\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) {\n return f;\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n f.apply(this, args);\n };\n }, null);\n}\n/**\n * Find all indexes for a value in an Array\n *\n * @param {array} arr The Array to search for val\n * @param {*} val The value to find indexes for\n * @return {array} All the indexes of the Array matching val\n */\n\n\nfunction getAllIndexes(arr, val) {\n var indexes = [];\n arr.forEach(function (e, i) {\n if (e === val) {\n indexes.push(i);\n }\n });\n return indexes;\n}\n\nexport default createChainedFunction;\nexport { createChainedFunction };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport { createChainedFunction } from '@instructure/ui-utils';\n/**\n* ---\n* category: utilities/react\n* ---\n* Clone a React element without overwriting refs.\n* @module safeCloneElement\n* @param {ReactElement} element\n* @param {object} props\n* @return {ReactElement}\n*/\n\nfunction safeCloneElement(element, props) {\n var cloneRef = props.ref;\n var originalRef = element.ref;\n var originalRefIsAFunction = typeof originalRef === 'function';\n\n var mergedProps = _objectSpread({}, props);\n\n if (element.props.style && props.style) {\n // merge with existing styles\n mergedProps.style = _objectSpread({}, element.props.style, {}, props.style);\n } // prevent overriding existing keys\n\n\n mergedProps.key = element.key || props.key; // Add chained function to preserve existing event handlers\n\n Object.keys(props).forEach(function (prop) {\n // If prop looks like an event handler \"on*\" and either\n // props[props] or element.props[prop] is a function create a chained function.\n // If only one is a function it will just use that function with no extra overhead.\n // This is necessary in cases where props[prop] is `null` or `undefined` which would\n // otherwise unwantedly override element.props[prop].\n if (prop.indexOf('on') === 0 && (typeof props[prop] === 'function' || typeof element.props[prop] === 'function')) {\n mergedProps[prop] = createChainedFunction(element.props[prop], props[prop]);\n }\n });\n\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n if (originalRef == null || cloneRef == null) {\n return React.cloneElement.apply(React, [element, mergedProps].concat(children));\n }\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(originalRefIsAFunction, \"Cloning an element with a ref that will be overwritten because the ref is not a function. Use a composable callback-style ref instead. Ignoring ref: \".concat(originalRef));\n\n return React.cloneElement.apply(React, [element, _objectSpread({}, mergedProps, {\n ref: function ref(component) {\n cloneRef(component);\n originalRef(component);\n }\n })].concat(children));\n}\n\nexport default safeCloneElement;\nexport { safeCloneElement };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Children } from 'react';\nimport { safeCloneElement } from './safeCloneElement';\n/**\n * ---\n * category: utilities/react\n * ---\n *\n * Ensure a single child. If it is a child of length 1, return a\n * cloned instance of the child. If it is a child of length > 1,\n * wrap in a span and return the child. Return null if child has\n * no length.\n *\n * @param {ReactElement} child\n * @param {Object} props - props for child\n * @returns {ReactElement} cloned instance for a single child, or children wrapped in a span\n */\n\nfunction ensureSingleChild(child) {\n var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var childCount = Children.count(child);\n\n if (childCount === 0) {\n return null;\n } else if (typeof child === 'string' && child.length > 0 || childCount > 1) {\n return React.createElement(\"span\", props, child);\n } else {\n return safeCloneElement(Array.isArray(child) ? child[0] : child, props);\n }\n}\n\nexport default ensureSingleChild;\nexport { ensureSingleChild };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/themes\n * ---\n * @module ThemeContext\n */\nimport PropTypes from 'prop-types';\nvar CONTEXT_KEY = '@@themeable';\nvar ThemeContext = {\n CONTEXT_KEY: CONTEXT_KEY,\n\n /**\n * React context types for [themeable](#themeable) components and\n * the [ApplyTheme](#ApplyTheme) component.\n */\n types: _defineProperty({}, CONTEXT_KEY, PropTypes.object),\n\n /**\n * create theme context\n * @param {Object} theme an object containing [themeable](#themeable) component themes\n * @param {Boolean} immutable prevent theme overrides?\n */\n makeThemeContext: function makeThemeContext(theme, immutable) {\n return _defineProperty({}, CONTEXT_KEY, {\n theme: theme,\n immutable: immutable\n });\n },\n\n /**\n * get a theme context\n * @param {ReactContext} context React context object\n */\n getThemeContext: function getThemeContext(context) {\n if (context) {\n return context[CONTEXT_KEY];\n }\n }\n};\nexport default ThemeContext;\nexport { ThemeContext };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Wraps (decorates) a React component to add additional functionality\n *\n * @module decorator\n * @param {Function} decorator a function that returns a decorated component\n * @returns {Class} a decorated component class\n */\nfunction decorator(decorate) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return function (ComposedComponent) {\n if (typeof decorate === 'function') {\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var DecoratedComponent = decorate.apply(void 0, [ComposedComponent].concat(args));\n DecoratedComponent.displayName = displayName;\n return DecoratedComponent;\n } else {\n return ComposedComponent;\n }\n };\n };\n}\n\nexport default decorator;\nexport { decorator };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/shallowEqual.js\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * ---\n * category: utilities\n * ---\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n *\n * @module shallowEqual\n *\n * @param {Object} objA\n * @param {Object} objB\n * @returns {Boolean} Returns true when the values of all keys are strictly equal\n*/\n\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n/*\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n\n\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y; // eslint-disable-line no-self-compare\n }\n}\n\nexport default shallowEqual;\nexport { shallowEqual };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport deepEqual from 'fast-deep-equal';\n/**\n * ---\n * category: utilities\n * ---\n * A wrapper for [fast-deep-equal](https://www.npmjs.com/package/fast-deep-equal)\n */\n\nexport default deepEqual;\nexport { deepEqual };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport ReactDOM from 'react-dom';\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Wrapper function for React.findDOMNode\n *\n * @param {ReactComponent|DomNode} el - component, DOM node, or function returning a DOM node\n * @returns {DomNode} The root node of this element\n */\n\nfunction findDOMNode(el) {\n var node = typeof el === 'function' ? el() : el;\n\n if (node === document) {\n return document.documentElement;\n } else if (node instanceof Element || node === window || node && typeof node.nodeType !== 'undefined') {\n return node;\n } else if (node) {\n return ReactDOM.findDOMNode(node); // eslint-disable-line react/no-find-dom-node\n }\n}\n\nexport default findDOMNode;\nexport { findDOMNode };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { transformCss, isKeyframesSelector } from './transformCss';\n\nfunction scopeStylesToNode(domNode, cssText, scope) {\n var styleNode = domNode.querySelector(\"#\".concat(scope));\n var attr = scope.toLowerCase();\n\n if (!cssText) {\n if (styleNode) {\n if (!styleNode.scoped) {\n removeScopeFromDomNode(domNode, attr);\n }\n\n domNode.removeChild(styleNode);\n }\n } else {\n var shouldInsertNode = !styleNode;\n var scopedCSS = cssText;\n\n if (shouldInsertNode) {\n styleNode = document.createElement('style');\n styleNode.setAttribute('scoped', true);\n styleNode.setAttribute('type', 'text/css');\n styleNode.id = scope;\n }\n\n if (!styleNode.scoped) {\n // if scoped styles are not supported\n addScopeToDomNode(domNode, attr);\n scopedCSS = scopeCssText(scopedCSS, \"[\".concat(attr, \"]\"));\n }\n\n if (shouldInsertNode) {\n domNode.insertBefore(styleNode, domNode.firstChild);\n }\n\n if ('textContent' in styleNode) {\n styleNode.textContent = scopedCSS;\n } else {\n styleNode.styleSheet.cssText = scopedCSS;\n }\n }\n}\n\nfunction scopeCssText(cssText, scope) {\n return transformCss(cssText, function (rule) {\n var transformed = _objectSpread({}, rule);\n\n if (!rule.isScoped) {\n transformed.selector = scopeRule(rule, scope);\n transformed.isScoped = true;\n }\n\n return transformed;\n });\n}\n\nfunction addScopeToDomNode(node, scope) {\n // for SVG nodes children is undefined in IE/Edge\n var children = node.children || node.childNodes;\n\n if (node.setAttribute) {\n node.setAttribute(scope, '');\n }\n\n for (var i = 0; i < children.length; i++) {\n addScopeToDomNode(children[i], scope);\n }\n}\n\nfunction removeScopeFromDomNode(node, scope) {\n var children = node.children || node.childNodes;\n\n if (node.removeAttribute) {\n node.removeAttribute(scope);\n }\n\n for (var i = 0; i < children.length; i++) {\n removeScopeFromDomNode(children[i], scope);\n }\n}\n\nfunction isRootSelector(selector) {\n // eslint-disable-next-line no-useless-escape\n return selector.match(/^(_|html|body|\\:root)/i);\n}\n\nfunction isClassSelector(selector) {\n return selector.match(/(^)((\\S+)?(\\.)(\\S+))/);\n}\n\nfunction scopeSimpleSelector(selector, scope) {\n var parts = selector.split(':');\n parts[0] += scope;\n return parts.join(':');\n}\n\nfunction scopeCompoundSelector(selector, combinator, scope) {\n if (isRootSelector(selector)) {\n return selector;\n }\n\n var scopedSelector = scope ? scopeSimpleSelector(selector, scope) : selector;\n return combinator + scopedSelector;\n}\n\nfunction scopeComplexSelector(selector, scope) {\n var scopedSelector = selector.trim();\n scopedSelector = scopedSelector.replace( // eslint-disable-next-line no-useless-escape\n /(^|[\\s>+~]+)((?:\\[.+?\\]|[^\\s>+~=\\[])+)/g, function (match, combinator, selector) {\n var offset = arguments[arguments.length - 2];\n\n if (isClassSelector(selector) || offset > 0) {\n return scopeCompoundSelector(selector, combinator, scope);\n } else {\n return selector;\n }\n });\n return scopedSelector;\n}\n\nfunction scopeRule(rule, scope) {\n var parts = rule.selector.split(',');\n\n if (!isKeyframesSelector(rule)) {\n parts = parts.map(function (part) {\n return scopeComplexSelector(part, scope);\n });\n }\n\n return parts.join(',');\n}\n\nexport default scopeStylesToNode;\nexport { scopeStylesToNode, scopeCssText };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n* ---\n* category: utilities/themes\n* ---\n* Return only the theme variables that are different from the default\n* @param {Object} defaultTheme\n* @param {Object} theme\n* @returns {Object} variables that are different from the defaults\n*/\nfunction pickOverrides(defaultTheme, theme) {\n var overrides = {}; // shortcut if possible\n\n if (defaultTheme === theme || !theme) return overrides; // filter out any properties that have values that are the same as in defaults\n\n Object.keys(theme).forEach(function (key) {\n if (defaultTheme[key] !== theme[key]) {\n overrides[key] = theme[key];\n }\n });\n return overrides;\n}\n\nexport default pickOverrides;\nexport { pickOverrides };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { isEmpty } from '@instructure/ui-utils';\nimport { scopeStylesToNode } from './scopeStylesToNode';\nimport { formatVariableNames } from './formatVariableNames';\nimport { pickOverrides } from './pickOverrides';\nimport { customPropertiesSupported } from './customPropertiesSupported';\nimport { getCssTextWithPolyfill } from './getCssText';\n/**\n * ---\n * category: utilities/themes\n * ---\n * Apply theme variables to a DOM node (as CSS variables, with polyfill)\n * @module applyVariablesToNode\n * @param {Element} domNode HTML element to apply variables to using the style attribute\n * @param {Object} variables JS variables\n * @param {Object} defaults Default JS variables\n * @param {String} prefix A variable prefix/namespace\n * @param {Function} template (for IE) A template function that returns the CSS as a string with variables injected\n * @param {String} scope (for IE) A scope to apply to the styles applied to domNode\n */\n\nfunction applyVariablesToNode() {\n if (customPropertiesSupported()) {\n applyVariablesToNodeStyle.apply(this, arguments);\n } else {\n applyVariablesPolyfillToNode.apply(this, arguments);\n }\n}\n\nfunction applyVariablesPolyfillToNode(domNode, variables, defaults, prefix, template, scope) {\n if (!domNode || isEmpty(variables)) {\n return;\n }\n\n var overrides = pickOverrides(defaults, variables);\n var cssText = '';\n\n if (overrides && Object.keys(overrides).length > 0) {\n cssText = getCssTextWithPolyfill(template, _objectSpread({}, defaults, {}, variables));\n }\n\n scopeStylesToNode(domNode, cssText, scope);\n}\n\nfunction applyVariablesToNodeStyle(domNode, variables, defaults, prefix) {\n if (!domNode || isEmpty(variables)) {\n return;\n }\n\n clearCustomProperties(domNode, prefix);\n var overrides = pickOverrides(defaults, variables);\n\n if (overrides && !isEmpty(overrides)) {\n setCustomProperties(domNode, formatVariableNames(overrides, prefix));\n }\n}\n\nfunction clearCustomProperties(domNode, prefix) {\n var styles = domNode.style;\n\n for (var i = styles.length - 1; i >= 0; i--) {\n var prop = styles[i];\n\n if (prop.indexOf(\"--\".concat(prefix, \"-\")) >= 0) {\n domNode.style.removeProperty(prop);\n }\n }\n}\n\nfunction setCustomProperties(domNode, properties) {\n Object.keys(properties).forEach(function (propertyName) {\n var value = properties[propertyName];\n\n if (value) {\n domNode.style.setProperty(propertyName, value);\n }\n });\n}\n\nexport default applyVariablesToNode;\nexport { applyVariablesToNode, applyVariablesPolyfillToNode, applyVariablesToNodeStyle };","import { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { canUseDOM } from '@instructure/ui-dom-utils';\nvar hasRan = false;\n/**\n* ---\n* category: utilities/themes\n* ---\n* Sets the document text direction as it's required for themeable component\n* bidirectional styles.\n*/\n\nfunction setTextDirection() {\n if (hasRan) return;\n hasRan = true;\n\n if (canUseDOM) {\n var dir = document.documentElement.getAttribute('dir');\n\n if (!dir) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(dir, \"[themeable] component styles require setting a 'dir' attribute on the HTML element.\\n To prevent breaking changes, we'll set it to a default value: 'ltr'.\");\n\n document.documentElement.setAttribute('dir', 'ltr');\n }\n }\n}\n\nexport default setTextDirection;\nexport { setTextDirection };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _get from \"@babel/runtime/helpers/esm/get\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { decorator } from '@instructure/ui-decorator';\nimport { isEmpty, shallowEqual, deepEqual } from '@instructure/ui-utils';\nimport { uid } from '@instructure/uid';\nimport { findDOMNode } from '@instructure/ui-dom-utils';\nimport { ThemeContext } from './ThemeContext';\nimport { applyVariablesToNode } from './applyVariablesToNode';\nimport { setTextDirection } from './setTextDirection';\nimport { generateComponentTheme, generateTheme, registerComponentTheme, mountComponentStyles } from './ThemeRegistry';\n/**\n* ---\n* category: utilities/themes\n* ---\n* A decorator or higher order component that makes a component `themeable`.\n*\n* As a HOC:\n*\n* ```js\n* import themeable from '@instructure/ui-themeable'\n* import styles from 'styles.css'\n* import theme from 'theme.js'\n*\n* class Example extends React.Component {\n* render () {\n* return
Hello
\n* }\n* }\n*\n* export default themeable(theme, styles)(Example)\n* ```\n*\n* Note: in the above example, the CSS file must be transformed into a JS object\n* via [babel](#babel-plugin-themeable-styles) or [webpack](#ui-webpack-config) loader.\n*\n* Themeable components inject their themed styles into the document when they are mounted.\n*\n* After the initial mount, a themeable component's theme can be configured explicitly\n* via its `theme` prop or passed via React context using the [ApplyTheme](#ApplyTheme) component.\n*\n* Themeable components register themselves with the [global theme registry](#registry)\n* when they are imported into the application, so you will need to be sure to import them\n* before you mount your application so that the default themed styles can be generated and injected.\n*\n* @param {function} theme - A function that generates the component theme variables.\n* @param {object} styles - The component styles object.\n* @param {function} adapter - A function for mapping deprecated theme vars to updated values.\n* @return {function} composes the themeable component.\n*/\n\nvar emptyObj = {};\n/*\n * Note: there are consumers (like canvas-lms and other edu org repos) that are\n * consuming this file directly from \"/src\" (as opposed to \"/es\" or \"/lib\" like normal)\n * because they need this file to not have the babel \"class\" transform ran against it\n * (aka they need it to use real es6 `class`es, since you can't extend real es6\n * class from es5 transpiled code)\n *\n * Which means that for the time being, we can't use any other es6/7/8 features in\n * here that aren't supported by \"last 2 edge versions\" since we can't rely on babel\n * to transpile them for those apps.\n *\n * So, that means don't use \"static\" class properties (like `static PropTypes = {...}`),\n * or object spread (like \"{...foo, ..bar}\")\" in this file until instUI 7 is released.\n * Once we release instUI 7, the plan is to stop transpiling the \"/es\" dir for ie11\n * so once we do that, this caveat no longer applies.\n */\n\nvar themeable = decorator(function (ComposedComponent, theme) {\n var styles = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var adapter = arguments.length > 3 ? arguments[3] : void 0;\n var displayName = ComposedComponent.displayName || ComposedComponent.name;\n var componentId = \"\".concat(styles && styles.componentId || uid());\n\n if (process.env.NODE_ENV !== 'production') {\n componentId = \"\".concat(displayName, \"__\").concat(componentId);\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(parseInt(React.version) >= 15, \"[themeable] React 15 or higher is required. You are running React version \".concat(React.version, \".\"));\n }\n\n var contextKey = Symbol(componentId);\n\n var template = function template() {};\n\n if (styles && styles.template) {\n template = typeof styles.template === 'function' ? styles.template : function () {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, '[themeable] Invalid styles for: %O. Use @instructure/babel-plugin-themeable-styles to transform CSS imports.', displayName);\n\n return '';\n };\n }\n\n registerComponentTheme(contextKey, theme);\n\n var getContext = function getContext(context) {\n var themeContext = ThemeContext.getThemeContext(context);\n return themeContext || emptyObj;\n };\n\n var getThemeFromContext = function getThemeFromContext(context) {\n var _getContext = getContext(context),\n theme = _getContext.theme;\n\n if (theme && theme[contextKey]) {\n return Object.assign({}, theme[contextKey]);\n } else {\n return emptyObj;\n }\n };\n\n var generateThemeForContextKey = function generateThemeForContextKey(themeKey, overrides) {\n return generateComponentTheme(contextKey, themeKey, overrides);\n };\n\n var ThemeableComponent =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(ThemeableComponent, _ComposedComponent);\n\n function ThemeableComponent() {\n var _this;\n\n _classCallCheck(this, ThemeableComponent);\n\n var res = _this = _possibleConstructorReturn(this, _getPrototypeOf(ThemeableComponent).apply(this, arguments));\n\n _this._themeCache = null;\n _this._instanceId = uid(displayName);\n var defaultTheme = generateThemeForContextKey();\n mountComponentStyles(template, defaultTheme, componentId);\n return _possibleConstructorReturn(_this, res);\n }\n\n _createClass(ThemeableComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.applyTheme();\n setTextDirection();\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidMount\", this)) {\n _get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidMount\", this).call(this);\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState, nextContext) {\n var themeContextWillChange = !deepEqual(ThemeContext.getThemeContext(this.context), ThemeContext.getThemeContext(nextContext));\n if (themeContextWillChange) return true;\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"shouldComponentUpdate\", this)) {\n return _get(_getPrototypeOf(ThemeableComponent.prototype), \"shouldComponentUpdate\", this).call(this, nextProps, nextState, nextContext);\n }\n\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState) || !shallowEqual(this.context, nextContext);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, prevContext) {\n if (!deepEqual(prevProps.theme, this.props.theme) || !deepEqual(getThemeFromContext(prevContext), getThemeFromContext(this.context))) {\n this._themeCache = null;\n }\n\n this.applyTheme();\n\n if (_get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidUpdate\", this)) {\n _get(_getPrototypeOf(ThemeableComponent.prototype), \"componentDidUpdate\", this).call(this, prevProps, prevState, prevContext);\n }\n }\n }, {\n key: \"applyTheme\",\n value: function applyTheme(DOMNode) {\n if (isEmpty(this.theme)) {\n return;\n }\n\n var defaultTheme = generateThemeForContextKey();\n applyVariablesToNode(DOMNode || findDOMNode(this), // eslint-disable-line react/no-find-dom-node\n this.theme, defaultTheme, componentId, template, // for IE 11\n this.scope // for IE 11\n );\n }\n }, {\n key: \"scope\",\n get: function get() {\n return \"\".concat(componentId, \"__\").concat(this._instanceId);\n }\n }, {\n key: \"theme\",\n get: function get() {\n if (this._themeCache !== null) {\n return this._themeCache;\n }\n\n var _getContext2 = getContext(this.context),\n immutable = _getContext2.immutable;\n\n var theme = getThemeFromContext(this.context);\n\n if (this.props.theme && !isEmpty(this.props.theme)) {\n if (!theme) {\n theme = this.props.theme;\n } else if (immutable) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(false, '[themeable] Parent theme is immutable. Cannot apply theme: %O', this.props.theme);\n } else {\n theme = isEmpty(theme) ? this.props.theme : Object.assign({}, theme, this.props.theme);\n }\n } // If adapter is provided, pass any overrides\n\n\n if (typeof adapter === 'function') {\n theme = adapter({\n theme: theme,\n displayName: displayName\n });\n } // pass in the component theme as overrides\n\n\n this._themeCache = generateThemeForContextKey(null, theme);\n return this._themeCache;\n }\n }]);\n\n return ThemeableComponent;\n }(ComposedComponent);\n\n ThemeableComponent.componentId = componentId;\n ThemeableComponent.theme = contextKey;\n ThemeableComponent.contextTypes = Object.assign({}, ComposedComponent.contextTypes, ThemeContext.types);\n ThemeableComponent.propTypes = Object.assign({}, ComposedComponent.propTypes, {\n theme: PropTypes.object\n } // eslint-disable-line react/forbid-prop-types\n );\n ThemeableComponent.generateTheme = generateThemeForContextKey;\n return ThemeableComponent;\n});\n/**\n* Utility to generate a theme for all themeable components that have been registered.\n* This theme can be applied using the [ApplyTheme](#ApplyTheme) component.\n*\n* @param {String} themeKey The theme to use (for global theme variables across components)\n* @param {Object} overrides theme variable overrides (usually for dynamic/user defined values)\n* @return {Object} A theme config to use with ``\n*/\n\nthemeable.generateTheme = generateTheme;\nexport default themeable;\nexport { themeable };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeDeep } from '@instructure/ui-utils';\nimport { ensureSingleChild } from '@instructure/ui-react-utils';\nimport { ThemeContext } from '../ThemeContext';\nimport { themeable } from '../themeable';\n/**\n---\ncategory: components/utilities\n---\n**/\n\nvar ApplyTheme =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(ApplyTheme, _Component);\n\n function ApplyTheme() {\n _classCallCheck(this, ApplyTheme);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ApplyTheme).apply(this, arguments));\n }\n\n _createClass(ApplyTheme, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var theme = this.props.theme || {};\n var parentThemeContext = ThemeContext.getThemeContext(this.context) || {};\n\n if (parentThemeContext.immutable && parentThemeContext.theme) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(!this.props.theme, '[ApplyTheme] Parent theme is immutable. Cannot apply theme: %O', this.props.theme);\n\n theme = parentThemeContext.theme;\n } else if (parentThemeContext.theme) {\n theme = mergeDeep(parentThemeContext.theme, theme);\n }\n\n return ThemeContext.makeThemeContext(theme, parentThemeContext.immutable || this.props.immutable);\n }\n }, {\n key: \"render\",\n value: function render() {\n return ensureSingleChild(this.props.children);\n }\n }]);\n\n ApplyTheme.displayName = \"ApplyTheme\";\n return ApplyTheme;\n}(Component);\n\nApplyTheme.propTypes = {\n /**\n * set theme variables to override the defaults\n */\n theme: PropTypes.object,\n\n /**\n * accepts only one child (children must be wrapped in a single component/element)\n */\n children: PropTypes.node,\n\n /**\n * Prevent overriding this theme via a child ApplyTheme component or theme props\n */\n immutable: PropTypes.bool\n};\nApplyTheme.defaultProps = {\n theme: void 0,\n children: null,\n immutable: false\n};\nApplyTheme.childContextTypes = ThemeContext.types;\nApplyTheme.contextTypes = ThemeContext.types;\nApplyTheme.generateTheme = themeable.generateTheme;\nexport default ApplyTheme;\nexport { ApplyTheme };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar ThemeablePropValues = {\n SHADOW_TYPES: {\n resting: 'resting',\n above: 'above',\n topmost: 'topmost',\n none: 'none'\n },\n STACKING_TYPES: {\n deepest: 'deepest',\n below: 'below',\n resting: 'resting',\n above: 'above',\n topmost: 'topmost'\n },\n BORDER_WIDTHS: {\n '0': '0',\n none: 'none',\n small: 'small',\n medium: 'medium',\n large: 'large'\n },\n BORDER_RADII: {\n '0': '0',\n none: 'none',\n small: 'small',\n medium: 'medium',\n large: 'large',\n circle: 'circle',\n pill: 'pill'\n },\n BACKGROUNDS: {\n default: 'default',\n inverse: 'inverse',\n transparent: 'transparent'\n },\n SIZES: {\n xSmall: 'x-small',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xLarge: 'x-large'\n },\n SPACING: {\n '0': '0',\n none: 'none',\n auto: 'auto',\n xxxSmall: 'xxx-small',\n xxSmall: 'xx-small',\n xSmall: 'x-small',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xLarge: 'x-large',\n xxLarge: 'xx-large'\n }\n};\nexport default ThemeablePropValues;\nexport { ThemeablePropValues };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { mirrorShorthandCorners } from './mirrorShorthand';\nexport default mirrorShorthandCorners;\nexport { mirrorShorthandCorners };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport PropTypes from 'prop-types';\nimport { ThemeablePropValues } from './ThemeablePropValues';\nvar SHADOW_TYPES = ThemeablePropValues.SHADOW_TYPES,\n STACKING_TYPES = ThemeablePropValues.STACKING_TYPES,\n BORDER_WIDTHS = ThemeablePropValues.BORDER_WIDTHS,\n BORDER_RADII = ThemeablePropValues.BORDER_RADII,\n BACKGROUNDS = ThemeablePropValues.BACKGROUNDS,\n SIZES = ThemeablePropValues.SIZES,\n SPACING = ThemeablePropValues.SPACING;\n/**\n * ---\n * category: utilities/themes\n * ---\n * Custom prop types for themeable React components.\n * @module ThemeablePropTypes\n */\n\nvar ThemeablePropTypes = {\n shadow: PropTypes.oneOf(Object.values(SHADOW_TYPES)),\n stacking: PropTypes.oneOf(Object.values(STACKING_TYPES)),\n borderWidth: shorthandPropType(Object.values(BORDER_WIDTHS)),\n borderRadius: shorthandPropType(Object.values(BORDER_RADII)),\n background: PropTypes.oneOf(Object.values(BACKGROUNDS)),\n size: PropTypes.oneOf(Object.values(SIZES)),\n spacing: shorthandPropType(Object.values(SPACING))\n};\n\nfunction shorthandPropType(validValues) {\n return function (props, propName, componentName, location) {\n var propValue = props[propName];\n\n if (typeof propValue === 'undefined') {\n return;\n }\n\n var propValueType = typeof propValue;\n\n if (propValueType !== 'string') {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` of type `\").concat(propValueType, \"` supplied to `\").concat(componentName, \"`, expected \") + \"a string.\");\n }\n\n var propValues = propValue.split(' ');\n var valuesLength = propValues.length;\n\n if (valuesLength > 0 && valuesLength < 5) {\n for (var i = 0; i < valuesLength; i++) {\n var valueIndex = validValues.indexOf(propValues[i]);\n\n if (valueIndex === -1) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` `\").concat(propValues[i], \"` supplied to `\").concat(componentName, \"`, expected \") + \"a one of `\".concat(validValues.join(', '), \"`.\"));\n }\n }\n } else {\n return new Error(\"Invalid \".concat(location, \" `\").concat(propName, \"` `\").concat(propValue, \"` supplied to `\").concat(componentName, \"`, expected \") + \"between one and four of the following valid values: `\".concat(validValues.join(', '), \"`.\"));\n }\n };\n}\n\nexport default ThemeablePropTypes;\nexport { ThemeablePropTypes, shorthandPropType };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { cleanCss } from './parseCss';\nexport default cleanCss;\nexport { cleanCss };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { ruleTypes } from './parseCss';\nexport default ruleTypes;\nexport { ruleTypes };","import { warn as _warn } from \"@instructure/console\";\n\nfunction getElementType(Component, props, getDefault) {\n if (props.as && props.as !== Component.defaultProps.as) {\n return props.as;\n }\n\n if (typeof getDefault === 'function') {\n return getDefault();\n }\n\n if (props.href) {\n return 'a';\n }\n\n if (props.to) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn( // if to prop is used without as\n !props.as, \"[\".concat(Component.displayName, \"] `as` prop should be provided when using `to`\"));\n\n return 'a';\n }\n\n if (typeof props.onClick === 'function') {\n return 'button';\n }\n\n return Component.defaultProps.as || 'span';\n}\n\nexport default getElementType;\nexport { getElementType };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport isPropValid from '@emotion/is-prop-valid';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar omit = function omit(originalObject, keys) {\n // code based on babel's _objectWithoutProperties\n var newObject = {};\n\n for (var key in originalObject) {\n // special case because we always want to omit these and === is faster than concat'ing them in\n if (key === 'theme' || key === 'children' || key === 'className' || key === 'style') continue;\n if (keys.includes(key) || !hasOwnProperty.call(originalObject, key)) continue;\n newObject[key] = originalObject[key];\n }\n\n return newObject;\n};\n\nfunction omitProps(props, propTypes, exclude) {\n var keys = Object.keys(propTypes || {});\n var combined = exclude ? keys.concat(exclude) : keys;\n return omit(props, combined);\n} // this was the fastest implementation from testing: https://jsperf.com/pick-props\n\n\nfunction pick(obj, keys) {\n var res = {};\n var len = keys.length;\n var idx = -1;\n var key;\n\n while (++idx < len) {\n key = keys[idx];\n\n if (key in obj) {\n res[key] = obj[key];\n }\n }\n\n return res;\n}\n\nfunction pickProps(props, propTypes, include) {\n var keys = Object.keys(propTypes || {});\n var combined = include ? keys.concat(include) : keys;\n return pick(props, combined);\n}\n\nfunction passthroughProps(props) {\n var validProps = {};\n Object.keys(props) // style and className need to be explicitly passed through\n .filter(function (propName) {\n return isPropValid(propName) && propName !== 'style' && propName !== 'className' && propName !== 'children';\n }).forEach(function (propName) {\n validProps[propName] = props[propName];\n });\n return validProps;\n}\n\nexport { pickProps, omitProps, passthroughProps };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warnDeprecated as _warnDeprecated } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { decorator } from '@instructure/ui-decorator';\n\nvar deprecated = function () {\n if (process.env.NODE_ENV === 'production') {\n var _deprecated = function _deprecated() {\n return function (ComposedComponent) {\n return ComposedComponent;\n };\n };\n\n _deprecated.deprecatePropValues = function () {};\n\n _deprecated.warnDeprecatedProps = function () {};\n\n _deprecated.warnDeprecatedComponent = function () {};\n\n _deprecated.changedPackageWarning = function () {};\n\n return _deprecated;\n }\n\n var deprecated = decorator(function (ComposedComponent, version, oldProps, message) {\n /**\n * ---\n * category: utilities/react\n * ---\n * Deprecate React component props. Warnings will display in the console when deprecated\n * props are used. Include the version number when the deprecated component will be removed.\n *\n * ```js\n * class Example extends Component {\n * static propTypes = {\n * currentProp: PropTypes.func\n * }\n * }\n * export default deprecated('7.0.0', {\n * deprecatedProp: 'currentProp',\n * nowNonExistentProp: true\n * })(Example)\n * ```\n *\n * @param {string} version\n * @param {object} oldProps (if this argument is null or undefined, the entire component is deprecated)\n * @param {string} message\n * @return {function} React component with deprecated props behavior\n * @module deprecated\n */\n var DeprecatedComponent =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(DeprecatedComponent, _ComposedComponent);\n\n function DeprecatedComponent() {\n _classCallCheck(this, DeprecatedComponent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeprecatedComponent).apply(this, arguments));\n }\n\n return DeprecatedComponent;\n }(ComposedComponent);\n\n DeprecatedComponent.prototype.componentDidMount = function () {\n if (oldProps) {\n warnDeprecatedProps(ComposedComponent.displayName, version, this.props, oldProps, message);\n } else {\n warnDeprecatedComponent(version, ComposedComponent.displayName, message);\n }\n\n if (ComposedComponent.prototype.componentDidMount) {\n ComposedComponent.prototype.componentDidMount.call(this);\n }\n };\n\n DeprecatedComponent.prototype.componentDidUpdate = function (prevProps, prevState, prevContext) {\n if (oldProps) {\n warnDeprecatedProps(ComposedComponent.displayName, version, this.props, oldProps, message);\n } else {\n warnDeprecatedComponent(version, ComposedComponent.displayName, message);\n }\n\n if (ComposedComponent.prototype.componentDidUpdate) {\n ComposedComponent.prototype.componentDidUpdate.call(this, prevProps, prevState, prevContext);\n }\n };\n\n return DeprecatedComponent;\n });\n /**\n * ---\n * category: utilities\n * ---\n * Trigger a console warning if the specified prop variant is deprecated\n *\n * @param {function} propType - validates the prop type. Returns null if valid, error otherwise\n * @param {array} deprecated - an array of the deprecated variant names\n * @param {string|function} message - a string with additional information (like the version the prop will be removed) or a function returning a string\n */\n\n deprecated.deprecatePropValues = function (propType) {\n var deprecated = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n var message = arguments.length > 2 ? arguments[2] : void 0;\n return function (props, propName, componentName) {\n var isDeprecatedValue = deprecated.includes(props[propName]);\n var warningMessage = message && typeof message === 'function' ? message({\n props: props,\n propName: propName,\n propValue: props[propName]\n }) : \"The '\".concat(props[propName], \"' value for the `\").concat(propName, \"` prop is deprecated. \").concat(message || '');\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warnDeprecated(!isDeprecatedValue, \"[\".concat(componentName, \"] \").concat(warningMessage));\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return isDeprecatedValue ? null : propType.apply(void 0, [props, propName, componentName].concat(rest));\n };\n };\n\n function warnDeprecatedProps(componentName, version, props, oldProps) {\n var message = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : '';\n Object.keys(oldProps).forEach(function (oldProp) {\n if (typeof props[oldProp] !== 'undefined') {\n var newProp = typeof oldProps[oldProp] === 'string' ? oldProps[oldProp] : null;\n var newPropMessage = newProp ? \". Use `\".concat(newProp, \"` instead\") : '';\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warnDeprecated(false, \"[\".concat(componentName, \"] `\").concat(oldProp, \"` is deprecated and will be removed in version \").concat(version).concat(newPropMessage, \". \").concat(message));\n }\n });\n }\n\n deprecated.warnDeprecatedProps = warnDeprecatedProps;\n\n function warnDeprecatedComponent(version, componentName, message) {\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warnDeprecated(false, \"[\".concat(componentName, \"] is deprecated and will be removed in version \").concat(version, \". \").concat(message || ''));\n }\n /**\n * ---\n * category: utilities\n * ---\n * @param {String} version the version of the package in which the component or function was deprecated\n * @param {String} componentName the displayName of the component or Function.name of the utility function\n * @param {String} message a message to display as a console error in DEV env when condition is false\n */\n\n\n deprecated.warnDeprecatedComponent = warnDeprecatedComponent;\n /**\n * ---\n * category: utilities\n * ---\n * @param {String} prevPackage the previous name of the package\n * @param {String} newPackage the new version of the package\n * @return {String} the formatted warning string\n */\n\n deprecated.changedPackageWarning = function (prevPackage, newPackage) {\n return \"It has been moved from @instructure/\".concat(prevPackage, \" to @instructure/\").concat(newPackage, \".\");\n };\n\n return deprecated;\n}();\n\nexport default deprecated;\nexport { deprecated };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// TODO: remove color comment description once the error color is removed\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable } from '@instructure/ui-themeable';\nimport { passthroughProps, getElementType, deprecated } from '@instructure/ui-react-utils';\nvar styles = {\n componentId: 'enRcg',\n template: function template(theme) {\n return \"\\n\\n.enRcg_bGBk{font-family:\".concat(theme.fontFamily || 'inherit', \"}\\n\\n.enRcg_bGBk sub,.enRcg_bGBk sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}\\n\\n.enRcg_bGBk sup{top:-0.4em}\\n\\n.enRcg_bGBk sub{bottom:-0.4em}\\n\\n.enRcg_bGBk code,.enRcg_bGBk pre{all:initial;animation:none 0s ease 0s 1 normal none running;backface-visibility:visible;background:transparent none repeat 0 0/auto auto padding-box border-box scroll;border:medium none currentColor;border-collapse:separate;border-image:none;border-radius:0;border-spacing:0;bottom:auto;box-shadow:none;box-sizing:content-box;caption-side:top;clear:none;clip:auto;color:#000;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-span:1;column-width:auto;columns:auto;content:normal;counter-increment:none;counter-reset:none;cursor:auto;direction:ltr;display:inline;empty-cells:show;float:none;font-family:serif;font-family:\").concat(theme.fontFamilyMonospace || 'inherit', \";font-size:medium;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:400;height:auto;hyphens:none;left:auto;letter-spacing:normal;line-height:normal;list-style:disc outside none;margin:0;max-height:none;max-width:none;min-height:0;min-width:0;opacity:1;orphans:2;outline:medium none invert;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;position:static;right:auto;tab-size:8;table-layout:auto;text-align:left;text-align-last:auto;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;top:auto;transform:none;transform-origin:50% 50% 0;transform-style:flat;transition:none 0s ease 0s;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:2;width:auto;word-spacing:normal;z-index:auto}\\n\\n.enRcg_bGBk em,.enRcg_bGBk i{font-style:italic}\\n\\n.enRcg_bGBk b,.enRcg_bGBk strong{font-weight:\").concat(theme.fontWeightBold || 'inherit', \"}\\n\\n.enRcg_bGBk p{display:block;margin:\").concat(theme.paragraphMargin || 'inherit', \";padding:0}\\n\\ninput.enRcg_bGBk[type]{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;border-radius:0;box-shadow:none;box-sizing:border-box;color:inherit;display:block;height:auto;line-height:inherit;margin:0;outline:0;padding:0;text-align:start;width:100%}\\n\\n[dir=ltr] input.enRcg_bGBk[type]{text-align:left}\\n\\n[dir=rtl] input.enRcg_bGBk[type]{text-align:right}\\n\\n.enRcg_bGBk:focus,input.enRcg_bGBk[type]:focus{outline:none}\\n\\n.enRcg_bGBk.enRcg_qFsi,input.enRcg_bGBk[type].enRcg_qFsi{color:\").concat(theme.primaryColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_bLsb,input.enRcg_bGBk[type].enRcg_bLsb{color:\").concat(theme.secondaryColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_ezBQ,input.enRcg_bGBk[type].enRcg_ezBQ{color:\").concat(theme.primaryInverseColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_dlnd,input.enRcg_bGBk[type].enRcg_dlnd{color:\").concat(theme.secondaryInverseColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_cJLh,input.enRcg_bGBk[type].enRcg_cJLh{color:\").concat(theme.successColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_fpfC,input.enRcg_bGBk[type].enRcg_fpfC{color:\").concat(theme.brandColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_eHcp,input.enRcg_bGBk[type].enRcg_eHcp{color:\").concat(theme.warningColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_dwua,input.enRcg_bGBk[type].enRcg_dwua{color:\").concat(theme.errorColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_NQMb,input.enRcg_bGBk[type].enRcg_NQMb{color:\").concat(theme.dangerColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_eZgl,input.enRcg_bGBk[type].enRcg_eZgl{color:\").concat(theme.alertColor || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_fbNi,input.enRcg_bGBk[type].enRcg_fbNi{-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;word-break:break-word}\\n\\n.enRcg_bGBk.enRcg_drST,input.enRcg_bGBk[type].enRcg_drST{font-weight:\").concat(theme.fontWeightNormal || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_pEgL,input.enRcg_bGBk[type].enRcg_pEgL{font-weight:\").concat(theme.fontWeightLight || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_bdMA,input.enRcg_bGBk[type].enRcg_bdMA{font-weight:\").concat(theme.fontWeightBold || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_ijuF,input.enRcg_bGBk[type].enRcg_ijuF{font-style:normal}\\n\\n.enRcg_bGBk.enRcg_fetN,input.enRcg_bGBk[type].enRcg_fetN{font-style:italic}\\n\\n.enRcg_bGBk.enRcg_dfBC,input.enRcg_bGBk[type].enRcg_dfBC{font-size:\").concat(theme.fontSizeXSmall || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_doqw,input.enRcg_bGBk[type].enRcg_doqw{font-size:\").concat(theme.fontSizeSmall || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_ycrn,input.enRcg_bGBk[type].enRcg_ycrn{font-size:\").concat(theme.fontSizeMedium || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_cMDj,input.enRcg_bGBk[type].enRcg_cMDj{font-size:\").concat(theme.fontSizeLarge || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_eoMd,input.enRcg_bGBk[type].enRcg_eoMd{font-size:\").concat(theme.fontSizeXLarge || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_fdca,input.enRcg_bGBk[type].enRcg_fdca{font-size:\").concat(theme.fontSizeXXLarge || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_fEWX,input.enRcg_bGBk[type].enRcg_fEWX{line-height:\").concat(theme.lineHeight || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_fNIu,input.enRcg_bGBk[type].enRcg_fNIu{line-height:\").concat(theme.lineHeightFit || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_dfDs,input.enRcg_bGBk[type].enRcg_dfDs{line-height:\").concat(theme.lineHeightCondensed || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_bDjL,input.enRcg_bGBk[type].enRcg_bDjL{line-height:\").concat(theme.lineHeightDouble || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_eQnG,input.enRcg_bGBk[type].enRcg_eQnG{letter-spacing:\").concat(theme.letterSpacingNormal || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_bbUA,input.enRcg_bGBk[type].enRcg_bbUA{letter-spacing:\").concat(theme.letterSpacingCondensed || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_bRWU,input.enRcg_bGBk[type].enRcg_bRWU{letter-spacing:\").concat(theme.letterSpacingExpanded || 'inherit', \"}\\n\\n.enRcg_bGBk.enRcg_wZsr,input.enRcg_bGBk[type].enRcg_wZsr{text-transform:none}\\n\\n.enRcg_bGBk.enRcg_fCZK,input.enRcg_bGBk[type].enRcg_fCZK{text-transform:capitalize}\\n\\n.enRcg_bGBk.enRcg_dsRi,input.enRcg_bGBk[type].enRcg_dsRi{text-transform:uppercase}\\n\\n.enRcg_bGBk.enRcg_bLtD,input.enRcg_bGBk[type].enRcg_bLtD{text-transform:lowercase}\");\n },\n 'root': 'enRcg_bGBk',\n 'color-primary': 'enRcg_qFsi',\n 'color-secondary': 'enRcg_bLsb',\n 'color-primary-inverse': 'enRcg_ezBQ',\n 'color-secondary-inverse': 'enRcg_dlnd',\n 'color-success': 'enRcg_cJLh',\n 'color-brand': 'enRcg_fpfC',\n 'color-warning': 'enRcg_eHcp',\n 'color-error': 'enRcg_dwua',\n 'color-danger': 'enRcg_NQMb',\n 'color-alert': 'enRcg_eZgl',\n 'wrap-break-word': 'enRcg_fbNi',\n 'weight-normal': 'enRcg_drST',\n 'weight-light': 'enRcg_pEgL',\n 'weight-bold': 'enRcg_bdMA',\n 'style-normal': 'enRcg_ijuF',\n 'style-italic': 'enRcg_fetN',\n 'x-small': 'enRcg_dfBC',\n 'small': 'enRcg_doqw',\n 'medium': 'enRcg_ycrn',\n 'large': 'enRcg_cMDj',\n 'x-large': 'enRcg_eoMd',\n 'xx-large': 'enRcg_fdca',\n 'lineHeight-default': 'enRcg_fEWX',\n 'lineHeight-fit': 'enRcg_fNIu',\n 'lineHeight-condensed': 'enRcg_dfDs',\n 'lineHeight-double': 'enRcg_bDjL',\n 'letterSpacing-normal': 'enRcg_eQnG',\n 'letterSpacing-condensed': 'enRcg_bbUA',\n 'letterSpacing-expanded': 'enRcg_bRWU',\n 'transform-none': 'enRcg_wZsr',\n 'transform-capitalize': 'enRcg_fCZK',\n 'transform-uppercase': 'enRcg_dsRi',\n 'transform-lowercase': 'enRcg_bLtD'\n};\nimport theme from './theme';\n/**\n---\ncategory: components\n---\n**/\n\nvar Text = (_dec = themeable(theme, styles), _dec(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Text, _Component);\n\n function Text() {\n _classCallCheck(this, Text);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Text).apply(this, arguments));\n }\n\n _createClass(Text, [{\n key: \"render\",\n value: function render() {\n var _classnames;\n\n var _this$props = this.props,\n wrap = _this$props.wrap,\n weight = _this$props.weight,\n fontStyle = _this$props.fontStyle,\n size = _this$props.size,\n lineHeight = _this$props.lineHeight,\n letterSpacing = _this$props.letterSpacing,\n transform = _this$props.transform,\n color = _this$props.color,\n children = _this$props.children;\n var ElementType = getElementType(Text, this.props);\n return React.createElement(ElementType, Object.assign({}, passthroughProps(this.props), {\n className: classnames((_classnames = {}, _defineProperty(_classnames, styles.root, true), _defineProperty(_classnames, styles[size], size), _defineProperty(_classnames, styles[\"wrap-\".concat(wrap)], wrap), _defineProperty(_classnames, styles[\"weight-\".concat(weight)], weight), _defineProperty(_classnames, styles[\"style-\".concat(fontStyle)], fontStyle), _defineProperty(_classnames, styles[\"transform-\".concat(transform)], transform), _defineProperty(_classnames, styles[\"lineHeight-\".concat(lineHeight)], lineHeight), _defineProperty(_classnames, styles[\"letterSpacing-\".concat(letterSpacing)], letterSpacing), _defineProperty(_classnames, styles[\"color-\".concat(color)], color), _classnames)),\n ref: this.props.elementRef\n }), children);\n }\n }]);\n\n Text.displayName = \"Text\";\n return Text;\n}(Component), _class2.propTypes = {\n /**\n * the element type to render as\n */\n as: PropTypes.elementType,\n children: PropTypes.node,\n\n /**\n * One of: primary, secondary, brand, success, warning, danger, alert, primary-inverse, secondary-inverse\n */\n color: deprecated.deprecatePropValues(PropTypes.oneOf(['primary', 'secondary', 'brand', 'success', 'warning', 'error', 'danger', 'alert', 'primary-inverse', 'secondary-inverse']), ['error'], 'It will be removed in version 8.0.0. Use `danger` instead.'),\n elementRef: PropTypes.func,\n fontStyle: PropTypes.oneOf(['italic', 'normal']),\n letterSpacing: PropTypes.oneOf(['normal', 'condensed', 'expanded']),\n lineHeight: PropTypes.oneOf(['default', 'fit', 'condensed', 'double']),\n size: PropTypes.oneOf(['x-small', 'small', 'medium', 'large', 'x-large', 'xx-large']),\n transform: PropTypes.oneOf(['none', 'capitalize', 'uppercase', 'lowercase']),\n weight: PropTypes.oneOf(['normal', 'light', 'bold']),\n wrap: PropTypes.oneOf(['normal', 'break-word'])\n}, _class2.defaultProps = {\n as: 'span',\n wrap: 'normal',\n size: 'medium',\n letterSpacing: 'normal',\n children: null,\n elementRef: void 0,\n color: void 0,\n transform: void 0,\n lineHeight: void 0,\n fontStyle: void 0,\n weight: void 0\n}, _temp)) || _class);\nexport default Text;\nexport { Text };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// TODO: delete error value once it has been removed in v8.0.0\nexport default function generator(_ref) {\n var typography = _ref.typography,\n colors = _ref.colors,\n spacing = _ref.spacing;\n return _objectSpread({}, typography, {\n primaryInverseColor: colors.textLightest,\n primaryColor: colors.textDarkest,\n secondaryColor: colors.textDark,\n secondaryInverseColor: colors.textLight,\n warningColor: colors.textWarning,\n brandColor: colors.textBrand,\n errorColor: colors.textDanger,\n dangerColor: colors.textDanger,\n successColor: colors.textSuccess,\n alertColor: colors.textAlert,\n paragraphMargin: \"\".concat(spacing.medium, \" 0\")\n });\n}\n\ngenerator.canvas = function (variables) {\n return {\n primaryColor: variables['ic-brand-font-color-dark'],\n brandColor: variables['ic-brand-primary']\n };\n};","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Get the active element of the specified document\n *\n * @param {DomNode} doc - document by default or user specified doc\n * @throws Will throw an error in ie if no active element\n * @return {DomNode} the active element\n */\nfunction getActiveElement(doc) {\n try {\n return (doc || document).activeElement;\n } catch (e) {\n /* ie throws if no active element */\n }\n}\n\nexport default getActiveElement;\nexport { getActiveElement };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { findDOMNode } from './findDOMNode';\nimport { getActiveElement } from './getActiveElement';\n/**\n * ---\n * category: utilities/DOM\n * ---\n *\n * Determine if an element is the active element\n *\n * @param {ReactComponent|DomNode} el - component or DOM node\n * @returns {boolean} if the element is the active element\n */\n\nfunction isActiveElement(el) {\n var node = el && findDOMNode(el);\n return node && getActiveElement() === node;\n}\n\nexport default isActiveElement;\nexport { isActiveElement };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities/react\n * ---\n * Get the displayName of a React component.\n *\n * For [themeable](#themeable) components defined as ES6 classes, the displayName can\n * be added via [babel plugin](#babel-plugin-themeable-styles) for [themeable](#themeable) components.\n *\n * @param {ReactComponent|String} Component\n * @returns {String} the component displayName\n */\nfunction getDisplayName(Component) {\n return typeof Component === 'string' ? Component : Component.displayName || Component.name;\n}\n\nexport default getDisplayName;\nexport { getDisplayName };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { getDisplayName } from './getDisplayName';\n/**\n * ---\n * category: utilities/react\n * ---\n * Check if a React component instance (React element) matches one of the\n * specified types.\n *\n * @param {ReactComponent} componentInstance\n * @param {Array} types an array of React components\n * @returns {Boolean} true if the component matches at least one of the types\n */\n\nfunction matchComponentTypes(componentInstance) {\n var types = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n\n if (componentInstance && componentInstance.type) {\n var displayNames = types.map(function (type) {\n return getDisplayName(type);\n });\n return displayNames.indexOf(getDisplayName(componentInstance.type)) >= 0;\n } else {\n return false;\n }\n}\n\nexport default matchComponentTypes;\nexport { matchComponentTypes };","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { themeable } from '@instructure/ui-themeable';\nimport { passthroughProps, getElementType } from '@instructure/ui-react-utils';\nvar styles = {\n componentId: 'ergWt',\n template: function template(theme) {\n return \"\\n\\n.ergWt_bGBk{border:0;clip:rect(0 0 0 0);height:0.0625rem;inset-inline-start:0;margin:-0.0625rem;overflow:hidden;padding:0;position:absolute;top:0;width:0.0625rem}\\n\\n[dir=ltr] .ergWt_bGBk{left:0}\\n\\n[dir=rtl] .ergWt_bGBk{right:0}\";\n },\n 'root': 'ergWt_bGBk'\n};\n/**\n---\ncategory: components/utilities\n---\n@module ScreenReaderContent\n**/\n\nvar ScreenReaderContent = (_dec = themeable(null, styles), _dec(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(ScreenReaderContent, _Component);\n\n function ScreenReaderContent() {\n _classCallCheck(this, ScreenReaderContent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ScreenReaderContent).apply(this, arguments));\n }\n\n _createClass(ScreenReaderContent, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n props = _objectWithoutProperties(_this$props, [\"children\"]);\n\n var ElementType = getElementType(ScreenReaderContent, props);\n return React.createElement(ElementType, Object.assign({}, passthroughProps(props), {\n className: styles.root\n }), children);\n }\n }]);\n\n ScreenReaderContent.displayName = \"ScreenReaderContent\";\n return ScreenReaderContent;\n}(Component), _class2.propTypes = {\n /**\n * the element type to render as\n */\n as: PropTypes.elementType,\n\n /**\n * content meant for screen readers only\n */\n children: PropTypes.node\n}, _class2.defaultProps = {\n as: 'span',\n children: null\n}, _temp)) || _class);\nexport default ScreenReaderContent;\nexport { ScreenReaderContent };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React from 'react';\nimport { matchComponentTypes } from '@instructure/ui-react-utils';\nimport { ScreenReaderContent } from '@instructure/ui-a11y-content';\n\nfunction hasVisibleChildren(children) {\n var visible = false;\n React.Children.forEach(children, function (child) {\n if (child && !matchComponentTypes(child, [ScreenReaderContent])) {\n visible = true;\n }\n });\n return visible;\n}\n\nexport default hasVisibleChildren;\nexport {\n/**\n * ---\n * category: utilities/a11y\n * ---\n * Returns `true` if any of the children are not wrapped with [ScreenReaderContent](#ScreenReaderContent).\n * @param {ReactChildren} children - A react component's children prop\n * @return {boolean} whether any of the children are visible\n */\nhasVisibleChildren };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n* The MIT License (MIT)\n*\n* Copyright (c) 2015 - present Instructure, Inc.\n*\n* Permission is hereby granted, free of charge, to any person obtaining a copy\n* of this software and associated documentation files (the \"Software\"), to deal\n* in the Software without restriction, including without limitation the rights\n* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the Software is\n* furnished to do so, subject to the following conditions:\n*\n* The above copyright notice and this permission notice shall be included in all\n* copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n* SOFTWARE.\n*/\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable, ThemeablePropTypes } from '@instructure/ui-themeable';\nimport { omitProps, deprecated } from '@instructure/ui-react-utils';\nimport { View } from '@instructure/ui-view';\nvar styles = {\n componentId: 'dJCgj',\n template: function template(theme) {\n return \"\\n\\n.dJCgj_bGBk{box-sizing:border-box;flex-shrink:0;min-width:0.0625rem}\\n\\n.dJCgj_ffgL{align-self:flex-start}\\n\\n.dJCgj_fjOx{align-self:flex-end}\\n\\n.dJCgj_bJAR{align-self:center}\\n\\n.dJCgj_eFer{align-self:stretch}\\n\\n.dJCgj_zczv{flex-grow:1}\\n\\n.dJCgj_dfFp{flex-shrink:1}\";\n },\n 'root': 'dJCgj_bGBk',\n 'align--start': 'dJCgj_ffgL',\n 'align--end': 'dJCgj_fjOx',\n 'align--center': 'dJCgj_bJAR',\n 'align--stretch': 'dJCgj_eFer',\n 'shouldGrow': 'dJCgj_zczv',\n 'shouldShrink': 'dJCgj_dfFp'\n};\n/**\n---\nparent: Flex\nid: Flex.Item\n---\n**/\n\nvar Item = (_dec = deprecated('8.0.0', {\n grow: 'shouldGrow',\n shrink: 'shouldShrink',\n visualDeug: 'withVisualDebug'\n}), _dec2 = themeable(null, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Item, _Component);\n\n function Item() {\n _classCallCheck(this, Item);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Item).apply(this, arguments));\n }\n\n _createClass(Item, [{\n key: \"render\",\n\n /* eslint-disable react/require-default-props */\n value: function render() {\n var _classes;\n\n var props = omitProps(this.props, Item.propTypes);\n var _this$props = this.props,\n align = _this$props.align,\n as = _this$props.as,\n elementRef = _this$props.elementRef,\n children = _this$props.children,\n direction = _this$props.direction,\n shouldGrow = _this$props.shouldGrow,\n margin = _this$props.margin,\n overflowX = _this$props.overflowX,\n overflowY = _this$props.overflowY,\n padding = _this$props.padding,\n shouldShrink = _this$props.shouldShrink,\n size = _this$props.size,\n textAlign = _this$props.textAlign,\n withVisualDebug = _this$props.withVisualDebug,\n shrink = _this$props.shrink,\n grow = _this$props.grow,\n visualDebug = _this$props.visualDebug;\n var dirColumn = direction === 'column';\n var style = {\n flexBasis: size\n };\n var classes = (_classes = {}, _defineProperty(_classes, styles.root, true), _defineProperty(_classes, styles.shouldGrow, grow || shouldGrow), _defineProperty(_classes, styles.shouldShrink, shrink || shouldShrink), _defineProperty(_classes, styles[\"align--\".concat(align)], align), _classes);\n return React.createElement(View, Object.assign({}, props, {\n className: classnames(classes),\n style: style,\n elementRef: elementRef,\n as: as,\n minHeight: dirColumn ? size : void 0,\n minWidth: direction === 'row' ? size : void 0,\n textAlign: textAlign,\n margin: margin,\n padding: padding,\n overflowX: overflowX,\n overflowY: overflowY || (dirColumn ? 'auto' : 'visible'),\n withVisualDebug: withVisualDebug || visualDebug\n }), children);\n }\n }]);\n\n Item.displayName = \"Item\";\n return Item;\n}(Component), _class2.propTypes = {\n /**\n * The children to render inside the Item`\n */\n children: PropTypes.node,\n\n /**\n * the element type to render as\n */\n as: PropTypes.elementType,\n\n /**\n * provides a reference to the underlying html root element\n */\n elementRef: PropTypes.func,\n\n /**\n * Valid values are `0`, `none`, `auto`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `margin=\"small auto large\"`.\n */\n margin: ThemeablePropTypes.spacing,\n\n /**\n * Valid values are `0`, `none`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `padding=\"small x-large large\"`.\n */\n padding: ThemeablePropTypes.spacing,\n\n /**\n * overrides the parent Flex's alignItems prop, if needed\n */\n align: PropTypes.oneOf(['center', 'start', 'end', 'stretch']),\n\n /**\n * Inherits from the parent Flex component\n */\n direction: PropTypes.oneOf(['row', 'column']),\n\n /**\n * Designates the text alignment inside the Item\n */\n textAlign: PropTypes.oneOf(['start', 'center', 'end']),\n\n /**\n * Handles horizontal overflow\n */\n overflowX: PropTypes.oneOf(['auto', 'hidden', 'visible']),\n\n /**\n * Handles vertical overflow\n */\n overflowY: PropTypes.oneOf(['auto', 'hidden', 'visible']),\n\n /**\n * Should the FlexItem grow to fill any available space?\n */\n shouldGrow: PropTypes.bool,\n\n /**\n * Should the FlexItem shrink (stopping at its `size`)?\n */\n shouldShrink: PropTypes.bool,\n\n /**\n * Sets the base size of the FlexItem (width if direction is `row`; height if direction is `column`)\n */\n size: PropTypes.string,\n\n /**\n * Places dashed lines around the component's borders to help debug your layout\n */\n withVisualDebug: PropTypes.bool,\n\n /* eslint-disable react/require-default-props */\n\n /**\n * __Deprecated - use 'shouldGrow'__\n */\n grow: PropTypes.bool,\n\n /**\n * __Deprecated - use 'shouldShrink'__\n */\n shrink: PropTypes.bool,\n\n /**\n * __Deprecated - use 'withVisualDebug'__\n */\n visualDebug: PropTypes.bool\n /* eslint-enable react/require-default-props */\n\n}, _class2.defaultProps = {\n as: 'span',\n elementRef: function elementRef(el) {},\n shouldGrow: false,\n shouldShrink: false\n}, _temp)) || _class) || _class);\nexport default Item;\nexport { Item };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n* The MIT License (MIT)\n*\n* Copyright (c) 2015 - present Instructure, Inc.\n*\n* Permission is hereby granted, free of charge, to any person obtaining a copy\n* of this software and associated documentation files (the \"Software\"), to deal\n* in the Software without restriction, including without limitation the rights\n* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the Software is\n* furnished to do so, subject to the following conditions:\n*\n* The above copyright notice and this permission notice shall be included in all\n* copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n* SOFTWARE.\n*/\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable, ThemeablePropTypes } from '@instructure/ui-themeable';\nimport { Children as ChildrenPropTypes } from '@instructure/ui-prop-types';\nimport { safeCloneElement, passthroughProps, deprecated } from '@instructure/ui-react-utils';\nimport { View } from '@instructure/ui-view';\nimport { Item } from './Item';\nvar styles = {\n componentId: 'bDzpk',\n template: function template(theme) {\n return \"\\n\\n.bDzpk_bGBk{box-sizing:border-box;font-family:\".concat(theme.fontFamily || 'inherit', \"}\\n\\n.bDzpk_bZNM{flex-direction:column}\\n\\n.bDzpk_eUXf{flex-direction:column-reverse}\\n\\n.bDzpk_qOas{flex-direction:row}\\n\\n.bDzpk_sGoV{flex-direction:row-reverse}\\n\\n.bDzpk_dyGy{flex-wrap:wrap}\\n\\n.bDzpk_cdHk{flex-wrap:wrap-reverse}\\n\\n.bDzpk_ePRQ{flex-wrap:wrap}\\n\\n.bDzpk_busO{justify-content:flex-start}\\n\\n.bDzpk_crdn{justify-content:flex-end}\\n\\n.bDzpk_eRIA{justify-content:center}\\n\\n.bDzpk_flTs{justify-content:space-around}\\n\\n.bDzpk_oDLF{justify-content:space-between}\\n\\n.bDzpk_fZWR{align-items:center}\\n\\n.bDzpk_cCxO{align-items:flex-start}\\n\\n.bDzpk_fncw{align-items:flex-end}\\n\\n.bDzpk_cQFX{align-items:stretch}\");\n },\n 'root': 'bDzpk_bGBk',\n 'column': 'bDzpk_bZNM',\n 'column-reverse': 'bDzpk_eUXf',\n 'row': 'bDzpk_qOas',\n 'row-reverse': 'bDzpk_sGoV',\n 'wrap--wrap': 'bDzpk_dyGy',\n 'wrap--wrap-reverse': 'bDzpk_cdHk',\n 'wrapItems': 'bDzpk_ePRQ',\n 'justifyItems--start': 'bDzpk_busO',\n 'justifyItems--end': 'bDzpk_crdn',\n 'justifyItems--center': 'bDzpk_eRIA',\n 'justifyItems--space-around': 'bDzpk_flTs',\n 'justifyItems--space-between': 'bDzpk_oDLF',\n 'alignItems--center': 'bDzpk_fZWR',\n 'alignItems--start': 'bDzpk_cCxO',\n 'alignItems--end': 'bDzpk_fncw',\n 'alignItems--stretch': 'bDzpk_cQFX'\n};\nimport theme from './theme';\n/**\n---\ncategory: components\n---\n@module Flex\n**/\n\nvar Flex = (_dec = deprecated('8.0.0', {\n inline: 'display',\n wrapItems: 'wrap',\n visualDeug: 'withVisualDebug'\n}), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Flex, _Component);\n\n function Flex() {\n _classCallCheck(this, Flex);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Flex).apply(this, arguments));\n }\n\n _createClass(Flex, [{\n key: \"renderChildren\",\n value: function renderChildren() {\n var _this = this;\n\n return Children.map(this.props.children, function (child) {\n if (child) {\n return safeCloneElement(child, _objectSpread({\n withVisualDebug: _this.props.withVisualDebug || _this.props.visualDebug\n }, child.props, {\n /* child visualDebug prop should override parent */\n direction: _this.props.direction.replace(/-reverse/, '')\n }));\n } else {\n return null;\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classes;\n\n var _this$props = this.props,\n as = _this$props.as,\n elementRef = _this$props.elementRef,\n children = _this$props.children,\n direction = _this$props.direction,\n height = _this$props.height,\n display = _this$props.display,\n margin = _this$props.margin,\n padding = _this$props.padding,\n justifyItems = _this$props.justifyItems,\n textAlign = _this$props.textAlign,\n withVisualDebug = _this$props.withVisualDebug,\n width = _this$props.width,\n wrap = _this$props.wrap,\n visualDebug = _this$props.visualDebug,\n wrapItems = _this$props.wrapItems,\n inline = _this$props.inline; // When flex direction is row, 'center' is the most useful default because it\n // vertically aligns Items. For column direction, though, we want 'stretch'.\n\n var alignItems = this.props.alignItems || (direction === 'column' || direction === 'column-reverse' ? 'stretch' : 'center');\n var backwardsDisplay = inline ? 'inline-flex' : null;\n var classes = (_classes = {}, _defineProperty(_classes, styles.root, true), _defineProperty(_classes, styles[\"justifyItems--\".concat(justifyItems)], true), _defineProperty(_classes, styles[\"alignItems--\".concat(alignItems)], true), _defineProperty(_classes, styles[\"wrap--\".concat(wrap)], wrap !== 'no-wrap'), _defineProperty(_classes, styles.wrapItems, wrapItems), _classes);\n\n if (children && React.Children.count(children) > 0) {\n return React.createElement(View, Object.assign({}, passthroughProps(this.props), {\n className: classnames(classes, styles[direction]),\n elementRef: elementRef,\n as: as,\n display: backwardsDisplay || display,\n width: width,\n height: height,\n margin: margin,\n padding: padding,\n textAlign: textAlign,\n withVisualDebug: withVisualDebug || visualDebug\n }), this.renderChildren());\n } else {\n return null;\n }\n }\n }]);\n\n Flex.displayName = \"Flex\";\n return Flex;\n}(Component), _class2.Item = Item, _class2.propTypes = {\n /**\n * Flex only accepts Flex.Item as a child\n */\n children: ChildrenPropTypes.oneOf([Item]),\n\n /**\n * the element type to render as\n */\n as: PropTypes.elementType,\n\n /**\n * provides a reference to the underlying html root element\n */\n elementRef: PropTypes.func,\n\n /**\n * Sets the height of the component's container (optional)\n */\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Sets the width of the component's container (optional)\n */\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Valid values are `0`, `none`, `auto`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `margin=\"small auto large\"`.\n */\n margin: ThemeablePropTypes.spacing,\n\n /**\n * Valid values are `0`, `none`, `xxx-small`, `xx-small`, `x-small`,\n * `small`, `medium`, `large`, `x-large`, `xx-large`. Apply these values via\n * familiar CSS-like shorthand. For example: `padding=\"small x-large large\"`.\n */\n padding: ThemeablePropTypes.spacing,\n\n /**\n * Sets the CSS display rule for the component's container\n */\n display: PropTypes.oneOf(['flex', 'inline-flex']),\n\n /**\n * Designates the text alignment\n */\n textAlign: PropTypes.oneOf(['start', 'center', 'end']),\n\n /**\n * Sets the flex-direction to row (horizontal) or column (vertical)\n */\n direction: PropTypes.oneOf(['row', 'column', 'row-reverse', 'column-reverse']),\n\n /**\n * Aligns Flex.Items on the vertical axis (horizontal if direction is column)\n */\n alignItems: PropTypes.oneOf(['center', 'start', 'end', 'stretch']),\n\n /**\n * Aligns Flex.Items on the horizontal axis (vertical if direction is column)\n */\n justifyItems: PropTypes.oneOf(['center', 'start', 'end', 'space-around', 'space-between']),\n\n /**\n * Determines if the Flex.Items should wrap when they exceed their container's width\n */\n wrap: PropTypes.oneOf(['wrap', 'no-wrap', 'wrap-reverse']),\n\n /**\n * Activate a dotted outline around the component to make building your\n * layout easier\n */\n withVisualDebug: PropTypes.bool,\n\n /* eslint-disable react/require-default-props */\n\n /**\n * __Deprecated - use 'display'__\n */\n inline: PropTypes.bool,\n\n /**\n * __Deprecated - use 'wrap'__\n */\n wrapItems: PropTypes.bool,\n\n /**\n * __Deprecated - use 'withVisualDebug'__\n */\n visualDebug: PropTypes.bool\n /* eslint-enable react/require-default-props */\n\n}, _class2.defaultProps = {\n children: null,\n as: 'span',\n elementRef: function elementRef(el) {},\n direction: 'row',\n justifyItems: 'start',\n display: 'flex',\n withVisualDebug: false,\n wrap: 'no-wrap',\n width: void 0,\n height: void 0,\n padding: void 0,\n margin: void 0,\n alignItems: void 0,\n textAlign: void 0\n}, _temp)) || _class) || _class);\nexport default Flex;\nexport { Flex };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function generator(_ref) {\n var typography = _ref.typography;\n return {\n fontFamily: typography.fontFamily\n };\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport Color from 'tinycolor2';\n/**\n * ---\n * category: utilities\n * ---\n * darken a color\n * @param {String} color\n * @param {Number} percent\n * @returns {String} color as rgb string\n */\n\nfunction darken(color, percent) {\n return Color(color).darken(percent).toRgbString();\n}\n\nexport { darken };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport Color from 'tinycolor2';\n/**\n * ---\n * category: utilities\n * ---\n * Adjust the alpha transparency of a color\n * @param {String} color\n * @param {Number} percent\n * @returns {String} color as rgb string\n */\n\nfunction alpha(color, percent) {\n return Color(color).setAlpha(percent / 100).toRgbString();\n}\n\nexport { alpha };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport { alpha, darken } from '@instructure/ui-color-utils';\nvar activeShadow = 'inset 0 0 0.1875rem 0.0625rem';\nvar focusShadow = 'inset 0 0 0 0.0625rem';\nvar focusOutline = '0.125rem solid';\n\nvar buttonVariant = function buttonVariant(style, mainColor, textColor) {\n var _ref;\n\n return _ref = {}, _defineProperty(_ref, \"\".concat(style, \"Background\"), mainColor), _defineProperty(_ref, \"\".concat(style, \"BorderColor\"), darken(mainColor, 10)), _defineProperty(_ref, \"\".concat(style, \"Color\"), textColor), _defineProperty(_ref, \"\".concat(style, \"HoverBackground\"), darken(mainColor, 10)), _defineProperty(_ref, \"\".concat(style, \"ActiveBackground\"), darken(mainColor, 10)), _defineProperty(_ref, \"\".concat(style, \"ActiveBoxShadow\"), \"\".concat(activeShadow, \" \").concat(darken(mainColor, 20, 0.45))), _ref;\n};\n\nexport default function generator(_ref2) {\n var colors = _ref2.colors,\n borders = _ref2.borders,\n forms = _ref2.forms,\n spacing = _ref2.spacing,\n typography = _ref2.typography;\n return _objectSpread({\n borderWidth: borders.widthSmall,\n fontFamily: typography.fontFamily,\n fontWeight: typography.fontWeightNormal,\n textTransform: 'none',\n letterSpacing: 'normal',\n borderRadius: borders.radiusMedium,\n borderStyle: borders.style,\n transform: 'none',\n hoverTransform: 'none',\n smallHeight: forms.inputHeightSmall,\n smallPadding: spacing.xSmall,\n smallFontSize: typography.fontSizeSmall,\n mediumHeight: forms.inputHeightMedium,\n mediumPadding: spacing.small,\n mediumFontSize: typography.fontSizeMedium,\n largeHeight: forms.inputHeightLarge,\n largePadding: spacing.medium,\n largeFontSize: typography.fontSizeLarge,\n focusBorder: \"\".concat(focusOutline, \" \").concat(colors.borderBrand),\n focusShadow: 'none',\n lightBackground: colors.backgroundLightest,\n lightBorderColor: darken(colors.borderLight, 10),\n lightBorderStyle: borders.style,\n lightColor: colors.textDarkest,\n lightHoverBackground: darken(colors.backgroundLightest, 5),\n lightActiveBackground: colors.backgroundLightest,\n lightActiveBoxShadow: \"\".concat(activeShadow, \" \").concat(darken(colors.borderLightest, 25)),\n ghostBackground: 'transparent',\n ghostBorderColor: colors.borderBrand,\n ghostBorderStyle: borders.style,\n ghostColor: colors.textBrand,\n ghostHoverBackground: alpha(colors.backgroundBrand, 10),\n ghostActiveBackground: 'transparent',\n ghostActiveBoxShadow: \"inset 0 0 1px 1px \".concat(alpha(colors.borderBrand, 20)),\n ghostInverseBackground: 'transparent',\n ghostInverseBorderColor: colors.borderLightest,\n ghostInverseBorderStyle: borders.style,\n ghostInverseColor: colors.textLightest,\n ghostInverseHoverBackground: alpha(colors.backgroundLightest, 10),\n ghostInverseActiveBackground: 'transparent',\n ghostInverseActiveBoxShadow: \"inset 0 0 1px 1px \".concat(alpha(colors.borderLightest, 20)),\n linkColor: colors.textLink,\n linkBorderColor: 'transparent',\n linkFocusBorderColor: 'transparent',\n linkHoverColor: darken(colors.textLink, 10),\n linkTextDecoration: 'none',\n linkInverseColor: colors.textLight,\n inverseFocusBorder: \"\".concat(focusOutline, \" \").concat(colors.borderLightest),\n iconBorderColor: 'transparent',\n iconPadding: \"0 \".concat(spacing.xxSmall),\n iconColor: colors.textDarkest,\n iconHoverColor: colors.textBrand,\n iconActiveColor: darken(colors.textDarkest, 10),\n iconFocusBoxShadow: \"\".concat(focusShadow, \" \").concat(colors.borderBrand),\n iconPlusTextFontSize: '1.25rem',\n iconSizeSmall: '1rem',\n iconSizeMedium: '1.25rem',\n iconSizeLarge: '1.625rem',\n iconPlusTextMargin: spacing.xSmall,\n iconInverseColor: colors.textLightest,\n iconInverseHoverColor: colors.textLightest,\n iconInverseFocusBoxShadow: \"\".concat(focusShadow, \" \").concat(colors.borderLightest),\n fluidWidthLineHeight: typography.lineHeightFit\n }, buttonVariant('default', colors.backgroundLight, colors.textDarkest), {}, buttonVariant('primary', colors.backgroundBrand, colors.textLightest), {}, buttonVariant('success', colors.backgroundSuccess, colors.textLightest), {}, buttonVariant('danger', colors.backgroundDanger, colors.textLightest), {}, buttonVariant('circleDefault', colors.backgroundLight, colors.textDarkest), {}, buttonVariant('circlePrimary', colors.backgroundBrand, colors.textLightest), {}, buttonVariant('circleDanger', colors.backgroundDanger, colors.textLightest));\n}\n\ngenerator['canvas'] = function (variables) {\n return _objectSpread({\n focusBorder: \"\".concat(focusOutline, \" \").concat(variables['ic-brand-primary']),\n ghostBorderColor: variables['ic-brand-button--primary-bgd'],\n ghostColor: variables['ic-brand-button--primary-bgd'],\n ghostHoverBackground: alpha(variables['ic-brand-button--primary-bgd'], 10),\n ghostActiveBoxShadow: \"inset 0 0 1px 1px \".concat(alpha(variables['ic-brand-button--primary-bgd'], 20)),\n linkColor: variables['ic-link-color'],\n linkHoverColor: darken(variables['ic-link-color'], 10),\n iconHoverColor: variables['ic-brand-primary'],\n iconFocusBoxShadow: \"\".concat(focusShadow, \" \").concat(variables['ic-brand-primary'])\n }, buttonVariant('primary', variables['ic-brand-button--primary-bgd'], variables['ic-brand-button--primary-text']), {}, buttonVariant('circlePrimary', variables['ic-brand-button--primary-bgd'], variables['ic-brand-button--primary-text']));\n};\n\ngenerator['canvas-a11y'] = generator['canvas-high-contrast'] = function (_ref3) {\n var colors = _ref3.colors;\n return {\n defaultBorderColor: colors.borderMedium,\n lightBorderColor: colors.borderMedium,\n circleDefaultBorderColor: colors.borderMedium,\n linkTextDecoration: 'underline',\n linkFocusBorderColor: colors.borderBrand\n };\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { warn as _warn } from \"@instructure/console\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport keycode from 'keycode';\nimport { testable } from '@instructure/ui-testable';\nimport { themeable, ThemeablePropTypes } from '@instructure/ui-themeable';\nimport { omitProps, getElementType } from '@instructure/ui-react-utils';\nimport { isActiveElement, findDOMNode } from '@instructure/ui-dom-utils';\nimport { hasVisibleChildren } from '@instructure/ui-a11y-utils';\nimport { Flex } from '@instructure/ui-flex';\nimport { View } from '@instructure/ui-view';\nvar styles = {\n componentId: 'eHiXd',\n template: function template(theme) {\n return \"\\n\\n.eHiXd_bGBk,a.eHiXd_bGBk,button.eHiXd_bGBk,button.eHiXd_bGBk[type=button],button.eHiXd_bGBk[type=reset],button.eHiXd_bGBk[type=submit]{-moz-appearance:none;-moz-user-select:none;-ms-user-select:none;-webkit-appearance:none;-webkit-user-select:none;appearance:none;background:none;border-style:\".concat(theme.borderStyle || 'inherit', \";border-width:\").concat(theme.borderWidth || 'inherit', \";box-sizing:border-box;direction:inherit;display:inline-block;font-family:\").concat(theme.fontFamily || 'inherit', \";font-weight:\").concat(theme.fontWeight || 'inherit', \";height:auto;letter-spacing:\").concat(theme.letterSpacing || 'inherit', \";margin:0;max-width:100%;overflow:visible;padding:0;position:relative;text-decoration:none;text-transform:\").concat(theme.textTransform || 'inherit', \";touch-action:manipulation;transform:\").concat(theme.transform || 'inherit', \";transition:background 0.2s,transform 0.2s;user-select:none;vertical-align:middle;width:auto}\\n\\n.eHiXd_bGBk::-moz-focus-inner,a.eHiXd_bGBk::-moz-focus-inner,button.eHiXd_bGBk::-moz-focus-inner,button.eHiXd_bGBk[type=button]::-moz-focus-inner,button.eHiXd_bGBk[type=reset]::-moz-focus-inner,button.eHiXd_bGBk[type=submit]::-moz-focus-inner{border:0}\\n\\n.eHiXd_bGBk.eHiXd_ywdX,a.eHiXd_bGBk.eHiXd_ywdX,button.eHiXd_bGBk.eHiXd_ywdX,button.eHiXd_bGBk[type=button].eHiXd_ywdX,button.eHiXd_bGBk[type=reset].eHiXd_ywdX,button.eHiXd_bGBk[type=submit].eHiXd_ywdX{opacity:0.5;pointer-events:none}\\n\\n.eHiXd_bGBk:before,a.eHiXd_bGBk:before,button.eHiXd_bGBk:before,button.eHiXd_bGBk[type=button]:before,button.eHiXd_bGBk[type=reset]:before,button.eHiXd_bGBk[type=submit]:before{border:\").concat(theme.focusBorder || 'inherit', \";bottom:-0.3125rem;box-sizing:border-box;content:\\\"\\\";left:-0.3125rem;opacity:0;pointer-events:none;position:absolute;right:-0.3125rem;top:-0.3125rem;transform:scale(0.9);transition:all 0.2s}\\n\\n.eHiXd_bGBk:focus,a.eHiXd_bGBk:focus,button.eHiXd_bGBk:focus,button.eHiXd_bGBk[type=button]:focus,button.eHiXd_bGBk[type=reset]:focus,button.eHiXd_bGBk[type=submit]:focus{outline:none}\\n\\n.eHiXd_bGBk:focus:before,a.eHiXd_bGBk:focus:before,button.eHiXd_bGBk:focus:before,button.eHiXd_bGBk[type=button]:focus:before,button.eHiXd_bGBk[type=reset]:focus:before,button.eHiXd_bGBk[type=submit]:focus:before{opacity:1;transform:scale(1)}\\n\\n.eHiXd_bGBk:hover,a.eHiXd_bGBk:hover,button.eHiXd_bGBk:hover,button.eHiXd_bGBk[type=button]:hover,button.eHiXd_bGBk[type=reset]:hover,button.eHiXd_bGBk[type=submit]:hover{transform:\").concat(theme.hoverTransform || 'inherit', \"}\\n\\n.eHiXd_bGBk *,a.eHiXd_bGBk *,button.eHiXd_bGBk *,button.eHiXd_bGBk[type=button] *,button.eHiXd_bGBk[type=reset] *,button.eHiXd_bGBk[type=submit] *{pointer-events:none}\\n\\n.eHiXd_caGd,a.eHiXd_caGd,button.eHiXd_caGd,button.eHiXd_caGd[type=button],button.eHiXd_caGd[type=reset],button.eHiXd_caGd[type=submit]{box-sizing:border-box}\\n\\n.eHiXd_cuTS,a.eHiXd_cuTS,button.eHiXd_cuTS,button.eHiXd_cuTS[type=button],button.eHiXd_cuTS[type=reset],button.eHiXd_cuTS[type=submit]{border-radius:\").concat(theme.borderRadius || 'inherit', \"}\\n\\n.eHiXd_cuTS:before,a.eHiXd_cuTS:before,button.eHiXd_cuTS:before,button.eHiXd_cuTS[type=button]:before,button.eHiXd_cuTS[type=reset]:before,button.eHiXd_cuTS[type=submit]:before{border-radius:calc(\").concat(theme.borderRadius || 'inherit', \"*1.5)}\\n\\n.eHiXd_dEqw,.eHiXd_dEqw:before,a.eHiXd_dEqw,a.eHiXd_dEqw:before,button.eHiXd_dEqw,button.eHiXd_dEqw:before,button.eHiXd_dEqw[type=button],button.eHiXd_dEqw[type=button]:before,button.eHiXd_dEqw[type=reset],button.eHiXd_dEqw[type=reset]:before,button.eHiXd_dEqw[type=submit],button.eHiXd_dEqw[type=submit]:before{border-radius:50%}\\n\\n.eHiXd_bPzo,a.eHiXd_bPzo,button.eHiXd_bPzo,button.eHiXd_bPzo[type=button],button.eHiXd_bPzo[type=reset],button.eHiXd_bPzo[type=submit]{line-height:1;text-align:center;text-decoration:none}\\n\\n[dir=ltr] .eHiXd_bPzo,[dir=ltr] a.eHiXd_bPzo,[dir=ltr] button.eHiXd_bPzo,[dir=ltr] button.eHiXd_bPzo[type=button],[dir=ltr] button.eHiXd_bPzo[type=reset],[dir=ltr] button.eHiXd_bPzo[type=submit],[dir=rtl] .eHiXd_bPzo,[dir=rtl] a.eHiXd_bPzo,[dir=rtl] button.eHiXd_bPzo,[dir=rtl] button.eHiXd_bPzo[type=button],[dir=rtl] button.eHiXd_bPzo[type=reset],[dir=rtl] button.eHiXd_bPzo[type=submit]{text-align:center}\\n\\n.eHiXd_bPzo:active,.eHiXd_bPzo:focus,.eHiXd_bPzo:hover,a.eHiXd_bPzo:active,a.eHiXd_bPzo:focus,a.eHiXd_bPzo:hover,button.eHiXd_bPzo:active,button.eHiXd_bPzo:focus,button.eHiXd_bPzo:hover,button.eHiXd_bPzo[type=button]:active,button.eHiXd_bPzo[type=button]:focus,button.eHiXd_bPzo[type=button]:hover,button.eHiXd_bPzo[type=reset]:active,button.eHiXd_bPzo[type=reset]:focus,button.eHiXd_bPzo[type=reset]:hover,button.eHiXd_bPzo[type=submit]:active,button.eHiXd_bPzo[type=submit]:focus,button.eHiXd_bPzo[type=submit]:hover{text-decoration:none}\\n\\n.eHiXd_bPzo.eHiXd_doqw,a.eHiXd_bPzo.eHiXd_doqw,button.eHiXd_bPzo.eHiXd_doqw,button.eHiXd_bPzo[type=button].eHiXd_doqw,button.eHiXd_bPzo[type=reset].eHiXd_doqw,button.eHiXd_bPzo[type=submit].eHiXd_doqw{height:\").concat(theme.smallHeight || 'inherit', \";width:\").concat(theme.smallHeight || 'inherit', \"}\\n\\n.eHiXd_bPzo.eHiXd_doqw:not(.eHiXd_wWyq),a.eHiXd_bPzo.eHiXd_doqw:not(.eHiXd_wWyq),button.eHiXd_bPzo.eHiXd_doqw:not(.eHiXd_wWyq),button.eHiXd_bPzo[type=button].eHiXd_doqw:not(.eHiXd_wWyq),button.eHiXd_bPzo[type=reset].eHiXd_doqw:not(.eHiXd_wWyq),button.eHiXd_bPzo[type=submit].eHiXd_doqw:not(.eHiXd_wWyq){font-size:1rem}\\n\\n.eHiXd_bPzo.eHiXd_doqw .eHiXd_eoCh,a.eHiXd_bPzo.eHiXd_doqw .eHiXd_eoCh,button.eHiXd_bPzo.eHiXd_doqw .eHiXd_eoCh,button.eHiXd_bPzo[type=button].eHiXd_doqw .eHiXd_eoCh,button.eHiXd_bPzo[type=reset].eHiXd_doqw .eHiXd_eoCh,button.eHiXd_bPzo[type=submit].eHiXd_doqw .eHiXd_eoCh{font-size:\").concat(theme.iconSizeSmall || 'inherit', \"}\\n\\n.eHiXd_bPzo.eHiXd_ycrn,a.eHiXd_bPzo.eHiXd_ycrn,button.eHiXd_bPzo.eHiXd_ycrn,button.eHiXd_bPzo[type=button].eHiXd_ycrn,button.eHiXd_bPzo[type=reset].eHiXd_ycrn,button.eHiXd_bPzo[type=submit].eHiXd_ycrn{height:\").concat(theme.mediumHeight || 'inherit', \";width:\").concat(theme.mediumHeight || 'inherit', \"}\\n\\n.eHiXd_bPzo.eHiXd_ycrn:not(.eHiXd_wWyq),a.eHiXd_bPzo.eHiXd_ycrn:not(.eHiXd_wWyq),button.eHiXd_bPzo.eHiXd_ycrn:not(.eHiXd_wWyq),button.eHiXd_bPzo[type=button].eHiXd_ycrn:not(.eHiXd_wWyq),button.eHiXd_bPzo[type=reset].eHiXd_ycrn:not(.eHiXd_wWyq),button.eHiXd_bPzo[type=submit].eHiXd_ycrn:not(.eHiXd_wWyq){font-size:1.25rem}\\n\\n.eHiXd_bPzo.eHiXd_ycrn .eHiXd_eoCh,a.eHiXd_bPzo.eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_bPzo.eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_bPzo[type=button].eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_bPzo[type=reset].eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_bPzo[type=submit].eHiXd_ycrn .eHiXd_eoCh{font-size:\").concat(theme.iconSizeMedium || 'inherit', \"}\\n\\n.eHiXd_bPzo.eHiXd_cMDj,a.eHiXd_bPzo.eHiXd_cMDj,button.eHiXd_bPzo.eHiXd_cMDj,button.eHiXd_bPzo[type=button].eHiXd_cMDj,button.eHiXd_bPzo[type=reset].eHiXd_cMDj,button.eHiXd_bPzo[type=submit].eHiXd_cMDj{height:\").concat(theme.largeHeight || 'inherit', \";width:\").concat(theme.largeHeight || 'inherit', \"}\\n\\n.eHiXd_bPzo.eHiXd_cMDj:not(.eHiXd_wWyq),a.eHiXd_bPzo.eHiXd_cMDj:not(.eHiXd_wWyq),button.eHiXd_bPzo.eHiXd_cMDj:not(.eHiXd_wWyq),button.eHiXd_bPzo[type=button].eHiXd_cMDj:not(.eHiXd_wWyq),button.eHiXd_bPzo[type=reset].eHiXd_cMDj:not(.eHiXd_wWyq),button.eHiXd_bPzo[type=submit].eHiXd_cMDj:not(.eHiXd_wWyq){font-size:1.75rem}\\n\\n.eHiXd_bPzo.eHiXd_cMDj .eHiXd_eoCh,a.eHiXd_bPzo.eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_bPzo.eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_bPzo[type=button].eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_bPzo[type=reset].eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_bPzo[type=submit].eHiXd_cMDj .eHiXd_eoCh{font-size:\").concat(theme.iconSizeLarge || 'inherit', \"}\\n\\n.eHiXd_bPzo .eHiXd_caGd,a.eHiXd_bPzo .eHiXd_caGd,button.eHiXd_bPzo .eHiXd_caGd,button.eHiXd_bPzo[type=button] .eHiXd_caGd,button.eHiXd_bPzo[type=reset] .eHiXd_caGd,button.eHiXd_bPzo[type=submit] .eHiXd_caGd{align-items:center;display:flex;height:100%;justify-content:center}\\n\\n.eHiXd_bNlk.eHiXd_doqw,.eHiXd_eESV.eHiXd_doqw,a.eHiXd_bNlk.eHiXd_doqw,a.eHiXd_eESV.eHiXd_doqw,button.eHiXd_bNlk.eHiXd_doqw,button.eHiXd_bNlk[type=button].eHiXd_doqw,button.eHiXd_bNlk[type=reset].eHiXd_doqw,button.eHiXd_bNlk[type=submit].eHiXd_doqw,button.eHiXd_eESV.eHiXd_doqw,button.eHiXd_eESV[type=button].eHiXd_doqw,button.eHiXd_eESV[type=reset].eHiXd_doqw,button.eHiXd_eESV[type=submit].eHiXd_doqw{font-size:\").concat(theme.smallFontSize || 'inherit', \";line-height:calc(\").concat(theme.smallHeight || 'inherit', \" - \").concat(theme.borderWidth || 'inherit', \"*2);padding-left:\").concat(theme.smallPadding || 'inherit', \";padding-right:\").concat(theme.smallPadding || 'inherit', \"}\\n\\n.eHiXd_bNlk.eHiXd_doqw .eHiXd_eoCh,.eHiXd_eESV.eHiXd_doqw .eHiXd_eoCh,a.eHiXd_bNlk.eHiXd_doqw .eHiXd_eoCh,a.eHiXd_eESV.eHiXd_doqw .eHiXd_eoCh,button.eHiXd_bNlk.eHiXd_doqw .eHiXd_eoCh,button.eHiXd_bNlk[type=button].eHiXd_doqw .eHiXd_eoCh,button.eHiXd_bNlk[type=reset].eHiXd_doqw .eHiXd_eoCh,button.eHiXd_bNlk[type=submit].eHiXd_doqw .eHiXd_eoCh,button.eHiXd_eESV.eHiXd_doqw .eHiXd_eoCh,button.eHiXd_eESV[type=button].eHiXd_doqw .eHiXd_eoCh,button.eHiXd_eESV[type=reset].eHiXd_doqw .eHiXd_eoCh,button.eHiXd_eESV[type=submit].eHiXd_doqw .eHiXd_eoCh{font-size:\").concat(theme.iconSizeSmall || 'inherit', \"}\\n\\n.eHiXd_bNlk.eHiXd_ycrn,.eHiXd_eESV.eHiXd_ycrn,a.eHiXd_bNlk.eHiXd_ycrn,a.eHiXd_eESV.eHiXd_ycrn,button.eHiXd_bNlk.eHiXd_ycrn,button.eHiXd_bNlk[type=button].eHiXd_ycrn,button.eHiXd_bNlk[type=reset].eHiXd_ycrn,button.eHiXd_bNlk[type=submit].eHiXd_ycrn,button.eHiXd_eESV.eHiXd_ycrn,button.eHiXd_eESV[type=button].eHiXd_ycrn,button.eHiXd_eESV[type=reset].eHiXd_ycrn,button.eHiXd_eESV[type=submit].eHiXd_ycrn{font-size:\").concat(theme.mediumFontSize || 'inherit', \";line-height:calc(\").concat(theme.mediumHeight || 'inherit', \" - \").concat(theme.borderWidth || 'inherit', \"*2);padding-left:\").concat(theme.mediumPadding || 'inherit', \";padding-right:\").concat(theme.mediumPadding || 'inherit', \"}\\n\\n.eHiXd_bNlk.eHiXd_ycrn .eHiXd_eoCh,.eHiXd_eESV.eHiXd_ycrn .eHiXd_eoCh,a.eHiXd_bNlk.eHiXd_ycrn .eHiXd_eoCh,a.eHiXd_eESV.eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_bNlk.eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_bNlk[type=button].eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_bNlk[type=reset].eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_bNlk[type=submit].eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_eESV.eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_eESV[type=button].eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_eESV[type=reset].eHiXd_ycrn .eHiXd_eoCh,button.eHiXd_eESV[type=submit].eHiXd_ycrn .eHiXd_eoCh{font-size:\").concat(theme.iconSizeMedium || 'inherit', \"}\\n\\n.eHiXd_bNlk.eHiXd_cMDj,.eHiXd_eESV.eHiXd_cMDj,a.eHiXd_bNlk.eHiXd_cMDj,a.eHiXd_eESV.eHiXd_cMDj,button.eHiXd_bNlk.eHiXd_cMDj,button.eHiXd_bNlk[type=button].eHiXd_cMDj,button.eHiXd_bNlk[type=reset].eHiXd_cMDj,button.eHiXd_bNlk[type=submit].eHiXd_cMDj,button.eHiXd_eESV.eHiXd_cMDj,button.eHiXd_eESV[type=button].eHiXd_cMDj,button.eHiXd_eESV[type=reset].eHiXd_cMDj,button.eHiXd_eESV[type=submit].eHiXd_cMDj{font-size:\").concat(theme.largeFontSize || 'inherit', \";line-height:calc(\").concat(theme.largeHeight || 'inherit', \" - \").concat(theme.borderWidth || 'inherit', \"*2);padding-left:\").concat(theme.largePadding || 'inherit', \";padding-right:\").concat(theme.largePadding || 'inherit', \"}\\n\\n.eHiXd_bNlk.eHiXd_cMDj .eHiXd_eoCh,.eHiXd_eESV.eHiXd_cMDj .eHiXd_eoCh,a.eHiXd_bNlk.eHiXd_cMDj .eHiXd_eoCh,a.eHiXd_eESV.eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_bNlk.eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_bNlk[type=button].eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_bNlk[type=reset].eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_bNlk[type=submit].eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_eESV.eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_eESV[type=button].eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_eESV[type=reset].eHiXd_cMDj .eHiXd_eoCh,button.eHiXd_eESV[type=submit].eHiXd_cMDj .eHiXd_eoCh{font-size:\").concat(theme.iconSizeLarge || 'inherit', \"}\\n\\n.eHiXd_bNlk .eHiXd_caGd,.eHiXd_eESV .eHiXd_caGd,a.eHiXd_bNlk .eHiXd_caGd,a.eHiXd_eESV .eHiXd_caGd,button.eHiXd_bNlk .eHiXd_caGd,button.eHiXd_bNlk[type=button] .eHiXd_caGd,button.eHiXd_bNlk[type=reset] .eHiXd_caGd,button.eHiXd_bNlk[type=submit] .eHiXd_caGd,button.eHiXd_eESV .eHiXd_caGd,button.eHiXd_eESV[type=button] .eHiXd_caGd,button.eHiXd_eESV[type=reset] .eHiXd_caGd,button.eHiXd_eESV[type=submit] .eHiXd_caGd{display:block}\\n\\n.eHiXd_bNlk .eHiXd_eoCh,.eHiXd_eESV .eHiXd_eoCh,a.eHiXd_bNlk .eHiXd_eoCh,a.eHiXd_eESV .eHiXd_eoCh,button.eHiXd_bNlk .eHiXd_eoCh,button.eHiXd_bNlk[type=button] .eHiXd_eoCh,button.eHiXd_bNlk[type=reset] .eHiXd_eoCh,button.eHiXd_bNlk[type=submit] .eHiXd_eoCh,button.eHiXd_eESV .eHiXd_eoCh,button.eHiXd_eESV[type=button] .eHiXd_eoCh,button.eHiXd_eESV[type=reset] .eHiXd_eoCh,button.eHiXd_eESV[type=submit] .eHiXd_eoCh{display:inline-block;margin-bottom:0.1875rem;vertical-align:middle}\\n\\n.eHiXd_bNlk:not(.eHiXd_wWyq) .eHiXd_caGd>svg,.eHiXd_eESV:not(.eHiXd_wWyq) .eHiXd_caGd>svg,a.eHiXd_bNlk:not(.eHiXd_wWyq) .eHiXd_caGd>svg,a.eHiXd_eESV:not(.eHiXd_wWyq) .eHiXd_caGd>svg,button.eHiXd_bNlk:not(.eHiXd_wWyq) .eHiXd_caGd>svg,button.eHiXd_bNlk[type=button]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,button.eHiXd_bNlk[type=reset]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,button.eHiXd_bNlk[type=submit]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,button.eHiXd_eESV:not(.eHiXd_wWyq) .eHiXd_caGd>svg,button.eHiXd_eESV[type=button]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,button.eHiXd_eESV[type=reset]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,button.eHiXd_eESV[type=submit]:not(.eHiXd_wWyq) .eHiXd_caGd>svg{-webkit-margin-end:\").concat(theme.iconPlusTextMargin || 'inherit', \";-webkit-margin-start:auto;display:inline-block;font-size:\").concat(theme.iconPlusTextFontSize || 'inherit', \";margin-inline-end:\").concat(theme.iconPlusTextMargin || 'inherit', \";margin-inline-start:auto;transform:translateY(-0.0625rem);vertical-align:middle}\\n\\n[dir=ltr] .eHiXd_bNlk:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] .eHiXd_eESV:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] a.eHiXd_bNlk:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] a.eHiXd_eESV:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] button.eHiXd_bNlk:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] button.eHiXd_bNlk[type=button]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] button.eHiXd_bNlk[type=reset]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] button.eHiXd_bNlk[type=submit]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] button.eHiXd_eESV:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] button.eHiXd_eESV[type=button]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] button.eHiXd_eESV[type=reset]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=ltr] button.eHiXd_eESV[type=submit]:not(.eHiXd_wWyq) .eHiXd_caGd>svg{margin-left:auto;margin-right:\").concat(theme.iconPlusTextMargin || 'inherit', \"}\\n\\n[dir=rtl] .eHiXd_bNlk:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] .eHiXd_eESV:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] a.eHiXd_bNlk:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] a.eHiXd_eESV:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] button.eHiXd_bNlk:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] button.eHiXd_bNlk[type=button]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] button.eHiXd_bNlk[type=reset]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] button.eHiXd_bNlk[type=submit]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] button.eHiXd_eESV:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] button.eHiXd_eESV[type=button]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] button.eHiXd_eESV[type=reset]:not(.eHiXd_wWyq) .eHiXd_caGd>svg,[dir=rtl] button.eHiXd_eESV[type=submit]:not(.eHiXd_wWyq) .eHiXd_caGd>svg{margin-left:\").concat(theme.iconPlusTextMargin || 'inherit', \";margin-right:auto}\\n\\n.eHiXd_bNlk .eHiXd_caGd,a.eHiXd_bNlk .eHiXd_caGd,button.eHiXd_bNlk .eHiXd_caGd,button.eHiXd_bNlk[type=button] .eHiXd_caGd,button.eHiXd_bNlk[type=reset] .eHiXd_caGd,button.eHiXd_bNlk[type=submit] .eHiXd_caGd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\\n\\n.eHiXd_eESV,a.eHiXd_eESV,button.eHiXd_eESV,button.eHiXd_eESV[type=button],button.eHiXd_eESV[type=reset],button.eHiXd_eESV[type=submit]{display:block;text-align:start;width:100%}\\n\\n[dir=ltr] .eHiXd_eESV,[dir=ltr] a.eHiXd_eESV,[dir=ltr] button.eHiXd_eESV,[dir=ltr] button.eHiXd_eESV[type=button],[dir=ltr] button.eHiXd_eESV[type=reset],[dir=ltr] button.eHiXd_eESV[type=submit]{text-align:left}\\n\\n[dir=rtl] .eHiXd_eESV,[dir=rtl] a.eHiXd_eESV,[dir=rtl] button.eHiXd_eESV,[dir=rtl] button.eHiXd_eESV[type=button],[dir=rtl] button.eHiXd_eESV[type=reset],[dir=rtl] button.eHiXd_eESV[type=submit]{text-align:right}\\n\\n.eHiXd_eESV.eHiXd_doqw .eHiXd_caGd,a.eHiXd_eESV.eHiXd_doqw .eHiXd_caGd,button.eHiXd_eESV.eHiXd_doqw .eHiXd_caGd,button.eHiXd_eESV[type=button].eHiXd_doqw .eHiXd_caGd,button.eHiXd_eESV[type=reset].eHiXd_doqw .eHiXd_caGd,button.eHiXd_eESV[type=submit].eHiXd_doqw .eHiXd_caGd{padding-bottom:0.3125rem;padding-top:0.375rem}\\n\\n.eHiXd_eESV.eHiXd_ycrn .eHiXd_caGd,a.eHiXd_eESV.eHiXd_ycrn .eHiXd_caGd,button.eHiXd_eESV.eHiXd_ycrn .eHiXd_caGd,button.eHiXd_eESV[type=button].eHiXd_ycrn .eHiXd_caGd,button.eHiXd_eESV[type=reset].eHiXd_ycrn .eHiXd_caGd,button.eHiXd_eESV[type=submit].eHiXd_ycrn .eHiXd_caGd{padding-bottom:0.5625rem;padding-top:0.5625rem}\\n\\n.eHiXd_eESV.eHiXd_cMDj .eHiXd_caGd,a.eHiXd_eESV.eHiXd_cMDj .eHiXd_caGd,button.eHiXd_eESV.eHiXd_cMDj .eHiXd_caGd,button.eHiXd_eESV[type=button].eHiXd_cMDj .eHiXd_caGd,button.eHiXd_eESV[type=reset].eHiXd_cMDj .eHiXd_caGd,button.eHiXd_eESV[type=submit].eHiXd_cMDj .eHiXd_caGd{padding-bottom:0.6875rem;padding-top:0.6875rem}\\n\\n.eHiXd_eESV .eHiXd_caGd,a.eHiXd_eESV .eHiXd_caGd,button.eHiXd_eESV .eHiXd_caGd,button.eHiXd_eESV[type=button] .eHiXd_caGd,button.eHiXd_eESV[type=reset] .eHiXd_caGd,button.eHiXd_eESV[type=submit] .eHiXd_caGd{-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;line-height:\").concat(theme.fluidWidthLineHeight || 'inherit', \";word-wrap:break-word}\\n\\n.eHiXd_ddES,.eHiXd_fnSs,a.eHiXd_ddES,a.eHiXd_fnSs,button.eHiXd_ddES,button.eHiXd_ddES[type=button],button.eHiXd_ddES[type=reset],button.eHiXd_ddES[type=submit],button.eHiXd_fnSs,button.eHiXd_fnSs[type=button],button.eHiXd_fnSs[type=reset],button.eHiXd_fnSs[type=submit]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}\\n\\n.eHiXd_ddES,a.eHiXd_ddES,button.eHiXd_ddES,button.eHiXd_ddES[type=button],button.eHiXd_ddES[type=reset],button.eHiXd_ddES[type=submit]{background:\").concat(theme.defaultBackground || 'inherit', \";border-color:\").concat(theme.defaultBorderColor || 'inherit', \";color:\").concat(theme.defaultColor || 'inherit', \"}\\n\\n.eHiXd_ddES:active,.eHiXd_ddES:hover,a.eHiXd_ddES:active,a.eHiXd_ddES:hover,button.eHiXd_ddES:active,button.eHiXd_ddES:hover,button.eHiXd_ddES[type=button]:active,button.eHiXd_ddES[type=button]:hover,button.eHiXd_ddES[type=reset]:active,button.eHiXd_ddES[type=reset]:hover,button.eHiXd_ddES[type=submit]:active,button.eHiXd_ddES[type=submit]:hover{background:\").concat(theme.defaultHoverBackground || 'inherit', \"}\\n\\n.eHiXd_ddES:active,.eHiXd_ddES:focus,.eHiXd_ddES:hover,a.eHiXd_ddES:active,a.eHiXd_ddES:focus,a.eHiXd_ddES:hover,button.eHiXd_ddES:active,button.eHiXd_ddES:focus,button.eHiXd_ddES:hover,button.eHiXd_ddES[type=button]:active,button.eHiXd_ddES[type=button]:focus,button.eHiXd_ddES[type=button]:hover,button.eHiXd_ddES[type=reset]:active,button.eHiXd_ddES[type=reset]:focus,button.eHiXd_ddES[type=reset]:hover,button.eHiXd_ddES[type=submit]:active,button.eHiXd_ddES[type=submit]:focus,button.eHiXd_ddES[type=submit]:hover{color:\").concat(theme.defaultColor || 'inherit', \"}\\n\\n.eHiXd_ddES:active,a.eHiXd_ddES:active,button.eHiXd_ddES:active,button.eHiXd_ddES[type=button]:active,button.eHiXd_ddES[type=reset]:active,button.eHiXd_ddES[type=submit]:active{background:\").concat(theme.defaultActiveBackground || 'inherit', \";box-shadow:\").concat(theme.defaultActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_bXiG,a.eHiXd_bXiG,button.eHiXd_bXiG,button.eHiXd_bXiG[type=button],button.eHiXd_bXiG[type=reset],button.eHiXd_bXiG[type=submit]{background:\").concat(theme.primaryBackground || 'inherit', \";border-color:\").concat(theme.primaryBorderColor || 'inherit', \";color:\").concat(theme.primaryColor || 'inherit', \"}\\n\\n.eHiXd_bXiG:active,.eHiXd_bXiG:hover,a.eHiXd_bXiG:active,a.eHiXd_bXiG:hover,button.eHiXd_bXiG:active,button.eHiXd_bXiG:hover,button.eHiXd_bXiG[type=button]:active,button.eHiXd_bXiG[type=button]:hover,button.eHiXd_bXiG[type=reset]:active,button.eHiXd_bXiG[type=reset]:hover,button.eHiXd_bXiG[type=submit]:active,button.eHiXd_bXiG[type=submit]:hover{background:\").concat(theme.primaryHoverBackground || 'inherit', \"}\\n\\n.eHiXd_bXiG:active,.eHiXd_bXiG:focus,.eHiXd_bXiG:hover,a.eHiXd_bXiG:active,a.eHiXd_bXiG:focus,a.eHiXd_bXiG:hover,button.eHiXd_bXiG:active,button.eHiXd_bXiG:focus,button.eHiXd_bXiG:hover,button.eHiXd_bXiG[type=button]:active,button.eHiXd_bXiG[type=button]:focus,button.eHiXd_bXiG[type=button]:hover,button.eHiXd_bXiG[type=reset]:active,button.eHiXd_bXiG[type=reset]:focus,button.eHiXd_bXiG[type=reset]:hover,button.eHiXd_bXiG[type=submit]:active,button.eHiXd_bXiG[type=submit]:focus,button.eHiXd_bXiG[type=submit]:hover{color:\").concat(theme.primaryColor || 'inherit', \"}\\n\\n.eHiXd_bXiG:active,a.eHiXd_bXiG:active,button.eHiXd_bXiG:active,button.eHiXd_bXiG[type=button]:active,button.eHiXd_bXiG[type=reset]:active,button.eHiXd_bXiG[type=submit]:active{background:\").concat(theme.primaryActiveBackground || 'inherit', \";box-shadow:\").concat(theme.primaryActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_cOXX,a.eHiXd_cOXX,button.eHiXd_cOXX,button.eHiXd_cOXX[type=button],button.eHiXd_cOXX[type=reset],button.eHiXd_cOXX[type=submit]{background:\").concat(theme.successBackground || 'inherit', \";border-color:\").concat(theme.successBorderColor || 'inherit', \";color:\").concat(theme.successColor || 'inherit', \"}\\n\\n.eHiXd_cOXX:active,.eHiXd_cOXX:hover,a.eHiXd_cOXX:active,a.eHiXd_cOXX:hover,button.eHiXd_cOXX:active,button.eHiXd_cOXX:hover,button.eHiXd_cOXX[type=button]:active,button.eHiXd_cOXX[type=button]:hover,button.eHiXd_cOXX[type=reset]:active,button.eHiXd_cOXX[type=reset]:hover,button.eHiXd_cOXX[type=submit]:active,button.eHiXd_cOXX[type=submit]:hover{background:\").concat(theme.successHoverBackground || 'inherit', \"}\\n\\n.eHiXd_cOXX:active,.eHiXd_cOXX:focus,.eHiXd_cOXX:hover,a.eHiXd_cOXX:active,a.eHiXd_cOXX:focus,a.eHiXd_cOXX:hover,button.eHiXd_cOXX:active,button.eHiXd_cOXX:focus,button.eHiXd_cOXX:hover,button.eHiXd_cOXX[type=button]:active,button.eHiXd_cOXX[type=button]:focus,button.eHiXd_cOXX[type=button]:hover,button.eHiXd_cOXX[type=reset]:active,button.eHiXd_cOXX[type=reset]:focus,button.eHiXd_cOXX[type=reset]:hover,button.eHiXd_cOXX[type=submit]:active,button.eHiXd_cOXX[type=submit]:focus,button.eHiXd_cOXX[type=submit]:hover{color:\").concat(theme.successColor || 'inherit', \"}\\n\\n.eHiXd_cOXX:active,a.eHiXd_cOXX:active,button.eHiXd_cOXX:active,button.eHiXd_cOXX[type=button]:active,button.eHiXd_cOXX[type=reset]:active,button.eHiXd_cOXX[type=submit]:active{background:\").concat(theme.successActiveBackground || 'inherit', \";box-shadow:\").concat(theme.successActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_zGXc,a.eHiXd_zGXc,button.eHiXd_zGXc,button.eHiXd_zGXc[type=button],button.eHiXd_zGXc[type=reset],button.eHiXd_zGXc[type=submit]{background:\").concat(theme.dangerBackground || 'inherit', \";border-color:\").concat(theme.dangerBorderColor || 'inherit', \";color:\").concat(theme.dangerColor || 'inherit', \"}\\n\\n.eHiXd_zGXc:active,.eHiXd_zGXc:hover,a.eHiXd_zGXc:active,a.eHiXd_zGXc:hover,button.eHiXd_zGXc:active,button.eHiXd_zGXc:hover,button.eHiXd_zGXc[type=button]:active,button.eHiXd_zGXc[type=button]:hover,button.eHiXd_zGXc[type=reset]:active,button.eHiXd_zGXc[type=reset]:hover,button.eHiXd_zGXc[type=submit]:active,button.eHiXd_zGXc[type=submit]:hover{background:\").concat(theme.dangerHoverBackground || 'inherit', \"}\\n\\n.eHiXd_zGXc:active,.eHiXd_zGXc:focus,.eHiXd_zGXc:hover,a.eHiXd_zGXc:active,a.eHiXd_zGXc:focus,a.eHiXd_zGXc:hover,button.eHiXd_zGXc:active,button.eHiXd_zGXc:focus,button.eHiXd_zGXc:hover,button.eHiXd_zGXc[type=button]:active,button.eHiXd_zGXc[type=button]:focus,button.eHiXd_zGXc[type=button]:hover,button.eHiXd_zGXc[type=reset]:active,button.eHiXd_zGXc[type=reset]:focus,button.eHiXd_zGXc[type=reset]:hover,button.eHiXd_zGXc[type=submit]:active,button.eHiXd_zGXc[type=submit]:focus,button.eHiXd_zGXc[type=submit]:hover{color:\").concat(theme.dangerColor || 'inherit', \"}\\n\\n.eHiXd_zGXc:active,a.eHiXd_zGXc:active,button.eHiXd_zGXc:active,button.eHiXd_zGXc[type=button]:active,button.eHiXd_zGXc[type=reset]:active,button.eHiXd_zGXc[type=submit]:active{background:\").concat(theme.dangerActiveBackground || 'inherit', \";box-shadow:\").concat(theme.dangerActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_eYmo,a.eHiXd_eYmo,button.eHiXd_eYmo,button.eHiXd_eYmo[type=button],button.eHiXd_eYmo[type=reset],button.eHiXd_eYmo[type=submit]{background:\").concat(theme.lightBackground || 'inherit', \";border-color:\").concat(theme.lightBorderColor || 'inherit', \";color:\").concat(theme.lightColor || 'inherit', \"}\\n\\n.eHiXd_eYmo:active,.eHiXd_eYmo:hover,a.eHiXd_eYmo:active,a.eHiXd_eYmo:hover,button.eHiXd_eYmo:active,button.eHiXd_eYmo:hover,button.eHiXd_eYmo[type=button]:active,button.eHiXd_eYmo[type=button]:hover,button.eHiXd_eYmo[type=reset]:active,button.eHiXd_eYmo[type=reset]:hover,button.eHiXd_eYmo[type=submit]:active,button.eHiXd_eYmo[type=submit]:hover{background:\").concat(theme.lightHoverBackground || 'inherit', \"}\\n\\n.eHiXd_eYmo:active,.eHiXd_eYmo:focus,.eHiXd_eYmo:hover,a.eHiXd_eYmo:active,a.eHiXd_eYmo:focus,a.eHiXd_eYmo:hover,button.eHiXd_eYmo:active,button.eHiXd_eYmo:focus,button.eHiXd_eYmo:hover,button.eHiXd_eYmo[type=button]:active,button.eHiXd_eYmo[type=button]:focus,button.eHiXd_eYmo[type=button]:hover,button.eHiXd_eYmo[type=reset]:active,button.eHiXd_eYmo[type=reset]:focus,button.eHiXd_eYmo[type=reset]:hover,button.eHiXd_eYmo[type=submit]:active,button.eHiXd_eYmo[type=submit]:focus,button.eHiXd_eYmo[type=submit]:hover{color:\").concat(theme.lightColor || 'inherit', \"}\\n\\n.eHiXd_eYmo:active,a.eHiXd_eYmo:active,button.eHiXd_eYmo:active,button.eHiXd_eYmo[type=button]:active,button.eHiXd_eYmo[type=reset]:active,button.eHiXd_eYmo[type=submit]:active{background:\").concat(theme.lightActiveBackground || 'inherit', \";box-shadow:\").concat(theme.lightActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_fnSs,a.eHiXd_fnSs,button.eHiXd_fnSs,button.eHiXd_fnSs[type=button],button.eHiXd_fnSs[type=reset],button.eHiXd_fnSs[type=submit]{background:\").concat(theme.ghostBackground || 'inherit', \";border-color:\").concat(theme.ghostBorderColor || 'inherit', \";border-style:\").concat(theme.ghostBorderStyle || 'inherit', \";color:\").concat(theme.ghostColor || 'inherit', \"}\\n\\n.eHiXd_fnSs:active,.eHiXd_fnSs:hover,a.eHiXd_fnSs:active,a.eHiXd_fnSs:hover,button.eHiXd_fnSs:active,button.eHiXd_fnSs:hover,button.eHiXd_fnSs[type=button]:active,button.eHiXd_fnSs[type=button]:hover,button.eHiXd_fnSs[type=reset]:active,button.eHiXd_fnSs[type=reset]:hover,button.eHiXd_fnSs[type=submit]:active,button.eHiXd_fnSs[type=submit]:hover{background:\").concat(theme.ghostHoverBackground || 'inherit', \"}\\n\\n.eHiXd_fnSs:active,.eHiXd_fnSs:focus,.eHiXd_fnSs:hover,a.eHiXd_fnSs:active,a.eHiXd_fnSs:focus,a.eHiXd_fnSs:hover,button.eHiXd_fnSs:active,button.eHiXd_fnSs:focus,button.eHiXd_fnSs:hover,button.eHiXd_fnSs[type=button]:active,button.eHiXd_fnSs[type=button]:focus,button.eHiXd_fnSs[type=button]:hover,button.eHiXd_fnSs[type=reset]:active,button.eHiXd_fnSs[type=reset]:focus,button.eHiXd_fnSs[type=reset]:hover,button.eHiXd_fnSs[type=submit]:active,button.eHiXd_fnSs[type=submit]:focus,button.eHiXd_fnSs[type=submit]:hover{color:\").concat(theme.ghostColor || 'inherit', \"}\\n\\n.eHiXd_fnSs:active,a.eHiXd_fnSs:active,button.eHiXd_fnSs:active,button.eHiXd_fnSs[type=button]:active,button.eHiXd_fnSs[type=reset]:active,button.eHiXd_fnSs[type=submit]:active{background:\").concat(theme.ghostActiveBackground || 'inherit', \";box-shadow:\").concat(theme.ghostActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_eoGN,a.eHiXd_eoGN,button.eHiXd_eoGN,button.eHiXd_eoGN[type=button],button.eHiXd_eoGN[type=reset],button.eHiXd_eoGN[type=submit]{background:\").concat(theme.ghostInverseBackground || 'inherit', \";border-color:\").concat(theme.ghostInverseBorderColor || 'inherit', \";border-style:\").concat(theme.ghostInverseBorderStyle || 'inherit', \";color:\").concat(theme.ghostInverseColor || 'inherit', \"}\\n\\n.eHiXd_eoGN:active,.eHiXd_eoGN:hover,a.eHiXd_eoGN:active,a.eHiXd_eoGN:hover,button.eHiXd_eoGN:active,button.eHiXd_eoGN:hover,button.eHiXd_eoGN[type=button]:active,button.eHiXd_eoGN[type=button]:hover,button.eHiXd_eoGN[type=reset]:active,button.eHiXd_eoGN[type=reset]:hover,button.eHiXd_eoGN[type=submit]:active,button.eHiXd_eoGN[type=submit]:hover{background:\").concat(theme.ghostInverseHoverBackground || 'inherit', \"}\\n\\n.eHiXd_eoGN:active,.eHiXd_eoGN:focus,.eHiXd_eoGN:hover,a.eHiXd_eoGN:active,a.eHiXd_eoGN:focus,a.eHiXd_eoGN:hover,button.eHiXd_eoGN:active,button.eHiXd_eoGN:focus,button.eHiXd_eoGN:hover,button.eHiXd_eoGN[type=button]:active,button.eHiXd_eoGN[type=button]:focus,button.eHiXd_eoGN[type=button]:hover,button.eHiXd_eoGN[type=reset]:active,button.eHiXd_eoGN[type=reset]:focus,button.eHiXd_eoGN[type=reset]:hover,button.eHiXd_eoGN[type=submit]:active,button.eHiXd_eoGN[type=submit]:focus,button.eHiXd_eoGN[type=submit]:hover{color:\").concat(theme.ghostInverseColor || 'inherit', \"}\\n\\n.eHiXd_eoGN:focus:before,a.eHiXd_eoGN:focus:before,button.eHiXd_eoGN:focus:before,button.eHiXd_eoGN[type=button]:focus:before,button.eHiXd_eoGN[type=reset]:focus:before,button.eHiXd_eoGN[type=submit]:focus:before{border:\").concat(theme.inverseFocusBorder || 'inherit', \"}\\n\\n.eHiXd_eoGN:active,a.eHiXd_eoGN:active,button.eHiXd_eoGN:active,button.eHiXd_eoGN[type=button]:active,button.eHiXd_eoGN[type=reset]:active,button.eHiXd_eoGN[type=submit]:active{background:\").concat(theme.ghostActiveBackground || 'inherit', \";box-shadow:\").concat(theme.ghostInverseActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_brAJ,.eHiXd_eTYR,a.eHiXd_brAJ,a.eHiXd_eTYR,button.eHiXd_brAJ,button.eHiXd_eTYR,button.eHiXd_eTYR[type=button],button.eHiXd_eTYR[type=reset],button.eHiXd_eTYR[type=submit],button.eHiXd_brAJ[type=button],button.eHiXd_brAJ[type=reset],button.eHiXd_brAJ[type=submit]{-webkit-text-decoration:\").concat(theme.linkTextDecoration || 'inherit', \";background:transparent;border-color:\").concat(theme.linkBorderColor || 'inherit', \";text-decoration:\").concat(theme.linkTextDecoration || 'inherit', \"}\\n\\n.eHiXd_brAJ,a.eHiXd_brAJ,button.eHiXd_brAJ,button.eHiXd_brAJ[type=button],button.eHiXd_brAJ[type=reset],button.eHiXd_brAJ[type=submit]{color:\").concat(theme.linkColor || 'inherit', \"}\\n\\n.eHiXd_brAJ:active,.eHiXd_brAJ:focus,.eHiXd_brAJ:hover,a.eHiXd_brAJ:active,a.eHiXd_brAJ:focus,a.eHiXd_brAJ:hover,button.eHiXd_brAJ:active,button.eHiXd_brAJ:focus,button.eHiXd_brAJ:hover,button.eHiXd_brAJ[type=button]:active,button.eHiXd_brAJ[type=button]:focus,button.eHiXd_brAJ[type=button]:hover,button.eHiXd_brAJ[type=reset]:active,button.eHiXd_brAJ[type=reset]:focus,button.eHiXd_brAJ[type=reset]:hover,button.eHiXd_brAJ[type=submit]:active,button.eHiXd_brAJ[type=submit]:focus,button.eHiXd_brAJ[type=submit]:hover{color:\").concat(theme.linkHoverColor || 'inherit', \"}\\n\\n.eHiXd_brAJ:hover,a.eHiXd_brAJ:hover,button.eHiXd_brAJ:hover,button.eHiXd_brAJ[type=button]:hover,button.eHiXd_brAJ[type=reset]:hover,button.eHiXd_brAJ[type=submit]:hover{text-decoration:underline}\\n\\n.eHiXd_eTYR,.eHiXd_eTYR:active,.eHiXd_eTYR:focus,.eHiXd_eTYR:hover,a.eHiXd_eTYR,a.eHiXd_eTYR:active,a.eHiXd_eTYR:focus,a.eHiXd_eTYR:hover,button.eHiXd_eTYR,button.eHiXd_eTYR:active,button.eHiXd_eTYR:focus,button.eHiXd_eTYR:hover,button.eHiXd_eTYR[type=button],button.eHiXd_eTYR[type=button]:active,button.eHiXd_eTYR[type=button]:focus,button.eHiXd_eTYR[type=button]:hover,button.eHiXd_eTYR[type=reset],button.eHiXd_eTYR[type=reset]:active,button.eHiXd_eTYR[type=reset]:focus,button.eHiXd_eTYR[type=reset]:hover,button.eHiXd_eTYR[type=submit],button.eHiXd_eTYR[type=submit]:active,button.eHiXd_eTYR[type=submit]:focus,button.eHiXd_eTYR[type=submit]:hover{color:\").concat(theme.linkInverseColor || 'inherit', \"}\\n\\n.eHiXd_eTYR:hover,a.eHiXd_eTYR:hover,button.eHiXd_eTYR:hover,button.eHiXd_eTYR[type=button]:hover,button.eHiXd_eTYR[type=reset]:hover,button.eHiXd_eTYR[type=submit]:hover{text-decoration:underline}\\n\\n.eHiXd_eTYR:focus:before,a.eHiXd_eTYR:focus:before,button.eHiXd_eTYR:focus:before,button.eHiXd_eTYR[type=button]:focus:before,button.eHiXd_eTYR[type=reset]:focus:before,button.eHiXd_eTYR[type=submit]:focus:before{border:\").concat(theme.inverseFocusBorder || 'inherit', \"}\\n\\n.eHiXd_bVwc,a.eHiXd_bVwc,button.eHiXd_bVwc,button.eHiXd_bVwc[type=button],button.eHiXd_bVwc[type=reset],button.eHiXd_bVwc[type=submit]{background:\").concat(theme.circleDefaultBackground || 'inherit', \";border-color:\").concat(theme.circleDefaultBorderColor || 'inherit', \";color:\").concat(theme.circleDefaultColor || 'inherit', \"}\\n\\n.eHiXd_bVwc:active,.eHiXd_bVwc:hover,a.eHiXd_bVwc:active,a.eHiXd_bVwc:hover,button.eHiXd_bVwc:active,button.eHiXd_bVwc:hover,button.eHiXd_bVwc[type=button]:active,button.eHiXd_bVwc[type=button]:hover,button.eHiXd_bVwc[type=reset]:active,button.eHiXd_bVwc[type=reset]:hover,button.eHiXd_bVwc[type=submit]:active,button.eHiXd_bVwc[type=submit]:hover{background:\").concat(theme.circleDefaultHoverBackground || 'inherit', \"}\\n\\n.eHiXd_bVwc:active,.eHiXd_bVwc:focus,.eHiXd_bVwc:hover,a.eHiXd_bVwc:active,a.eHiXd_bVwc:focus,a.eHiXd_bVwc:hover,button.eHiXd_bVwc:active,button.eHiXd_bVwc:focus,button.eHiXd_bVwc:hover,button.eHiXd_bVwc[type=button]:active,button.eHiXd_bVwc[type=button]:focus,button.eHiXd_bVwc[type=button]:hover,button.eHiXd_bVwc[type=reset]:active,button.eHiXd_bVwc[type=reset]:focus,button.eHiXd_bVwc[type=reset]:hover,button.eHiXd_bVwc[type=submit]:active,button.eHiXd_bVwc[type=submit]:focus,button.eHiXd_bVwc[type=submit]:hover{color:\").concat(theme.circleDefaultColor || 'inherit', \"}\\n\\n.eHiXd_bVwc:active,a.eHiXd_bVwc:active,button.eHiXd_bVwc:active,button.eHiXd_bVwc[type=button]:active,button.eHiXd_bVwc[type=reset]:active,button.eHiXd_bVwc[type=submit]:active{background:\").concat(theme.circleDefaultActiveBackground || 'inherit', \";box-shadow:\").concat(theme.circleDefaultActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_HJDj,a.eHiXd_HJDj,button.eHiXd_HJDj,button.eHiXd_HJDj[type=button],button.eHiXd_HJDj[type=reset],button.eHiXd_HJDj[type=submit]{background:\").concat(theme.circlePrimaryBackground || 'inherit', \";border-color:\").concat(theme.circlePrimaryBorderColor || 'inherit', \";color:\").concat(theme.circlePrimaryColor || 'inherit', \"}\\n\\n.eHiXd_HJDj:active,.eHiXd_HJDj:hover,a.eHiXd_HJDj:active,a.eHiXd_HJDj:hover,button.eHiXd_HJDj:active,button.eHiXd_HJDj:hover,button.eHiXd_HJDj[type=button]:active,button.eHiXd_HJDj[type=button]:hover,button.eHiXd_HJDj[type=reset]:active,button.eHiXd_HJDj[type=reset]:hover,button.eHiXd_HJDj[type=submit]:active,button.eHiXd_HJDj[type=submit]:hover{background:\").concat(theme.circlePrimaryHoverBackground || 'inherit', \"}\\n\\n.eHiXd_HJDj:active,.eHiXd_HJDj:focus,.eHiXd_HJDj:hover,a.eHiXd_HJDj:active,a.eHiXd_HJDj:focus,a.eHiXd_HJDj:hover,button.eHiXd_HJDj:active,button.eHiXd_HJDj:focus,button.eHiXd_HJDj:hover,button.eHiXd_HJDj[type=button]:active,button.eHiXd_HJDj[type=button]:focus,button.eHiXd_HJDj[type=button]:hover,button.eHiXd_HJDj[type=reset]:active,button.eHiXd_HJDj[type=reset]:focus,button.eHiXd_HJDj[type=reset]:hover,button.eHiXd_HJDj[type=submit]:active,button.eHiXd_HJDj[type=submit]:focus,button.eHiXd_HJDj[type=submit]:hover{color:\").concat(theme.circlePrimaryColor || 'inherit', \"}\\n\\n.eHiXd_HJDj:active,a.eHiXd_HJDj:active,button.eHiXd_HJDj:active,button.eHiXd_HJDj[type=button]:active,button.eHiXd_HJDj[type=reset]:active,button.eHiXd_HJDj[type=submit]:active{background:\").concat(theme.circlePrimaryActiveBackground || 'inherit', \";box-shadow:\").concat(theme.circlePrimaryActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_bKGu,a.eHiXd_bKGu,button.eHiXd_bKGu,button.eHiXd_bKGu[type=button],button.eHiXd_bKGu[type=reset],button.eHiXd_bKGu[type=submit]{background:\").concat(theme.circleDangerBackground || 'inherit', \";border-color:\").concat(theme.circleDangerBorderColor || 'inherit', \";color:\").concat(theme.circleDangerColor || 'inherit', \"}\\n\\n.eHiXd_bKGu:active,.eHiXd_bKGu:hover,a.eHiXd_bKGu:active,a.eHiXd_bKGu:hover,button.eHiXd_bKGu:active,button.eHiXd_bKGu:hover,button.eHiXd_bKGu[type=button]:active,button.eHiXd_bKGu[type=button]:hover,button.eHiXd_bKGu[type=reset]:active,button.eHiXd_bKGu[type=reset]:hover,button.eHiXd_bKGu[type=submit]:active,button.eHiXd_bKGu[type=submit]:hover{background:\").concat(theme.circleDangerHoverBackground || 'inherit', \"}\\n\\n.eHiXd_bKGu:active,.eHiXd_bKGu:focus,.eHiXd_bKGu:hover,a.eHiXd_bKGu:active,a.eHiXd_bKGu:focus,a.eHiXd_bKGu:hover,button.eHiXd_bKGu:active,button.eHiXd_bKGu:focus,button.eHiXd_bKGu:hover,button.eHiXd_bKGu[type=button]:active,button.eHiXd_bKGu[type=button]:focus,button.eHiXd_bKGu[type=button]:hover,button.eHiXd_bKGu[type=reset]:active,button.eHiXd_bKGu[type=reset]:focus,button.eHiXd_bKGu[type=reset]:hover,button.eHiXd_bKGu[type=submit]:active,button.eHiXd_bKGu[type=submit]:focus,button.eHiXd_bKGu[type=submit]:hover{color:\").concat(theme.circleDangerColor || 'inherit', \"}\\n\\n.eHiXd_bKGu:active,a.eHiXd_bKGu:active,button.eHiXd_bKGu:active,button.eHiXd_bKGu[type=button]:active,button.eHiXd_bKGu[type=reset]:active,button.eHiXd_bKGu[type=submit]:active{background:\").concat(theme.circleDangerActiveBackground || 'inherit', \";box-shadow:\").concat(theme.circleDangerActiveBoxShadow || 'inherit', \"}\\n\\n.eHiXd_dnnz,.eHiXd_ccgO,a.eHiXd_dnnz,a.eHiXd_ccgO,button.eHiXd_dnnz,button.eHiXd_ccgO,button.eHiXd_ccgO[type=button],button.eHiXd_ccgO[type=reset],button.eHiXd_ccgO[type=submit],button.eHiXd_dnnz[type=button],button.eHiXd_dnnz[type=reset],button.eHiXd_dnnz[type=submit]{border-color:\").concat(theme.iconBorderColor || 'inherit', \"}\\n\\n.eHiXd_ccgO,a.eHiXd_ccgO,button.eHiXd_ccgO,button.eHiXd_ccgO[type=button],button.eHiXd_ccgO[type=reset],button.eHiXd_ccgO[type=submit]{color:\").concat(theme.iconInverseColor || 'inherit', \"}\\n\\n.eHiXd_ccgO:focus,a.eHiXd_ccgO:focus,button.eHiXd_ccgO:focus,button.eHiXd_ccgO[type=button]:focus,button.eHiXd_ccgO[type=reset]:focus,button.eHiXd_ccgO[type=submit]:focus{color:\").concat(theme.iconInverseHoverColor || 'inherit', \"}\\n\\n.eHiXd_ccgO:focus:before,a.eHiXd_ccgO:focus:before,button.eHiXd_ccgO:focus:before,button.eHiXd_ccgO[type=button]:focus:before,button.eHiXd_ccgO[type=reset]:focus:before,button.eHiXd_ccgO[type=submit]:focus:before{border-color:\").concat(theme.ghostInverseBorderColor || 'inherit', \"}\\n\\n.eHiXd_ccgO:active,.eHiXd_ccgO:hover,a.eHiXd_ccgO:active,a.eHiXd_ccgO:hover,button.eHiXd_ccgO:active,button.eHiXd_ccgO:hover,button.eHiXd_ccgO[type=button]:active,button.eHiXd_ccgO[type=button]:hover,button.eHiXd_ccgO[type=reset]:active,button.eHiXd_ccgO[type=reset]:hover,button.eHiXd_ccgO[type=submit]:active,button.eHiXd_ccgO[type=submit]:hover{color:\").concat(theme.iconInverseHoverColor || 'inherit', \"}\\n\\n.eHiXd_dnnz,a.eHiXd_dnnz,button.eHiXd_dnnz,button.eHiXd_dnnz[type=button],button.eHiXd_dnnz[type=reset],button.eHiXd_dnnz[type=submit]{color:\").concat(theme.iconColor || 'inherit', \"}\\n\\n.eHiXd_dnnz:focus,.eHiXd_dnnz:hover,a.eHiXd_dnnz:focus,a.eHiXd_dnnz:hover,button.eHiXd_dnnz:focus,button.eHiXd_dnnz:hover,button.eHiXd_dnnz[type=button]:focus,button.eHiXd_dnnz[type=button]:hover,button.eHiXd_dnnz[type=reset]:focus,button.eHiXd_dnnz[type=reset]:hover,button.eHiXd_dnnz[type=submit]:focus,button.eHiXd_dnnz[type=submit]:hover{color:\").concat(theme.iconHoverColor || 'inherit', \"}\\n\\n.eHiXd_dnnz:active,a.eHiXd_dnnz:active,button.eHiXd_dnnz:active,button.eHiXd_dnnz[type=button]:active,button.eHiXd_dnnz[type=reset]:active,button.eHiXd_dnnz[type=submit]:active{color:\").concat(theme.iconActiveColor || 'inherit', \"}\\n\\n.eHiXd_eoCh>svg,a.eHiXd_eoCh>svg,button.eHiXd_eoCh>svg{display:block}\");\n },\n 'root': 'eHiXd_bGBk',\n 'disabled': 'eHiXd_ywdX',\n 'content': 'eHiXd_caGd',\n 'borderRadius--rounded': 'eHiXd_cuTS',\n 'borderRadius--circle': 'eHiXd_dEqw',\n 'width--icon': 'eHiXd_bPzo',\n 'small': 'eHiXd_doqw',\n 'has-icon': 'eHiXd_wWyq',\n 'iconSVG': 'eHiXd_eoCh',\n 'medium': 'eHiXd_ycrn',\n 'large': 'eHiXd_cMDj',\n 'width--auto': 'eHiXd_bNlk',\n 'width--fluid': 'eHiXd_eESV',\n 'default': 'eHiXd_ddES',\n 'ghost': 'eHiXd_fnSs',\n 'primary': 'eHiXd_bXiG',\n 'success': 'eHiXd_cOXX',\n 'danger': 'eHiXd_zGXc',\n 'light': 'eHiXd_eYmo',\n 'ghost-inverse': 'eHiXd_eoGN',\n 'link': 'eHiXd_brAJ',\n 'link-inverse': 'eHiXd_eTYR',\n 'circle-default': 'eHiXd_bVwc',\n 'circle-primary': 'eHiXd_HJDj',\n 'circle-danger': 'eHiXd_bKGu',\n 'icon': 'eHiXd_dnnz',\n 'icon-inverse': 'eHiXd_ccgO'\n};\nimport theme from './theme';\nvar circleVariants = ['circle-primary', 'circle-danger', 'circle-default'];\nvar squareVariants = ['circle-default', 'circle-primary', 'circle-danger', 'icon', 'icon-inverse'];\n/**\n---\ncategory: components\n---\n**/\n\nvar Button = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Button, _Component);\n\n function Button() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Button);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Button)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _this.handleClick = function (e) {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n readOnly = _this$props.readOnly,\n onClick = _this$props.onClick;\n\n if (disabled || readOnly) {\n e.preventDefault();\n e.stopPropagation();\n } else if (typeof onClick === 'function') {\n onClick(e);\n }\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props2 = _this.props,\n disabled = _this$props2.disabled,\n readOnly = _this$props2.readOnly,\n onClick = _this$props2.onClick,\n href = _this$props2.href; // behave like a button when space key is pressed\n\n if (_this.elementType !== 'button' && (e.keyCode === keycode.codes.space || e.keyCode === keycode.codes.enter)) {\n e.preventDefault();\n e.stopPropagation();\n\n if (typeof onClick === 'function' && !disabled && !readOnly) {\n onClick(e);\n }\n\n if (href) {\n findDOMNode(_this._button).click(); // eslint-disable-line react/no-find-dom-node\n }\n }\n };\n\n return _this;\n }\n\n _createClass(Button, [{\n key: \"focus\",\n value: function focus() {\n findDOMNode(this._button).focus(); // eslint-disable-line react/no-find-dom-node\n }\n }, {\n key: \"renderIcon\",\n value: function renderIcon() {\n var Icon = this.props.icon;\n\n if (typeof this.props.icon === 'function') {\n return React.createElement(\"span\", {\n className: styles.iconSVG\n }, React.createElement(Icon, {\n inline: false\n }));\n } else if (Icon) {\n return React.createElement(\"span\", {\n className: styles.iconSVG\n }, Icon);\n } else {\n return null;\n }\n }\n }, {\n key: \"buttonBorderRadius\",\n value: function buttonBorderRadius() {\n if (circleVariants.includes(this.props.variant)) {\n return 'circle';\n } else {\n return 'rounded';\n }\n }\n }, {\n key: \"buttonWidth\",\n value: function buttonWidth(hasOnlyIcon) {\n var _this$props3 = this.props,\n variant = _this$props3.variant,\n fluidWidth = _this$props3.fluidWidth;\n\n if (hasOnlyIcon || squareVariants.includes(variant)) {\n return 'icon';\n } else if (fluidWidth) {\n return 'fluid';\n } else {\n return 'auto';\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classnames,\n _this2 = this;\n\n var _this$props4 = this.props,\n as = _this$props4.as,\n buttonRef = _this$props4.buttonRef,\n children = _this$props4.children,\n cursor = _this$props4.cursor,\n disabled = _this$props4.disabled,\n href = _this$props4.href,\n icon = _this$props4.icon,\n margin = _this$props4.margin,\n onClick = _this$props4.onClick,\n readOnly = _this$props4.readOnly,\n size = _this$props4.size,\n type = _this$props4.type,\n variant = _this$props4.variant,\n tabIndex = _this$props4.tabIndex;\n var IHaveVisibleChildren = hasVisibleChildren(this.props.children);\n var hasTextAndIcon = IHaveVisibleChildren && this.props.icon; // any button with an icon + text label\n\n var hasOnlyIcon = !IHaveVisibleChildren && this.props.icon; // any button with just an icon visible\n\n if (process.env.NODE_ENV !== 'production') {\n // show warning if icon is added as a child\n if (this.hasVisibleChildren) {\n React.Children.forEach(children, function (child) {\n var icon = child && child.type && typeof child.type.glyphName !== 'undefined';\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _warn(!icon, \"[Button] Icons as children is deprecated. Please use the 'icon' prop instead.\");\n });\n }\n } // warn for unallowed view props\n\n\n var passthroughProps = View.omitViewProps(omitProps(this.props, Button.propTypes), Button);\n return React.createElement(View, Object.assign({}, passthroughProps, {\n className: classnames((_classnames = {}, _defineProperty(_classnames, styles.root, true), _defineProperty(_classnames, styles[variant], true), _defineProperty(_classnames, styles[size], size), _defineProperty(_classnames, styles[\"width--\".concat(this.buttonWidth(hasOnlyIcon))], true), _defineProperty(_classnames, styles[\"borderRadius--\".concat(this.buttonBorderRadius())], true), _defineProperty(_classnames, styles.disabled, disabled), _defineProperty(_classnames, styles['has-icon'], icon), _classnames)),\n disabled: disabled || readOnly,\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n href: href,\n type: href ? null : type,\n role: onClick && as !== 'button' ? 'button' : null,\n tabIndex: onClick && as ? tabIndex || '0' : tabIndex,\n elementRef: function elementRef(c) {\n _this2._button = c;\n if (typeof buttonRef === 'function') buttonRef(c);\n },\n display: null,\n as: this.elementType,\n margin: margin,\n cursor: disabled ? 'not-allowed' : cursor\n }), hasTextAndIcon ? React.createElement(Flex, {\n height: \"100%\",\n width: \"100%\"\n }, React.createElement(Flex.Item, {\n padding: \"0 x-small 0 0\"\n }, this.renderIcon()), React.createElement(Flex.Item, {\n shouldGrow: true,\n shouldShrink: true\n }, React.createElement(\"span\", {\n className: styles.content\n }, children))) : // all other button layouts (icon only and text only)\n React.createElement(\"span\", {\n className: styles.content\n }, icon && this.renderIcon(), children));\n }\n }, {\n key: \"elementType\",\n get: function get() {\n return getElementType(Button, this.props);\n }\n }, {\n key: \"focused\",\n get: function get() {\n return isActiveElement(this._button);\n }\n }]);\n\n Button.displayName = \"Button\";\n return Button;\n}(Component), _class2.propTypes = {\n children: PropTypes.node.isRequired,\n type: PropTypes.oneOf(['button', 'submit', 'reset']),\n variant: PropTypes.oneOf(['default', 'primary', 'success', 'danger', 'light', 'ghost', 'ghost-inverse', 'link', 'link-inverse', 'circle-default', 'circle-primary', 'circle-danger', 'icon', 'icon-inverse']),\n\n /**\n * provides a reference to the underlying focusable (`button` or `a`) element\n */\n buttonRef: PropTypes.func,\n\n /**\n * the element type to render as (will be `` if href is provided)\n */\n as: PropTypes.elementType,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * should the `